Changeset 3394 for trunk/LMDZ.COMMON/libf/evolution
- Timestamp:
- Jul 8, 2024, 11:48:37 PM (5 months ago)
- Location:
- trunk/LMDZ.COMMON/libf/evolution
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LMDZ.COMMON/libf/evolution/changelog.txt
r3391 r3394 395 395 == 02/07/2024 == JBC 396 396 Addition of the possiblity to launch the 1D model in the launching script + correction of small errors. 397 398 ==08/07/2024 == JBC 399 Updates and improvements related to the last modifications of the launching script. -
trunk/LMDZ.COMMON/libf/evolution/deftank/README
r3351 r3394 6 6 (i) n_mars_years, n_earth_years -> the number of Mars/Earth years to be simulated in total; 7 7 (ii) nPCM_ini -> the number of initial PCM runs (at least 2); 8 (iii) nPCM -> the number of PCM runs between each PEM run (usually 2). 8 (iii) nPCM -> the number of PCM runs between each PEM run (usually 2); 9 (iv) dim -> the dimension of the model (1 for 1D, any other values stand for 3D). 9 10 The script can take an argument: 10 11 - If there is no argument, then the script initiates a PEM simulation from scratch. 11 12 - 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. 13 The script works only with the job scheduler SLURM to submit chained jobs. 12 14 13 15 # liblaunchPEM.sh: 14 16 Library of bash functions used by the PEM launching script "launchPEM.sh". 15 17 16 # jobPCM.slurm:17 Bash script file to run the PCM with a SLURM job. The name of the PCM executable file should be adapted. The header corresponds to the ADASTRA supercomputer and should be changed for other machines. 18 # PCMrun.job: 19 Bash script file to run the PCM with a SLURM job. The name of the PCM executable file should be adapted. The header corresponds to the ADASTRA supercomputer and should be changed for other machines. In case of 1D, the SBATCH headers are omitted. 18 20 The path to source the arch file should be adapted to the machine. 21 The execution line should also be adapted according to the set-up. 19 22 20 # jobPEM.slurm:21 Bash script file to run the PEM with a SLURM job. The name of the PEM executable file and Reshaping executable file should be adapted. The header corresponds to the ADASTRA supercomputer and should be changed for other machines. 23 # PEMrun.job: 24 Bash script file to run the PEM with a SLURM job. The name of the PEM executable file and Reshaping executable file should be adapted. The header corresponds to the ADASTRA supercomputer and should be changed for other machines. In case of 1D, the SBATCH headers are omitted. 22 25 The path to source the arch file should be adapted to the machine. 26 The execution line should also be adapted according to the set-up. 27 The PEM executable can have an optional argument to specify the SLURM job ID in order to detect the job time limit and deal with it. 23 28 24 29 # run_PEM.def -
trunk/LMDZ.COMMON/libf/evolution/deftank/clean.sh
r3354 r3394 10 10 rm -f data_PCM_Y* 11 11 rm -f info_PEM.txt 12 find . -type f -name " jobPCM*.slurm" ! -name "jobPCM.slurm" -delete12 find . -type f -name "PCMrun*.job" ! -name "PCMrun.job" -delete 13 13 rm -f *.out 14 14 rm -f kill_launchPEM.sh -
trunk/LMDZ.COMMON/libf/evolution/deftank/lib_launchPEM.sh
r3391 r3394 39 39 LC_NUMERIC=en_US.UTF-8 40 40 41 if [ $dim -ne 1 ]; then # 3D model works only with SLURM for now (because of time limit)42 is lurm41 if [ $dim -ne 1 ]; then # 3D model works only with SLURM for now (because of chained job submission in the script + time limit management) 42 is_slurm 43 43 fi 44 44 if [ -v n_mars_years ] && [ ! -z "$n_mars_years" ]; then -
trunk/LMDZ.COMMON/libf/evolution/pem.F90
r3389 r3394 234 234 real :: timestep ! Timestep [s] 235 235 character(20) :: job_id ! Job id provided as argument passed on the command line when the program was invoked 236 logical :: timewall ! Flag to use the time limit stopping criterion in case of a PEM job 236 237 integer(kind=8) :: cr ! Number of clock ticks per second (count rate) 237 238 integer(kind=8) :: c1, c2 ! Counts of processor clock … … 285 286 call system_clock(count_rate = cr) 286 287 call system_clock(c1) 288 timewall = .true. 287 289 timelimit = 86400 ! 86400 seconds = 24 h by default 288 290 if (command_argument_count() > 0) then … … 317 319 timelimit = minutes*60 + seconds 318 320 endif 321 else 322 timewall = .false. 319 323 endif 320 324 … … 1006 1010 if (i_myear >= n_myear) stopPEM = 6 1007 1011 call system_clock(c2) 1008 if ( real((c2 - c1)/cr) >= timelimit - antetime) stopPEM = 71012 if (timewall .and. real((c2 - c1)/cr) >= timelimit - antetime) stopPEM = 7 1009 1013 if (stopPEM > 0) then 1010 1014 select case (stopPEM)
Note: See TracChangeset
for help on using the changeset viewer.