Changeset 3766 for trunk/LMDZ.MARS/deftank/adastra/run_month1
- Timestamp:
- May 15, 2025, 6:26:24 PM (6 weeks ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LMDZ.MARS/deftank/adastra/run_month1
r3033 r3766 4 4 #SBATCH --constraint=GENOA 5 5 #SBATCH --nodes=1 6 #SBATCH --ntasks-per-node=24 6 #SBATCH --ntasks-per-node=24 7 7 #SBATCH --cpus-per-task=4 8 8 #SBATCH --threads-per-core=1 # --hint=nomultithread 9 9 #SBATCH --exclusive 10 10 #SBATCH --output=run_month1_%A.out 11 #SBATCH --time=01:25:00 11 #SBATCH --time=01:25:00 12 12 13 13 ## Script to run chained simulations 14 ## (uses script "run0" and reference file "run.def.ref") 15 ## Set values of "num_now" and "num_end" in the script below 16 ## to set initial month # and final month # of the simulation 14 17 15 18 # A few parameters that might need be changed depending on your setup: 16 19 # Path to the arch.env to source 17 20 source ../trunk/LMDZ.COMMON/arch.env 18 # Number of threads to use (must be the same as "#SBATCH --cpus-per-task=" above) 19 export OMP_NUM_THREADS= 421 # Number of threads to use (must be the same as "#SBATCH --cpus-per-task=" above) 22 export OMP_NUM_THREADS=$SLURM_CPUS_PER_TASK 20 23 export OMP_STACKSIZE=400M 24 # 25 ######################################################################## 26 set -exv 27 ls -al 28 trap 'echo -e "Error at line $LINENO!"' ERR 21 29 22 set -xv 23 ls -al 24 25 ## set starting month and ending month below: 30 # Set starting month and ending month below: 26 31 num_now=1 27 32 num_end=12 28 (( num_previous = $num_now - 1 ))33 num_previous=$(( num_now - 1 )) 29 34 30 35 echo "$num_previous" > num_run 31 36 # next month number 32 (( num_next = $num_now + 1 ))37 num_next=$(( num_now + 1 )) 33 38 # true (i.e. modulo 12) month number 34 (( true_num = $num_now % 12 ))39 true_num=$(( num_now % 12 )) 35 40 41 # Check if required files exist 36 42 \rm -f error; touch error 37 43 44 if [ ! -f run.def.ref ]; then 45 echo "Error: file \"run.def.ref\" not found in current directory!" > error 46 exit 1 47 fi 48 49 if [ ! -x run0 ]; then 50 echo "Error: file \"run0\" not found or not executable in current directory!" > error 51 exit 1 52 fi 53 54 if [ ! -f run_month$num_now ]; then 55 echo "Error: file \"run_month${num_now}\" not found in current directory!" > error 56 exit 1 57 fi 58 59 # Run model depending on current month 38 60 case $true_num in 39 1 ) sed s/9999/61/ run.def.ref > run.def ; run0 >> error ;; #140 2 ) sed s/9999/66/ run.def.ref > run.def ; run0 >> error ;; #241 3 ) sed s/9999/66/ run.def.ref > run.def ; run0 >> error ;; #342 4 ) sed s/9999/65/ run.def.ref > run.def ; run0 >> error ;; #443 5 ) sed s/9999/60/ run.def.ref > run.def ; run0 >> error ;; #544 6 ) sed s/9999/54/ run.def.ref > run.def ; run0 >> error ;; #645 7 ) sed s/9999/50/ run.def.ref > run.def ; run0 >> error ;; #746 8 ) sed s/9999/46/ run.def.ref > run.def ; run0 >> error ;; #847 9 ) sed s/9999/47/ run.def.ref > run.def ; run0 >> error ;; #948 10 ) sed s/9999/47/ run.def.ref > run.def ; run0 >> error ;; #1049 11 ) sed s/9999/51/ run.def.ref > run.def ; run0 >> error ;; #1150 0 ) sed s/9999/56/ run.def.ref > run.def ; run0 >> error ;; #1251 * ) echo " error";;61 1 ) sed s/9999/61/ run.def.ref > run.def ; ./run0 >> error ;; #1 62 2 ) sed s/9999/66/ run.def.ref > run.def ; ./run0 >> error ;; #2 63 3 ) sed s/9999/66/ run.def.ref > run.def ; ./run0 >> error ;; #3 64 4 ) sed s/9999/65/ run.def.ref > run.def ; ./run0 >> error ;; #4 65 5 ) sed s/9999/60/ run.def.ref > run.def ; ./run0 >> error ;; #5 66 6 ) sed s/9999/54/ run.def.ref > run.def ; ./run0 >> error ;; #6 67 7 ) sed s/9999/50/ run.def.ref > run.def ; ./run0 >> error ;; #7 68 8 ) sed s/9999/46/ run.def.ref > run.def ; ./run0 >> error ;; #8 69 9 ) sed s/9999/47/ run.def.ref > run.def ; ./run0 >> error ;; #9 70 10 ) sed s/9999/47/ run.def.ref > run.def ; ./run0 >> error ;; #10 71 11 ) sed s/9999/51/ run.def.ref > run.def ; ./run0 >> error ;; #11 72 0 ) sed s/9999/56/ run.def.ref > run.def ; ./run0 >> error ;; #12 73 * ) echo "Error: Invalid value of true_num ($true_num)" ; exit 1 ;; 52 74 esac 53 75 54 # launch job for next month55 if (( $num_next <= $num_end )) ; then76 # Launch job for next month 77 if (( num_next <= num_end )) ; then 56 78 cp -f run_month$num_now tmp 57 79 sed -e "s@run_month${num_now}@run_month${num_next}@" \ 58 80 -e "s@num_now=${num_now}@num_now=${num_next}@" tmp > run_month$num_next 59 81 rm tmp 60 61 82 sbatch run_month$num_next 62 83 fi
Note: See TracChangeset
for help on using the changeset viewer.