1 | #!/bin/bash |
---|
2 | |
---|
3 | ################################################################ |
---|
4 | # |
---|
5 | # Script to launch a set of STATION_ASF simulations |
---|
6 | # |
---|
7 | # L. Brodeau, 2020 |
---|
8 | # |
---|
9 | ################################################################ |
---|
10 | |
---|
11 | # What directory inside "tests" actually contains the compiled "nemo.exe" for STATION_ASF ? |
---|
12 | TC_DIR="STATION_ASF2" |
---|
13 | |
---|
14 | # DATA_IN_DIR => Directory containing sea-surface + atmospheric forcings |
---|
15 | # (get it there https://drive.google.com/file/d/1MxNvjhRHmMrL54y6RX7WIaM9-LGl--ZP/): |
---|
16 | if [ `hostname` = "merlat" ]; then |
---|
17 | DATA_IN_DIR="/MEDIA/data/STATION_ASF/input_data_STATION_ASF_2016-2018" |
---|
18 | elif [ `hostname` = "luitel" ]; then |
---|
19 | DATA_IN_DIR="/data/gcm_setup/STATION_ASF/input_data_STATION_ASF_2016-2018" |
---|
20 | elif [ `hostname` = "ige-meom-cal1" ]; then |
---|
21 | DATA_IN_DIR="/mnt/meom/workdir/brodeau/STATION_ASF/input_data_STATION_ASF_2016-2018" |
---|
22 | elif [ `hostname` = "salvelinus" ]; then |
---|
23 | DATA_IN_DIR="/opt/data/STATION_ASF/input_data_STATION_ASF_2016-2018" |
---|
24 | else |
---|
25 | echo "Oops! We don't know `hostname` yet! Define 'DATA_IN_DIR' in the script!"; exit |
---|
26 | fi |
---|
27 | |
---|
28 | expdir=`basename ${PWD}`; # we expect "EXPREF" or "EXP00" normally... |
---|
29 | |
---|
30 | # NEMOGCM root directory where to fetch compiled STATION_ASF nemo.exe + setup: |
---|
31 | NEMO_WRK_DIR=`pwd | sed -e "s|/tests/STATION_ASF/${expdir}||g"` |
---|
32 | |
---|
33 | # Directory where to run the simulation: |
---|
34 | PROD_DIR="${HOME}/tmp/STATION_ASF" |
---|
35 | |
---|
36 | |
---|
37 | ####### End of normal user configurable section ####### |
---|
38 | |
---|
39 | #================================================================================ |
---|
40 | |
---|
41 | # NEMO executable to use is: |
---|
42 | NEMO_EXE="${NEMO_WRK_DIR}/tests/${TC_DIR}/BLD/bin/nemo.exe" |
---|
43 | |
---|
44 | |
---|
45 | echo "###########################################################" |
---|
46 | echo "# S T A T I O N A i r - S e a F l u x #" |
---|
47 | echo "###########################################################" |
---|
48 | echo |
---|
49 | echo " We shall work in here: ${STATION_ASF_DIR}/" |
---|
50 | echo " NEMOGCM work depository is: ${NEMO_WRK_DIR}/" |
---|
51 | echo " ==> NEMO EXE to use: ${NEMO_EXE}" |
---|
52 | echo " Input forcing data into: ${DATA_IN_DIR}/" |
---|
53 | echo " Production will be done into: ${PROD_DIR}/" |
---|
54 | echo |
---|
55 | |
---|
56 | mkdir -p ${PROD_DIR} |
---|
57 | |
---|
58 | if [ ! -f ${NEMO_EXE} ]; then echo " Mhhh, no compiled 'nemo.exe' found into `dirname ${NEMO_EXE}` !"; exit; fi |
---|
59 | |
---|
60 | echo |
---|
61 | echo " *** Using the following NEMO executable:" |
---|
62 | echo " ${NEMO_EXE} " |
---|
63 | echo |
---|
64 | |
---|
65 | NEMO_EXPREF="${NEMO_WRK_DIR}/tests/STATION_ASF/EXPREF" |
---|
66 | if [ ! -d ${NEMO_EXPREF} ]; then echo " Mhhh, no EXPREF directory ${NEMO_EXPREF} !"; exit; fi |
---|
67 | |
---|
68 | rsync -avP ${NEMO_EXE} ${PROD_DIR}/ |
---|
69 | |
---|
70 | for ff in "context_nemo.xml" "domain_def_nemo.xml" "field_def_nemo-oce.xml" "file_def_nemo-oce.xml" "grid_def_nemo.xml" "iodef.xml" "namelist_ref"; do |
---|
71 | if [ ! -f ${NEMO_EXPREF}/${ff} ]; then echo " Mhhh, ${ff} not found into ${NEMO_EXPREF} !"; exit; fi |
---|
72 | rsync -avPL ${NEMO_EXPREF}/${ff} ${PROD_DIR}/ |
---|
73 | done |
---|
74 | |
---|
75 | # Copy forcing to work directory: |
---|
76 | rsync -avP ${DATA_IN_DIR}/Station_PAPA_50N-145W*.nc ${PROD_DIR}/ |
---|
77 | |
---|
78 | for CASE in "ECMWF" "COARE3p6" "NCAR" "ECMWF-noskin" "COARE3p6-noskin"; do |
---|
79 | |
---|
80 | echo ; echo |
---|
81 | echo "=============================" |
---|
82 | echo " Going for ${CASE} experiment" |
---|
83 | echo "=============================" |
---|
84 | echo |
---|
85 | |
---|
86 | scase=`echo "${CASE}" | tr '[:upper:]' '[:lower:]'` |
---|
87 | |
---|
88 | rm -f ${PROD_DIR}/namelist_cfg |
---|
89 | rsync -avPL ${NEMO_EXPREF}/namelist_${scase}_cfg ${PROD_DIR}/namelist_cfg |
---|
90 | |
---|
91 | cd ${PROD_DIR}/ |
---|
92 | echo |
---|
93 | echo "Launching NEMO !" |
---|
94 | ./nemo.exe 1>out_nemo.out 2>err_nemo.err |
---|
95 | echo "Done!" |
---|
96 | echo |
---|
97 | |
---|
98 | # Moving output files: |
---|
99 | mkdir -p output |
---|
100 | mv -f STATION_ASF-${CASE}_*_grid*.nc output/ |
---|
101 | |
---|
102 | # Saving logs: |
---|
103 | mkdir -p ${CASE}_log |
---|
104 | mv -f *.out *.err ocean.output output.namelist.dyn ${CASE}_log/ |
---|
105 | |
---|
106 | done |
---|