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 | expdir=`basename ${PWD}`; # we expect "EXPREF" or "EXP00" normally... |
---|
15 | |
---|
16 | # NEMOGCM root directory: |
---|
17 | NEMO_ROOT_DIR=`pwd | sed -e "s|/tests/STATION_ASF/${expdir}||g"` |
---|
18 | |
---|
19 | # NEMOGCM root directory where to fetch compiled STATION_ASF nemo.exe: |
---|
20 | SASF_WRK_DIR="${NEMO_ROOT_DIR}/tests/${TC_DIR}" |
---|
21 | |
---|
22 | # Directory where to run the simulation: |
---|
23 | PROD_DIR="${HOME}/tmp/STATION_ASF" |
---|
24 | |
---|
25 | |
---|
26 | ####### End of normal user configurable section ####### |
---|
27 | |
---|
28 | #================================================================================ |
---|
29 | |
---|
30 | SASF_REF_DIR="${NEMO_ROOT_DIR}/tests/STATION_ASF" |
---|
31 | if [ ! -d ${SASF_REF_DIR} ]; then echo " Mhhh, no EXPREF directory ${SASF_REF_DIR} !"; exit; fi |
---|
32 | |
---|
33 | # NEMO executable to use is: |
---|
34 | NEMO_EXE="${SASF_WRK_DIR}/BLD/bin/nemo.exe" |
---|
35 | if [ ! -f ${NEMO_EXE} ]; then echo " Mhhh, no compiled 'nemo.exe' found into `dirname ${NEMO_EXE}` !"; exit; fi |
---|
36 | |
---|
37 | DATA_IN_DIR="${SASF_REF_DIR}/input_data" ; # Directory containing sea-surface + atmospheric input data |
---|
38 | if [ ! -d ${DATA_IN_DIR} ]; then echo "PROBLEM!!! => did not find directory 'input_data' with input forcing..."; exit; fi |
---|
39 | |
---|
40 | SASF_EXPREF=${SASF_REF_DIR}/${expdir} ; # STATION_ASF EXPREF directory from which to use namelists and XIOS xml files... |
---|
41 | if [ ! -d ${SASF_EXPREF} ]; then echo " Mhhh, no ${expdir} directory ${SASF_EXPREF} !"; exit; fi |
---|
42 | |
---|
43 | |
---|
44 | echo "###########################################################" |
---|
45 | echo "# S T A T I O N A i r - S e a F l u x #" |
---|
46 | echo "###########################################################" |
---|
47 | echo |
---|
48 | echo " * NEMO reference root directory is: ${NEMO_ROOT_DIR}" |
---|
49 | echo " * STATION_ASF work directory is: ${SASF_WRK_DIR}" |
---|
50 | echo " ==> NEMO EXE to use: ${NEMO_EXE}" |
---|
51 | echo |
---|
52 | echo " * Input forcing data into: ${DATA_IN_DIR}" |
---|
53 | echo " * Production will be done into: ${PROD_DIR}" |
---|
54 | echo " * Directory in which namelists and xml files are fetched:" |
---|
55 | echo " ==> ${SASF_EXPREF}" |
---|
56 | echo |
---|
57 | |
---|
58 | mkdir -p ${PROD_DIR} |
---|
59 | |
---|
60 | rsync -avP ${NEMO_EXE} ${PROD_DIR}/ |
---|
61 | |
---|
62 | 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 |
---|
63 | if [ ! -f ${SASF_EXPREF}/${ff} ]; then echo " Mhhh, ${ff} not found into ${SASF_EXPREF} !"; exit; fi |
---|
64 | rsync -avPL ${SASF_EXPREF}/${ff} ${PROD_DIR}/ |
---|
65 | done |
---|
66 | |
---|
67 | # Copy forcing to work directory: |
---|
68 | rsync -avP ${DATA_IN_DIR}/Station_PAPA_50N-145W*.nc ${PROD_DIR}/ |
---|
69 | |
---|
70 | for CASE in "ECMWF" "COARE3p6" "NCAR" "ECMWF-noskin" "COARE3p6-noskin"; do |
---|
71 | |
---|
72 | echo ; echo |
---|
73 | echo "=============================" |
---|
74 | echo " Going for ${CASE} experiment" |
---|
75 | echo "=============================" |
---|
76 | echo |
---|
77 | |
---|
78 | scase=`echo "${CASE}" | tr '[:upper:]' '[:lower:]'` |
---|
79 | |
---|
80 | rm -f ${PROD_DIR}/namelist_cfg |
---|
81 | rsync -avPL ${SASF_EXPREF}/namelist_${scase}_cfg ${PROD_DIR}/namelist_cfg |
---|
82 | |
---|
83 | cd ${PROD_DIR}/ |
---|
84 | echo |
---|
85 | echo "Launching NEMO !" |
---|
86 | ./nemo.exe 1>out_nemo.out 2>err_nemo.err |
---|
87 | echo "Done!" |
---|
88 | echo |
---|
89 | |
---|
90 | # Moving output files: |
---|
91 | mkdir -p output |
---|
92 | mv -f STATION_ASF-${CASE}_*_grid*.nc output/ |
---|
93 | |
---|
94 | # Saving logs: |
---|
95 | mkdir -p ${CASE}_log |
---|
96 | mv -f *.out *.err ocean.output output.namelist.dyn ${CASE}_log/ |
---|
97 | |
---|
98 | done |
---|