Skip to content

Commit

Permalink
ESCOMP tag: cam6_4_024
Browse files Browse the repository at this point in the history
Merge pull request ESCOMP#1120 from brian-eaton/ndep-ddep

cam6_4_024: Deposition fixes for aquaplanet and simple model configurations.

ESCOMP commit: 265425a
  • Loading branch information
brian-eaton authored and Steve Goldhaber committed Oct 16, 2024
1 parent c589157 commit cb63192
Show file tree
Hide file tree
Showing 4 changed files with 241 additions and 0 deletions.
214 changes: 214 additions & 0 deletions doc/ChangeLog
Original file line number Diff line number Diff line change
@@ -1,5 +1,219 @@
===============================================================

Tag name: cam6_4_024
Originator(s): eaton
Date: 27 Aug 2024
One-line Summary: Deposition fixes for aquaplanet and simple model configurations.
Github PR URL: https://github.com/ESCOMP/CAM/pull/1120

Purpose of changes (include the issue number and title text for each relevant GitHub issue):

Issue #866 - Aquaplanet cases should not require ndep
PR #910 - No ndep in aquaplanet

. Don't require the ndep stream for aquaplanet or simple models. Also
remove the ndep datasets from the namelist when they aren't being used.
This prevents cime from downloading large unneeded files.
This doesn't change answers since the ndep fluxes are not used by these
configurations.

. Don't require a drydep_srf_file for aquaplanet runs on unstructured
grids. This does change answers since currently aquaplanet runs are
using the versions of this file which are meant for a CAM/CLM
configuration and are introducing an incorrect land surface signal into
the drydep calculations.

resolves #866
closes #910

Describe any changes made to build system: none

Describe any changes made to the namelist:

. build-namelist is modified to remove the settings of
stream_ndep_data_filename and stream_ndep_mesh_filename when aquaplanet
or simple model configurations are used.

List any changes to the defaults for the boundary datasets: none

Describe any substantial timing or memory changes: none

Code reviewed by: cacraig

List all files eliminated: none

List all files added and what they do: none

List all existing files that have been modified, and describe the changes:

bld/build-namelist
. if simple model or aquaplanet remove the settings of
stream_ndep_data_filename and stream_ndep_mesh_filename
. modify logic so the add_default call for drydep_srf_file is not made for
simple models or aquaplanet

bld/namelist_files/namelist_definition.xml
. remove the variables in the ndep_stream_nml group. Not used.

src/chemistry/mozart/chemistry.F90
. chem_readnl
- add initializer for drydep_srf_file

src/chemistry/mozart/mo_drydep.F90
. get_landuse_and_soilw_from_file
- if drydep_srf_file not set, then set fraction_landuse to zero.

src/cpl/nuopc/atm_import_export.F90
. export_fields
- When ndep is not computed by WACCM, and the ndep stream isn't used,
then set Faxa_ndep to zero.

src/cpl/nuopc/atm_stream_ndep.F90
. add public module variable use_ndep_stream
. stream_ndep_init
- if stream_ndep_data_filename not set, then set variable
use_ndep_stream=.false. (otherwise .true.)

If there were any failures reported from running test_driver.sh on any test
platform, and checkin with these failures has been OK'd by the gatekeeper,
then copy the lines from the td.*.status files for the failed tests to the
appropriate machine below. All failed tests must be justified.

derecho/intel/aux_cam:

ERP_Ln9.f09_f09_mg17.FCSD_HCO.derecho_intel.cam-outfrq9s (Overall: PEND)
- pre-existing failure due to HEMCO not having reproducible results issues #1018 and #856

SMS_D_Ln9_P1280x1.ne0ARCTICne30x4_ne0ARCTICne30x4_mt12.FHIST.derecho_intel.cam-outfrq9s (Overall: PEND)
SMS_D_Ln9_P1280x1.ne0CONUSne30x8_ne0CONUSne30x8_mt12.FCHIST.derecho_intel.cam-outfrq9s (Overall: PEND)
- pre-existing pend/failures -- need fix in CLM external

ERC_D_Ln9.f19_f19_mg17.QPC6.derecho_intel.cam-outfrq3s_cosp (Overall: DIFF)
ERC_D_Ln9.f19_f19_mg17.QPMOZ.derecho_intel.cam-outfrq3s (Overall: DIFF)
ERC_D_Ln9.f19_f19_mg17.QPX2000.derecho_intel.cam-outfrq3s (Overall: DIFF)
ERI_D_Ln18.f45_f45_mg37.QPC41850.derecho_intel.cam-co2rmp_usecase (Overall: DIFF)
ERP_D_Ln9.f19_f19_mg17.QPC6.derecho_intel.cam-outfrq9s (Overall: DIFF)
ERP_D_Ln9_P64x2.f09_f09_mg17.QSC6.derecho_intel.cam-outfrq9s (Overall: DIFF)
ERP_Ln9_P24x3.f45_f45_mg37.QPWmaC6.derecho_intel.cam-outfrq9s_mee_fluxes (Overall: DIFF)
SCT_D_Ln7.T42_T42_mg17.QPC5.derecho_intel.cam-scm_prep (Overall: DIFF)
SMS_D_Ld2.f19_f19_mg17.QPC5HIST.derecho_intel.cam-volc_usecase (Overall: DIFF)
SMS_D_Ln9.f19_f19_mg17.QPC5M7.derecho_intel.cam-outfrq9s (Overall: DIFF)
SMS_D_Ln9.ne16_ne16_mg17.QPX2000.derecho_intel.cam-outfrq9s (Overall: DIFF)
- expected namelist diffs due to ndep data
- expected diffs in cpl.hi file (atmImp_Faxa_ndep1, atmImp_Faxa_ndep2)

ERC_D_Ln9.ne16_ne16_mg17.FADIAB.derecho_intel.cam-terminator (Overall: NLFAIL)
ERC_D_Ln9.T42_T42_mg17.FDABIP04.derecho_intel.cam-outfrq3s_usecase (Overall: NLFAIL)
ERC_D_Ln9.T42_T42_mg17.FHS94.derecho_intel.cam-outfrq3s_usecase (Overall: NLFAIL)
ERS_Ln9.ne0TESTONLYne5x4_ne0TESTONLYne5x4_mg37.FADIAB.derecho_intel.cam-outfrq3s_refined (Overall: NLFAIL)
SMS_D_Ln9.f19_f19_mg17.QPC2000climo.derecho_intel.cam-outfrq3s_usecase (Overall: NLFAIL) details:
- expected namelist diffs due to ndep data

ERC_D_Ln9.ne16_ne16_mg17.QPC5HIST.derecho_intel.cam-outfrq3s_usecase (Overall: DIFF)
ERC_D_Ln9_P144x1.ne16pg3_ne16pg3_mg17.QPC6HIST.derecho_intel.cam-outfrq3s_ttrac_usecase (Overall: DIFF)
SCT_D_Ln7.ne3_ne3_mg37.QPC5.derecho_intel.cam-scm_prep (Overall: DIFF)
- expected namelist diffs due to ndep data
- expected diffs in cpl.hi file (atmImp_Faxa_ndep1, atmImp_Faxa_ndep2)
- expected diffs in cam output due to fixing drydep land surface file

derecho/nvhpc/aux_cam: PASS

izumi/nag/aux_cam:

DAE.f45_f45_mg37.FHS94.izumi_nag.cam-dae (Overall: FAIL)
- pre-existing failure - issue #670

ERC_D_Ln9.f10_f10_mg37.QPC5.izumi_nag.cam-carma_sea_salt (Overall: DIFF)
ERC_D_Ln9.f10_f10_mg37.QPC5.izumi_nag.cam-outfrq3s_cosp (Overall: DIFF)
ERC_D_Ln9.f10_f10_mg37.QPC5.izumi_nag.cam-outfrq3s_subcol (Overall: DIFF)
ERC_D_Ln9.f10_f10_mg37.QPC6.izumi_nag.cam-outfrq3s_am (Overall: DIFF)
ERC_D_Ln9.f10_f10_mg37.QPC6.izumi_nag.cam-outfrq3s_cospsathist (Overall: DIFF)
ERC_D_Ln9.f10_f10_mg37.QPC6.izumi_nag.cam-outfrq3s (Overall: DIFF)
ERC_D_Ln9.f10_f10_mg37.QPWmaC6.izumi_nag.cam-outfrq3s (Overall: DIFF)
ERC_D_Ln9.f10_f10_mg37.QSPCAMS.izumi_nag.cam-outfrq3s (Overall: DIFF)
ERC_D_Ln9.ne16_ne16_mg17.QPC4.izumi_nag.cam-outfrq3s_usecase (Overall: DIFF)
ERC_D_Ln9.ne16pg3_ne16pg3_mg17.QPC4.izumi_nag.cam-outfrq3s_usecase (Overall: DIFF)
ERC_D_Ln9.T5_T5_mg37.QPC4.izumi_nag.cam-outfrq3s_usecase (Overall: DIFF)
ERI_D_Ln18.f10_f10_mg37.QPC5.izumi_nag.cam-outfrq3s_eoyttrac (Overall: DIFF)
ERI_D_Ln18.f19_f19_mg17.QPC6.izumi_nag.cam-ghgrmp_e8 (Overall: DIFF)
PLB_D_Ln9.f10_f10_mg37.QPC5.izumi_nag.cam-ttrac_loadbal0 (Overall: DIFF)
PLB_D_Ln9.f10_f10_mg37.QPC5.izumi_nag.cam-ttrac_loadbal1 (Overall: DIFF)
PLB_D_Ln9.f10_f10_mg37.QPC5.izumi_nag.cam-ttrac_loadbal3 (Overall: DIFF)
SMS_D_Ln3.ne5pg3_ne5pg3_mg37.QPX2000.izumi_nag.cam-outfrq3s (Overall: DIFF)
SMS_D_Ln6.ne5_ne5_mg37.QPWmaC4.izumi_nag.cam-outfrq3s_physgrid_tem (Overall: DIFF)
SMS_D_Ln7.T42_T42_mg17.QPSCAMC5.izumi_nag.cam-scmarm (Overall: DIFF)
SMS_D_Ln9.f10_f10_mg37.QPC5.izumi_nag.cam-rad_diag_mam (Overall: DIFF)
SMS_D_Ln9.f10_f10_mg37.QPC6.izumi_nag.cam-outfrq3s_ba (Overall: DIFF)
SMS_P48x1_D_Ln3.f09_f09_mg17.QPC6HIST.izumi_nag.cam-outfrq3s_co2cycle_usecase (Overall: DIFF)
SUB_D_Ln9.f10_f10_mg37.QPC5.izumi_nag.cam-outfrq3s (Overall: DIFF)
- expected namelist diffs due to ndep data
- expected diffs in cpl.hi file (atmImp_Faxa_ndep1, atmImp_Faxa_ndep2)

ERC_D_Ln9.mpasa480z32_mpasa480.FHS94.izumi_nag.cam-outfrq3s_usecase (Overall: NLFAIL)
ERI_D_Ln18.ne5_ne5_mg37.FADIAB.izumi_nag.cam-outfrq3s_bwic (Overall: NLFAIL)
ERI_D_Ln18.ne5pg3_ne5pg3_mg37.FADIAB.izumi_nag.cam-outfrq3s_bwic (Overall: NLFAIL)
ERS_Ln27.ne5pg3_ne5pg3_mg37.FKESSLER.izumi_nag.cam-outfrq9s (Overall: NLFAIL)
ERS_Ln9.ne5_ne5_mg37.FADIAB.izumi_nag.cam-outfrq9s (Overall: NLFAIL)
PEM_D_Ln9.ne5_ne5_mg37.FADIAB.izumi_nag.cam-outfrq3s (Overall: NLFAIL)
SMS_D_Ln9_P1x1.ne5_ne5_mg37.FADIAB.izumi_nag.cam-outfrq3s (Overall: NLFAIL)
TMC_D.f10_f10_mg37.QPC5.izumi_nag.cam-outfrq3s_eoyttrac (Overall: NLFAIL)
TMC_D.T5_T5_mg37.QPC5.izumi_nag.cam-ghgrmp_e8 (Overall: NLFAIL)
- expected namelist diffs due to ndep data

ERC_D_Ln9.ne5_ne5_mg37.QPC5.izumi_nag.cam-outfrq3s_ttrac (Overall: DIFF)
ERP_Ln9.ne5pg3_ne5pg3_mg37.QPC6.izumi_nag.cam-outfrq9s_clubbmf (Overall: DIFF)
PLB_D_Ln9.ne5_ne5_mg37.QPC5.izumi_nag.cam-ttrac_loadbal0 (Overall: DIFF)
PLB_D_Ln9.ne5_ne5_mg37.QPC5.izumi_nag.cam-ttrac_loadbal1 (Overall: DIFF)
PLB_D_Ln9.ne5_ne5_mg37.QPC5.izumi_nag.cam-ttrac_loadbal3 (Overall: DIFF)
- expected namelist diffs due to ndep data
- expected diffs in cpl.hi file (atmImp_Faxa_ndep1, atmImp_Faxa_ndep2)
- expected diffs in cam output due to fixing drydep land surface file

izumi/gnu/aux_cam:

ERC_D_Ln9.f10_f10_mg37.FADIAB.izumi_gnu.cam-terminator (Overall: NLFAIL) details:
ERC_D_Ln9.ne5pg2_ne5pg2_mg37.FADIAB.izumi_gnu.cam-outfrq3s (Overall: NLFAIL) details:
ERC_D_Ln9.ne5pg3_ne5pg3_mg37.FADIAB.izumi_gnu.cam-outfrq3s (Overall: NLFAIL) details:
ERP_Ln9.ne5_ne5_mg37.FHS94.izumi_gnu.cam-outfrq9s (Overall: NLFAIL) details:
PEM_D_Ln9.ne5pg3_ne5pg3_mg37.FADIAB.izumi_gnu.cam-outfrq3s (Overall: NLFAIL) details:
- expected namelist diffs due to ndep data

ERC_D_Ln9.f10_f10_mg37.QPC4.izumi_gnu.cam-outfrq3s_diags (Overall: DIFF) details:
ERC_D_Ln9.f10_f10_mg37.QPC5.izumi_gnu.cam-outfrq3s_unicon (Overall: DIFF) details:
ERC_D_Ln9.f10_f10_mg37.QPC5.izumi_gnu.cam-rad_diag (Overall: DIFF) details:
ERC_D_Ln9.f10_f10_mg37.QPSPCAMM.izumi_gnu.cam-outfrq3s (Overall: DIFF) details:
ERC_D_Ln9.ne5_ne5_mg37.QPC4.izumi_gnu.cam-outfrq3s_nudging_ne5_L26 (Overall: DIFF) details:
ERC_D_Ln9.ne5_ne5_mg37.QPC5.izumi_gnu.cam-outfrq3s_ba (Overall: DIFF) details:
ERI_D_Ln18.T5_T5_mg37.QPC4.izumi_gnu.cam-co2rmp (Overall: DIFF) details:
SCT_D_Ln7.T42_T42_mg17.QPC4.izumi_gnu.cam-scm_prep (Overall: DIFF) details:
SCT_D_Ln7.T42_T42_mg17.QPC6.izumi_gnu.cam-scm_prep_c6 (Overall: DIFF) details:
SMS_D_Ln3.f10_f10_mg37.QPMOZ.izumi_gnu.cam-outfrq3s_chemproc (Overall: DIFF) details:
SMS_D_Ln9.f10_f10_mg37.QPWmaC4.izumi_gnu.cam-outfrq9s_apmee (Overall: DIFF) details:
- expected namelist diffs due to ndep data
- expected diffs in cpl.hi file (atmImp_Faxa_ndep1, atmImp_Faxa_ndep2)

ERP_D_Ln9.C48_C48_mg17.QPC6.izumi_gnu.cam-outfrq9s (Overall: DIFF) details:
ERP_D_Ln9.ne3pg3_ne3pg3_mg37.QPC6.izumi_gnu.cam-outfrq9s_rrtmgp (Overall: DIFF) details:
ERP_Ln9.ne5_ne5_mg37.QPC5.izumi_gnu.cam-outfrq9s (Overall: DIFF) details:
PLB_D_Ln9.ne5pg3_ne5pg3_mg37.QPC5.izumi_gnu.cam-ttrac_loadbal0 (Overall: DIFF) details:
PLB_D_Ln9.ne5pg3_ne5pg3_mg37.QPC5.izumi_gnu.cam-ttrac_loadbal1 (Overall: DIFF) details:
PLB_D_Ln9.ne5pg3_ne5pg3_mg37.QPC5.izumi_gnu.cam-ttrac_loadbal3 (Overall: DIFF) details:
SCT_D_Ln7.ne3_ne3_mg37.QPC6.izumi_gnu.cam-scm_prep_c6 (Overall: DIFF) details:
SMS_D_Ln9.ne5pg3_ne5pg3_mg37.QPC5.izumi_gnu.cam-outfrq3s_ttrac (Overall: DIFF) details:
- expected namelist diffs due to ndep data
- expected diffs in cpl.hi file (atmImp_Faxa_ndep1, atmImp_Faxa_ndep2)
- expected diffs in cam output due to fixing drydep land surface file

CAM tag used for the baseline comparison tests if different than previous
tag:

Summarize any changes to answers: BFB except CAM5/6 aquaplanet runs on
unstructured grids have answer changes due to fixing the land surface
types used by dry deposition calculations

===============================================================
===============================================================

Tag name: cam6_4_023
Originator(s): jet
Date: Aug 26, 2024
Expand Down
2 changes: 2 additions & 0 deletions src/chemistry/mozart/chemistry.F90
Original file line number Diff line number Diff line change
Expand Up @@ -422,6 +422,8 @@ subroutine chem_readnl(nlfile)
tracer_srcs_fixed_ymd_out = tracer_srcs_fixed_ymd, &
tracer_srcs_fixed_tod_out = tracer_srcs_fixed_tod )

drydep_srf_file = ' '

if (masterproc) then
unitn = getunit()
open( unitn, file=trim(nlfile), status='old' )
Expand Down
10 changes: 10 additions & 0 deletions src/chemistry/mozart/mo_drydep.F90
Original file line number Diff line number Diff line change
Expand Up @@ -519,6 +519,16 @@ subroutine get_landuse_and_soilw_from_file()
character(len=shr_kind_cl) :: locfn
logical :: lexist

if (len_trim(drydep_srf_file) == 0) then
write(iulog,*)'**************************************'
write(iulog,*)' get_landuse_and_soilw_from_file: INFO:'
write(iulog,*)' drydep_srf_file not set:'
write(iulog,*)' setting fraction_landuse to zero'
write(iulog,*)'**************************************'
fraction_landuse = 0._r8
return
end if

call getfil (drydep_srf_file, locfn, 1, lexist)
if(lexist) then
call cam_pio_openfile(piofile, locfn, PIO_NOWRITE)
Expand Down
15 changes: 15 additions & 0 deletions src/cpl/nuopc/atm_stream_ndep.F90
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,10 @@ module atm_stream_ndep

private :: stream_ndep_check_units ! Check the units and make sure they can be used

! The ndep stream is not needed for aquaplanet or simple model configurations. It
! is disabled by setting the namelist variable stream_ndep_data_filename to blank.
logical, public, protected :: use_ndep_stream = .true.

type(shr_strdata_type) :: sdat_ndep ! input data stream
logical, public :: stream_ndep_is_initialized = .false.
character(len=CS) :: stream_varlist_ndep(2)
Expand Down Expand Up @@ -113,6 +117,17 @@ subroutine stream_ndep_init(model_mesh, model_clock, rc)
call mpi_bcast(stream_ndep_year_align, 1, mpi_integer, 0, mpicom, ierr)
if (ierr /= 0) call endrun(trim(subname)//": FATAL: mpi_bcast: stream_ndep_year_align")

! Check whether the stream is being used.
if (stream_ndep_data_filename == ' ') then
use_ndep_stream = .false.
if (masterproc) then
write(iulog,'(a)') ' '
write(iulog,'(a)') 'NDEP STREAM IS NOT USED.'
write(iulog,'(a)') ' '
endif
return
endif

if (masterproc) then
write(iulog,'(a)' ) ' '
write(iulog,'(a,i8)') 'stream ndep settings:'
Expand Down

0 comments on commit cb63192

Please sign in to comment.