From 54c9b53339f88ac81b2666c2b859a08f7249545c Mon Sep 17 00:00:00 2001 From: Stefan Poll Date: Mon, 5 May 2025 14:10:06 +0200 Subject: [PATCH 01/12] change submodules to simexp ideal_fs-idealnwp --- .gitmodules | 17 +++++++---------- dta/forcing/eclm/forcing | 1 + dta/geo/eclm | 2 +- dta/geo/icon | 2 +- dta/geo/oasis | 2 +- dta/geo/parflow | 2 +- nml/eclm | 2 +- nml/icon | 2 +- nml/oasis | 2 +- nml/parflow | 2 +- src/eCLM_atmforcing | 1 - 11 files changed, 16 insertions(+), 19 deletions(-) create mode 120000 dta/forcing/eclm/forcing delete mode 160000 src/eCLM_atmforcing diff --git a/.gitmodules b/.gitmodules index fb97e80..e0bb83b 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_fs-idealnwp.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_fs-idealnwp.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_fs-idealnwp.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_fs-idealnwp.git branch = master -[submodule "src/eCLM_atmforcing"] - path = src/eCLM_atmforcing - url = https://github.com/HPSCTerrSys/eCLM_static-file-generator.git 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..ad751da 160000 --- a/dta/geo/eclm +++ b/dta/geo/eclm @@ -1 +1 @@ -Subproject commit c35545f3c0a4b075bddfb0a7d7414824f1e32eca +Subproject commit ad751da16c8376c04972751b6ce5b75937b47bca diff --git a/dta/geo/icon b/dta/geo/icon index a74a724..b2a806e 160000 --- a/dta/geo/icon +++ b/dta/geo/icon @@ -1 +1 @@ -Subproject commit a74a724938d3667def88145c6b9c9ce6fea8dc24 +Subproject commit b2a806e58161e9435c1229c702cb4ab681edb723 diff --git a/dta/geo/oasis b/dta/geo/oasis index 123a084..bdb28a7 160000 --- a/dta/geo/oasis +++ b/dta/geo/oasis @@ -1 +1 @@ -Subproject commit 123a084ef939ddfd86a5d9f248c01baed4a2d78b +Subproject commit bdb28a7a49d19902226f4819e50e232986207619 diff --git a/dta/geo/parflow b/dta/geo/parflow index cf51f9b..b091889 160000 --- a/dta/geo/parflow +++ b/dta/geo/parflow @@ -1 +1 @@ -Subproject commit cf51f9bcf7df6c2a2909a3235eae9a6ac98c7f1f +Subproject commit b091889ce4785006596422ef93176d65b0fa6930 diff --git a/nml/eclm b/nml/eclm index f38fd06..7c20b38 160000 --- a/nml/eclm +++ b/nml/eclm @@ -1 +1 @@ -Subproject commit f38fd06311587435994015ead1076547a1d8893d +Subproject commit 7c20b3876234f4fe13fe2a4d0632a4ca395f2c8a diff --git a/nml/icon b/nml/icon index 8d99283..a13358d 160000 --- a/nml/icon +++ b/nml/icon @@ -1 +1 @@ -Subproject commit 8d9928357b6e8bc33bb451981bee14c9a54ff821 +Subproject commit a13358d5e530befaaf69280cd456ec28392ec3ff 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 From c83fdd03f79fa9bb8c29fadbffc06d2e1bd80a1d Mon Sep 17 00:00:00 2001 From: Stefan Poll Date: Mon, 5 May 2025 23:11:12 +0200 Subject: [PATCH 02/12] preserve conf-files during merge --- .gitattributes | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 .gitattributes 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 From cc35e78f4eee2e93fadd154fa2a6775d550217f2 Mon Sep 17 00:00:00 2001 From: Stefan Poll Date: Tue, 6 May 2025 13:25:06 +0200 Subject: [PATCH 03/12] change conf files to simexp ideal_fs-idealnwp --- ctl/expid.conf | 24 ++++++++++++------------ ctl/master.conf | 18 +++++++++--------- 2 files changed, 21 insertions(+), 21 deletions(-) diff --git a/ctl/expid.conf b/ctl/expid.conf index 39fbbb7..5c4d8a4 100644 --- a/ctl/expid.conf +++ b/ctl/expid.conf @@ -12,27 +12,27 @@ # SIM ### [sim_config_general] +lreal=false [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 +fname_icondomain=torus_grid_x70_y70_e2000m.nc [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_ICON_torus_70x70_e2000_240516.nc +surffile_clm=surfdata_${EXP_ID}_${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=" " [sim_config_parflow] -pfl_ngx=444 -pfl_ngy=432 -pfl_mask=PfbMask4SolidFile_eCLM.pfsol +pfl_ngx=70 +pfl_ngy=70 +fini_pfl=${geo_dir}/parflow/init/rur_ic_press_${CASE_ID:6:5}_${CASE_ID:12:4}.pfb [sim_config_oas] -icon_ncg=189976 -clm_ngx=189976 +icon_ncg=9800 +clm_ngx=9800 clm_ngy=1 ### diff --git a/ctl/master.conf b/ctl/master.conf index 50deff4..1406d1a 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 +EXP_ID="fs-idealnwp" +CASE_ID="pft01-sID02-Sv30" # 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 From 66618c66e12fe988e43145017b4597b986ab3e4e Mon Sep 17 00:00:00 2001 From: Stefan Poll Date: Tue, 6 May 2025 13:58:15 +0200 Subject: [PATCH 04/12] manage topography file of CLM by WFE --- ctl/sim_ctl/sim_config.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ctl/sim_ctl/sim_config.sh b/ctl/sim_ctl/sim_config.sh index d605ade..a2d69f1 100755 --- a/ctl/sim_ctl/sim_config.sh +++ b/ctl/sim_ctl/sim_config.sh @@ -138,9 +138,9 @@ if [[ "${modelid}" == *clm* ]]; then # 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 # 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} - # link executeable # ln -sf $tsmp2_install_dir/bin/eclm.exe eclm cp $tsmp2_install_dir/bin/eclm.exe eclm @@ -196,7 +196,7 @@ if [[ "${modelid}" == *clm* ]]; then sed -i "s#__geo_dir_clm__#$geo_dir_clm#" drv_flds_in sed -i "s#__geo_dir_clm__#$geo_dir_clm#" mosart_in sed -i "s#__geo_dir_clm__#$geo_dir_clm#" datm.streams.txt* -# sed -i "s#topodata_0.9x1.25_USGS_070110_stream_c151201.nc#topodata_0.9x1.25_zeroed.nc#" datm.streams.txt.topo.observed + 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#__forclist__#${forcdatelist}#" datm.streams.txt.CLMCRUNCEPv7.* From e41864d7481d4a896e9a7f6ffb1c5f0ece84c432 Mon Sep 17 00:00:00 2001 From: Stefan Poll Date: Tue, 6 May 2025 14:19:57 +0200 Subject: [PATCH 05/12] modify sim_config.sh to enable idealized simulation - add lreal boolean --- ctl/sim_ctl/sim_config.sh | 31 ++++++++++++++++--------------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/ctl/sim_ctl/sim_config.sh b/ctl/sim_ctl/sim_config.sh index a2d69f1..35760f6 100755 --- a/ctl/sim_ctl/sim_config.sh +++ b/ctl/sim_ctl/sim_config.sh @@ -44,6 +44,7 @@ cd ${sim_dir} parse_config_file ${conf_file} "sim_config_general" +lreal=${lreal:-true} simrstm1_dir=${simrstm1_dir:-${rst_dir}/${caseid}$(date -u -d "${datem1}" +%Y%m%d)} #################### @@ -87,9 +88,9 @@ if [[ "${modelid}" == *icon* ]]; then # copy namelist cp ${nml_dir}/icon/NAMELIST_icon NAMELIST_icon cp ${nml_dir}/icon/icon_master.namelist icon_master.namelist - cp ${nml_dir}/icon/map_file.ic map_file.ic - cp ${nml_dir}/icon/${icon_mapfile_lbc} ${icon_mapfile_lbc} - cp ${nml_dir}/icon/map_file.fc map_file.fc + [[ "$lreal" == "true" ]] && cp ${nml_dir}/icon/map_file.ic map_file.ic + [[ "$lreal" == "true" ]] && cp ${nml_dir}/icon/${icon_mapfile_lbc} ${icon_mapfile_lbc} + [[ "$lreal" == "true" ]] && cp ${nml_dir}/icon/map_file.fc map_file.fc # ICON NML sed -i "s/__simstart__/$(date -u -d "${inidate}" +%Y-%m-%dT%H:%M:%SZ)/" icon_master.namelist @@ -112,7 +113,7 @@ if [[ "${modelid}" == *icon* ]]; then sed -i "s/__wrstmode__/${icon_rstmode}/" NAMELIST_icon # link needed files - [[ "$lrestart" == "false" ]] && ln -sf ${icon_latbc_dir}/igaf$(date -u -d "${startdate}" +%Y%m%d%H).nc ${fname_dwdFG} + [[ "$lrestart" == "false" && "$lreal" == "true" ]] && ln -sf ${icon_latbc_dir}/igaf$(date -u -d "${startdate}" +%Y%m%d%H).nc ${fname_dwdFG} [[ "$lrestart" == "true" ]] && ln -sf ${icon_rstfiles} ${fini_icon} ln -sf ${geo_dir}/icon/static/${fname_icondomain} ln -sf ${geo_dir}/icon/static/${fname_iconextpar} @@ -225,20 +226,20 @@ if [[ "${modelid}" == *parflow* ]]; then pfltsfilerst=${pfltsfilerst:-0} # copy namelist - cp ${nml_dir}/parflow/ascii2pfb_slopes.tcl ascii2pfb_slopes.tcl - cp ${nml_dir}/parflow/ascii2pfb_SoilInd.tcl ascii2pfb_SoilInd.tcl + [[ "$lreal" == "true" ]] && cp ${nml_dir}/parflow/ascii2pfb_slopes.tcl ascii2pfb_slopes.tcl + [[ "$lreal" == "true" ]] && cp ${nml_dir}/parflow/ascii2pfb_SoilInd.tcl ascii2pfb_SoilInd.tcl cp ${nml_dir}/parflow/coup_oas.tcl coup_oas.tcl ln -s ${fini_pfl} . # copy sa and pfsol files - cp ${geo_dir}/parflow/static/*sa . - cp ${geo_dir}/parflow/static/${pfl_mask} ${pfl_mask} + [[ "$lreal" == "true" ]] && cp ${geo_dir}/parflow/static/*sa . + [[ "$lreal" == "true" ]] && cp ${geo_dir}/parflow/static/${pfl_mask} ${pfl_mask} # PFL NML - sed -i "s/__nprocx_pfl_bldsva__/$pfl_procX/" ascii2pfb_slopes.tcl - sed -i "s/__nprocy_pfl_bldsva__/$pfl_procY/" ascii2pfb_slopes.tcl - sed -i "s/__nprocx_pfl_bldsva__/$pfl_procX/" ascii2pfb_SoilInd.tcl - sed -i "s/__nprocy_pfl_bldsva__/$pfl_procY/" ascii2pfb_SoilInd.tcl + [[ "$lreal" == "true" ]] && sed -i "s/__nprocx_pfl_bldsva__/$pfl_procX/" ascii2pfb_slopes.tcl + [[ "$lreal" == "true" ]] && sed -i "s/__nprocy_pfl_bldsva__/$pfl_procY/" ascii2pfb_slopes.tcl + [[ "$lreal" == "true" ]] && sed -i "s/__nprocx_pfl_bldsva__/$pfl_procX/" ascii2pfb_SoilInd.tcl + [[ "$lreal" == "true" ]] && sed -i "s/__nprocy_pfl_bldsva__/$pfl_procY/" ascii2pfb_SoilInd.tcl sed -i "s/__nprocx_pfl_bldsva__/$pfl_procX/" coup_oas.tcl sed -i "s/__nprocy_pfl_bldsva__/$pfl_procY/" coup_oas.tcl sed -i "s/__ngpflx_bldsva__/$pfl_ngx/" coup_oas.tcl @@ -256,8 +257,8 @@ if [[ "${modelid}" == *parflow* ]]; then # --- execute ParFlow distributeing tcl-scripts export PARFLOW_DIR=${tsmp2_install_dir} - tclsh ascii2pfb_slopes.tcl - tclsh ascii2pfb_SoilInd.tcl + [[ "$lreal" == "true" ]] && tclsh ascii2pfb_slopes.tcl + [[ "$lreal" == "true" ]] && tclsh ascii2pfb_SoilInd.tcl fi # if modelid == parflow @@ -284,7 +285,7 @@ if [[ "${run_oasis}" == true ]]; then sed -i "s/__parflowgpy__/$pfl_ngy/" namcouple # copy remap-files - cp ${geo_dir}/oasis/static/masks.nc . + [[ "$lreal" == "true" ]] && cp ${geo_dir}/oasis/static/masks.nc . if [[ "${modelid}" == *parflow* ]]; then cp ${geo_dir}/oasis/static/rmp* . fi From 4aa634a8cbf29117ea412649de23ca75e45f9889 Mon Sep 17 00:00:00 2001 From: Stefan Poll Date: Tue, 6 May 2025 14:20:32 +0200 Subject: [PATCH 06/12] add icon_mapfile_lbc in expid.conf --- ctl/expid.conf | 1 + 1 file changed, 1 insertion(+) diff --git a/ctl/expid.conf b/ctl/expid.conf index 5c4d8a4..9553bb4 100644 --- a/ctl/expid.conf +++ b/ctl/expid.conf @@ -17,6 +17,7 @@ lreal=false [sim_config_icon] icon_numioprocs=1 fname_icondomain=torus_grid_x70_y70_e2000m.nc +icon_mapfile_lbc=map_file.lbc [sim_config_clm] domainfile_clm=domain_ICON_torus_70x70_e2000_240516.nc From bb81b71faed8faa268badde2d1caf0e83471bef6 Mon Sep 17 00:00:00 2001 From: Stefan Poll Date: Tue, 3 Jun 2025 15:44:04 +0200 Subject: [PATCH 07/12] make clm_frc_dir manageable via conf-file --- ctl/sim_ctl/sim_config.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ctl/sim_ctl/sim_config.sh b/ctl/sim_ctl/sim_config.sh index 35760f6..1d9f1b2 100755 --- a/ctl/sim_ctl/sim_config.sh +++ b/ctl/sim_ctl/sim_config.sh @@ -141,6 +141,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 +200,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 From 4b0ba21f2ac136b491c360344a96297eea107256 Mon Sep 17 00:00:00 2001 From: Stefan Poll Date: Tue, 3 Jun 2025 16:01:04 +0200 Subject: [PATCH 08/12] make domainfile_icon manageable via conf-file --- ctl/sim_ctl/sim_config.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ctl/sim_ctl/sim_config.sh b/ctl/sim_ctl/sim_config.sh index 1d9f1b2..acaeb14 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 From 2e221da48cff803a5db462e44910695bd25bb3fc Mon Sep 17 00:00:00 2001 From: Stefan Poll Date: Wed, 4 Jun 2025 11:10:31 +0200 Subject: [PATCH 09/12] introduce geo_dir_oas - geo directory for oasis3-mct --- ctl/sim_ctl/sim_config.sh | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/ctl/sim_ctl/sim_config.sh b/ctl/sim_ctl/sim_config.sh index acaeb14..f43a8aa 100755 --- a/ctl/sim_ctl/sim_config.sh +++ b/ctl/sim_ctl/sim_config.sh @@ -273,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 @@ -288,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 From 732d18581b26f8b2829f6f43e7d35813402e599d Mon Sep 17 00:00:00 2001 From: Stefan Poll Date: Wed, 4 Jun 2025 15:26:43 +0200 Subject: [PATCH 10/12] change submodules for scalhom case --- .gitmodules | 8 ++++---- dta/geo/eclm | 2 +- dta/geo/icon | 2 +- dta/geo/oasis | 2 +- dta/geo/parflow | 2 +- nml/icon | 2 +- 6 files changed, 9 insertions(+), 9 deletions(-) diff --git a/.gitmodules b/.gitmodules index e0bb83b..4dab946 100644 --- a/.gitmodules +++ b/.gitmodules @@ -20,17 +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_fs-idealnwp.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_fs-idealnwp.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_fs-idealnwp.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_fs-idealnwp.git + url = https://icg4geo.icg.kfa-juelich.de/ExternalReposPublic/tsmp2-static-files/extpar_parflow_scalhom.git branch = master diff --git a/dta/geo/eclm b/dta/geo/eclm index ad751da..a2adefd 160000 --- a/dta/geo/eclm +++ b/dta/geo/eclm @@ -1 +1 @@ -Subproject commit ad751da16c8376c04972751b6ce5b75937b47bca +Subproject commit a2adefd62f158e39e806615c684f46d2fb48b605 diff --git a/dta/geo/icon b/dta/geo/icon index b2a806e..3b92b10 160000 --- a/dta/geo/icon +++ b/dta/geo/icon @@ -1 +1 @@ -Subproject commit b2a806e58161e9435c1229c702cb4ab681edb723 +Subproject commit 3b92b10c197182659bf97667475815b1851c32fd diff --git a/dta/geo/oasis b/dta/geo/oasis index bdb28a7..6237a5a 160000 --- a/dta/geo/oasis +++ b/dta/geo/oasis @@ -1 +1 @@ -Subproject commit bdb28a7a49d19902226f4819e50e232986207619 +Subproject commit 6237a5abef8ff337b218aec42a6d1bc35a04be11 diff --git a/dta/geo/parflow b/dta/geo/parflow index b091889..0e7cd1b 160000 --- a/dta/geo/parflow +++ b/dta/geo/parflow @@ -1 +1 @@ -Subproject commit b091889ce4785006596422ef93176d65b0fa6930 +Subproject commit 0e7cd1b0ed0a38dec4fd5e0bafbb5c1b29e1618e diff --git a/nml/icon b/nml/icon index a13358d..368fbd1 160000 --- a/nml/icon +++ b/nml/icon @@ -1 +1 @@ -Subproject commit a13358d5e530befaaf69280cd456ec28392ec3ff +Subproject commit 368fbd131d8d4a14b3c50bfef9b11473a66124cf From c241325bd6e91fcf34a591e80cd056c15895e36c Mon Sep 17 00:00:00 2001 From: Stefan Poll Date: Wed, 4 Jun 2025 15:48:33 +0200 Subject: [PATCH 11/12] change conf file for scalhom case --- ctl/expid.conf | 20 ++++++++++++-------- ctl/master.conf | 6 +++--- 2 files changed, 15 insertions(+), 11 deletions(-) diff --git a/ctl/expid.conf b/ctl/expid.conf index 9553bb4..f4bc4a0 100644 --- a/ctl/expid.conf +++ b/ctl/expid.conf @@ -13,28 +13,32 @@ ### [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=1 -fname_icondomain=torus_grid_x70_y70_e2000m.nc +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_ICON_torus_70x70_e2000_240516.nc -surffile_clm=surfdata_${EXP_ID}_${CASE_ID:0:11}.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=70 -pfl_ngy=70 -fini_pfl=${geo_dir}/parflow/init/rur_ic_press_${CASE_ID:6:5}_${CASE_ID:12:4}.pfb +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=9800 -clm_ngx=9800 +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 1406d1a..d4eb871 100644 --- a/ctl/master.conf +++ b/ctl/master.conf @@ -3,9 +3,9 @@ ###### # main settings -MODEL_ID=ICON-eCLM-ParFlow -EXP_ID="fs-idealnwp" -CASE_ID="pft01-sID02-Sv30" # 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) From 721ea2bd3780a07a59210f75ca14e30c0ccb953a Mon Sep 17 00:00:00 2001 From: Stefan Poll Date: Thu, 9 Oct 2025 10:30:17 +0200 Subject: [PATCH 12/12] Update nml/eclm for netcdf4 IO --- nml/eclm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nml/eclm b/nml/eclm index 7c20b38..9189ad0 160000 --- a/nml/eclm +++ b/nml/eclm @@ -1 +1 @@ -Subproject commit 7c20b3876234f4fe13fe2a4d0632a4ca395f2c8a +Subproject commit 9189ad09cd151abe2370f75e47571bfd7d2f7540