The software bazaar
The software bazaar
Eric Raymond would say : The software cathedral has failed and
the future belongs to the bazaar. To follow his wisdom we provide here
the source code of programs for generating, reading and manipulating
data in the ALMA data exchange format written by the land-surface
modelling community. Everybody is encouraged to contribute : A small
bug report is often more useful than 10000 lines of code too complex
to be used by anybody ! The source codes should also serve as
examples for generating code which deals with data in the ALMA
We hope that the list below will expand in the month to comes with
tools/programs contributed by the users of the ALMA format.
General netCDF handling routines
- Time manipulation
- A small
program to manipulate the time axis in a netCDF file (Source
code available here).
- Regular grids
- The GDT convention
allows to store non-rectilinear grids. This generality is not always
needed and not supported by all software packages. Thus it may be
useful in some cases to restrict the generality of the coordinates in
the file. ncregular does this if possible.
- Sign convention
- This programs allows to change the
sign convention of a file (to be
- Changing units of files
- The units chosen for the ALMA
data exchange format are not the most widely used. We thus provide
here a code to change the units of Kg/m^2s into mm/d or vice versa
(to be written).
- Converting from ASCII files to netCDF
- A number
of programs already exist which transform forcing data for
land-surface schemes into netCDF files which comply with the ALMA conventions. The following
examples are available for the moment :
For data sets which can be downloaded via FTP, the netCDF file as well
as the code which generated it are provided.
- Some graphical tools to look at netCDF files from GLASS experiments
Using netCDF in our Land-surface scheme
Land-Surface scheme drivers
Quality check program This program verifies that the
netCDF file corresponds to the ALMA standard by verifying the units,
sign convention and range of values of all variable. The documentaiton
and source code is available here .
Quality check program This set of programs will verify
the energy and water balance in a set of output files conforming with
the ALMA convention. It was written for the PILPS-2e experiment but
should be usable for other experiments. The code
is written in C.
A library to write and read netCDF files directly from your
model This F90 library provides simple subroutines to write
efficiently data out of your model or read and write restart
files. The IPSL
implementation of the PILPS_4c coupler provides an example of its
Solar incident angle calculation Calculate the solar
zenith angle and the direction from the information of the point
(longitude and latitude) and the time (UTC). (to
Some sample code lines which allow to make your programs more flexible :
- As the ALMA standard allows two possibilites for providing the wind, it is usefull to
build that flexibility into you own code. You will be able to use the same code for all
The sample code
if for F90/F77 but should be easy to convert.
Last modified: Mon Feb 26 11:28:41 CET 2001