From feb39733b0debf606ea6a05ed5d0f89203777bfe Mon Sep 17 00:00:00 2001 From: Julie Schramm Date: Mon, 31 Aug 2020 10:18:09 -0600 Subject: [PATCH 01/11] Changes to fortran and metadata tables to pass capgen consistency check. --- physics/GFS_SCNV_generic.F90 | 2 +- physics/GFS_SCNV_generic.meta | 12 ++++++------ physics/GFS_surface_composites.meta | 6 +++--- physics/dcyc2.meta | 12 ++++++------ physics/flake_driver.meta | 6 +++--- physics/lsm_ruc_sfc_sice_interstitial.meta | 6 +++--- physics/m_micro_interstitial.F90 | 12 ++++++------ physics/sfc_drv_ruc.F90 | 16 +++++++++------- physics/sfc_drv_ruc.meta | 2 +- 9 files changed, 38 insertions(+), 36 deletions(-) diff --git a/physics/GFS_SCNV_generic.F90 b/physics/GFS_SCNV_generic.F90 index ae8fac5f9..1b95585db 100644 --- a/physics/GFS_SCNV_generic.F90 +++ b/physics/GFS_SCNV_generic.F90 @@ -25,7 +25,7 @@ subroutine GFS_SCNV_generic_pre_run (im, levs, ldiag3d, qdiag3d, gu0, gv0, gt0, logical, intent(in) :: ldiag3d, qdiag3d, flag_for_scnv_generic_tend real(kind=kind_phys), dimension(im,levs), intent(in) :: gu0, gv0, gt0, gq0_water_vapor - real(kind=kind_phys), dimension(im,levs), intent(inout) :: save_u, save_v, save_t, save_qv + real(kind=kind_phys), dimension(im,levs), intent(out) :: save_u, save_v, save_t, save_qv character(len=*), intent(out) :: errmsg integer, intent(out) :: errflg diff --git a/physics/GFS_SCNV_generic.meta b/physics/GFS_SCNV_generic.meta index e11e3fbc3..62472f301 100644 --- a/physics/GFS_SCNV_generic.meta +++ b/physics/GFS_SCNV_generic.meta @@ -167,17 +167,17 @@ type = logical intent = in optional = F -[qdiag3d] - standard_name = flag_tracer_diagnostics_3D - long_name = flag for 3d tracer diagnostic fields +[ldiag3d] + standard_name = flag_diagnostics_3D + long_name = flag for 3d diagnostic fields units = flag dimensions = () type = logical intent = in optional = F -[ldiag3d] - standard_name = flag_diagnostics_3D - long_name = flag for 3d diagnostic fields +[qdiag3d] + standard_name = flag_tracer_diagnostics_3D + long_name = flag for 3d tracer diagnostic fields units = flag dimensions = () type = logical diff --git a/physics/GFS_surface_composites.meta b/physics/GFS_surface_composites.meta index 5b9b644e0..0be41b99f 100644 --- a/physics/GFS_surface_composites.meta +++ b/physics/GFS_surface_composites.meta @@ -31,7 +31,7 @@ units = flag dimensions = (horizontal_dimension) type = logical - intent = in + intent = inout optional = F [cplflx] standard_name = flag_for_flux_coupling @@ -500,7 +500,7 @@ units = flag dimensions = (horizontal_dimension) type = integer - intent = in + intent = inout optional = F [semis_rad] standard_name = surface_longwave_emissivity @@ -1797,7 +1797,7 @@ dimensions = (horizontal_dimension,ice_vertical_dimension) type = real kind = kind_phys - intent = inout + intent = in optional = F [stc] standard_name = soil_temperature diff --git a/physics/dcyc2.meta b/physics/dcyc2.meta index e946e3c90..def7b5ae4 100644 --- a/physics/dcyc2.meta +++ b/physics/dcyc2.meta @@ -92,18 +92,18 @@ kind = kind_phys intent = in optional = F -[tsfc_wat] - standard_name = surface_skin_temperature_over_ocean_interstitial - long_name = surface skin temperature over ocean (temporary use as interstitial) +[tsfc_ice] + standard_name = surface_skin_temperature_over_ice_interstitial + long_name = surface skin temperature over ice (temporary use as interstitial) units = K dimensions = (horizontal_dimension) type = real kind = kind_phys intent = in optional = F -[tsfc_ice] - standard_name = surface_skin_temperature_over_ice_interstitial - long_name = surface skin temperature over ice (temporary use as interstitial) +[tsfc_wat] + standard_name = surface_skin_temperature_over_ocean_interstitial + long_name = surface skin temperature over ocean (temporary use as interstitial) units = K dimensions = (horizontal_dimension) type = real diff --git a/physics/flake_driver.meta b/physics/flake_driver.meta index a40016010..f85490cb7 100644 --- a/physics/flake_driver.meta +++ b/physics/flake_driver.meta @@ -114,7 +114,7 @@ dimensions = (horizontal_dimension) type = real kind = kind_phys - intent = inout + intent = in optional = F [lakedepth] standard_name = lake_depth @@ -217,7 +217,7 @@ dimensions = (horizontal_dimension) type = real kind = kind_phys - intent = in + intent = inout optional = F [hice] standard_name = sea_ice_thickness @@ -235,7 +235,7 @@ dimensions = (horizontal_dimension) type = real kind = kind_phys - intent = in + intent = inout optional = F [fice] standard_name = sea_ice_concentration diff --git a/physics/lsm_ruc_sfc_sice_interstitial.meta b/physics/lsm_ruc_sfc_sice_interstitial.meta index bc3618703..6236b138b 100644 --- a/physics/lsm_ruc_sfc_sice_interstitial.meta +++ b/physics/lsm_ruc_sfc_sice_interstitial.meta @@ -47,7 +47,7 @@ units = flag dimensions = (horizontal_dimension) type = logical - intent = inout + intent = in optional = F [stc] standard_name = soil_temperature @@ -144,7 +144,7 @@ units = flag dimensions = (horizontal_dimension) type = logical - intent = inout + intent = in optional = F [stc] standard_name = soil_temperature @@ -171,7 +171,7 @@ dimensions = (horizontal_dimension,ice_vertical_dimension) type = real kind = kind_phys - intent = inout + intent = in optional = F [errmsg] standard_name = ccpp_error_message diff --git a/physics/m_micro_interstitial.F90 b/physics/m_micro_interstitial.F90 index 930b32b3d..79c249c10 100644 --- a/physics/m_micro_interstitial.F90 +++ b/physics/m_micro_interstitial.F90 @@ -190,12 +190,12 @@ subroutine m_micro_post_run( & real(kind=kind_phys), intent(inout) :: qsnw(1:im,1:levs) real(kind=kind_phys), intent(inout) :: qgl(1:im,1:levs) real(kind=kind_phys), intent(inout) :: gq0_ice(1:im,1:levs) - real(kind=kind_phys), intent(inout) :: gq0_rain(1:im,1:levs) - real(kind=kind_phys), intent(inout) :: gq0_snow(1:im,1:levs) - real(kind=kind_phys), intent(inout) :: gq0_graupel(1:im,1:levs) - real(kind=kind_phys), intent(inout) :: gq0_rain_nc(1:im,1:levs) - real(kind=kind_phys), intent(inout) :: gq0_snow_nc(1:im,1:levs) - real(kind=kind_phys), intent(inout) :: gq0_graupel_nc(1:im,1:levs) + real(kind=kind_phys), intent(out ) :: gq0_rain(1:im,1:levs) + real(kind=kind_phys), intent(out ) :: gq0_snow(1:im,1:levs) + real(kind=kind_phys), intent(out ) :: gq0_graupel(1:im,1:levs) + real(kind=kind_phys), intent(out ) :: gq0_rain_nc(1:im,1:levs) + real(kind=kind_phys), intent(out ) :: gq0_snow_nc(1:im,1:levs) + real(kind=kind_phys), intent(out ) :: gq0_graupel_nc(1:im,1:levs) real(kind=kind_phys), intent( out) :: ice(1:im) real(kind=kind_phys), intent( out) :: snow(1:im) real(kind=kind_phys), intent( out) :: graupel(1:im) diff --git a/physics/sfc_drv_ruc.F90 b/physics/sfc_drv_ruc.F90 index 65935ef1c..d768f9301 100644 --- a/physics/sfc_drv_ruc.F90 +++ b/physics/sfc_drv_ruc.F90 @@ -108,7 +108,6 @@ end subroutine lsm_ruc_finalize ! tslb - real, soil temp (k) im,km ! ! sh2o - real, liquid soil moisture im,km ! ! canopy - real, canopy moisture content (mm) im ! -! trans - real, total plant transpiration (m/s) im ! ! tsurf - real, surface skin temperature (after iteration) im ! ! ! ! outputs: ! @@ -122,6 +121,7 @@ end subroutine lsm_ruc_finalize ! evcw - real, canopy water evaporation (m/s) im ! ! sbsno - real, sublimation/deposit from snopack (m/s) im ! ! stm - real, total soil column moisture content (m) im ! +! trans - real, total plant transpiration (m/s) im ! ! zorl - real, surface roughness im ! ! wetness - real, normalized soil wetness im ! ! ! @@ -194,7 +194,7 @@ subroutine lsm_ruc_run & ! inputs real (kind=kind_phys), dimension(lsoil_ruc), intent(inout ) :: zs real (kind=kind_phys), dimension(im), intent(inout) :: weasd, & & snwdph, tskin, tskin_wat, & - & srflag, canopy, trans, tsurf, zorl, tsnow, & + & srflag, canopy, tsurf, zorl, tsnow, & & sfcqc, sfcqv, sfcdew, fice, tice, sfalb, smcwlt2, smcref2 ! --- in real (kind=kind_phys), dimension(im), intent(in) :: & @@ -204,12 +204,14 @@ subroutine lsm_ruc_run & ! inputs real (kind=kind_phys), dimension(im,lsoil_ruc), intent(inout) :: & & smois, tslb, sh2o, keepfr, smfrkeep -! --- output: real (kind=kind_phys), dimension(im), intent(inout) :: sncovr1, & - & qsurf , gflux , evap , runof , drain , & - & runoff, srunoff, hflx, cmm, chh, & - & rhosnf, evbs, evcw, sbsno, stm, wetness, & - & acsnow, snowfallac + & qsurf , runoff, srunoff, cmm, chh, stm, wetness, acsnow, & + & snowfallac + +! --- output: + real (kind=kind_phys), dimension(im), intent(out) :: trans, & + & gflux, drain, evap, hflx, rhosnf, runof, evbs, evcw, & + & sbsno logical, intent(in) :: flag_init, flag_restart character(len=*), intent(out) :: errmsg diff --git a/physics/sfc_drv_ruc.meta b/physics/sfc_drv_ruc.meta index 4721418d3..a1f8d2e25 100644 --- a/physics/sfc_drv_ruc.meta +++ b/physics/sfc_drv_ruc.meta @@ -218,7 +218,7 @@ dimensions = (horizontal_dimension) type = real kind = kind_phys - intent = inout + intent = in optional = F [dlwflx] standard_name = surface_downwelling_longwave_flux From ee38a142650fe9d764f6005bacc41e2d512c73fa Mon Sep 17 00:00:00 2001 From: Julie Schramm Date: Tue, 1 Sep 2020 13:46:27 -0600 Subject: [PATCH 02/11] Fixes for intent mismatch, out of order arguments and subroutines not found errors found by capgen. --- physics/GFS_MP_generic.F90 | 4 +- physics/GFS_MP_generic.meta | 6 +- physics/GFS_PBL_generic.meta | 12 +-- physics/GFS_cloud_diagnostics.meta | 52 +++++----- physics/GFS_rrtmgp_gfdlmp_pre.meta | 140 +++++++++++++-------------- physics/GFS_rrtmgp_setup.meta | 2 + physics/GFS_rrtmgp_zhaocarr_pre.meta | 106 ++++++++++---------- physics/GFS_surface_generic.meta | 30 +++--- physics/cires_ugwp.meta | 6 +- physics/cs_conv.F90 | 6 +- physics/drag_suite.meta | 2 +- physics/gscond.f | 4 +- physics/gscond.meta | 10 ++ 13 files changed, 196 insertions(+), 184 deletions(-) diff --git a/physics/GFS_MP_generic.F90 b/physics/GFS_MP_generic.F90 index 8810cc7cf..a9d3c5648 100644 --- a/physics/GFS_MP_generic.F90 +++ b/physics/GFS_MP_generic.F90 @@ -26,8 +26,8 @@ subroutine GFS_MP_generic_pre_run(im, levs, ldiag3d, qdiag3d, do_aw, ntcw, nncl, real(kind=kind_phys), dimension(im, levs), intent(in) :: gt0 real(kind=kind_phys), dimension(im, levs, ntrac), intent(in) :: gq0 - real(kind=kind_phys), dimension(im, levs), intent(inout) :: save_t, save_qv - real(kind=kind_phys), dimension(im, levs, ntrac), intent(inout) :: save_q + real(kind=kind_phys), dimension(im, levs), intent(out) :: save_t, save_qv + real(kind=kind_phys), dimension(im, levs, ntrac), intent(out) :: save_q character(len=*), intent(out) :: errmsg integer, intent(out) :: errflg diff --git a/physics/GFS_MP_generic.meta b/physics/GFS_MP_generic.meta index 8a912544a..6b98245f0 100644 --- a/physics/GFS_MP_generic.meta +++ b/physics/GFS_MP_generic.meta @@ -95,7 +95,7 @@ dimensions = (horizontal_dimension,vertical_dimension) type = real kind = kind_phys - intent = inout + intent = out optional = F [save_qv] standard_name = water_vapor_specific_humidity_save @@ -113,7 +113,7 @@ dimensions = (horizontal_dimension,vertical_dimension,number_of_tracers) type = real kind = kind_phys - intent = inout + intent = out optional = F [errmsg] standard_name = ccpp_error_message @@ -333,7 +333,7 @@ dimensions = (horizontal_dimension) type = real kind = kind_phys - intent = in + intent = inout optional = F [rain1] standard_name = lwe_thickness_of_explicit_precipitation_amount diff --git a/physics/GFS_PBL_generic.meta b/physics/GFS_PBL_generic.meta index 51962c37b..b0f5ef7c3 100644 --- a/physics/GFS_PBL_generic.meta +++ b/physics/GFS_PBL_generic.meta @@ -1322,18 +1322,18 @@ kind = kind_phys intent = in optional = F -[hefac] - standard_name = surface_upward_latent_heat_flux_reduction_factor - long_name = surface upward latent heat flux reduction factor from canopy heat storage +[hffac] + standard_name = surface_upward_sensible_heat_flux_reduction_factor + long_name = surface upward sensible heat flux reduction factor from canopy heat storage units = none dimensions = (horizontal_dimension) type = real kind = kind_phys intent = in optional = F -[hffac] - standard_name = surface_upward_sensible_heat_flux_reduction_factor - long_name = surface upward sensible heat flux reduction factor from canopy heat storage +[hefac] + standard_name = surface_upward_latent_heat_flux_reduction_factor + long_name = surface upward latent heat flux reduction factor from canopy heat storage units = none dimensions = (horizontal_dimension) type = real diff --git a/physics/GFS_cloud_diagnostics.meta b/physics/GFS_cloud_diagnostics.meta index f78a76490..cc10000fe 100644 --- a/physics/GFS_cloud_diagnostics.meta +++ b/physics/GFS_cloud_diagnostics.meta @@ -43,6 +43,15 @@ intent = in kind = kind_phys optional = F +[de_lgth] + standard_name = cloud_decorrelation_length + long_name = cloud decorrelation length + units = km + dimensions = (horizontal_dimension) + type = real + kind = kind_phys + intent = in + optional = F [p_lay] standard_name = air_pressure_at_layer_for_RRTMGP_in_hPa long_name = air pressure at vertical layer for radiation calculation @@ -70,31 +79,6 @@ kind = kind_phys intent = in optional = F -[mtopa] - standard_name = model_layer_number_at_cloud_top - long_name = vertical indices for low, middle and high cloud tops - units = index - dimensions = (horizontal_dimension,3) - type = integer - intent = out - optional = F -[mbota] - standard_name = model_layer_number_at_cloud_base - long_name = vertical indices for low, middle and high cloud bases - units = index - dimensions = (horizontal_dimension,3) - type = integer - intent = out - optional = F -[de_lgth] - standard_name = cloud_decorrelation_length - long_name = cloud decorrelation length - units = km - dimensions = (horizontal_dimension) - type = real - kind = kind_phys - intent = in - optional = F [deltaZ] standard_name = layer_thickness long_name = layer_thickness @@ -131,6 +115,22 @@ kind = kind_phys intent = in optional = F +[mbota] + standard_name = model_layer_number_at_cloud_base + long_name = vertical indices for low, middle and high cloud bases + units = index + dimensions = (horizontal_dimension,3) + type = integer + intent = out + optional = F +[mtopa] + standard_name = model_layer_number_at_cloud_top + long_name = vertical indices for low, middle and high cloud tops + units = index + dimensions = (horizontal_dimension,3) + type = integer + intent = out + optional = F [cldsa] standard_name = cloud_area_fraction_for_radiation long_name = fraction of clouds for low, middle, high, total and BL @@ -156,4 +156,4 @@ dimensions = () type = integer intent = out - optional = F \ No newline at end of file + optional = F diff --git a/physics/GFS_rrtmgp_gfdlmp_pre.meta b/physics/GFS_rrtmgp_gfdlmp_pre.meta index 932ffeb8f..aa60d3ca9 100644 --- a/physics/GFS_rrtmgp_gfdlmp_pre.meta +++ b/physics/GFS_rrtmgp_gfdlmp_pre.meta @@ -34,30 +34,6 @@ type = integer intent = in optional = F -[lsswr] - standard_name = flag_to_calc_sw - long_name = logical flags for sw radiation calls - units = flag - dimensions = () - type = logical - intent = in - optional = F -[lslwr] - standard_name = flag_to_calc_lw - long_name = logical flags for lw radiation calls - units = flag - dimensions = () - type = logical - intent = in - optional = F -[effr_in] - standard_name = flag_for_cloud_effective_radii - long_name = flag for cloud effective radii calculations in GFDL microphysics - units = - dimensions = () - type = logical - intent = in - optional = F [i_cldliq] standard_name = index_for_liquid_cloud_condensate long_name = tracer index for cloud condensate (or liquid water) @@ -106,42 +82,6 @@ type = integer intent = in optional = F -[effrin_cldliq] - standard_name = effective_radius_of_stratiform_cloud_liquid_water_particle_in_um - long_name = eff. radius of cloud liquid water particle in micrometer - units = um - dimensions = (horizontal_dimension,vertical_dimension) - type = real - kind = kind_phys - intent = in - optional = F -[effrin_cldice] - standard_name = effective_radius_of_stratiform_cloud_ice_particle_in_um - long_name = eff. radius of cloud ice water particle in micrometer - units = um - dimensions = (horizontal_dimension,vertical_dimension) - type = real - kind = kind_phys - intent = in - optional = F -[effrin_cldrain] - standard_name = effective_radius_of_stratiform_cloud_rain_particle_in_um - long_name = effective radius of cloud rain particle in micrometers - units = um - dimensions = (horizontal_dimension,vertical_dimension) - type = real - kind = kind_phys - intent = in - optional = F -[effrin_cldsnow] - standard_name = effective_radius_of_stratiform_cloud_snow_particle_in_um - long_name = effective radius of cloud snow particle in micrometers - units = um - dimensions = (horizontal_dimension,vertical_dimension) - type = real - kind = kind_phys - intent = in - optional = F [yearlen] standard_name = number_of_days_in_year long_name = number of days in a year @@ -150,6 +90,30 @@ type = integer intent = in optional = F +[lsswr] + standard_name = flag_to_calc_sw + long_name = logical flags for sw radiation calls + units = flag + dimensions = () + type = logical + intent = in + optional = F +[lslwr] + standard_name = flag_to_calc_lw + long_name = logical flags for lw radiation calls + units = flag + dimensions = () + type = logical + intent = in + optional = F +[effr_in] + standard_name = flag_for_cloud_effective_radii + long_name = flag for cloud effective radii calculations in GFDL microphysics + units = + dimensions = () + type = logical + intent = in + optional = F [julian] standard_name = julian_day long_name = julian day @@ -195,6 +159,42 @@ kind = kind_phys intent = in optional = F +[effrin_cldliq] + standard_name = effective_radius_of_stratiform_cloud_liquid_water_particle_in_um + long_name = eff. radius of cloud liquid water particle in micrometer + units = um + dimensions = (horizontal_dimension,vertical_dimension) + type = real + kind = kind_phys + intent = in + optional = F +[effrin_cldice] + standard_name = effective_radius_of_stratiform_cloud_ice_particle_in_um + long_name = eff. radius of cloud ice water particle in micrometer + units = um + dimensions = (horizontal_dimension,vertical_dimension) + type = real + kind = kind_phys + intent = in + optional = F +[effrin_cldrain] + standard_name = effective_radius_of_stratiform_cloud_rain_particle_in_um + long_name = effective radius of cloud rain particle in micrometers + units = um + dimensions = (horizontal_dimension,vertical_dimension) + type = real + kind = kind_phys + intent = in + optional = F +[effrin_cldsnow] + standard_name = effective_radius_of_stratiform_cloud_snow_particle_in_um + long_name = effective radius of cloud snow particle in micrometers + units = um + dimensions = (horizontal_dimension,vertical_dimension) + type = real + kind = kind_phys + intent = in + optional = F [tracer] standard_name = chemical_tracers long_name = chemical tracers @@ -240,15 +240,6 @@ kind = kind_phys intent = in optional = F -[de_lgth] - standard_name = cloud_decorrelation_length - long_name = cloud decorrelation length - units = km - dimensions = (horizontal_dimension) - type = real - kind = kind_phys - intent = out - optional = F [cld_frac] standard_name = total_cloud_fraction long_name = layer total cloud fraction @@ -357,6 +348,15 @@ kind = kind_phys intent = out optional = F +[de_lgth] + standard_name = cloud_decorrelation_length + long_name = cloud decorrelation length + units = km + dimensions = (horizontal_dimension) + type = real + kind = kind_phys + intent = out + optional = F [deltaZ] standard_name = layer_thickness long_name = layer_thickness @@ -382,4 +382,4 @@ dimensions = () type = integer intent = out - optional = F \ No newline at end of file + optional = F diff --git a/physics/GFS_rrtmgp_setup.meta b/physics/GFS_rrtmgp_setup.meta index aec1b4374..9f7ba9c34 100644 --- a/physics/GFS_rrtmgp_setup.meta +++ b/physics/GFS_rrtmgp_setup.meta @@ -31,6 +31,8 @@ units = flag dimensions = () type = integer + intent = in + optional = F [imp_physics_wsm6] intent = in optional = F diff --git a/physics/GFS_rrtmgp_zhaocarr_pre.meta b/physics/GFS_rrtmgp_zhaocarr_pre.meta index 052da5798..b0e94c892 100644 --- a/physics/GFS_rrtmgp_zhaocarr_pre.meta +++ b/physics/GFS_rrtmgp_zhaocarr_pre.meta @@ -18,6 +18,14 @@ type = integer intent = in optional = F +[ncnd] + standard_name = number_of_cloud_condensate_types + long_name = number of cloud condensate types + units = count + dimensions = () + type = integer + intent = in + optional = F [nTracers] standard_name = number_of_tracers long_name = number of tracers @@ -26,14 +34,14 @@ type = integer intent = in optional = F -[ncnd] - standard_name = number_of_cloud_condensate_types - long_name = number of cloud condensate types - units = count +[i_cldliq] + standard_name = index_for_liquid_cloud_condensate + long_name = tracer index for cloud condensate (or liquid water) + units = index dimensions = () - type = integer + type = integer intent = in - optional = F + optional = F [lsswr] standard_name = flag_to_calc_sw long_name = logical flags for sw radiation calls @@ -74,14 +82,6 @@ type = logical intent = in optional = F -[i_cldliq] - standard_name = index_for_liquid_cloud_condensate - long_name = tracer index for cloud condensate (or liquid water) - units = index - dimensions = () - type = integer - intent = in - optional = F [lat] standard_name = latitude long_name = latitude @@ -90,6 +90,15 @@ type = real intent = in kind = kind_phys +[lsmask] + standard_name = sea_land_ice_mask_real + long_name = landmask: sea/land/ice=0/1/2 + units = flag + dimensions = (horizontal_dimension) + type = real + kind = kind_phys + intent = in + optional = F [p_lev] standard_name = air_pressure_at_interface_for_RRTMGP_in_hPa long_name = air pressure at vertical interface for radiation calculation @@ -108,15 +117,15 @@ kind = kind_phys intent = in optional = F -[tv_lay] - standard_name = virtual_temperature - long_name = layer virtual temperature +[t_lay] + standard_name = air_temperature_at_layer_for_RRTMGP + long_name = air temperature at vertical layer for radiation calculation units = K dimensions = (horizontal_dimension,vertical_dimension) type = real kind = kind_phys intent = in - optional = F + optional = F [relhum] standard_name = relative_humidity long_name = layer relative humidity @@ -126,15 +135,15 @@ kind = kind_phys intent = in optional = F -[t_lay] - standard_name = air_temperature_at_layer_for_RRTMGP - long_name = air temperature at vertical layer for radiation calculation +[tv_lay] + standard_name = virtual_temperature + long_name = layer virtual temperature units = K dimensions = (horizontal_dimension,vertical_dimension) type = real kind = kind_phys intent = in - optional = F + optional = F [effrin_cldliq] standard_name = effective_radius_of_stratiform_cloud_liquid_water_particle_in_um long_name = eff. radius of cloud liquid water particle in micrometer @@ -198,19 +207,10 @@ kind = kind_phys intent = in optional = F -[lsmask] - standard_name = sea_land_ice_mask_real - long_name = landmask: sea/land/ice=0/1/2 - units = flag - dimensions = (horizontal_dimension) - type = real - kind = kind_phys - intent = in - optional = F -[con_ttp] - standard_name = triple_point_temperature_of_water - long_name = triple point temperature of water - units = K +[con_eps] + standard_name = ratio_of_dry_air_to_water_vapor_gas_constants + long_name = rd/rv + units = none dimensions = () type = real kind = kind_phys @@ -234,15 +234,6 @@ kind = kind_phys intent = in optional = F -[con_eps] - standard_name = ratio_of_dry_air_to_water_vapor_gas_constants - long_name = rd/rv - units = none - dimensions = () - type = real - kind = kind_phys - intent = in - optional = F [con_epsm1] standard_name = ratio_of_dry_air_to_water_vapor_gas_constants_minus_one long_name = (rd/rv) - 1 @@ -261,6 +252,15 @@ kind = kind_phys intent = in optional = F +[con_ttp] + standard_name = triple_point_temperature_of_water + long_name = triple point temperature of water + units = K + dimensions = () + type = real + kind = kind_phys + intent = in + optional = F [con_rd] standard_name = gas_constant_dry_air long_name = ideal gas constant for dry air @@ -360,11 +360,11 @@ kind = kind_phys intent = out optional = F -[cloud_overlap_param] - standard_name = cloud_overlap_param - long_name = cloud overlap parameter +[de_lgth] + standard_name = cloud_decorrelation_length + long_name = cloud decorrelation length units = km - dimensions = (horizontal_dimension,vertical_dimension) + dimensions = (horizontal_dimension) type = real kind = kind_phys intent = out @@ -378,11 +378,11 @@ kind = kind_phys intent = out optional = F -[de_lgth] - standard_name = cloud_decorrelation_length - long_name = cloud decorrelation length +[cloud_overlap_param] + standard_name = cloud_overlap_param + long_name = cloud overlap parameter units = km - dimensions = (horizontal_dimension) + dimensions = (horizontal_dimension,vertical_dimension) type = real kind = kind_phys intent = out @@ -403,4 +403,4 @@ dimensions = () type = integer intent = out - optional = F \ No newline at end of file + optional = F diff --git a/physics/GFS_surface_generic.meta b/physics/GFS_surface_generic.meta index 86b52b87c..4d1467fd9 100644 --- a/physics/GFS_surface_generic.meta +++ b/physics/GFS_surface_generic.meta @@ -268,15 +268,6 @@ kind = kind_phys intent = in optional = F -[lndp_prt_list] - standard_name =magnitude_of_perturbations_for_landperts - long_name = magnitude of perturbations for landperts - units = variable - dimensions = (number_of_land_surface_variables_perturbed) - type = real - kind = kind_phys - intent = in - optional = F [lndp_var_list] standard_name = variables_to_be_perturbed_for_landperts long_name = variables to be perturbed for landperts @@ -286,6 +277,15 @@ kind = len=3 intent = in optional = F +[lndp_prt_list] + standard_name =magnitude_of_perturbations_for_landperts + long_name = magnitude of perturbations for landperts + units = variable + dimensions = (number_of_land_surface_variables_perturbed) + type = real + kind = kind_phys + intent = in + optional = F [z01d] standard_name = perturbation_of_momentum_roughness_length long_name = perturbation of momentum roughness length @@ -1333,18 +1333,18 @@ kind = kind_phys intent = out optional = F -[hefac] - standard_name = surface_upward_latent_heat_flux_reduction_factor - long_name = surface upward latent heat flux reduction factor from canopy heat storage +[hffac] + standard_name = surface_upward_sensible_heat_flux_reduction_factor + long_name = surface upward sensible heat flux reduction factor from canopy heat storage units = none dimensions = (horizontal_dimension) type = real kind = kind_phys intent = out optional = F -[hffac] - standard_name = surface_upward_sensible_heat_flux_reduction_factor - long_name = surface upward sensible heat flux reduction factor from canopy heat storage +[hefac] + standard_name = surface_upward_latent_heat_flux_reduction_factor + long_name = surface upward latent heat flux reduction factor from canopy heat storage units = none dimensions = (horizontal_dimension) type = real diff --git a/physics/cires_ugwp.meta b/physics/cires_ugwp.meta index d323324d2..1ce2e5a93 100644 --- a/physics/cires_ugwp.meta +++ b/physics/cires_ugwp.meta @@ -689,7 +689,7 @@ dimensions = (horizontal_dimension,vertical_dimension) type = real kind = kind_phys - intent = inout + intent = out optional = F [du3dt_ogw] standard_name = time_integral_of_change_in_x_wind_due_to_orographic_gravity_wave_drag @@ -698,7 +698,7 @@ dimensions = (horizontal_dimension,vertical_dimension) type = real kind = kind_phys - intent = inout + intent = out optional = F [du3dt_tms] standard_name = time_integral_of_change_in_x_wind_due_to_turbulent_orographic_form_drag @@ -707,7 +707,7 @@ dimensions = (horizontal_dimension,vertical_dimension) type = real kind = kind_phys - intent = inout + intent = out optional = F [dudt] standard_name = tendency_of_x_wind_due_to_model_physics diff --git a/physics/cs_conv.F90 b/physics/cs_conv.F90 index 386349422..13b3a3680 100644 --- a/physics/cs_conv.F90 +++ b/physics/cs_conv.F90 @@ -1,4 +1,4 @@ -!> \file cs_conv.F90 +u> \file cs_conv.F90 !! This file contains the Chikira-Sugiyama Convection scheme. module cs_conv_pre @@ -348,6 +348,7 @@ subroutine cs_conv_run( IJSDIM , KMAX , ntracp1 , NN, & cnv_dqldt, clcn, cnv_fice, & cnv_ndrop, cnv_nice, cf_upi ! *GJF + integer, intent(in) :: lprnt, ipr integer, intent(inout) :: kcnv(ijsdim) ! zero if no deep convection and 1 otherwise character(len=*), intent(out) :: errmsg integer, intent(out) :: errflg @@ -397,14 +398,13 @@ subroutine cs_conv_run( IJSDIM , KMAX , ntracp1 , NN, & integer KTMAX(IJSDIM) !< max of KT real(r8) :: ftintm, wrk, wrk1, tem - integer i, k, n, ISTS, IENS, kp1, ipr + integer i, k, n, ISTS, IENS, kp1 !DD borrowed from RAS to go form total condensate to ice/water separately ! parameter (tf=130.16, tcr=160.16, tcrf=1.0/(tcr-tf),tcl=2.0) ! parameter (tf=230.16, tcr=260.16, tcrf=1.0/(tcr-tf)) real(r8), parameter :: tf=233.16, tcr=263.16, tcrf=1.0/(tcr-tf), tcl=2.0 logical, save :: first=.true. - logical lprnt ! Initialize CCPP error handling variables errmsg = '' diff --git a/physics/drag_suite.meta b/physics/drag_suite.meta index dfcac8582..a8c9587b1 100644 --- a/physics/drag_suite.meta +++ b/physics/drag_suite.meta @@ -270,7 +270,7 @@ dimensions = (horizontal_dimension) type = real kind = kind_phys - intent = inout + intent = in optional = F [dtaux2d_ls] standard_name = x_momentum_tendency_from_large_scale_gwd diff --git a/physics/gscond.f b/physics/gscond.f index 28f24763c..1f41cc2b7 100644 --- a/physics/gscond.f +++ b/physics/gscond.f @@ -10,14 +10,14 @@ module zhaocarr_gscond ! \brief Brief description of the subroutine ! -!> \section arg_table_gscond_init Argument Table +!> \section arg_table_zhaocarr_gscond_init Argument Table !! subroutine zhaocarr_gscond_init end subroutine zhaocarr_gscond_init ! \brief Brief description of the subroutine ! -!> \section arg_table_gscond_finalize Argument Table +!> \section arg_table_zhaocarr_gscond_finalize Argument Table !! subroutine zhaocarr_gscond_finalize end subroutine zhaocarr_gscond_finalize diff --git a/physics/gscond.meta b/physics/gscond.meta index 57156358f..578280606 100644 --- a/physics/gscond.meta +++ b/physics/gscond.meta @@ -1,3 +1,13 @@ +[ccpp-arg-table] + name = zhaocarr_gscond_init + type = scheme + +######################################################################## +[ccpp-arg-table] + name = zhaocarr_gscond_finalize + type = scheme + +######################################################################## [ccpp-arg-table] name = zhaocarr_gscond_run type = scheme From c52a094aa0794a67f534ac50a8ec3add7d604bff Mon Sep 17 00:00:00 2001 From: Julie Schramm Date: Wed, 2 Sep 2020 10:29:19 -0600 Subject: [PATCH 03/11] More fixes to intent mismatches, no matching Fortran routine found, and out of order arguments for transition to capgen. --- physics/GFS_GWD_generic.F90 | 9 +++++++++ physics/GFS_GWD_generic.meta | 4 ++-- physics/cu_gf_driver.F90 | 12 ++++++------ physics/module_MYJPBL_wrapper.meta | 26 +++++++++++++------------- physics/module_MYJSFC_wrapper.meta | 16 ++++++++-------- physics/module_MYNNPBL_wrapper.F90 | 8 +++++--- physics/module_MYNNSFC_wrapper.F90 | 11 ++++++----- physics/module_SGSCloud_RadPre.F90 | 6 ++++++ physics/module_SGSCloud_RadPre.meta | 16 ++++++++-------- physics/mp_fer_hires.F90 | 6 +++--- physics/mp_fer_hires.meta | 12 ++++++------ 11 files changed, 72 insertions(+), 54 deletions(-) diff --git a/physics/GFS_GWD_generic.F90 b/physics/GFS_GWD_generic.F90 index 09c969162..f4934aed9 100644 --- a/physics/GFS_GWD_generic.F90 +++ b/physics/GFS_GWD_generic.F90 @@ -6,6 +6,9 @@ module GFS_GWD_generic_pre contains +!! \section arg_table_GFS_GWD_generic_pre_init Argument Table +!! \htmlinclude GFS_GWD_generic_pre_init.html +!! subroutine GFS_GWD_generic_pre_init() end subroutine GFS_GWD_generic_pre_init @@ -128,6 +131,9 @@ subroutine GFS_GWD_generic_pre_run( & end subroutine GFS_GWD_generic_pre_run !> @} +!! \section arg_table_GFS_GWD_generic_pre_finalize Argument Table +!! \htmlinclude GFS_GWD_generic_pre_finalize.html +!! subroutine GFS_GWD_generic_pre_finalize() end subroutine GFS_GWD_generic_pre_finalize @@ -185,6 +191,9 @@ subroutine GFS_GWD_generic_post_run(lssav, ldiag3d, dtf, dusfcg, dvsfcg, dudt, d end subroutine GFS_GWD_generic_post_run !> @} +!! \section arg_table_GFS_GWD_generic_post_finalize Argument Table +!! \htmlinclude GFS_GWD_generic_post_finalize.html +!! subroutine GFS_GWD_generic_post_finalize() end subroutine GFS_GWD_generic_post_finalize diff --git a/physics/GFS_GWD_generic.meta b/physics/GFS_GWD_generic.meta index 614184975..7611d5fc9 100644 --- a/physics/GFS_GWD_generic.meta +++ b/physics/GFS_GWD_generic.meta @@ -161,7 +161,7 @@ dimensions = (horizontal_dimension,vertical_dimension) type = real kind = kind_phys - intent = inout + intent = in optional = F [dvdt] standard_name = tendency_of_y_wind_due_to_model_physics @@ -170,7 +170,7 @@ dimensions = (horizontal_dimension,vertical_dimension) type = real kind = kind_phys - intent = inout + intent = in optional = F [dtdt] standard_name = tendency_of_air_temperature_due_to_model_physics diff --git a/physics/cu_gf_driver.F90 b/physics/cu_gf_driver.F90 index 5c43709d1..91214cdeb 100644 --- a/physics/cu_gf_driver.F90 +++ b/physics/cu_gf_driver.F90 @@ -114,15 +114,15 @@ subroutine cu_gf_driver_run(ntracer,garea,im,km,dt,cactiv, & du3dt_SCNV,dv3dt_SCNV,dt3dt_SCNV,dq3dt_SCNV, & du3dt_DCNV,dv3dt_DCNV,dt3dt_DCNV,dq3dt_DCNV - integer, dimension (im), intent(inout) :: hbot,htop,kcnv - integer, dimension (im), intent(in) :: xland + integer, dimension (im), intent(out) :: hbot,htop,kcnv + integer, dimension (im), intent(in) :: xland real(kind=kind_phys), dimension (im), intent(in) :: pbl integer, dimension (im) :: tropics ! ruc variable - real(kind=kind_phys), dimension (im) :: hfx2,qfx2,psuri - real(kind=kind_phys), dimension (im,km) :: ud_mf,dd_mf,dt_mf - real(kind=kind_phys), dimension (im), intent(inout) :: raincv,cld1d - real(kind=kind_phys), dimension (im,km) :: t2di,p2di + real(kind=kind_phys), dimension (im), intent(in) :: hfx2,qfx2,psuri + real(kind=kind_phys), dimension (im,km), intent(out) :: ud_mf,dd_mf,dt_mf + real(kind=kind_phys), dimension (im), intent(out) :: raincv,cld1d + real(kind=kind_phys), dimension (im,km), intent(in) :: t2di,p2di ! Specific humidity from FV3 real(kind=kind_phys), dimension (im,km), intent(in) :: qv2di_spechum real(kind=kind_phys), dimension (im,km), intent(inout) :: qv_spechum diff --git a/physics/module_MYJPBL_wrapper.meta b/physics/module_MYJPBL_wrapper.meta index fa1fe17c4..e445c3afe 100644 --- a/physics/module_MYJPBL_wrapper.meta +++ b/physics/module_MYJPBL_wrapper.meta @@ -347,7 +347,7 @@ dimensions = (horizontal_dimension) type = real kind = kind_phys - intent = out + intent = inout optional = F [kpbl] standard_name = vertical_index_at_top_of_atmosphere_boundary_layer @@ -399,7 +399,7 @@ dimensions = (horizontal_dimension) type = real kind = kind_phys - intent = inout + intent = in optional = F [ch] standard_name = surface_drag_coefficient_for_heat_and_moisture_in_air @@ -408,7 +408,7 @@ dimensions = (horizontal_dimension) type = real kind = kind_phys - intent = inout + intent = in optional = F [wind] standard_name = wind_speed_at_lowest_model_layer @@ -437,19 +437,19 @@ kind = kind_phys intent = inout optional = F -[hflx] - standard_name = kinematic_surface_upward_sensible_heat_flux_reduced_by_surface_roughness - long_name = kinematic surface upward sensible heat flux - units = K m s-1 +[evap] + standard_name = kinematic_surface_upward_latent_heat_flux_reduced_by_surface_roughness + long_name = kinematic surface upward latent heat flux + units = kg kg-1 m s-1 dimensions = (horizontal_dimension) type = real kind = kind_phys intent = in optional = F -[evap] - standard_name = kinematic_surface_upward_latent_heat_flux_reduced_by_surface_roughness - long_name = kinematic surface upward latent heat flux - units = kg kg-1 m s-1 +[hflx] + standard_name = kinematic_surface_upward_sensible_heat_flux_reduced_by_surface_roughness + long_name = kinematic surface upward sensible heat flux + units = K m s-1 dimensions = (horizontal_dimension) type = real kind = kind_phys @@ -570,7 +570,7 @@ dimensions = (horizontal_dimension) type = real kind = kind_phys - intent = inout + intent = out optional = F [gamq] standard_name = countergradient_mixing_term_for_water_vapor @@ -579,7 +579,7 @@ dimensions = (horizontal_dimension) type = real kind = kind_phys - intent = inout + intent = out optional = F [con_cp] standard_name = specific_heat_of_dry_air_at_constant_pressure diff --git a/physics/module_MYJSFC_wrapper.meta b/physics/module_MYJSFC_wrapper.meta index c26728f0f..ce963b6e8 100644 --- a/physics/module_MYJSFC_wrapper.meta +++ b/physics/module_MYJSFC_wrapper.meta @@ -202,7 +202,7 @@ dimensions = (horizontal_dimension) type = real kind = kind_phys - intent = inout + intent = in optional = F [phy_myj_qsfc] standard_name = surface_specific_humidity_for_MYJ_schemes @@ -373,7 +373,7 @@ dimensions = (horizontal_dimension) type = real kind = kind_phys - intent = inout + intent = out optional = F [ch] standard_name = surface_drag_coefficient_for_heat_and_moisture_in_air @@ -382,7 +382,7 @@ dimensions = (horizontal_dimension) type = real kind = kind_phys - intent = inout + intent = out optional = F [stress] standard_name = surface_wind_stress @@ -400,7 +400,7 @@ dimensions = (horizontal_dimension) type = real kind = kind_phys - intent = inout + intent = out optional = F [ffh] standard_name = Monin_Obukhov_similarity_function_for_heat @@ -409,7 +409,7 @@ dimensions = (horizontal_dimension) type = real kind = kind_phys - intent = inout + intent = out optional = F [fm10] standard_name = Monin_Obukhov_similarity_function_for_momentum_at_10m @@ -418,7 +418,7 @@ dimensions = (horizontal_dimension) type = real kind = kind_phys - intent = inout + intent = out optional = F [fh2] standard_name = Monin_Obukhov_similarity_function_for_heat_at_2m @@ -427,7 +427,7 @@ dimensions = (horizontal_dimension) type = real kind = kind_phys - intent = inout + intent = out optional = F [landfrac] standard_name = land_area_fraction @@ -742,7 +742,7 @@ dimensions = (horizontal_dimension) type = real kind = kind_phys - intent = out + intent = inout optional = F [con_cp] standard_name = specific_heat_of_dry_air_at_constant_pressure diff --git a/physics/module_MYNNPBL_wrapper.F90 b/physics/module_MYNNPBL_wrapper.F90 index 8fd727148..91c023bc4 100644 --- a/physics/module_MYNNPBL_wrapper.F90 +++ b/physics/module_MYNNPBL_wrapper.F90 @@ -10,6 +10,9 @@ MODULE mynnedmf_wrapper contains +!> \section arg_table_mynnedmf_wrapper_init Argument Table +!! \htmlinclude mynnedmf_wrapper_init.html +!! subroutine mynnedmf_wrapper_init (lheatstrg, errmsg, errflg) implicit none @@ -297,11 +300,10 @@ SUBROUTINE mynnedmf_wrapper_run( & & wet, dry, icy real(kind=kind_phys), dimension(im), intent(inout) :: & - & pblh + & pblh,dusfc_diag,dvsfc_diag,dtsfc_diag,dqsfc_diag real(kind=kind_phys), dimension(im), intent(out) :: & & ch,dtsfc1,dqsfc1,dusfc1,dvsfc1, & - & dtsfci_diag,dqsfci_diag,dtsfc_diag,dqsfc_diag, & - & dusfci_diag,dvsfci_diag,dusfc_diag,dvsfc_diag, & + & dtsfci_diag,dqsfci_diag,dusfci_diag,dvsfci_diag, & & maxMF integer, dimension(im), intent(inout) :: & & kpbl,nupdraft,ktop_plume diff --git a/physics/module_MYNNSFC_wrapper.F90 b/physics/module_MYNNSFC_wrapper.F90 index 496db7580..c945a2761 100644 --- a/physics/module_MYNNSFC_wrapper.F90 +++ b/physics/module_MYNNSFC_wrapper.F90 @@ -116,11 +116,12 @@ SUBROUTINE mynnsfc_wrapper_run( & & sigmaf,shdmax,z0pert,ztpert !MYNN-1D - REAL :: delt - INTEGER :: im, levs - INTEGER :: iter, k, i, itimestep, lsm - LOGICAL :: flag_init,flag_restart,lprnt - INTEGER :: IDS,IDE,JDS,JDE,KDS,KDE, & + REAL, intent(in) :: delt + INTEGER, intent(in) :: im, levs + INTEGER, intent(in) :: iter, itimestep, lsm + LOGICAL, intent(in) :: flag_init,flag_restart,lprnt + INTEGER :: k, i + INTEGER :: IDS,IDE,JDS,JDE,KDS,KDE, & & IMS,IME,JMS,JME,KMS,KME, & & ITS,ITE,JTS,JTE,KTS,KTE diff --git a/physics/module_SGSCloud_RadPre.F90 b/physics/module_SGSCloud_RadPre.F90 index 5a1a2744f..248d9d23d 100644 --- a/physics/module_SGSCloud_RadPre.F90 +++ b/physics/module_SGSCloud_RadPre.F90 @@ -10,9 +10,15 @@ module sgscloud_radpre contains +!> \section arg_table_sgscloud_radpre_init Argument Table +!! \htmlinclude sgscloud_radpre_init.html +!! subroutine sgscloud_radpre_init () end subroutine sgscloud_radpre_init +!> \section arg_table_sgscloud_radpre_finalize Argument Table +!! \htmlinclude sgscloud_radpre_finalize.html +!! subroutine sgscloud_radpre_finalize () end subroutine sgscloud_radpre_finalize diff --git a/physics/module_SGSCloud_RadPre.meta b/physics/module_SGSCloud_RadPre.meta index 2658e8638..d9d21a3ee 100644 --- a/physics/module_SGSCloud_RadPre.meta +++ b/physics/module_SGSCloud_RadPre.meta @@ -43,6 +43,14 @@ type = logical intent = in optional = F +[do_mynnedmf] + standard_name = do_mynnedmf + long_name = flag to activate MYNN-EDMF + units = flag + dimensions = () + type = logical + intent = in + optional = F [qc] standard_name = cloud_condensed_water_mixing_ratio long_name = ratio of mass of cloud water to mass of dry air plus vapor (without condensates) @@ -317,14 +325,6 @@ type = integer intent = inout optional = F -[do_mynnedmf] - standard_name = do_mynnedmf - long_name = flag to activate MYNN-EDMF - units = flag - dimensions = () - type = logical - intent = in - optional = F [imp_physics] standard_name = flag_for_microphysics_scheme long_name = choice of microphysics scheme diff --git a/physics/mp_fer_hires.F90 b/physics/mp_fer_hires.F90 index 95e521141..f599c78f2 100644 --- a/physics/mp_fer_hires.F90 +++ b/physics/mp_fer_hires.F90 @@ -162,9 +162,9 @@ SUBROUTINE mp_fer_hires_run(NCOL, NLEV, DT ,SPEC_ADV & real(kind_phys), intent(inout) :: cwm(1:ncol,1:nlev) real(kind_phys), intent(inout) :: train(1:ncol,1:nlev) real(kind_phys), intent(out ) :: sr(1:ncol) - real(kind_phys), intent(inout) :: f_ice(1:ncol,1:nlev) - real(kind_phys), intent(inout) :: f_rain(1:ncol,1:nlev) - real(kind_phys), intent(inout) :: f_rimef(1:ncol,1:nlev) + real(kind_phys), intent(out ) :: f_ice(1:ncol,1:nlev) + real(kind_phys), intent(out ) :: f_rain(1:ncol,1:nlev) + real(kind_phys), intent(out ) :: f_rimef(1:ncol,1:nlev) real(kind_phys), intent(inout) :: qc(1:ncol,1:nlev) real(kind_phys), intent(inout) :: qr(1:ncol,1:nlev) real(kind_phys), intent(inout) :: qi(1:ncol,1:nlev) diff --git a/physics/mp_fer_hires.meta b/physics/mp_fer_hires.meta index a7a33378a..385406533 100644 --- a/physics/mp_fer_hires.meta +++ b/physics/mp_fer_hires.meta @@ -275,18 +275,18 @@ kind = kind_phys intent = inout optional = F -[qi] - standard_name = ice_water_mixing_ratio_updated_by_physics - long_name = ratio of mass of ice water to mass of dry air plus vapor (without condensates) updated by physics +[qr] + standard_name = rain_water_mixing_ratio_updated_by_physics + long_name = ratio of mass of rain water to mass of dry air plus vapor (without condensates) updated by physics units = kg kg-1 dimensions = (horizontal_dimension,vertical_dimension) type = real kind = kind_phys intent = inout optional = F -[qr] - standard_name = rain_water_mixing_ratio_updated_by_physics - long_name = ratio of mass of rain water to mass of dry air plus vapor (without condensates) updated by physics +[qi] + standard_name = ice_water_mixing_ratio_updated_by_physics + long_name = ratio of mass of ice water to mass of dry air plus vapor (without condensates) updated by physics units = kg kg-1 dimensions = (horizontal_dimension,vertical_dimension) type = real From 85fa5577d03d19dc6f71e2591c49f14c03977253 Mon Sep 17 00:00:00 2001 From: Julie Schramm Date: Tue, 5 Jan 2021 11:18:31 -0700 Subject: [PATCH 04/11] Rearrange metadata table entries and add intent to keep capgen happy. --- physics/GFS_cloud_diagnostics.meta | 52 ++++++------ physics/GFS_rrtmgp_gfdlmp_pre.meta | 120 +++++++++++++-------------- physics/GFS_rrtmgp_zhaocarr_pre.meta | 46 +++++----- physics/gfdl_sfc_layer.meta | 6 ++ 4 files changed, 115 insertions(+), 109 deletions(-) diff --git a/physics/GFS_cloud_diagnostics.meta b/physics/GFS_cloud_diagnostics.meta index 840b3b21a..1e68928f0 100644 --- a/physics/GFS_cloud_diagnostics.meta +++ b/physics/GFS_cloud_diagnostics.meta @@ -47,6 +47,15 @@ intent = in kind = kind_phys optional = F +[de_lgth] + standard_name = cloud_decorrelation_length + long_name = cloud decorrelation length + units = km + dimensions = (horizontal_loop_extent) + type = real + kind = kind_phys + intent = in + optional = F [p_lay] standard_name = air_pressure_at_layer_for_RRTMGP_in_hPa long_name = air pressure at vertical layer for radiation calculation @@ -74,31 +83,6 @@ kind = kind_phys intent = in optional = F -[mtopa] - standard_name = model_layer_number_at_cloud_top - long_name = vertical indices for low, middle and high cloud tops - units = index - dimensions = (horizontal_loop_extent,3) - type = integer - intent = out - optional = F -[mbota] - standard_name = model_layer_number_at_cloud_base - long_name = vertical indices for low, middle and high cloud bases - units = index - dimensions = (horizontal_loop_extent,3) - type = integer - intent = out - optional = F -[de_lgth] - standard_name = cloud_decorrelation_length - long_name = cloud decorrelation length - units = km - dimensions = (horizontal_loop_extent) - type = real - kind = kind_phys - intent = in - optional = F [deltaZ] standard_name = layer_thickness long_name = layer_thickness @@ -135,6 +119,22 @@ kind = kind_phys intent = in optional = F +[mtopa] + standard_name = model_layer_number_at_cloud_top + long_name = vertical indices for low, middle and high cloud tops + units = index + dimensions = (horizontal_loop_extent,3) + type = integer + intent = out + optional = F +[mbota] + standard_name = model_layer_number_at_cloud_base + long_name = vertical indices for low, middle and high cloud bases + units = index + dimensions = (horizontal_loop_extent,3) + type = integer + intent = out + optional = F [cldsa] standard_name = cloud_area_fraction_for_radiation long_name = fraction of clouds for low, middle, high, total and BL @@ -160,4 +160,4 @@ dimensions = () type = integer intent = out - optional = F \ No newline at end of file + optional = F diff --git a/physics/GFS_rrtmgp_gfdlmp_pre.meta b/physics/GFS_rrtmgp_gfdlmp_pre.meta index 3841afc9b..020ccece9 100644 --- a/physics/GFS_rrtmgp_gfdlmp_pre.meta +++ b/physics/GFS_rrtmgp_gfdlmp_pre.meta @@ -39,30 +39,6 @@ type = integer intent = in optional = F -[doSWrad] - standard_name = flag_to_calc_sw - long_name = logical flags for sw radiation calls - units = flag - dimensions = () - type = logical - intent = in - optional = F -[doLWrad] - standard_name = flag_to_calc_lw - long_name = logical flags for lw radiation calls - units = flag - dimensions = () - type = logical - intent = in - optional = F -[effr_in] - standard_name = flag_for_cloud_effective_radii - long_name = flag for cloud effective radii calculations in GFDL microphysics - units = flag - dimensions = () - type = logical - intent = in - optional = F [i_cldliq] standard_name = index_for_liquid_cloud_condensate long_name = tracer index for cloud condensate (or liquid water) @@ -111,42 +87,6 @@ type = integer intent = in optional = F -[effrin_cldliq] - standard_name = effective_radius_of_stratiform_cloud_liquid_water_particle_in_um - long_name = eff. radius of cloud liquid water particle in micrometer - units = um - dimensions = (horizontal_loop_extent,vertical_dimension) - type = real - kind = kind_phys - intent = in - optional = F -[effrin_cldice] - standard_name = effective_radius_of_stratiform_cloud_ice_particle_in_um - long_name = eff. radius of cloud ice water particle in micrometer - units = um - dimensions = (horizontal_loop_extent,vertical_dimension) - type = real - kind = kind_phys - intent = in - optional = F -[effrin_cldrain] - standard_name = effective_radius_of_stratiform_cloud_rain_particle_in_um - long_name = effective radius of cloud rain particle in micrometers - units = um - dimensions = (horizontal_loop_extent,vertical_dimension) - type = real - kind = kind_phys - intent = in - optional = F -[effrin_cldsnow] - standard_name = effective_radius_of_stratiform_cloud_snow_particle_in_um - long_name = effective radius of cloud snow particle in micrometers - units = um - dimensions = (horizontal_loop_extent,vertical_dimension) - type = real - kind = kind_phys - intent = in - optional = F [yearlen] standard_name = number_of_days_in_year long_name = number of days in a year @@ -155,6 +95,30 @@ type = integer intent = in optional = F +[doSWrad] + standard_name = flag_to_calc_sw + long_name = logical flags for sw radiation calls + units = flag + dimensions = () + type = logical + intent = in + optional = F +[doLWrad] + standard_name = flag_to_calc_lw + long_name = logical flags for lw radiation calls + units = flag + dimensions = () + type = logical + intent = in + optional = F +[effr_in] + standard_name = flag_for_cloud_effective_radii + long_name = flag for cloud effective radii calculations in GFDL microphysics + units = flag + dimensions = () + type = logical + intent = in + optional = F [julian] standard_name = julian_day long_name = julian day @@ -200,6 +164,42 @@ kind = kind_phys intent = in optional = F +[effrin_cldliq] + standard_name = effective_radius_of_stratiform_cloud_liquid_water_particle_in_um + long_name = eff. radius of cloud liquid water particle in micrometer + units = um + dimensions = (horizontal_loop_extent,vertical_dimension) + type = real + kind = kind_phys + intent = in + optional = F +[effrin_cldice] + standard_name = effective_radius_of_stratiform_cloud_ice_particle_in_um + long_name = eff. radius of cloud ice water particle in micrometer + units = um + dimensions = (horizontal_loop_extent,vertical_dimension) + type = real + kind = kind_phys + intent = in + optional = F +[effrin_cldrain] + standard_name = effective_radius_of_stratiform_cloud_rain_particle_in_um + long_name = effective radius of cloud rain particle in micrometers + units = um + dimensions = (horizontal_loop_extent,vertical_dimension) + type = real + kind = kind_phys + intent = in + optional = F +[effrin_cldsnow] + standard_name = effective_radius_of_stratiform_cloud_snow_particle_in_um + long_name = effective radius of cloud snow particle in micrometers + units = um + dimensions = (horizontal_loop_extent,vertical_dimension) + type = real + kind = kind_phys + intent = in + optional = F [tracer] standard_name = chemical_tracers long_name = chemical tracers diff --git a/physics/GFS_rrtmgp_zhaocarr_pre.meta b/physics/GFS_rrtmgp_zhaocarr_pre.meta index 0cc454d2e..e3812bb74 100644 --- a/physics/GFS_rrtmgp_zhaocarr_pre.meta +++ b/physics/GFS_rrtmgp_zhaocarr_pre.meta @@ -23,6 +23,14 @@ type = integer intent = in optional = F +[ncnd] + standard_name = number_of_cloud_condensate_types + long_name = number of cloud condensate types + units = count + dimensions = () + type = integer + intent = in + optional = F [nTracers] standard_name = number_of_tracers long_name = number of tracers @@ -31,14 +39,14 @@ type = integer intent = in optional = F -[ncnd] - standard_name = number_of_cloud_condensate_types - long_name = number of cloud condensate types - units = count +[i_cldliq] + standard_name = index_for_liquid_cloud_condensate + long_name = tracer index for cloud condensate (or liquid water) + units = index dimensions = () - type = integer + type = integer intent = in - optional = F + optional = F [lsswr] standard_name = flag_to_calc_sw long_name = logical flags for sw radiation calls @@ -79,14 +87,6 @@ type = logical intent = in optional = F -[i_cldliq] - standard_name = index_for_liquid_cloud_condensate - long_name = tracer index for cloud condensate (or liquid water) - units = index - dimensions = () - type = integer - intent = in - optional = F [lat] standard_name = latitude long_name = latitude @@ -95,6 +95,15 @@ type = real intent = in kind = kind_phys +[lsmask] + standard_name = sea_land_ice_mask_real + long_name = landmask: sea/land/ice=0/1/2 + units = flag + dimensions = (horizontal_loop_extent) + type = real + kind = kind_phys + intent = in + optional = F [p_lev] standard_name = air_pressure_at_interface_for_RRTMGP_in_hPa long_name = air pressure at vertical interface for radiation calculation @@ -203,15 +212,6 @@ kind = kind_phys intent = in optional = F -[lsmask] - standard_name = sea_land_ice_mask_real - long_name = landmask: sea/land/ice=0/1/2 - units = flag - dimensions = (horizontal_loop_extent) - type = real - kind = kind_phys - intent = in - optional = F [con_ttp] standard_name = triple_point_temperature_of_water long_name = triple point temperature of water diff --git a/physics/gfdl_sfc_layer.meta b/physics/gfdl_sfc_layer.meta index 77024c813..a9829fec3 100644 --- a/physics/gfdl_sfc_layer.meta +++ b/physics/gfdl_sfc_layer.meta @@ -783,6 +783,8 @@ dimensions = (horizontal_loop_extent) type = real kind = kind_phys + intent = inout + optional = F [qss_lnd] standard_name = surface_specific_humidity_over_land long_name = surface air saturation specific humidity over land @@ -790,6 +792,8 @@ dimensions = (horizontal_loop_extent) type = real kind = kind_phys + intent = inout + optional = F [qss_ice] standard_name = surface_specific_humidity_over_ice long_name = surface air saturation specific humidity over ice @@ -797,6 +801,8 @@ dimensions = (horizontal_loop_extent) type = real kind = kind_phys + intent = inout + optional = F [errmsg] standard_name = ccpp_error_message long_name = error message for error handling in CCPP From 8e7e1b78ad58cbdb66746340a52792356cf194ea Mon Sep 17 00:00:00 2001 From: Julie Schramm Date: Wed, 6 Jan 2021 14:22:16 -0700 Subject: [PATCH 05/11] Fix order of variables and differing intents. --- physics/GFS_rrtmgp_thompsonmp_pre.meta | 154 ++++++++++++------------- physics/dcyc2.meta | 70 +++++------ physics/sfc_drv_ruc.meta | 6 +- 3 files changed, 115 insertions(+), 115 deletions(-) diff --git a/physics/GFS_rrtmgp_thompsonmp_pre.meta b/physics/GFS_rrtmgp_thompsonmp_pre.meta index 90ec59760..482e6a557 100644 --- a/physics/GFS_rrtmgp_thompsonmp_pre.meta +++ b/physics/GFS_rrtmgp_thompsonmp_pre.meta @@ -55,46 +55,6 @@ type = logical intent = in optional = F -[effr_in] - standard_name = flag_for_cloud_effective_radii - long_name = flag for cloud effective radii calculations in GFDL microphysics - units = flag - dimensions = () - type = logical - intent = in - optional = F -[uni_cld] - standard_name = flag_for_uni_cld - long_name = flag for uni_cld - units = flag - dimensions = () - type = logical - intent = in - optional = F -[lmfshal] - standard_name = flag_for_lmfshal - long_name = flag for lmfshal - units = flag - dimensions = () - type = logical - intent = in - optional = F -[lmfdeep2] - standard_name = flag_for_scale_aware_mass_flux_convection - long_name = flag for some scale-aware mass-flux convection scheme active - units = flag - dimensions = () - type = logical - intent = in - optional = F -[ltaerosol] - standard_name = flag_for_aerosol_physics - long_name = flag for aerosol physics - units = flag - dimensions = () - type = logical - intent = in - optional = F [i_cldliq] standard_name = index_for_liquid_cloud_condensate long_name = tracer index for cloud condensate (or liquid water) @@ -167,6 +127,50 @@ type = integer intent = in optional = F +[effr_in] + standard_name = flag_for_cloud_effective_radii + long_name = flag for cloud effective radii calculations in GFDL microphysics + units = flag + dimensions = () + type = logical + intent = in + optional = F +[p_lev] + standard_name = air_pressure_at_interface_for_RRTMGP_in_hPa + long_name = air pressure at vertical interface for radiation calculation + units = hPa + dimensions = (horizontal_dimension,vertical_dimension_plus_one) + type = real + kind = kind_phys + intent = in + optional = F +[p_lay] + standard_name = air_pressure_at_layer_for_RRTMGP_in_hPa + long_name = air pressure at vertical layer for radiation calculation + units = hPa + dimensions = (horizontal_dimension,vertical_dimension) + type = real + kind = kind_phys + intent = in + optional = F +[tv_lay] + standard_name = virtual_temperature + long_name = layer virtual temperature + units = K + dimensions = (horizontal_dimension,vertical_dimension) + type = real + kind = kind_phys + intent = in + optional = F +[t_lay] + standard_name = air_temperature_at_layer_for_RRTMGP + long_name = air temperature at vertical layer for radiation calculation + units = K + dimensions = (horizontal_loop_extent,vertical_dimension) + type = real + kind = kind_phys + intent = in + optional = F [effrin_cldliq] standard_name = effective_radius_of_stratiform_cloud_liquid_water_particle_in_um long_name = eff. radius of cloud liquid water particle in micrometer @@ -243,42 +247,6 @@ type = logical intent = in optional = F -[p_lev] - standard_name = air_pressure_at_interface_for_RRTMGP_in_hPa - long_name = air pressure at vertical interface for radiation calculation - units = hPa - dimensions = (horizontal_dimension,vertical_dimension_plus_one) - type = real - kind = kind_phys - intent = in - optional = F -[p_lay] - standard_name = air_pressure_at_layer_for_RRTMGP_in_hPa - long_name = air pressure at vertical layer for radiation calculation - units = hPa - dimensions = (horizontal_dimension,vertical_dimension) - type = real - kind = kind_phys - intent = in - optional = F -[tv_lay] - standard_name = virtual_temperature - long_name = layer virtual temperature - units = K - dimensions = (horizontal_dimension,vertical_dimension) - type = real - kind = kind_phys - intent = in - optional = F -[t_lay] - standard_name = air_temperature_at_layer_for_RRTMGP - long_name = air temperature at vertical layer for radiation calculation - units = K - dimensions = (horizontal_loop_extent,vertical_dimension) - type = real - kind = kind_phys - intent = in - optional = F [qs_lay] standard_name = saturation_vapor_pressure long_name = saturation vapor pressure @@ -333,6 +301,38 @@ kind = kind_phys intent = in optional = F +[uni_cld] + standard_name = flag_for_uni_cld + long_name = flag for uni_cld + units = flag + dimensions = () + type = logical + intent = in + optional = F +[lmfshal] + standard_name = flag_for_lmfshal + long_name = flag for lmfshal + units = flag + dimensions = () + type = logical + intent = in + optional = F +[lmfdeep2] + standard_name = flag_for_scale_aware_mass_flux_convection + long_name = flag for some scale-aware mass-flux convection scheme active + units = flag + dimensions = () + type = logical + intent = in + optional = F +[ltaerosol] + standard_name = flag_for_aerosol_physics + long_name = flag for aerosol physics + units = flag + dimensions = () + type = logical + intent = in + optional = F [cld_frac] standard_name = total_cloud_fraction long_name = layer total cloud fraction @@ -439,4 +439,4 @@ dimensions = () type = integer intent = out - optional = F \ No newline at end of file + optional = F diff --git a/physics/dcyc2.meta b/physics/dcyc2.meta index 342227206..02611d224 100644 --- a/physics/dcyc2.meta +++ b/physics/dcyc2.meta @@ -178,15 +178,6 @@ kind = kind_phys intent = in optional = F -[sfculw] - standard_name = surface_upwelling_longwave_flux_on_radiation_time_step - long_name = total sky sfc upward lw flux - units = W m-2 - dimensions = (horizontal_loop_extent) - type = real - kind = kind_phys - intent = in - optional = F [swh] standard_name = tendency_of_air_temperature_due_to_shortwave_heating_on_radiation_time_step long_name = total sky shortwave heating rate on radiation time step @@ -353,6 +344,32 @@ type = logical intent = in optional = F +[use_LW_jacobian] + standard_name = flag_to_calc_RRTMGP_LW_jacobian + long_name = logical flag to control RRTMGP LW calculation + units = flag + dimensions = () + type = logical + intent = in + optional = F +[sfculw] + standard_name = surface_upwelling_longwave_flux_on_radiation_time_step + long_name = total sky sfc upward lw flux + units = W m-2 + dimensions = (horizontal_loop_extent) + type = real + kind = kind_phys + intent = in + optional = F +[sfculw_jac] + standard_name = RRTMGP_jacobian_of_lw_flux_upward_at_surface + long_name = RRTMGP Jacobian upward longwave flux at surface + units = W m-2 K-1 + dimensions = (horizontal_loop_extent) + type = real + kind = kind_phys + intent = in + optional = F [dtdt] standard_name = tendency_of_air_temperature_due_to_model_physics long_name = total radiative heating rate at current time @@ -398,6 +415,15 @@ kind = kind_phys intent = out optional = F +[adjsfculw] + standard_name = surface_upwelling_longwave_flux + long_name = surface upwelling longwave flux at current time + units = W m-2 + dimensions = (horizontal_loop_extent) + type = real + kind = kind_phys + intent = out + optional = F [adjsfculw_lnd] standard_name = surface_upwelling_longwave_flux_over_land_interstitial long_name = surface upwelling longwave flux at current time over land (temporary use as interstitial) @@ -425,15 +451,6 @@ kind = kind_phys intent = out optional = F -[adjsfculw] - standard_name = surface_upwelling_longwave_flux - long_name = surface upwelling longwave flux at current time - units = W m-2 - dimensions = (horizontal_loop_extent) - type = real - kind = kind_phys - intent = out - optional = F [xmu] standard_name = zenith_angle_temporal_adjustment_factor_for_shortwave_fluxes long_name = zenith angle temporal adjustment factor for shortwave fluxes @@ -524,23 +541,6 @@ kind = kind_phys intent = out optional = F -[use_LW_jacobian] - standard_name = flag_to_calc_RRTMGP_LW_jacobian - long_name = logical flag to control RRTMGP LW calculation - units = flag - dimensions = () - type = logical - intent = in - optional = F -[sfculw_jac] - standard_name = RRTMGP_jacobian_of_lw_flux_upward_at_surface - long_name = RRTMGP Jacobian upward longwave flux at surface - units = W m-2 K-1 - dimensions = (horizontal_loop_extent) - type = real - kind = kind_phys - intent = in - optional = F [errmsg] standard_name = ccpp_error_message long_name = error message for error handling in CCPP diff --git a/physics/sfc_drv_ruc.meta b/physics/sfc_drv_ruc.meta index 25cb82c0b..b49c35df0 100644 --- a/physics/sfc_drv_ruc.meta +++ b/physics/sfc_drv_ruc.meta @@ -144,7 +144,7 @@ dimensions = (horizontal_dimension) type = real kind = kind_phys - intent = inout + intent = in optional = F [tsfc_lnd] standard_name = surface_skin_temperature @@ -153,7 +153,7 @@ dimensions = (horizontal_dimension) type = real kind = kind_phys - intent = inout + intent = in optional = F [tsfc_wat] standard_name = sea_surface_temperature @@ -162,7 +162,7 @@ dimensions = (horizontal_dimension) type = real kind = kind_phys - intent = inout + intent = in optional = F [tg3] standard_name = deep_soil_temperature From 72b01adb0308e74f266b91d954feec3147ea3f97 Mon Sep 17 00:00:00 2001 From: Julie Schramm Date: Wed, 6 Jan 2021 16:44:36 -0700 Subject: [PATCH 06/11] Fix CCPPError: No matching Fortran routine found for sfc_sice_run --- physics/sfc_sice.f | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/physics/sfc_sice.f b/physics/sfc_sice.f index ab67f849e..daf42fd89 100644 --- a/physics/sfc_sice.f +++ b/physics/sfc_sice.f @@ -14,9 +14,6 @@ end subroutine sfc_sice_finalize !>\defgroup gfs_sice_main GFS Three-layer Thermodynomics Sea-Ice Scheme Module !! \brief This is three-layer thermodynomics sea-ice model based on Winton (2000) \cite winton_2000. -!! \section arg_table_sfc_sice_run Argument Table -!! \htmlinclude sfc_sice_run.html -!! !> \section general_sice_run GFS Sea Ice Driver General Algorithm !!The model has four prognostic variables: the snow layer thickness \f$h_s\f$, the ice layer thickness !! \f$h_i\f$, the upper and lower ice layer temperatures located at the midpoints of the layers @@ -38,19 +35,22 @@ end subroutine sfc_sice_finalize !! the water line to ice, and 3) to equalize the thickness of the two !! ice layers. !> \section detailed_sice_run GFS Sea Ice Driver Detailed Algorithm +!! +!! \section arg_table_sfc_sice_run Argument Table +!! \htmlinclude sfc_sice_run.html +!! !> @{ subroutine sfc_sice_run & - & ( im, kice, sbc, hvap, tgice, cp, eps, epsm1, rvrdm1, grav, & ! --- inputs: - & t0c, rd, ps, t1, q1, delt, & - & sfcemis, dlwflx, sfcnsw, sfcdsw, srflag, & - & cm, ch, prsl1, prslki, prsik1, prslk1, wind, & - & flag_iter, lprnt, ipr, & - & hice, fice, tice, weasd, tskin, tprcp, tiice, ep, & ! --- input/outputs: - & snwdph, qsurf, snowmt, gflux, cmm, chh, evap, hflx, & ! - & frac_grid, icy, islmsk_cice, & - & min_lakeice, min_seaice, oceanfrac, & - & errmsg, errflg - & ) + ( im, kice, sbc, hvap, tgice, cp, eps, epsm1, rvrdm1, grav, & ! --- inputs: + t0c, rd, ps, t1, q1, delt, & + sfcemis, dlwflx, sfcnsw, sfcdsw, srflag, & + cm, ch, prsl1, prslki, prsik1, prslk1, wind, & + flag_iter, lprnt, ipr, & + hice, fice, tice, weasd, tskin, tprcp, tiice, ep, & ! --- input/outputs: + snwdph, qsurf, snowmt, gflux, cmm, chh, evap, hflx, & ! + frac_grid, icy, islmsk_cice, & + min_lakeice, min_seaice, oceanfrac, & + errmsg, errflg ) ! ===================================================================== ! ! description: ! From dc0f118a4a73b5763c0454a1e817ad5fea186124 Mon Sep 17 00:00:00 2001 From: Julie Schramm Date: Thu, 7 Jan 2021 10:45:31 -0700 Subject: [PATCH 07/11] Add missing intent statements --- physics/sfc_noah_wrfv4.meta | 2 +- physics/unified_ugwp.meta | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/physics/sfc_noah_wrfv4.meta b/physics/sfc_noah_wrfv4.meta index 1895c56bf..23d49ecc8 100644 --- a/physics/sfc_noah_wrfv4.meta +++ b/physics/sfc_noah_wrfv4.meta @@ -749,7 +749,7 @@ dimensions = (horizontal_loop_extent) type = real kind = kind_phys - intent = in + intent = inout optional = F [errmsg] standard_name = ccpp_error_message diff --git a/physics/unified_ugwp.meta b/physics/unified_ugwp.meta index 675a68edd..d7846890f 100644 --- a/physics/unified_ugwp.meta +++ b/physics/unified_ugwp.meta @@ -69,6 +69,8 @@ units = none dimensions = (8) type = integer + intent = in + optional = F [lonr] standard_name = number_of_equatorial_longitude_points long_name = number of global points in x-dir (i) along the equator @@ -363,6 +365,8 @@ dimensions = () type = real kind = kind_phys + intent = in + optional = F [kdt] standard_name = index_of_time_step long_name = current forecast iteration @@ -724,6 +728,8 @@ units = none dimensions = (8) type = integer + intent = in + optional = F [xlat] standard_name = latitude long_name = grid latitude From 7cbb6ae3c29edce0a9772f30b38e21f856f410da Mon Sep 17 00:00:00 2001 From: Julie Schramm Date: Thu, 4 Feb 2021 11:11:15 -0700 Subject: [PATCH 08/11] Change intent from out to inout to match fortran. --- physics/sfc_drv_ruc.meta | 40 ++++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/physics/sfc_drv_ruc.meta b/physics/sfc_drv_ruc.meta index 141b8fc6f..8b38b202f 100644 --- a/physics/sfc_drv_ruc.meta +++ b/physics/sfc_drv_ruc.meta @@ -697,7 +697,7 @@ dimensions = (horizontal_loop_extent) type = real kind = kind_phys - intent = in + intent = inout optional = F [snoalb] standard_name = upper_bound_on_max_albedo_over_deep_snow @@ -731,7 +731,7 @@ dimensions = (horizontal_loop_extent) type = real kind = kind_phys - intent = in + intent = inout optional = F [smcwlt2] standard_name = volume_fraction_of_condensed_water_in_soil_at_wilting_point @@ -893,7 +893,7 @@ dimensions = (horizontal_loop_extent) type = real kind = kind_phys - intent = in + intent = inout optional = F [weasd_ice] standard_name = water_equivalent_accumulated_snow_depth_over_ice @@ -992,7 +992,7 @@ dimensions = (horizontal_loop_extent) type = real kind = kind_phys - intent = out + intent = inout optional = F [tsurf_lnd] standard_name = surface_skin_temperature_after_iteration_over_land @@ -1055,7 +1055,7 @@ dimensions = (horizontal_loop_extent) type = real kind = kind_phys - intent = out + intent = inout optional = F [evap_lnd] standard_name = kinematic_surface_upward_latent_heat_flux_over_land @@ -1064,7 +1064,7 @@ dimensions = (horizontal_loop_extent) type = real kind = kind_phys - intent = out + intent = inout optional = F [hflx_lnd] standard_name = kinematic_surface_upward_sensible_heat_flux_over_land @@ -1073,7 +1073,7 @@ dimensions = (horizontal_loop_extent) type = real kind = kind_phys - intent = out + intent = inout optional = F [runof] standard_name = surface_runoff_flux @@ -1082,7 +1082,7 @@ dimensions = (horizontal_loop_extent) type = real kind = kind_phys - intent = out + intent = inout optional = F [runoff] standard_name = total_runoff @@ -1109,7 +1109,7 @@ dimensions = (horizontal_loop_extent) type = real kind = kind_phys - intent = out + intent = inout optional = F [cm_lnd] standard_name = surface_drag_coefficient_for_momentum_in_air_over_land @@ -1136,7 +1136,7 @@ dimensions = (horizontal_loop_extent) type = real kind = kind_phys - intent = out + intent = inout optional = F [evcw] standard_name = canopy_upward_latent_heat_flux @@ -1145,7 +1145,7 @@ dimensions = (horizontal_loop_extent) type = real kind = kind_phys - intent = out + intent = inout optional = F [stm] standard_name = soil_moisture_content @@ -1244,7 +1244,7 @@ dimensions = (horizontal_loop_extent) type = real kind = kind_phys - intent = out + intent = inout optional = F [evap_ice] standard_name = kinematic_surface_upward_latent_heat_flux_over_ice @@ -1253,7 +1253,7 @@ dimensions = (horizontal_loop_extent) type = real kind = kind_phys - intent = out + intent = inout optional = F [ep1d_ice] standard_name = surface_upward_potential_latent_heat_flux_over_ice @@ -1271,7 +1271,7 @@ dimensions = (horizontal_loop_extent) type = real kind = kind_phys - intent = out + intent = inout optional = F [cm_ice] standard_name = surface_drag_coefficient_for_momentum_in_air_over_ice @@ -1307,7 +1307,7 @@ dimensions = (horizontal_loop_extent) type = real kind = kind_phys - intent = out + intent = inout optional = F [sbsno] standard_name = snow_deposition_sublimation_upward_latent_heat_flux @@ -1316,7 +1316,7 @@ dimensions = (horizontal_loop_extent) type = real kind = kind_phys - intent = out + intent = inout optional = F [cmm_lnd] standard_name = surface_drag_wind_speed_for_momentum_in_air_over_land @@ -1325,7 +1325,7 @@ dimensions = (horizontal_loop_extent) type = real kind = kind_phys - intent = out + intent = inout optional = F [chh_lnd] standard_name = surface_drag_mass_flux_for_heat_and_moisture_in_air_over_land @@ -1334,7 +1334,7 @@ dimensions = (horizontal_loop_extent) type = real kind = kind_phys - intent = out + intent = inout optional = F [cmm_ice] standard_name = surface_drag_wind_speed_for_momentum_in_air_over_ice @@ -1343,7 +1343,7 @@ dimensions = (horizontal_loop_extent) type = real kind = kind_phys - intent = out + intent = inout optional = F [chh_ice] standard_name = surface_drag_mass_flux_for_heat_and_moisture_in_air_over_ice @@ -1352,7 +1352,7 @@ dimensions = (horizontal_loop_extent) type = real kind = kind_phys - intent = out + intent = inout optional = F [flag_iter] standard_name = flag_for_iteration From 1223d7af8ec61a755573da6645b3c17269ce8e01 Mon Sep 17 00:00:00 2001 From: Julie Schramm Date: Wed, 3 Mar 2021 13:39:35 -0700 Subject: [PATCH 09/11] Fix intent statements as requested by Dom. --- physics/GFS_MP_generic.F90 | 4 ++-- physics/GFS_MP_generic.meta | 6 +++--- physics/GFS_SCNV_generic.F90 | 2 +- physics/GFS_SCNV_generic.meta | 8 ++++---- physics/cires_ugwp.F90 | 2 +- physics/cires_ugwp.meta | 6 +++--- physics/cs_conv.F90 | 2 +- physics/gfdl_sfc_layer.F90 | 5 +++-- physics/gfdl_sfc_layer.meta | 6 +++--- physics/m_micro_interstitial.F90 | 2 +- physics/m_micro_interstitial.meta | 2 +- physics/module_MYJSFC_wrapper.F90 | 2 +- physics/module_MYJSFC_wrapper.meta | 14 +++++++------- physics/mp_fer_hires.F90 | 6 +++--- physics/mp_fer_hires.meta | 6 +++--- physics/sfc_drv_ruc.F90 | 3 ++- physics/sfc_drv_ruc.meta | 2 +- 17 files changed, 40 insertions(+), 38 deletions(-) diff --git a/physics/GFS_MP_generic.F90 b/physics/GFS_MP_generic.F90 index ce8291ee2..435a80509 100644 --- a/physics/GFS_MP_generic.F90 +++ b/physics/GFS_MP_generic.F90 @@ -22,8 +22,8 @@ subroutine GFS_MP_generic_pre_run(im, levs, ldiag3d, qdiag3d, do_aw, ntcw, nncl, real(kind=kind_phys), dimension(im, levs), intent(in) :: gt0 real(kind=kind_phys), dimension(im, levs, ntrac), intent(in) :: gq0 - real(kind=kind_phys), dimension(im, levs), intent(out) :: save_t, save_qv - real(kind=kind_phys), dimension(im, levs, ntrac), intent(out) :: save_q + real(kind=kind_phys), dimension(im, levs), intent(inout) :: save_t, save_qv + real(kind=kind_phys), dimension(im, levs, ntrac), intent(inout) :: save_q character(len=*), intent(out) :: errmsg integer, intent(out) :: errflg diff --git a/physics/GFS_MP_generic.meta b/physics/GFS_MP_generic.meta index b9c9b87ad..f833c08b1 100644 --- a/physics/GFS_MP_generic.meta +++ b/physics/GFS_MP_generic.meta @@ -96,7 +96,7 @@ dimensions = (horizontal_loop_extent,vertical_dimension) type = real kind = kind_phys - intent = out + intent = inout optional = F [save_qv] standard_name = water_vapor_specific_humidity_save @@ -105,7 +105,7 @@ dimensions = (horizontal_loop_extent,vertical_dimension) type = real kind = kind_phys - intent = out + intent = inout optional = F [save_q] standard_name = tracer_concentration_save @@ -114,7 +114,7 @@ dimensions = (horizontal_loop_extent,vertical_dimension,number_of_tracers) type = real kind = kind_phys - intent = out + intent = inout optional = F [errmsg] standard_name = ccpp_error_message diff --git a/physics/GFS_SCNV_generic.F90 b/physics/GFS_SCNV_generic.F90 index 1b95585db..ae8fac5f9 100644 --- a/physics/GFS_SCNV_generic.F90 +++ b/physics/GFS_SCNV_generic.F90 @@ -25,7 +25,7 @@ subroutine GFS_SCNV_generic_pre_run (im, levs, ldiag3d, qdiag3d, gu0, gv0, gt0, logical, intent(in) :: ldiag3d, qdiag3d, flag_for_scnv_generic_tend real(kind=kind_phys), dimension(im,levs), intent(in) :: gu0, gv0, gt0, gq0_water_vapor - real(kind=kind_phys), dimension(im,levs), intent(out) :: save_u, save_v, save_t, save_qv + real(kind=kind_phys), dimension(im,levs), intent(inout) :: save_u, save_v, save_t, save_qv character(len=*), intent(out) :: errmsg integer, intent(out) :: errflg diff --git a/physics/GFS_SCNV_generic.meta b/physics/GFS_SCNV_generic.meta index 3c0e2db0c..dea2f039c 100644 --- a/physics/GFS_SCNV_generic.meta +++ b/physics/GFS_SCNV_generic.meta @@ -82,7 +82,7 @@ dimensions = (horizontal_loop_extent,vertical_dimension) type = real kind = kind_phys - intent = out + intent = inout optional = F [save_v] standard_name = y_wind_save @@ -91,7 +91,7 @@ dimensions = (horizontal_loop_extent,vertical_dimension) type = real kind = kind_phys - intent = out + intent = inout optional = F [save_t] standard_name = air_temperature_save @@ -100,7 +100,7 @@ dimensions = (horizontal_loop_extent,vertical_dimension) type = real kind = kind_phys - intent = out + intent = inout optional = F [save_qv] standard_name = water_vapor_specific_humidity_save @@ -109,7 +109,7 @@ dimensions = (horizontal_loop_extent,vertical_dimension) type = real kind = kind_phys - intent = out + intent = inout optional = F [flag_for_scnv_generic_tend] standard_name = flag_for_generic_shallow_convection_tendency diff --git a/physics/cires_ugwp.F90 b/physics/cires_ugwp.F90 index 672a2ac81..6aab7ed16 100644 --- a/physics/cires_ugwp.F90 +++ b/physics/cires_ugwp.F90 @@ -188,7 +188,7 @@ subroutine cires_ugwp_run(do_ugwp, me, master, im, levs, ntrac, dtp, kdt, lonr logical, intent(in) :: ldiag3d, lssav ! These arrays only allocated if ldiag_ugwp = .true. - real(kind=kind_phys), intent(out), dimension(:,:) :: du3dt_mtb, du3dt_ogw, du3dt_tms + real(kind=kind_phys), intent(inout), dimension(:,:) :: du3dt_mtb, du3dt_ogw, du3dt_tms real(kind=kind_phys), intent(inout), dimension(im, levs):: dudt, dvdt, dtdt diff --git a/physics/cires_ugwp.meta b/physics/cires_ugwp.meta index d809e3830..e2afbf70f 100644 --- a/physics/cires_ugwp.meta +++ b/physics/cires_ugwp.meta @@ -697,7 +697,7 @@ dimensions = (horizontal_loop_extent,vertical_dimension) type = real kind = kind_phys - intent = out + intent = inout optional = F [du3dt_ogw] standard_name = time_integral_of_change_in_x_wind_due_to_orographic_gravity_wave_drag @@ -706,7 +706,7 @@ dimensions = (horizontal_loop_extent,vertical_dimension) type = real kind = kind_phys - intent = out + intent = inout optional = F [du3dt_tms] standard_name = time_integral_of_change_in_x_wind_due_to_turbulent_orographic_form_drag @@ -715,7 +715,7 @@ dimensions = (horizontal_loop_extent,vertical_dimension) type = real kind = kind_phys - intent = out + intent = inout optional = F [dudt] standard_name = tendency_of_x_wind_due_to_model_physics diff --git a/physics/cs_conv.F90 b/physics/cs_conv.F90 index d56ff020f..36e9c454c 100644 --- a/physics/cs_conv.F90 +++ b/physics/cs_conv.F90 @@ -1,4 +1,4 @@ -u> \file cs_conv.F90 +!> \file cs_conv.F90 !! This file contains the Chikira-Sugiyama Convection scheme. module cs_conv_pre diff --git a/physics/gfdl_sfc_layer.F90 b/physics/gfdl_sfc_layer.F90 index 93e38c982..35f81501f 100644 --- a/physics/gfdl_sfc_layer.F90 +++ b/physics/gfdl_sfc_layer.F90 @@ -144,8 +144,9 @@ subroutine gfdl_sfc_layer_run (im, nsoil, km, xlat, xlon, flag_iter, lsm, & znt_ocn, znt_lnd, znt_ice, cdm_ocn, cdm_lnd, cdm_ice, & stress_ocn, stress_lnd, stress_ice, rib_ocn, rib_lnd, rib_ice, & fm_ocn, fm_lnd, fm_ice, fh_ocn, fh_lnd, fh_ice, fh2_ocn, fh2_lnd, & - fh2_ice, ch_ocn, ch_lnd, ch_ice, fm10_ocn, fm10_lnd, fm10_ice, & - qss_ocn, qss_lnd, qss_ice + fh2_ice, ch_ocn, ch_lnd, ch_ice, fm10_ocn, fm10_lnd, fm10_ice + + real(kind=kind_phys), intent(out), dimension(im) :: qss_ocn, qss_lnd, qss_ice character(len=*), intent(out) :: errmsg integer, intent(out) :: errflg diff --git a/physics/gfdl_sfc_layer.meta b/physics/gfdl_sfc_layer.meta index a9829fec3..c70040745 100644 --- a/physics/gfdl_sfc_layer.meta +++ b/physics/gfdl_sfc_layer.meta @@ -783,7 +783,7 @@ dimensions = (horizontal_loop_extent) type = real kind = kind_phys - intent = inout + intent = out optional = F [qss_lnd] standard_name = surface_specific_humidity_over_land @@ -792,7 +792,7 @@ dimensions = (horizontal_loop_extent) type = real kind = kind_phys - intent = inout + intent = out optional = F [qss_ice] standard_name = surface_specific_humidity_over_ice @@ -801,7 +801,7 @@ dimensions = (horizontal_loop_extent) type = real kind = kind_phys - intent = inout + intent = out optional = F [errmsg] standard_name = ccpp_error_message diff --git a/physics/m_micro_interstitial.F90 b/physics/m_micro_interstitial.F90 index 61f92db60..9cfb6f56e 100644 --- a/physics/m_micro_interstitial.F90 +++ b/physics/m_micro_interstitial.F90 @@ -175,7 +175,7 @@ subroutine m_micro_post_run( & real(kind=kind_phys), intent(inout) :: qrn(1:im,1:levs) real(kind=kind_phys), intent(inout) :: qsnw(1:im,1:levs) real(kind=kind_phys), intent(inout) :: qgl(1:im,1:levs) - real(kind=kind_phys), intent(inout) :: gq0_ice(1:im,1:levs) + real(kind=kind_phys), intent(in ) :: gq0_ice(1:im,1:levs) real(kind=kind_phys), intent(out ) :: gq0_rain(1:im,1:levs) real(kind=kind_phys), intent(out ) :: gq0_snow(1:im,1:levs) real(kind=kind_phys), intent(out ) :: gq0_graupel(1:im,1:levs) diff --git a/physics/m_micro_interstitial.meta b/physics/m_micro_interstitial.meta index 7961cb2db..2cc3d3a9a 100644 --- a/physics/m_micro_interstitial.meta +++ b/physics/m_micro_interstitial.meta @@ -392,7 +392,7 @@ dimensions = (horizontal_loop_extent,vertical_dimension) type = real kind = kind_phys - intent = inout + intent = in optional = F [gq0_rain] standard_name = rain_water_mixing_ratio_updated_by_physics diff --git a/physics/module_MYJSFC_wrapper.F90 b/physics/module_MYJSFC_wrapper.F90 index e3dcf4111..f46291a46 100644 --- a/physics/module_MYJSFC_wrapper.F90 +++ b/physics/module_MYJSFC_wrapper.F90 @@ -102,7 +102,7 @@ SUBROUTINE myjsfc_wrapper_run( & & phy_myj_a1u, phy_myj_a1t, phy_myj_a1q real(kind=kind_phys),dimension(im),intent(inout) :: & & pblh, zorl, ustar, rib - real(kind=kind_phys),dimension(im),intent(out) :: & + real(kind=kind_phys),dimension(im),intent(inout) :: & & cm, ch, stress, ffm, ffh, fm10, fh2 real(kind=kind_phys), dimension(im), intent(inout) :: & & landfrac, lakefrac, oceanfrac, fice diff --git a/physics/module_MYJSFC_wrapper.meta b/physics/module_MYJSFC_wrapper.meta index 7c1afed2f..d2623fdac 100644 --- a/physics/module_MYJSFC_wrapper.meta +++ b/physics/module_MYJSFC_wrapper.meta @@ -379,7 +379,7 @@ dimensions = (horizontal_loop_extent) type = real kind = kind_phys - intent = out + intent = inout optional = F [ch] standard_name = surface_drag_coefficient_for_heat_and_moisture_in_air @@ -388,7 +388,7 @@ dimensions = (horizontal_loop_extent) type = real kind = kind_phys - intent = out + intent = inout optional = F [stress] standard_name = surface_wind_stress @@ -397,7 +397,7 @@ dimensions = (horizontal_loop_extent) type = real kind = kind_phys - intent = out + intent = inout optional = F [ffm] standard_name = Monin_Obukhov_similarity_function_for_momentum @@ -406,7 +406,7 @@ dimensions = (horizontal_loop_extent) type = real kind = kind_phys - intent = out + intent = inout optional = F [ffh] standard_name = Monin_Obukhov_similarity_function_for_heat @@ -415,7 +415,7 @@ dimensions = (horizontal_loop_extent) type = real kind = kind_phys - intent = out + intent = inout optional = F [fm10] standard_name = Monin_Obukhov_similarity_function_for_momentum_at_10m @@ -424,7 +424,7 @@ dimensions = (horizontal_loop_extent) type = real kind = kind_phys - intent = out + intent = inout optional = F [fh2] standard_name = Monin_Obukhov_similarity_function_for_heat_at_2m @@ -433,7 +433,7 @@ dimensions = (horizontal_loop_extent) type = real kind = kind_phys - intent = out + intent = inout optional = F [landfrac] standard_name = land_area_fraction diff --git a/physics/mp_fer_hires.F90 b/physics/mp_fer_hires.F90 index 606b18df4..fd6f76a4d 100644 --- a/physics/mp_fer_hires.F90 +++ b/physics/mp_fer_hires.F90 @@ -54,9 +54,9 @@ subroutine mp_fer_hires_init(ncol, nlev, dtp, imp_physics, & logical, intent(in) :: restart character(len=*), intent(out) :: errmsg integer, intent(out) :: errflg - real(kind_phys), intent(out), optional :: f_ice(1:ncol,1:nlev) - real(kind_phys), intent(out), optional :: f_rain(1:ncol,1:nlev) - real(kind_phys), intent(out), optional :: f_rimef(1:ncol,1:nlev) + real(kind_phys), intent(out) :: f_ice(1:ncol,1:nlev) + real(kind_phys), intent(out) :: f_rain(1:ncol,1:nlev) + real(kind_phys), intent(out) :: f_rimef(1:ncol,1:nlev) ! Local variables diff --git a/physics/mp_fer_hires.meta b/physics/mp_fer_hires.meta index 6db03801a..20412d8a6 100644 --- a/physics/mp_fer_hires.meta +++ b/physics/mp_fer_hires.meta @@ -64,7 +64,7 @@ type = real kind = kind_phys intent = out - optional = T + optional = F [f_rain] standard_name = fraction_of_rain_water_cloud long_name = fraction of rain water cloud @@ -73,7 +73,7 @@ type = real kind = kind_phys intent = out - optional = T + optional = F [f_rimef] standard_name = rime_factor long_name = rime factor @@ -82,7 +82,7 @@ type = real kind = kind_phys intent = out - optional = T + optional = F [mpicomm] standard_name = mpi_comm long_name = MPI communicator diff --git a/physics/sfc_drv_ruc.F90 b/physics/sfc_drv_ruc.F90 index 240393221..606019b61 100644 --- a/physics/sfc_drv_ruc.F90 +++ b/physics/sfc_drv_ruc.F90 @@ -344,7 +344,8 @@ subroutine lsm_ruc_run & ! inputs ! --- in/out: integer, dimension(im), intent(inout) :: soiltyp, vegtype real (kind=kind_phys), dimension(lsoil_ruc), intent(in) :: zs - real (kind=kind_phys), dimension(im), intent(inout) :: srflag, & + real (kind=kind_phys), dimension(im), intent(in) :: srflag + real (kind=kind_phys), dimension(im), intent(inout) :: & & canopy, trans, smcwlt2, smcref2, & ! for land & weasd_lnd, snwdph_lnd, tskin_lnd, & diff --git a/physics/sfc_drv_ruc.meta b/physics/sfc_drv_ruc.meta index 8b38b202f..ed7e7676c 100644 --- a/physics/sfc_drv_ruc.meta +++ b/physics/sfc_drv_ruc.meta @@ -697,7 +697,7 @@ dimensions = (horizontal_loop_extent) type = real kind = kind_phys - intent = inout + intent = in optional = F [snoalb] standard_name = upper_bound_on_max_albedo_over_deep_snow From bfa9a65a5e6b7430c40a7d1dc84a3efe57da140f Mon Sep 17 00:00:00 2001 From: Julie Schramm Date: Tue, 6 Apr 2021 11:37:40 -0600 Subject: [PATCH 10/11] Fix more out of order variables and mismatched intents. --- physics/GFS_stochastics.meta | 122 +++++++++++++++++------------------ physics/dcyc2.meta | 18 +++--- physics/rrtmgp_lw_pre.meta | 18 +++--- physics/sfc_noahmp_drv.meta | 2 +- 4 files changed, 80 insertions(+), 80 deletions(-) diff --git a/physics/GFS_stochastics.meta b/physics/GFS_stochastics.meta index 26dcfd47e..9ca532e72 100644 --- a/physics/GFS_stochastics.meta +++ b/physics/GFS_stochastics.meta @@ -40,46 +40,6 @@ kind = kind_phys intent = in optional = F -[ntcw] - standard_name = index_for_liquid_cloud_condensate - long_name = tracer index for cloud condensate (or liquid water) - units = index - dimensions = () - type = integer - intent = in - optional = F -[ntiw] - standard_name = index_for_ice_cloud_condensate - long_name = tracer index for ice water - units = index - dimensions = () - intent = in - optional = F - type = integer -[ntrw] - standard_name = index_for_rain_water - long_name = tracer index for rain water - units = index - dimensions = () - type = integer - intent = in - optional = F -[ntsw] - standard_name = index_for_snow_water - long_name = tracer index for snow water - units = index - dimensions = () - type = integer - intent = in - optional = F -[ntgl] - standard_name = index_for_graupel - long_name = tracer index for graupel - units = index - dimensions = () - type = integer - intent = in - optional = F [do_sppt] standard_name = flag_for_stochastic_physics_perturbations long_name = flag for stochastic physics perturbations @@ -307,18 +267,18 @@ kind = kind_phys intent = in optional = F -[qgrs_iw] - standard_name = ice_water_mixing_ratio - long_name = moist mixing ratio of cloud ice +[qgrs_sw] + standard_name = snow_water_mixing_ratio + long_name = moist mixing ratio of snow units = kg kg-1 dimensions = (horizontal_loop_extent,vertical_dimension) type = real kind = kind_phys intent = in optional = F -[qgrs_sw] - standard_name = snow_water_mixing_ratio - long_name = moist mixing ratio of snow +[qgrs_iw] + standard_name = ice_water_mixing_ratio + long_name = moist mixing ratio of cloud ice units = kg kg-1 dimensions = (horizontal_loop_extent,vertical_dimension) type = real @@ -370,6 +330,15 @@ kind = kind_phys intent = inout optional = F +[dtdtnp] + standard_name = tendency_of_air_temperature_to_withold_from_sppt + long_name = temp. change from physics that should not be perturbed by sppt + units = K s-1 + dimensions = (horizontal_loop_extent,vertical_dimension) + type = real + kind = kind_phys + intent = inout + optional = F [gq0_cw] standard_name = cloud_condensed_water_mixing_ratio_updated_by_physics long_name = cloud condensed water mixing ratio updated by physics @@ -388,18 +357,18 @@ kind = kind_phys intent = inout optional = F -[gq0_iw] - standard_name = ice_water_mixing_ratio_updated_by_physics - long_name = moist mixing ratio of cloud ice updated by physics +[gq0_sw] + standard_name = snow_water_mixing_ratio_updated_by_physics + long_name = moist mixing ratio of snow updated by physics units = kg kg-1 dimensions = (horizontal_loop_extent,vertical_dimension) type = real kind = kind_phys intent = inout optional = F -[gq0_sw] - standard_name = snow_water_mixing_ratio_updated_by_physics - long_name = moist mixing ratio of snow updated by physics +[gq0_iw] + standard_name = ice_water_mixing_ratio_updated_by_physics + long_name = moist mixing ratio of cloud ice updated by physics units = kg kg-1 dimensions = (horizontal_loop_extent,vertical_dimension) type = real @@ -415,15 +384,6 @@ kind = kind_phys intent = inout optional = F -[dtdtnp] - standard_name = tendency_of_air_temperature_to_withold_from_sppt - long_name = temp. change from physics that should not be perturbed by sppt - units = K s-1 - dimensions = (horizontal_loop_extent,vertical_dimension) - type = real - kind = kind_phys - intent = in - optional = F [rain] standard_name = lwe_thickness_of_precipitation_amount_on_dynamics_timestep long_name = total rain at this time step @@ -531,6 +491,46 @@ kind = kind_phys intent = in optional = F +[ntcw] + standard_name = index_for_liquid_cloud_condensate + long_name = tracer index for cloud condensate (or liquid water) + units = index + dimensions = () + type = integer + intent = in + optional = F +[ntrw] + standard_name = index_for_rain_water + long_name = tracer index for rain water + units = index + dimensions = () + type = integer + intent = in + optional = F +[ntsw] + standard_name = index_for_snow_water + long_name = tracer index for snow water + units = index + dimensions = () + type = integer + intent = in + optional = F +[ntiw] + standard_name = index_for_ice_cloud_condensate + long_name = tracer index for ice water + units = index + dimensions = () + intent = in + optional = F + type = integer +[ntgl] + standard_name = index_for_graupel + long_name = tracer index for graupel + units = index + dimensions = () + type = integer + intent = in + optional = F [errmsg] standard_name = ccpp_error_message long_name = error message for error handling in CCPP diff --git a/physics/dcyc2.meta b/physics/dcyc2.meta index d291da91d..656183d94 100644 --- a/physics/dcyc2.meta +++ b/physics/dcyc2.meta @@ -370,15 +370,6 @@ kind = kind_phys intent = in optional = F -[dtdt] - standard_name = tendency_of_air_temperature_due_to_model_physics - long_name = total radiative heating rate at current time - units = K s-1 - dimensions = (horizontal_loop_extent,vertical_dimension) - type = real - kind = kind_phys - intent = inout - optional = F [pert_radtend] standard_name = flag_for_stochastic_radiative_heating_perturbations long_name = flag for stochastic radiative heating perturbations @@ -403,6 +394,15 @@ type = logical intent = in optional = F +[dtdt] + standard_name = tendency_of_air_temperature_due_to_model_physics + long_name = total radiative heating rate at current time + units = K s-1 + dimensions = (horizontal_loop_extent,vertical_dimension) + type = real + kind = kind_phys + intent = inout + optional = F [dtdtnp] standard_name = tendency_of_air_temperature_to_withold_from_sppt long_name = temp. change from physics that should not be perturbed by sppt diff --git a/physics/rrtmgp_lw_pre.meta b/physics/rrtmgp_lw_pre.meta index 5446580df..f2773fdda 100644 --- a/physics/rrtmgp_lw_pre.meta +++ b/physics/rrtmgp_lw_pre.meta @@ -104,6 +104,15 @@ kind = kind_phys intent = in optional = F +[sfc_emiss_byband] + standard_name = surface_emissivity_in_each_RRTMGP_LW_band + long_name = surface emissivity in each RRTMGP LW band + units = none + dimensions = (number_of_lw_bands_rrtmgp,horizontal_loop_extent) + type = real + kind = kind_phys + intent = out + optional = F [emiss] standard_name = surface_emissivity_lsm long_name = surface emissivity from lsm @@ -122,15 +131,6 @@ kind = kind_phys intent = out optional = F -[sfc_emiss_byband] - standard_name = surface_emissivity_in_each_RRTMGP_LW_band - long_name = surface emissivity in each RRTMGP LW band - units = none - dimensions = (number_of_lw_bands_rrtmgp,horizontal_loop_extent) - type = real - kind = kind_phys - intent = out - optional = F [errmsg] standard_name = ccpp_error_message long_name = error message for error handling in CCPP diff --git a/physics/sfc_noahmp_drv.meta b/physics/sfc_noahmp_drv.meta index c0a6393fa..f1dbbf1ad 100644 --- a/physics/sfc_noahmp_drv.meta +++ b/physics/sfc_noahmp_drv.meta @@ -320,7 +320,7 @@ dimensions = (horizontal_loop_extent) type = real kind = kind_phys - intent = in + intent = inout optional = F [flag_iter] standard_name = flag_for_iteration From d20bd9be38d1603a41d67288f1d18c43a3fdc119 Mon Sep 17 00:00:00 2001 From: "Man.Zhang" Date: Mon, 12 Apr 2021 13:49:57 -0600 Subject: [PATCH 11/11] doxygen fixes --- physics/GFS_GWD_generic.F90 | 9 --------- 1 file changed, 9 deletions(-) diff --git a/physics/GFS_GWD_generic.F90 b/physics/GFS_GWD_generic.F90 index 50edb5bb8..2ab0fb37a 100644 --- a/physics/GFS_GWD_generic.F90 +++ b/physics/GFS_GWD_generic.F90 @@ -6,9 +6,6 @@ module GFS_GWD_generic_pre contains -!! \section arg_table_GFS_GWD_generic_pre_init Argument Table -!! \htmlinclude GFS_GWD_generic_pre_init.html -!! subroutine GFS_GWD_generic_pre_init() end subroutine GFS_GWD_generic_pre_init @@ -135,9 +132,6 @@ subroutine GFS_GWD_generic_pre_run( & end subroutine GFS_GWD_generic_pre_run !> @} -!! \section arg_table_GFS_GWD_generic_pre_finalize Argument Table -!! \htmlinclude GFS_GWD_generic_pre_finalize.html -!! subroutine GFS_GWD_generic_pre_finalize() end subroutine GFS_GWD_generic_pre_finalize @@ -195,9 +189,6 @@ subroutine GFS_GWD_generic_post_run(lssav, ldiag3d, dtf, dusfcg, dvsfcg, dudt, d end subroutine GFS_GWD_generic_post_run !> @} -!! \section arg_table_GFS_GWD_generic_post_finalize Argument Table -!! \htmlinclude GFS_GWD_generic_post_finalize.html -!! subroutine GFS_GWD_generic_post_finalize() end subroutine GFS_GWD_generic_post_finalize