@@ -6,5 +6,72 @@ pre_config(){
66
77echo " Start Pre-processing Config"
88
9+ # ###################
10+ # General
11+ # ###################
12+
13+ # create a new simulation run directory
14+ echo " pre_dir: " $pre_dir
15+ if [ -e " ${pre_dir} " ]; then
16+ mv ${pre_dir} ${pre_dir} _bku$( date ' +%Y%m%d%H%M%S' )
17+ fi
18+ mkdir -p $pre_dir
19+
20+ # change to run directory
21+ cd ${pre_dir}
22+
23+ # ###################
24+ # CLM
25+ # ###################
26+ if [[ " ${modelid} " == * clm* ]]; then
27+
28+ echo " start create clm forcing"
29+
30+ # directories
31+ lsmforcgensrc_dir=${ctl_dir} /../src/eCLM_atmforcing/mkforcing
32+ eclmfrc_dir=${frc_dir} /eclm/forcing/
33+ cdsapi_dtadir=${ctl_dir} /../src/eCLM_atmforcing/mkforcing/cdsapidwn
34+
35+ # check if forcing files already exists
36+ unset listfrcfile
37+ if [ ! -e " ${eclmfrc_dir} /$( date -u -d " ${startdate} " +%Y-%m) .nc" ]; then
38+ listfrcfile+=(" $( date -u -d " ${startdate} " +%Y-%m) " )
39+ fi
40+ if [[ " ${simlenmon} " -ge 1 ]]; then
41+ for imon in $( seq 1 $simlenmon ) ; do
42+ dateloop=$( date -u -d " ${startdate} +${imon} month" +%Y-%m)
43+ if [ ! -e " ${eclmfrc_dir} /${dateloop} .nc" ]; then
44+ listfrcfile+=(" ${dateloop} " )
45+ fi
46+ done
47+ fi
48+
49+ echo " List of forcing files: " ${listfrcfile[@]}
50+
51+ fi
52+
53+
54+ if ${debugmode} ; then
55+
56+ # create job submission script (pre.job)
57+ echo " #!/usr/bin/env bash" > pre.job
58+ echo " #SBATCH ${jobprestring// [$'\t\r\n']} " >> pre.job
59+
60+ # add modelid, which is needed
61+ echo " " >> pre.job
62+ echo " modelid=${modelid} " >> pre.job
63+ echo " lsmforcgensrc_dir=${lsmforcgensrc_dir} " >> pre.job
64+ echo " cdsapi_dtadir=${cdsapi_dtadir} " >> pre.job
65+ echo " listfrcfile=(${listfrcfile[*]} )" >> pre.job
66+
67+ # cat pre run script into submission script
68+ cat ${ctl_dir} /pre_ctl/pre_run.sh | tail -n +2 >> pre.job # start from line 2
69+
70+ sed -i " s/pre_run(){//" pre.job
71+ sed -i " s/} # pre_run//" pre.job
72+ sed -i " s#${log_dir} #${pre_dir} #g" pre.job
73+
74+ fi # debugmode
75+
976} # pre_config
1077
0 commit comments