Skip to content
Merged
Show file tree
Hide file tree
Changes from 55 commits
Commits
Show all changes
59 commits
Select commit Hold shift + click to select a range
91efdec
Fixes spurious source of water from UW by allowing FILL routines to c…
narnold1 Jul 17, 2026
887662d
Limits precip evaporation in GF to avoid negative surface precip
narnold1 Jul 25, 2026
388559a
Major returning of GF deep/congestus to raise ice detrainment and get…
wmputman Jul 27, 2026
37f4f45
Restructuring of gw_convect and ET forcing, tuning updates in GFDL-MP
wmputman Jul 28, 2026
92c73e4
Modified the sponge layer and rayleigh damping in dynamics to handoff…
wmputman Jul 29, 2026
353257b
Merge branch 'develop' into bugfix/narnold1/spurious_water_from_moistgc
narnold1 Jul 30, 2026
b57b0c8
removed min/max for tpfac, it was problematic. Made JASON_PBL_SC an …
wmputman Aug 13, 2026
beb643a
Several GFDL-MP changes, GF congestus changes, and GWD+FV3: Base for …
wmputman Aug 13, 2026
a47fdf5
tweaks to GFDL tunings and GF congestus
wmputman Aug 14, 2026
a04cc2e
CRITICAL: These tunings for GF2026 remove the dry bias in the lower-m…
wmputman Aug 15, 2026
ee19478
Aerosol activation updates (specifically for ice), CCN/CIN limits upd…
wmputman Aug 20, 2026
5375733
Adjustments to GFDL wbf code and Hu et al shifts to get more TQL, GWD…
wmputman Aug 21, 2026
3f784b6
Latest v12 L137 evaluation with updated GWD, SHOC-MF, GF and GFDL-MP:…
wmputman Aug 24, 2026
c2a8523
Merge branch 'develop' into bugfix/narnold1/spurious_water_from_moistgc
narnold1 Aug 24, 2026
8f413ef
015e tunings to correct aerosol activation single moment, resolve dry…
wmputman Aug 31, 2026
1f91a39
Merge branch 'develop' into bugfix/narnold1/spurious_water_from_moistgc
narnold1 Aug 31, 2026
802616f
015f EMIP settings
wmputman Sep 1, 2026
a81bbe6
015 EMIPs need this single column data atmos update
wmputman Sep 1, 2026
67860a6
cleaned up glac_shift use and other things in Moist options, runs lik…
wmputman Sep 4, 2026
2c4b948
latest merge with develop 015i
wmputman Sep 9, 2026
e36a529
qadum cleanup and wbf coarse res update
wmputman Sep 9, 2026
4507653
updated ICE_RADII_PARAM comments
wmputman Sep 9, 2026
3708ea9
updated ICE_RADII_PARAM comments
wmputman Sep 9, 2026
bb4595d
making some changes for 015i EMIP radiation balance
wmputman Sep 11, 2026
b058c83
corrected 015i EMIP
wmputman Sep 14, 2026
cb738d1
015j updates run for CERES comparisons on Sep 15
wmputman Sep 15, 2026
9a321a2
Merge branch 'develop' into bugfix/narnold1/spurious_water_from_moistgc
narnold1 Sep 16, 2026
d4b19d2
hand-merge develop into feature/wmputman/Dev_v12_WMP
sdrabenh Sep 18, 2026
425b30b
Hand-resolve some compile errors
sdrabenh Sep 18, 2026
876ca34
restoring type AerPropsNew to Process_Library
sdrabenh Sep 18, 2026
5cf685c
use AerPropsNew from Process Library
mathomp4 Sep 18, 2026
8d14d4f
Move AerProps stuff back to aer_cloud
mathomp4 Sep 18, 2026
0d796b9
Change default for USE_SMOOTH_TEND to 0 to conserve water
narnold1 Sep 19, 2026
42d81b8
Merge branch 'develop' into bugfix/narnold1/spurious_water_from_moistgc
narnold1 Sep 19, 2026
125f562
minor changes after merge
sdrabenh Sep 21, 2026
3743f57
corrected ncar convective source spectrum and retuned
wmputman Sep 21, 2026
9a82ef3
Merge remote-tracking branch 'origin/feature/wmputman/Dev_v12_WMP' in…
sdrabenh Sep 22, 2026
8ce9e86
added energy and momentum flux diagnostics 3d separated by direction …
wmputman Sep 22, 2026
69c7c58
Merge remote-tracking branch 'origin/feature/wmputman/Dev_v12_WMP' in…
sdrabenh Sep 23, 2026
e93bc8c
Updated resource options for EW and WW critical thresholds and fixed …
wmputman Sep 23, 2026
6af1c37
tuning adjustment for BKG GWD
wmputman Sep 25, 2026
84ea0f8
fixed regression bugs
wmputman Sep 25, 2026
4f94ad8
Merge remote-tracking branch 'origin/feature/wmputman/Dev_v12_WMP' in…
sdrabenh Sep 25, 2026
237441b
Merge remote-tracking branch 'origin/bugfix/narnold1/spurious_water_f…
sdrabenh Sep 25, 2026
b51ead3
fine tuning for GWD polar jet strength and GFDL radiation balance
wmputman Sep 26, 2026
2a7bfd8
Merge remote-tracking branch 'origin/develop' into feature/sdrabenh/v…
sdrabenh Sep 28, 2026
4722a42
Merge remote-tracking branch 'origin/feature/wmputman/Dev_v12_WMP' in…
sdrabenh Sep 28, 2026
c68a58d
spreading spectra wider again 20.0 to 25.0
wmputman Sep 29, 2026
ccb5340
Merge remote-tracking branch 'origin/feature/wmputman/Dev_v12_WMP' in…
sdrabenh Sep 29, 2026
c26a2a1
Merge branch 'develop' into feature/sdrabenh/v11.11.0-rc5
sdrabenh Sep 29, 2026
00c3260
Fix assignment of cin to not be indexed
sdrabenh Sep 30, 2026
c7c28f1
Removed cumulus_type because it is a PARAMETER and as such can't be d…
sdrabenh Sep 30, 2026
0257d82
Fix PRNUM dimension in calc_numbers subroutine
sdrabenh Sep 30, 2026
693b9fc
Guard zero divisions in gravity wave fixers and Obukhov length
mathomp4 Sep 30, 2026
7e7a417
Merge pull request #1530 from GEOS-ESM/fix/mathomp4/v11.11.0-rc5-zero…
sdrabenh Sep 30, 2026
29f6a71
Hand-merge GEOS-CAM_v12 into feature/sdrabenh/v11.11.0-rc5
sdrabenh Oct 1, 2026
9e3e974
Bring back WSPD_STABLE300M
mathomp4 Oct 1, 2026
6d0198c
Remove cumulus_type from OMP declaration
mathomp4 Oct 1, 2026
5f1ab2c
Merge pull request #1531 from GEOS-ESM/feature/sdrabenh/v11.11.0-rc7
sdrabenh Oct 1, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -1690,21 +1690,21 @@ subroutine SetServices ( GC, RC )
! Imports for GWD
!----------------
call MAPL_AddConnectivity ( GC, &
SHORT_NAME = [character(len=7) :: 'Q', 'DTDT_DC', 'CNV_FRC' ], &
SHORT_NAME = [character(len=7) :: 'Q', 'CNV_FRC' ], &
DST_ID = GWD, &
SRC_ID = MOIST, &
RC=STATUS )
VERIFY_(STATUS)
call MAPL_AddConnectivity ( GC, &
SRC_NAME = 'DQIDT_micro', &
DST_NAME = 'DQIDT', &
SRC_NAME = 'DTDT_micro', &
DST_NAME = 'HT_mi', &
DST_ID = GWD, &
SRC_ID = MOIST, &
RC=STATUS )
VERIFY_(STATUS)
call MAPL_AddConnectivity ( GC, &
SRC_NAME = 'DQLDT_micro', &
DST_NAME = 'DQLDT', &
SRC_NAME = 'DTDT_DC', &
DST_NAME = 'HT_dc', &
DST_ID = GWD, &
SRC_ID = MOIST, &
RC=STATUS )
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -245,23 +245,28 @@ subroutine Initialize ( GC, IMPORT, EXPORT, CLOCK, RC )
character(len=ESMF_MAXSTR) :: ERRstring

logical :: JASON_BKG, JASON_ORO
real :: NCAR_TAU_TOP_ZERO
real :: NCAR_CNV_TAU_TOP_ZERO
real :: NCAR_FRT_TAU_TOP_ZERO
real :: NCAR_ORO_TAU_TOP_ZERO
real :: NCAR_SIGMA
real :: NCAR_PRNDL
real :: NCAR_QBO_HDEPTH_SCALING
integer :: NCAR_ORO_PGWV, NCAR_BKG_PGWV
real :: NCAR_ORO_GW_DC, NCAR_BKG_GW_DC
real :: NCAR_ORO_EW_CRIT_THRESH, NCAR_BKG_EW_CRIT_THRESH
real :: NCAR_ORO_WW_CRIT_THRESH, NCAR_BKG_WW_CRIT_THRESH
real :: NCAR_ORO_FCRIT2, NCAR_BKG_FCRIT2
real :: NCAR_ORO_WAVELENGTH, NCAR_BKG_WAVELENGTH
real :: NCAR_ORO_SOUTH_FAC
real :: NCAR_ORO_TNDMAX
real :: NCAR_BKG_TNDMAX
real :: NCAR_HR_CF ! Grid cell convective conversion factor
real :: NCAR_BKG_TAU ! Tau for background frontal forcing
real :: NCAR_TR_EFF ! Convective region efficiency factor
real :: NCAR_ET_EFF ! Frontal region efficiency factor
real :: NCAR_ET_TAUBGND ! Extratropical background frontal forcing
logical :: NCAR_ET_USE_DQCDT
logical :: NCAR_ET_USE_SPEED
logical :: NCAR_DC_BERES
real :: NCAR_ET_FAC_DTDTM ! Scale factor for DTDT from cldmicro for frontal forcing
real :: NCAR_ET_FAC_WS300 ! Sacle factor for stable wind speeds to provide katabatic wind forcing in extra-tropics
logical :: NCAR_DC_BERES
integer :: GEOS_PGWV
real :: NCAR_EFFGWBKG
real :: NCAR_DC_BERES_SRC_LEVEL
Expand Down Expand Up @@ -311,7 +316,7 @@ subroutine Initialize ( GC, IMPORT, EXPORT, CLOCK, RC )
if(dateline.eq.'CF') imsize = imsize*4
call MAPL_GetResource(MAPL,STRETCH_FACTOR,'AGCM.STRETCH_FACTOR:', default=1.0, _RC)
imsize = imsize*CEILING(STRETCH_FACTOR)
sigma = 1.0-0.9839*exp(-0.09835*4.e7*0.9/imsize/1000.) ! Based on Arakawa 2011 sigma used in GF2020
sigma = 1.0-0.9839*exp(-0.09835*4.e7*0.9/imsize/3000.) ! Based on Arakawa 2011 sigma used in GF2020

! Background Gravity wave drag
! ----------------------------
Expand Down Expand Up @@ -360,18 +365,21 @@ subroutine Initialize ( GC, IMPORT, EXPORT, CLOCK, RC )

! NCAR GWD settings
! -----------------
call MAPL_GetResource( MAPL, NCAR_TAU_TOP_ZERO, Label="NCAR_TAU_TOP_ZERO:", default=50.0, _RC) ! 0.5 hPa
call MAPL_GetResource( MAPL, NCAR_PRNDL, Label="NCAR_PRNDL:", default=0.50, _RC)
call MAPL_GetResource( MAPL, NCAR_CNV_TAU_TOP_ZERO, Label="NCAR_CNV_TAU_TOP_ZERO:", default= 30.0 , _RC)
call MAPL_GetResource( MAPL, NCAR_FRT_TAU_TOP_ZERO, Label="NCAR_FRT_TAU_TOP_ZERO:", default= 5.0 , _RC)
call MAPL_GetResource( MAPL, NCAR_ORO_TAU_TOP_ZERO, Label="NCAR_ORO_TAU_TOP_ZERO:", default= 5.0 , _RC)

NCAR_QBO_HDEPTH_SCALING = 1.0 - 0.75*sigma
call MAPL_GetResource( MAPL, NCAR_QBO_HDEPTH_SCALING, Label="NCAR_QBO_HDEPTH_SCALING:", default=NCAR_QBO_HDEPTH_SCALING, _RC)

NCAR_HR_CF = CEILING(20.0*sigma)
call MAPL_GetResource( MAPL, NCAR_HR_CF, Label="NCAR_HR_CF:", default=NCAR_HR_CF, _RC)

call gw_common_init( NCAR_TAU_TOP_ZERO , 1 , &
call gw_common_init( NCAR_CNV_TAU_TOP_ZERO, NCAR_FRT_TAU_TOP_ZERO , NCAR_ORO_TAU_TOP_ZERO , 1 , &
MAPL_GRAV , &
MAPL_RGAS , &
MAPL_CP , &
NCAR_PRNDL, NCAR_QBO_HDEPTH_SCALING, NCAR_HR_CF, ERRstring )
ERRstring )

! Beres Scheme File
call MAPL_GetResource( MAPL, BERES_FILE_NAME, Label="BERES_FILE_NAME:", &
Expand All @@ -383,40 +391,41 @@ subroutine Initialize ( GC, IMPORT, EXPORT, CLOCK, RC )
call MAPL_GetResource( MAPL, NCAR_TR_EFF, Label="NCAR_TR_EFF:", default=1.0, _RC)
call MAPL_GetResource( MAPL, NCAR_ET_EFF, Label="NCAR_ET_EFF:", default=1.0, _RC)

call MAPL_GetResource( MAPL, NCAR_ET_USE_DQCDT, Label="NCAR_ET_USE_DQCDT:", default=.TRUE., _RC)
call MAPL_GetResource( MAPL, NCAR_ET_USE_SPEED, Label="NCAR_ET_USE_SPEED:", default=.FALSE.,_RC)

! 1. Default to classic rigid latitude tuning
NCAR_ET_TAUBGND = 6.4
NCAR_BKG_TAU = 6.4
! 2. Set baselines for independent runs
if (NCAR_ET_USE_DQCDT .or. NCAR_ET_USE_SPEED) NCAR_ET_TAUBGND = 10.0
call MAPL_GetResource( MAPL, NCAR_ET_TAUBGND, Label="NCAR_ET_TAUBGND:", default=NCAR_ET_TAUBGND, _RC)
call MAPL_GetResource( MAPL, NCAR_ET_FAC_DTDTM, Label="NCAR_ET_FAC_DTDTM:", default=0.75, _RC)
call MAPL_GetResource( MAPL, NCAR_ET_FAC_WS300, Label="NCAR_ET_FAC_WS300:", default=1.25, _RC)
if (NCAR_ET_FAC_DTDTM /= 0.0 .or. NCAR_ET_FAC_WS300 /= 0.0) NCAR_BKG_TAU = 3.0*sigma
call MAPL_GetResource( MAPL, NCAR_BKG_TAU, Label="NCAR_BKG_TAU:", default=NCAR_BKG_TAU, _RC)

call MAPL_GetResource( MAPL, NCAR_BKG_TNDMAX, Label="NCAR_BKG_TNDMAX:", default=250.0, _RC)
NCAR_BKG_TNDMAX = NCAR_BKG_TNDMAX/86400.0
! Beres DeepCu
call MAPL_GetResource( MAPL, NCAR_DC_BERES_SRC_LEVEL, "NCAR_DC_BERES_SRC_LEVEL:", DEFAULT=70000.0, _RC)
call MAPL_GetResource( MAPL, NCAR_DC_BERES, "NCAR_DC_BERES:", DEFAULT=.TRUE., _RC)
call MAPL_GetResource( MAPL, NCAR_BKG_EW_CRIT_THRESH, "NCAR_BKG_EW_CRIT_THRESH:", DEFAULT=1.0e-3, _RC)
call MAPL_GetResource( MAPL, NCAR_BKG_WW_CRIT_THRESH, "NCAR_BKG_WW_CRIT_THRESH:", DEFAULT=1.0e-10, _RC)
if (use_threads) then
bounds = MAPL_find_bounds(JM, num_threads)
do thread = 0, num_threads-1
JM_thread = bounds(thread+1)%max - bounds(thread+1)%min + 1
call gw_beres_init( BERES_FILE_NAME , &
self%workspaces(thread)%beres_band, &
self%workspaces(thread)%beres_dc_desc, &
NCAR_BKG_PGWV, NCAR_BKG_GW_DC, NCAR_BKG_FCRIT2, &
NCAR_BKG_WAVELENGTH, NCAR_DC_BERES_SRC_LEVEL, &
1000.0, .TRUE., NCAR_TR_EFF, NCAR_ET_EFF, NCAR_ET_TAUBGND, NCAR_ET_USE_DQCDT, NCAR_ET_USE_SPEED, &
NCAR_BKG_PGWV, NCAR_BKG_GW_DC, NCAR_BKG_EW_CRIT_THRESH, NCAR_BKG_WW_CRIT_THRESH, NCAR_BKG_FCRIT2, &
NCAR_BKG_WAVELENGTH, NCAR_DC_BERES_SRC_LEVEL, NCAR_HR_CF, NCAR_QBO_HDEPTH_SCALING, &
1000.0, .TRUE., NCAR_TR_EFF, NCAR_ET_EFF, NCAR_BKG_TAU, NCAR_ET_FAC_DTDTM, NCAR_ET_FAC_WS300, &
NCAR_BKG_TNDMAX, NCAR_DC_BERES, &
IM*JM_thread, LATS(:,bounds(thread+1)%min:bounds(thread+1)%max))
end do
else
call gw_beres_init( BERES_FILE_NAME , &
self%workspaces(0)%beres_band, &
self%workspaces(0)%beres_dc_desc, &
NCAR_BKG_PGWV, NCAR_BKG_GW_DC, NCAR_BKG_FCRIT2, &
NCAR_BKG_WAVELENGTH, NCAR_DC_BERES_SRC_LEVEL, &
1000.0, .TRUE., NCAR_TR_EFF, NCAR_ET_EFF, NCAR_ET_TAUBGND, NCAR_ET_USE_DQCDT, NCAR_ET_USE_SPEED, &
NCAR_BKG_PGWV, NCAR_BKG_GW_DC, NCAR_BKG_EW_CRIT_THRESH, NCAR_BKG_WW_CRIT_THRESH, NCAR_BKG_FCRIT2, &
NCAR_BKG_WAVELENGTH, NCAR_DC_BERES_SRC_LEVEL, NCAR_HR_CF, NCAR_QBO_HDEPTH_SCALING, &
1000.0, .TRUE., NCAR_TR_EFF, NCAR_ET_EFF, NCAR_BKG_TAU, NCAR_ET_FAC_DTDTM, NCAR_ET_FAC_WS300, &
NCAR_BKG_TNDMAX, NCAR_DC_BERES, &
IM*JM, LATS )
endif
Expand All @@ -425,13 +434,16 @@ subroutine Initialize ( GC, IMPORT, EXPORT, CLOCK, RC )
call MAPL_GetResource( MAPL, NCAR_ORO_PGWV, Label="NCAR_ORO_PGWV:", default=0, _RC)
call MAPL_GetResource( MAPL, NCAR_ORO_GW_DC, Label="NCAR_ORO_GW_DC:", default=2.5, _RC)
call MAPL_GetResource( MAPL, NCAR_ORO_WAVELENGTH, Label="NCAR_ORO_WAVELENGTH:", default=1.e5, _RC)
call MAPL_GetResource( MAPL, NCAR_ORO_EW_CRIT_THRESH, "NCAR_ORO_EW_CRIT_THRESH:", DEFAULT=1.0e-2, _RC)
call MAPL_GetResource( MAPL, NCAR_ORO_WW_CRIT_THRESH, "NCAR_ORO_WW_CRIT_THRESH:", DEFAULT=1.0e-2, _RC)
if (self%NCAR_NRDG > 0) then
call MAPL_GetResource( MAPL, NCAR_ORO_FCRIT2, Label="NCAR_ORO_FCRIT2:", default=1.0, _RC)
call MAPL_GetResource( MAPL, NCAR_ORO_TNDMAX, Label="NCAR_ORO_TNDMAX:", default=400.0,_RC)
NCAR_ORO_TNDMAX = NCAR_ORO_TNDMAX/86400.0
! Ridge Scheme
do thread = 0, num_threads-1
call gw_rdg_init ( self%workspaces(thread)%rdg_band, NCAR_ORO_GW_DC, NCAR_ORO_FCRIT2, NCAR_ORO_WAVELENGTH, NCAR_ORO_TNDMAX, NCAR_ORO_PGWV )
call gw_rdg_init (self%workspaces(thread)%rdg_band, NCAR_ORO_GW_DC, NCAR_ORO_EW_CRIT_THRESH, NCAR_ORO_WW_CRIT_THRESH, &
NCAR_ORO_FCRIT2, NCAR_ORO_WAVELENGTH, NCAR_ORO_TNDMAX, NCAR_ORO_PGWV)
end do
else
! Old Scheme
Expand All @@ -440,9 +452,9 @@ subroutine Initialize ( GC, IMPORT, EXPORT, CLOCK, RC )
call MAPL_GetResource( MAPL, NCAR_ORO_TNDMAX, Label="NCAR_ORO_TNDMAX:", default=400.0, _RC)
NCAR_ORO_TNDMAX = NCAR_ORO_TNDMAX/86400.0
do thread = 0, num_threads-1
call gw_oro_init ( self%workspaces(thread)%oro_band, NCAR_ORO_GW_DC, &
NCAR_ORO_FCRIT2, NCAR_ORO_WAVELENGTH, NCAR_ORO_PGWV, &
NCAR_ORO_SOUTH_FAC, NCAR_ORO_TNDMAX )
call gw_oro_init (self%workspaces(thread)%oro_band, NCAR_ORO_GW_DC, NCAR_ORO_EW_CRIT_THRESH, NCAR_ORO_WW_CRIT_THRESH, &
NCAR_ORO_FCRIT2, NCAR_ORO_WAVELENGTH, NCAR_ORO_PGWV, &
NCAR_ORO_SOUTH_FAC, NCAR_ORO_TNDMAX )
end do
endif

Expand Down Expand Up @@ -613,6 +625,15 @@ subroutine Gwd_Driver(RC)
real, dimension(IM,JM ) :: TAUXB_TMP_NCAR, TAUYB_TMP_NCAR
real, dimension(IM,JM ) :: TAUXO_TMP_NCAR, TAUYO_TMP_NCAR

real, dimension(IM,JM) :: BKG_TAU_TOT_TMP, BKG_TAU_CNV_TMP
real, dimension(IM,JM) :: BKG_TAU_DRY_TMP, BKG_TAU_MST_TMP
real, dimension(IM,JM, LM) :: TAUGWX_TOT_TMP, TAUGWY_TOT_TMP
real, dimension(IM,JM, LM) :: FEGW_TOT_TMP, FEPGW_TOT_TMP
real, dimension(IM,JM, LM) :: TAUGWX_EAST_TMP, TAUGWY_EAST_TMP
real, dimension(IM,JM, LM) :: FEGW_EAST_TMP, FEPGW_EAST_TMP
real, dimension(IM,JM, LM) :: TAUGWX_WEST_TMP, TAUGWY_WEST_TMP
real, dimension(IM,JM, LM) :: FEGW_WEST_TMP, FEPGW_WEST_TMP

REAL, ALLOCATABLE, TARGET, DIMENSION(:,:,:) :: scratch_ridge

integer :: J, K, L, nrdg, ikpbl
Expand Down Expand Up @@ -693,12 +714,14 @@ subroutine Gwd_Driver(RC)
TAUYO_TMP_NCAR = 0.0
!call MAPL_TimerOn(MAPL,"-INTR_NCAR")
if ( (self%NCAR_EFFGWORO /= 0.0) .OR. (self%NCAR_EFFGWBKG /= 0.0) ) then

DO L=1, LM
! Raising the mask to the 4th power aggressively suppresses
! tendencies in regions with even modest CNV_FRC values
TMP3D(:,:,L) = ((1.0-CNV_FRC)**4) * (DQLDT(:,:,L)+DQIDT(:,:,L))
! Isolate purely large-scale/frontal latent heating by removing convective overlap.
! Since CNV_FRC is a CAPE-derived proxy for convective activity, raising the
! (1.0 - CNV_FRC) mask to the 4th power aggressively filters out the microphysics
! heating (HT_mi) in regions with even modest convective instability.
TMP3D(:,:,L) = ((1.0-CNV_FRC)**4) * HT_mi(:,:,L)
END DO
if(associated(DQCDT_LS)) DQCDT_LS = TMP3D
thread = MAPL_get_current_thread()
workspace => self%workspaces(thread)
call gw_intr_ncar(IM*JM, LM, DT, self%NCAR_NRDG, &
Expand All @@ -710,13 +733,45 @@ subroutine Gwd_Driver(RC)
ANIXY, GBXAR_TMP, KWVRDG, EFFRDG, PREF, &
PMID, PDEL, RPDEL, PILN, ZM, LATS, &
PHIS, &
BKG_TAU_TOT_TMP, BKG_TAU_CNV_TMP, BKG_TAU_DRY_TMP, BKG_TAU_MST_TMP, &
DUDT_GWD_NCAR, DVDT_GWD_NCAR, DTDT_GWD_NCAR, &
DUDT_ORG_NCAR, DVDT_ORG_NCAR, DTDT_ORG_NCAR, &
TAUXO_TMP_NCAR, TAUYO_TMP_NCAR, &
TAUXB_TMP_NCAR, TAUYB_TMP_NCAR, &
TAUGWX_TOT_TMP, TAUGWY_TOT_TMP, FEGW_TOT_TMP, FEPGW_TOT_TMP, &
TAUGWX_EAST_TMP, TAUGWY_EAST_TMP, FEGW_EAST_TMP, FEPGW_EAST_TMP, &
TAUGWX_WEST_TMP, TAUGWY_WEST_TMP, FEGW_WEST_TMP, FEPGW_WEST_TMP, &
self%NCAR_EFFGWORO, &
self%NCAR_EFFGWBKG, self%alpha, &
_RC)

!-----------------------------------------------------------------------
! Fill export arrays from temporary arrays
!-----------------------------------------------------------------------
! Background stress diagnostics
if(associated(BKG_TAU_TOT)) BKG_TAU_TOT = BKG_TAU_TOT_TMP
if(associated(BKG_TAU_CNV)) BKG_TAU_CNV = BKG_TAU_CNV_TMP
if(associated(BKG_TAU_DRY)) BKG_TAU_DRY = BKG_TAU_DRY_TMP
if(associated(BKG_TAU_MST)) BKG_TAU_MST = BKG_TAU_MST_TMP

! Total momentum and energy flux diagnostics
if(associated(TAUGWX_TOT)) TAUGWX_TOT = TAUGWX_TOT_TMP
if(associated(TAUGWY_TOT)) TAUGWY_TOT = TAUGWY_TOT_TMP
if(associated(FEGW_TOT)) FEGW_TOT = FEGW_TOT_TMP
if(associated(FEPGW_TOT)) FEPGW_TOT = FEPGW_TOT_TMP

! Eastward-propagating wave diagnostics
if(associated(TAUGWX_EAST)) TAUGWX_EAST = TAUGWX_EAST_TMP
if(associated(TAUGWY_EAST)) TAUGWY_EAST = TAUGWY_EAST_TMP
if(associated(FEGW_EAST)) FEGW_EAST = FEGW_EAST_TMP
if(associated(FEPGW_EAST)) FEPGW_EAST = FEPGW_EAST_TMP

! Westward-propagating wave diagnostics
if(associated(TAUGWX_WEST)) TAUGWX_WEST = TAUGWX_WEST_TMP
if(associated(TAUGWY_WEST)) TAUGWY_WEST = TAUGWY_WEST_TMP
if(associated(FEGW_WEST)) FEGW_WEST = FEGW_WEST_TMP
if(associated(FEPGW_WEST)) FEPGW_WEST = FEPGW_WEST_TMP

endif
!call MAPL_TimerOff(MAPL,"-INTR_NCAR")

Expand Down
Loading
Loading