Skip to content
Merged
7 changes: 5 additions & 2 deletions bld/namelist_files/namelist_defaults_cam.xml
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This seems fine to me.

Original file line number Diff line number Diff line change
Expand Up @@ -714,7 +714,8 @@
<!-- Time-variant chemistry surface values -->
<bndtvghg>atm/cam/ggas/ghg_hist_1765-2005_c091218.nc</bndtvghg>
<flbc_file>atm/waccm/lb/LBC_1765-2100_1.9x2.5_CCMI_RCP60_za_RNOCStrend_c141002.nc</flbc_file>
<flbc_file chem="ghg_mam4">atm/waccm/lb/LBC_17500116-20150116_CMIP6_0p5degLat_c180905.nc</flbc_file>
<flbc_file chem="ghg_mam4" phys="cam6">atm/waccm/lb/LBC_17500116-20150116_CMIP6_0p5degLat_c180905.nc</flbc_file>
<flbc_file phys="cam7">atm/waccm/lb/CMIP7/LBC_17500116-20221216_CMIP7_0p5degLat_OCSupdate_c250523.nc</flbc_file>

<!-- Time-variant CO2 fossil fuel emissions -->
<co2flux_fuel_file hgrid="0.9x1.25" sim_year="1850-2015">atm/cam/ggas/emissions-cmip6_CO2_anthro_surface_175001-201512_fv_0.9x1.25_c20181011.nc</co2flux_fuel_file>
Expand Down Expand Up @@ -866,6 +867,7 @@
<gw_prndl chem="trop_strat_mam4_slh">0.5d0 </gw_prndl>
<gw_prndl chem="trop_strat_mam5_slh">0.5d0 </gw_prndl>
<gw_oro_south_fac >1.d0 </gw_oro_south_fac>
<gw_oro_south_fac model_top="mt">1.d0 </gw_oro_south_fac>
Comment thread
cacraigucar marked this conversation as resolved.
<gw_oro_south_fac waccm_phys="1">2.d0 </gw_oro_south_fac>
<gw_oro_south_fac model_top="ht">2.d0 </gw_oro_south_fac>
<gw_oro_south_fac chem="geoschem_mam4">2.d0 </gw_oro_south_fac>
Expand All @@ -878,6 +880,7 @@
<gw_oro_south_fac carma="trop_strat_soa1">2.D0</gw_oro_south_fac>
<gw_oro_south_fac carma="trop_strat_soa5">2.D0</gw_oro_south_fac>
<gw_lndscl_sgh >.true. </gw_lndscl_sgh>
<gw_lndscl_sgh model_top="mt">.true. </gw_lndscl_sgh>
<gw_lndscl_sgh waccm_phys="1">.false.</gw_lndscl_sgh>
<gw_lndscl_sgh model_top="ht">.false.</gw_lndscl_sgh>
<gw_lndscl_sgh chem="geoschem_mam4">.false.</gw_lndscl_sgh>
Expand Down Expand Up @@ -2608,7 +2611,7 @@
<seasalt_emis_scale ver="mam7" >1.62D0</seasalt_emis_scale>
<seasalt_emis_scale ver="strat" >0.90D0</seasalt_emis_scale>
<seasalt_emis_scale ver="strat" clubb_sgs="1" >1.00D0</seasalt_emis_scale>
<seasalt_emis_scale ver="strat" clubb_sgs="1" phys="cam7" >1.50D0</seasalt_emis_scale>
<seasalt_emis_scale ver="strat" clubb_sgs="1" phys="cam7" >1.55D0</seasalt_emis_scale>
<seasalt_emis_scale ver="strat" clubb_sgs="1" hgrid="1.9x2.5" phys="cam6">1.10D0</seasalt_emis_scale>
<seasalt_emis_scale ver="strat" clubb_sgs="1" silhs="1" >0.60D0</seasalt_emis_scale>

Expand Down
1 change: 0 additions & 1 deletion bld/namelist_files/use_cases/1850_cam_lt.xml
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

seems fine to me.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

seems fine to me.

Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@
<solar_data_type> FIXED </solar_data_type>

<!-- LBC Files : -->
<flbc_file>atm/waccm/lb/CMIP7/LBC_17500116-20221216_CMIP7_0p5degLat_c250326.nc</flbc_file>
<flbc_cycle_yr>1850</flbc_cycle_yr>
<flbc_type>'CYCLICAL'</flbc_type>
<flbc_list>'CO2','CH4','N2O','CFC11','CFC12','CFC11eq'</flbc_list>
Expand Down
1 change: 0 additions & 1 deletion bld/namelist_files/use_cases/1850_cam_mt.xml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@
<solar_data_type> FIXED </solar_data_type>

<!-- LBC Files : -->
<flbc_file>atm/waccm/lb/CMIP7/LBC_17500116-20221216_CMIP7_0p5degLat_c250326.nc</flbc_file>
<flbc_cycle_yr>1850</flbc_cycle_yr>
<flbc_type>'CYCLICAL'</flbc_type>
<flbc_list>'CO2','CH4','N2O','CFC11','CFC12','CFC11eq'</flbc_list>
Expand Down
176 changes: 163 additions & 13 deletions bld/namelist_files/use_cases/1850_trop_strat_t4s_cam7.xml
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have no clue whether this is correct or not. I will let Simone or someone else reviews this

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes that looks fine

Large diffs are not rendered by default.

1 change: 0 additions & 1 deletion bld/namelist_files/use_cases/hist_cam_lt.xml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@
<solar_irrad_data_file>atm/cam/solar/SolarForcingCMIP7-4.6_18491230-20240101_sumEPP_c20250630.nc</solar_irrad_data_file>

<!-- LBC Files -->
<flbc_file>atm/waccm/lb/CMIP7/LBC_17500116-20221216_CMIP7_0p5degLat_c250326.nc</flbc_file>
<flbc_type>'SERIAL'</flbc_type>
<flbc_list>'CO2','CH4','N2O','CFC11','CFC12','CFC11eq'</flbc_list>

Expand Down
1 change: 0 additions & 1 deletion bld/namelist_files/use_cases/hist_cam_mt.xml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@
<solar_irrad_data_file>atm/cam/solar/SolarForcingCMIP7-4.6_18491230-20240101_sumEPP_c20250630.nc</solar_irrad_data_file>

<!-- LBC Files -->
<flbc_file>atm/waccm/lb/CMIP7/LBC_17500116-20221216_CMIP7_0p5degLat_c250326.nc</flbc_file>
<flbc_type>'SERIAL'</flbc_type>
<flbc_list>'CO2','CH4','N2O','CFC11','CFC12','CFC11eq'</flbc_list>

Expand Down
5 changes: 2 additions & 3 deletions bld/namelist_files/use_cases/hist_trop_strat_t4s_cam7.xml
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,9 @@

<!-- Lower boundary concentrations -->
<flbc_type>SERIAL</flbc_type>
<flbc_file>atm/waccm/lb/LBC_17500116-25001216_CMIP6_SSP585_0p5degLat_c20200824.nc</flbc_file>
<flbc_list>
'CCL4', 'CF2CLBR', 'CF3BR', 'CFC11', 'CFC113', 'CFC12', 'CH3BR', 'CH3CCL3', 'CH3CL', 'CH4', 'CO2', 'H2',
'HCFC22', 'N2O', 'CFC114', 'CFC115', 'HCFC141B', 'HCFC142B', 'H2402', 'OCS', 'SF6', 'CFC11eq'
'CCL4', 'CF2CLBR', 'CF3BR', 'CFC11', 'CFC113', 'CFC12', 'CH3BR', 'CH3CCL3', 'CH3CL', 'CH4', 'CO2', 'H2',
'HCFC22', 'N2O', 'CFC114', 'CFC115', 'HCFC141B', 'HCFC142B', 'CH2BR2', 'CHBR3', 'H2402', 'OCS', 'SF6', 'CFC11eq'
</flbc_list>

<!-- history output -->
Expand Down
3 changes: 1 addition & 2 deletions bld/namelist_files/use_cases/waccm_ma_hist_cam7.xml
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,9 @@

<!-- LBC, UBC Files -->
<flbc_type>SERIAL</flbc_type>
<flbc_file>atm/waccm/lb/CMIP7/LBC_17500116-20221216_CMIP7_0p5degLat_c250326.nc</flbc_file>
<flbc_list>
'CCL4', 'CF2CLBR', 'CF3BR', 'CFC11', 'CFC113', 'CFC12', 'CH3BR', 'CH3CCL3', 'CH3CL', 'CH4', 'CO2', 'H2',
'HCFC22', 'N2O', 'CFC114', 'CFC115', 'HCFC141B', 'HCFC142B', 'CH2BR2', 'CHBR3', 'H2402', 'OCS', 'CFC11eq'
'HCFC22', 'N2O', 'CFC114', 'CFC115', 'HCFC141B', 'HCFC142B', 'CH2BR2', 'CHBR3', 'H2402', 'OCS', 'SF6', 'CFC11eq'
</flbc_list>

<!-- Upper Boundary -->
Expand Down
1 change: 0 additions & 1 deletion bld/namelist_files/use_cases/waccm_sc_hist_cam7.xml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@

<!-- LBC, UBC Files -->
<flbc_type>SERIAL</flbc_type>
<flbc_file>atm/waccm/lb/CMIP7/LBC_17500116-20221216_CMIP7_0p5degLat_c250326.nc</flbc_file>
<flbc_list>'CO2','CH4','N2O','CFC11','CFC12','CFC11eq'</flbc_list>

<!-- upper atmos forcings -->
Expand Down
10 changes: 10 additions & 0 deletions cime_config/testdefs/testlist_cam.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2022,6 +2022,16 @@
<option name="comment" >Medium-top CAM-Chem with simpler climate chemistry</option>
</options>
</test>
<test compset="1850C_CAM70%MT%CT4S2_CLM60%SP_CICE%PRES_DOCN%DOM_MOSART_SGLC_SWAV_SESP" grid="ne30pg3_ne30pg3_mt232" name="SMS_D_Ln9" testmods="cam/outfrq9s">
<machines>
<machine name="derecho" compiler="intel" category="camchem"/>
<machine name="derecho" compiler="intel" category="aux_cam"/>
</machines>
<options>
<option name="wallclock">00:40:00</option>
<option name="comment" >1850 Medium-top CAM-Chem with simpler climate chemistry</option>
</options>
</test>
<test compset="FW2000climo" grid="f09_f09_mg17" name="SMS_Ld1" testmods="cam/outfrq1d">
<machines>
<machine name="derecho" compiler="intel" category="aux_cam"/>
Expand Down
1 change: 0 additions & 1 deletion src/chemistry/mozart/mo_extfrc.F90
Original file line number Diff line number Diff line change
Expand Up @@ -207,7 +207,6 @@ subroutine extfrc_inti( extfrc_specifier, extfrc_type_in, extfrc_cycle_yr, extfr
'vertically intergrated external forcing for '//trim(spc_name) )
if ( history_aerosol .or. history_chemistry ) then
call add_default( trim(spc_name)//'_CLXF', 1, ' ' )
call add_default( trim(spc_name)//'_CMXF', 1, ' ' )
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could we leave CMXF, I think, that is used for the diagnostics

endif
if ( history_cesm_forcing .and. spc_name == 'NO2' ) then
call add_default( trim(spc_name)//'_CLXF', 1, ' ' )
Expand Down
37 changes: 28 additions & 9 deletions src/chemistry/mozart/mo_jshort.F90
Original file line number Diff line number Diff line change
Expand Up @@ -227,7 +227,7 @@ subroutine get_crs( xs_short_file, sht_indexer )
else
write(iulog,*) 'get_crs : ',rxt_tag_lst(m)(:len_trim(rxt_tag_lst(m))),' alias ', &
pht_alias_lst(m,1)(:len_trim(pht_alias_lst(m,1))),' not in dataset'
call endrun
call endrun('mo_jshort::get_crs error')
end if
end if
end do
Expand Down Expand Up @@ -315,7 +315,7 @@ subroutine get_crs( xs_short_file, sht_indexer )
deallocate( xs_species )
if( ndx /= nj ) then
write(iulog,*) 'get_crs : ndx count /= cross section count'
call endrun
call endrun('mo_jshort::get_crs: ndx count /= cross section count')
end if
!------------------------------------------------------------------------------
! ... get jo3 cross sections
Expand Down Expand Up @@ -385,6 +385,7 @@ subroutine xs_init(xs_coef_file)
integer :: istat ! i/o status
integer :: i, j
character(len=256) :: locfn
character(len=256) :: errstr

!----------------------------------------------------------------------
! ... Get first strato photo rate file
Expand All @@ -403,8 +404,8 @@ subroutine xs_init(xs_coef_file)
!----------------------------------------------------------------------
! ... Open error exit
!----------------------------------------------------------------------
write(iulog,*) 'xs_init: error ',istat,' opening file ',trim(locfn)
call endrun
write(errstr,*) 'mo_jshort::xs_init: error ',istat,' opening file ',trim(locfn)
call endrun(trim(errstr))
end if
!----------------------------------------------------------------------
! ... read file
Expand All @@ -414,16 +415,16 @@ subroutine xs_init(xs_coef_file)
read(unit,903,iostat=istat) ac(i,:)
if( istat /= 0 ) then
write(iulog,*) 'xs_init: error ',istat,' reading ac'
call endrun
call endrun('mo_jshort::xs_init read file error')
end if
end do

read(unit,901)
do i = 1,20
read(unit,903,iostat=istat) bc(i,:)
if( istat /= 0 ) then
write(iulog,*) 'xs_init: error ',istat,' reading bc'
call endrun
write(errstr,*) 'xs_init: error ',istat,' reading bc'
call endrun(trim(errstr))
end if
end do
close( unit )
Expand Down Expand Up @@ -619,6 +620,9 @@ subroutine jshort_hrates( nlev, zen, o2_vmr, o3_vmr, o2cc, &
real(r8) :: tsrb(nlev,nsrbtuv) ! Transmission in the SRB
real(r8) :: xs_o2srb(nlev,nsrbtuv) ! Cross section * QY for O2 in SRB

! check for realistic O2 concentrations
call check_o2_col( o2cc )

allocate( fnorm(nlev,nw),stat=astat )
if( astat /= 0 ) then
call alloc_err( astat, 'jshort_hrates', 'fnorm', nw*nlev )
Expand Down Expand Up @@ -944,6 +948,9 @@ subroutine jshort_photo( nlev, zen, n2cc, o2cc, o3cc, &
real(r8) :: tsrb(nlev,nsrbtuv) ! Transmission in the SRB
real(r8) :: xs_o2srb(nlev,nsrbtuv) ! Cross section * QY for O2 in SRB

! check for realistic O2 concentrations
call check_o2_col( o2cc )

allocate( fnorm(nlev,nw),stat=astat )
if( astat /= 0 ) then
call alloc_err( astat, 'jshort_photo', 'fnorm', nw*nlev )
Expand Down Expand Up @@ -1487,6 +1494,7 @@ subroutine calc_o2srb( nlev, nid, o2col, tlev, tsrb, xscho2 )
real(r8) :: dtsrb(nlev)
real(r8) :: tsrb_rev(nlev,nsrbtuv)
real(r8) :: xs(nsrbtuv)
character(len=256) :: errstr

!------------------------------------------------------------------------------
! ... Calculate cross sections
Expand Down Expand Up @@ -1562,8 +1570,8 @@ subroutine calc_o2srb( nlev, nid, o2col, tlev, tsrb, xscho2 )
term1 = log( xscho2(k+1,i)/xscho2(k,i) )
term2 = log( o2col(k+1)/o2col(k) )
if( term2 == 0._r8 ) then
write(iulog,*) 'calc_o2srb : o2col(k:k+1),xscho2(k:k+1,i) = ',o2col(k:k+1),xscho2(k:k+1,i),' @ i,k = ',i,k
call endrun
write(errstr,*) 'calc_o2srb : o2col(k:k+1),xscho2(k:k+1,i) = ',o2col(k:k+1),xscho2(k:k+1,i),' @ i,k = ',i,k
call endrun(trim(errstr))
end if
den = 1._r8 + log( xscho2(k+1,i)/xscho2(k,i) )/log( o2col(k+1)/o2col(k) )
dto2 = abs(num/den)
Expand Down Expand Up @@ -1870,4 +1878,15 @@ end function pjno

end subroutine calc_jno

!----------------------------------------------------------------
subroutine check_o2_col( o2cc )
real(r8), intent(in) :: o2cc(:) ! o2 conc (mol/cm^3)

if (maxval(o2cc)<1.0_r8) then
write(*,*) 'mo_jshort input O2 (mol/cm^3): ',o2cc
call endrun('mo_jshort -- unrealistic O2 concentrations needed for absorption')
end if

end subroutine check_o2_col

end module mo_jshort
60 changes: 6 additions & 54 deletions src/physics/cam/aerosol_optics_cam.F90
Original file line number Diff line number Diff line change
Expand Up @@ -312,49 +312,31 @@ subroutine aerosol_optics_cam_init
burden_fields(n)%name(m) = fldname
write(lngname,'(a,i2.2)') 'Aerosol burden bin ', m
call addfld (fldname, horiz_only, 'A', 'kg/m2', lngname, flag_xyfill=.true.)
if (history_aero_optics) then
call add_default (fldname, 1, ' ')
end if

fldname = 'AOD_'//trim(aprops%bin_name(bin_ndx=m))
aodbin_fields(n)%name(m) = fldname
lngname = 'Aerosol optical depth, day only, 550 nm, '//trim(aprops%bin_name(bin_ndx=m))
call addfld (aodbin_fields(n)%name(m), horiz_only, 'A', ' ', lngname, flag_xyfill=.true.)
if (history_aero_optics) then
call add_default (fldname, 1, ' ')
end if

write(fldname,'(a,i2.2)') 'AODDUST', cnt
aoddust_fields(n)%name(m) = fldname
write(lngname,'(a,i2,a)') 'Aerosol optical depth, day only, 550 nm mode ',m,' from dust'
call addfld (aoddust_fields(n)%name(m), horiz_only, 'A', ' ', lngname, flag_xyfill=.true.)
if (history_aero_optics) then
call add_default (fldname, 1, ' ')
end if

write(fldname,'(a,i2.2)') 'BURDENdn', cnt
burdendn_fields(n)%name(m) = fldname
write(lngname,'(a,i2)') 'Aerosol burden, day night, bin ', m
call addfld (burdendn_fields(n)%name(m), horiz_only, 'A', 'kg/m2', lngname, flag_xyfill=.true.)
if (history_aero_optics) then
call add_default (fldname, 1, ' ')
end if

fldname = 'AODdn_'//trim(aprops%bin_name(bin_ndx=m))
aodbindn_fields(n)%name(m) = fldname
lngname = 'Aerosol optical depth 550 nm, day night, '//trim(aprops%bin_name(bin_ndx=m))
call addfld (aodbindn_fields(n)%name(m), horiz_only, 'A', ' ', lngname, flag_xyfill=.true.)
if (history_aero_optics) then
call add_default (fldname, 1, ' ')
end if

write(fldname,'(a,i2.2)') 'AODdnDUST', cnt
aoddustdn_fields(n)%name(m) = fldname
write(lngname,'(a,i2,a)') 'Aerosol optical depth 550 nm, day night, bin ',m,' from dust'
call addfld (aoddustdn_fields(n)%name(m), horiz_only, 'A', ' ', lngname, flag_xyfill=.true.)
if (history_aero_optics) then
call add_default (fldname, 1, ' ')
end if

end do

Expand Down Expand Up @@ -434,51 +416,20 @@ subroutine aerosol_optics_cam_init
end if

if (history_aero_optics) then
call add_default ('AODDUST01' , 1, ' ')
call add_default ('AODDUST03' , 1, ' ')
call add_default ('ABSORB' , 1, ' ')
call add_default ('AODVIS' , 1, ' ')
call add_default ('AODUV' , 1, ' ')
call add_default ('AODNIR' , 1, ' ')
call add_default ('AODABS' , 1, ' ')
call add_default ('AODABSBC' , 1, ' ')
call add_default ('AODDUST' , 1, ' ')
call add_default ('AODSO4' , 1, ' ')
call add_default ('AODPOM' , 1, ' ')
call add_default ('AODSOA' , 1, ' ')
call add_default ('AODBC' , 1, ' ')
call add_default ('AODSS' , 1, ' ')
call add_default ('BURDEN01' , 1, ' ')
call add_default ('BURDEN02' , 1, ' ')
call add_default ('BURDEN03' , 1, ' ')
call add_default ('BURDENDUST' , 1, ' ')
call add_default ('BURDENSO4' , 1, ' ')
call add_default ('BURDENPOM' , 1, ' ')
call add_default ('BURDENSOA' , 1, ' ')
call add_default ('BURDENBC' , 1, ' ')
call add_default ('BURDENSEASALT', 1, ' ')
call add_default ('SSAVIS' , 1, ' ')
call add_default ('EXTINCT' , 1, ' ')
call add_default ('AODxASYM' , 1, ' ')
call add_default ('EXTxASYM' , 1, ' ')

call add_default ('AODdnDUST01' , 1, ' ')
call add_default ('AODdnDUST03' , 1, ' ')
call add_default ('AODABSdn' , 1, ' ')
call add_default ('ABSORBdn' , 1, ' ')
call add_default ('AODVISdn' , 1, ' ')
call add_default ('AODVISstdn' , 1, ' ')
call add_default ('AODUVdn' , 1, ' ')
call add_default ('AODNIRdn' , 1, ' ')
call add_default ('AODUVstdn' , 1, ' ')
call add_default ('AODNIRstdn' , 1, ' ')
call add_default ('AODABSdn' , 1, ' ')
call add_default ('AODABSBCdn' , 1, ' ')
call add_default ('AODDUSTdn' , 1, ' ')
call add_default ('AODSO4dn' , 1, ' ')
call add_default ('AODPOMdn' , 1, ' ')
call add_default ('AODSOAdn' , 1, ' ')
call add_default ('AODBCdn' , 1, ' ')
call add_default ('AODSSdn' , 1, ' ')
call add_default ('BURDENdn01' , 1, ' ')
call add_default ('BURDENdn02' , 1, ' ')
call add_default ('BURDENdn03' , 1, ' ')
call add_default ('BURDENDUSTdn' , 1, ' ')
call add_default ('BURDENSO4dn' , 1, ' ')
call add_default ('BURDENPOMdn' , 1, ' ')
Expand All @@ -487,7 +438,8 @@ subroutine aerosol_optics_cam_init
call add_default ('BURDENSEASALTdn', 1, ' ')
call add_default ('SSAVISdn' , 1, ' ')
call add_default ('EXTINCTdn' , 1, ' ')
call add_default ('AODxASYMdn' , 1, ' ')
call add_default ('EXTINCTUVdn' , 1, ' ')
call add_default ('EXTINCTNIRdn' , 1, ' ')
call add_default ('EXTxASYMdn' , 1, ' ')
end if

Expand Down
1 change: 1 addition & 0 deletions src/physics/cam/ndrop.F90
Original file line number Diff line number Diff line change
Expand Up @@ -165,6 +165,7 @@ subroutine ndrop_init(aero_props)
! set the add_default fields
if (history_amwg) then
call add_default('CCN3', 1, ' ')
call add_default('CCN4', 1, ' ')
endif

end subroutine ndrop_init
Expand Down
Loading