Coding standards for ARPEGE/IFS/ALADIN (2003)
NWP software, which is often used for both operations and research, aims to be homogenous, portable, modifiable and maintained with much flexibility and ease.
This represents a lot of constraints, to be shared by all participants.
While the computing environment of the ARPEGE/IFS software was originally a shared-memory, multi-processor vector machine, things have changed so that the computing environment is much wider: ranging from a single workstation to a cluster of high performance servers: scalar or vector processors, distributed memory or partially shared memory machines.
Last but not least, scientific and technical developments provide a strong justification for a perpetual evolution of the codes in order for the software to perform optimially, and this should be achieved using a minimum of time and human resources.
All these requirements need a set of agreed coding standards, that will be used by all participants of the project.
For a long time the best solution to achieve this was to use the so-called ``DOCTOR norm’’ (DOCumentary ORiented norm) by J. K. Gibson from ECMWF. Time has proven its efficiency.
Then the evolution of machines and languages as well as the increase of European collaborations has lead us to modify or extend the original norms. A European standard has been developed in order to facilitate the exchanges of code between meteorological organizations.
This "Coding standards for ARPEGE/IFS/ALADIN" document aims to collect all the conventions and customs used in the ARPEGE/IFS/ALADIN software :
- Source code management
- Index of standards for the presentation of the code
- Index of standards for the respect of the norm
- Index of standards for the control of the code
- Index of standards for the conception of the code
What about phasing ?
This important operation is completed twice a year to "phase" the ALADIN code with its "mother" code ARPEGE.
The ALADIN code is following the ARPEGE one in its permanent evolution.
A ALADIN phaser’s guide defines the rules of these phasings.