@@ -42,14 +42,18 @@ sed -i "s/__pfl_pe__/$(($ico_proc+$clm_proc+$pfl_proc-1))/" ${sim_dir}/slm_multi
4242# change to run directory
4343cd ${sim_dir}
4444
45- simrstm1_dir=${rst_dir} /${caseid} $( date -u -d " ${datem1} " +%Y%m%d)
45+ parse_config_file ${conf_file} " sim_config_general"
46+
47+ simrstm1_dir=${simrstm1_dir:- ${rst_dir} / ${caseid} $(date -u -d " ${datem1} " +% Y% m% d)}
4648
4749# ###################
4850# ICON
4951# ###################
5052if [[ " ${modelid} " == * icon* ]]; then
5153
52- icon_latbc_dir=${frc_dir} /icon/latbc/$( date -u -d " ${startdate} " +%Y%m)
54+ parse_config_file ${conf_file} " sim_config_icon"
55+
56+ icon_latbc_dir=${icon_latbc_dir:- ${frc_dir} / icon/ latbc/ $(date -u -d " ${startdate} " +% Y% m)}
5357
5458# link executeable (will be replaced with copy in production)
5559# ln -sf $tsmp2_install_dir/bin/icon icon
@@ -76,11 +80,11 @@ if [[ "${modelid}" == *icon* ]]; then
7680 sed -i " s/\(lrestart =\).*/\1 $lrestart /" icon_master.namelist
7781
7882# link needed files
79- ln -sf ${icon_latbc_dir} /igaf$( date -u -d " ${startdate} " +%Y%m%d%H) .nc dwdFG_R13B05_DOM01.nc
80- ln -sf ${geo_dir} /icon/static/europe011_DOM01.nc
81- ln -sf ${geo_dir} /icon/static/external_parameter_icon_europe011_DOM01_tiles.nc
82- ln -sf ${geo_dir} /icon/static/bc_greenhouse_rcp45_1765-2500.nc
83- ln -sf ${geo_dir} /icon/static/ecraddata
83+ ln -sf ${icon_latbc_dir} /igaf$( date -u -d " ${startdate} " +%Y%m%d%H) .nc ${fname_dwdFG}
84+ ln -sf ${geo_dir} /icon/static/${fname_icondomain}
85+ ln -sf ${geo_dir} /icon/static/${fname_iconextpar}
86+ ln -sf ${geo_dir} /icon/static/${fname_iconghgforc}
87+ ln -sf ${geo_dir} /icon/static/${ ecraddata:- ecraddata}
8488
8589fi # if modelid == ICON
8690
@@ -89,16 +93,20 @@ fi # if modelid == ICON
8993# ###################
9094if [[ " ${modelid} " == * clm* ]]; then
9195
92- #
93- geo_dir_clm=${geo_dir} /eclm/static
94- clm_tsp=${cpltsp_atmsfc}
95- clmoutfrq=-1 # in hr
96- clmoutmfilt=24 # number of tsp in out
96+ parse_config_file ${conf_file} " sim_config_clm"
97+
98+ # set defaults
99+ geo_dir_clm=${geo_dir_clm:- ${geo_dir} / eclm/ static}
100+ clm_tsp=${clm_tsp:- ${cpltsp_atmsfc} }
101+ clmoutfrq=${clmoutfrq:- -1} # in hr
102+ clmoutmfilt=${clmoutmfilt:- 24} # number of tsp in out
103+ clmoutvar=${clmoutvar:- ' TG' }
97104#
98- domainfile_clm=domain.lnd.ICON-11_ICON-11.230302_landlake_halo.nc
99- surffile_clm=surfdata_ICON-11_hist_16pfts_Irrig_CMIP6_simyr2000_c230302_gcvurb-pfsoil_halo.nc
105+ # domainfile_clm=domain.lnd.ICON-11_ICON-11.230302_landlake_halo.nc
106+ # surffile_clm=surfdata_ICON-11_hist_16pfts_Irrig_CMIP6_simyr2000_c230302_gcvurb-pfsoil_halo.nc
100107# fini_clm=${rst_dir}/$(date -u -d "${datem1}" +%Y%m%d)/eclm/eCLM_eur-11u.clm2.r.$(date -u -d "${startdate}" +%Y-%m-%d)-00000.nc
101- fini_clm=${simrstm1_dir} /eclm/eCLM_eur-11u.clm2.r.$( date -u -d " ${startdate} " +%Y-%m-%d) -$( printf " %05d" $(( $(date - d "${startdate} " +% s) % 86400 )) ) .nc
108+ # fini_clm=${simrstm1_dir}/eclm/eCLM_eur-11u.clm2.r.$(date -u -d "${startdate}" +%Y-%m-%d)-$(printf "%05d" $(( $(date -d "${startdate}" +%s) % 86400 ))).nc
109+ fini_clm=${fini_clm:- ${simrstm1_dir} / eclm/ eCLM_eur-11u.clm2.r.$(date -u -d " ${startdate} " +% Y-% m-% d)-$(printf " %05d" $(( $(date -d " ${startdate} " +% s) % 86400 ))).nc}
102110
103111
104112# link executeable
@@ -144,12 +152,10 @@ if [[ "${modelid}" == *clm* ]]; then
144152 sed -i " s#__surffile_clm__#$surffile_clm #" lnd_in
145153 if [[ " ${modelid} " != * parflow* ]]; then
146154 sed -i " s/__swmm__/1/" lnd_in # soilwater_movement_method
147- sed -i " s/__clmoutvar__/'TWS','H2OSOI','TSOI','TG','EFLX_LH_TOT','FSH','FSA','FSR','FIRA','Rnet','EFLX_SOIL_GRND' /" lnd_in
155+ sed -i " s/__clmoutvar__/$clmoutvar /" lnd_in
148156 else
149157 sed -i " s/__swmm__/4/" lnd_in # soilwater_movement_method
150- sed -i " s/__clmoutvar__/'TWS','H2OSOI','TSOI','TG','EFLX_LH_TOT','FSH','FSA','FSR','FIRA','Rnet','EFLX_SOIL_GRND'/" lnd_in
151- # sed -i "s/__clmoutvar__/'TWS','H2OSOI','QFLX_EVAP_TOT','TG','TSOI','FSH','FSR'/" lnd_in
152- # sed -i "s/__clmoutvar__/'PFL_PSI', 'PFL_PSI_GRC', 'PFL_SOILLIQ', 'PFL_SOILLIQ_GRC', 'RAIN', 'SNOW', 'SOILPSI', 'SMP', 'QPARFLOW', 'FH2OSFC', 'FH2OSFC_NOSNOW', 'FRAC_ICEOLD', 'FSAT', 'H2OCAN', 'H2OSFC', 'H2OSNO', 'H2OSNO_ICE', 'H2OSOI', 'LIQCAN', 'LIQUID_WATER_TEMP1', 'OFFSET_SWI', 'ONSET_SWI', 'QH2OSFC', 'QH2OSFC_TO_ICE', 'QROOTSINK', 'QTOPSOIL', 'SNOLIQFL', 'SNOWLIQ', 'SNOWLIQ_ICE', 'SNOW_SINKS', 'SNOW_SOURCES', 'SNO_BW', 'SNO_BW_ICE', 'SNO_LIQH2O', 'SOILLIQ', 'SOILPSI', 'SOILWATER_10CM', 'TH2OSFC', 'TOTSOILLIQ', 'TWS', 'VEGWP', 'VOLR', 'VOLRMCH', 'WF', 'ZWT', 'ZWT_CH4_UNSAT', 'ZWT_PERCH', 'watfc', 'watsat', 'QINFL', 'Qstor', 'QOVER', 'QRUNOFF', 'EFF_POROSITY', 'TSOI', 'TSKIN', 'QDRAI'/" lnd_in
158+ sed -i " s/__clmoutvar__/$clmoutvar /" lnd_in
153159 fi
154160 sed -i " s#__geo_dir_clm__#$geo_dir_clm #" datm_in
155161 sed -i " s/__simystart__/$( date -u -d " ${startdate} " +%Y) /g" datm_in
@@ -170,18 +176,19 @@ fi # if modelid == CLM
170176# ###################
171177if [[ " ${modelid} " == * parflow* ]]; then
172178
179+ parse_config_file ${conf_file} " sim_config_parflow"
173180#
174- fini_pfl=${simrstm1_dir} /parflow/${EXP_ID} .out.${dateshort} .nc
181+ fini_pfl=${fini_pfl :- ${ simrstm1_dir}/ parflow/ ${EXP_ID} .out.${dateshort} .nc}
175182
176183# link executeable
177184# ln -sf $tsmp2_install_dir/bin/parflow parflow
178185 cp $tsmp2_install_dir /bin/parflow parflow
179186
180- #
181- parflow_tsp=$( echo " $cpltsp_sfcss / 3600" | bc -l)
182- parflow_base=0.0025
187+ # set defaults
188+ parflow_tsp=${parflow_tsp :- $ (echo " $cpltsp_sfcss / 3600" | bc -l)}
189+ parflow_base=${parflow_base :- 0.0025}
183190# parflow_inifile=${frc_dir}/parflow/ini/ic_press.pfb
184- pfloutfrq=1.0
191+ pfloutfrq=${pfloutfrq :- 1.0}
185192
186193# copy namelist
187194 cp ${nml_dir} /parflow/ascii2pfb_slopes.tcl ascii2pfb_slopes.tcl
@@ -191,7 +198,7 @@ if [[ "${modelid}" == *parflow* ]]; then
191198
192199# copy sa and pfsol files
193200 cp ${geo_dir} /parflow/static/* sa .
194- cp ${geo_dir} /parflow/static/PfbMask4SolidFile_eCLM.pfsol PfbMask4SolidFile_eCLM.pfsol
201+ cp ${geo_dir} /parflow/static/${pfl_mask} ${pfl_mask}
195202
196203# PFL NML
197204 sed -i " s/__nprocx_pfl_bldsva__/$pfl_procX /" ascii2pfb_slopes.tcl
@@ -200,8 +207,8 @@ if [[ "${modelid}" == *parflow* ]]; then
200207 sed -i " s/__nprocy_pfl_bldsva__/$pfl_procY /" ascii2pfb_SoilInd.tcl
201208 sed -i " s/__nprocx_pfl_bldsva__/$pfl_procX /" coup_oas.tcl
202209 sed -i " s/__nprocy_pfl_bldsva__/$pfl_procY /" coup_oas.tcl
203- sed -i " s/__ngpflx_bldsva__/444 /" coup_oas.tcl
204- sed -i " s/__ngpfly_bldsva__/432 /" coup_oas.tcl
210+ sed -i " s/__ngpflx_bldsva__/$pfl_ngx /" coup_oas.tcl
211+ sed -i " s/__ngpfly_bldsva__/$pfl_ngy /" coup_oas.tcl
205212 sed -i " s/__base_pfl__/$parflow_base /" coup_oas.tcl
206213 sed -i " s/__start_cnt_pfl__/0/" coup_oas.tcl
207214 sed -i " s/__stop_pfl_bldsva__/$( echo " ${simlenhr} + ${parflow_base} " | bc -l) /" coup_oas.tcl
@@ -225,6 +232,8 @@ fi # if modelid == parflow
225232
226233if [[ " ${run_oasis} " == true ]]; then
227234
235+ parse_config_file ${conf_file} " sim_config_oas"
236+
228237# copy namelist
229238 cp ${nml_dir} /oasis/namcouple_${modelid} namcouple
230239
@@ -233,11 +242,11 @@ if [[ "${run_oasis}" == true ]]; then
233242 sed -i " s/__cpltsp_as__/$cpltsp_atmsfc /" namcouple
234243 sed -i " s/__cpltsp_ss__/$cpltsp_sfcss /" namcouple
235244 sed -i " s/__simlen__/$(( $simlensec + $cpltsp_atmsfc )) /" namcouple
236- sed -i " s/__icongp__/189976 /" namcouple
237- sed -i " s/__eclmgpx__/189976 /" namcouple
238- sed -i " s/__eclmgpy__/1 /" namcouple
239- sed -i " s/__parflowgpx__/444 /" namcouple
240- sed -i " s/__parflowgpy__/432 /" namcouple
245+ sed -i " s/__icongp__/$icon_ncg /" namcouple
246+ sed -i " s/__eclmgpx__/$clm_ngx /" namcouple
247+ sed -i " s/__eclmgpy__/$clm_ngy /" namcouple
248+ sed -i " s/__parflowgpx__/$pfl_ngx /" namcouple
249+ sed -i " s/__parflowgpy__/$pfl_ngy /" namcouple
241250
242251# copy remap-files
243252 cp ${geo_dir} /oasis/static/masks.nc .
0 commit comments