diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..cdda2e1 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,2 @@ +master.conf merge=ours +expid.conf merge=ours diff --git a/.gitmodules b/.gitmodules index fb97e80..4dab946 100644 --- a/.gitmodules +++ b/.gitmodules @@ -4,15 +4,15 @@ branch = master [submodule "nml/icon"] path = nml/icon - url = https://github.com/HPSCTerrSys/namelist_ICON_CORDEX-EUR-11u.git + url = https://github.com/HPSCTerrSys/namelist_ICON_fs-idealnwp.git branch = master [submodule "nml/parflow"] path = nml/parflow - url = https://github.com/HPSCTerrSys/namelist_ParFlow_CORDEX-EUR-11u.git + url = https://github.com/HPSCTerrSys/namelist_ParFlow_fs-idealnwp.git branch = master [submodule "nml/oasis"] path = nml/oasis - url = https://github.com/HPSCTerrSys/namelist_oasis3-mct_TSMP2-real-template.git + url = https://github.com/HPSCTerrSys/namelist_oasis3-mct_ideal-template.git branch = master [submodule "src/TSMP2"] path = src/TSMP2 @@ -20,20 +20,17 @@ branch = master [submodule "dta/geo/icon"] path = dta/geo/icon - url = https://icg4geo.icg.kfa-juelich.de/ExternalReposPublic/tsmp2-static-files/extpar_icon_cordex-eur-11u.git + url = https://icg4geo.icg.kfa-juelich.de/ExternalReposPublic/tsmp2-static-files/extpar_icon_scalhom.git branch = master [submodule "dta/geo/oasis"] path = dta/geo/oasis - url = https://icg4geo.icg.kfa-juelich.de/ExternalReposPublic/tsmp2-static-files/extpar_oasis3-mct_cordex-eur-11u.git + url = https://icg4geo.icg.kfa-juelich.de/ExternalReposPublic/tsmp2-static-files/extpar_oasis3-mct_scalhom.git branch = master [submodule "dta/geo/eclm"] path = dta/geo/eclm - url = https://icg4geo.icg.kfa-juelich.de/ExternalReposPublic/tsmp2-static-files/extpar_eclm_cordex-eur-11u.git + url = https://icg4geo.icg.kfa-juelich.de/ExternalReposPublic/tsmp2-static-files/extpar_eclm_scalhom.git branch = master [submodule "dta/geo/parflow"] path = dta/geo/parflow - url = https://icg4geo.icg.kfa-juelich.de/ExternalReposPublic/tsmp2-static-files/extpar_parflow_cordex-eur-11u.git + url = https://icg4geo.icg.kfa-juelich.de/ExternalReposPublic/tsmp2-static-files/extpar_parflow_scalhom.git branch = master -[submodule "src/eCLM_atmforcing"] - path = src/eCLM_atmforcing - url = https://github.com/HPSCTerrSys/eCLM_static-file-generator.git diff --git a/ctl/expid.conf b/ctl/expid.conf index d508320..f4bc4a0 100644 --- a/ctl/expid.conf +++ b/ctl/expid.conf @@ -12,30 +12,33 @@ # SIM ### [sim_config_general] +lreal=false +domain_size_str=${CASE_ID:17:4} +domain_size=$(echo "$domain_size_str" | sed 's/^0*//') #$((10#$domain_size_str)) [sim_config_icon] -icon_numioprocs=3 -fname_dwdFG=dwdFG_R13B05_DOM01.nc -fname_icondomain=europe011_DOM01.nc -fname_iconextpar=external_parameter_icon_europe011_DOM01_tiles.nc -fname_iconghgforc=bc_greenhouse_rcp45_1765-2500.nc +icon_numioprocs=1 +domainfile_icon=static/torus_grid_x${domain_size_str}_y${domain_size_str}_e2000m.nc +icon_mapfile_lbc=map_file.lbc [sim_config_clm] -domainfile_clm=domain.lnd.ICON-11_ICON-11.230302_landlake_halo.nc -surffile_clm=surfdata_ICON-11_hist_16pfts_Irrig_CMIP6_simyr2000_c230302_gcvurb-pfsoil_halo.nc +domainfile_clm=domain_${domain_size_str}x${domain_size_str}_e2000.nc +surffile_clm=surfdata_${domain_size_str}x${domain_size_str}_e2000_${CASE_ID:0:11}.nc +topofile_clm=topodata_0.9x1.25_zeroed.nc clmoutvar='TWS','H2OSOI','TSOI','TG','EFLX_LH_TOT','FSH','FSA','FSR','FIRA','Rnet','EFLX_SOIL_GRND' +fini_clm=" " +clm_frc_dir=${geo_dir}/eclm/forcing/${domain_size_str}x${domain_size_str} [sim_config_parflow] -pfl_ngx=444 -pfl_ngy=432 -pfl_mask=PfbMask4SolidFile_eCLM.pfsol -pfloutmfilt=24 -pfltsfilerst=$((pfloutmfilt - 1)) +pfl_ngx=${domain_size} +pfl_ngy=${domain_size} +fini_pfl=${geo_dir}/parflow/init/rur_ic_press_${domain_size_str}x${domain_size_str}_${CASE_ID:6:5}_${CASE_ID:12:4}.pfb [sim_config_oas] -icon_ncg=189976 -clm_ngx=189976 +icon_ncg=$((${domain_size} * ${domain_size} * 2)) +clm_ngx=$((${domain_size} * ${domain_size} * 2)) clm_ngy=1 +geo_dir_oas=${geo_dir}/oasis/static/${domain_size_str}x${domain_size_str}/ ### # POS diff --git a/ctl/master.conf b/ctl/master.conf index 50deff4..d4eb871 100644 --- a/ctl/master.conf +++ b/ctl/master.conf @@ -3,9 +3,9 @@ ###### # main settings -MODEL_ID=ICON-eCLM-ParFlow #ParFlow #ICON-eCLM #ICON-eCLM-ParFlow #ICON -EXP_ID="eur-11u" -CASE_ID="" # identifier for cases +MODEL_ID=ICON-eCLM-ParFlow #ICON-eCLM-ParFlow +EXP_ID="scalhom" +CASE_ID="pft13-sID02-Sv06_0070" # identifier for cases conf_file="" # configure file for cases, also possible ${EXP_ID}.conf # main switches (PREprocessing, SIMulations, POSt-processing, VISualisation) @@ -15,10 +15,10 @@ lpos=( false false false ) # config, run, cleanup lvis=( false false false ) # config, run, cleanup # time information -cpltsp_atmsfc=900 # coupling time step, atm-sfc, eCLM timestep [sec] -cpltsp_sfcss=900 # coupling time step, sfc-ss, ParFlow timestep [sec] +cpltsp_atmsfc=600 # coupling time step, atm-sfc, eCLM timestep [sec] +cpltsp_sfcss=600 # coupling time step, sfc-ss, ParFlow timestep [sec] simlength="1 day" #"23 hours" -startdate="2017-07-01T00:00Z" # ISO norm 8601 +startdate="2015-07-01T00:00Z" # ISO norm 8601 inidate=${startdate} # ISO norm 8601, fix for entire simulation numsimstep=1 # number of simulation steps, simulation period = numsimstep * simlength @@ -44,12 +44,12 @@ tsmp2_install_dir="" # leave empty to use default tsmp2_env="" # leave empty to use default # number of nodes per component (_node will be set to zero, if not indicated in MODEL_ID) -ico_node=3 +ico_node=1 clm_node=1 -pfl_node=2 +pfl_node=1 # DebugMode: No job submission. Just config -debugmode=false +debugmode=true # log job status joblog=true diff --git a/ctl/sim_ctl/sim_config.sh b/ctl/sim_ctl/sim_config.sh index 35760f6..f43a8aa 100755 --- a/ctl/sim_ctl/sim_config.sh +++ b/ctl/sim_ctl/sim_config.sh @@ -61,6 +61,7 @@ if [[ "${modelid}" == *icon* ]]; then icon_numioprocs=${icon_numioprocs:-1} icon_numrstprocs=${icon_numrstprocs:-0} icon_numprefetchproc=${icon_numprefetchproc:-1} + domainfile_icon=${domainfile_icon:-europe011_DOM01.nc} icon_mapfile_lbc=${icon_mapfile_lbc:-dict.latbc} [ "${icon_numrstprocs}" -eq 0 ] && icon_rstmode="sync" || icon_rstmode="dedicated procs multifile" # this method just works for simlength <= 1 month, ICON src changes needed @@ -102,6 +103,7 @@ if [[ "${modelid}" == *icon* ]]; then sed -i "s/__num_io_procs__/${icon_numioprocs}/" NAMELIST_icon sed -i "s/__num_restart_procs__/${icon_numrstprocs}/" NAMELIST_icon sed -i "s/__num_prefetch_proc__/${icon_numprefetchproc}/" NAMELIST_icon + sed -i "s#__domainfile_icon__#${domainfile_icon}#" NAMELIST_icon sed -i "s#__ecraddata_dir__#ecraddata#" NAMELIST_icon # needs to be short path in ICON v2.6.4 sed -i "s/__dateymd__/${dateymd}/" NAMELIST_icon sed -i "s/__outdatestart__/$(date -u -d "${startdate}" +%Y-%m-%dT%H:%M:%SZ)/" NAMELIST_icon @@ -141,6 +143,7 @@ if [[ "${modelid}" == *clm* ]]; then # 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 topofile_clm=${topofile_clm:-topodata_0.9x1.25_USGS_070110_stream_c151201.nc} 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} + clm_frc_dir=${clm_frc_dir:-${frc_dir}/eclm/forcing/} # link executeable # ln -sf $tsmp2_install_dir/bin/eclm.exe eclm @@ -199,7 +202,7 @@ if [[ "${modelid}" == *clm* ]]; then sed -i "s#__geo_dir_clm__#$geo_dir_clm#" datm.streams.txt* sed -i "s#__topofile_clm__#$topofile_clm#" datm.streams.txt.topo.observed # forcing - sed -i "s#__forcdir__#${frc_dir}/eclm/forcing/#" datm.streams.txt.CLMCRUNCEPv7.* + sed -i "s#__forcdir__#${clm_frc_dir}#" datm.streams.txt.CLMCRUNCEPv7.* sed -i "s#__forclist__#${forcdatelist}#" datm.streams.txt.CLMCRUNCEPv7.* sed -i "s#__domainfile_clm__#$domainfile_clm#" datm.streams.txt.CLMCRUNCEPv7.* fi # if modelid == CLM @@ -270,6 +273,9 @@ if [[ "${run_oasis}" == true ]]; then parse_config_file ${conf_file} "sim_config_oas" +# set defaults + geo_dir_oas=${geo_dir_oas:-${geo_dir}/oasis/static} + # copy namelist cp ${nml_dir}/oasis/namcouple_${modelid} namcouple @@ -285,9 +291,9 @@ if [[ "${run_oasis}" == true ]]; then sed -i "s/__parflowgpy__/$pfl_ngy/" namcouple # copy remap-files - [[ "$lreal" == "true" ]] && cp ${geo_dir}/oasis/static/masks.nc . + [[ "$lreal" == "true" ]] && cp ${geo_dir_oas}/masks.nc . if [[ "${modelid}" == *parflow* ]]; then - cp ${geo_dir}/oasis/static/rmp* . + cp ${geo_dir_oas}/rmp* . fi fi # if modelid == oasis diff --git a/dta/forcing/eclm/forcing b/dta/forcing/eclm/forcing new file mode 120000 index 0000000..b285c2a --- /dev/null +++ b/dta/forcing/eclm/forcing @@ -0,0 +1 @@ +../../geo/eclm/forcing \ No newline at end of file diff --git a/dta/geo/eclm b/dta/geo/eclm index c35545f..a2adefd 160000 --- a/dta/geo/eclm +++ b/dta/geo/eclm @@ -1 +1 @@ -Subproject commit c35545f3c0a4b075bddfb0a7d7414824f1e32eca +Subproject commit a2adefd62f158e39e806615c684f46d2fb48b605 diff --git a/dta/geo/icon b/dta/geo/icon index a74a724..3b92b10 160000 --- a/dta/geo/icon +++ b/dta/geo/icon @@ -1 +1 @@ -Subproject commit a74a724938d3667def88145c6b9c9ce6fea8dc24 +Subproject commit 3b92b10c197182659bf97667475815b1851c32fd diff --git a/dta/geo/oasis b/dta/geo/oasis index 123a084..6237a5a 160000 --- a/dta/geo/oasis +++ b/dta/geo/oasis @@ -1 +1 @@ -Subproject commit 123a084ef939ddfd86a5d9f248c01baed4a2d78b +Subproject commit 6237a5abef8ff337b218aec42a6d1bc35a04be11 diff --git a/dta/geo/parflow b/dta/geo/parflow index cf51f9b..0e7cd1b 160000 --- a/dta/geo/parflow +++ b/dta/geo/parflow @@ -1 +1 @@ -Subproject commit cf51f9bcf7df6c2a2909a3235eae9a6ac98c7f1f +Subproject commit 0e7cd1b0ed0a38dec4fd5e0bafbb5c1b29e1618e diff --git a/nml/eclm b/nml/eclm index f38fd06..9189ad0 160000 --- a/nml/eclm +++ b/nml/eclm @@ -1 +1 @@ -Subproject commit f38fd06311587435994015ead1076547a1d8893d +Subproject commit 9189ad09cd151abe2370f75e47571bfd7d2f7540 diff --git a/nml/icon b/nml/icon index 2fc05b3..368fbd1 160000 --- a/nml/icon +++ b/nml/icon @@ -1 +1 @@ -Subproject commit 2fc05b3322502aff093f26922ccc7677bcc69ce6 +Subproject commit 368fbd131d8d4a14b3c50bfef9b11473a66124cf diff --git a/nml/oasis b/nml/oasis index fe48f4e..fb765be 160000 --- a/nml/oasis +++ b/nml/oasis @@ -1 +1 @@ -Subproject commit fe48f4e8f2d1e28cbbfc025eb6860a25d92b7729 +Subproject commit fb765be543638095c92cf88adce3aeec4a2563e4 diff --git a/nml/parflow b/nml/parflow index 103377e..278bd3d 160000 --- a/nml/parflow +++ b/nml/parflow @@ -1 +1 @@ -Subproject commit 103377ec2bc4b83a162ace76569ee37a3768aa3d +Subproject commit 278bd3d618309276967af6ca080a2d61ff6ad9f0 diff --git a/src/eCLM_atmforcing b/src/eCLM_atmforcing deleted file mode 160000 index 858634d..0000000 --- a/src/eCLM_atmforcing +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 858634df52d9a224099b622965934674bdd248cb