Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
152 commits
Select commit Hold shift + click to select a range
a0a8981
Merge branch 'master' of https://github.com/NCAR/ccpp-physics
grantfirl Aug 20, 2019
7092334
Merge branch 'master' of https://github.com/NCAR/ccpp-physics
grantfirl Sep 17, 2019
ab96404
three files GFS_debug.F90, rrtmg_lw_pre.F90, and rrtmg_sw_pre.F90 are…
SMoorthi-emc Sep 18, 2019
9c059f0
three files GFS_debug.F90, rrtmg_lw_pre.F90, and rrtmg_sw_pre.F90 are…
SMoorthi-emc Sep 18, 2019
8f480db
physics/GFS_debug.F90, physics/rrtmg_lw_pre.F90, physics/rrtmg_sw_pre…
climbfuji Sep 23, 2019
e5828d5
Merge pull request #321 from grantfirl/noahmp_scm
grantfirl Sep 23, 2019
817e0f8
Merge pull request #326 from climbfuji/update_gsd_develop_from_gmtb_d…
climbfuji Sep 24, 2019
ce641c9
Merge pull request #325 from climbfuji/update_moorthi_gfsv16_changes_…
climbfuji Sep 26, 2019
11e1d3d
Fix the unit conversion for soil moisture content.
tanyasmirnova Oct 7, 2019
cb60e20
Added semi-implicit time differencing for turbulent form drag and sma…
mdtoyNOAA Oct 8, 2019
b1d5f4c
Added sea_land_ice mask to the parameter list in sfc_drv_ruc. It will…
tanyasmirnova Oct 8, 2019
8af686d
Merge pull request #334 from tanyasmirnova/ruc_land_ice_v1
climbfuji Oct 8, 2019
325f9b1
Modifications of CMakeLists.txt to support out-of-source builds, requ…
climbfuji Aug 29, 2019
7fbe839
Bug fix in the unit conversion from [mm] to [m] for liquid rain.
tanyasmirnova Oct 10, 2019
15de364
Use fraction of frozen precipitation SR, computed in GFDL or Thompson…
tanyasmirnova Oct 10, 2019
543f640
Merge pull request #337 from tanyasmirnova/gsd_develop_ructhomp
climbfuji Oct 10, 2019
57e5c69
physics/cires_ugwp_post.F90: use assumed-size arrays for arrays that …
climbfuji Oct 13, 2019
a44ff42
Merge branch 'gsd/develop' of https://github.com/NCAR/ccpp-physics in…
climbfuji Oct 13, 2019
9d6dd01
Merge pull request #333 from mdtoy/gmtb/develop
climbfuji Oct 13, 2019
b9854b3
Merge branch 'gmtb/develop' of https://github.com/NCAR/ccpp-physics i…
climbfuji Oct 13, 2019
81e02a7
physics/gwdps.f: remove note that adding intent(in) for certain varia…
climbfuji Oct 13, 2019
cfafb29
Merge pull request #339 from climbfuji/merge_gsd_develop_drag_suite_u…
climbfuji Oct 15, 2019
f3e4180
Merge branch 'gmtb/develop' of https://github.com/NCAR/ccpp-physics i…
climbfuji Oct 16, 2019
d139dbb
physics/sfc_drv_ruc.*: update for GFSv16
climbfuji Oct 18, 2019
596c435
adding ras
SMoorthi-emc Oct 21, 2019
e071bcd
updating rascnv.meta
SMoorthi-emc Oct 21, 2019
3bb41d6
Add / prefix to all source files
climbfuji Oct 21, 2019
774141b
Merge branch 'ccpp_prebuild_out_of_source_build' of https://github.co…
climbfuji Oct 21, 2019
2b42c9e
addingarg_table_rascnv-run to rascnv.F90
SMoorthi-emc Oct 22, 2019
e1a33ba
CMakeLists.txt: extract filename from full path for auto-generated ca…
climbfuji Oct 22, 2019
26b2c57
reorganize GWD interstitial schemes; create GFS_GWD_generic_post that…
grantfirl Oct 22, 2019
0eed003
use the namelist filename passed in to cires_ugwp_module.F90 rather t…
grantfirl Oct 23, 2019
42997f3
updating rascnv.F90 and rascnv.meta
SMoorthi-emc Oct 23, 2019
c1f1a67
add option for INTERNAL_FILE_NML preprocessor directive
grantfirl Oct 24, 2019
8d7970c
add initial NoahMP docs to CCPP scientific docs
grantfirl Oct 25, 2019
de0058a
modifying rascvnv and GFS_suite_interstitial to include ras convectio…
SMoorthi-emc Oct 28, 2019
d4b1cd0
Merge pull request #340 from climbfuji/update_master_from_gmtb_develo…
climbfuji Oct 31, 2019
d0f4e50
Merge pull request #3 from NCAR/gmtb/develop
panll Nov 1, 2019
d8e5653
modified for coupling, removing:
linlin-pan Nov 1, 2019
9e906cc
bug fix in rascnv.F90
SMoorthi-emc Nov 1, 2019
5658661
updated master on my fork
SMoorthi-emc Nov 1, 2019
fe8dbe3
Merge branch 'master' of https://github.com/NCAR/ccpp-physics
SMoorthi-emc Nov 1, 2019
20f23e1
Merge branch 'master' of https://github.com/NCAR/ccpp-physics
grantfirl Nov 1, 2019
59717c5
Merge branch 'master' into cires_ugwp_namelist_fix
grantfirl Nov 1, 2019
42c56e2
Merge pull request #348 from panll/gmtb/develop
climbfuji Nov 3, 2019
b2d67d8
Merge branch 'cires_ugwp_namelist_fix' into gwd_interstitial_reorg
grantfirl Nov 4, 2019
d672104
Merge branch 'master' of https://github.com/SMoorthi-emc/ccpp-physics…
SMoorthi-emc Nov 4, 2019
4b46d26
Merge branch 'master' of https://github.com/NCAR/ccpp-physics into HEAD
climbfuji Nov 4, 2019
86276c1
physics/ozphys.*, physics/ozphys_2015.*: add guard to prevent mismatc…
climbfuji Nov 5, 2019
291153c
Merge branch 'cires_ugwp_namelist_fix' of https://github.com/grantfir…
climbfuji Nov 5, 2019
51c13be
after merging with ccpp/physics master on nom04
SMoorthi-emc Nov 6, 2019
6d0a40c
Merge pull request #343 from grantfirl/cires_ugwp_namelist_fix
grantfirl Nov 6, 2019
333980d
Merge pull request #350 from climbfuji/ozphys_guard_based_on_dtc_develop
grantfirl Nov 7, 2019
594b5db
update gfdlmp to reduce cold bias in lower level
junwang-noaa Nov 7, 2019
af996a7
debugging rascnv in ccpp
SMoorthi-emc Nov 12, 2019
052a0d5
fix ia in rascnv and lat/lon for debug point
SMoorthi-emc Nov 12, 2019
12b644a
modified: cires_ugwp.F90
bluefinweiwei Nov 13, 2019
904a433
Merge pull request #351 from junwang-noaa/gfdlmp_update
climbfuji Nov 14, 2019
b93c035
GFS_surface_composites.F90: apply missing change for fv3atm pr8
climbfuji Nov 14, 2019
74851c1
Merge pull request #342 from grantfirl/gwd_interstitial_reorg
grantfirl Nov 15, 2019
f76a23d
tentatively fixed gfortran compilation error in ugwp_driver_v0.F
grantfirl Nov 15, 2019
8300bfa
physics/GFS_SCNV_generic.*, physics/samfshalcnv.*: remove module samf…
climbfuji Nov 18, 2019
3bec6c5
physics/satmedmfvdif.*, physics/tridi.f: move subroutine tridit to tr…
climbfuji Nov 18, 2019
e45cb37
physics/satmedmfvdifq.* physics/mfpbltq.f physics/mfscuq.f: add satme…
climbfuji Nov 18, 2019
2d5a8e8
physics/sascnvn.*, physics/shalcnv.*: add SAS deep and shallow convec…
climbfuji Nov 18, 2019
bd47378
physics/sascnvn.meta: bugfix, use correct variable for cloud work fun…
climbfuji Nov 19, 2019
cbbac67
mfpbltq.f, mfscuq.f, satmedmfvdifq.F: change comments in code from "H…
climbfuji Nov 20, 2019
a7c38a6
Merge pull request #355 from climbfuji/add_sas_and_satmedmfvdifq
climbfuji Nov 20, 2019
c960b4c
Merge branch 'dtc/develop' into fix_cires_ugwp_compilation_warning
grantfirl Nov 21, 2019
27c21db
From @mzhangw: add Ferrier-Aligo microphysics scheme and make corresp…
climbfuji Nov 22, 2019
ed8d6b9
Merge pull request #358 from climbfuji/man_fa_squashed
climbfuji Nov 22, 2019
73b8c0d
Merge pull request #354 from grantfirl/fix_cires_ugwp_compilation_war…
climbfuji Nov 25, 2019
73bbc9f
Merge gsd/develop into dtc/develop, squashed commit of the following:
climbfuji Nov 26, 2019
988e95a
physics/GFS_suite_interstitial.*: use new imfdeepcnv_gf parameter ins…
climbfuji Nov 26, 2019
17f585a
physics/drag_suite.F90: bugfix, initialize rstoch to zero (since SPP …
climbfuji Nov 26, 2019
80edd78
physics/sfc_drv_ruc.F90: remove comment line that was left mistakenly
climbfuji Nov 26, 2019
ac7e80d
Merge pull request #359 from climbfuji/merge_gsd_develop_and_drag_sui…
climbfuji Nov 27, 2019
ee994cb
Merge branch 'master' of https://github.com/NCAR/ccpp-physics into HEAD
climbfuji Nov 27, 2019
2e0d557
Merge branch 'missing_cplflx_change_for_fv3atm_pr8' of https://github…
climbfuji Nov 27, 2019
c11b6e8
Update of physics/satmedmfvdifq.F to reflect changes in IPD version
climbfuji Nov 27, 2019
efec724
physics/drag_suite.F90: bugfix to prevent use of uninitialized variab…
climbfuji Nov 30, 2019
308a197
Thompson MP: improve diagnostic messages for negative qv/qr/qs/... an…
climbfuji Dec 2, 2019
e3131e4
add preprocessor directive around MPI_BCAST statements for non-MPI co…
grantfirl Dec 2, 2019
7041bd2
Merge pull request #363 from grantfirl/fix_no_mpi_compile_FA
climbfuji Dec 3, 2019
e989adc
replace MPI_ABORT in physics/module_MP_FER_HIRES.F90 with setting CCP…
grantfirl Dec 3, 2019
f895fc0
Merge pull request #360 from climbfuji/dtc_develop_udpate_from_emc_20…
climbfuji Dec 3, 2019
7d9cf52
move calculation of precipitation rates needed by NoahMP LSM to GFS_M…
grantfirl Dec 5, 2019
c2ea31b
Merge branch 'fix_no_mpi_compile_FA' of https://github.com/grantfirl/…
climbfuji Dec 5, 2019
0858345
Merge branch 'dtc/develop' into NoahMP_docs
grantfirl Dec 6, 2019
e0e91d8
update the NoahMP mainpage to reflect info from Helin Wei
grantfirl Dec 6, 2019
b10e93b
Merge branch 'NoahMP_docs' of https://github.com/grantfirl/ccpp-physi…
climbfuji Dec 6, 2019
feb0a39
Merge branch 'ugwp_doc' of https://github.com/bluefinweiwei/ccpp-phys…
climbfuji Dec 6, 2019
4dbe318
Merge branch 'fix_noahmp_precip_rates' of https://github.com/grantfir…
climbfuji Dec 6, 2019
812f8b6
fix array dimensions for phii, prsi in ugwp_driver_v0.F
grantfirl Dec 6, 2019
49deeca
Merge branch 'fix_cires_ugwp_dimension_bug' of https://github.com/gra…
climbfuji Dec 6, 2019
3fad556
Merge pull request #365 from grantfirl/fix_noahmp_precip_rates
climbfuji Dec 9, 2019
02812f6
Merge pull request #366 from climbfuji/update_dtc_develop_from_emc_de…
climbfuji Dec 9, 2019
b7a3531
add preliminary satmedmfvdifq documentation
grantfirl Dec 13, 2019
947d7c9
adding RAS and updating mg driver and shoc and and corresponding upda…
SMoorthi-emc Dec 16, 2019
ee1065b
Connect HAFS version of GFS EDMF PBL scheme with CCPP (Qingfu, Bin, C…
BinLiu-NOAA Dec 18, 2019
bf549a0
Apply missing code change for coupled model runs in physics/GFS_surfa…
climbfuji Dec 18, 2019
608b3c9
Mirror updates to IPD physics in CCPP
climbfuji Dec 26, 2019
62fb748
after updates to make ras+mg3+shoc reproduce between ipd and ccpp
SMoorthi-emc Dec 28, 2019
647a9cf
updtes to GFS_suite_interstitial.F90 , gcm_shoc.F90, m_micro.F90 with…
SMoorthi-emc Dec 30, 2019
3998189
Merge pull request #372 from climbfuji/ncar_master_update_from_dtc_de…
climbfuji Jan 6, 2020
20ff178
physics/samfdeepcnv.f, physics/satmedmfvdifq.F: GFSv16 updates copied…
climbfuji Jan 12, 2020
372bd9d
after merging with NCAR/ccpp-physics and some updates
SMoorthi-emc Jan 14, 2020
ed16475
Fixed the bugs related to the closure of shallow convection.
ChunxiZhang-NOAA Jan 22, 2020
2402a2e
Merge branch 'master' into feature/hafs_ccpp
BinLiu-NOAA Jan 23, 2020
7db1d7e
Revised the code the new Tiedtke scheme
ChunxiZhang-NOAA Jan 23, 2020
8223afe
physics/module_mp_thompson.F90: bugfix, remove threaded computation/r…
climbfuji Jan 23, 2020
01ed01f
Merge pull request #377 from climbfuji/gfsv16_netcdf_post_ficein_cpl
climbfuji Jan 24, 2020
4c7dcaa
Add missing updates from IPD physics commit 7ffe6471c20404091fbbf8f32…
climbfuji Jan 27, 2020
06aeee6
after updating the code based on climbfuji comments from CCPP
SMoorthi-emc Jan 27, 2020
fa48e2b
Merge branch 'master' into feature/hafs_ccpp
BinLiu-NOAA Jan 30, 2020
85b04fb
Adjust long names for hydrometeors
climbfuji Jan 30, 2020
5c7252f
Restore scientific documentation in physics/micro_mg3_0.F90
climbfuji Jan 31, 2020
6e5cc78
Merge pull request #1 from climbfuji/update_longnames_dom_scidoc_micr…
SMoorthi-emc Jan 31, 2020
b7e321b
changing doxygen command in two lines in file micro_mg3.F90
SMoorthi-emc Jan 31, 2020
ca3ecd3
Merge pull request #388 from climbfuji/update_dtc_develop_from_master
climbfuji Feb 3, 2020
063fa92
Merge branch 'tiedtke' of https://github.com/ChunxiZhang-NOAA/ccpp-ph…
climbfuji Feb 3, 2020
f4ec6ad
Merge branch 'bugfix_thompson_threading' of https://github.com/climbf…
climbfuji Feb 3, 2020
3f5e681
Merge branch 'feature/hafs_ccpp' of https://github.com/hafs-community…
climbfuji Feb 5, 2020
246ae2f
Merge branch 'satmedmfvdifq_doc' of https://github.com/grantfirl/ccpp…
climbfuji Feb 5, 2020
73f9f09
Merge pull request #394 from climbfuji/dom_combine_prs_20200204
climbfuji Feb 6, 2020
8a8de17
setting the momentum, sensible and latent heat fluxes over land expor…
SMoorthi-emc Feb 10, 2020
f562f44
Changing ice fraction definition
ShanSunNOAA Feb 14, 2020
d5f25a0
Revert one unnecessary change
ShanSunNOAA Feb 14, 2020
86644f4
Use reset to call full Thompson refl at output times, pass in kdt, an…
ericaligo-NOAA Feb 18, 2020
90b5d9a
update gcycle to define tsfco
SMoorthi-emc Feb 19, 2020
a8384f0
seting tem(i) to 0.0 in ugwp_driver_v0.f
SMoorthi-emc Feb 19, 2020
08aa96d
removing some blanks in ugwp_driver_v0.F
SMoorthi-emc Feb 19, 2020
21190a8
fixing a bug in gcycle update
SMoorthi-emc Feb 26, 2020
02a0e7f
fixing a typo in gcycle.F90
SMoorthi-emc Feb 26, 2020
5936661
removing updating tsfco in gcycle when nsstr is on
SMoorthi-emc Feb 27, 2020
c9557ec
Flip k dimension to correctly output all ad-hoc stochastic physics fi…
JeffBeck-NOAA Mar 2, 2020
e7909b4
Merge pull request #378 from SMoorthi-emc/SM_Jan102020
climbfuji Mar 5, 2020
dd0c309
Merge branch 'master' of https://github.com/NCAR/ccpp-physics into HEAD
climbfuji Mar 11, 2020
97628f3
Merge branch 'master' of https://github.com/JeffBeck-NOAA/ccpp-physic…
climbfuji Mar 12, 2020
85e1ba7
Merge branch 'tho_noaero_refl' of https://github.com/ericaligo-NOAA/c…
climbfuji Mar 12, 2020
9a0327b
Mering master (e7909b4) into branch fractional_landmask
ShanSunNOAA Mar 12, 2020
db57e18
Merge pull request #406 from climbfuji/merge_emc_develop_20200311_aft…
climbfuji Mar 12, 2020
554d0cd
Merge branch 'dtc/develop' of https://github.com/NCAR/ccpp-physics in…
climbfuji Mar 12, 2020
0595482
physics/mp_thompson.meta: use different standard name for reset
climbfuji Mar 12, 2020
667cfc2
Merge branch 'fractional_landmask' of https://github.com/shansun6/ccp…
climbfuji Mar 13, 2020
d979604
Merge pull request #407 from climbfuji/update_from_dev_emc_20200312_a…
climbfuji Mar 13, 2020
215399e
Remove unused argument kdt from MP Thompson
climbfuji Mar 13, 2020
82012f6
Merge pull request #409 from climbfuji/final_pr_before_merging_to_dev…
climbfuji Mar 17, 2020
c8a345a
physics/dcyc2.meta: bugfix for levr < levs
climbfuji Mar 17, 2020
bdc2c70
Further bugfixes for levr<levs for other physics schemes
climbfuji Mar 17, 2020
3d45390
Merge pull request #410 from climbfuji/update_ncar_master_from_dtc_de…
climbfuji Mar 18, 2020
e99cfb1
Merge branch 'master' of https://github.com/NCAR/ccpp-physics into MG…
climbfuji Mar 20, 2020
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
30 changes: 18 additions & 12 deletions physics/GFS_DCNV_generic.F90
Original file line number Diff line number Diff line change
Expand Up @@ -17,17 +17,17 @@ end subroutine GFS_DCNV_generic_pre_finalize
!! \htmlinclude GFS_DCNV_generic_pre_run.html
!!
#endif
subroutine GFS_DCNV_generic_pre_run (im, levs, ldiag3d, do_cnvgwd, do_ca, &
subroutine GFS_DCNV_generic_pre_run (im, levs, ldiag3d, do_cnvgwd, do_ca, cplchm,&
isppt_deep, gu0, gv0, gt0, gq0_water_vapor, &
save_u, save_v, save_t, save_qv, ca_deep, &
errmsg, errflg)
dqdti, errmsg, errflg)

use machine, only: kind_phys
use machine, only: kind_phys

implicit none

integer, intent(in) :: im, levs
logical, intent(in) :: ldiag3d, do_cnvgwd, do_ca, isppt_deep
logical, intent(in) :: ldiag3d, do_cnvgwd, do_ca, cplchm, isppt_deep
real(kind=kind_phys), dimension(im,levs), intent(in) :: gu0
real(kind=kind_phys), dimension(im,levs), intent(in) :: gv0
real(kind=kind_phys), dimension(im,levs), intent(in) :: gt0
Expand All @@ -37,9 +37,12 @@ subroutine GFS_DCNV_generic_pre_run (im, levs, ldiag3d, do_cnvgwd, do_ca,
real(kind=kind_phys), dimension(im,levs), intent(inout) :: save_t
real(kind=kind_phys), dimension(im,levs), intent(inout) :: save_qv
real(kind=kind_phys), dimension(im), intent(in) :: ca_deep
! dqdti only allocated if cplchm is .true.
real(kind=kind_phys), dimension(:,:), intent(inout) :: dqdti
character(len=*), intent(out) :: errmsg
integer, intent(out) :: errflg

real(kind=kind_phys), parameter :: zero = 0.0d0
integer :: i, k

! Initialize CCPP error handling variables
Expand Down Expand Up @@ -70,14 +73,18 @@ subroutine GFS_DCNV_generic_pre_run (im, levs, ldiag3d, do_cnvgwd, do_ca,
enddo
endif

if (ldiag3d .or. isppt_deep) then
if (ldiag3d .or. cplchm .or. isppt_deep) then
do k=1,levs
do i=1,im
save_qv(i,k) = gq0_water_vapor(i,k)
enddo
enddo
endif

if (cplchm) then
dqdti = zero
endif

end subroutine GFS_DCNV_generic_pre_run

end module GFS_DCNV_generic_pre
Expand All @@ -97,7 +104,7 @@ end subroutine GFS_DCNV_generic_post_finalize
!!
subroutine GFS_DCNV_generic_post_run (im, levs, lssav, ldiag3d, ras, cscnv, do_ca, &
isppt_deep, frain, rain1, dtf, cld1d, save_u, save_v, save_t, save_qv, gu0, gv0, gt0, &
gq0_water_vapor, ud_mf, dd_mf, dt_mf, con_g, clw_ice, clw_liquid, npdf3d, num_p3d, ncnvcld3d, &
gq0_water_vapor, ud_mf, dd_mf, dt_mf, con_g, npdf3d, num_p3d, ncnvcld3d, &
rainc, cldwrk, dt3dt, dq3dt, du3dt, dv3dt, upd_mf, dwn_mf, det_mf, &
cnvw, cnvc, cnvw_phy_f3d, cnvc_phy_f3d, &
cape, tconvtend, qconvtend, uconvtend, vconvtend, errmsg, errflg)
Expand All @@ -115,7 +122,6 @@ subroutine GFS_DCNV_generic_post_run (im, levs, lssav, ldiag3d, ras, cscnv, do_c
real(kind=kind_phys), dimension(im,levs), intent(in) :: gu0, gv0, gt0, gq0_water_vapor
real(kind=kind_phys), dimension(im,levs), intent(in) :: ud_mf, dd_mf, dt_mf
real(kind=kind_phys), intent(in) :: con_g
real(kind=kind_phys), dimension(im,levs), intent(in) :: clw_ice, clw_liquid
integer, intent(in) :: npdf3d, num_p3d, ncnvcld3d

real(kind=kind_phys), dimension(im), intent(inout) :: rainc, cldwrk
Expand Down Expand Up @@ -144,7 +150,7 @@ subroutine GFS_DCNV_generic_post_run (im, levs, lssav, ldiag3d, ras, cscnv, do_c
if (.not. ras .and. .not. cscnv) then
if(do_ca) then
do i=1,im
cape(i)=cld1d(i)
cape(i) = cld1d(i)
enddo
endif
if (npdf3d == 3 .and. num_p3d == 4) then
Expand Down Expand Up @@ -179,13 +185,13 @@ subroutine GFS_DCNV_generic_post_run (im, levs, lssav, ldiag3d, ras, cscnv, do_c
do k=1,levs
do i=1,im
dt3dt(i,k) = dt3dt(i,k) + (gt0(i,k)-save_t(i,k)) * frain
! dq3dt(i,k) = dq3dt(i,k) + (gq0_water_vapor(i,k)-save_qv(i,k)) * frain
! dq3dt(i,k) = dq3dt(i,k) + (gq0_water_vapor(i,k)-save_qv(i,k)) * frain
du3dt(i,k) = du3dt(i,k) + (gu0(i,k)-save_u(i,k)) * frain
dv3dt(i,k) = dv3dt(i,k) + (gv0(i,k)-save_v(i,k)) * frain

! upd_mf(i,k) = upd_mf(i,k) + ud_mf(i,k) * (con_g*frain)
! dwn_mf(i,k) = dwn_mf(i,k) + dd_mf(i,k) * (con_g*frain)
! det_mf(i,k) = det_mf(i,k) + dt_mf(i,k) * (con_g*frain)
! upd_mf(i,k) = upd_mf(i,k) + ud_mf(i,k) * (con_g*frain)
! dwn_mf(i,k) = dwn_mf(i,k) + dd_mf(i,k) * (con_g*frain)
! det_mf(i,k) = det_mf(i,k) + dt_mf(i,k) * (con_g*frain)
enddo
enddo
endif ! if (ldiag3d)
Expand Down
35 changes: 17 additions & 18 deletions physics/GFS_DCNV_generic.meta
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,14 @@
type = logical
intent = in
optional = F
[cplchm]
standard_name = flag_for_chemistry_coupling
long_name = flag controlling cplchm collection (default off)
units = flag
dimensions = ()
type = logical
intent = in
optional = F
[isppt_deep]
standard_name = flag_for_combination_of_sppt_with_isppt_deep
long_name = switch for combination with isppt_deep.
Expand Down Expand Up @@ -130,6 +138,15 @@
kind = kind_phys
intent = in
optional = F
[dqdti]
standard_name = instantaneous_water_vapor_specific_humidity_tendency_due_to_convection
long_name = instantaneous moisture tendency due to convection
units = kg kg-1 s-1
dimensions = (horizontal_dimension,vertical_dimension)
type = real
kind = kind_phys
intent = inout
optional = F
[errmsg]
standard_name = ccpp_error_message
long_name = error message for error handling in CCPP
Expand Down Expand Up @@ -360,24 +377,6 @@
kind = kind_phys
intent = in
optional = F
[clw_ice]
standard_name = ice_water_mixing_ratio_convective_transport_tracer
long_name = moist (dry+vapor, no condensates) mixing ratio of ice water in the convectively transported tracer array
units = kg kg-1
dimensions = (horizontal_dimension,vertical_dimension)
type = real
kind = kind_phys
intent = in
optional = F
[clw_liquid]
standard_name = cloud_condensed_water_mixing_ratio_convective_transport_tracer
long_name = moist (dry+vapor, no condensates) mixing ratio of cloud water (condensate) in the convectively transported tracer array
units = kg kg-1
dimensions = (horizontal_dimension,vertical_dimension)
type = real
kind = kind_phys
intent = in
optional = F
[npdf3d]
standard_name = number_of_3d_arrays_associated_with_pdf_based_clouds
long_name = number of 3d arrays associated with pdf based clouds/mp
Expand Down
64 changes: 57 additions & 7 deletions physics/GFS_GWD_generic.F90
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,6 @@ module GFS_GWD_generic_pre

contains

!> \section arg_table_GFS_GWD_generic_pre_init Argument Table
!!
subroutine GFS_GWD_generic_pre_init()
end subroutine GFS_GWD_generic_pre_init

Expand Down Expand Up @@ -105,12 +103,64 @@ subroutine GFS_GWD_generic_pre_run( &
end subroutine GFS_GWD_generic_pre_run
!> @}

! \ingroup GFS_ogwd
! \brief Brief description of the subroutine
!
!> \section arg_table_GFS_GWD_generic_pre_finalize Argument Table
!!
subroutine GFS_GWD_generic_pre_finalize()
end subroutine GFS_GWD_generic_pre_finalize

end module GFS_GWD_generic_pre

!> This module contains the CCPP-compliant orographic gravity wave drag post
!! interstitial codes.
module GFS_GWD_generic_post

contains


subroutine GFS_GWD_generic_post_init()
end subroutine GFS_GWD_generic_post_init

!! \section arg_table_GFS_GWD_generic_post_run Argument Table
!! \htmlinclude GFS_GWD_generic_post_run.html
!!
!! \section general General Algorithm
!! \section detailed Detailed Algorithm
!! @{
subroutine GFS_GWD_generic_post_run(lssav, ldiag3d, dtf, dusfcg, dvsfcg, dudt, dvdt, dtdt, &
& dugwd, dvgwd, du3dt, dv3dt, dt3dt, errmsg, errflg)

use machine, only : kind_phys
implicit none

logical, intent(in) :: lssav, ldiag3d

real(kind=kind_phys), intent(in) :: dusfcg(:), dvsfcg(:)
real(kind=kind_phys), intent(in) :: dudt(:,:), dvdt(:,:), dtdt(:,:)
real(kind=kind_phys), intent(in) :: dtf

real(kind=kind_phys), intent(inout) :: dugwd(:), dvgwd(:)
real(kind=kind_phys), intent(inout) :: du3dt(:,:), dv3dt(:,:), dt3dt(:,:)

character(len=*), intent(out) :: errmsg
integer, intent(out) :: errflg

! Initialize CCPP error handling variables
errmsg = ''
errflg = 0

if (lssav) then
dugwd(:) = dugwd(:) + dusfcg(:)*dtf
dvgwd(:) = dvgwd(:) + dvsfcg(:)*dtf

if (ldiag3d) then
du3dt(:,:) = du3dt(:,:) + dudt(:,:) * dtf
dv3dt(:,:) = dv3dt(:,:) + dvdt(:,:) * dtf
dt3dt(:,:) = dt3dt(:,:) + dtdt(:,:) * dtf
endif
endif

end subroutine GFS_GWD_generic_post_run
!> @}

subroutine GFS_GWD_generic_post_finalize()
end subroutine GFS_GWD_generic_post_finalize

end module GFS_GWD_generic_post
137 changes: 137 additions & 0 deletions physics/GFS_GWD_generic.meta
Original file line number Diff line number Diff line change
Expand Up @@ -167,3 +167,140 @@
[ccpp-arg-table]
name = GFS_GWD_generic_pre_finalize
type = scheme

########################################################################
[ccpp-arg-table]
name = GFS_GWD_generic_post_run
type = scheme
[lssav]
standard_name = flag_diagnostics
long_name = flag for calculating diagnostic fields
units = flag
dimensions = ()
type = logical
intent = in
optional = F
[ldiag3d]
standard_name = flag_diagnostics_3D
long_name = flag for calculating 3-D diagnostic fields
units = flag
dimensions = ()
type = logical
intent = in
optional = F
[dtf]
standard_name = time_step_for_dynamics
long_name = dynamics time step
units = s
dimensions = ()
type = real
kind = kind_phys
intent = in
optional = F
[dusfcg]
standard_name = instantaneous_x_stress_due_to_gravity_wave_drag
long_name = zonal surface stress due to orographic gravity wave drag
units = Pa
dimensions = (horizontal_dimension)
type = real
kind = kind_phys
intent = in
optional = F
[dvsfcg]
standard_name = instantaneous_y_stress_due_to_gravity_wave_drag
long_name = meridional surface stress due to orographic gravity wave drag
units = Pa
dimensions = (horizontal_dimension)
type = real
kind = kind_phys
intent = in
optional = F
[dudt]
standard_name = tendency_of_x_wind_due_to_model_physics
long_name = zonal wind tendency due to model physics
units = m s-2
dimensions = (horizontal_dimension,vertical_dimension)
type = real
kind = kind_phys
intent = in
optional = F
[dvdt]
standard_name = tendency_of_y_wind_due_to_model_physics
long_name = meridional wind tendency due to model physics
units = m s-2
dimensions = (horizontal_dimension,vertical_dimension)
type = real
kind = kind_phys
intent = in
optional = F
[dtdt]
standard_name = tendency_of_air_temperature_due_to_model_physics
long_name = air temperature tendency due to model physics
units = K s-1
dimensions = (horizontal_dimension,vertical_dimension)
type = real
kind = kind_phys
intent = in
optional = F
[dugwd]
standard_name = time_integral_of_x_stress_due_to_gravity_wave_drag
long_name = integral over time of zonal stress due to gravity wave drag
units = Pa s
dimensions = (horizontal_dimension)
type = real
kind = kind_phys
intent = inout
optional = F
[dvgwd]
standard_name = time_integral_of_y_stress_due_to_gravity_wave_drag
long_name = integral over time of meridional stress due to gravity wave drag
units = Pa s
dimensions = (horizontal_dimension)
type = real
kind = kind_phys
intent = inout
optional = F
[du3dt]
standard_name = cumulative_change_in_x_wind_due_to_orographic_gravity_wave_drag
long_name = cumulative change in zonal wind due to orographic gravity wave drag
units = m s-1
dimensions = (horizontal_dimension,vertical_dimension)
type = real
kind = kind_phys
intent = inout
optional = F
[dv3dt]
standard_name = cumulative_change_in_y_wind_due_to_orographic_gravity_wave_drag
long_name = cumulative change in meridional wind due to orographic gravity wave drag
units = m s-1
dimensions = (horizontal_dimension,vertical_dimension)
type = real
kind = kind_phys
intent = inout
optional = F
[dt3dt]
standard_name = cumulative_change_in_temperature_due_to_orographic_gravity_wave_drag
long_name = cumulative change in temperature due to orographic gravity wave drag
units = K
dimensions = (horizontal_dimension,vertical_dimension)
type = real
kind = kind_phys
intent = inout
optional = F
[errmsg]
standard_name = ccpp_error_message
long_name = error message for error handling in CCPP
units = none
dimensions = ()
type = character
kind = len=*
intent = out
optional = F
[errflg]
standard_name = ccpp_error_flag
long_name = error flag for error handling in CCPP
units = flag
dimensions = ()
type = integer
intent = out
optional = F
Loading