Skip to content
Alexandre Mary edited this page Mar 4, 2022 · 5 revisions

Repository

The EPyGrAM repository is composed of:

  • epygram: the core package
  • apptools: the command-line applicative tools, Python scripts based on epygram
  • site: some additional, external libraries or packages, needed by epygram or at least by some parts of it.
  • _install: installation config files and scripts
  • tests: systematic tests to check compliance of new developments

Any configuration parameter of epygram.config can be overwritten in a ~/.epygram/userconfig.py.

Formats specific external libraries

Note that the formats handled by epygram can be explicitly deactivated in config, although they are deactivated at loading time if the lower-level library cannot be found.

To explicitly deactivate a format, the parameter to be specified in userconfig.py is implemented_formats, which should be copied from epygram/config.py, and removing the undesired formats.

arpifs4py

The arpifs4py library/package (under site/) contains interfaces to FA/LFI/LFA I/O-routines and IAL global/LAM spectral transforms. It is composed of 2 nested levels:

  • a python declaration of the functions, interfacing the below Fortran routines (using ctypes "tricks" to convert data from Python to Fortran and reverse)
  • a set of Fortran interface routines, wrapping the calls to existing IAL routines (from ifsaux, trans and etrans projects); these routines are gathered in a .so compiled shared object library. If this .so is not available, these formats are deactivated at runtime.

The compilation of this library is a bit complicated for now, and should be eased in the future by the externalisation of the transforms library on one side, and of the FA-LFI library on the other side. More info to come at that time (CY49T1 presumably); for the time being, no support is given on that topic.

Development and contributions:

Development Plans

Some recommendations:

  • contributors are requested, as much as possible, to follow the PEP8 (https://www.python.org/dev/peps/pep-0008/)
  • build new developments in separate GIT branches
  • fork this repository and create a documented Pull Request on this platform to request the integration of your contribution

The merge of contributions into the master trunk will be done at Météo France, after review of the contributions. However, the authors nor Météo France do not undertake to incorporate all proposed contributions into the main trunk of the code and the official releases.


Pre-installation on some platforms

Clone this wiki locally