| 1 | * . . + . * . + . . . |
|---|
| 2 | + _______ ________ ____ ____ * + |
|---|
| 3 | + . * |_ __ \|_ __ ||_ \ / _| . * |
|---|
| 4 | . . | |__) | | |_ \_| | \/ | * * . |
|---|
| 5 | . | ___/ | _| _ | |\ /| | . . |
|---|
| 6 | . * * _| |_ _| |__/ | _| |_\/_| |_ * |
|---|
| 7 | + |_____| |________||_____||_____| + . |
|---|
| 8 | . * . * . + * . + . |
|---|
| 9 | |
|---|
| 10 | |
|---|
| 11 | This folder contains all the files needed to run the Planetary Evolution Model (PEM). |
|---|
| 12 | |
|---|
| 13 | # launchPEM.sh: |
|---|
| 14 | Bash script file to launch the chained simulation of PEM and PCM runs. |
|---|
| 15 | The user has to specify: |
|---|
| 16 | (i) n_mars_years, n_earth_years -> the number of Mars/Earth years to be simulated in total; |
|---|
| 17 | (ii) nPCM_ini -> the number of initial PCM runs (at least 2); |
|---|
| 18 | (iii) nPCM -> the number of PCM runs between each PEM run (usually 2); |
|---|
| 19 | (iv) counting -> the counting method for the number of years to be simulated (0 = "only PEM runs count"; any other values = "PCM runs are taken into account"). The former option is the PEM default use; |
|---|
| 20 | (v) 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. |
|---|
| 21 | The script can take an argument: |
|---|
| 22 | - If there is no argument, then the script initiates a PEM simulation from scratch. |
|---|
| 23 | - If the argument is 're', then the script relaunches an existing PEM simulation. It will ask for parameters to know the starting point that you want to. |
|---|
| 24 | To submit chained jobs, the script works with the job schedulers SLURM and PBS/TORQUE. |
|---|
| 25 | |
|---|
| 26 | # liblaunchPEM.sh: |
|---|
| 27 | Library of bash functions used by the PEM launching script "launchPEM.sh". |
|---|
| 28 | |
|---|
| 29 | # PCMrun.job: |
|---|
| 30 | Bash script file to submit a PCM job (with SLURM or PBS/TORQUE). The headers correspond to the ADASTRA supercomputer and should be changed for other machines and job schedulers. In case of "processiong scripts" launching mode, the headers are naturally omitted. |
|---|
| 31 | The path to source the arch file should be adapted to the machine. |
|---|
| 32 | The name of the PCM executable file should be adapted. |
|---|
| 33 | The execution command should also be adapted according to the set-up. |
|---|
| 34 | |
|---|
| 35 | # PEMrun.job: |
|---|
| 36 | Bash script file to submit PEM job (with SLURM or PBS/TORQUE).The headers correspond to the ADASTRA supercomputer and should be changed for other machines and job schedulers. In case of "processiong scripts" launching mode, the headers are naturally omitted. |
|---|
| 37 | The path to source the arch file should be adapted to the machine. |
|---|
| 38 | The name of the PEM executable file and Reshaping executable file should be adapted. |
|---|
| 39 | The PEM executable can have an optional argument which should be specified according to the set-up. This the job ID to make the PEM detect the job time limit. |
|---|
| 40 | |
|---|
| 41 | # run_PEM.def |
|---|
| 42 | All the possible parameters to define a PEM run (read in "conf_pem.F90"). |
|---|
| 43 | It needs to be included in "run_PCM.def" with "INCLUDEDEF=run_PEM.def". |
|---|
| 44 | |
|---|
| 45 | # obl_ecc_lsp.asc [default], obl_ecc_lsp_pos.asc [future years] |
|---|
| 46 | 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 (°). |
|---|
| 47 | |
|---|
| 48 | # modify_startfi_orbit.sh: |
|---|
| 49 | Bash script file to modify orbital parameters in the file "startfi.nc" (obliquity, eccentricity, Ls perihelion and possibly initial Ls). They should be consistent with Laskar's data in "obl_ecc_lsp.asc" to start a chained simulation at a specific date. |
|---|
| 50 | |
|---|
| 51 | # modify_startfi_var.sh: |
|---|
| 52 | Bash script file to modify the value of a variable in a file "startfi.nc". |
|---|
| 53 | |
|---|
| 54 | # inipem_orbit.sh: |
|---|
| 55 | Bash script file to modify the orbital parameters of a file "startfi.nc" according to the date set in the file "run_PEM.def". |
|---|
| 56 | |
|---|
| 57 | # concat_diagpem.sh: |
|---|
| 58 | Bash script file to concatenate along the variable 'Time' all the "diagpem.nc" files of the PEM into one NetCDF file. 'Time' is re-indexed with the numbering of Martian years simulated by the PEM run. |
|---|
| 59 | |
|---|
| 60 | # clean.sh: |
|---|
| 61 | Bash script file to clean the folder after a PEM simulation and reset the initial starting files to prepare a new simulation. |
|---|
| 62 | |
|---|
| 63 | # multiple_exec.sh: |
|---|
| 64 | Bash script file to execute multiple scripts in subdirectories. It is useful to launch multiple simulations at once. |
|---|
| 65 | |
|---|
| 66 | # visu_layering.py: |
|---|
| 67 | Python script file to output the stratification data from the "startpem.nc" files. |
|---|
| 68 | |
|---|
| 69 | # visu_evol_layering.py: |
|---|
| 70 | Python script file to output the stratification data over time from the "startpem.nc" files. |
|---|
| 71 | |
|---|
| 72 | Note: |
|---|
| 73 | To run the chained simulation, be careful to have: |
|---|
| 74 | (i) the xml files for XIOS. There should be "iodef.xml", "context_lmdz_physics.xml", "file_def_physics_mars.xml" and "field_def_physics_mars.xml" which can be found in the planetary deftank folder; |
|---|
| 75 | (ii) the usual def files to run the PCM. "run.def" should be renamed in "run_PCM.def"; |
|---|
| 76 | (iii the starting files ("startfi.nc" and "start.nc"). The former can be modified by "modify_startfi_orbit.sh"; |
|---|
| 77 | (iv) some optional files. For example, "diagfi.def" and "diagpem.def". |
|---|