diff --git a/cime_config/buildnml b/cime_config/buildnml index bc8585d8c..13d045143 100755 --- a/cime_config/buildnml +++ b/cime_config/buildnml @@ -98,7 +98,7 @@ def _create_drv_namelists(case, infile, confdir, nmlgen, files): else: config["single_column"] = "false" - # needed for determining the run sequence as well as glc_renormalize_smb + # needed for determining the run sequence config["COMP_ATM"] = case.get_value("COMP_ATM") config["COMP_ICE"] = case.get_value("COMP_ICE") config["COMP_GLC"] = case.get_value("COMP_GLC") diff --git a/cime_config/config_component.xml b/cime_config/config_component.xml index 15667ca74..0d06f2350 100644 --- a/cime_config/config_component.xml +++ b/cime_config/config_component.xml @@ -2412,6 +2412,19 @@ + + + + + + char + + case_git + env_build.xml + Remote git repository used for this case + + + diff --git a/cime_config/config_component_cesm.xml b/cime_config/config_component_cesm.xml index 65cf3f9df..b801f156e 100644 --- a/cime_config/config_component_cesm.xml +++ b/cime_config/config_component_cesm.xml @@ -109,8 +109,8 @@ none CO2A CO2A - CO2A - CO2A + CO2A + CO2A CO2A CO2A CO2C @@ -236,15 +236,12 @@ - 24 24 24 - 24 - 144 24 24 24 @@ -330,11 +327,6 @@ 24 24 - 1 - 24 - 24 - 48 - 48 1 24 @@ -386,7 +378,6 @@ integer 8 - 1 $ATM_NCPL $ATM_NCPL $ATM_NCPL @@ -475,11 +466,8 @@ TIGHT OPTION2 - OPTION2 OPTION1 OPTION1 - OPTION1 - OPTION1 OPTION2 OPTION2 OPTION2 @@ -555,8 +543,7 @@ 284.7 367.0 - 284.317 - 284.7 + 284.317 run_co2 env_run.xml diff --git a/cime_config/namelist_definition_drv.xml b/cime_config/namelist_definition_drv.xml index 222a15b26..c24170de0 100644 --- a/cime_config/namelist_definition_drv.xml +++ b/cime_config/namelist_definition_drv.xml @@ -843,32 +843,26 @@ char control MED_attributes - on,off,on_if_glc_coupled_fluxes + on,off Whether to renormalize the surface mass balance (smb) sent from lnd to glc so that the global integral on the glc grid agrees with the global integral on the lnd grid. - Unlike most fluxes, smb is remapped with bilinear rather than conservative mapping weights, - so this option is needed for conservation. However, conservation is not required in many - cases, since we often run glc as a diagnostic (one-way-coupled) component. + Unlike most fluxes, smb is remapped with bilinear rather than conservative mapping + weights, so this option is needed for conservation. However, this can be turned off + in non-fully-coupled configurations where conservation isn't important (e.g., + glc-only configurations - T compsets) to avoid the global correction that comes with + this renormalization. Allowable values are: - 'on': always do this renormalization - 'off': never do this renormalization (see WARNING below) - 'on_if_glc_coupled_fluxes': Determine at runtime whether to do this renormalization. - Does the renormalization if we're running a two-way-coupled glc that sends fluxes - to other components (which is the case where we need conservation). - Does NOT do the renormalization if we're running a one-way-coupled glc, or if - we're running a glc-only compset (T compsets). - (In these cases, conservation is not important.) + 'on': do this renormalization + 'off': do not do this renormalization; note that this will break conservation so + typically should not be used in fully-coupled cases - Only used if running with a prognostic GLC component. - - WARNING: Setting this to 'off' will break conservation when running with an - evolving, two-way-coupled glc. + Only used if running with a GLC component. - on_if_glc_coupled_fluxes + on off diff --git a/doc/source/addendum/req_attributes_cesm.rst b/doc/source/addendum/req_attributes_cesm.rst index c8d6ff7fa..475b845f7 100644 --- a/doc/source/addendum/req_attributes_cesm.rst +++ b/doc/source/addendum/req_attributes_cesm.rst @@ -101,24 +101,19 @@ Mediator land-ice component attribtes Whether to renormalize the surface mass balance (smb) sent from lnd to glc so that the global integral on the glc grid agrees with the global integral on the lnd grid. - Unlike most fluxes, smb is remapped with bilinear rather than conservative mapping weights, - so this option is needed for conservation. However, conservation is not required in many - cases, since we often run glc as a diagnostic (one-way-coupled) component. + Unlike most fluxes, smb is remapped with bilinear rather than conservative mapping + weights, so this option is needed for conservation. However, this can be turned off in + non-fully-coupled configurations where conservation isn't important (e.g., glc-only + configurations - T compsets) to avoid the global correction that comes with this + renormalization. Allowable values are: - ``on``: always do this renormalization - - ``off``: never do this renormalization (see WARNING below) - - ``on_if_glc_coupled_fluxes``: Determine at runtime whether to do this renormalization. - Does the renormalization if we're running a two-way-coupled glc that sends fluxes - to other components (which is the case where we need conservation). - Does NOT do the renormalization if we're running a one-way-coupled glc, or if - we're running a glc-only compset (T compsets). - (In these cases, conservation is not important.) - Only used if running with a prognostic GLC component. - WARNING: Setting this to 'off' will break conservation when running with an - evolving, two-way-coupled glc. + ``on``: do this renormalization + + ``off``: do not do this renormalization; note that this will break conservation so + typically should not be used in fully-coupled cases + + Only used if running with a GLC component. **glc_avg_period** Period at which coupler averages fields sent to GLC (the land-ice component). diff --git a/mediator/med_phases_prep_glc_mod.F90 b/mediator/med_phases_prep_glc_mod.F90 index 1681aa9b1..80b200425 100644 --- a/mediator/med_phases_prep_glc_mod.F90 +++ b/mediator/med_phases_prep_glc_mod.F90 @@ -135,7 +135,6 @@ subroutine med_phases_prep_glc_init(gcomp, rc) type(ESMF_Mesh) :: mesh_o type(ESMF_Field) :: lfield character(len=CS) :: glc_renormalize_smb - logical :: glc_coupled_fluxes integer :: ungriddedUBound_output(1) ! currently the size must equal 1 for rank 2 fieldds character(len=*),parameter :: subname=' (med_phases_prep_glc_init) ' !--------------------------------------- @@ -234,25 +233,11 @@ subroutine med_phases_prep_glc_init(gcomp, rc) call NUOPC_CompAttributeGet(gcomp, name='glc_renormalize_smb', value=glc_renormalize_smb, rc=rc) if (chkerr(rc,__LINE__,u_FILE_u)) return - ! TODO: talk to Bill Sacks to determine if this is the correct logic - glc_coupled_fluxes = is_local%wrap%med_coupling_active(compglc(1),complnd) - ! Note glc_coupled_fluxes should be false in the no_evolve cases - ! Goes back to the zero-gcm fluxes variable - if zero-gcm fluxes is true than do not renormalize - ! The user can set this to true in an evolve cases - select case (glc_renormalize_smb) case ('on') smb_renormalize = .true. case ('off') smb_renormalize = .false. - case ('on_if_glc_coupled_fluxes') - if (.not. glc_coupled_fluxes) then - ! Do not renormalize if med_coupling_active is not true for compglc->complnd - ! In this case, conservation is not important - smb_renormalize = .false. - else - smb_renormalize = .true. - end if case default write(logunit,*) subname,' ERROR: unknown value for glc_renormalize_smb: ', trim(glc_renormalize_smb) call ESMF_LogWrite(trim(subname)//' ERROR: unknown value for glc_renormalize_smb: '// trim(glc_renormalize_smb), &