Difference between revisions of "LMDZ.COMMON directory layout and contents"

From Planets
Jump to: navigation, search
Line 1: Line 1:
 
This page describes the directory structure of the LMDZ longitude-latitude dynamical core and its main contents
 
This page describes the directory structure of the LMDZ longitude-latitude dynamical core and its main contents
  
== The ''LMDZ.COMMON'' directory ==
+
== The <font color="orange">LMDZ.COMMON</font> directory ==
 
Once download from the svn server, the ''LMDZ.COMMON'' directory contents should be:
 
Once download from the svn server, the ''LMDZ.COMMON'' directory contents should be:
 
<pre>
 
<pre>
Line 10: Line 10:
 
Where the noteworthy elements are:
 
Where the noteworthy elements are:
 
* The <font color="green">makelmdz_fcm</font> script, which is required to compile the model; see [[The_makelmdz_fcm_GCM_Compilation_Script|the dedicated page]]
 
* The <font color="green">makelmdz_fcm</font> script, which is required to compile the model; see [[The_makelmdz_fcm_GCM_Compilation_Script|the dedicated page]]
* The ''arch'' directory which contains architecture files used by the <font color="green">makelmdz_fcm</font> script
+
* The <font color="orange">arch</font> directory which contains architecture files used by the <font color="green">makelmdz_fcm</font> script
* The ''ioipsl'' directory which contains some scripts to assist one in installing the IOIPSL library
+
* The <font color="orange">ioipsl</font> directory which contains some scripts to assist one in installing the IOIPSL library
* The ''libf'' directory which contains the Fortran source code (see below).
+
* The <font color="orange">libf</font> directory which contains the Fortran source code (see below).
  
== The ''libf'' subdirectory ==
+
== The <font color="orange">libf</font> subdirectory ==
The ''libf'' directory contains a mix of subdirectories or links to subdirectories:
+
The <font color="orange">libf</font> directory contains a mix of subdirectories or links to subdirectories:
 
<pre>
 
<pre>
 
aeronomars  dyn3d        dynphy_lonlat  misc        phymars  phyvenus
 
aeronomars  dyn3d        dynphy_lonlat  misc        phymars  phyvenus
Line 22: Line 22:
 
</pre>
 
</pre>
 
The general idea here is that there is both a clean (and hopefully clear) separation between dynamics, physics and interfaces between the two. In addition to this principle comes the fact that there are various physics packages (Mars, Venus, Titan, Generic) and that the dynamical core comes in two flavors, serial and parallel. Once can thus identify the following groups:
 
The general idea here is that there is both a clean (and hopefully clear) separation between dynamics, physics and interfaces between the two. In addition to this principle comes the fact that there are various physics packages (Mars, Venus, Titan, Generic) and that the dynamical core comes in two flavors, serial and parallel. Once can thus identify the following groups:
* "dynamics"-related directories: ''dyn3d'': routines specific to the serial dynamical core, ''dy3dpar'': routines specific to the parallel dynamical core, ''dyn3d_common'': routines used by both serial and parallel dynamical cores. In addition '' grid'' and ''filtrez'' directories also contain routines used by the dynamical cores and respectively related to the (horizontal) grid and polar filter.
+
* "dynamics"-related directories: <font color="orange">dyn3d</font>: routines specific to the serial dynamical core, <font color="orange">dy3dpar</font>: routines specific to the parallel dynamical core, <font color="orange">dyn3d_common</font>: routines used by both serial and parallel dynamical cores. In addition <font color="orange">grid</font> and <font color="orange">filtrez</font> directories also contain routines used by the dynamical cores and respectively related to the (horizontal) grid and polar filter.
* "physics"-related directories: links to physics directories specific to the various physics packages (e.g. ''phystd'' and ''aeronostd'' are respectively links to the Generic physics ''../../LMDZ.GENERIC/libf/phystd'' and ''../../LMDZ.GENERIC/libf/aeronostd'' directories), along with ''phy_common'', a directory containing routines common to all the physics packages.
+
* "physics"-related directories: links to physics directories specific to the various physics packages (e.g. <font color="orange">phystd</font> and <font color="orange">aeronostd</font> are respectively links to the Generic physics <font color="orange">../../LMDZ.GENERIC/libf/phystd</font> and <font color="orange">../../LMDZ.GENERIC/libf/aeronostd</font> directories), along with <font color="orange">phy_common</font>, a directory containing routines common to all the physics packages.
* ''dynphy_lonlat'': directory which contains the interface between the (lon-lat) dynamical core and physics packages, i.e routines which are thus connected to both.
+
* <font color="orange">dynphy_lonlat</font>: directory which contains the interface between the (lon-lat) dynamical core and physics packages, i.e routines which are thus connected to both.
* ''misc'': this directory contains miscellaneous routines which may be used either by the dynamics or physics but which rely on neither.
+
* <font color="orange">misc</font>: this directory contains miscellaneous routines which may be used either by the dynamics or physics but which rely on neither.

Revision as of 16:18, 5 August 2022

This page describes the directory structure of the LMDZ longitude-latitude dynamical core and its main contents

The LMDZ.COMMON directory

Once download from the svn server, the LMDZ.COMMON directory contents should be:

arch       create_make_gcm  Licence_CeCILL_V2-en.txt  makelmdz
bld.cfg    ioipsl           Licence_CeCILL_V2-fr.txt  makelmdz_fcm
build_gcm  libf             makegcm

Where the noteworthy elements are:

  • The makelmdz_fcm script, which is required to compile the model; see the dedicated page
  • The arch directory which contains architecture files used by the makelmdz_fcm script
  • The ioipsl directory which contains some scripts to assist one in installing the IOIPSL library
  • The libf directory which contains the Fortran source code (see below).

The libf subdirectory

The libf directory contains a mix of subdirectories or links to subdirectories:

aeronomars  dyn3d         dynphy_lonlat  misc        phymars   phyvenus
aeronostd   dyn3d_common  filtrez        muphytitan  phystd
chimtitan   dyn3dpar      grid           phy_common  phytitan

The general idea here is that there is both a clean (and hopefully clear) separation between dynamics, physics and interfaces between the two. In addition to this principle comes the fact that there are various physics packages (Mars, Venus, Titan, Generic) and that the dynamical core comes in two flavors, serial and parallel. Once can thus identify the following groups:

  • "dynamics"-related directories: dyn3d: routines specific to the serial dynamical core, dy3dpar: routines specific to the parallel dynamical core, dyn3d_common: routines used by both serial and parallel dynamical cores. In addition grid and filtrez directories also contain routines used by the dynamical cores and respectively related to the (horizontal) grid and polar filter.
  • "physics"-related directories: links to physics directories specific to the various physics packages (e.g. phystd and aeronostd are respectively links to the Generic physics ../../LMDZ.GENERIC/libf/phystd and ../../LMDZ.GENERIC/libf/aeronostd directories), along with phy_common, a directory containing routines common to all the physics packages.
  • dynphy_lonlat: directory which contains the interface between the (lon-lat) dynamical core and physics packages, i.e routines which are thus connected to both.
  • misc: this directory contains miscellaneous routines which may be used either by the dynamics or physics but which rely on neither.