| 1 | #! /bin/bash |
|---|
| 2 | |
|---|
| 3 | #PBS -S /bin/bash |
|---|
| 4 | #PBS -j oe |
|---|
| 5 | ##PBS -q week |
|---|
| 6 | #PBS -q day |
|---|
| 7 | #PBS -N run |
|---|
| 8 | #PBS -l nodes=1:ppn=8 |
|---|
| 9 | ##PBS -l nodes=1:ppn=1 |
|---|
| 10 | #PBS -l mem=64gb |
|---|
| 11 | #PBS -l vmem=64gb |
|---|
| 12 | #PBS -v step=1 |
|---|
| 13 | |
|---|
| 14 | #### NB: "qsub -v step=XX launch" overrides value above |
|---|
| 15 | |
|---|
| 16 | #### PREAMBLE |
|---|
| 17 | ulimit -s unlimited |
|---|
| 18 | |
|---|
| 19 | #### STEP 1 |
|---|
| 20 | if [[ ${step} -le 1 ]] ; then |
|---|
| 21 | cd $PBS_O_WORKDIR/gcm |
|---|
| 22 | # |
|---|
| 23 | year=$(more namelist.input | grep start_year | awk '{print $3}' | sed s+','+''+g) |
|---|
| 24 | month=$(more namelist.input | grep start_month | awk '{print $3}' | sed s+','+''+g) |
|---|
| 25 | day=$(more namelist.input | grep start_day | awk '{print $3}' | sed s+','+''+g) |
|---|
| 26 | hour=$(more namelist.input | grep start_hour | awk '{print $3}' | sed s+','+''+g) |
|---|
| 27 | wrf_date=${year}'-'${month}'-'${day}'_00:00:00' |
|---|
| 28 | daygcm=$(more calendar | grep ${wrf_date} | awk '{print $2}') |
|---|
| 29 | echo ${daygcm} | ./launch_gcm |
|---|
| 30 | # |
|---|
| 31 | $WHERE_MPI/mpirun gcm.e > log_gcm |
|---|
| 32 | # |
|---|
| 33 | cd $PBS_O_WORKDIR/prep |
|---|
| 34 | echo 1 | create_readmeteo.exe |
|---|
| 35 | readmeteo.exe < readmeteo.def |
|---|
| 36 | fi |
|---|
| 37 | |
|---|
| 38 | ##### STEP 2 |
|---|
| 39 | if [[ ${step} -le 2 ]] ; then |
|---|
| 40 | cd $PBS_O_WORKDIR/geogrid |
|---|
| 41 | \rm geo_em.* |
|---|
| 42 | geogrid.exe |
|---|
| 43 | # |
|---|
| 44 | cd $PBS_O_WORKDIR/metgrid |
|---|
| 45 | \rm met_em.* |
|---|
| 46 | metgrid.exe |
|---|
| 47 | fi |
|---|
| 48 | |
|---|
| 49 | ##### STEP 3 |
|---|
| 50 | if [[ ${step} -le 3 ]] ; then |
|---|
| 51 | cd $PBS_O_WORKDIR/ |
|---|
| 52 | \rm wrfi* wrfb* |
|---|
| 53 | real.exe |
|---|
| 54 | fi |
|---|
| 55 | |
|---|
| 56 | ##### STEP 4 |
|---|
| 57 | if [[ ${step} -le 4 ]] ; then |
|---|
| 58 | rm -rf $PBS_O_WORKDIR/$PBS_JOBNAME |
|---|
| 59 | mkdir $PBS_O_WORKDIR/$PBS_JOBNAME |
|---|
| 60 | mv rsl.error.0000 $PBS_O_WORKDIR/$PBS_JOBNAME/real_rsl.error.0000 |
|---|
| 61 | mv rsl.out.0000 $PBS_O_WORKDIR/$PBS_JOBNAME/real_rsl.out.0000 |
|---|
| 62 | cp -rfL $PBS_O_WORKDIR/*.def $PBS_O_WORKDIR/$PBS_JOBNAME/ |
|---|
| 63 | cp -rfL $PBS_O_WORKDIR/wrf.exe* $PBS_O_WORKDIR/$PBS_JOBNAME/ |
|---|
| 64 | cp -rfL $PBS_O_WORKDIR/namelist.input $PBS_O_WORKDIR/$PBS_JOBNAME/ |
|---|
| 65 | cp -rfL $PBS_O_WORKDIR/namelist.wps $PBS_O_WORKDIR/$PBS_JOBNAME/ |
|---|
| 66 | cp -rfL $PBS_O_WORKDIR/wrfi* $PBS_O_WORKDIR/$PBS_JOBNAME/ |
|---|
| 67 | cp -rfL $PBS_O_WORKDIR/wrfb* $PBS_O_WORKDIR/$PBS_JOBNAME/ |
|---|
| 68 | cd $PBS_O_WORKDIR/$PBS_JOBNAME/ |
|---|
| 69 | ln -sf $PBS_O_WORKDIR/data_physics ./ |
|---|
| 70 | $WHERE_MPI/mpirun wrf.exe |
|---|
| 71 | #gdb wrf.exe -ex=run |
|---|
| 72 | fi |
|---|