Introduction¶
Enhanced Python for Graphics and Analysis of Meteorological fields¶
epygram
is a package of classes, designed to handle Meteorological Fields,
and various resource Formats from which the Fields can be extracted.
It is distributed along with a series of applicative tools using the package,
that can be used as command line tools, or can be taken as templates for building more complex
applications with the epygram
package.
License¶
Copyright Météo France (2014)
Initial authors: * A. Mary - Météo France, CNRM/GMAP/COOPE - alexandre.mary@meteo.fr * S. Riette - Météo France
This software is governed by the CeCILL-C license under French law and abiding by the rules of distribution of free software. You can use, modify and/ or redistribute the software under the terms of the CeCILL-C license as circulated by CEA, CNRS and INRIA at the following URL “http://www.cecill.info”.
The license text is provided in the LICENSE.txt file of the package.
For who, for what ?¶
The purpose of the library is to provide user-friendly interfaces to formats of data resources as FA, LFI, LFA (Météo France historical formats), GRIB/1-2 (…) and handy classes for manipulating meteorological fields, whatever their geometry is.
Therefore, it has been conceived basically for people who need to process data from Numerical Weather Prediction (NWP) or Climate Modelisation, whatever they need to do with, as soon as they build their application in Python.
One strong will during package development was to give the most simple access
to data and meta-data (its description in time and space, basically). The
object-oriented design seemed to be the most appropriate manner to reach this
goal. Thus, a set of features has been developped within the epygram
classes,
so that the user should:
1/ not really need to dig into the objects, only their methods;
2/ wonder (and hence search the doc) if there is not already a functionality dealing with the data/meta-data processing he faces;
3/ print the object to have a recursively indented overview of its components.
General design¶
There are 3 basic concepts used in epygram
: fields, geometries, resources.
a field is the union of a data and its meta-data: its identification, its temporal validity and geographical description, and eventually further documentation. There is no a priori about the geometry of the field, it can be either a horizontal surface, a vertical profile, a transect, a vertical section, a single point, or a 3D cloud of points.
The field can even be represented in spectral space.
In any case, a set of basic features has been intimately attached to the field, providing it handy manipulation.
the geometry of a field is a set of parameters and methods that enables, basically, to know precisely what is the 3D-earth-round localization of any point of the field it describes. As listed above, a geometry can be of several natures and dimensions.
a resource is an aggregation of fields, stored in a given data and meta-data format. The resource is dissociated with its container, i.e. the system and physical support is it written on (e.g. a file on disk, a memory address, remote database…).
A 4th important element is the fid (field identifier) of a field, which identifies its nature and can index it inside resources.
The epygram
package hence provides as much as possible easy read/write of
fields from/to resources, as well as basic features on fields and geometries,
described further in the documentation.
Genesis¶
The epygram
conception comes from the observation that more and more people
in Météo France / UMR-CNRM were coming to Python in order to process NWP/CM
data. Rather than letting everyone face the same obstacles with geometries and
historical data formats, raised the good idea to develop a Python package once
for all, releasing time for scientific activities rather than technical common
problems…