- Notifications
You must be signed in to change notification settings - Fork0
Fortran interface bindings to sperr
License
ofmla/fortran-sperr
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
Fortran bindings toSPERR - a library for lossy compression of scientific data. 🗜️
To build the examples in this project you need:
- A Fortran compiler supporting Fortran 2008 or later (gfortran or ifort)
- One of the supported build systems
- CMake version 3.16 or later
- Fortran package manager (fpm) version 0.2.0 or newer
- SPERR. Please see the installation instructions athttps://github.com/NCAR/SPERR/wiki/Build-SPERR-From-Source
InCMakeLists.txt, the project usesfind_package(PkgConfig REQUIRED) andpkg_search_module(LIBRARY_NAME REQUIRED SPERR) to locate theSPERR library. This means that users no longer need to manually specify the paths to the include and lib directories.
To configure the build, simply run:
cmake -S .To build the executables usingmake, run:
makeThe executables will be named2d and3d, and they will be placed in the root directory.
Please note that when installing the SPERR library with CMake, you may need to usesudo as regular users typically don't have write permissions for directories like/usr and/usr/local in modern Linux systems.
Alternatively, you can build the executables via fpm with (assuming SPERR is already installed):
fpm build --link-flag "-L/path/to/SPERR/lib"or by setting theFPM_LDFLAGS=-L/path/to/SPERR/lib environment variable and thenfpm build. The executables will be namedtest_2d andtest_3d. They will be located in a folder namedapp, which resides within another folder named after the compiler and hash in thebuild directory.
When using fpm to build executables, the build artifacts are placed in a directory named after the compiler and hash (e.g.,gfortran_50F62D7499E64B65). Here, the hash (50F62D7499E64B65 in this example) represents a unique identifier for the specific build configuration. If you need more accurate information about how fpm organizes build artifacts and the significance of the hash, it's best to consult the fpm documentation or reach out to the developers of the tool for clarification.
- Input files, such as
lena512.floatanddensity_128x128x256.d64required by the examples, are not included. Obtain themhere and place them in the corresponding folder depending on the build system used. - (de)compression functions are working properly but proper functions for bit stream I/O are still required for real applications
- The folder compiler+hash mentioned in the fpm section can be named differently depending on the compiler used. For example, it might be ifort+hash or gfortran+hash depending on whether Intel Fortran or GNU Fortran is used.
fortran-sperr is distributed under the BSD license. See the includedLICENSE file for details.
About
Fortran interface bindings to sperr
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Releases
Packages0
Uh oh!
There was an error while loading.Please reload this page.