diff --git a/cime_config/buildcpp b/cime_config/buildcpp index c4355114..68a47561 100644 --- a/cime_config/buildcpp +++ b/cime_config/buildcpp @@ -36,20 +36,14 @@ def create_dimmod(case): comp_root_dir_ocn = case.get_value("COMP_ROOT_DIR_OCN") ocn_grid = case.get_value("OCN_GRID") blom_vcoord = case.get_value("BLOM_VCOORD") + blom_kdm = case.get_value("BLOM_KDM") ntasks_ocn = case.get_value("NTASKS_OCN") objroot = case.get_value("OBJROOT") gridconf_dir = os.path.join(comp_root_dir_ocn, "bld", ocn_grid) - kdm_file = os.path.join(gridconf_dir, "kdm." + blom_vcoord) blom_dimensions_script = os.path.join(comp_root_dir_ocn, "bld", "blom_dimensions") - try: - with open(kdm_file, "r") as kdm_file_obj: - kdm = kdm_file_obj.read().strip() - except: - expect(False, "Failed to read kdm from file {}".format(kdm_file)) - - cmd = "{} -n {} -k {} -d {}".format(blom_dimensions_script, ntasks_ocn, kdm, gridconf_dir) + cmd = "{} -n {} -k {} -d {}".format(blom_dimensions_script, ntasks_ocn, blom_kdm, gridconf_dir) rc, out, err = run_cmd(cmd, from_dir=blomconf_dir) expect(rc == 0, "Command %s failed rc=%d\nout=%s\nerr=%s" % (cmd, rc, out, err)) @@ -95,10 +89,10 @@ def buildcpp(case): if ocn_grid in ["gx1v5", "gx1v6", "tnx1v1", "tnx1v3", "tnx1v4", "tnx0.5v1", "tnx0.25v1", "tnx0.25v3", "tnx0.25v4", "tnx0.125v4"]: blom_cppdefs = blom_cppdefs + " -DLEVITUS2X" - if turbclo or tracers: + if turbclo != "null" or tracers: blom_cppdefs = blom_cppdefs + " -DTRC" - if turbclo: + if turbclo != "null": twoeq = False oneeq = False for option in turbclo.split(): diff --git a/cime_config/buildnml b/cime_config/buildnml index d6f7e6ba..d80713b0 100755 --- a/cime_config/buildnml +++ b/cime_config/buildnml @@ -95,7 +95,7 @@ def buildnml(case, caseroot, compname): blom_vcoord = case.get_value("BLOM_VCOORD") turbclo = case.get_value("BLOM_TURBULENT_CLOSURE") - expect(blom_vcoord != "cntiso_hybrid" or not turbclo, + expect(blom_vcoord == "isopyc_bulkml" or turbclo == "null", f"BLOM_VCOORD == {blom_vcoord} and BLOM_TURBULENT_CLOSURE == {turbclo} is not a valid combination") #-------------------------- @@ -281,7 +281,7 @@ def buildnml(case, caseroot, compname): groups.append('cwmod') - if case.get_value("BLOM_VCOORD") == "cntiso_hybrid": + if case.get_value("BLOM_VCOORD") != "isopyc_bulkml": groups.append('vcoord') groups.append('ale_regrid_remap') diff --git a/cime_config/config_component.xml b/cime_config/config_component.xml index 8e613dd2..2039eebb 100644 --- a/cime_config/config_component.xml +++ b/cime_config/config_component.xml @@ -18,7 +18,7 @@ iage,iage ecosys iage - iage ecosys + iage ecosys build_component_blom env_build.xml @@ -38,6 +38,10 @@ char oneeq advection + + null + null + build_component_blom env_build.xml Optional turbulent closure. Valid values one of: twoeq oneeq. Additional values: advection isodif @@ -57,11 +61,11 @@ constant,prognostic,diagnostic constant - constant - prognostic - diagnostic - diagnostic - diagnostic + constant + prognostic + diagnostic + diagnostic + diagnostic run_component_blom env_run.xml @@ -72,13 +76,30 @@ char - isopyc_bulkml,cntiso_hybrid + isopyc_bulkml,cntiso_hybrid,plevel isopyc_bulkml + + cntiso_hybrid + plevel + build_component_blom env_build.xml Vertical coordinate type of BLOM + + integer + + 53 + + 56 + 56 + + build_component_blom + env_build.xml + Vertical dimension of BLOM + + char full,partial @@ -121,19 +142,19 @@ UNSET,1850,2000,hist,ssp119,ssp126,ssp245,ssp370,ssp434,ssp460,ssp534os,ssp585 1850 - 1850 - 2000 - hist - hist - ssp119 - ssp126 - ssp245 - ssp370 - ssp434 - ssp460 - ssp534os - ssp585 - ssp370 + 1850 + 2000 + hist + hist + ssp119 + ssp126 + ssp245 + ssp370 + ssp434 + ssp460 + ssp534os + ssp585 + ssp370 run_component_blom env_run.xml @@ -266,8 +287,8 @@ - BLOM default: - BLOM/Ecosystem: + BLOM default: + BLOM/Ecosystem: diff --git a/cime_config/config_compsets.xml b/cime_config/config_compsets.xml index 69532ca3..180683b5 100644 --- a/cime_config/config_compsets.xml +++ b/cime_config/config_compsets.xml @@ -24,29 +24,29 @@ NOINY_WW3 - 2000_DATM%NYF_SLND_CICE_BLOM_DROF%NYF_SGLC_WW3 + 2000_DATM%NYF_SLND_CICE_BLOM%HYB_DROF%NYF_SGLC_WW3 NOINYOC_WW3 - 2000_DATM%NYF_SLND_CICE_BLOM%ECO_DROF%NYF_SGLC_WW3 + 2000_DATM%NYF_SLND_CICE_BLOM%HYB%ECO_DROF%NYF_SGLC_WW3 NOINY - 2000_DATM%NYF_SLND_CICE_BLOM_DROF%NYF_SGLC_SWAV + 2000_DATM%NYF_SLND_CICE_BLOM%HYB_DROF%NYF_SGLC_SWAV NOINYOC - 1850_DATM%NYF_SLND_CICE_BLOM%ECO_DROF%NYF_SGLC_SWAV + 1850_DATM%NYF_SLND_CICE_BLOM%HYB%ECO_DROF%NYF_SGLC_SWAV NOIIA - 2000_DATM%IAF_SLND_CICE_BLOM_DROF%IAF_SGLC_SWAV + 2000_DATM%IAF_SLND_CICE_BLOM%HYB_DROF%IAF_SGLC_SWAV @@ -56,7 +56,7 @@ NOIIAOC - 2000_DATM%IAF_SLND_CICE_BLOM%ECO_DROF%IAF_SGLC_SWAV + 2000_DATM%IAF_SLND_CICE_BLOM%HYB%ECO_DROF%IAF_SGLC_SWAV @@ -66,7 +66,7 @@ NOIIAOC20TR - 20TR_DATM%IAF_SLND_CICE_BLOM%ECO_DROF%IAF_SGLC_SWAV + 20TR_DATM%IAF_SLND_CICE_BLOM%HYB%ECO_DROF%IAF_SGLC_SWAV @@ -78,7 +78,7 @@ NOIIAJRA - 2000_DATM%JRA-1p4-2018_SLND_CICE_BLOM_DROF%JRA-1p4-2018_SGLC_SWAV + 2000_DATM%JRA-1p4-2018_SLND_CICE_BLOM%HYB_DROF%JRA-1p4-2018_SGLC_SWAV @@ -88,7 +88,7 @@ NOIIAJRAOC - 2000_DATM%JRA-1p4-2018_SLND_CICE_BLOM%ECO_DROF%JRA-1p4-2018_SGLC_SWAV + 2000_DATM%JRA-1p4-2018_SLND_CICE_BLOM%HYB%ECO_DROF%JRA-1p4-2018_SGLC_SWAV @@ -98,7 +98,7 @@ NOIIAJRAOC1850 - 1850_DATM%JRA-1p4-2018_SLND_CICE_BLOM%ECO_DROF%JRA-1p4-2018_SGLC_SWAV + 1850_DATM%JRA-1p4-2018_SLND_CICE_BLOM%HYB%ECO_DROF%JRA-1p4-2018_SGLC_SWAV @@ -108,7 +108,7 @@ NOIIAJRAOC20TR - 20TR_DATM%JRA-1p4-2018_SLND_CICE_BLOM%ECO_DROF%JRA-1p4-2018_SGLC_SWAV + 20TR_DATM%JRA-1p4-2018_SLND_CICE_BLOM%HYB%ECO_DROF%JRA-1p4-2018_SGLC_SWAV @@ -121,7 +121,7 @@ NOINYJRARYF1961OC - 1850_DATM%JRARYF1961_SLND_CICE_BLOM%ECO_DROF%JRARYF1961_SGLC_SWAV + 1850_DATM%JRARYF1961_SLND_CICE_BLOM%HYB%ECO_DROF%JRARYF1961_SGLC_SWAV @@ -134,7 +134,7 @@ NOICPLHISTOC - 1850_DATM%CPLHIST_SLND_CICE_BLOM%ECO_DROF%CPLHIST_SGLC_SWAV + 1850_DATM%CPLHIST_SLND_CICE_BLOM%HYB%ECO_DROF%CPLHIST_SGLC_SWAV @@ -142,8 +142,8 @@ 1700-01-01 1653-01-01 - 1700-01-01 - 1653-01-01 + 1700-01-01 + 1653-01-01 diff --git a/cime_config/config_pes.xml b/cime_config/config_pes.xml index 8c39e626..f75e1910 100644 --- a/cime_config/config_pes.xml +++ b/cime_config/config_pes.xml @@ -88,7 +88,7 @@ - + Very small pe-layout on 128 pes in total 4 @@ -164,7 +164,7 @@ - + none 1 @@ -204,7 +204,7 @@ - + Very small pe-layout on 128 pes in total 4 @@ -399,7 +399,7 @@ - + none 256 @@ -553,7 +553,7 @@ - + none 16 @@ -636,7 +636,7 @@ - + Very small and efficent pe-layout on 128 pes in total 1 @@ -674,7 +674,7 @@ - + Small pe-layout with 219 pes in total 1 @@ -750,7 +750,7 @@ - + Medium sized pe-layout with 384 pes in total 18 @@ -788,7 +788,7 @@ - + Large pe-layout with 512 pes in total 1 diff --git a/cime_config/namelist_definition_blom.xml b/cime_config/namelist_definition_blom.xml index 12457c7c..bb8ee8e9 100644 --- a/cime_config/namelist_definition_blom.xml +++ b/cime_config/namelist_definition_blom.xml @@ -338,7 +338,7 @@ 5.e-5 .75e-4 - .75e-4 + .75e-4 .75e-4 .75e-4 @@ -372,6 +372,7 @@ uc dluc + dluc Baroclinic mass flux correction method. Valid methods: @@ -676,6 +677,7 @@ 1. 1. 10. + 10. Maximum mixed layer depth for e-folding SSS relaxation (m) (f) @@ -952,6 +954,8 @@ vcoord 1.08 + 1.08 + 1.105 Minimum layer thickness inflation factor @@ -4108,8 +4112,8 @@ config_bgc .false. - .true. - .true. + .true. + .true. activates HAMOCC CFC code @@ -4121,7 +4125,7 @@ .false. .true. - .true. + .true. activates HAMOCC natural tracer code