Skip to main content

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

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

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

falfilfa4py-1.0.4-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (17.6 MB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ x86-64

falfilfa4py-1.0.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (17.6 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

falfilfa4py-1.0.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (17.6 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

falfilfa4py-1.0.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (17.6 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

falfilfa4py-1.0.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (17.6 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

File details

Details for the file falfilfa4py-1.0.4-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for falfilfa4py-1.0.4-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 87dc18a5fac4e0e318a2c516787cb300cf0dfdecacdf3bf061bf55f386dea894
MD5 5c4c33427accc8f15990971908b87fbb
BLAKE2b-256 0ccec1144a33b0add84a2e197441b0b5f2b65595da62c016f666034149e068c0

See more details on using hashes here.

File details

Details for the file falfilfa4py-1.0.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for falfilfa4py-1.0.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8d066545746ef1ee84e2717a5e74e57f38ec9afdc8d01293bbf786802281a10c
MD5 fdc2b7920c23cb668e95f023b5b1e25b
BLAKE2b-256 248e3f6865cccd7dd48fed458e2721c41a98b4b1b5e6dc47112b61c0497c3f82

See more details on using hashes here.

File details

Details for the file falfilfa4py-1.0.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for falfilfa4py-1.0.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3153dae815abe3feba93686675afe5f1ce18c8cf5cdde64c315c4ba35351635e
MD5 8275975933388cc8d3413b65956a627e
BLAKE2b-256 705dbb7aed7af13a1acad4519be182e06c9ef77811797b1ef75db53d3a4770cb

See more details on using hashes here.

File details

Details for the file falfilfa4py-1.0.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for falfilfa4py-1.0.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 92f9762c57db6ce19a4a9cbff40ee3e17685d52d76a18dda2029599479eab028
MD5 a0c05d6059287d5c8abd2aa73e727b44
BLAKE2b-256 bf5c60cf5bbc5f816106f241cf0ff026ea0a68ba7122bdec6d93116705f91be0

See more details on using hashes here.

File details

Details for the file falfilfa4py-1.0.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for falfilfa4py-1.0.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 85451fb16858596c09170fc6d0631d808e4b87084dfdb6b50a987ccfb186b902
MD5 04eeb78f3c4e67422e1880ae253120d9
BLAKE2b-256 8c6bb377cb7141ad8242f158c3de8ba214ca23e2153c37b671231940d642d2da

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page