Difference between revisions of "Quick Install and Run Mars PEM"

From Planets
Jump to: navigation, search
m (XIOS)
m (Input files)
 
(3 intermediate revisions by the same user not shown)
Line 31: Line 31:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
=== Inputs files  ===
+
=== Input files  ===
  
Then all the compilation stuff is done. You ll want to create a folder to run a simulation and copy all the executable there. In addition to these executables, you'll need a few other files:
+
Then all the compilation stuff is done. You will want to create a folder to run a simulation and copy all the executable files there. In addition, you will need a few other files:
  
 
Files for the PCM run:
 
Files for the PCM run:
* '''start.nc''' and '''startfi.nc''', if you do a chained simulation you probably have to rename them start0.nc and startfi0.nc, the number correspond to the martian year. The dimensions should correspond to the dimension in which you compiled the executables, they can be found in the Q"uick Install and Run" of the Mars Model.
+
* '''start.nc''' and '''startfi.nc''', if you do a chained simulation you probably have to rename them start0.nc and startfi0.nc, the number correspond to the martian year. The dimensions should correspond to the dimension in which you compiled the executables, they can be found in the Quick Install and Run" of the Mars Model.
 
* '''datadir''' directory, this can be dowload by following the steps described in "Quick Install and Run" of the Mars Model.
 
* '''datadir''' directory, this can be dowload by following the steps described in "Quick Install and Run" of the Mars Model.
* '''callphys.def''' : you can take one in LMDZ.MARS/deftank/
+
* '''callphys.def''': you can take one in LMDZ.MARS/deftank/
* '''traceur.def''' : you can take one in LMDZ.MARS/deftank/
+
* '''traceur.def''': you can take one in LMDZ.MARS/deftank/
* '''z2sig.def''' : you can take one in LMDZ.MARS/deftank/
+
* '''z2sig.def''': you can take one in LMDZ.MARS/deftank/
 
* '''diagfi.def''': Optional; not necessary since we do the outputs using XIOS
 
* '''diagfi.def''': Optional; not necessary since we do the outputs using XIOS
* '''run.def''', for chained simulation rename it run.def.ref, also available in LMDZ.MARS/deftank/ . If you do not want diagfi.nc output, you can change the variable ecritphy to 6699 for example.
+
* '''run.def''', for chained simulation rename it run_GCM.def.ref, also available in LMDZ.MARS/deftank/. If you do not want diagfi.nc output, you can change the variable ecritphy to 6699 for example.
 
* xml files: '''iodef.xml''', '''context_lmdz_physics.xml''', '''field_def_physics_mars.xml''', '''file_def_physics_mars.xml'''. For this last file you have to change to true the enable option of the FILE 3 (diurnal averages outputs for PEM) the other can be enable to false if you do not want other outputs.
 
* xml files: '''iodef.xml''', '''context_lmdz_physics.xml''', '''field_def_physics_mars.xml''', '''file_def_physics_mars.xml'''. For this last file you have to change to true the enable option of the FILE 3 (diurnal averages outputs for PEM) the other can be enable to false if you do not want other outputs.
* '''run0''' : the file used to run chained simulation, available in LMDZ.MARS/deftank/
 
  
  
 
Files for the PEM run:
 
Files for the PEM run:
* '''ob_ex_lsp.asc''' : Available in LMDZ.MARS/deftank/pem describing the changes in orbital parameters in marsian year
+
* '''obl_ecc_lsp.asc''': Available in LMDZ.MARS/deftank/pem describing the changes for orbital parameters
* '''run_PEM.def''' : The file to describe the PEM physical parametrizations you want (remember to include it in the run.def.ref or run.def_PEM)
+
* '''run_PEM.def''': The file to describe the PEM physical parametrizations you want (remember to include it in the run_GCM.def)
* '''start_evol.nc''' : The last restart.nc of the GCM simulations
+
* '''start_evol.nc''': The last restart.nc of the GCM simulations
* '''startfi_evol.nc''' : The last restartfi.nc of the GCM simulations
+
* '''startfi_evol.nc''': The last restartfi.nc of the GCM simulations
* '''data_GCM_Y1.nc''' and '''data_GCM_Y2.nc''' : The outputs of the last 2 typical year of the GCM, they have been reshape by he utility to be in the dynamical grid
+
* '''data_GCM_Y1.nc''' and '''data_GCM_Y2.nc''': The outputs of the last 2 typical year of the GCM, they have been reshape by he utility to be in the dynamical grid
* '''diagfi.def''' (Optional) : you can output PEM specific variables with diagfi.def, to do so we usually set a specific output time with a specific run.def_PEM and run.def_GCM.
+
* '''diagfi.def''' (optional) : you can output PEM specific variables with diagfi.def, to do so we usually set a specific output time with a specific run_PEM.def and run_GCM.def.
* '''startfi_PEM.nc''' (Optional) : The start file specific of the PEM, if it is not present the PEM will create a default one.
+
* '''startfi_PEM.nc''' (optional): The start file specific of the PEM, if it is not present the PEM will create a default one.
* '''run_pem1 : The main bash file to run chained PEM simulations, you can specify the numer of PEM iterations (num_PEM_now=,num_PEM_end=), the number of GCM run in between each PEM run (nb_GCM_call). You have to adapat it to the machine you're runnning on.
+
* '''launch_pem.sh''': The main bash script file to run chained simulation of PEM and GCM runs. You can specify the number of Earth years to be simulated in total, the number of GCM runs between each PEM run (nGCM). You have to adapt it to the machine you are running on.
  
=== Ouputs files  ===
+
=== Ouput files  ===
 
* '''restart_evol.nc''' : The last start.nc of the GCM simulations modified by the PEM
 
* '''restart_evol.nc''' : The last start.nc of the GCM simulations modified by the PEM
 
* '''restartfi_evol.nc''' : The last restartfi.nc of the GCM simulations modified by the PEM
 
* '''restartfi_evol.nc''' : The last restartfi.nc of the GCM simulations modified by the PEM

Latest revision as of 10:54, 4 September 2023

How to install the model

To download the model you'll need to follow exactly the same step as dowloading the martian model. You can have a look at the section Quick Install and Run of Mars Model and follow the "Prerequisites: Tools and Libraries" steps.

The PEM is dowlnload alongside with the LMDZ.COMMON repository. The Fortran code of the PEM is in the following directory : trunk/LMDZ.COMMON/libf/evolution/ The main program is in the file pem.F90

Compiling the test case

To compile the PEM at the sought resolution, run (in LMDZ.COMMON):

./makelmdz_fcm -arch local -p mars -d 64x48x54 -j 8 pem

Here, we assume that you have generated the arch-local.* files as per what is suggested in the previous section. The options for makelmdz_fcm used here imply:

  • -p mars: the PEM will use the "mars" physics package
  • -d 64x48x54: the PEM grid will be 64x48 in longitude x latitude, with 54 vertical levels.

Upon successful compilation, the executable pem_64x48x29_phymars_seq.e should be generated in the bin subdirectory.

To run the PEM you'll also need a valid PCM, you can compile it using a similar command:

./makelmdz_fcm -arch local -p mars -parallel mpi_omp -io XIOS -d 64x48x54 -j 8 gcm

To run the PEM you'll also need a tool (reshape_xios_output) that will we explained later, you can compile it using a similar command:

./makelmdz_fcm -arch local -p mars -d 64x48x54 -j 8 reshape_XIOS_output

Input files

Then all the compilation stuff is done. You will want to create a folder to run a simulation and copy all the executable files there. In addition, you will need a few other files:

Files for the PCM run:

  • start.nc and startfi.nc, if you do a chained simulation you probably have to rename them start0.nc and startfi0.nc, the number correspond to the martian year. The dimensions should correspond to the dimension in which you compiled the executables, they can be found in the Quick Install and Run" of the Mars Model.
  • datadir directory, this can be dowload by following the steps described in "Quick Install and Run" of the Mars Model.
  • callphys.def: you can take one in LMDZ.MARS/deftank/
  • traceur.def: you can take one in LMDZ.MARS/deftank/
  • z2sig.def: you can take one in LMDZ.MARS/deftank/
  • diagfi.def: Optional; not necessary since we do the outputs using XIOS
  • run.def, for chained simulation rename it run_GCM.def.ref, also available in LMDZ.MARS/deftank/. If you do not want diagfi.nc output, you can change the variable ecritphy to 6699 for example.
  • xml files: iodef.xml, context_lmdz_physics.xml, field_def_physics_mars.xml, file_def_physics_mars.xml. For this last file you have to change to true the enable option of the FILE 3 (diurnal averages outputs for PEM) the other can be enable to false if you do not want other outputs.


Files for the PEM run:

  • obl_ecc_lsp.asc: Available in LMDZ.MARS/deftank/pem describing the changes for orbital parameters
  • run_PEM.def: The file to describe the PEM physical parametrizations you want (remember to include it in the run_GCM.def)
  • start_evol.nc: The last restart.nc of the GCM simulations
  • startfi_evol.nc: The last restartfi.nc of the GCM simulations
  • data_GCM_Y1.nc and data_GCM_Y2.nc: The outputs of the last 2 typical year of the GCM, they have been reshape by he utility to be in the dynamical grid
  • diagfi.def (optional) : you can output PEM specific variables with diagfi.def, to do so we usually set a specific output time with a specific run_PEM.def and run_GCM.def.
  • startfi_PEM.nc (optional): The start file specific of the PEM, if it is not present the PEM will create a default one.
  • launch_pem.sh: The main bash script file to run chained simulation of PEM and GCM runs. You can specify the number of Earth years to be simulated in total, the number of GCM runs between each PEM run (nGCM). You have to adapt it to the machine you are running on.

Ouput files

  • restart_evol.nc : The last start.nc of the GCM simulations modified by the PEM
  • restartfi_evol.nc : The last restartfi.nc of the GCM simulations modified by the PEM
  • restartfi_PEM.nc : The restart file specific of the PEM
  • info_run_PEM.txt : A file containing the time the PEM has extrapolate and the reason it stopped
  • diagfi.def (Optional) : Information about the run