FA/LFI/LFA for Python
Project description
FALFILFA
Externalized FA - LFI - LFA Formats from IAL
- LFI : "Logiciel de Fichiers Indexes"
- FA : "Format Arpege" - overlay on top of LFI
- LFA : format used for DDH outputs
Installing FALFILFA
Supported Platforms
- Linux
Requirements
- Fortran and C compiler( tested On Intel & GNU 11.3.0 and later )
- CMake (see https://cmake.org)
- ecbuild (see https://github.com/ecmwf/ecbuild)
- fiat (see https://github.com/ecmwf-ifs/fiat)
Building FALFILFA
Environment variables
$ export ecbuild_ROOT=`<path-to-ecbuild>`
$ export fiat_ROOT=`<path-to-fiat>`
$ export eccodes_ROOT=`<path-to-eccodes>`
Compilers could be set while building the libraries or with thoses env variables :
$ export CC=`<path-to-C-compiler>`
$ export FC=`<path-to-Fortran-compiler>`
Since, we are using ecbuild, you must compile FALFILFA out-of-source, so create a build-directory
$ mkdir build
Configuration of the build happens through standard CMake
$ cmake -S FALFILFA -B build
Extra options can be added to the cmake command to control the build:
-DCMAKE_BUILD_TYPE=<Debug|RelWithDebInfo|Release|Bit>default=RelWithDebInfo (typically-O2 -g)-DBUILD_SHARED_LIBS=<BOTH|ON|OFF>default=ON-DENABLE_SINGLE_PRECISION=<ON|OFF>default=OFF-DENABLE_DOUBLE_PRECISION=<ON|OFF>default=ON-DCMAKE_INSTALL_PREFIX=<install-prefix>default=/usr/local (You will need permission to install)-DCMAKE_Fortran_COMPILER=< fortran compiler>default=gfortran or the set FC env variable-DCMAKE_C_COMPILER=< C compiler>default=gcc or the set CC env variable
More options to control compilation flags, only when defaults are not sufficient
-DCMAKE_Fortran_FLAGS=<fortran-flags>-DCMAKE_C_FLAGS=<c-flags>
Once this has finished successfully, run cmake --build . and cmake --install ..
Building falfilfa4py
To build the falfilfa4py python package (wheel):
export ecbuild_ROOT=`<path-to-ecbuild>`
export gribex_ROOT=`<path-to-your-gribex-root>`
export fiat_ROOT=`<path-to-fiat>`
export eccodes_ROOT=`<path-to-eccodes>`
pip install build
pip install auditwheel
python -m build --sdist --wheel
python -m auditwheel repair dist/falfilfa4py-*-linux_x86_64.whl
Build helper
The script singularity_build.sh, together with sub-scripts in bld/, is designed to
help build the libraries and/or the falfilfa4py python package (wheel) within a manylinux container
using singularity.
See variables in the header of the script to tune dependencies versions in particular.
singularity_build.sh getgets the container image and dependencies clonessingularity_build.sh depsbuilds the dependencies (fiat, eccodes...) (req. to have done get)singularity_build.sh libbuilds thelibfa_[dp|sp].so(req. to have done get&deps)singularity_build.sh wheelbuildsfalfilfa4pywheels for several versions of python (req. to have done get&deps)singularity_build.sh alldoes all of the above
Caveats
The current version relies on a copy of the GRIB_API_INTERFACE module (grib_api_interface.F90) from IAL,
renamed ECCODES_INTERFACE (src/fa/module/eccodes_interface.F90).
This is a temporary workaround, several options are considered to fix this caveat in a near future:
- relying directly on ECCODES library
- moving this module in a lower-level library, e.g. eccodes or fiat
Reporting Bugs
Issues: https://github.com/ACCORD-NWP/FALFILFA/Issues Contributions: https://github.com/ACCORD-NWP/FALFILFA/Pulls
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file falfilfa4py-1.0.5-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: falfilfa4py-1.0.5-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 17.6 MB
- Tags: CPython 3.13t, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7745f81e8d556d7306f792a2bacdff4ed682d83b8db6009dccd4a07f0e3b4520
|
|
| MD5 |
9e9a5a09f2ec16201749bf8f1039c435
|
|
| BLAKE2b-256 |
fb47c04593e04373476b9237f2567aec64fc011da4ea1aaf9e71000e068674a2
|
File details
Details for the file falfilfa4py-1.0.5-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: falfilfa4py-1.0.5-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 17.6 MB
- Tags: CPython 3.13, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4dc2f69a2227b98ffe8a67d59de33f51039446c81ed0c5141b4fde7172a78036
|
|
| MD5 |
7b1e02a7f91ba184834337ea061f7052
|
|
| BLAKE2b-256 |
2e86745f68afadf137b9a406ae23a38e3480fba965e1e701ce1e623d49c7bfa8
|
File details
Details for the file falfilfa4py-1.0.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: falfilfa4py-1.0.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 17.6 MB
- Tags: CPython 3.12, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
14fd2739a96879ed63db0082fc5178bda54bcb0d8ead75ade39473cb348f9a03
|
|
| MD5 |
75ec37526dcf7a83a32ace176e6d9d49
|
|
| BLAKE2b-256 |
8c191e77276753081c5d2a03c9832d2a638fdcf4c2cd328129a3a70f69b26863
|
File details
Details for the file falfilfa4py-1.0.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: falfilfa4py-1.0.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 17.6 MB
- Tags: CPython 3.11, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5f1d97deff597bdc44656378d03d090ea709d9c8142e1eb3ad4df4721a680c76
|
|
| MD5 |
2adf25c351a5a48ddb8b11e9d2bf30a6
|
|
| BLAKE2b-256 |
97bc208a28da95cb62985756827039051452a942a6ec17d07c9cae76a96c9a63
|
File details
Details for the file falfilfa4py-1.0.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: falfilfa4py-1.0.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 17.6 MB
- Tags: CPython 3.10, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d81d1319580d51473e95adf5e1bd0c9f84b41f48f655d7acb67769301c08c402
|
|
| MD5 |
ea341b5fefef387476475a8a8509e0cd
|
|
| BLAKE2b-256 |
aba3c4f2efbbbff8a55a82ff9826d85aaa7307c05635572320a132a03a965461
|