source: trunk/LMDZ.COMMON/libf/evolution/deftank/README @ 3977

Last change on this file since 3977 was 3977, checked in by jbclement, 4 days ago

PEM:

  • All operations computed by the PEM on the PCM data (averages, minima) are now performed by XIOS with two dedicated file. One is for daily operation outputs ("Xoutdaily4pem*.nc") and the other for yearly operation outputs ("Xoutyearly4pem*.nc").
  • Deletion of the reshaping tool "reshape_XIOS_output" used to convert XIOS outputs onto the PCM grid. Thus, the PEM is now able to read directly the format of XIOS outputs.
  • Addition of subroutines to convert data between a lon x lat array and a vector.

JBC

File size: 8.2 KB
Line 
1   *    .          .   +     .    *        .  +      .    .       .     
2            +         _______  ________  ____    ____      *           +
3  +   .        *     |_   __ \|_   __  ||_   \  /   _|          .       *
4           .     .     | |__) | | |_ \_|  |   \/   |  *        *      . 
5        .              |  ___/  |  _| _   | |\  /| |      .        .     
6 .  *          *      _| |_    _| |__/ | _| |_\/_| |_                  *
7             +       |_____|  |________||_____||_____|   +     .         
8   .      *          .   *       .   +       *          .        +      .
9
10   
11This folder contains all the files needed to run and work with the Planetary Evolution Model (PEM).
12
13Information:
14------------
15For further explanations about the PEM, see following website: https://lmdz-forge.lmd.jussieu.fr/mediawiki/Planets/index.php/PEM_(Planetary_Evolution_Model).
16
17Installation:
18-------------
19The PEM can be downloaded alongside the "LMDZ.COMMON" repository of your trunk. The Fortran code is in the following directory: "trunk/LMDZ.COMMON/libf/evolution/". The PEM main program is "pem.F90".
20
21Compilation:
22------------
23To compile the PEM, in "LMDZ.COMMON", do: ./makelmdz_fcm -arch [local] -p [planet] -d [dimensions] -j 8 pem
24Options with example:
25    1) [local]     : root name of arch files, assuming that they have been set up for your configuration;
26    2) [planet]    : mars to use the Mars planet physics package;
27    3) [dimensions]: 64x48x54 to define the grid you want to use  (longitude x latitude x atmospheric layers).
28To run the PEM, you need a PCM working with XIOS and consistent options. To compile it, in "LMDZ.COMMON", do: ./makelmdz_fcm -arch [local] -p [planet] -parallel mpi_omp -io xios -d [dimensions] -j 8 gcm
29After compilation, the executable file can be found in the "bin" sub-directory.
30
31Usage:
32------
33To run a PEM simulation, do: ./launchPEM.sh [options]
34Options:
35    1) None: to start a simulation from scratch;
36    2) 're': to relaunch a simulation from a starting point (interactive prompt).
37
38The Bash file ''launchPEM.sh'' is the master script to launch the PEM chained simulation. It checks if necessary files and required options for your simulation are ok.
39
40Requirements:
41-------------
42To run the PEM, you can create a folder in which you need the following files:
43    > your executable files for the PCM and the PEM with consistent options;
44    > the xml files for XIOS which can be found in the PCM deftank folder: "iodef.xml", "context_lmdz_physics.xml", "file_def_physics_mars.xml" and "field_def_physics_mars.xml";
45    > the def files you want to run the PCM: "run.def", "callphys.def", "traceur.def", etc.
46      /!\ Do not forget to rename the PCM "run.def" into "run_PCM.def";
47    > the starting files you want to run the PCM: "startfi.nc", "start.nc"/"start1D.txt"/profiles;
48    > the necessary PEM files: "launchPEM.sh", "lib_launchPEM.sh", "PCMrun.job", "PEMrun.job", "run_PEM.def" and "obl_ecc_lsp.asc";
49    > the optional PEM files: "diagpem.def" to define the PEM variables to be ouputted and "startpem.nc" to set the initial state of the PEM.
50
51The PEM files can be found in the deftank folder.
52
53Before a simulation, you have to set up some parameters/options in:
54    > "launchPEM.sh";
55    > "PCMrun.job";
56    > "PEMrun.job";
57    > def files, especially for "run_PEM.def", "run_PCM.def", "callphys.def".
58In addition, the user has to provide a "startfi.nc" whose orbital parameters are consistent with the initial date set in "run_PEM.def". The script "inipem_orbit.sh" can do it automatically with "obl_ecc_lsp.asc".
59
60Outputs:
61--------
62The PEM simulation generates the following files:
63    > the usual outputs of the PCM: "restartfi.nc", "restart.nc", "diagfi.nc", etc;
64    > the XIOS outputs of the PCM: "Xoutdaily4pem*.nc"/"Xoutyearly4pem*.nc";
65    > the outputs of the chained simulation: "launchPEM.log", "info_PEM.txt" and possibly "kill_launchPEM.sh";
66    > the usual outputs of the PEM: "restartfi.nc", "restart.nc"/"restart1D.txt" and "diagpem.nc".
67During the simulation, the PCM/PEM run files are renamed conveniently and stored in the sub-directories "logs" (log files), "starts" (starting files) and "diags" (diagnostic files).
68If you run a simulation by submitting jobs, the script "kill_launchPEM.sh" is automatically generated. It can be used to kill in the queue of the job scheduler the jobs related to your chained simulation.
69
70Deftank files:
71--------------
72# launchPEM.sh:
73  Bash script file to launch the chained simulation of PEM and PCM runs.
74  The user has to specify:
75      > n_mars_years, n_earth_years -> the number of Mars/Earth years to be simulated in total (> 0);
76      > nPCM_ini -> the number of initial PCM years (>= 2);
77      > nPCM -> the number of PCM years between each PEM run (>= 2, usually 2);
78      > counting -> the counting method for the number of years to be simulated (0 = "only PEM years count"; any other values = "PCM years are taken into account"). The former option is the usual one;
79      > mode -> the launching mode (0 = "processing scripts"; any other values = "submitting jobs"). The former option is usually used to process the script on a local machine while the latter is used to submit jobs on a supercomputer with SLURM or PBS/TORQUE.
80  The script can take an argument:
81      1) None: to start a simulation from scratch;
82      2) 're': to relaunch a simulation from a starting point (interactive prompt).
83
84# liblaunchPEM.sh:
85  Library of bash functions used by the PEM launching script "launchPEM.sh".
86
87# PCMrun.job:
88  Bash script file to submit a PCM job (with SLURM or PBS/TORQUE).
89  The user has to specify:
90      > The headers correspond to the ADASTRA supercomputer and should be changed for other machines and job schedulers. In case of "processing scripts" launching mode, the headers are naturally omitted.
91      > The path to source the arch file should be adapted to the machine.
92      > The name of the PCM executable file should be adapted.
93      > The execution command should also be adapted according to the set-up.
94
95# PEMrun.job:
96  Bash script file to submit PEM job (with SLURM or PBS/TORQUE).
97  The user has to specify:
98      > The headers correspond to the ADASTRA supercomputer and should be changed for other machines and job schedulers. In case of "processing scripts" launching mode, the headers are naturally omitted.
99      > The path to source the arch file should be adapted to the machine.
100      > The name of the PEM executable file should be adapted.
101      > The PEM executable can have an optional argument which should be specified according to the set-up ("--auto-exit" for SLURM and PBS/TORQUE | "" when the script is not run as a job).
102
103# run_PEM.def
104  All the possible parameters to define a PEM run (read in "conf_pem.F90").
105  It needs to be included in "run_PCM.def" with "INCLUDEDEF=run_PEM.def".
106
107# obl_ecc_lsp.asc [default], obl_ecc_lsp_pos.asc [future years]
108  Files describing orbital parameters for Mars from Laskar's data. It contains the Earth year (kyr) and the corresponding obliquity (°), eccentricity and Ls of perihelion (°).
109
110# modify_startfi_orbit.sh:
111  Bash script file to modify orbital parameters in the file "startfi.nc". They should be consistent with Laskar's data in "obl_ecc_lsp.asc" at the same date if orbital parameters are meant to vary during the simulation. See also "inipem_orbit.sh".
112
113# modify_startfi_var.sh:
114  Bash script file to modify the value of a variable in a file "startfi.nc".
115
116# inipem_orbit.sh:
117  Bash script file to set the orbital parameters of a file "startfi.nc" from Laskar's data contained in "obl_ecc_lsp.asc" according to the initial date 'year_earth_bp_ini' defined in "run_PEM.def". See also "modify_startfi_orbit.sh".
118
119# concat_pem.py:
120  Python script file to concatenate the NetCDF files of the PEM along the dimension 'Time' into one NetCDF file. 'Time' is re-indexed by increment.
121
122# clean.sh:
123  Bash script file to clean the folder after a PEM simulation and reset the initial starting files to prepare a new simulation.
124
125# multiple_exec.sh:
126  Bash script file to execute multiple scripts in subdirectories. It is useful to launch multiple simulations at once.
127
128# visu_layering.py:
129  Python script file to output the stratification data from the "startpem.nc" files.
130
131# visu_evol_layering.py:
132  Python script file to output the stratification data over time from the "startpem.nc" files.
Note: See TracBrowser for help on using the repository browser.