source: LMDZ6/branches/Amaury_dev/libf/README @ 5122

Last change on this file since 5122 was 5101, checked in by abarral, 4 months ago

Handle DEBUG_IO in lmdz_cppkeys_wrapper.F90
Transform some files .F -> .[fF]90
[ne compile pas à cause de writefield_u non défini - en attente de réponse Laurent]

File size: 2.7 KB
RevLine 
[3990]1Description of libf purpose and contents
2----------------------------------------
3
4All the LMDZ source code is located in subdirectories of libf.
5The various directories (and their respective subdirectories) are there to
6separate codes with various functionalities. The main driver in this
7organization is to cleanly separate dynamics, physics and their
8interface. In practice:
9
10dyn3d     : dynamics, serial version
11 
12dyn3dpar  : dynamics, parallel version. Obsolete (many arrays remained global
13            requiring more overall memory with increasing core number)
14
15dyn3dmem  : dynamics, parallel (optimized) version with improved
16            memory management (all arrays are local to each core)
17
18dyn3d_common: routines used by all dynamics (serial or parallel)
19
20filtre: high-latitude longitudinal filter for lonxlat grid
21        (used by the dynamics, serial or parallel)
22
23grid: routine for model's grid generation
24      (used by the dynamics, serial or parallel)
25
26
27phy* : various physics packages
28       phylmd: standard terrestrial lmd physics
29       phylmdiso: version with isotopes (temporary, should be merged in phylmd)
30       phymar: physics of the 'modele atmospherique regional', obsolete
31       phydev: 'physics that does nothing but does it well'
32
33phy_common: common routines to all physics
34            (different modules for parallelism, abort_physics, geometry,
35            getin wrapper, ...)
36
37dynphy_lonlat: contains the dynamics/physics interface
38               with at a first level common routines to all physics
39               and dedicated specific routines for each physics
[5101]40               (e.g., CALL physics + physics initialization) in a
[3990]41               subdirectory of the same name as the physics package's
42               (phylmd, phydev, ...).
43               In addition the subdirectory stores main programs,
44               other than the gcm, which require access to both physics
45               and dynamics routines
46               (e.g. to generate initial states, such as ce0l).
47               Note that if a physics package name is an extension of
48               an already existing physics package (e.g. phylmdiso and
49               phylmd) then they share the same interface (phylmd here). 
50
51phy*/dyn1d: the 1D model (and links to some required dyn3d/* routines) 
52
53misc (misceallenous): dynamics and physics independent routines which can be
54                      used by either but rely on neither
55                      (e.g. random number generator,
56                      tridiagonal matrix solver, NetCDF function wrappers,
57                      CRAY-specific routines, ...)
58
59obsolete: obsolete code not used anymore but moved and stored here for an
60          easy quick look.
61
6211/10/2021
63
64
65
66
Note: See TracBrowser for help on using the repository browser.