[5869] | 1 | #!/bin/bash |
---|
| 2 | ###################### |
---|
| 3 | ## IRENE-AMD TGCC/CEA ## |
---|
| 4 | ###################### |
---|
| 5 | #MSUB -r IPSLCM6.5_ENSEMBLES # Job Name |
---|
| 6 | #MSUB -o Script_Output_IPSLCM6.5_ENSEMBLES # standard output |
---|
| 7 | #MSUB -e Script_Output_IPSLCM6.5_ENSEMBLES # error output |
---|
| 8 | #MSUB -eo |
---|
| 9 | #MSUB -n 369 # Number of MPI tasks (SPMD case) or cores (MPMD case) |
---|
| 10 | #MSUB -x # exclusive node. To specify only for MPMD together with the one below |
---|
| 11 | #MSUB -T 1800 # Wall clock limit (seconds) |
---|
| 12 | #MSUB -Q test |
---|
| 13 | #MSUB -A gen0826 |
---|
| 14 | #MSUB -q rome |
---|
| 15 | #MSUB -X |
---|
| 16 | #MSUB -m store,work,scratch |
---|
| 17 | |
---|
| 18 | cd ${BRIDGE_MSUB_PWD} |
---|
| 19 | |
---|
| 20 | |
---|
| 21 | module purge |
---|
| 22 | module load intel/19.0.5.281 |
---|
| 23 | module load feature/openmpi/net/ib/ucx-verbs |
---|
| 24 | module load flavor/openmpi/vanilla mpi/openmpi/4.0.5 |
---|
| 25 | module load flavor/hdf5/parallel |
---|
| 26 | module load netcdf-fortran/4.4.4 |
---|
| 27 | module load hdf5/1.8.20 |
---|
| 28 | module load feature/bridge/heterogenous_mpmd |
---|
| 29 | module load nco/4.9.1 |
---|
| 30 | module load cdo/1.9.5 |
---|
| 31 | module load c++/gnu/7.3.0 |
---|
| 32 | module load c/gnu/7.3.0 |
---|
| 33 | module load arm-forge/20.2.1 |
---|
| 34 | |
---|
| 35 | |
---|
| 36 | pool_number=5 |
---|
| 37 | pool_size=2 |
---|
| 38 | |
---|
| 39 | whole_ensemble_size=$((${pool_number}*${pool_size})) |
---|
| 40 | |
---|
| 41 | rm -f xios.x ; cp ../bin/xios_server_prod.exe xios.x |
---|
| 42 | rm -f lmdz.x ; cp ../bin/gcm_96x95x59_prod.e lmdz.x |
---|
| 43 | rm -f opa.xx ; cp ../bin/opa_prod.exe opa.xx |
---|
| 44 | rm -rf XIOS |
---|
| 45 | mkdir XIOS |
---|
| 46 | |
---|
| 47 | for (( pool_rank=0 ; pool_rank < $(($pool_number)) ; pool_rank++ )) |
---|
| 48 | do |
---|
| 49 | ./create_runfile.sh $pool_size $pool_rank |
---|
| 50 | |
---|
| 51 | for (( pool_member_rank=0; pool_member_rank<$(($pool_size+1)); pool_member_rank++ )) |
---|
| 52 | do |
---|
| 53 | |
---|
| 54 | whole_ensemble_rank=$(($pool_size*$pool_rank+$pool_member_rank)) |
---|
| 55 | if (( pool_member_rank < $pool_size )) |
---|
| 56 | then |
---|
| 57 | rm -rf MEMBER_$whole_ensemble_rank |
---|
| 58 | mkdir MEMBER_$whole_ensemble_rank |
---|
| 59 | cd MEMBER_$whole_ensemble_rank |
---|
| 60 | else |
---|
| 61 | cd XIOS |
---|
| 62 | fi |
---|
| 63 | |
---|
| 64 | ln -f -s ../ENSEMBLE_TEMPLATE/* . |
---|
| 65 | cp ../oasis_namcouple_body ../oasis_namcouple_epilog ../oasis_namcouple_header . |
---|
| 66 | ../create_ensemble_def $whole_ensemble_size $pool_size $pool_rank $pool_member_rank |
---|
| 67 | ../create_oasis_namecoupl.sh $pool_size $pool_rank |
---|
| 68 | ../create_oasis_restart.sh $pool_size $pool_rank |
---|
| 69 | ../create_iodef_xml.sh $pool_size |
---|
| 70 | cd .. |
---|
| 71 | done |
---|
| 72 | #export DDT=TRUE |
---|
| 73 | /usr/bin/time ccc_mprun -E-K1 -f ./run_file |
---|
| 74 | done |
---|
| 75 | |
---|
| 76 | |
---|
| 77 | exit |
---|