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
- ecbuild
- eccodes : version
ECCODES_REQUIRED_VERSIONin CMakeLists.txt - fiat : version >= commit fdcb622e
Building FALFILFA
Environment variables
$ export ecbuild_ROOT=`<path-to-ecbuild>`
$ export fiat_ROOT=`<path-to-fiat>`
$ export eccodes_ROOT=`<path-to-eccodes>`
Dependency to eccodes and fiat must be passed to the cmake command:
-Deccodes_ROOT=path/to/eccodes/install-Dfiat_ROOT=path/to/fiat/install
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 -
-DENABLE_UTILITIES=<ON|OFF>default=ON -
-DENABLE_PROGRAMS=<ON|OFF>default=ON -
-DENABLE_TESTS=<ON|OFF>default=ON
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 ..
Testing FALFILFA
Tests data is downloaded in ./tests/... directories when running cmake command. They are downloaded from https://api.sedoo.fr/sedoo-fa-lfi-lfa-rest/data/download platform. Tests data is approx. 200 MB.
To run the tests, go to build directory and type ctest.
The tests results are written to a tests_results directory in the build directory.
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
Cf. https://github.com/ACCORD-NWP/FALFILFA-bundle
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
Same with ELLIPS64 routine, duplicate of ectrans' ELLIPS.
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.2.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: falfilfa4py-1.2.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 19.2 MB
- Tags: CPython 3.13t, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
743b8d7aaee8a2b7e380e6a681fd5dbf889baa77c0711f2aafbd8d1d95c448c7
|
|
| MD5 |
f667e4466e305ab3e8668112b84c5c47
|
|
| BLAKE2b-256 |
ca522197c622f787de5399f61e01a6ad55324acd840535e08b355e91ca2fbc68
|
File details
Details for the file falfilfa4py-1.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: falfilfa4py-1.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 19.2 MB
- Tags: CPython 3.13, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
af73043d4e84181387298d5da95bd9de36d7bb78d9adb2ba20a3c34761e558a5
|
|
| MD5 |
60f4ae778865b37050ac0594aebbac9f
|
|
| BLAKE2b-256 |
944f8946bcf065bfec6b65c804ca7d2366f20b81aaf94b43f7e5d126bfcd687a
|
File details
Details for the file falfilfa4py-1.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: falfilfa4py-1.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 19.2 MB
- Tags: CPython 3.12, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3a7b3b80c24db84d530cb6bbe8fe893d8d859b6000a2489d165f7eaf8159e98f
|
|
| MD5 |
ee9417c849f0f8452165f20fc64b962d
|
|
| BLAKE2b-256 |
e0dbdb11eb3a4f76143afa9fb9d7583416c0534dfdc39dd2cbc2e58ccf46a618
|
File details
Details for the file falfilfa4py-1.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: falfilfa4py-1.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 19.2 MB
- Tags: CPython 3.11, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ddeeaac0cdf6801de95f2a7d9f844d055e4d225e0d47c99842880ec2e81c3b36
|
|
| MD5 |
2e13e0179bd2ddd9d82c845143bb0a9b
|
|
| BLAKE2b-256 |
30cfa33dc212dbb4b8008735c353b349c3dde8d971b760b6a2074914ceece970
|
File details
Details for the file falfilfa4py-1.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: falfilfa4py-1.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 19.2 MB
- Tags: CPython 3.10, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1bbbb1172d8b8320e811cf85e9fd711f727788326d8777044adbde45746850a7
|
|
| MD5 |
645f40f23389ddc078e0817de817c72d
|
|
| BLAKE2b-256 |
0e5cba82a3ec44c77a3da0dbe37c709f1c8095c995417af79b7625dddc4faad0
|