Skip to main content

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_VERSION in 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

Metadata

Release files for falfilfa4py 1.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for falfilfa4py 1.3.0
File Actions
falfilfa4py-1.3.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.13 CPython 3.13 free-threading Linux glibc 2.17+ x86-64 Details for falfilfa4py-1.3.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
falfilfa4py-1.3.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ x86-64 Details for falfilfa4py-1.3.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
falfilfa4py-1.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64 Details for falfilfa4py-1.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
falfilfa4py-1.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64 Details for falfilfa4py-1.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
falfilfa4py-1.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-64 Details for falfilfa4py-1.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Total release size: 126.4 MB

Release files / falfilfa4py-1.3.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL falfilfa4py-1.3.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 25.3 MB
Tags CPython 3.13 CPython 3.13 free-threading Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
d9a8095b9ea224f0f69ec0ad346462ce150091deff44b1420b900cc03500152c
BLAKE2b-256 checksum
How to use checksums
c9d053f17f5b1dcd960654df36365fb78668cc51ee69d565fbb62683747d7c66
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.3

Release files / falfilfa4py-1.3.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL falfilfa4py-1.3.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 25.3 MB
Tags CPython 3.13 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
6b5d4c4b13658e1ee6359bb52c09803839764cdd51433cdf6c84865f6527d331
BLAKE2b-256 checksum
How to use checksums
458329b17a42d0add50a2e925d18fcb50428461ff943766a554f70d4acfae9bf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.3

Release files / falfilfa4py-1.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL falfilfa4py-1.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 25.3 MB
Tags CPython 3.12 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
59435f751c473c96b580390ff7486086efb4376e150cbb30de788786f7113e54
BLAKE2b-256 checksum
How to use checksums
1be3da488d61c4dd927e4f565b2b9162a8fa8393823370cd18e03793355c7685
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.3

Release files / falfilfa4py-1.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL falfilfa4py-1.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 25.3 MB
Tags CPython 3.11 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
2fa7353e6a8ad9806f55e50eb638383ec27e340fbd80f8e2e6edc3d79fb93bf7
BLAKE2b-256 checksum
How to use checksums
8c9790fe7a9ad72de9e932d6d760b20d3af82cec2cf22af14c0ff29611f53c36
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.3

Release files / falfilfa4py-1.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL falfilfa4py-1.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 25.3 MB
Tags CPython 3.10 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
d5cd952112a0d613f8f46a32cec5e4aa256b99857f887acc89b765cfdcf9ca9f
BLAKE2b-256 checksum
How to use checksums
f11a9aedb7d3d429ac06e0ecc2b49f9027f4b24a66ebb3e29403c07e32cc27d9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.3

Security for falfilfa4py 1.3.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page