diff --git a/bld/build-namelist b/bld/build-namelist index 6ce53e55b3..50dc73eb09 100755 --- a/bld/build-namelist +++ b/bld/build-namelist @@ -2962,9 +2962,17 @@ if ($maxzen>0.0) { # upper boundary specifier my $ubc_ver; if (($chem =~ /waccm_ma/ or $chem =~ /waccm_tsmlt/ or $chem =~ /waccm_t4ma/) and !$waccmx) { - $ubc_ver = 'waccmchem'; + if ($phys =~ /cam7/) { + $ubc_ver = 'waccm7chem'; + } else { + $ubc_ver = 'waccmchem'; + } } elsif ($chem =~ /waccm_sc/ or ($model_top eq "ht" and $chem =~ /ghg_mam/)) { - $ubc_ver = 'waccmsc'; + if ($phys =~ /cam7/) { + $ubc_ver = 'waccm7sc'; + } else { + $ubc_ver = 'waccmsc'; + } } if (defined $ubc_ver) { add_default($nl, 'ubc_specifier', 'ver'=>$ubc_ver); diff --git a/bld/namelist_files/namelist_defaults_cam.xml b/bld/namelist_files/namelist_defaults_cam.xml index 007e115d8e..2e1b4da8bd 100644 --- a/bld/namelist_files/namelist_defaults_cam.xml +++ b/bld/namelist_files/namelist_defaults_cam.xml @@ -2098,6 +2098,13 @@ 'T->MSIS','Q->2.d-8vmr','CH4->2.d-10vmr' + + + 'T->MSIS','CH4->2.d-10vmr','F->1.0D-15mmr','HF->1.0D-15mmr','H->MSIS','N->MSIS','O->MSIS','O2->MSIS','H2->TGCM','NO->SNOE' + + + 'T->MSIS','CH4->2.d-10vmr' + atm/cam/chem/trop_mozart/ub/ubvals_b40.20th.track1_1996-2005_c110315.nc diff --git a/bld/namelist_files/use_cases/1850_cam_lt.xml b/bld/namelist_files/use_cases/1850_cam_lt.xml index 410607c93a..3de46f32f0 100644 --- a/bld/namelist_files/use_cases/1850_cam_lt.xml +++ b/bld/namelist_files/use_cases/1850_cam_lt.xml @@ -12,10 +12,12 @@ 'CO2','CH4','N2O','CFC11','CFC12','CFC11eq' + 'atm/cam/ozone_strataero' diff --git a/bld/namelist_files/use_cases/hist_cam_lt.xml b/bld/namelist_files/use_cases/hist_cam_lt.xml index 79da9c39c7..f34c10eb3c 100644 --- a/bld/namelist_files/use_cases/hist_cam_lt.xml +++ b/bld/namelist_files/use_cases/hist_cam_lt.xml @@ -11,9 +11,11 @@ 'CO2','CH4','N2O','CFC11','CFC12','CFC11eq' + 'atm/cam/ozone_strataero' diff --git a/src/physics/cam7/physpkg.F90 b/src/physics/cam7/physpkg.F90 index 2ef8abdc6a..78d1deba92 100644 --- a/src/physics/cam7/physpkg.F90 +++ b/src/physics/cam7/physpkg.F90 @@ -159,12 +159,14 @@ subroutine phys_register use surface_emissions_mod, only: surface_emissions_reg use elevated_emissions_mod, only: elevated_emissions_reg use ctem_diags_mod, only: ctem_diags_reg + use upper_bc, only: ubc_fixed_conc !---------------------------Local variables----------------------------- ! integer :: m ! loop index integer :: mm ! constituent index integer :: nmodes + logical :: has_fixed_ubc ! for upper bndy cond !----------------------------------------------------------------------- ! Get physics options @@ -191,11 +193,12 @@ subroutine phys_register ! Register water vapor. ! ***** N.B. ***** This must be the first call to cnst_add so that ! water vapor is constituent 1. + has_fixed_ubc = ubc_fixed_conc('Q') ! check for fixed concentration upper boundary condition if (moist_physics) then - call cnst_add('Q', mwh2o, cpwv, 1.E-12_r8, mm, & + call cnst_add('Q', mwh2o, cpwv, 1.E-12_r8, mm, fixed_ubc=has_fixed_ubc, & longname='Specific humidity', readiv=.true., is_convtran1=.true.) else - call cnst_add('Q', mwh2o, cpwv, 0.0_r8, mm, & + call cnst_add('Q', mwh2o, cpwv, 0.0_r8, mm, fixed_ubc=has_fixed_ubc, & longname='Specific humidity', readiv=.false., is_convtran1=.true.) end if