From 28888f072c9a38b7d8e3d2df864d822e7f489733 Mon Sep 17 00:00:00 2001 From: Dom Heinzeller Date: Wed, 28 Apr 2021 06:26:31 -0600 Subject: [PATCH] Various CCPP PRs: change vertical dimension and long name of dku/dkt, UGWP bugfixes, LTP bugfixes, sfcsub update, framework update (#291) * ugwpv1_gsldrag bug fixes, and GFS_typdefs updates associated with diag flags for ugwpv1_gsldrag and GFS_DCNV_generic.F90 * Change vertical dimension of arrays atmosphere_heat_diffusivity (aka dkt) and atmosphere_momentum_diffusivity (aka dku), update long names * Updaate .gitmodules and submodule pointers for ccpp-framework and ccpp-physics for code review and testing * Update descriptions of dku and dkt in ccpp/driver/GFS_diagnostics.F90 to match what is in the CCPP metadata * Revert .gitmodules and update submodule pointers for ccpp-framework and ccpp-physics Co-authored-by: Michael Toy --- ccpp/data/GFS_typedefs.F90 | 16 ++++++---------- ccpp/data/GFS_typedefs.meta | 8 ++++---- ccpp/driver/GFS_diagnostics.F90 | 4 ++-- ccpp/framework | 2 +- ccpp/physics | 2 +- 5 files changed, 14 insertions(+), 18 deletions(-) diff --git a/ccpp/data/GFS_typedefs.F90 b/ccpp/data/GFS_typedefs.F90 index 97f70c2212..32a0f7549d 100644 --- a/ccpp/data/GFS_typedefs.F90 +++ b/ccpp/data/GFS_typedefs.F90 @@ -5779,8 +5779,7 @@ subroutine diag_create (Diag, IM, Model) allocate (Diag%tav_ugwp (IM,Model%levs) ) endif - if (Model%do_ugwp_v1 .or. Model%gwd_opt==33 .or. Model%gwd_opt==22 & - .or. Model%gwd_opt==3 .or. Model%gwd_opt==2) then + if (Model%do_ugwp_v1 .or. Model%gwd_opt==33 .or. Model%gwd_opt==22) then allocate (Diag%dudt_ogw (IM,Model%levs)) allocate (Diag%dvdt_ogw (IM,Model%levs)) allocate (Diag%dudt_obl (IM,Model%levs)) @@ -5805,8 +5804,8 @@ subroutine diag_create (Diag, IM, Model) allocate (Diag%refl_10cm(IM,Model%levs)) !--- New PBL Diagnostics - allocate (Diag%dkt(IM,Model%levs-1)) - allocate (Diag%dku(IM,Model%levs-1)) + allocate (Diag%dkt(IM,Model%levs)) + allocate (Diag%dku(IM,Model%levs)) !-- New max hourly diag. allocate (Diag%refdmax(IM)) @@ -6051,8 +6050,7 @@ subroutine diag_phys_zero (Diag, Model, linit, iauwindow_center) Diag%dtdt_gw = zero Diag%kdis_gw = zero - if (Model%do_ugwp_v1 .or. Model%gwd_opt==33 .or. Model%gwd_opt==22 & - .or. Model%gwd_opt==3 .or. Model%gwd_opt==2) then + if (Model%do_ugwp_v1 .or. Model%gwd_opt==33 .or. Model%gwd_opt==22) then Diag%dudt_ogw = zero Diag%dvdt_ogw = zero Diag%dudt_obl = zero @@ -6539,8 +6537,7 @@ subroutine interstitial_create (Interstitial, IM, Model) allocate (Interstitial%zngw (IM) ) ! CIRES UGWP v1 - if (Model%do_ugwp_v1 .or. Model%gwd_opt==33 .or. Model%gwd_opt==22 & - .or. Model%gwd_opt==3 .or. Model%gwd_opt==2) then + if (Model%do_ugwp_v1) then allocate (Interstitial%dudt_ngw (IM,Model%levs)) allocate (Interstitial%dvdt_ngw (IM,Model%levs)) allocate (Interstitial%dtdt_ngw (IM,Model%levs)) @@ -7149,8 +7146,7 @@ subroutine interstitial_phys_reset (Interstitial, Model) Interstitial%zngw = clear_val ! CIRES UGWP v1 - if (Model%do_ugwp_v1 .or. Model%gwd_opt==33 .or. Model%gwd_opt==22 & - .or. Model%gwd_opt==3 .or. Model%gwd_opt==2) then + if (Model%do_ugwp_v1) then Interstitial%dudt_ngw = clear_val Interstitial%dvdt_ngw = clear_val Interstitial%dtdt_ngw = clear_val diff --git a/ccpp/data/GFS_typedefs.meta b/ccpp/data/GFS_typedefs.meta index 478737b842..8854d55bf3 100644 --- a/ccpp/data/GFS_typedefs.meta +++ b/ccpp/data/GFS_typedefs.meta @@ -6940,16 +6940,16 @@ kind = kind_phys [dkt] standard_name = atmosphere_heat_diffusivity - long_name = diffusivity for heat + long_name = atmospheric heat diffusivity units = m2 s-1 - dimensions = (horizontal_loop_extent,vertical_dimension_minus_one) + dimensions = (horizontal_loop_extent,vertical_dimension) type = real kind = kind_phys [dku] standard_name = atmosphere_momentum_diffusivity - long_name = diffusivity for momentum + long_name = atmospheric momentum diffusivity units = m2 s-1 - dimensions = (horizontal_loop_extent,vertical_dimension_minus_one) + dimensions = (horizontal_loop_extent,vertical_dimension) type = real kind = kind_phys [cldfra] diff --git a/ccpp/driver/GFS_diagnostics.F90 b/ccpp/driver/GFS_diagnostics.F90 index 8d08c0868b..11506a0678 100644 --- a/ccpp/driver/GFS_diagnostics.F90 +++ b/ccpp/driver/GFS_diagnostics.F90 @@ -1936,7 +1936,7 @@ subroutine GFS_externaldiag_populate (ExtDiag, Model, Statein, Stateout, Sfcprop idx = idx + 1 ExtDiag(idx)%axes = 3 ExtDiag(idx)%name = 'dkt' - ExtDiag(idx)%desc = 'Eddy diffusivity for heat' + ExtDiag(idx)%desc = 'Atmospheric heat diffusivity' ExtDiag(idx)%unit = 'm2s-1' ExtDiag(idx)%mod_name = 'gfs_phys' allocate (ExtDiag(idx)%data(nblks)) @@ -1947,7 +1947,7 @@ subroutine GFS_externaldiag_populate (ExtDiag, Model, Statein, Stateout, Sfcprop idx = idx + 1 ExtDiag(idx)%axes = 3 ExtDiag(idx)%name = 'dku' - ExtDiag(idx)%desc = 'Eddy diffusivity for momentum' + ExtDiag(idx)%desc = 'Atmospheric momentum diffusivity' ExtDiag(idx)%unit = 'm2s-1' ExtDiag(idx)%mod_name = 'gfs_phys' allocate (ExtDiag(idx)%data(nblks)) diff --git a/ccpp/framework b/ccpp/framework index 186e76d3e6..b6593e0daa 160000 --- a/ccpp/framework +++ b/ccpp/framework @@ -1 +1 @@ -Subproject commit 186e76d3e6b03a719303e5e608498e8354caa278 +Subproject commit b6593e0daa6c014dd1c2ede8d29ef11914da5180 diff --git a/ccpp/physics b/ccpp/physics index b578157c4b..ead39d17fc 160000 --- a/ccpp/physics +++ b/ccpp/physics @@ -1 +1 @@ -Subproject commit b578157c4b70c7288f578d77e1b65a02961842a1 +Subproject commit ead39d17fcccf689ce4da9f31164ec43c36621bb