Closed huiwanpnnl closed 1 year ago
Are you starting development branches from the NGD_v3atm branch? I didn't think that was in the workflow.
Are you starting development branches from the NGD_v3atm branch? I didn't think that was in the workflow.
@rljacob . I might not understand your comments correctly. Git log does show this branch started from the NGD_v3atm branch of Sept. 26.
Merged to NGD_v3atm.
This PR replaces PR #4
This PR includes the same essential changes in the old PR, but
cam_in%cflx
is revised to ensure BFB restart.This PR adds an optional revision to the numerical process coupling at the
tphysbc
/tphysac
level to couple the surface emissions of tracers more tightly with the turbulent transport. This is done by revising where in the time integration loop the surface fluxes incam_in%cflx(:,2:)
are applied to update the tracer mixing ratios.The revision was motivated by the known issues of overly short dust lifetime in EAMv1 and the very strong sensitivity of the dust lifetime to vertical resolution, see Feng et al., 2022 for the v1 results.
The implementation of the revised coupling is described below in the "code modifications" section.
Impacts of the revised coupling was initially evaluated in v1. More recently, evaluation was done in v2 using a 5-year F2010 simulation and a 30-year AMIP (F20TR) simulation using the huiwanpnnl/atm/aerosol_process_coupling branch in the E3SM repo. Highlights of the results can be found on this Confluence page and in this slide deck.
Code modifications
The subroutine
clubb_surface
inclubb_intr.F90
was split into two parts:ustar
and the Obukhov length remain inclubb_surface
.cam_in%clfx
was moved to a new subroutinecflx_tend
in a new module incflx.F90
A new namelist variable
cflx_cpl_opt
was added.cflx_cpl_opt = 1
(default) gives the original coupling in v2._There, the subroutine
cflx_tend
is called immediately afterclubb_surface
followed by acall physics_update(...)
. This gives the original process coupling in EAMv2 and the results are BFB.cflx_cpl_opt = 2
activates the revised coupling._The call of
cflx_tend
and the correspondingcall physics_update(...)
are moved to right before the cloud macro-microphysics sub-cycles intphysbc
, so that the tracers emitted to the lowest model layer can be transported to upper layers byCLUBB
ordropmixnuc
.Note that
cflx_cpl_opt = 2
does not affect water vapor. Neither does it affect tracers whose portion ofcam_in%cflx
is zero whenclubb_surface
is called.The initialization of
cam_in%cflx(:,2:)
with zeros was moved from theatm_import
subroutine incomponents/eam/src/cpl/atm_import_export.F90
to theread_restart_physics
subroutine incomponents/eam/src/physics/cam/restart_physics.F90
to avoid incorrectly zeroing out the values read in from a restart file. This ensures BFB restart for both the default model and forcflx_cpl_opt = 2
.