From 522342edbf042ef3a4aaa9d49aeea216792ef2b2 Mon Sep 17 00:00:00 2001 From: Dom Heinzeller Date: Thu, 16 Apr 2020 16:11:46 -0600 Subject: [PATCH] Revert unnecessary changes made in original PR --- atmos_model.F90 | 12 - ccpp/config/ccpp_prebuild_config.py | 8 +- ccpp/driver/CCPP_driver.F90 | 5 +- ccpp/suites/suite_FV3_GFS_v15p2.xml | 11 - ccpp/suites/suite_FV3_GFS_v15plus.xml | 13 - ccpp/suites/suite_FV3_GFS_v16beta.xml | 11 - ccpp/suites/suite_FV3_GSD_v0.xml | 13 +- gfsphysics/GFS_layer/GFS_diagnostics.F90 | 538 +++++++++++------------ gfsphysics/GFS_layer/GFS_typedefs.F90 | 16 +- gfsphysics/GFS_layer/GFS_typedefs.meta | 116 +---- 10 files changed, 292 insertions(+), 451 deletions(-) diff --git a/atmos_model.F90 b/atmos_model.F90 index 6343c267c..e8cc8b832 100644 --- a/atmos_model.F90 +++ b/atmos_model.F90 @@ -297,7 +297,6 @@ subroutine update_atmos_radiation_physics (Atmos) !--- execute the IPD atmospheric setup step call mpp_clock_begin(setupClock) - #ifdef CCPP call CCPP_step (step="time_vary", nblks=Atm_block%nblks, ierr=ierr) if (ierr/=0) call mpp_error(FATAL, 'Call to CCPP time_vary step failed') @@ -332,11 +331,6 @@ subroutine update_atmos_radiation_physics (Atmos) ! print *,'in atmos_model, after assign_importdata, rc=',rc endif -#ifdef CCPP - call CCPP_step (step="timestep_init", nblks=Atm_block%nblks, ierr=ierr) - if (ierr/=0) call mpp_error(FATAL, 'Call to CCPP timestep_init step failed') -#endif - call mpp_clock_end(setupClock) if (mpp_pe() == mpp_root_pe() .and. debug) write(6,*) "radiation driver" @@ -400,9 +394,6 @@ subroutine update_atmos_radiation_physics (Atmos) #ifdef CCPP call CCPP_step (step="stochastics", nblks=Atm_block%nblks, ierr=ierr) if (ierr/=0) call mpp_error(FATAL, 'Call to CCPP stochastics step failed') - - call CCPP_step (step="timestep_final", nblks=Atm_block%nblks, ierr=ierr) - if (ierr/=0) call mpp_error(FATAL, 'Call to CCPP timestep_final step failed') #else Func0d => physics_step2 !$OMP parallel do default (none) & @@ -413,16 +404,13 @@ subroutine update_atmos_radiation_physics (Atmos) call IPD_step (IPD_Control, IPD_Data(nb:nb), IPD_Diag, IPD_Restart, IPD_func0d=Func0d) enddo #endif - call mpp_clock_end(physClock) if (chksum_debug) then if (mpp_pe() == mpp_root_pe()) print *,'PHYSICS STEP2 ', IPD_Control%kdt, IPD_Control%fhour call FV3GFS_IPD_checksum(IPD_Control, IPD_Data, Atm_block) endif - call getiauforcing(IPD_Control,IAU_data) - if (mpp_pe() == mpp_root_pe() .and. debug) write(6,*) "end of radiation and physics step" endif diff --git a/ccpp/config/ccpp_prebuild_config.py b/ccpp/config/ccpp_prebuild_config.py index c3f6e4846..46d6872d9 100755 --- a/ccpp/config/ccpp_prebuild_config.py +++ b/ccpp/config/ccpp_prebuild_config.py @@ -114,9 +114,6 @@ 'FV3/ccpp/physics/physics/mfpblt.f', 'FV3/ccpp/physics/physics/mfpbltq.f', 'FV3/ccpp/physics/physics/mfscu.f', - 'FV3/ccpp/physics/physics/total_tend.F90', - 'FV3/ccpp/physics/physics/model_tend_pre.F90', - 'FV3/ccpp/physics/physics/model_tend_post.F90', 'FV3/ccpp/physics/physics/mfscuq.f', 'FV3/ccpp/physics/physics/noahmp_tables.f90', 'FV3/ccpp/physics/physics/num_parthds.F', @@ -187,10 +184,7 @@ 'FV3/ccpp/physics/physics/gcm_shoc.F90' : [ 'slow_physics' ], 'FV3/ccpp/physics/physics/get_prs_fv3.F90' : [ 'slow_physics' ], 'FV3/ccpp/physics/physics/gfdl_cloud_microphys.F90' : [ 'slow_physics' ], - 'FV3/ccpp/physics/physics/gfdl_fv_sat_adj.F90' : [ 'slow_physics' ], - 'FV3/ccpp/physics/physics/total_tend.F90' : [ 'slow_physics' ], - 'FV3/ccpp/physics/physics/model_tend_pre.F90' : [ 'slow_physics' ], - 'FV3/ccpp/physics/physics/model_tend_post.F90' : [ 'slow_physics' ], + 'FV3/ccpp/physics/physics/gfdl_fv_sat_adj.F90' : [ 'fast_physics' ], 'FV3/ccpp/physics/physics/gscond.f' : [ 'slow_physics' ], 'FV3/ccpp/physics/physics/gwdc.f' : [ 'slow_physics' ], 'FV3/ccpp/physics/physics/gwdps.f' : [ 'slow_physics' ], diff --git a/ccpp/driver/CCPP_driver.F90 b/ccpp/driver/CCPP_driver.F90 index 0bf88b218..449aaf03c 100644 --- a/ccpp/driver/CCPP_driver.F90 +++ b/ccpp/driver/CCPP_driver.F90 @@ -49,7 +49,7 @@ module CCPP_driver ! number nthrdsX in case of non-uniform block sizes) ! !--------------------------------------------------------! logical :: non_uniform_blocks - integer :: nthrds, nthrdsX, ithread + integer :: nthrds, nthrdsX !---------------- ! Public Entities @@ -205,8 +205,7 @@ subroutine CCPP_step (step, nblks, ierr) end if ! Radiation and stochastic physics - else if (trim(step)=="radiation" .or. trim(step)=="physics" .or. trim(step)=="stochastics" & - .or. trim(step)=="timestep_init" .or. trim(step)=="timestep_final") then + else if (trim(step)=="radiation" .or. trim(step)=="physics" .or. trim(step)=="stochastics") then ! Set number of threads available to physics schemes to one, ! because threads are used on the outside for blocking diff --git a/ccpp/suites/suite_FV3_GFS_v15p2.xml b/ccpp/suites/suite_FV3_GFS_v15p2.xml index 46234fdc9..1ab234105 100644 --- a/ccpp/suites/suite_FV3_GFS_v15p2.xml +++ b/ccpp/suites/suite_FV3_GFS_v15p2.xml @@ -15,11 +15,6 @@ GFS_phys_time_vary - - - model_tend_pre - - GFS_suite_interstitial_rad_reset @@ -95,11 +90,5 @@ GFS_stochastics - - - model_tend_post - total_tend - - diff --git a/ccpp/suites/suite_FV3_GFS_v15plus.xml b/ccpp/suites/suite_FV3_GFS_v15plus.xml index 57a0d921b..04f1d5f46 100644 --- a/ccpp/suites/suite_FV3_GFS_v15plus.xml +++ b/ccpp/suites/suite_FV3_GFS_v15plus.xml @@ -9,17 +9,14 @@ - model_tend_pre GFS_time_vary_pre GFS_rrtmg_setup GFS_rad_time_vary GFS_phys_time_vary - model_tend_post - model_tend_pre GFS_suite_interstitial_rad_reset GFS_rrtmg_pre rrtmg_sw_pre @@ -29,13 +26,10 @@ rrtmg_lw rrtmg_lw_post GFS_rrtmg_post - model_tend_post - model_tend_pre - total_tend GFS_suite_interstitial_phys_reset GFS_suite_stateout_reset get_prs_fv3 @@ -45,11 +39,9 @@ dcyc2t3 GFS_surface_composites_inter GFS_suite_interstitial_2 - model_tend_post - model_tend_pre sfc_diff GFS_surface_loop_control_part1 sfc_nst_pre @@ -58,11 +50,9 @@ lsm_noah sfc_sice GFS_surface_loop_control_part2 - model_tend_post - model_tend_pre GFS_surface_composites_post dcyc2t3_post sfc_diag @@ -93,14 +83,11 @@ gfdl_cloud_microphys GFS_MP_generic_post maximum_hourly_diagnostics - model_tend_post - model_tend_pre GFS_stochastics - model_tend_post diff --git a/ccpp/suites/suite_FV3_GFS_v16beta.xml b/ccpp/suites/suite_FV3_GFS_v16beta.xml index ede385cf0..8571ec1b4 100644 --- a/ccpp/suites/suite_FV3_GFS_v16beta.xml +++ b/ccpp/suites/suite_FV3_GFS_v16beta.xml @@ -15,11 +15,6 @@ GFS_phys_time_vary - - - model_tend_pre - - GFS_suite_interstitial_rad_reset @@ -95,11 +90,5 @@ GFS_stochastics - - - model_tend_post - total_tend - - diff --git a/ccpp/suites/suite_FV3_GSD_v0.xml b/ccpp/suites/suite_FV3_GSD_v0.xml index e572fdc39..fb4b13546 100644 --- a/ccpp/suites/suite_FV3_GSD_v0.xml +++ b/ccpp/suites/suite_FV3_GSD_v0.xml @@ -10,11 +10,6 @@ GFS_phys_time_vary - - - model_tend_pre - - GFS_suite_interstitial_rad_reset @@ -25,7 +20,7 @@ rrtmg_sw_post rrtmg_lw_pre rrtmg_lw - sgscloud_radpre + sgscloud_radpost rrtmg_lw_post GFS_rrtmg_post @@ -95,11 +90,5 @@ GFS_stochastics - - - model_tend_post - total_tend - - diff --git a/gfsphysics/GFS_layer/GFS_diagnostics.F90 b/gfsphysics/GFS_layer/GFS_diagnostics.F90 index 7f5bddbf1..e62dbd290 100644 --- a/gfsphysics/GFS_layer/GFS_diagnostics.F90 +++ b/gfsphysics/GFS_layer/GFS_diagnostics.F90 @@ -2230,185 +2230,183 @@ subroutine GFS_externaldiag_populate (ExtDiag, Model, Statein, Stateout, Sfcprop ! if(mpp_pe()==mpp_root_pe())print *,'in gfdl_diag_register,af shum_wts,idx=',idx -!--- three-dimensional variables that need to be handled special when writing - if_ldiag3d: if(Model%ldiag3d) then - idx = idx + 1 - ExtDiag(idx)%axes = 3 - ExtDiag(idx)%name = 'dt3dt_lw' - ExtDiag(idx)%desc = 'temperature change due to long wave radiation' - ExtDiag(idx)%unit = 'K' - ExtDiag(idx)%mod_name = 'gfs_phys' - allocate (ExtDiag(idx)%data(nblks)) - do nb = 1,nblks - ExtDiag(idx)%data(nb)%var3 => IntDiag(nb)%dt3dt(:,:,1) - enddo - - idx = idx + 1 - ExtDiag(idx)%axes = 3 - ExtDiag(idx)%name = 'dt3dt_sw' - ExtDiag(idx)%desc = 'temperature change due to short wave radiation' - ExtDiag(idx)%unit = 'K' - ExtDiag(idx)%mod_name = 'gfs_phys' - allocate (ExtDiag(idx)%data(nblks)) - do nb = 1,nblks - ExtDiag(idx)%data(nb)%var3 => IntDiag(nb)%dt3dt(:,:,2) - enddo +!--- three-dimensional variables that need to be handled special when writing + if_ldiag3d: if(Model%ldiag3d) then + idx = idx + 1 + ExtDiag(idx)%axes = 3 + ExtDiag(idx)%name = 'dt3dt_lw' + ExtDiag(idx)%desc = 'temperature change due to long wave radiation' + ExtDiag(idx)%unit = 'K' + ExtDiag(idx)%mod_name = 'gfs_phys' + allocate (ExtDiag(idx)%data(nblks)) + do nb = 1,nblks + ExtDiag(idx)%data(nb)%var3 => IntDiag(nb)%dt3dt(:,:,1) + enddo - idx = idx + 1 - ExtDiag(idx)%axes = 3 - ExtDiag(idx)%name = 'dt3dt_pbl' - ExtDiag(idx)%desc = 'temperature change due to pbl' - ExtDiag(idx)%unit = 'K' - ExtDiag(idx)%mod_name = 'gfs_phys' - allocate (ExtDiag(idx)%data(nblks)) - do nb = 1,nblks - ExtDiag(idx)%data(nb)%var3 => IntDiag(nb)%dt3dt(:,:,3) - enddo + idx = idx + 1 + ExtDiag(idx)%axes = 3 + ExtDiag(idx)%name = 'dt3dt_sw' + ExtDiag(idx)%desc = 'temperature change due to short wave radiation' + ExtDiag(idx)%unit = 'K' + ExtDiag(idx)%mod_name = 'gfs_phys' + allocate (ExtDiag(idx)%data(nblks)) + do nb = 1,nblks + ExtDiag(idx)%data(nb)%var3 => IntDiag(nb)%dt3dt(:,:,2) + enddo - idx = idx + 1 - ExtDiag(idx)%axes = 3 - ExtDiag(idx)%name = 'dt3dt_deepcnv' - ExtDiag(idx)%desc = 'temperature change due to deep convection' - ExtDiag(idx)%unit = 'K' - ExtDiag(idx)%mod_name = 'gfs_phys' - allocate (ExtDiag(idx)%data(nblks)) - do nb = 1,nblks - ExtDiag(idx)%data(nb)%var3 => IntDiag(nb)%dt3dt(:,:,4) - enddo + idx = idx + 1 + ExtDiag(idx)%axes = 3 + ExtDiag(idx)%name = 'dt3dt_pbl' + ExtDiag(idx)%desc = 'temperature change due to pbl' + ExtDiag(idx)%unit = 'K' + ExtDiag(idx)%mod_name = 'gfs_phys' + allocate (ExtDiag(idx)%data(nblks)) + do nb = 1,nblks + ExtDiag(idx)%data(nb)%var3 => IntDiag(nb)%dt3dt(:,:,3) + enddo - idx = idx + 1 - ExtDiag(idx)%axes = 3 - ExtDiag(idx)%name = 'dt3dt_shlwcnv' - ExtDiag(idx)%desc = 'temperature change due to shallow convection' - ExtDiag(idx)%unit = 'K' - ExtDiag(idx)%mod_name = 'gfs_phys' - allocate (ExtDiag(idx)%data(nblks)) - do nb = 1,nblks - ExtDiag(idx)%data(nb)%var3 => IntDiag(nb)%dt3dt(:,:,5) - enddo + idx = idx + 1 + ExtDiag(idx)%axes = 3 + ExtDiag(idx)%name = 'dt3dt_deepcnv' + ExtDiag(idx)%desc = 'temperature change due to deep convection' + ExtDiag(idx)%unit = 'K' + ExtDiag(idx)%mod_name = 'gfs_phys' + allocate (ExtDiag(idx)%data(nblks)) + do nb = 1,nblks + ExtDiag(idx)%data(nb)%var3 => IntDiag(nb)%dt3dt(:,:,4) + enddo - idx = idx + 1 - ExtDiag(idx)%axes = 3 - ExtDiag(idx)%name = 'dt3dt_microphy' - ExtDiag(idx)%desc = 'temperature change due to micro-physics' - ExtDiag(idx)%unit = 'K' - ExtDiag(idx)%mod_name = 'gfs_phys' - allocate (ExtDiag(idx)%data(nblks)) - do nb = 1,nblks - ExtDiag(idx)%data(nb)%var3 => IntDiag(nb)%dt3dt(:,:,6) - enddo + idx = idx + 1 + ExtDiag(idx)%axes = 3 + ExtDiag(idx)%name = 'dt3dt_shlwcnv' + ExtDiag(idx)%desc = 'temperature change due to shallow convection' + ExtDiag(idx)%unit = 'K' + ExtDiag(idx)%mod_name = 'gfs_phys' + allocate (ExtDiag(idx)%data(nblks)) + do nb = 1,nblks + ExtDiag(idx)%data(nb)%var3 => IntDiag(nb)%dt3dt(:,:,5) + enddo - idx = idx + 1 - ExtDiag(idx)%axes = 3 - ExtDiag(idx)%name = 'dt3dt_orogwd' - ExtDiag(idx)%desc = 'temperature change due to orographic gravity wave drag' - ExtDiag(idx)%unit = 'K' - ExtDiag(idx)%mod_name = 'gfs_phys' - allocate (ExtDiag(idx)%data(nblks)) - do nb = 1,nblks - ExtDiag(idx)%data(nb)%var3 => IntDiag(nb)%dt3dt(:,:,7) - enddo + idx = idx + 1 + ExtDiag(idx)%axes = 3 + ExtDiag(idx)%name = 'dt3dt_microphy' + ExtDiag(idx)%desc = 'temperature change due to micro-physics' + ExtDiag(idx)%unit = 'K' + ExtDiag(idx)%mod_name = 'gfs_phys' + allocate (ExtDiag(idx)%data(nblks)) + do nb = 1,nblks + ExtDiag(idx)%data(nb)%var3 => IntDiag(nb)%dt3dt(:,:,6) + enddo - idx = idx + 1 - ExtDiag(idx)%axes = 3 - ExtDiag(idx)%name = 'dt3dt_rdamp' - ExtDiag(idx)%desc = 'temperature change due to Rayleigh damping' - ExtDiag(idx)%unit = 'K' - ExtDiag(idx)%mod_name = 'gfs_phys' - allocate (ExtDiag(idx)%data(nblks)) - do nb = 1,nblks - ExtDiag(idx)%data(nb)%var3 => IntDiag(nb)%dt3dt(:,:,8) - enddo - - idx = idx + 1 - ExtDiag(idx)%axes = 3 - ExtDiag(idx)%name = 'du3dt_pbl' - ExtDiag(idx)%desc = 'u wind change due to PBL' - ExtDiag(idx)%unit = 'm/s' - ExtDiag(idx)%mod_name = 'gfs_phys' - allocate (ExtDiag(idx)%data(nblks)) - do nb = 1,nblks - ExtDiag(idx)%data(nb)%var3 => IntDiag(nb)%du3dt(:,:,1) - enddo + idx = idx + 1 + ExtDiag(idx)%axes = 3 + ExtDiag(idx)%name = 'dt3dt_orogwd' + ExtDiag(idx)%desc = 'temperature change due to orographic gravity wave drag' + ExtDiag(idx)%unit = 'K' + ExtDiag(idx)%mod_name = 'gfs_phys' + allocate (ExtDiag(idx)%data(nblks)) + do nb = 1,nblks + ExtDiag(idx)%data(nb)%var3 => IntDiag(nb)%dt3dt(:,:,7) + enddo - idx = idx + 1 - ExtDiag(idx)%axes = 3 - ExtDiag(idx)%name = 'dv3dt_pbl' - ExtDiag(idx)%desc = 'v momentum change due to PBL' - ExtDiag(idx)%unit = 'm/s' - ExtDiag(idx)%mod_name = 'gfs_phys' - allocate (ExtDiag(idx)%data(nblks)) - do nb = 1,nblks - ExtDiag(idx)%data(nb)%var3 => IntDiag(nb)%dv3dt(:,:,1) - enddo + idx = idx + 1 + ExtDiag(idx)%axes = 3 + ExtDiag(idx)%name = 'dt3dt_rdamp' + ExtDiag(idx)%desc = 'temperature change due to Rayleigh damping' + ExtDiag(idx)%unit = 'K' + ExtDiag(idx)%mod_name = 'gfs_phys' + allocate (ExtDiag(idx)%data(nblks)) + do nb = 1,nblks + ExtDiag(idx)%data(nb)%var3 => IntDiag(nb)%dt3dt(:,:,8) + enddo - idx = idx + 1 - ExtDiag(idx)%axes = 3 - ExtDiag(idx)%name = 'du3dt_orogwd' - ExtDiag(idx)%desc = 'u momentum change due to orographic gravity wave drag' - ExtDiag(idx)%unit = 'm/s' - ExtDiag(idx)%mod_name = 'gfs_phys' - allocate (ExtDiag(idx)%data(nblks)) - do nb = 1,nblks - ExtDiag(idx)%data(nb)%var3 => IntDiag(nb)%du3dt(:,:,2) - enddo + idx = idx + 1 + ExtDiag(idx)%axes = 3 + ExtDiag(idx)%name = 'du3dt_pbl' + ExtDiag(idx)%desc = 'u wind change due to PBL' + ExtDiag(idx)%unit = 'm/s' + ExtDiag(idx)%mod_name = 'gfs_phys' + allocate (ExtDiag(idx)%data(nblks)) + do nb = 1,nblks + ExtDiag(idx)%data(nb)%var3 => IntDiag(nb)%du3dt(:,:,1) + enddo - idx = idx + 1 - ExtDiag(idx)%axes = 3 - ExtDiag(idx)%name = 'dv3dt_orogwd' - ExtDiag(idx)%desc = 'v momentum change due to orographic gravity wave drag' - ExtDiag(idx)%unit = 'm/s' - ExtDiag(idx)%mod_name = 'gfs_phys' - allocate (ExtDiag(idx)%data(nblks)) - do nb = 1,nblks - ExtDiag(idx)%data(nb)%var3 => IntDiag(nb)%dv3dt(:,:,2) - enddo + idx = idx + 1 + ExtDiag(idx)%axes = 3 + ExtDiag(idx)%name = 'dv3dt_pbl' + ExtDiag(idx)%desc = 'v momentum change due to PBL' + ExtDiag(idx)%unit = 'm/s' + ExtDiag(idx)%mod_name = 'gfs_phys' + allocate (ExtDiag(idx)%data(nblks)) + do nb = 1,nblks + ExtDiag(idx)%data(nb)%var3 => IntDiag(nb)%dv3dt(:,:,1) + enddo - idx = idx + 1 - ExtDiag(idx)%axes = 3 - ExtDiag(idx)%name = 'du3dt_deepcnv' - ExtDiag(idx)%desc = 'u momentum change due to deep convection' - ExtDiag(idx)%unit = 'm/s' - ExtDiag(idx)%mod_name = 'gfs_phys' - allocate (ExtDiag(idx)%data(nblks)) - do nb = 1,nblks - ExtDiag(idx)%data(nb)%var3 => IntDiag(nb)%du3dt(:,:,3) - enddo + idx = idx + 1 + ExtDiag(idx)%axes = 3 + ExtDiag(idx)%name = 'du3dt_orogwd' + ExtDiag(idx)%desc = 'u momentum change due to orographic gravity wave drag' + ExtDiag(idx)%unit = 'm/s' + ExtDiag(idx)%mod_name = 'gfs_phys' + allocate (ExtDiag(idx)%data(nblks)) + do nb = 1,nblks + ExtDiag(idx)%data(nb)%var3 => IntDiag(nb)%du3dt(:,:,2) + enddo - idx = idx + 1 - ExtDiag(idx)%axes = 3 - ExtDiag(idx)%name = 'dv3dt_deepcnv' - ExtDiag(idx)%desc = 'v momentum change due to deep convection' - ExtDiag(idx)%unit = 'm/s' - ExtDiag(idx)%mod_name = 'gfs_phys' - allocate (ExtDiag(idx)%data(nblks)) - do nb = 1,nblks - ExtDiag(idx)%data(nb)%var3 => IntDiag(nb)%dv3dt(:,:,3) - enddo + idx = idx + 1 + ExtDiag(idx)%axes = 3 + ExtDiag(idx)%name = 'dv3dt_orogwd' + ExtDiag(idx)%desc = 'v momentum change due to orographic gravity wave drag' + ExtDiag(idx)%unit = 'm/s' + ExtDiag(idx)%mod_name = 'gfs_phys' + allocate (ExtDiag(idx)%data(nblks)) + do nb = 1,nblks + ExtDiag(idx)%data(nb)%var3 => IntDiag(nb)%dv3dt(:,:,2) + enddo + idx = idx + 1 + ExtDiag(idx)%axes = 3 + ExtDiag(idx)%name = 'du3dt_deepcnv' + ExtDiag(idx)%desc = 'u momentum change due to deep convection' + ExtDiag(idx)%unit = 'm/s' + ExtDiag(idx)%mod_name = 'gfs_phys' + allocate (ExtDiag(idx)%data(nblks)) + do nb = 1,nblks + ExtDiag(idx)%data(nb)%var3 => IntDiag(nb)%du3dt(:,:,3) + enddo - idx = idx + 1 - ExtDiag(idx)%axes = 3 - ExtDiag(idx)%name = 'du3dt_cnvgwd' - ExtDiag(idx)%desc = 'u momentum change due to convective gravity wave drag' - ExtDiag(idx)%unit = 'm/s' - ExtDiag(idx)%mod_name = 'gfs_phys' - allocate (ExtDiag(idx)%data(nblks)) - do nb = 1,nblks - ExtDiag(idx)%data(nb)%var3 => IntDiag(nb)%du3dt(:,:,4) - enddo + idx = idx + 1 + ExtDiag(idx)%axes = 3 + ExtDiag(idx)%name = 'dv3dt_deepcnv' + ExtDiag(idx)%desc = 'v momentum change due to deep convection' + ExtDiag(idx)%unit = 'm/s' + ExtDiag(idx)%mod_name = 'gfs_phys' + allocate (ExtDiag(idx)%data(nblks)) + do nb = 1,nblks + ExtDiag(idx)%data(nb)%var3 => IntDiag(nb)%dv3dt(:,:,3) + enddo - idx = idx + 1 - ExtDiag(idx)%axes = 3 - ExtDiag(idx)%name = 'dv3dt_cnvgwd' - ExtDiag(idx)%desc = 'v momentum change due to convective gravity wave drag' - ExtDiag(idx)%unit = 'm/s' - ExtDiag(idx)%mod_name = 'gfs_phys' - allocate (ExtDiag(idx)%data(nblks)) - do nb = 1,nblks - ExtDiag(idx)%data(nb)%var3 => IntDiag(nb)%dv3dt(:,:,4) - enddo + idx = idx + 1 + ExtDiag(idx)%axes = 3 + ExtDiag(idx)%name = 'du3dt_cnvgwd' + ExtDiag(idx)%desc = 'u momentum change due to convective gravity wave drag' + ExtDiag(idx)%unit = 'm/s' + ExtDiag(idx)%mod_name = 'gfs_phys' + allocate (ExtDiag(idx)%data(nblks)) + do nb = 1,nblks + ExtDiag(idx)%data(nb)%var3 => IntDiag(nb)%du3dt(:,:,4) + enddo + idx = idx + 1 + ExtDiag(idx)%axes = 3 + ExtDiag(idx)%name = 'dv3dt_cnvgwd' + ExtDiag(idx)%desc = 'v momentum change due to convective gravity wave drag' + ExtDiag(idx)%unit = 'm/s' + ExtDiag(idx)%mod_name = 'gfs_phys' + allocate (ExtDiag(idx)%data(nblks)) + do nb = 1,nblks + ExtDiag(idx)%data(nb)%var3 => IntDiag(nb)%dv3dt(:,:,4) + enddo idx = idx + 1 ExtDiag(idx)%axes = 3 @@ -2458,7 +2456,7 @@ subroutine GFS_externaldiag_populate (ExtDiag, Model, Statein, Stateout, Sfcprop idx = idx + 1 ExtDiag(idx)%axes = 3 ExtDiag(idx)%name = 'du3dt_ccpp' - ExtDiag(idx)%desc = 'cumulative change in x wind from CCPP' + ExtDiag(idx)%desc = 'cumulative change in x wind due to physics' ExtDiag(idx)%unit = 'm/s' ExtDiag(idx)%mod_name = 'gfs_phys' allocate (ExtDiag(idx)%data(nblks)) @@ -2469,7 +2467,7 @@ subroutine GFS_externaldiag_populate (ExtDiag, Model, Statein, Stateout, Sfcprop idx = idx + 1 ExtDiag(idx)%axes = 3 ExtDiag(idx)%name = 'dv3dt_ccpp' - ExtDiag(idx)%desc = 'cumulative change in y wind from CCPP' + ExtDiag(idx)%desc = 'cumulative change in y wind due to physics' ExtDiag(idx)%unit = 'm/s' ExtDiag(idx)%mod_name = 'gfs_phys' allocate (ExtDiag(idx)%data(nblks)) @@ -2480,7 +2478,7 @@ subroutine GFS_externaldiag_populate (ExtDiag, Model, Statein, Stateout, Sfcprop idx = idx + 1 ExtDiag(idx)%axes = 3 ExtDiag(idx)%name = 'du3dt_model' - ExtDiag(idx)%desc = 'cumulative change in x wind from model' + ExtDiag(idx)%desc = 'cumulative change in x wind due to model w/o physics' ExtDiag(idx)%unit = 'm/s' ExtDiag(idx)%mod_name = 'gfs_phys' allocate (ExtDiag(idx)%data(nblks)) @@ -2491,7 +2489,7 @@ subroutine GFS_externaldiag_populate (ExtDiag, Model, Statein, Stateout, Sfcprop idx = idx + 1 ExtDiag(idx)%axes = 3 ExtDiag(idx)%name = 'dv3dt_model' - ExtDiag(idx)%desc = 'cumulative change in y wind from model' + ExtDiag(idx)%desc = 'cumulative change in y wind due to model w/o physics' ExtDiag(idx)%unit = 'm/s' ExtDiag(idx)%mod_name = 'gfs_phys' allocate (ExtDiag(idx)%data(nblks)) @@ -2524,7 +2522,7 @@ subroutine GFS_externaldiag_populate (ExtDiag, Model, Statein, Stateout, Sfcprop idx = idx + 1 ExtDiag(idx)%axes = 3 ExtDiag(idx)%name = 'dt3dt_ccpp' - ExtDiag(idx)%desc = 'cumulative change in temperature from CCPP' + ExtDiag(idx)%desc = 'cumulative change in temperature due to physics' ExtDiag(idx)%unit = 'K' ExtDiag(idx)%mod_name = 'gfs_phys' allocate (ExtDiag(idx)%data(nblks)) @@ -2535,7 +2533,7 @@ subroutine GFS_externaldiag_populate (ExtDiag, Model, Statein, Stateout, Sfcprop idx = idx + 1 ExtDiag(idx)%axes = 3 ExtDiag(idx)%name = 'dt3dt_model' - ExtDiag(idx)%desc = 'cumulative change in temperature from model' + ExtDiag(idx)%desc = 'cumulative change in temperature due to model w/o physics' ExtDiag(idx)%unit = 'K' ExtDiag(idx)%mod_name = 'gfs_phys' allocate (ExtDiag(idx)%data(nblks)) @@ -2559,7 +2557,7 @@ subroutine GFS_externaldiag_populate (ExtDiag, Model, Statein, Stateout, Sfcprop idx = idx + 1 ExtDiag(idx)%axes = 3 ExtDiag(idx)%name = 'dq3dt_ccpp' - ExtDiag(idx)%desc = 'cumulative change in water vapor specific humidity from CCPP' + ExtDiag(idx)%desc = 'cumulative change in water vapor specific humidity due to physics' ExtDiag(idx)%unit = 'kg kg-1' ExtDiag(idx)%mod_name = 'gfs_phys' allocate (ExtDiag(idx)%data(nblks)) @@ -2570,7 +2568,7 @@ subroutine GFS_externaldiag_populate (ExtDiag, Model, Statein, Stateout, Sfcprop idx = idx + 1 ExtDiag(idx)%axes = 3 ExtDiag(idx)%name = 'dq3dt_model' - ExtDiag(idx)%desc = 'cumulative change in water vapor specific humidity from model' + ExtDiag(idx)%desc = 'cumulative change in water vapor specific humidity due to model w/o physics' ExtDiag(idx)%unit = 'kg kg-1' ExtDiag(idx)%mod_name = 'gfs_phys' allocate (ExtDiag(idx)%data(nblks)) @@ -2589,104 +2587,104 @@ subroutine GFS_externaldiag_populate (ExtDiag, Model, Statein, Stateout, Sfcprop ExtDiag(idx)%data(nb)%var3 => IntDiag(nb)%dq3dt(:,:,12) enddo - idx = idx + 1 - ExtDiag(idx)%axes = 3 - ExtDiag(idx)%name = 'dq3dt_pbl' - ExtDiag(idx)%desc = 'cumulative change in water vapor specific humidity due to PBL' - ExtDiag(idx)%unit = 'kg kg-1' - ExtDiag(idx)%mod_name = 'gfs_phys' - allocate (ExtDiag(idx)%data(nblks)) - do nb = 1,nblks - ExtDiag(idx)%data(nb)%var3 => IntDiag(nb)%dq3dt(:,:,1) - enddo - - idx = idx + 1 - ExtDiag(idx)%axes = 3 - ExtDiag(idx)%name = 'dq3dt_deepcnv' - ExtDiag(idx)%desc = 'cumulative change in water vapor specific humidity due to deep conv.' - ExtDiag(idx)%unit = 'kg kg-1' - ExtDiag(idx)%mod_name = 'gfs_phys' - allocate (ExtDiag(idx)%data(nblks)) - do nb = 1,nblks - ExtDiag(idx)%data(nb)%var3 => IntDiag(nb)%dq3dt(:,:,2) - enddo - - idx = idx + 1 - ExtDiag(idx)%axes = 3 - ExtDiag(idx)%name = 'dq3dt_shlwcnv' - ExtDiag(idx)%desc = 'cumulative change in water vapor specific humidity due to shal conv.' - ExtDiag(idx)%unit = 'kg kg-1' - ExtDiag(idx)%mod_name = 'gfs_phys' - allocate (ExtDiag(idx)%data(nblks)) - do nb = 1,nblks - ExtDiag(idx)%data(nb)%var3 => IntDiag(nb)%dq3dt(:,:,3) - enddo - - idx = idx + 1 - ExtDiag(idx)%axes = 3 - ExtDiag(idx)%name = 'dq3dt_microphy' - ExtDiag(idx)%desc = 'cumulative change in water vapor specific humidity due to microphysics' - ExtDiag(idx)%unit = 'kg kg-1' - ExtDiag(idx)%mod_name = 'gfs_phys' - allocate (ExtDiag(idx)%data(nblks)) - do nb = 1,nblks - ExtDiag(idx)%data(nb)%var3 => IntDiag(nb)%dq3dt(:,:,4) - enddo - - idx = idx + 1 - ExtDiag(idx)%axes = 3 - ExtDiag(idx)%name = 'dq3dt_o3pbl' - ExtDiag(idx)%desc = 'cumulative change in ozone mixing ratio due to PBL' - ExtDiag(idx)%unit = 'kg kg-1' - ExtDiag(idx)%mod_name = 'gfs_phys' - allocate (ExtDiag(idx)%data(nblks)) - do nb = 1,nblks - ExtDiag(idx)%data(nb)%var3 => IntDiag(nb)%dq3dt(:,:,5) - enddo - - idx = idx + 1 - ExtDiag(idx)%axes = 3 - ExtDiag(idx)%name = 'dq3dt_o3prodloss' - ExtDiag(idx)%desc = 'cumulative change in ozone concentration due to production and loss rate' - ExtDiag(idx)%unit = 'kg kg-1' - ExtDiag(idx)%mod_name = 'gfs_phys' - allocate (ExtDiag(idx)%data(nblks)) - do nb = 1,nblks - ExtDiag(idx)%data(nb)%var3 => IntDiag(nb)%dq3dt(:,:,6) - enddo - - idx = idx + 1 - ExtDiag(idx)%axes = 3 - ExtDiag(idx)%name = 'dq3dt_o3mix' - ExtDiag(idx)%desc = 'cumulative change in ozone concentration due to ozone mixing ratio' - ExtDiag(idx)%unit = 'kg kg-1' - ExtDiag(idx)%mod_name = 'gfs_phys' - allocate (ExtDiag(idx)%data(nblks)) - do nb = 1,nblks - ExtDiag(idx)%data(nb)%var3 => IntDiag(nb)%dq3dt(:,:,7) - enddo - - idx = idx + 1 - ExtDiag(idx)%axes = 3 - ExtDiag(idx)%name = 'dq3dt_o3temp' - ExtDiag(idx)%desc = 'cumulative change in ozone concentration due to temperature' - ExtDiag(idx)%unit = 'kg kg-1' - ExtDiag(idx)%mod_name = 'gfs_phys' - allocate (ExtDiag(idx)%data(nblks)) - do nb = 1,nblks - ExtDiag(idx)%data(nb)%var3 => IntDiag(nb)%dq3dt(:,:,8) - enddo - - idx = idx + 1 - ExtDiag(idx)%axes = 3 - ExtDiag(idx)%name = 'dq3dt_o3column' - ExtDiag(idx)%desc = 'cumulative change in ozone concentration due to overhead ozone column' - ExtDiag(idx)%unit = 'kg kg-1' - ExtDiag(idx)%mod_name = 'gfs_phys' - allocate (ExtDiag(idx)%data(nblks)) - do nb = 1,nblks - ExtDiag(idx)%data(nb)%var3 => IntDiag(nb)%dq3dt(:,:,9) - enddo + idx = idx + 1 + ExtDiag(idx)%axes = 3 + ExtDiag(idx)%name = 'dq3dt_pbl' + ExtDiag(idx)%desc = 'cumulative change in water vapor specific humidity due to PBL' + ExtDiag(idx)%unit = 'kg kg-1' + ExtDiag(idx)%mod_name = 'gfs_phys' + allocate (ExtDiag(idx)%data(nblks)) + do nb = 1,nblks + ExtDiag(idx)%data(nb)%var3 => IntDiag(nb)%dq3dt(:,:,1) + enddo + + idx = idx + 1 + ExtDiag(idx)%axes = 3 + ExtDiag(idx)%name = 'dq3dt_deepcnv' + ExtDiag(idx)%desc = 'cumulative change in water vapor specific humidity due to deep conv.' + ExtDiag(idx)%unit = 'kg kg-1' + ExtDiag(idx)%mod_name = 'gfs_phys' + allocate (ExtDiag(idx)%data(nblks)) + do nb = 1,nblks + ExtDiag(idx)%data(nb)%var3 => IntDiag(nb)%dq3dt(:,:,2) + enddo + + idx = idx + 1 + ExtDiag(idx)%axes = 3 + ExtDiag(idx)%name = 'dq3dt_shlwcnv' + ExtDiag(idx)%desc = 'cumulative change in water vapor specific humidity due to shal conv.' + ExtDiag(idx)%unit = 'kg kg-1' + ExtDiag(idx)%mod_name = 'gfs_phys' + allocate (ExtDiag(idx)%data(nblks)) + do nb = 1,nblks + ExtDiag(idx)%data(nb)%var3 => IntDiag(nb)%dq3dt(:,:,3) + enddo + + idx = idx + 1 + ExtDiag(idx)%axes = 3 + ExtDiag(idx)%name = 'dq3dt_microphy' + ExtDiag(idx)%desc = 'cumulative change in water vapor specific humidity due to microphysics' + ExtDiag(idx)%unit = 'kg kg-1' + ExtDiag(idx)%mod_name = 'gfs_phys' + allocate (ExtDiag(idx)%data(nblks)) + do nb = 1,nblks + ExtDiag(idx)%data(nb)%var3 => IntDiag(nb)%dq3dt(:,:,4) + enddo + + idx = idx + 1 + ExtDiag(idx)%axes = 3 + ExtDiag(idx)%name = 'dq3dt_o3pbl' + ExtDiag(idx)%desc = 'cumulative change in ozone mixing ratio due to PBL' + ExtDiag(idx)%unit = 'kg kg-1' + ExtDiag(idx)%mod_name = 'gfs_phys' + allocate (ExtDiag(idx)%data(nblks)) + do nb = 1,nblks + ExtDiag(idx)%data(nb)%var3 => IntDiag(nb)%dq3dt(:,:,5) + enddo + + idx = idx + 1 + ExtDiag(idx)%axes = 3 + ExtDiag(idx)%name = 'dq3dt_o3prodloss' + ExtDiag(idx)%desc = 'cumulative change in ozone concentration due to production and loss rate' + ExtDiag(idx)%unit = 'kg kg-1' + ExtDiag(idx)%mod_name = 'gfs_phys' + allocate (ExtDiag(idx)%data(nblks)) + do nb = 1,nblks + ExtDiag(idx)%data(nb)%var3 => IntDiag(nb)%dq3dt(:,:,6) + enddo + + idx = idx + 1 + ExtDiag(idx)%axes = 3 + ExtDiag(idx)%name = 'dq3dt_o3mix' + ExtDiag(idx)%desc = 'cumulative change in ozone concentration due to ozone mixing ratio' + ExtDiag(idx)%unit = 'kg kg-1' + ExtDiag(idx)%mod_name = 'gfs_phys' + allocate (ExtDiag(idx)%data(nblks)) + do nb = 1,nblks + ExtDiag(idx)%data(nb)%var3 => IntDiag(nb)%dq3dt(:,:,7) + enddo + + idx = idx + 1 + ExtDiag(idx)%axes = 3 + ExtDiag(idx)%name = 'dq3dt_o3temp' + ExtDiag(idx)%desc = 'cumulative change in ozone concentration due to temperature' + ExtDiag(idx)%unit = 'kg kg-1' + ExtDiag(idx)%mod_name = 'gfs_phys' + allocate (ExtDiag(idx)%data(nblks)) + do nb = 1,nblks + ExtDiag(idx)%data(nb)%var3 => IntDiag(nb)%dq3dt(:,:,8) + enddo + + idx = idx + 1 + ExtDiag(idx)%axes = 3 + ExtDiag(idx)%name = 'dq3dt_o3column' + ExtDiag(idx)%desc = 'cumulative change in ozone concentration due to overhead ozone column' + ExtDiag(idx)%unit = 'kg kg-1' + ExtDiag(idx)%mod_name = 'gfs_phys' + allocate (ExtDiag(idx)%data(nblks)) + do nb = 1,nblks + ExtDiag(idx)%data(nb)%var3 => IntDiag(nb)%dq3dt(:,:,9) + enddo end if if_qdiag3d #endif end if if_ldiag3d diff --git a/gfsphysics/GFS_layer/GFS_typedefs.F90 b/gfsphysics/GFS_layer/GFS_typedefs.F90 index 89c9db948..ee951fbcf 100644 --- a/gfsphysics/GFS_layer/GFS_typedefs.F90 +++ b/gfsphysics/GFS_layer/GFS_typedefs.F90 @@ -550,10 +550,10 @@ module GFS_typedefs real(kind=kind_phys) :: fhzero !< hours between clearing of diagnostic buckets logical :: ldiag3d !< flag for 3d diagnostic fields logical :: qdiag3d !< flag for 3d tracer diagnostic fields - logical :: flag_for_gwd_generic_tend!< true if GFS_GWD_generic should calculate tendencies - logical :: flag_for_pbl_generic_tend!< true if GFS_PBL_generic should calculate tendencies - logical :: flag_for_scnv_generic_tend!< true if GFS_DCNV_generic should calculate tendencies - logical :: flag_for_dcnv_generic_tend!< true if GFS_DCNV_generic should calculate tendencies + logical :: flag_for_gwd_generic_tend !< true if GFS_GWD_generic should calculate tendencies + logical :: flag_for_pbl_generic_tend !< true if GFS_PBL_generic should calculate tendencies + logical :: flag_for_scnv_generic_tend !< true if GFS_DCNV_generic should calculate tendencies + logical :: flag_for_dcnv_generic_tend !< true if GFS_DCNV_generic should calculate tendencies logical :: lssav !< logical flag for storing diagnostics real(kind=kind_phys) :: fhcyc !< frequency for surface data cycling (hours) integer :: thermodyn_id !< valid for GFS only for get_prs/phi @@ -1473,7 +1473,6 @@ module GFS_typedefs real (kind=kind_phys), pointer :: dv3dt (:,:,:) => null() !< v momentum change due to physics real (kind=kind_phys), pointer :: dt3dt (:,:,:) => null() !< temperature change due to physics real (kind=kind_phys), pointer :: dq3dt (:,:,:) => null() !< moisture change due to physics - real (kind=kind_phys), pointer :: tend_book(:,:,:)=>null() !< CCPP tendency storage real (kind=kind_phys), pointer :: refdmax (:) => null() !< max hourly 1-km agl reflectivity real (kind=kind_phys), pointer :: refdmax263k(:) => null() !< max hourly -10C reflectivity real (kind=kind_phys), pointer :: t02max (:) => null() !< max hourly 2m T @@ -3278,9 +3277,6 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, master, & #ifdef CCPP - write(0,*) 'GOT HERE (stderr)' - print *,'GOT HERE (stdout)' - if(gwd_opt==1) then write(0,*) 'FLAG: gwd_opt==1 so gwd not generic' Model%flag_for_gwd_generic_tend=.false. @@ -5269,9 +5265,6 @@ subroutine diag_create (Diag, IM, Model) allocate (Diag%dt3dt (IM,Model%levs,12)) if (Model%qdiag3d) then allocate (Diag%dq3dt (IM,Model%levs,12)) - allocate (Diag%tend_book(IM,Model%levs,12)) - else - allocate (Diag%tend_book(IM,Model%levs,9)) endif Diag%tend_book=0 ! allocate (Diag%dq3dt (IM,Model%levs,oz_coeff+5)) @@ -5578,7 +5571,6 @@ subroutine diag_phys_zero (Diag, Model, linit, iauwindow_center) Diag%du3dt = zero Diag%dv3dt = zero Diag%dt3dt = zero - if (Model%qdiag3d) then Diag%dq3dt = zero endif diff --git a/gfsphysics/GFS_layer/GFS_typedefs.meta b/gfsphysics/GFS_layer/GFS_typedefs.meta index 60de65c75..af03a43f5 100644 --- a/gfsphysics/GFS_layer/GFS_typedefs.meta +++ b/gfsphysics/GFS_layer/GFS_typedefs.meta @@ -5445,15 +5445,15 @@ type = real kind = kind_phys [du3dt(:,:,7)] - standard_name = cumulative_change_in_x_wind_from_ccpp - long_name = cumulative change in x wind from CCPP + standard_name = cumulative_change_in_x_wind_due_to_physics + long_name = cumulative change in x wind due to physics units = m s-1 dimensions = (horizontal_dimension,vertical_dimension) type = real kind = kind_phys [du3dt(:,:,8)] - standard_name = cumulative_change_in_x_wind_from_model - long_name = cumulative change in x wind from model + standard_name = cumulative_change_in_x_wind_due_to_model_without_physics + long_name = cumulative change in x wind due to model without physics units = m s-1 dimensions = (horizontal_dimension,vertical_dimension) type = real @@ -5508,15 +5508,15 @@ type = real kind = kind_phys [dv3dt(:,:,7)] - standard_name = cumulative_change_in_y_wind_from_ccpp - long_name = cumulative change in y wind from CCPP + standard_name = cumulative_change_in_y_wind_due_to_physics + long_name = cumulative change in y wind due to physics units = m s-1 dimensions = (horizontal_dimension,vertical_dimension) type = real kind = kind_phys [dv3dt(:,:,8)] - standard_name = cumulative_change_in_y_wind_from_model - long_name = cumulative change in y wind from model + standard_name = cumulative_change_in_y_wind_due_to_model_without_physics + long_name = cumulative change in y wind due to model without physics units = m s-1 dimensions = (horizontal_dimension,vertical_dimension) type = real @@ -5592,15 +5592,15 @@ type = real kind = kind_phys [dt3dt(:,:,10)] - standard_name = cumulative_change_in_temperature_from_ccpp - long_name = cumulative change in temperature from CCPP + standard_name = cumulative_change_in_temperature_due_to_physics + long_name = cumulative change in temperature due to physics units = K dimensions = (horizontal_dimension,vertical_dimension) type = real kind = kind_phys [dt3dt(:,:,11)] - standard_name = cumulative_change_in_temperature_from_model - long_name = cumulative change in temperature from model + standard_name = cumulative_change_in_temperature_due_to_model_without_physics + long_name = cumulative change in temperature due to model without physics units = K dimensions = (horizontal_dimension,vertical_dimension) type = real @@ -5676,15 +5676,15 @@ type = real kind = kind_phys [dq3dt(:,:,10)] - standard_name = cumulative_change_in_water_vapor_specific_humidity_from_CCPP - long_name = cumulative change in water vapor specific humidity from CCPP + standard_name = cumulative_change_in_water_vapor_specific_humidity_due_to_physics + long_name = cumulative change in water vapor specific humidity due to physics units = kg kg-1 dimensions = (horizontal_dimension,vertical_dimension) type = real kind = kind_phys [dq3dt(:,:,11)] - standard_name = cumulative_change_in_water_vapor_specific_humidity_from_model - long_name = cumulative change in water vapor specific humidity from model + standard_name = cumulative_change_in_water_vapor_specific_humidity_due_to_model_without_physics + long_name = cumulative change in water vapor specific humidity due to model without physics units = kg kg-1 dimensions = (horizontal_dimension,vertical_dimension) type = real @@ -5696,90 +5696,6 @@ dimensions = (horizontal_dimension,vertical_dimension) type = real kind = kind_phys -[tend_book(:,:,1)] - standard_name = temperature_at_start_of_ccpp - long_name = temperature at start of ccpp - units = K - dimensions = (horizontal_dimension,vertical_dimension) - type = real - kind = kind_phys -[tend_book(:,:,2)] - standard_name = temperature_at_end_of_ccpp - long_name = temperature at end of ccpp - units = K - dimensions = (horizontal_dimension,vertical_dimension) - type = real - kind = kind_phys -[tend_book(:,:,3)] - standard_name = temperature_at_total_check_point - long_name = temperature when model total is calculated in ccpp - units = K - dimensions = (horizontal_dimension,vertical_dimension) - type = real - kind = kind_phys -[tend_book(:,:,4)] - standard_name = x_wind_at_start_of_ccpp - long_name = x wind at start of ccpp - units = K - dimensions = (horizontal_dimension,vertical_dimension) - type = real - kind = kind_phys -[tend_book(:,:,5)] - standard_name = x_wind_at_end_of_ccpp - long_name = x wind at end of ccpp - units = K - dimensions = (horizontal_dimension,vertical_dimension) - type = real - kind = kind_phys -[tend_book(:,:,6)] - standard_name = x_wind_at_total_check_point - long_name = x when model total is calculated in ccpp - units = K - dimensions = (horizontal_dimension,vertical_dimension) - type = real - kind = kind_phys -[tend_book(:,:,7)] - standard_name = y_wind_at_start_of_ccpp - long_name = y wind at start of ccpp - units = K - dimensions = (horizontal_dimension,vertical_dimension) - type = real - kind = kind_phys -[tend_book(:,:,8)] - standard_name = y_wind_at_end_of_ccpp - long_name = y wind at start of ccpp - units = K - dimensions = (horizontal_dimension,vertical_dimension) - type = real - kind = kind_phys -[tend_book(:,:,9)] - standard_name = y_wind_at_total_check_point - long_name = y when model total is calculated in ccpp - units = K - dimensions = (horizontal_dimension,vertical_dimension) - type = real - kind = kind_phys -[tend_book(:,:,10)] - standard_name = water_vapor_specific_humidity_at_start_of_ccpp - long_name = water vapor specific humidity at start of ccpp - units = K - dimensions = (horizontal_dimension,vertical_dimension) - type = real - kind = kind_phys -[tend_book(:,:,11)] - standard_name = water_vapor_specific_humidity_at_end_of_ccpp - long_name = water vapor specific humidity at end of ccpp - units = K - dimensions = (horizontal_dimension,vertical_dimension) - type = real - kind = kind_phys -[tend_book(:,:,12)] - standard_name = water_vapor_specific_humidity_at_total_check_point - long_name = water vapor specific humidity when model total is calculated in ccpp - units = K - dimensions = (horizontal_dimension,vertical_dimension) - type = real - kind = kind_phys [refdmax] standard_name = maximum_reflectivity_at_1km_agl_over_maximum_hourly_time_interval long_name = maximum reflectivity at 1km agl over maximum hourly time interval