From f49ce161dcef556806c303d1b96d3a20f5f734db Mon Sep 17 00:00:00 2001 From: Haipeng Lin Date: Sun, 13 Apr 2025 23:47:41 -0400 Subject: [PATCH 01/11] Add RK diagnostic schemes. --- ...oud_particle_sedimentation_diagnostics.F90 | 84 ++++ ...ud_particle_sedimentation_diagnostics.meta | 77 ++++ .../compute_cloud_fraction_diagnostics.F90 | 61 +++ .../compute_cloud_fraction_diagnostics.meta | 41 ++ .../convective_cloud_cover_diagnostics.F90 | 64 +++ .../convective_cloud_cover_diagnostics.meta | 53 +++ .../rk_stratiform_diagnostics.F90 | 325 ++++++++++++++++ .../rk_stratiform_diagnostics.meta | 365 ++++++++++++++++++ 8 files changed, 1070 insertions(+) create mode 100644 schemes/sima_diagnostics/cloud_particle_sedimentation_diagnostics.F90 create mode 100644 schemes/sima_diagnostics/cloud_particle_sedimentation_diagnostics.meta create mode 100644 schemes/sima_diagnostics/compute_cloud_fraction_diagnostics.F90 create mode 100644 schemes/sima_diagnostics/compute_cloud_fraction_diagnostics.meta create mode 100644 schemes/sima_diagnostics/convective_cloud_cover_diagnostics.F90 create mode 100644 schemes/sima_diagnostics/convective_cloud_cover_diagnostics.meta create mode 100644 schemes/sima_diagnostics/rk_stratiform_diagnostics.F90 create mode 100644 schemes/sima_diagnostics/rk_stratiform_diagnostics.meta diff --git a/schemes/sima_diagnostics/cloud_particle_sedimentation_diagnostics.F90 b/schemes/sima_diagnostics/cloud_particle_sedimentation_diagnostics.F90 new file mode 100644 index 00000000..d5202929 --- /dev/null +++ b/schemes/sima_diagnostics/cloud_particle_sedimentation_diagnostics.F90 @@ -0,0 +1,84 @@ +! Diagnostics for RK stratiform - cloud particle sedimentation +! Haipeng Lin, March 2025 +module cloud_particle_sedimentation_diagnostics + use ccpp_kinds, only: kind_phys + + implicit none + private + save + + public :: cloud_particle_sedimentation_diagnostics_init + public :: cloud_particle_sedimentation_diagnostics_run + +contains + + !> \section arg_table_cloud_particle_sedimentation_diagnostics_init Argument Table + !! \htmlinclude cloud_particle_sedimentation_diagnostics_init.html + subroutine cloud_particle_sedimentation_diagnostics_init(errmsg, errflg) + use cam_history, only: history_add_field + use cam_history_support, only: horiz_only + + character(len=512), intent(out) :: errmsg + integer, intent(out) :: errflg + + ! Local variables: + + errmsg = '' + errflg = 0 + + ! History add field calls + call history_add_field('DQSED', 'tendency_of_water_vapor_mixing_ratio_wrt_moist_air_and_condensed_water_due_to_sedimentation', 'lev', 'avg', 'kg kg-1 s-1') + call history_add_field('DISED', 'tendency_of_cloud_ice_mixing_ratio_wrt_moist_air_and_condensed_water_due_to_sedimentation', 'lev', 'avg', 'kg kg-1 s-1') + call history_add_field('DLSED', 'tendency_of_cloud_liquid_water_mixing_ratio_wrt_moist_air_and_condensed_water_due_to_sedimentation', 'lev', 'avg', 'kg kg-1 s-1') + call history_add_field('HSED', 'tendency_of_dry_air_enthalpy_at_constant_pressure_due_to_sedimentation', 'lev', 'avg', 'J kg-1 s-1') + call history_add_field('PRECSED', 'stratiform_cloud_water_surface_flux_due_to_sedimentation', horiz_only, 'inst', 'm s-1') + call history_add_field('SNOWSED', 'lwe_cloud_ice_sedimentation_rate_at_surface_due_to_microphysics', horiz_only, 'inst', 'm s-1') + call history_add_field('RAINSED', 'stratiform_rain_flux_at_surface_due_to_sedimentation', horiz_only, 'inst', 'm s-1') + + end subroutine cloud_particle_sedimentation_diagnostics_init + + !> \section arg_table_cloud_particle_sedimentation_diagnostics_run Argument Table + !! \htmlinclude cloud_particle_sedimentation_diagnostics_run.html + subroutine cloud_particle_sedimentation_diagnostics_run( & + ncol, & + wvtend, icetend, liqtend, htend, & + snow_sed, sfliq, & + errmsg, errflg) + + use cam_history, only: history_out_field + + ! Input parameters + integer, intent(in) :: ncol + real(kind_phys), intent(in) :: wvtend(:,:) ! water vapor tendency -- to apply wv tendency + real(kind_phys), intent(in) :: icetend(:,:) ! ice condensate tendency -- to apply cldice tendency + real(kind_phys), intent(in) :: liqtend(:,:) ! liquid condensate tendency -- to apply cldliq tendency + real(kind_phys), intent(in) :: htend(:,:) ! heating rate [J kg-1 s-1] -- to apply s tendency + + real(kind_phys), intent(in) :: snow_sed(:) ! lwe_cloud_ice_sedimentation_rate_at_surface_due_to_microphysics [m s-1] + real(kind_phys), intent(in) :: sfliq(:) ! stratiform_rain_flux_at_surface_due_to_sedimentation [kg m-2 s-1] + + ! CCPP error handling variables + character(len=512), intent(out) :: errmsg + integer, intent(out) :: errflg + + real(kind_phys) :: prec_sed(ncol) + + ! repeat computation of prec_sed here for diagnostics [m s-1] + prec_sed(:ncol) = sfliq(:ncol)/1000._kind_phys + snow_sed(:ncol) + + errmsg = '' + errflg = 0 + + ! History out field calls + call history_out_field('DQSED' , wvtend) + call history_out_field('DISED' , icetend) + call history_out_field('DLSED' , liqtend) + call history_out_field('HSED' , htend) + + call history_out_field('PRECSED', prec_sed) ! calculated as m s-1 + call history_out_field('SNOWSED', snow_sed) ! already in m s-1 + call history_out_field('RAINSED', sfliq/1000._kind_phys) ! convert from kg m-2 s-1 to m s-1 (precip units) for output + + end subroutine cloud_particle_sedimentation_diagnostics_run + +end module cloud_particle_sedimentation_diagnostics diff --git a/schemes/sima_diagnostics/cloud_particle_sedimentation_diagnostics.meta b/schemes/sima_diagnostics/cloud_particle_sedimentation_diagnostics.meta new file mode 100644 index 00000000..ff3365bf --- /dev/null +++ b/schemes/sima_diagnostics/cloud_particle_sedimentation_diagnostics.meta @@ -0,0 +1,77 @@ +[ccpp-table-properties] + name = cloud_particle_sedimentation_diagnostics + type = scheme + +[ccpp-arg-table] + name = cloud_particle_sedimentation_diagnostics_init + type = scheme +[ errmsg ] + standard_name = ccpp_error_message + units = none + type = character | kind = len=512 + dimensions = () + intent = out +[ errflg ] + standard_name = ccpp_error_code + units = 1 + type = integer + dimensions = () + intent = out + +[ccpp-arg-table] + name = cloud_particle_sedimentation_diagnostics_run + type = scheme +[ ncol ] + standard_name = horizontal_loop_extent + units = count + type = integer + dimensions = () + intent = in +[ wvtend ] + standard_name = tendency_of_water_vapor_mixing_ratio_wrt_moist_air_and_condensed_water + units = kg kg-1 s-1 + type = real | kind = kind_phys + dimensions = (horizontal_loop_extent, vertical_layer_dimension) + intent = in +[ icetend ] + standard_name = tendency_of_cloud_ice_mixing_ratio_wrt_moist_air_and_condensed_water + units = kg kg-1 s-1 + type = real | kind = kind_phys + dimensions = (horizontal_loop_extent, vertical_layer_dimension) + intent = in +[ liqtend ] + standard_name = tendency_of_cloud_liquid_water_mixing_ratio_wrt_moist_air_and_condensed_water + units = kg kg-1 s-1 + type = real | kind = kind_phys + dimensions = (horizontal_loop_extent, vertical_layer_dimension) + intent = in +[ htend ] + standard_name = tendency_of_dry_air_enthalpy_at_constant_pressure + units = J kg-1 s-1 + type = real | kind = kind_phys + dimensions = (horizontal_loop_extent, vertical_layer_dimension) + intent = in +[ snow_sed ] + standard_name = lwe_cloud_ice_sedimentation_rate_at_surface_due_to_microphysics + units = m s-1 + type = real | kind = kind_phys + dimensions = (horizontal_loop_extent) + intent = in +[ sfliq ] + standard_name = stratiform_rain_flux_at_surface_due_to_sedimentation + units = kg m-2 s-1 + type = real | kind = kind_phys + dimensions = (horizontal_loop_extent) + intent = in +[ errmsg ] + standard_name = ccpp_error_message + units = none + type = character | kind = len=512 + dimensions = () + intent = out +[ errflg ] + standard_name = ccpp_error_code + units = 1 + type = integer + dimensions = () + intent = out diff --git a/schemes/sima_diagnostics/compute_cloud_fraction_diagnostics.F90 b/schemes/sima_diagnostics/compute_cloud_fraction_diagnostics.F90 new file mode 100644 index 00000000..d5fc5c8a --- /dev/null +++ b/schemes/sima_diagnostics/compute_cloud_fraction_diagnostics.F90 @@ -0,0 +1,61 @@ +! Copyright (C) 2025 University Corporation for Atmospheric Research +! SPDX-License-Identifier: Apache-2.0 +! +! Diagnostics for cloud fraction +! Haipeng Lin, April 2025 +module compute_cloud_fraction_diagnostics + use ccpp_kinds, only: kind_phys + + implicit none + private + save + + public :: compute_cloud_fraction_diagnostics_init + public :: compute_cloud_fraction_diagnostics_run + +contains + + !> \section arg_table_compute_cloud_fraction_diagnostics_init Argument Table + !! \htmlinclude compute_cloud_fraction_diagnostics_init.html + subroutine compute_cloud_fraction_diagnostics_init(errmsg, errflg) + use cam_history, only: history_add_field + use cam_history_support, only: horiz_only + + character(len=512), intent(out) :: errmsg + integer, intent(out) :: errflg + + ! Local variables: + + errmsg = '' + errflg = 0 + + ! History add field calls + call history_add_field('CLDST', 'stratiform_cloud_area_fraction', 'lev', 'avg', 'fraction') + + end subroutine compute_cloud_fraction_diagnostics_init + + !> \section arg_table_compute_cloud_fraction_diagnostics_run Argument Table + !! \htmlinclude compute_cloud_fraction_diagnostics_run.html + subroutine compute_cloud_fraction_diagnostics_run( & + cldst, & + errmsg, errflg) + + use cam_history, only: history_out_field + + ! Input parameters + real(kind_phys), intent(in) :: cldst(:,:) + + + ! CCPP error handling variables + character(len=512), intent(out) :: errmsg + integer, intent(out) :: errflg + + errmsg = '' + errflg = 0 + + ! History out field calls + call history_out_field('CLDST', cldst) + + end subroutine compute_cloud_fraction_diagnostics_run + +end module compute_cloud_fraction_diagnostics diff --git a/schemes/sima_diagnostics/compute_cloud_fraction_diagnostics.meta b/schemes/sima_diagnostics/compute_cloud_fraction_diagnostics.meta new file mode 100644 index 00000000..e0167a72 --- /dev/null +++ b/schemes/sima_diagnostics/compute_cloud_fraction_diagnostics.meta @@ -0,0 +1,41 @@ +[ccpp-table-properties] + name = compute_cloud_fraction_diagnostics + type = scheme + +[ccpp-arg-table] + name = compute_cloud_fraction_diagnostics_init + type = scheme +[ errmsg ] + standard_name = ccpp_error_message + units = none + type = character | kind = len=512 + dimensions = () + intent = out +[ errflg ] + standard_name = ccpp_error_code + units = 1 + type = integer + dimensions = () + intent = out + +[ccpp-arg-table] + name = compute_cloud_fraction_diagnostics_run + type = scheme +[ cldst ] + standard_name = stratiform_cloud_area_fraction + units = fraction + type = real | kind = kind_phys + dimensions = (horizontal_loop_extent, vertical_layer_dimension) + intent = in +[ errmsg ] + standard_name = ccpp_error_message + units = none + type = character | kind = len=512 + dimensions = () + intent = out +[ errflg ] + standard_name = ccpp_error_code + units = 1 + type = integer + dimensions = () + intent = out diff --git a/schemes/sima_diagnostics/convective_cloud_cover_diagnostics.F90 b/schemes/sima_diagnostics/convective_cloud_cover_diagnostics.F90 new file mode 100644 index 00000000..d5433855 --- /dev/null +++ b/schemes/sima_diagnostics/convective_cloud_cover_diagnostics.F90 @@ -0,0 +1,64 @@ +! Diagnostics for cloud fraction - convective cloud cover +! Haipeng Lin, March 2025 +module convective_cloud_cover_diagnostics + use ccpp_kinds, only: kind_phys + + implicit none + private + save + + public :: convective_cloud_cover_diagnostics_init + public :: convective_cloud_cover_diagnostics_run + +contains + + !> \section arg_table_convective_cloud_cover_diagnostics_init Argument Table + !! \htmlinclude convective_cloud_cover_diagnostics_init.html + subroutine convective_cloud_cover_diagnostics_init(errmsg, errflg) + use cam_history, only: history_add_field + use cam_history_support, only: horiz_only + + character(len=512), intent(out) :: errmsg + integer, intent(out) :: errflg + + ! Local variables: + + errmsg = '' + errflg = 0 + + ! History add field calls + call history_add_field('SH_CLD', 'shallow_convective_cloud_area_fraction_tbd', 'lev', 'avg', 'fraction') + call history_add_field('DP_CLD', 'deep_convective_cloud_area_fraction_tbd', 'lev', 'avg', 'fraction') + call history_add_field('CONCLD', 'convective_cloud_area_fraction', 'lev', 'avg', 'fraction') + + end subroutine convective_cloud_cover_diagnostics_init + + !> \section arg_table_convective_cloud_cover_diagnostics_run Argument Table + !! \htmlinclude convective_cloud_cover_diagnostics_run.html + subroutine convective_cloud_cover_diagnostics_run( & + shallowcu, deepcu, concld, & + errmsg, errflg) + + use cam_history, only: history_out_field + + ! Input parameters + real(kind_phys), intent(in) :: shallowcu(:, :) ! Shallow convective cloud fraction [fraction] + real(kind_phys), intent(in) :: deepcu(:, :) ! Deep convective cloud fraction [fraction] + real(kind_phys), intent(in) :: concld(:, :) ! Convective cloud cover [fraction] + + + ! CCPP error handling variables + character(len=512), intent(out) :: errmsg + integer, intent(out) :: errflg + + errmsg = '' + errflg = 0 + + ! History out field calls + call history_out_field('SH_CLD', shallowcu) + call history_out_field('DP_CLD', deepcu) + call history_out_field('CONCLD', concld) + + end subroutine convective_cloud_cover_diagnostics_run + +end module convective_cloud_cover_diagnostics diff --git a/schemes/sima_diagnostics/convective_cloud_cover_diagnostics.meta b/schemes/sima_diagnostics/convective_cloud_cover_diagnostics.meta new file mode 100644 index 00000000..e9c99002 --- /dev/null +++ b/schemes/sima_diagnostics/convective_cloud_cover_diagnostics.meta @@ -0,0 +1,53 @@ +[ccpp-table-properties] + name = convective_cloud_cover_diagnostics + type = scheme + +[ccpp-arg-table] + name = convective_cloud_cover_diagnostics_init + type = scheme +[ errmsg ] + standard_name = ccpp_error_message + units = none + type = character | kind = len=512 + dimensions = () + intent = out +[ errflg ] + standard_name = ccpp_error_code + units = 1 + type = integer + dimensions = () + intent = out + +[ccpp-arg-table] + name = convective_cloud_cover_diagnostics_run + type = scheme +[ shallowcu ] + standard_name = shallow_convective_cloud_area_fraction_tbd + units = fraction + type = real | kind = kind_phys + dimensions = (horizontal_loop_extent, vertical_layer_dimension) + intent = in +[ deepcu ] + standard_name = deep_convective_cloud_area_fraction_tbd + units = fraction + type = real | kind = kind_phys + dimensions = (horizontal_loop_extent, vertical_layer_dimension) + intent = in +[ concld ] + standard_name = convective_cloud_area_fraction + units = fraction + type = real | kind = kind_phys + dimensions = (horizontal_loop_extent, vertical_layer_dimension) + intent = in +[ errmsg ] + standard_name = ccpp_error_message + units = none + type = character | kind = len=512 + dimensions = () + intent = out +[ errflg ] + standard_name = ccpp_error_code + units = 1 + type = integer + dimensions = () + intent = out diff --git a/schemes/sima_diagnostics/rk_stratiform_diagnostics.F90 b/schemes/sima_diagnostics/rk_stratiform_diagnostics.F90 new file mode 100644 index 00000000..54f5ef54 --- /dev/null +++ b/schemes/sima_diagnostics/rk_stratiform_diagnostics.F90 @@ -0,0 +1,325 @@ +! Diagnostics for RK stratiform - miscellaneous interstitial schemes +! Haipeng Lin, March 2025 +module rk_stratiform_diagnostics + use ccpp_kinds, only: kind_phys + + implicit none + private + save + + public :: rk_stratiform_diagnostics_init + public :: rk_stratiform_cloud_fraction_perturbation_diagnostics_run + public :: rk_stratiform_condensate_repartioning_diagnostics_run + public :: rk_stratiform_prognostic_cloud_water_tendencies_diagnostics_run + public :: rk_stratiform_cloud_optical_properties_diagnostics_run + +contains + + !> \section arg_table_rk_stratiform_diagnostics_init Argument Table + !! \htmlinclude rk_stratiform_diagnostics_init.html + subroutine rk_stratiform_diagnostics_init(errmsg, errflg) + use cam_history, only: history_add_field + use cam_history_support, only: horiz_only + + character(len=512), intent(out) :: errmsg + integer, intent(out) :: errflg + + ! Local variables: + + errmsg = '' + errflg = 0 + + ! rk_stratiform_cloud_fraction_perturbation_diagnostics + call history_add_field('AST', 'cloud_area_fraction', 'lev', 'avg', 'fraction') + + ! rk_stratiform_condensate_repartioning_diagnostics + call history_add_field('FICE', 'mass_fraction_of_ice_content_within_stratiform_cloud', 'lev', 'avg', 'fraction') + call history_add_field('REPARTICE', 'tendency_of_cloud_ice_mixing_ratio_wrt_moist_air_and_condensed_water_due_to_precipitation_repartitioning_tbd', 'lev', 'avg', 'kg kg-1 s-1') + call history_add_field('REPARTLIQ', 'tendency_of_cloud_liquid_water_mixing_ratio_wrt_moist_air_and_condensed_water_due_to_precipitation_repartitioning_tbd', 'lev', 'avg', 'kg kg-1 s-1') + call history_add_field('HREPART', 'tendency_of_dry_air_enthalpy_at_constant_pressure_due_to_precipitation_repartitioning_tbd', 'lev', 'avg', 'J kg-1 s-1') + + ! rk_stratiform_prognostic_cloud_water_tendencies_diagnostics + call history_add_field('FWAUT', 'relative_importance_of_liquid_autoconversion_tbd', 'lev', 'avg', 'fraction') + call history_add_field('FSAUT', 'relative_importance_of_ice_autoconversion_tbd', 'lev', 'avg', 'fraction') + call history_add_field('FRACW', 'relative_importance_of_rain_accreting_liquid_tbd', 'lev', 'avg', 'fraction') + call history_add_field('FSACW', 'relative_importance_of_snow_accreting_liquid_tbd', 'lev', 'avg', 'fraction') + call history_add_field('FSACI', 'relative_importance_of_snow_accreting_ice_tbd', 'lev', 'avg', 'fraction') + call history_add_field('PCSNOW', 'lwe_snow_precipitation_rate_at_surface_due_to_microphysics', horiz_only, 'avg', 'fraction') + call history_add_field('CME', 'net_condensation_rate_due_to_microphysics', 'lev', 'avg', 'kg kg-1 s-1') ! qme. + call history_add_field('CMEICE', 'rate_of_condensation_evaporation_of_cloud_ice_within_stratiform_cloud_tbd', 'lev', 'avg', 'kg kg-1 s-1') + call history_add_field('CMELIQ', 'rate_of_condensation_evaporation_of_cloud_liquid_water_within_stratiform_cloud_tbd', 'lev', 'avg', 'kg kg-1 s-1') + call history_add_field('ICE2PR', 'tendency_of_cloud_ice_mixing_ratio_wrt_moist_air_and_condensed_water_due_to_microphysics_tbd', 'lev', 'avg', 'kg kg-1 s-1') + call history_add_field('LIQ2PR', 'tendency_of_cloud_liquid_water_mixing_ratio_wrt_moist_air_and_condensed_water_due_to_microphysics_tbd', 'lev', 'avg', 'kg kg-1 s-1') + + call history_add_field('HPROGCLD', 'tendency_of_dry_air_enthalpy_at_constant_pressure_due_to_microphysics', 'lev', 'avg', 'J kg-1 s-1') + call history_add_field('HEVAP', 'tendency_of_dry_air_enthalpy_at_constant_pressure_due_to_precipitation_evaporation_tbd', 'lev', 'avg', 'J kg-1 s-1') + call history_add_field('HMELT', 'tendency_of_dry_air_enthalpy_at_constant_pressure_due_to_precipitation_phase_change_tbd', 'lev', 'avg', 'J kg-1 s-1') + call history_add_field('HCME', 'tendency_of_dry_air_enthalpy_at_constant_pressure_due_to_condensation_evaporation_within_stratiform_cloud_tbd', 'lev', 'avg', 'J kg-1 s-1') + call history_add_field('HFREEZ', 'tendency_of_dry_air_enthalpy_at_constant_pressure_due_to_precipitation_freezing_tbd', 'lev', 'avg', 'J kg-1 s-1') + + call history_add_field('PRODPREC', 'precipitation_production_due_to_microphysics', 'lev', 'avg', 'kg kg-1 s-1') + call history_add_field('EVAPPREC', 'precipitation_evaporation_due_to_microphysics', 'lev', 'avg', 'kg kg-1 s-1') + call history_add_field('EVAPSNOW', 'rate_of_evaporation_of_falling_snow_due_to_microphysics_tbd', 'lev', 'avg', 'kg kg-1 s-1') + + ! ... for COSP/CFMIP + call history_add_field('LS_FLXPRC', 'stratiform_rain_and_snow_flux_at_interface', 'ilev', 'avg', 'kg m-2 s-1') + call history_add_field('LS_FLXSNW', 'stratiform_snow_flux_at_interface', 'ilev', 'avg', 'kg m-2 s-1') + call history_add_field('PRACWO', 'accretion_of_cloud_liquid_water_by_rain_tbd', 'lev', 'avg', 's-1') + call history_add_field('PSACWO', 'accretion_of_cloud_liquid_water_by_snow_tbd', 'lev', 'avg', 's-1') + call history_add_field('PSACIO', 'accretion_of_cloud_ice_by_snow_tbd', 'lev', 'avg', 's-1') + + call history_add_field('CLDLIQSTR', 'stratiform_cloud_liquid_water_mixing_ratio_wrt_moist_air_and_condensed_water', 'lev', 'avg', 'kg kg-1') + call history_add_field('CLDICESTR', 'stratiform_cloud_ice_mixing_ratio_wrt_moist_air_and_condensed_water', 'lev', 'avg', 'kg kg-1') + call history_add_field('CLDLIQCON', 'convective_cloud_liquid_water_mixing_ratio_wrt_moist_air_and_condensed_water', 'lev', 'avg', 'kg kg-1') + call history_add_field('CLDICECON', 'convective_cloud_ice_mixing_ratio_wrt_moist_air_and_condensed_water', 'lev', 'avg', 'kg kg-1') + + ! rk_stratiform_cloud_optical_properties_diagnostics + call history_add_field('IWC', 'stratiform_cloud_ice_water_content', 'lev', 'avg', 'kg m-3') + call history_add_field('LWC', 'stratiform_cloud_liquid_water_content', 'lev', 'avg', 'kg m-3') + call history_add_field('ICIMR', 'in_cloud_ice_mixing_ratio_wrt_moist_air_and_condensed_water', 'lev', 'avg', 'kg kg-1') + call history_add_field('ICWMR', 'in_cloud_water_vapor_mixing_ratio_wrt_moist_air_and_condensed_water', 'lev', 'avg', 'kg kg-1') + + call history_add_field('REI', 'effective_radius_of_stratiform_cloud_ice_particle', 'lev', 'avg', 'um') + call history_add_field('REL', 'effective_radius_of_stratiform_cloud_liquid_water_particle', 'lev', 'avg', 'um') + + + end subroutine rk_stratiform_diagnostics_init + + !> \section arg_table_rk_stratiform_cloud_fraction_perturbation_diagnostics_run Argument Table + !! \htmlinclude rk_stratiform_cloud_fraction_perturbation_diagnostics_run.html + subroutine rk_stratiform_cloud_fraction_perturbation_diagnostics_run( & + cloud, & + errmsg, errflg) + + use cam_history, only: history_out_field + + ! Input parameters + real(kind_phys), intent(in) :: cloud(:, :) ! cloud_area_fraction [fraction] + + ! CCPP error handling variables + character(len=512), intent(out) :: errmsg + integer, intent(out) :: errflg + + errmsg = '' + errflg = 0 + + ! History out field calls + call history_out_field('AST', cloud) + + end subroutine rk_stratiform_cloud_fraction_perturbation_diagnostics_run + + !> \section arg_table_rk_stratiform_condensate_repartioning_diagnostics_run Argument Table + !! \htmlinclude rk_stratiform_condensate_repartioning_diagnostics_run.html + subroutine rk_stratiform_condensate_repartioning_diagnostics_run( & + fice, tend_cldice, tend_cldliq, repartht, & + errmsg, errflg) + + use cam_history, only: history_out_field + + ! Input parameters + real(kind_phys), intent(in) :: fice(:,:) ! mass_fraction_of_ice_content_within_stratiform_cloud [fraction] + real(kind_phys), intent(in) :: tend_cldice(:,:) ! tendency_of_cloud_ice_mixing_ratio_wrt_moist_air_and_condensed_water [kg kg-1 s-1] + real(kind_phys), intent(in) :: tend_cldliq(:,:) ! tendency_of_cloud_liquid_water_mixing_ratio_wrt_moist_air_and_condensed_water [kg kg-1 s-1] + real(kind_phys), intent(in) :: repartht(:,:) ! [J kg-1 s-1] + + ! CCPP error handling variables + character(len=512), intent(out) :: errmsg + integer, intent(out) :: errflg + + errmsg = '' + errflg = 0 + + ! History out field calls + call history_out_field('FICE', fice) + call history_out_field('REPARTICE', tend_cldice) + call history_out_field('REPARTLIQ', tend_cldliq) + call history_out_field('HREPART', repartht) + + end subroutine rk_stratiform_condensate_repartioning_diagnostics_run + + !> \section arg_table_rk_stratiform_prognostic_cloud_water_tendencies_diagnostics_run Argument Table + !! \htmlinclude rk_stratiform_prognostic_cloud_water_tendencies_diagnostics_run.html + subroutine rk_stratiform_prognostic_cloud_water_tendencies_diagnostics_run( & + ncol, pver, & + cloud, concld, & + cldliq, cldice, & + fwaut, fsaut, fracw, fsacw, fsaci, & + snow_pcw, cme, cmeice, cmeliq, ice2pr, liq2pr, & + tend_s, & + evapheat, meltheat, cmeheat, prfzheat, & + prodprec, evapprec, evapsnow, & + lsflxprc, lsflxsnw, & + pracwo, psacwo, psacio, & + errmsg, errflg) + + use cam_history, only: history_out_field + + ! Input parameters + integer, intent(in) :: ncol + integer, intent(in) :: pver + real(kind_phys), intent(in) :: cloud(:,:) ! cloud_area_fraction [fraction] + real(kind_phys), intent(in) :: concld(:,:) ! convective_cloud_area_fraction [fraction] + real(kind_phys), intent(in) :: cldliq(:,:) ! adv: cloud_liquid_water_mixing_ratio_wrt_moist_air_and_condensed_water [kg kg-1] + real(kind_phys), intent(in) :: cldice(:,:) ! adv: cloud_ice_mixing_ratio_wrt_moist_air_and_condensed_water [kg kg-1] + + real(kind_phys), intent(in) :: fwaut(:,:) + real(kind_phys), intent(in) :: fsaut(:,:) + real(kind_phys), intent(in) :: fracw(:,:) + real(kind_phys), intent(in) :: fsacw(:,:) + real(kind_phys), intent(in) :: fsaci(:,:) + + real(kind_phys), intent(in) :: snow_pcw(:) + real(kind_phys), intent(in) :: cme(:,:) + real(kind_phys), intent(in) :: cmeice(:,:) + real(kind_phys), intent(in) :: cmeliq(:,:) + real(kind_phys), intent(in) :: ice2pr(:,:) + real(kind_phys), intent(in) :: liq2pr(:,:) + + real(kind_phys), intent(in) :: tend_s(:,:) + real(kind_phys), intent(in) :: evapheat(:,:) + real(kind_phys), intent(in) :: meltheat(:,:) + real(kind_phys), intent(in) :: cmeheat(:,:) + real(kind_phys), intent(in) :: prfzheat(:,:) + + real(kind_phys), intent(in) :: prodprec(:,:) + real(kind_phys), intent(in) :: evapprec(:,:) + real(kind_phys), intent(in) :: evapsnow(:,:) + real(kind_phys), intent(in) :: lsflxprc(:,:) + real(kind_phys), intent(in) :: lsflxsnw(:,:) + real(kind_phys), intent(in) :: pracwo(:,:) + real(kind_phys), intent(in) :: psacwo(:,:) + real(kind_phys), intent(in) :: psacio(:,:) + + ! CCPP error handling variables + character(len=512), intent(out) :: errmsg + integer, intent(out) :: errflg + + ! Local variables + real(kind_phys) :: cldliqstr(ncol, pver) ! [kg kg-1] + real(kind_phys) :: cldicestr(ncol, pver) ! [kg kg-1] + real(kind_phys) :: cldliqcon(ncol, pver) ! [kg kg-1] + real(kind_phys) :: cldicecon(ncol, pver) ! [kg kg-1] + integer :: i, k + + errmsg = '' + errflg = 0 + + ! History out field calls + call history_out_field('FWAUT', fwaut) + call history_out_field('FSAUT', fsaut) + call history_out_field('FRACW', fracw) + call history_out_field('FSACW', fsacw) + call history_out_field('FSACI', fsaci) + + call history_out_field('PCSNOW', snow_pcw) + call history_out_field('CME', cme) + call history_out_field('CMEICE', cmeice) + call history_out_field('CMELIQ', cmeliq) + call history_out_field('ICE2PR', ice2pr) + call history_out_field('LIQ2PR', liq2pr) + + call history_out_field('HPROGCLD', tend_s) + call history_out_field('HEVAP', evapheat) + call history_out_field('HMELT', meltheat) + call history_out_field('HCME', cmeheat) + call history_out_field('HFREEZ', prfzheat) + + call history_out_field('PRODPREC', prodprec) + call history_out_field('EVAPPREC', evapprec) + call history_out_field('EVAPSNOW', evapsnow) + + call history_out_field('LS_FLXPRC', lsflxprc) + call history_out_field('LS_FLXSNW', lsflxsnw) + call history_out_field('PRACWO', pracwo) + call history_out_field('PSACWO', psacwo) + call history_out_field('PSACIO', psacio) + + ! Derived diagnostics -- mass mixing ratio for stratiform or convective cloud liquid / cloud ice + cldliqstr(:,:) = 0._kind_phys + cldicestr(:,:) = 0._kind_phys + cldliqcon(:,:) = 0._kind_phys + cldicecon(:,:) = 0._kind_phys + do k = 1, pver + do i = 1, ncol + if(cloud(i,k) > 0._kind_phys) then + ! convective mass mixing ratios + cldliqcon(i,k) = cldliq(i,k)/cloud(i,k) * concld(i,k) + cldicecon(i,k) = cldice(i,k)/cloud(i,k) * concld(i,k) + + ! stratiform (large-scale) mass mixing ratios + cldliqstr(i,k) = cldliq(i,k)/cloud(i,k) * (cloud(i,k) - concld(i,k)) + cldicestr(i,k) = cldice(i,k)/cloud(i,k) * (cloud(i,k) - concld(i,k)) + endif + enddo + enddo + + call history_out_field('CLDLIQCON', cldliqcon) + call history_out_field('CLDICECON', cldicecon) + + call history_out_field('CLDLIQSTR', cldliqstr) + call history_out_field('CLDICESTR', cldicestr) + + end subroutine rk_stratiform_prognostic_cloud_water_tendencies_diagnostics_run + + !> \section arg_table_rk_stratiform_cloud_optical_properties_diagnostics_run Argument Table + !! \htmlinclude rk_stratiform_cloud_optical_properties_diagnostics_run.html + subroutine rk_stratiform_cloud_optical_properties_diagnostics_run( & + ncol, pver, & + pmid, & + t, & + cldice, cldliq, & + rhcloud, & + rel, rei, & + errmsg, errflg) + + use cam_history, only: history_out_field + + ! Input arguments + integer, intent(in) :: ncol + integer, intent(in) :: pver + real(kind_phys), intent(in) :: pmid(:,:) ! air_pressure [Pa] + real(kind_phys), intent(in) :: t(:,:) ! air_temperature [K] + real(kind_phys), intent(in) :: cldliq(:,:) ! adv: cloud_liquid_water_mixing_ratio_wrt_moist_air_and_condensed_water [kg kg-1] + real(kind_phys), intent(in) :: cldice(:,:) ! adv: cloud_ice_mixing_ratio_wrt_moist_air_and_condensed_water [kg kg-1] + real(kind_phys), intent(in) :: rhcloud(:,:) ! cloud_area_fraction_from_relative_humidity_method_tbd [fraction] + real(kind_phys), intent(in) :: rel(:,:) ! effective_radius_of_stratiform_cloud_liquid_water_particle [um] + real(kind_phys), intent(in) :: rei(:,:) ! effective_radius_of_stratiform_cloud_ice_particle [um] + + ! Output arguments + character(len=512), intent(out) :: errmsg ! error message + integer, intent(out) :: errflg ! error flag + + ! Temporaries for diagnostic output. + real(kind_phys) :: iwc(ncol,pver) ! stratiform_cloud_ice_water_content [kg m-3] + real(kind_phys) :: lwc(ncol,pver) ! stratiform_cloud_liquid_water_content [kg m-3] + real(kind_phys) :: icimr(ncol,pver) ! in_cloud_ice_mixing_ratio_wrt_moist_air_and_condensed_water [kg kg-1] + real(kind_phys) :: icwmr(ncol,pver) ! in_cloud_water_vapor_mixing_ratio_wrt_moist_air_and_condensed_water [kg kg-1] + + integer :: i, k + + + ! Prognostic cloud water diagnostics + ! needs updated cloud fraction + do k = 1, pver + do i = 1, ncol + iwc(i,k) = cldice(i,k)*pmid(i,k)/(287.15_kind_phys*t(i,k)) + lwc(i,k) = cldliq(i,k)*pmid(i,k) / & + (287.15_kind_phys*t(i,k)) + icimr(i,k) = cldice(i,k) / max(0.01_kind_phys, rhcloud(i,k)) + icwmr(i,k) = cldliq(i,k) / max(0.01_kind_phys, rhcloud(i,k)) + end do + end do + + call history_out_field('IWC', iwc) + call history_out_field('LWC', lwc) + call history_out_field('ICIMR', icimr) + call history_out_field('ICWMR', icwmr) + + ! Cloud optical properties + call history_out_field('REL', rel) + call history_out_field('REI', rei) + + end subroutine rk_stratiform_cloud_optical_properties_diagnostics_run + + +end module rk_stratiform_diagnostics diff --git a/schemes/sima_diagnostics/rk_stratiform_diagnostics.meta b/schemes/sima_diagnostics/rk_stratiform_diagnostics.meta new file mode 100644 index 00000000..2439bb50 --- /dev/null +++ b/schemes/sima_diagnostics/rk_stratiform_diagnostics.meta @@ -0,0 +1,365 @@ +[ccpp-table-properties] + name = rk_stratiform_diagnostics + type = scheme + +[ccpp-arg-table] + name = rk_stratiform_diagnostics_init + type = scheme +[ errmsg ] + standard_name = ccpp_error_message + units = none + type = character | kind = len=512 + dimensions = () + intent = out +[ errflg ] + standard_name = ccpp_error_code + units = 1 + type = integer + dimensions = () + intent = out + +[ccpp-table-properties] + name = rk_stratiform_cloud_fraction_perturbation_diagnostics + type = scheme + +[ccpp-arg-table] + name = rk_stratiform_cloud_fraction_perturbation_diagnostics_run + type = scheme +[ cloud ] + standard_name = cloud_area_fraction + units = fraction + type = real | kind = kind_phys + dimensions = (horizontal_loop_extent, vertical_layer_dimension) + intent = in +[ errmsg ] + standard_name = ccpp_error_message + units = none + type = character | kind = len=512 + dimensions = () + intent = out +[ errflg ] + standard_name = ccpp_error_code + units = 1 + type = integer + dimensions = () + intent = out + +[ccpp-table-properties] + name = rk_stratiform_condensate_repartioning_diagnostics + type = scheme + +[ccpp-arg-table] + name = rk_stratiform_condensate_repartioning_diagnostics_run + type = scheme +[ fice ] + standard_name = mass_fraction_of_ice_content_within_stratiform_cloud + units = fraction + type = real | kind = kind_phys + dimensions = (horizontal_loop_extent, vertical_layer_dimension) + intent = in +[ tend_cldice ] + standard_name = tendency_of_cloud_ice_mixing_ratio_wrt_moist_air_and_condensed_water + units = kg kg-1 s-1 + type = real | kind = kind_phys + dimensions = (horizontal_loop_extent, vertical_layer_dimension) + intent = in +[ tend_cldliq ] + standard_name = tendency_of_cloud_liquid_water_mixing_ratio_wrt_moist_air_and_condensed_water + units = kg kg-1 s-1 + type = real | kind = kind_phys + dimensions = (horizontal_loop_extent, vertical_layer_dimension) + intent = in +[ repartht ] + standard_name = tendency_of_dry_air_enthalpy_at_constant_pressure_due_to_precipitation_repartitioning_tbd + units = J kg-1 s-1 + type = real | kind = kind_phys + dimensions = (horizontal_loop_extent, vertical_layer_dimension) + intent = in +[ errmsg ] + standard_name = ccpp_error_message + units = none + type = character | kind = len=512 + dimensions = () + intent = out +[ errflg ] + standard_name = ccpp_error_code + units = 1 + type = integer + dimensions = () + intent = out + +[ccpp-table-properties] + name = rk_stratiform_prognostic_cloud_water_tendencies_diagnostics + type = scheme + +[ccpp-arg-table] + name = rk_stratiform_prognostic_cloud_water_tendencies_diagnostics_run + type = scheme +[ ncol ] + standard_name = horizontal_loop_extent + units = count + type = integer + dimensions = () + intent = in +[ pver ] + standard_name = vertical_layer_dimension + units = count + type = integer + dimensions = () + intent = in +[ cloud ] + standard_name = cloud_area_fraction + units = fraction + type = real | kind = kind_phys + dimensions = (horizontal_loop_extent, vertical_layer_dimension) + intent = in +[ concld ] + standard_name = convective_cloud_area_fraction + units = fraction + type = real | kind = kind_phys + dimensions = (horizontal_loop_extent, vertical_layer_dimension) + intent = in +[ cldliq ] + standard_name = cloud_liquid_water_mixing_ratio_wrt_moist_air_and_condensed_water + units = kg kg-1 + type = real | kind = kind_phys + dimensions = (horizontal_loop_extent, vertical_layer_dimension) + intent = in + advected = true +[ cldice ] + standard_name = cloud_ice_mixing_ratio_wrt_moist_air_and_condensed_water + units = kg kg-1 + type = real | kind = kind_phys + dimensions = (horizontal_loop_extent, vertical_layer_dimension) + intent = in + advected = true +[ fwaut ] + standard_name = relative_importance_of_liquid_autoconversion_tbd + units = fraction + type = real | kind = kind_phys + dimensions = (horizontal_loop_extent, vertical_layer_dimension) + intent = in +[ fsaut ] + standard_name = relative_importance_of_ice_autoconversion_tbd + units = fraction + type = real | kind = kind_phys + dimensions = (horizontal_loop_extent, vertical_layer_dimension) + intent = in +[ fracw ] + standard_name = relative_importance_of_rain_accreting_liquid_tbd + units = fraction + type = real | kind = kind_phys + dimensions = (horizontal_loop_extent, vertical_layer_dimension) + intent = in +[ fsacw ] + standard_name = relative_importance_of_snow_accreting_liquid_tbd + units = fraction + type = real | kind = kind_phys + dimensions = (horizontal_loop_extent, vertical_layer_dimension) + intent = in +[ fsaci ] + standard_name = relative_importance_of_snow_accreting_ice_tbd + units = fraction + type = real | kind = kind_phys + dimensions = (horizontal_loop_extent, vertical_layer_dimension) + intent = in +[ snow_pcw ] + standard_name = lwe_snow_precipitation_rate_at_surface_due_to_microphysics + units = m s-1 + type = real | kind = kind_phys + dimensions = (horizontal_loop_extent) + intent = in +[ cme ] + standard_name = net_condensation_rate_due_to_microphysics + units = kg kg-1 s-1 + type = real | kind = kind_phys + dimensions = (horizontal_loop_extent, vertical_layer_dimension) + intent = in +[ cmeice ] + standard_name = rate_of_condensation_evaporation_of_cloud_ice_within_stratiform_cloud_tbd + units = kg kg-1 s-1 + type = real | kind = kind_phys + dimensions = (horizontal_loop_extent, vertical_layer_dimension) + intent = in +[ cmeliq ] + standard_name = rate_of_condensation_evaporation_of_cloud_liquid_water_within_stratiform_cloud_tbd + units = kg kg-1 s-1 + type = real | kind = kind_phys + dimensions = (horizontal_loop_extent, vertical_layer_dimension) + intent = in +[ ice2pr ] + standard_name = tendency_of_cloud_ice_mixing_ratio_wrt_moist_air_and_condensed_water_due_to_microphysics_tbd + units = kg kg-1 s-1 + type = real | kind = kind_phys + dimensions = (horizontal_loop_extent, vertical_layer_dimension) + intent = in +[ liq2pr ] + standard_name = tendency_of_cloud_liquid_water_mixing_ratio_wrt_moist_air_and_condensed_water_due_to_microphysics_tbd + units = kg kg-1 s-1 + type = real | kind = kind_phys + dimensions = (horizontal_loop_extent, vertical_layer_dimension) + intent = in +[ tend_s ] + standard_name = tendency_of_dry_air_enthalpy_at_constant_pressure + units = J kg-1 s-1 + type = real | kind = kind_phys + dimensions = (horizontal_loop_extent, vertical_layer_dimension) + intent = in +[ evapheat ] + standard_name = tendency_of_dry_air_enthalpy_at_constant_pressure_due_to_precipitation_evaporation_tbd + units = J kg-1 s-1 + type = real | kind = kind_phys + dimensions = (horizontal_loop_extent, vertical_layer_dimension) + intent = in +[ meltheat ] + standard_name = tendency_of_dry_air_enthalpy_at_constant_pressure_due_to_precipitation_phase_change_tbd + units = J kg-1 s-1 + type = real | kind = kind_phys + dimensions = (horizontal_loop_extent, vertical_layer_dimension) + intent = in +[ cmeheat ] + standard_name = tendency_of_dry_air_enthalpy_at_constant_pressure_due_to_condensation_evaporation_within_stratiform_cloud_tbd + units = J kg-1 s-1 + type = real | kind = kind_phys + dimensions = (horizontal_loop_extent, vertical_layer_dimension) + intent = in +[ prfzheat ] + standard_name = tendency_of_dry_air_enthalpy_at_constant_pressure_due_to_precipitation_freezing_tbd + units = J kg-1 s-1 + type = real | kind = kind_phys + dimensions = (horizontal_loop_extent, vertical_layer_dimension) + intent = in +[ prodprec ] + standard_name = precipitation_production_due_to_microphysics + units = kg kg-1 s-1 + type = real | kind = kind_phys + dimensions = (horizontal_loop_extent, vertical_layer_dimension) + intent = in +[ evapprec ] + standard_name = precipitation_evaporation_due_to_microphysics + units = kg kg-1 s-1 + type = real | kind = kind_phys + dimensions = (horizontal_loop_extent, vertical_layer_dimension) + intent = in +[ evapsnow ] + standard_name = rate_of_evaporation_of_falling_snow_due_to_microphysics_tbd + units = kg kg-1 s-1 + type = real | kind = kind_phys + dimensions = (horizontal_loop_extent, vertical_layer_dimension) + intent = in +[ lsflxprc ] + standard_name = stratiform_rain_and_snow_flux_at_interface + units = kg m-2 s-1 + type = real | kind = kind_phys + dimensions = (horizontal_loop_extent, vertical_interface_dimension) + intent = in +[ lsflxsnw ] + standard_name = stratiform_snow_flux_at_interface + units = kg m-2 s-1 + type = real | kind = kind_phys + dimensions = (horizontal_loop_extent, vertical_interface_dimension) + intent = in +[ pracwo ] + standard_name = accretion_of_cloud_liquid_water_by_rain_tbd + units = s-1 + type = real | kind = kind_phys + dimensions = (horizontal_loop_extent, vertical_layer_dimension) + intent = in +[ psacwo ] + standard_name = accretion_of_cloud_liquid_water_by_snow_tbd + units = s-1 + type = real | kind = kind_phys + dimensions = (horizontal_loop_extent, vertical_layer_dimension) + intent = in +[ psacio ] + standard_name = accretion_of_cloud_ice_by_snow_tbd + units = s-1 + type = real | kind = kind_phys + dimensions = (horizontal_loop_extent, vertical_layer_dimension) + intent = in +[ errmsg ] + standard_name = ccpp_error_message + units = none + type = character | kind = len=512 + dimensions = () + intent = out +[ errflg ] + standard_name = ccpp_error_code + units = 1 + type = integer + dimensions = () + intent = out + +[ccpp-table-properties] + name = rk_stratiform_cloud_optical_properties_diagnostics + type = scheme + +[ccpp-arg-table] + name = rk_stratiform_cloud_optical_properties_diagnostics_run + type = scheme +[ ncol ] + standard_name = horizontal_loop_extent + units = count + type = integer + dimensions = () + intent = in +[ pver ] + standard_name = vertical_layer_dimension + units = count + type = integer + dimensions = () + intent = in +[ pmid ] + standard_name = air_pressure + units = Pa + type = real | kind = kind_phys + dimensions = (horizontal_loop_extent, vertical_layer_dimension) + intent = in +[ t ] + standard_name = air_temperature + units = K + type = real | kind = kind_phys + dimensions = (horizontal_loop_extent, vertical_layer_dimension) + intent = in +[ cldice ] + standard_name = cloud_ice_mixing_ratio_wrt_moist_air_and_condensed_water + units = kg kg-1 + type = real | kind = kind_phys + dimensions = (horizontal_loop_extent, vertical_layer_dimension) + intent = in +[ cldliq ] + standard_name = cloud_liquid_water_mixing_ratio_wrt_moist_air_and_condensed_water + units = kg kg-1 + type = real | kind = kind_phys + dimensions = (horizontal_loop_extent, vertical_layer_dimension) + intent = in +[ rhcloud ] + standard_name = cloud_area_fraction_from_relative_humidity_method_tbd + units = fraction + type = real | kind = kind_phys + dimensions = (horizontal_loop_extent, vertical_layer_dimension) + intent = in +[ rel ] + standard_name = effective_radius_of_stratiform_cloud_liquid_water_particle + units = um + type = real | kind = kind_phys + dimensions = (horizontal_loop_extent, vertical_layer_dimension) + intent = in +[ rei ] + standard_name = effective_radius_of_stratiform_cloud_ice_particle + units = um + type = real | kind = kind_phys + dimensions = (horizontal_loop_extent, vertical_layer_dimension) + intent = in +[ errmsg ] + standard_name = ccpp_error_message + units = none + type = character | kind = len=512 + dimensions = () + intent = out +[ errflg ] + standard_name = ccpp_error_code + units = 1 + type = integer + dimensions = () + intent = out From 9e0639e803a7ceb1561727b5121507486958bf78 Mon Sep 17 00:00:00 2001 From: Haipeng Lin Date: Tue, 22 Apr 2025 15:03:24 -0400 Subject: [PATCH 02/11] Cleanup unused variables from Nag. --- .../cloud_particle_sedimentation.F90 | 3 --- .../rasch_kristjansson/prognostic_cloud_water.F90 | 12 +----------- 2 files changed, 1 insertion(+), 14 deletions(-) diff --git a/schemes/rasch_kristjansson/cloud_particle_sedimentation.F90 b/schemes/rasch_kristjansson/cloud_particle_sedimentation.F90 index 5732856a..321fe8d6 100644 --- a/schemes/rasch_kristjansson/cloud_particle_sedimentation.F90 +++ b/schemes/rasch_kristjansson/cloud_particle_sedimentation.F90 @@ -390,7 +390,6 @@ subroutine getflx(ncol, pver, pverp, & integer :: i, k real(kind_phys) :: psi(ncol, pverp) real(kind_phys) :: fdot(ncol, pverp) - real(kind_phys) :: xx(ncol) real(kind_phys) :: fxdot(ncol) real(kind_phys) :: fxdd(ncol) real(kind_phys) :: psistar(ncol) @@ -457,7 +456,6 @@ subroutine cfint2(ncol, pverp, & real(kind_phys) :: c2 real(kind_phys) :: c3 real(kind_phys) :: xx - real(kind_phys) :: xinf real(kind_phys) :: psi1, psi2, psi3, psim real(kind_phys) :: cfint real(kind_phys) :: cfnew @@ -551,7 +549,6 @@ subroutine cfdotmc(ncol, pver, pverp, x, f, fdot) real(kind_phys), intent(out) :: fdot(ncol, pverp) ! derivative at nodes integer :: i, k - real(kind_phys) :: a, b, c ! work var real(kind_phys) :: s(ncol, pverp) ! first divided differences at nodes real(kind_phys) :: sh(ncol, pverp) ! first divided differences between nodes real(kind_phys) :: d(ncol, pverp) ! second divided differences at nodes diff --git a/schemes/rasch_kristjansson/prognostic_cloud_water.F90 b/schemes/rasch_kristjansson/prognostic_cloud_water.F90 index b2484d6b..d83cbca1 100644 --- a/schemes/rasch_kristjansson/prognostic_cloud_water.F90 +++ b/schemes/rasch_kristjansson/prognostic_cloud_water.F90 @@ -123,7 +123,7 @@ subroutine prognostic_cloud_water_init( & ! assumed densities of snow, water, ice [g cm-3] rhos = 0.1_kind_phys rhow = 1._kind_phys - rhoi = 1._kind_phys + rhoi = 1._kind_phys ! unused. esi = 1._kind_phys esw = 0.1_kind_phys @@ -378,11 +378,9 @@ subroutine prognostic_cloud_water_run( & real(kind_phys) :: mincld ! Minimum cloud fraction [1] real(kind_phys) :: cpohl ! Ratio of specific heat to latent heat [K-1] real(kind_phys) :: hlocp ! Ratio of latent heat to specific heat [K] - real(kind_phys) :: clrh2o ! Ratio of latent heat to water vapor gas constant [K] real(kind_phys) :: dto2 ! Half timestep [s] ! Work variables - real(kind_phys) :: denom ! Denominator work variable [1] real(kind_phys) :: dqsdt ! Change in saturation specific humidity with temperature [kg kg-1 K-1] real(kind_phys) :: gamma(ncol) ! Temperature derivative of saturation specific humidity [kg kg-1 K-1] real(kind_phys) :: qtl(ncol) ! Saturation tendency [kg kg-1 s-1] @@ -400,7 +398,6 @@ subroutine prognostic_cloud_water_run( & errflg = 0 error_found = .false. - clrh2o = latvap/rh2o cpohl = cpair/latvap hlocp = latvap/cpair dto2 = 0.5_kind_phys * deltat @@ -898,7 +895,6 @@ subroutine findmcnew( & integer :: ncols ! Number of active columns for microphysics (different from ncol!!) [count] integer :: ind(ncol) ! Active column indices [index] real(kind_phys) :: capn ! Local cloud particle number concentration [cm-3] - real(kind_phys) :: capnoice ! Cloud particle concentration excluding sea ice [cm-3] real(kind_phys) :: cldloc(ncol) ! Non-zero cloud fraction [1] real(kind_phys) :: cldpr(ncol) ! Cloud fraction for precipitation [1] real(kind_phys) :: totmr(ncol) ! In-cloud total water mixing ratio [kg kg-1] @@ -920,11 +916,7 @@ subroutine findmcnew( & real(kind_phys) :: rhocgs ! Air density in CGS units [g cm-3] real(kind_phys) :: r3l ! Cloud droplet volume radius [m] real(kind_phys) :: icrit ! Ice autoconversion threshold [kg kg-1] - real(kind_phys) :: wsi ! Sea ice weight factor [1] real(kind_phys) :: wt ! Ice fraction weight [1] - real(kind_phys) :: wland ! Land fraction weight [1] - real(kind_phys) :: wp ! Pressure dependence weight [1] - real(kind_phys) :: ftot ! Total fraction for conversion processes [1] real(kind_phys) :: con1 ! Work constant for radius calculation [m] real(kind_phys) :: con2 ! Work constant for density ratios [1] real(kind_phys) :: csacx ! Constant used for snow accreting liquid or ice [??] @@ -1119,8 +1111,6 @@ subroutine findmcnew( & fsacw(i) = 0._kind_phys fsaci(i) = 0._kind_phys endif - - ftot = fwaut(i)+fsaut(i)+fracw(i)+fsacw(i)+fsaci(i) end do end subroutine findmcnew From 2639a45b2168d6836b665c025c6ef60995214909 Mon Sep 17 00:00:00 2001 From: Haipeng Lin Date: Tue, 6 May 2025 15:33:48 -0400 Subject: [PATCH 03/11] Update standard names; slipstream change to magic numbers cam6_4_088 --- .../compute_cloud_fraction.meta | 10 ++-- .../convective_cloud_cover.meta | 6 +- .../hack_shallow/hack_convect_shallow.meta | 2 +- .../cloud_particle_sedimentation.meta | 4 +- .../prognostic_cloud_water.meta | 40 ++++++------- schemes/rasch_kristjansson/rk_stratiform.meta | 54 +++++++++--------- .../convective_cloud_cover_diagnostics.F90 | 4 +- .../convective_cloud_cover_diagnostics.meta | 4 +- .../rk_stratiform_diagnostics.F90 | 57 ++++++++++--------- .../rk_stratiform_diagnostics.meta | 44 +++++++------- 10 files changed, 116 insertions(+), 109 deletions(-) diff --git a/schemes/cloud_fraction/compute_cloud_fraction.meta b/schemes/cloud_fraction/compute_cloud_fraction.meta index c314e2cf..590bf42e 100644 --- a/schemes/cloud_fraction/compute_cloud_fraction.meta +++ b/schemes/cloud_fraction/compute_cloud_fraction.meta @@ -225,13 +225,13 @@ dimensions = (horizontal_loop_extent) intent = in [ shallowcu ] - standard_name = shallow_convective_cloud_area_fraction_tbd + standard_name = shallow_convective_cloud_area_fraction units = fraction type = real | kind = kind_phys dimensions = (horizontal_loop_extent, vertical_layer_dimension) intent = in [ deepcu ] - standard_name = deep_convective_cloud_area_fraction_tbd + standard_name = deep_convective_cloud_area_fraction units = fraction type = real | kind = kind_phys dimensions = (horizontal_loop_extent, vertical_layer_dimension) @@ -273,7 +273,7 @@ dimensions = (horizontal_loop_extent, vertical_layer_dimension) intent = out [ rhcloud ] - standard_name = cloud_area_fraction_from_relative_humidity_method_tbd + standard_name = cloud_area_fraction_from_relative_humidity_method units = fraction type = real | kind = kind_phys dimensions = (horizontal_loop_extent, vertical_layer_dimension) @@ -285,7 +285,7 @@ dimensions = (horizontal_loop_extent, vertical_layer_dimension) intent = out [ rhu00 ] - standard_name = relative_humidity_threshold_for_prognostic_cloud_water_tbd + standard_name = relative_humidity_threshold_for_cloud_formation units = fraction type = real | kind = kind_phys dimensions = (horizontal_loop_extent, vertical_layer_dimension) @@ -303,7 +303,7 @@ dimensions = (horizontal_loop_extent, vertical_layer_dimension) intent = out [ relhum ] - standard_name = relative_humidity_for_prognostic_cloud_water_tbd + standard_name = relative_humidity units = fraction type = real | kind = kind_phys dimensions = (horizontal_loop_extent, vertical_layer_dimension) diff --git a/schemes/cloud_fraction/convective_cloud_cover.meta b/schemes/cloud_fraction/convective_cloud_cover.meta index 7340b8f6..d368ecb5 100644 --- a/schemes/cloud_fraction/convective_cloud_cover.meta +++ b/schemes/cloud_fraction/convective_cloud_cover.meta @@ -82,7 +82,7 @@ dimensions = () intent = in [ shfrc ] - standard_name = shallow_convective_cloud_area_fraction + standard_name = shallow_convective_cloud_area_fraction_from_shallow_convection units = fraction type = real | kind = kind_phys dimensions = (horizontal_loop_extent, vertical_layer_dimension) @@ -100,13 +100,13 @@ dimensions = (horizontal_loop_extent, vertical_interface_dimension) intent = in [ shallowcu ] - standard_name = shallow_convective_cloud_area_fraction_tbd + standard_name = shallow_convective_cloud_area_fraction units = fraction type = real | kind = kind_phys dimensions = (horizontal_loop_extent, vertical_layer_dimension) intent = out [ deepcu ] - standard_name = deep_convective_cloud_area_fraction_tbd + standard_name = deep_convective_cloud_area_fraction units = fraction type = real | kind = kind_phys dimensions = (horizontal_loop_extent, vertical_layer_dimension) diff --git a/schemes/hack_shallow/hack_convect_shallow.meta b/schemes/hack_shallow/hack_convect_shallow.meta index ac0f88ea..3b90a151 100644 --- a/schemes/hack_shallow/hack_convect_shallow.meta +++ b/schemes/hack_shallow/hack_convect_shallow.meta @@ -79,7 +79,7 @@ dimensions = () intent = out [ shfrc ] - standard_name = shallow_convective_cloud_area_fraction + standard_name = shallow_convective_cloud_area_fraction_from_shallow_convection units = fraction type = real | kind = kind_phys dimensions = (horizontal_dimension, vertical_layer_dimension) diff --git a/schemes/rasch_kristjansson/cloud_particle_sedimentation.meta b/schemes/rasch_kristjansson/cloud_particle_sedimentation.meta index 4b318031..645c37b3 100644 --- a/schemes/rasch_kristjansson/cloud_particle_sedimentation.meta +++ b/schemes/rasch_kristjansson/cloud_particle_sedimentation.meta @@ -193,13 +193,13 @@ dimensions = (horizontal_loop_extent) intent = in [ pvliq ] - standard_name = vertical_velocity_of_cloud_liquid_water_due_to_sedimentation_tbd + standard_name = magnitude_of_vertical_pressure_velocity_of_cloud_liquid_water_due_to_sedimentation units = Pa s-1 type = real | kind = kind_phys dimensions = (horizontal_loop_extent, vertical_interface_dimension) intent = out [ pvice ] - standard_name = vertical_velocity_of_cloud_ice_due_to_sedimentation_tbd + standard_name = magnitude_of_vertical_pressure_velocity_of_cloud_ice_due_to_sedimentation units = Pa s-1 type = real | kind = kind_phys dimensions = (horizontal_loop_extent, vertical_interface_dimension) diff --git a/schemes/rasch_kristjansson/prognostic_cloud_water.meta b/schemes/rasch_kristjansson/prognostic_cloud_water.meta index 6f59d935..9580726f 100644 --- a/schemes/rasch_kristjansson/prognostic_cloud_water.meta +++ b/schemes/rasch_kristjansson/prognostic_cloud_water.meta @@ -190,7 +190,7 @@ dimensions = (horizontal_loop_extent) intent = in [ ttend ] - standard_name = tendency_of_air_temperature_not_due_to_microphysics_tbd + standard_name = tendency_of_air_temperature_not_due_to_microphysics units = K s-1 type = real | kind = kind_phys dimensions = (horizontal_loop_extent, vertical_layer_dimension) @@ -202,7 +202,7 @@ dimensions = (horizontal_loop_extent, vertical_layer_dimension) intent = in [ qtend ] - standard_name = tendency_of_water_vapor_mixing_ratio_wrt_moist_air_and_condensed_water_not_due_to_microphysics_tbd + standard_name = tendency_of_water_vapor_mixing_ratio_wrt_moist_air_and_condensed_water_not_due_to_microphysics units = kg kg-1 s-1 type = real | kind = kind_phys dimensions = (horizontal_loop_extent, vertical_layer_dimension) @@ -214,7 +214,7 @@ dimensions = (horizontal_loop_extent, vertical_layer_dimension) intent = in [ ltend ] - standard_name = tendency_of_cloud_water_mixing_ratio_wrt_moist_air_and_condensed_water_not_due_to_microphysics_tbd + standard_name = tendency_of_cloud_water_mixing_ratio_wrt_moist_air_and_condensed_water_not_due_to_microphysics units = kg kg-1 s-1 type = real | kind = kind_phys dimensions = (horizontal_loop_extent, vertical_layer_dimension) @@ -256,13 +256,13 @@ dimensions = (horizontal_loop_extent, vertical_layer_dimension) intent = in [ rhdfda ] - standard_name = derivative_of_relative_humidity_wrt_cloud_fraction_tbd + standard_name = relative_humidity_divided_by_cloud_area_fraction_perturbation units = percent type = real | kind = kind_phys dimensions = (horizontal_loop_extent, vertical_layer_dimension) intent = in [ rhu00 ] - standard_name = relative_humidity_threshold_for_prognostic_cloud_water_tbd + standard_name = relative_humidity_threshold_for_cloud_formation units = fraction type = real | kind = kind_phys dimensions = (horizontal_loop_extent, vertical_layer_dimension) @@ -310,25 +310,25 @@ dimensions = (horizontal_loop_extent, vertical_layer_dimension) intent = out [ evapsnow ] - standard_name = rate_of_evaporation_of_falling_snow_due_to_microphysics_tbd + standard_name = rate_of_evaporation_of_falling_snow_due_to_microphysics units = kg kg-1 s-1 type = real | kind = kind_phys dimensions = (horizontal_loop_extent, vertical_layer_dimension) intent = out [ evapheat ] - standard_name = tendency_of_dry_air_enthalpy_at_constant_pressure_due_to_precipitation_evaporation_tbd + standard_name = tendency_of_dry_air_enthalpy_at_constant_pressure_due_to_evaporation_of_precipitation units = J kg-1 s-1 type = real | kind = kind_phys dimensions = (horizontal_loop_extent, vertical_layer_dimension) intent = out [ prfzheat ] - standard_name = tendency_of_dry_air_enthalpy_at_constant_pressure_due_to_precipitation_freezing_tbd + standard_name = tendency_of_dry_air_enthalpy_at_constant_pressure_due_to_freezing_of_precipitation units = J kg-1 s-1 type = real | kind = kind_phys dimensions = (horizontal_loop_extent, vertical_layer_dimension) intent = out [ meltheat ] - standard_name = tendency_of_dry_air_enthalpy_at_constant_pressure_due_to_precipitation_phase_change_tbd + standard_name = tendency_of_dry_air_enthalpy_at_constant_pressure_due_to_snow_melt units = J kg-1 s-1 type = real | kind = kind_phys dimensions = (horizontal_loop_extent, vertical_layer_dimension) @@ -346,19 +346,19 @@ dimensions = (horizontal_loop_extent) intent = out [ ice2pr ] - standard_name = tendency_of_cloud_ice_mixing_ratio_wrt_moist_air_and_condensed_water_due_to_microphysics_tbd + standard_name = cloud_ice_to_snow_autoconversion units = kg kg-1 s-1 type = real | kind = kind_phys dimensions = (horizontal_loop_extent, vertical_layer_dimension) intent = out [ liq2pr ] - standard_name = tendency_of_cloud_liquid_water_mixing_ratio_wrt_moist_air_and_condensed_water_due_to_microphysics_tbd + standard_name = cloud_liquid_to_rain_autoconversion units = kg kg-1 s-1 type = real | kind = kind_phys dimensions = (horizontal_loop_extent, vertical_layer_dimension) intent = out [ liq2snow ] - standard_name = tendency_of_cloud_liquid_water_mixing_ratio_wrt_moist_air_and_condensed_water_due_to_conversion_to_snow_tbd + standard_name = cloud_liquid_to_snow_autoconversion units = kg kg-1 s-1 type = real | kind = kind_phys dimensions = (horizontal_loop_extent, vertical_layer_dimension) @@ -376,49 +376,49 @@ dimensions = (horizontal_loop_extent, vertical_interface_dimension) intent = out [ pracwo ] - standard_name = accretion_of_cloud_liquid_water_by_rain_tbd + standard_name = accretion_of_cloud_liquid_water_by_rain units = s-1 type = real | kind = kind_phys dimensions = (horizontal_loop_extent, vertical_layer_dimension) intent = out [ psacwo ] - standard_name = accretion_of_cloud_liquid_water_by_snow_tbd + standard_name = accretion_of_cloud_liquid_water_by_snow units = s-1 type = real | kind = kind_phys dimensions = (horizontal_loop_extent, vertical_layer_dimension) intent = out [ psacio ] - standard_name = accretion_of_cloud_ice_by_snow_tbd + standard_name = accretion_of_cloud_ice_by_snow units = s-1 type = real | kind = kind_phys dimensions = (horizontal_loop_extent, vertical_layer_dimension) intent = out [ fwaut ] - standard_name = relative_importance_of_liquid_autoconversion_tbd + standard_name = relative_importance_of_liquid_autoconversion units = fraction type = real | kind = kind_phys dimensions = (horizontal_loop_extent, vertical_layer_dimension) intent = out [ fsaut ] - standard_name = relative_importance_of_ice_autoconversion_tbd + standard_name = relative_importance_of_ice_autoconversion units = fraction type = real | kind = kind_phys dimensions = (horizontal_loop_extent, vertical_layer_dimension) intent = out [ fracw ] - standard_name = relative_importance_of_rain_accreting_liquid_tbd + standard_name = relative_importance_of_rain_accreting_liquid units = fraction type = real | kind = kind_phys dimensions = (horizontal_loop_extent, vertical_layer_dimension) intent = out [ fsacw ] - standard_name = relative_importance_of_snow_accreting_liquid_tbd + standard_name = relative_importance_of_snow_accreting_liquid units = fraction type = real | kind = kind_phys dimensions = (horizontal_loop_extent, vertical_layer_dimension) intent = out [ fsaci ] - standard_name = relative_importance_of_snow_accreting_ice_tbd + standard_name = relative_importance_of_snow_accreting_ice units = fraction type = real | kind = kind_phys dimensions = (horizontal_loop_extent, vertical_layer_dimension) diff --git a/schemes/rasch_kristjansson/rk_stratiform.meta b/schemes/rasch_kristjansson/rk_stratiform.meta index f994c28b..8aae7e70 100644 --- a/schemes/rasch_kristjansson/rk_stratiform.meta +++ b/schemes/rasch_kristjansson/rk_stratiform.meta @@ -49,19 +49,19 @@ intent = in advected = true [ qcwat ] - standard_name = water_vapor_mixing_ratio_wrt_moist_air_and_condensed_water_at_end_of_microphysics + standard_name = water_vapor_mixing_ratio_wrt_moist_air_and_condensed_water_on_previous_timestep units = kg kg-1 type = real | kind = kind_phys dimensions = (horizontal_loop_extent, vertical_layer_dimension) intent = inout [ tcwat ] - standard_name = air_temperature_at_end_of_microphysics + standard_name = air_temperature_on_previous_timestep units = K type = real | kind = kind_phys dimensions = (horizontal_loop_extent, vertical_layer_dimension) intent = inout [ lcwat ] - standard_name = cloud_water_mixing_ratio_wrt_moist_air_and_condensed_water_at_end_of_microphysics + standard_name = cloud_water_mixing_ratio_wrt_moist_air_and_condensed_water_on_previous_timestep units = kg kg-1 type = real | kind = kind_phys dimensions = (horizontal_loop_extent, vertical_layer_dimension) @@ -290,13 +290,13 @@ dimensions = (horizontal_loop_extent) intent = in [ shallowcu ] - standard_name = shallow_convective_cloud_area_fraction_tbd + standard_name = shallow_convective_cloud_area_fraction units = fraction type = real | kind = kind_phys dimensions = (horizontal_loop_extent, vertical_layer_dimension) intent = in [ deepcu ] - standard_name = deep_convective_cloud_area_fraction_tbd + standard_name = deep_convective_cloud_area_fraction units = fraction type = real | kind = kind_phys dimensions = (horizontal_loop_extent, vertical_layer_dimension) @@ -332,19 +332,19 @@ dimensions = (horizontal_loop_extent, vertical_layer_dimension) intent = in [ relhum ] - standard_name = relative_humidity_for_prognostic_cloud_water_tbd + standard_name = relative_humidity units = fraction type = real | kind = kind_phys dimensions = (horizontal_loop_extent, vertical_layer_dimension) intent = in [ rhu00 ] - standard_name = relative_humidity_threshold_for_prognostic_cloud_water_tbd + standard_name = relative_humidity_threshold_for_cloud_formation units = fraction type = real | kind = kind_phys dimensions = (horizontal_loop_extent, vertical_layer_dimension) intent = inout [ rhdfda ] - standard_name = derivative_of_relative_humidity_wrt_cloud_fraction_tbd + standard_name = relative_humidity_divided_by_cloud_area_fraction_perturbation units = percent type = real | kind = kind_phys dimensions = (horizontal_loop_extent, vertical_layer_dimension) @@ -412,37 +412,37 @@ dimensions = (horizontal_loop_extent, vertical_layer_dimension) intent = in [ qcwat ] - standard_name = water_vapor_mixing_ratio_wrt_moist_air_and_condensed_water_at_end_of_microphysics + standard_name = water_vapor_mixing_ratio_wrt_moist_air_and_condensed_water_on_previous_timestep units = kg kg-1 type = real | kind = kind_phys dimensions = (horizontal_loop_extent, vertical_layer_dimension) intent = in [ tcwat ] - standard_name = air_temperature_at_end_of_microphysics + standard_name = air_temperature_on_previous_timestep units = K type = real | kind = kind_phys dimensions = (horizontal_loop_extent, vertical_layer_dimension) intent = in [ lcwat ] - standard_name = cloud_water_mixing_ratio_wrt_moist_air_and_condensed_water_at_end_of_microphysics + standard_name = cloud_water_mixing_ratio_wrt_moist_air_and_condensed_water_on_previous_timestep units = kg kg-1 type = real | kind = kind_phys dimensions = (horizontal_loop_extent, vertical_layer_dimension) intent = in [ qtend ] - standard_name = tendency_of_water_vapor_mixing_ratio_wrt_moist_air_and_condensed_water_not_due_to_microphysics_tbd + standard_name = tendency_of_water_vapor_mixing_ratio_wrt_moist_air_and_condensed_water_not_due_to_microphysics units = kg kg-1 s-1 type = real | kind = kind_phys dimensions = (horizontal_loop_extent, vertical_layer_dimension) intent = out [ ttend ] - standard_name = tendency_of_air_temperature_not_due_to_microphysics_tbd + standard_name = tendency_of_air_temperature_not_due_to_microphysics units = K s-1 type = real | kind = kind_phys dimensions = (horizontal_loop_extent, vertical_layer_dimension) intent = out [ ltend ] - standard_name = tendency_of_cloud_water_mixing_ratio_wrt_moist_air_and_condensed_water_not_due_to_microphysics_tbd + standard_name = tendency_of_cloud_water_mixing_ratio_wrt_moist_air_and_condensed_water_not_due_to_microphysics units = kg kg-1 s-1 type = real | kind = kind_phys dimensions = (horizontal_loop_extent, vertical_layer_dimension) @@ -510,7 +510,7 @@ dimensions = (horizontal_loop_extent, vertical_layer_dimension) intent = in [ repartht ] - standard_name = tendency_of_dry_air_enthalpy_at_constant_pressure_due_to_precipitation_repartitioning_tbd + standard_name = tendency_of_dry_air_enthalpy_at_constant_pressure_due_to_cloud_ice_and_cloud_liquid_repartitioning units = J kg-1 s-1 type = real | kind = kind_phys dimensions = (horizontal_loop_extent, vertical_layer_dimension) @@ -592,25 +592,25 @@ dimensions = (horizontal_loop_extent, vertical_layer_dimension) intent = in [ evapheat ] - standard_name = tendency_of_dry_air_enthalpy_at_constant_pressure_due_to_precipitation_evaporation_tbd + standard_name = tendency_of_dry_air_enthalpy_at_constant_pressure_due_to_evaporation_of_precipitation units = J kg-1 s-1 type = real | kind = kind_phys dimensions = (horizontal_loop_extent, vertical_layer_dimension) intent = in [ prfzheat ] - standard_name = tendency_of_dry_air_enthalpy_at_constant_pressure_due_to_precipitation_freezing_tbd + standard_name = tendency_of_dry_air_enthalpy_at_constant_pressure_due_to_freezing_of_precipitation units = J kg-1 s-1 type = real | kind = kind_phys dimensions = (horizontal_loop_extent, vertical_layer_dimension) intent = in [ meltheat ] - standard_name = tendency_of_dry_air_enthalpy_at_constant_pressure_due_to_precipitation_phase_change_tbd + standard_name = tendency_of_dry_air_enthalpy_at_constant_pressure_due_to_snow_melt units = J kg-1 s-1 type = real | kind = kind_phys dimensions = (horizontal_loop_extent, vertical_layer_dimension) intent = in [ repartht ] - standard_name = tendency_of_dry_air_enthalpy_at_constant_pressure_due_to_precipitation_repartitioning_tbd + standard_name = tendency_of_dry_air_enthalpy_at_constant_pressure_due_to_cloud_ice_and_cloud_liquid_repartitioning units = J kg-1 s-1 type = real | kind = kind_phys dimensions = (horizontal_loop_extent, vertical_layer_dimension) @@ -622,13 +622,13 @@ dimensions = (horizontal_loop_extent, vertical_layer_dimension) intent = in [ ice2pr ] - standard_name = tendency_of_cloud_ice_mixing_ratio_wrt_moist_air_and_condensed_water_due_to_microphysics_tbd + standard_name = cloud_ice_to_snow_autoconversion units = kg kg-1 s-1 type = real | kind = kind_phys dimensions = (horizontal_loop_extent, vertical_layer_dimension) intent = in [ liq2pr ] - standard_name = tendency_of_cloud_liquid_water_mixing_ratio_wrt_moist_air_and_condensed_water_due_to_microphysics_tbd + standard_name = cloud_liquid_to_rain_autoconversion units = kg kg-1 s-1 type = real | kind = kind_phys dimensions = (horizontal_loop_extent, vertical_layer_dimension) @@ -658,19 +658,19 @@ dimensions = (horizontal_loop_extent) intent = inout [ cmeheat ] - standard_name = tendency_of_dry_air_enthalpy_at_constant_pressure_due_to_condensation_evaporation_within_stratiform_cloud_tbd + standard_name = tendency_of_dry_air_enthalpy_at_constant_pressure_due_to_condensation_minus_evaporation units = J kg-1 s-1 type = real | kind = kind_phys dimensions = (horizontal_loop_extent, vertical_layer_dimension) intent = out [ cmeice ] - standard_name = rate_of_condensation_evaporation_of_cloud_ice_within_stratiform_cloud_tbd + standard_name = rate_of_condensation_minus_evaporation_of_cloud_ice units = kg kg-1 s-1 type = real | kind = kind_phys dimensions = (horizontal_loop_extent, vertical_layer_dimension) intent = out [ cmeliq ] - standard_name = rate_of_condensation_evaporation_of_cloud_liquid_water_within_stratiform_cloud_tbd + standard_name = rate_of_condensation_minus_evaporation_of_cloud_liquid_water units = kg kg-1 s-1 type = real | kind = kind_phys dimensions = (horizontal_loop_extent, vertical_layer_dimension) @@ -759,19 +759,19 @@ dimensions = (horizontal_loop_extent, vertical_layer_dimension) intent = in [ qcwat ] - standard_name = water_vapor_mixing_ratio_wrt_moist_air_and_condensed_water_at_end_of_microphysics + standard_name = water_vapor_mixing_ratio_wrt_moist_air_and_condensed_water_on_previous_timestep units = kg kg-1 type = real | kind = kind_phys dimensions = (horizontal_loop_extent, vertical_layer_dimension) intent = out [ tcwat ] - standard_name = air_temperature_at_end_of_microphysics + standard_name = air_temperature_on_previous_timestep units = K type = real | kind = kind_phys dimensions = (horizontal_loop_extent, vertical_layer_dimension) intent = out [ lcwat ] - standard_name = cloud_water_mixing_ratio_wrt_moist_air_and_condensed_water_at_end_of_microphysics + standard_name = cloud_water_mixing_ratio_wrt_moist_air_and_condensed_water_on_previous_timestep units = kg kg-1 type = real | kind = kind_phys dimensions = (horizontal_loop_extent, vertical_layer_dimension) diff --git a/schemes/sima_diagnostics/convective_cloud_cover_diagnostics.F90 b/schemes/sima_diagnostics/convective_cloud_cover_diagnostics.F90 index d5433855..110a66db 100644 --- a/schemes/sima_diagnostics/convective_cloud_cover_diagnostics.F90 +++ b/schemes/sima_diagnostics/convective_cloud_cover_diagnostics.F90 @@ -27,8 +27,8 @@ subroutine convective_cloud_cover_diagnostics_init(errmsg, errflg) errflg = 0 ! History add field calls - call history_add_field('SH_CLD', 'shallow_convective_cloud_area_fraction_tbd', 'lev', 'avg', 'fraction') - call history_add_field('DP_CLD', 'deep_convective_cloud_area_fraction_tbd', 'lev', 'avg', 'fraction') + call history_add_field('SH_CLD', 'shallow_convective_cloud_area_fraction', 'lev', 'avg', 'fraction') + call history_add_field('DP_CLD', 'deep_convective_cloud_area_fraction', 'lev', 'avg', 'fraction') call history_add_field('CONCLD', 'convective_cloud_area_fraction', 'lev', 'avg', 'fraction') end subroutine convective_cloud_cover_diagnostics_init diff --git a/schemes/sima_diagnostics/convective_cloud_cover_diagnostics.meta b/schemes/sima_diagnostics/convective_cloud_cover_diagnostics.meta index e9c99002..85796f3f 100644 --- a/schemes/sima_diagnostics/convective_cloud_cover_diagnostics.meta +++ b/schemes/sima_diagnostics/convective_cloud_cover_diagnostics.meta @@ -22,13 +22,13 @@ name = convective_cloud_cover_diagnostics_run type = scheme [ shallowcu ] - standard_name = shallow_convective_cloud_area_fraction_tbd + standard_name = shallow_convective_cloud_area_fraction units = fraction type = real | kind = kind_phys dimensions = (horizontal_loop_extent, vertical_layer_dimension) intent = in [ deepcu ] - standard_name = deep_convective_cloud_area_fraction_tbd + standard_name = deep_convective_cloud_area_fraction units = fraction type = real | kind = kind_phys dimensions = (horizontal_loop_extent, vertical_layer_dimension) diff --git a/schemes/sima_diagnostics/rk_stratiform_diagnostics.F90 b/schemes/sima_diagnostics/rk_stratiform_diagnostics.F90 index 54f5ef54..8b39536c 100644 --- a/schemes/sima_diagnostics/rk_stratiform_diagnostics.F90 +++ b/schemes/sima_diagnostics/rk_stratiform_diagnostics.F90 @@ -34,39 +34,39 @@ subroutine rk_stratiform_diagnostics_init(errmsg, errflg) ! rk_stratiform_condensate_repartioning_diagnostics call history_add_field('FICE', 'mass_fraction_of_ice_content_within_stratiform_cloud', 'lev', 'avg', 'fraction') - call history_add_field('REPARTICE', 'tendency_of_cloud_ice_mixing_ratio_wrt_moist_air_and_condensed_water_due_to_precipitation_repartitioning_tbd', 'lev', 'avg', 'kg kg-1 s-1') - call history_add_field('REPARTLIQ', 'tendency_of_cloud_liquid_water_mixing_ratio_wrt_moist_air_and_condensed_water_due_to_precipitation_repartitioning_tbd', 'lev', 'avg', 'kg kg-1 s-1') - call history_add_field('HREPART', 'tendency_of_dry_air_enthalpy_at_constant_pressure_due_to_precipitation_repartitioning_tbd', 'lev', 'avg', 'J kg-1 s-1') + call history_add_field('REPARTICE', 'tendency_of_cloud_ice_mixing_ratio_wrt_moist_air_and_condensed_water_due_to_cloud_ice_and_cloud_liquid_repartitioning', 'lev', 'avg', 'kg kg-1 s-1') + call history_add_field('REPARTLIQ', 'tendency_of_cloud_liquid_water_mixing_ratio_wrt_moist_air_and_condensed_water_due_to_cloud_ice_and_cloud_liquid_repartitioning', 'lev', 'avg', 'kg kg-1 s-1') + call history_add_field('HREPART', 'tendency_of_dry_air_enthalpy_at_constant_pressure_due_to_cloud_ice_and_cloud_liquid_repartitioning', 'lev', 'avg', 'J kg-1 s-1') ! rk_stratiform_prognostic_cloud_water_tendencies_diagnostics - call history_add_field('FWAUT', 'relative_importance_of_liquid_autoconversion_tbd', 'lev', 'avg', 'fraction') - call history_add_field('FSAUT', 'relative_importance_of_ice_autoconversion_tbd', 'lev', 'avg', 'fraction') - call history_add_field('FRACW', 'relative_importance_of_rain_accreting_liquid_tbd', 'lev', 'avg', 'fraction') - call history_add_field('FSACW', 'relative_importance_of_snow_accreting_liquid_tbd', 'lev', 'avg', 'fraction') - call history_add_field('FSACI', 'relative_importance_of_snow_accreting_ice_tbd', 'lev', 'avg', 'fraction') + call history_add_field('FWAUT', 'relative_importance_of_liquid_autoconversion', 'lev', 'avg', 'fraction') + call history_add_field('FSAUT', 'relative_importance_of_ice_autoconversion', 'lev', 'avg', 'fraction') + call history_add_field('FRACW', 'relative_importance_of_rain_accreting_liquid', 'lev', 'avg', 'fraction') + call history_add_field('FSACW', 'relative_importance_of_snow_accreting_liquid', 'lev', 'avg', 'fraction') + call history_add_field('FSACI', 'relative_importance_of_snow_accreting_ice', 'lev', 'avg', 'fraction') call history_add_field('PCSNOW', 'lwe_snow_precipitation_rate_at_surface_due_to_microphysics', horiz_only, 'avg', 'fraction') call history_add_field('CME', 'net_condensation_rate_due_to_microphysics', 'lev', 'avg', 'kg kg-1 s-1') ! qme. - call history_add_field('CMEICE', 'rate_of_condensation_evaporation_of_cloud_ice_within_stratiform_cloud_tbd', 'lev', 'avg', 'kg kg-1 s-1') - call history_add_field('CMELIQ', 'rate_of_condensation_evaporation_of_cloud_liquid_water_within_stratiform_cloud_tbd', 'lev', 'avg', 'kg kg-1 s-1') - call history_add_field('ICE2PR', 'tendency_of_cloud_ice_mixing_ratio_wrt_moist_air_and_condensed_water_due_to_microphysics_tbd', 'lev', 'avg', 'kg kg-1 s-1') - call history_add_field('LIQ2PR', 'tendency_of_cloud_liquid_water_mixing_ratio_wrt_moist_air_and_condensed_water_due_to_microphysics_tbd', 'lev', 'avg', 'kg kg-1 s-1') + call history_add_field('CMEICE', 'rate_of_condensation_minus_evaporation_of_cloud_ice', 'lev', 'avg', 'kg kg-1 s-1') + call history_add_field('CMELIQ', 'rate_of_condensation_minus_evaporation_of_cloud_liquid_water', 'lev', 'avg', 'kg kg-1 s-1') + call history_add_field('ICE2PR', 'cloud_ice_to_snow_autoconversion', 'lev', 'avg', 'kg kg-1 s-1') + call history_add_field('LIQ2PR', 'cloud_liquid_to_rain_autoconversion', 'lev', 'avg', 'kg kg-1 s-1') call history_add_field('HPROGCLD', 'tendency_of_dry_air_enthalpy_at_constant_pressure_due_to_microphysics', 'lev', 'avg', 'J kg-1 s-1') - call history_add_field('HEVAP', 'tendency_of_dry_air_enthalpy_at_constant_pressure_due_to_precipitation_evaporation_tbd', 'lev', 'avg', 'J kg-1 s-1') - call history_add_field('HMELT', 'tendency_of_dry_air_enthalpy_at_constant_pressure_due_to_precipitation_phase_change_tbd', 'lev', 'avg', 'J kg-1 s-1') - call history_add_field('HCME', 'tendency_of_dry_air_enthalpy_at_constant_pressure_due_to_condensation_evaporation_within_stratiform_cloud_tbd', 'lev', 'avg', 'J kg-1 s-1') - call history_add_field('HFREEZ', 'tendency_of_dry_air_enthalpy_at_constant_pressure_due_to_precipitation_freezing_tbd', 'lev', 'avg', 'J kg-1 s-1') + call history_add_field('HEVAP', 'tendency_of_dry_air_enthalpy_at_constant_pressure_due_to_evaporation_of_precipitation', 'lev', 'avg', 'J kg-1 s-1') + call history_add_field('HMELT', 'tendency_of_dry_air_enthalpy_at_constant_pressure_due_to_snow_melt', 'lev', 'avg', 'J kg-1 s-1') + call history_add_field('HCME', 'tendency_of_dry_air_enthalpy_at_constant_pressure_due_to_condensation_minus_evaporation', 'lev', 'avg', 'J kg-1 s-1') + call history_add_field('HFREEZ', 'tendency_of_dry_air_enthalpy_at_constant_pressure_due_to_freezing_of_precipitation', 'lev', 'avg', 'J kg-1 s-1') call history_add_field('PRODPREC', 'precipitation_production_due_to_microphysics', 'lev', 'avg', 'kg kg-1 s-1') call history_add_field('EVAPPREC', 'precipitation_evaporation_due_to_microphysics', 'lev', 'avg', 'kg kg-1 s-1') - call history_add_field('EVAPSNOW', 'rate_of_evaporation_of_falling_snow_due_to_microphysics_tbd', 'lev', 'avg', 'kg kg-1 s-1') + call history_add_field('EVAPSNOW', 'rate_of_evaporation_of_falling_snow_due_to_microphysics', 'lev', 'avg', 'kg kg-1 s-1') ! ... for COSP/CFMIP call history_add_field('LS_FLXPRC', 'stratiform_rain_and_snow_flux_at_interface', 'ilev', 'avg', 'kg m-2 s-1') call history_add_field('LS_FLXSNW', 'stratiform_snow_flux_at_interface', 'ilev', 'avg', 'kg m-2 s-1') - call history_add_field('PRACWO', 'accretion_of_cloud_liquid_water_by_rain_tbd', 'lev', 'avg', 's-1') - call history_add_field('PSACWO', 'accretion_of_cloud_liquid_water_by_snow_tbd', 'lev', 'avg', 's-1') - call history_add_field('PSACIO', 'accretion_of_cloud_ice_by_snow_tbd', 'lev', 'avg', 's-1') + call history_add_field('PRACWO', 'accretion_of_cloud_liquid_water_by_rain', 'lev', 'avg', 's-1') + call history_add_field('PSACWO', 'accretion_of_cloud_liquid_water_by_snow', 'lev', 'avg', 's-1') + call history_add_field('PSACIO', 'accretion_of_cloud_ice_by_snow', 'lev', 'avg', 's-1') call history_add_field('CLDLIQSTR', 'stratiform_cloud_liquid_water_mixing_ratio_wrt_moist_air_and_condensed_water', 'lev', 'avg', 'kg kg-1') call history_add_field('CLDICESTR', 'stratiform_cloud_ice_mixing_ratio_wrt_moist_air_and_condensed_water', 'lev', 'avg', 'kg kg-1') @@ -76,8 +76,8 @@ subroutine rk_stratiform_diagnostics_init(errmsg, errflg) ! rk_stratiform_cloud_optical_properties_diagnostics call history_add_field('IWC', 'stratiform_cloud_ice_water_content', 'lev', 'avg', 'kg m-3') call history_add_field('LWC', 'stratiform_cloud_liquid_water_content', 'lev', 'avg', 'kg m-3') - call history_add_field('ICIMR', 'in_cloud_ice_mixing_ratio_wrt_moist_air_and_condensed_water', 'lev', 'avg', 'kg kg-1') - call history_add_field('ICWMR', 'in_cloud_water_vapor_mixing_ratio_wrt_moist_air_and_condensed_water', 'lev', 'avg', 'kg kg-1') + call history_add_field('ICIMR', 'in_cloud_cloud_ice_mixing_ratio_wrt_moist_air_and_condensed_water', 'lev', 'avg', 'kg kg-1') + call history_add_field('ICWMR', 'in_cloud_cloud_liquid_mixing_ratio_wrt_moist_air_and_condensed_water', 'lev', 'avg', 'kg kg-1') call history_add_field('REI', 'effective_radius_of_stratiform_cloud_ice_particle', 'lev', 'avg', 'um') call history_add_field('REL', 'effective_radius_of_stratiform_cloud_liquid_water_particle', 'lev', 'avg', 'um') @@ -265,6 +265,7 @@ end subroutine rk_stratiform_prognostic_cloud_water_tendencies_diagnostics_run !! \htmlinclude rk_stratiform_cloud_optical_properties_diagnostics_run.html subroutine rk_stratiform_cloud_optical_properties_diagnostics_run( & ncol, pver, & + rair, & pmid, & t, & cldice, cldliq, & @@ -277,11 +278,12 @@ subroutine rk_stratiform_cloud_optical_properties_diagnostics_run( & ! Input arguments integer, intent(in) :: ncol integer, intent(in) :: pver + real(kind_phys), intent(in) :: rair real(kind_phys), intent(in) :: pmid(:,:) ! air_pressure [Pa] real(kind_phys), intent(in) :: t(:,:) ! air_temperature [K] real(kind_phys), intent(in) :: cldliq(:,:) ! adv: cloud_liquid_water_mixing_ratio_wrt_moist_air_and_condensed_water [kg kg-1] real(kind_phys), intent(in) :: cldice(:,:) ! adv: cloud_ice_mixing_ratio_wrt_moist_air_and_condensed_water [kg kg-1] - real(kind_phys), intent(in) :: rhcloud(:,:) ! cloud_area_fraction_from_relative_humidity_method_tbd [fraction] + real(kind_phys), intent(in) :: rhcloud(:,:) ! cloud_area_fraction_from_relative_humidity_method [fraction] real(kind_phys), intent(in) :: rel(:,:) ! effective_radius_of_stratiform_cloud_liquid_water_particle [um] real(kind_phys), intent(in) :: rei(:,:) ! effective_radius_of_stratiform_cloud_ice_particle [um] @@ -292,8 +294,8 @@ subroutine rk_stratiform_cloud_optical_properties_diagnostics_run( & ! Temporaries for diagnostic output. real(kind_phys) :: iwc(ncol,pver) ! stratiform_cloud_ice_water_content [kg m-3] real(kind_phys) :: lwc(ncol,pver) ! stratiform_cloud_liquid_water_content [kg m-3] - real(kind_phys) :: icimr(ncol,pver) ! in_cloud_ice_mixing_ratio_wrt_moist_air_and_condensed_water [kg kg-1] - real(kind_phys) :: icwmr(ncol,pver) ! in_cloud_water_vapor_mixing_ratio_wrt_moist_air_and_condensed_water [kg kg-1] + real(kind_phys) :: icimr(ncol,pver) ! in_cloud_cloud_ice_mixing_ratio_wrt_moist_air_and_condensed_water [kg kg-1] + real(kind_phys) :: icwmr(ncol,pver) ! in_cloud_cloud_liquid_mixing_ratio_wrt_moist_air_and_condensed_water [kg kg-1] integer :: i, k @@ -302,9 +304,8 @@ subroutine rk_stratiform_cloud_optical_properties_diagnostics_run( & ! needs updated cloud fraction do k = 1, pver do i = 1, ncol - iwc(i,k) = cldice(i,k)*pmid(i,k)/(287.15_kind_phys*t(i,k)) - lwc(i,k) = cldliq(i,k)*pmid(i,k) / & - (287.15_kind_phys*t(i,k)) + iwc(i,k) = cldice(i,k)*pmid(i,k)/(rair*t(i,k)) + lwc(i,k) = cldliq(i,k)*pmid(i,k)/(rair*t(i,k)) icimr(i,k) = cldice(i,k) / max(0.01_kind_phys, rhcloud(i,k)) icwmr(i,k) = cldliq(i,k) / max(0.01_kind_phys, rhcloud(i,k)) end do diff --git a/schemes/sima_diagnostics/rk_stratiform_diagnostics.meta b/schemes/sima_diagnostics/rk_stratiform_diagnostics.meta index 2439bb50..012b65c1 100644 --- a/schemes/sima_diagnostics/rk_stratiform_diagnostics.meta +++ b/schemes/sima_diagnostics/rk_stratiform_diagnostics.meta @@ -70,7 +70,7 @@ dimensions = (horizontal_loop_extent, vertical_layer_dimension) intent = in [ repartht ] - standard_name = tendency_of_dry_air_enthalpy_at_constant_pressure_due_to_precipitation_repartitioning_tbd + standard_name = tendency_of_dry_air_enthalpy_at_constant_pressure_due_to_cloud_ice_and_cloud_liquid_repartitioning units = J kg-1 s-1 type = real | kind = kind_phys dimensions = (horizontal_loop_extent, vertical_layer_dimension) @@ -134,31 +134,31 @@ intent = in advected = true [ fwaut ] - standard_name = relative_importance_of_liquid_autoconversion_tbd + standard_name = relative_importance_of_liquid_autoconversion units = fraction type = real | kind = kind_phys dimensions = (horizontal_loop_extent, vertical_layer_dimension) intent = in [ fsaut ] - standard_name = relative_importance_of_ice_autoconversion_tbd + standard_name = relative_importance_of_ice_autoconversion units = fraction type = real | kind = kind_phys dimensions = (horizontal_loop_extent, vertical_layer_dimension) intent = in [ fracw ] - standard_name = relative_importance_of_rain_accreting_liquid_tbd + standard_name = relative_importance_of_rain_accreting_liquid units = fraction type = real | kind = kind_phys dimensions = (horizontal_loop_extent, vertical_layer_dimension) intent = in [ fsacw ] - standard_name = relative_importance_of_snow_accreting_liquid_tbd + standard_name = relative_importance_of_snow_accreting_liquid units = fraction type = real | kind = kind_phys dimensions = (horizontal_loop_extent, vertical_layer_dimension) intent = in [ fsaci ] - standard_name = relative_importance_of_snow_accreting_ice_tbd + standard_name = relative_importance_of_snow_accreting_ice units = fraction type = real | kind = kind_phys dimensions = (horizontal_loop_extent, vertical_layer_dimension) @@ -176,25 +176,25 @@ dimensions = (horizontal_loop_extent, vertical_layer_dimension) intent = in [ cmeice ] - standard_name = rate_of_condensation_evaporation_of_cloud_ice_within_stratiform_cloud_tbd + standard_name = rate_of_condensation_minus_evaporation_of_cloud_ice units = kg kg-1 s-1 type = real | kind = kind_phys dimensions = (horizontal_loop_extent, vertical_layer_dimension) intent = in [ cmeliq ] - standard_name = rate_of_condensation_evaporation_of_cloud_liquid_water_within_stratiform_cloud_tbd + standard_name = rate_of_condensation_minus_evaporation_of_cloud_liquid_water units = kg kg-1 s-1 type = real | kind = kind_phys dimensions = (horizontal_loop_extent, vertical_layer_dimension) intent = in [ ice2pr ] - standard_name = tendency_of_cloud_ice_mixing_ratio_wrt_moist_air_and_condensed_water_due_to_microphysics_tbd + standard_name = cloud_ice_to_snow_autoconversion units = kg kg-1 s-1 type = real | kind = kind_phys dimensions = (horizontal_loop_extent, vertical_layer_dimension) intent = in [ liq2pr ] - standard_name = tendency_of_cloud_liquid_water_mixing_ratio_wrt_moist_air_and_condensed_water_due_to_microphysics_tbd + standard_name = cloud_liquid_to_rain_autoconversion units = kg kg-1 s-1 type = real | kind = kind_phys dimensions = (horizontal_loop_extent, vertical_layer_dimension) @@ -206,25 +206,25 @@ dimensions = (horizontal_loop_extent, vertical_layer_dimension) intent = in [ evapheat ] - standard_name = tendency_of_dry_air_enthalpy_at_constant_pressure_due_to_precipitation_evaporation_tbd + standard_name = tendency_of_dry_air_enthalpy_at_constant_pressure_due_to_evaporation_of_precipitation units = J kg-1 s-1 type = real | kind = kind_phys dimensions = (horizontal_loop_extent, vertical_layer_dimension) intent = in [ meltheat ] - standard_name = tendency_of_dry_air_enthalpy_at_constant_pressure_due_to_precipitation_phase_change_tbd + standard_name = tendency_of_dry_air_enthalpy_at_constant_pressure_due_to_snow_melt units = J kg-1 s-1 type = real | kind = kind_phys dimensions = (horizontal_loop_extent, vertical_layer_dimension) intent = in [ cmeheat ] - standard_name = tendency_of_dry_air_enthalpy_at_constant_pressure_due_to_condensation_evaporation_within_stratiform_cloud_tbd + standard_name = tendency_of_dry_air_enthalpy_at_constant_pressure_due_to_condensation_minus_evaporation units = J kg-1 s-1 type = real | kind = kind_phys dimensions = (horizontal_loop_extent, vertical_layer_dimension) intent = in [ prfzheat ] - standard_name = tendency_of_dry_air_enthalpy_at_constant_pressure_due_to_precipitation_freezing_tbd + standard_name = tendency_of_dry_air_enthalpy_at_constant_pressure_due_to_freezing_of_precipitation units = J kg-1 s-1 type = real | kind = kind_phys dimensions = (horizontal_loop_extent, vertical_layer_dimension) @@ -242,7 +242,7 @@ dimensions = (horizontal_loop_extent, vertical_layer_dimension) intent = in [ evapsnow ] - standard_name = rate_of_evaporation_of_falling_snow_due_to_microphysics_tbd + standard_name = rate_of_evaporation_of_falling_snow_due_to_microphysics units = kg kg-1 s-1 type = real | kind = kind_phys dimensions = (horizontal_loop_extent, vertical_layer_dimension) @@ -260,19 +260,19 @@ dimensions = (horizontal_loop_extent, vertical_interface_dimension) intent = in [ pracwo ] - standard_name = accretion_of_cloud_liquid_water_by_rain_tbd + standard_name = accretion_of_cloud_liquid_water_by_rain units = s-1 type = real | kind = kind_phys dimensions = (horizontal_loop_extent, vertical_layer_dimension) intent = in [ psacwo ] - standard_name = accretion_of_cloud_liquid_water_by_snow_tbd + standard_name = accretion_of_cloud_liquid_water_by_snow units = s-1 type = real | kind = kind_phys dimensions = (horizontal_loop_extent, vertical_layer_dimension) intent = in [ psacio ] - standard_name = accretion_of_cloud_ice_by_snow_tbd + standard_name = accretion_of_cloud_ice_by_snow units = s-1 type = real | kind = kind_phys dimensions = (horizontal_loop_extent, vertical_layer_dimension) @@ -309,6 +309,12 @@ type = integer dimensions = () intent = in +[ rair ] + standard_name = gas_constant_of_dry_air + units = J kg-1 K-1 + type = real | kind = kind_phys + dimensions = () + intent = in [ pmid ] standard_name = air_pressure units = Pa @@ -334,7 +340,7 @@ dimensions = (horizontal_loop_extent, vertical_layer_dimension) intent = in [ rhcloud ] - standard_name = cloud_area_fraction_from_relative_humidity_method_tbd + standard_name = cloud_area_fraction_from_relative_humidity_method units = fraction type = real | kind = kind_phys dimensions = (horizontal_loop_extent, vertical_layer_dimension) From 51c6ffb21ebce4ce4739c67b4ed7ac55d0e9011b Mon Sep 17 00:00:00 2001 From: Haipeng Lin Date: Tue, 6 May 2025 15:52:46 -0400 Subject: [PATCH 04/11] Add to CAM4 SDF; lift draft from RK SDF for diagnostic schemes --- suites/suite_cam4.xml | 86 ++++++++++++++++++- test/test_suites/suite_rasch_kristjansson.xml | 13 +-- 2 files changed, 90 insertions(+), 9 deletions(-) diff --git a/suites/suite_cam4.xml b/suites/suite_cam4.xml index 9c2c943b..b5b41b35 100644 --- a/suites/suite_cam4.xml +++ b/suites/suite_cam4.xml @@ -5,8 +5,8 @@ CAM4 PHYSICS SUITE Deep convection ZM Shallow convection Hack - Macrophysics RK (not implemented) - Microphysics RK (not implemented) + Macrophysics RK + Microphysics RK Radiation RRTMGP (not implemented) Chemistry None (not implemented) Vertical Diffusion HB (not implemented) @@ -127,8 +127,88 @@ check_energy_chng + + tropopause_find + + + rk_stratiform_diagnostics + + + rk_stratiform_check_qtlcwat + + + cloud_particle_sedimentation + + apply_constituent_tendencies + apply_heating_rate + qneg + geopotential_temp + rk_stratiform_sedimentation + + + rk_stratiform_detrain_convective_condensate + apply_constituent_tendencies + qneg + geopotential_temp + + + convective_cloud_cover + convective_cloud_cover_diagnostics + compute_cloud_fraction + rk_stratiform_cloud_fraction_perturbation + rk_stratiform_cloud_fraction_perturbation_diagnostics + + + rk_stratiform_external_forcings + + + cloud_fraction_fice + + + prognostic_cloud_water + + + rk_stratiform_condensate_repartioning + rk_stratiform_condensate_repartioning_diagnostics + apply_constituent_tendencies + qneg + geopotential_temp + + + rk_stratiform_prognostic_cloud_water_tendencies + rk_stratiform_prognostic_cloud_water_tendencies_diagnostics + apply_constituent_tendencies + apply_heating_rate + qneg + geopotential_temp + + + compute_cloud_fraction + compute_cloud_fraction_diagnostics + + + rk_stratiform_cloud_optical_properties + rk_stratiform_cloud_optical_properties_diagnostics + + + rk_stratiform_save_qtlcwat sima_state_diagnostics diff --git a/test/test_suites/suite_rasch_kristjansson.xml b/test/test_suites/suite_rasch_kristjansson.xml index 1281df89..ebb6d3f7 100644 --- a/test/test_suites/suite_rasch_kristjansson.xml +++ b/test/test_suites/suite_rasch_kristjansson.xml @@ -45,10 +45,10 @@ relative humidity derivative used in the prognostic_cloud_water scheme. --> convective_cloud_cover - + convective_cloud_cover_diagnostics compute_cloud_fraction rk_stratiform_cloud_fraction_perturbation - + rk_stratiform_cloud_fraction_perturbation_diagnostics @@ -67,7 +67,7 @@ repartition heating from change in cloud ice is determined here, but only the constituent tendencies are applied in the repartitioning step. --> rk_stratiform_condensate_repartioning - + rk_stratiform_condensate_repartioning_diagnostics apply_constituent_tendencies qneg geopotential_temp @@ -76,7 +76,7 @@ repartition heating determined in condensate_repartitioning scheme is applied here, together with other heating fluxes from prognostic_cloud_water. --> rk_stratiform_prognostic_cloud_water_tendencies - + rk_stratiform_prognostic_cloud_water_tendencies_diagnostics apply_constituent_tendencies apply_heating_rate qneg @@ -84,13 +84,14 @@ compute_cloud_fraction - + compute_cloud_fraction_diagnostics rk_stratiform_cloud_optical_properties - + rk_stratiform_cloud_optical_properties_diagnostics rk_stratiform_save_qtlcwat + From cecd0f798dda4c3d697526584ef6b28ea859ae12 Mon Sep 17 00:00:00 2001 From: Haipeng Lin Date: Thu, 8 May 2025 12:00:06 -0400 Subject: [PATCH 05/11] Add missing cloud_particle_sedimentation diagnostic in SDFs --- suites/suite_cam4.xml | 2 +- test/test_suites/suite_rasch_kristjansson.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/suites/suite_cam4.xml b/suites/suite_cam4.xml index b5b41b35..7c3fc7f8 100644 --- a/suites/suite_cam4.xml +++ b/suites/suite_cam4.xml @@ -140,7 +140,7 @@ cloud_particle_sedimentation - + cloud_particle_sedimentation_diagnostics apply_constituent_tendencies apply_heating_rate qneg diff --git a/test/test_suites/suite_rasch_kristjansson.xml b/test/test_suites/suite_rasch_kristjansson.xml index ebb6d3f7..b76ffb2b 100644 --- a/test/test_suites/suite_rasch_kristjansson.xml +++ b/test/test_suites/suite_rasch_kristjansson.xml @@ -23,7 +23,7 @@ cloud_particle_sedimentation - + cloud_particle_sedimentation_diagnostics apply_constituent_tendencies apply_heating_rate qneg From 096fe7c53a59ff57ecaca4027a8d8f8eaebde856 Mon Sep 17 00:00:00 2001 From: Haipeng Lin Date: Tue, 13 May 2025 11:37:20 -0400 Subject: [PATCH 06/11] Fix header for compute_cloud_fraction_diagnostics.F90 --- .../sima_diagnostics/compute_cloud_fraction_diagnostics.F90 | 3 --- 1 file changed, 3 deletions(-) diff --git a/schemes/sima_diagnostics/compute_cloud_fraction_diagnostics.F90 b/schemes/sima_diagnostics/compute_cloud_fraction_diagnostics.F90 index d5fc5c8a..f606b598 100644 --- a/schemes/sima_diagnostics/compute_cloud_fraction_diagnostics.F90 +++ b/schemes/sima_diagnostics/compute_cloud_fraction_diagnostics.F90 @@ -1,6 +1,3 @@ -! Copyright (C) 2025 University Corporation for Atmospheric Research -! SPDX-License-Identifier: Apache-2.0 -! ! Diagnostics for cloud fraction ! Haipeng Lin, April 2025 module compute_cloud_fraction_diagnostics From a625a28d646a4ba63dbcf0cfef184f71f3f2a88e Mon Sep 17 00:00:00 2001 From: Haipeng Lin Date: Tue, 13 May 2025 17:30:08 -0400 Subject: [PATCH 07/11] Address review comments --- .../prognostic_cloud_water.F90 | 9 ++++----- .../prognostic_cloud_water.meta | 16 ++++++++-------- schemes/rasch_kristjansson/rk_stratiform.F90 | 8 +++++--- schemes/rasch_kristjansson/rk_stratiform.meta | 8 ++++---- ...loud_particle_sedimentation_diagnostics.F90 | 5 +++-- .../rk_stratiform_diagnostics.F90 | 18 +++++++++--------- .../rk_stratiform_diagnostics.meta | 18 +++++++++--------- 7 files changed, 42 insertions(+), 40 deletions(-) diff --git a/schemes/rasch_kristjansson/prognostic_cloud_water.F90 b/schemes/rasch_kristjansson/prognostic_cloud_water.F90 index d83cbca1..3e396c3f 100644 --- a/schemes/rasch_kristjansson/prognostic_cloud_water.F90 +++ b/schemes/rasch_kristjansson/prognostic_cloud_water.F90 @@ -26,7 +26,6 @@ module prognostic_cloud_water real(kind_phys) :: rhonot ! air density at surface [g cm-3] real(kind_phys) :: rhos ! assumed snow density [g cm-3] real(kind_phys) :: rhow ! water density [g cm-3] - real(kind_phys) :: rhoi ! ice density [g cm-3] real(kind_phys) :: esi ! Collection efficiency for ice by snow [1] real(kind_phys) :: esw ! Collection efficiency for water by snow [1] real(kind_phys) :: t0 ! Approx. freezing temperature [K] @@ -120,10 +119,9 @@ subroutine prognostic_cloud_water_init( & rhonot = rhodair/1000.0_kind_phys ! convert from kg m-3 to g cm-3 - ! assumed densities of snow, water, ice [g cm-3] + ! assumed densities of snow, water [g cm-3] rhos = 0.1_kind_phys rhow = 1._kind_phys - rhoi = 1._kind_phys ! unused. esi = 1._kind_phys esw = 0.1_kind_phys @@ -320,6 +318,7 @@ subroutine prognostic_cloud_water_run( & integer, intent(out) :: errflg ! error flag ! Local variables + real(kind_phys), parameter :: rhofw = 1000._kind_phys ! density of fresh water [kg m-3] integer :: i, k, l ! Iteration index [1] integer :: iter ! # of iterations for precipitation calculation [1] logical :: error_found ! Flag for error detection [flag] @@ -842,8 +841,8 @@ subroutine prognostic_cloud_water_run( & ! ! If this conversion is removed in the future, the metadata needs to ! be updated. - precip(:ncol) = precip(:ncol)/1000._kind_phys - snowab(:ncol) = snowab(:ncol)/1000._kind_phys + precip(:ncol) = precip(:ncol)/rhofw + snowab(:ncol) = snowab(:ncol)/rhofw end subroutine prognostic_cloud_water_run ! Calculate the conversion of condensate to precipitate diff --git a/schemes/rasch_kristjansson/prognostic_cloud_water.meta b/schemes/rasch_kristjansson/prognostic_cloud_water.meta index 9580726f..6c3a926d 100644 --- a/schemes/rasch_kristjansson/prognostic_cloud_water.meta +++ b/schemes/rasch_kristjansson/prognostic_cloud_water.meta @@ -346,19 +346,19 @@ dimensions = (horizontal_loop_extent) intent = out [ ice2pr ] - standard_name = cloud_ice_to_snow_autoconversion + standard_name = tendency_of_cloud_ice_mixing_ratio_wrt_to_moist_air_and_condensed_water_due_to_ice_to_snow_autoconversion units = kg kg-1 s-1 type = real | kind = kind_phys dimensions = (horizontal_loop_extent, vertical_layer_dimension) intent = out [ liq2pr ] - standard_name = cloud_liquid_to_rain_autoconversion + standard_name = tendency_of_cloud_liquid_water_mixing_ratio_wrt_to_moist_air_and_condensed_water_due_to_liquid_to_rain_autoconversion units = kg kg-1 s-1 type = real | kind = kind_phys dimensions = (horizontal_loop_extent, vertical_layer_dimension) intent = out [ liq2snow ] - standard_name = cloud_liquid_to_snow_autoconversion + standard_name = tendency_of_cloud_liquid_water_mixing_ratio_wrt_to_moist_air_and_condensed_water_due_to_liquid_to_snow_autoconversion units = kg kg-1 s-1 type = real | kind = kind_phys dimensions = (horizontal_loop_extent, vertical_layer_dimension) @@ -394,31 +394,31 @@ dimensions = (horizontal_loop_extent, vertical_layer_dimension) intent = out [ fwaut ] - standard_name = relative_importance_of_liquid_autoconversion + standard_name = relative_importance_of_cloud_liquid_water_autoconversion units = fraction type = real | kind = kind_phys dimensions = (horizontal_loop_extent, vertical_layer_dimension) intent = out [ fsaut ] - standard_name = relative_importance_of_ice_autoconversion + standard_name = relative_importance_of_cloud_ice_autoconversion units = fraction type = real | kind = kind_phys dimensions = (horizontal_loop_extent, vertical_layer_dimension) intent = out [ fracw ] - standard_name = relative_importance_of_rain_accreting_liquid + standard_name = relative_importance_of_rain_accreting_cloud_liquid_water units = fraction type = real | kind = kind_phys dimensions = (horizontal_loop_extent, vertical_layer_dimension) intent = out [ fsacw ] - standard_name = relative_importance_of_snow_accreting_liquid + standard_name = relative_importance_of_snow_accreting_cloud_liquid_water units = fraction type = real | kind = kind_phys dimensions = (horizontal_loop_extent, vertical_layer_dimension) intent = out [ fsaci ] - standard_name = relative_importance_of_snow_accreting_ice + standard_name = relative_importance_of_snow_accreting_cloud_ice units = fraction type = real | kind = kind_phys dimensions = (horizontal_loop_extent, vertical_layer_dimension) diff --git a/schemes/rasch_kristjansson/rk_stratiform.F90 b/schemes/rasch_kristjansson/rk_stratiform.F90 index 64da34dd..29a200af 100644 --- a/schemes/rasch_kristjansson/rk_stratiform.F90 +++ b/schemes/rasch_kristjansson/rk_stratiform.F90 @@ -95,15 +95,17 @@ subroutine rk_stratiform_sedimentation_run( & real(kind_phys), intent(out) :: prec_sed(:) ! stratiform_cloud_water_surface_flux_due_to_sedimentation [m s-1] real(kind_phys), intent(out) :: prec_str(:) ! lwe_large_scale_precipitation_rate_at_surface [m s-1] real(kind_phys), intent(out) :: snow_str(:) ! lwe_snow_and_cloud_ice_precipitation_rate_at_surface_due_to_microphysics [m s-1] - character(len=512), intent(out) :: errmsg ! error message - integer, intent(out) :: errflg ! error flag + character(len=512), intent(out) :: errmsg ! error message + integer, intent(out) :: errflg ! error flag + + real(kind_phys), parameter :: rhofw = 1000._kind_phys ! density of fresh water [kg m-3] errmsg = '' errflg = 0 ! Convert rain flux to precip units from mass units ! and create cloud water surface flux (rain + snow) - prec_sed(:ncol) = sfliq(:ncol)/1000._kind_phys + snow_sed(:ncol) + prec_sed(:ncol) = sfliq(:ncol)/rhofw + snow_sed(:ncol) ! Start accumulation of precipitation and snow flux [m s-1] prec_str(:ncol) = 0._kind_phys + prec_sed(:ncol) diff --git a/schemes/rasch_kristjansson/rk_stratiform.meta b/schemes/rasch_kristjansson/rk_stratiform.meta index 8aae7e70..9d663e21 100644 --- a/schemes/rasch_kristjansson/rk_stratiform.meta +++ b/schemes/rasch_kristjansson/rk_stratiform.meta @@ -622,13 +622,13 @@ dimensions = (horizontal_loop_extent, vertical_layer_dimension) intent = in [ ice2pr ] - standard_name = cloud_ice_to_snow_autoconversion + standard_name = tendency_of_cloud_ice_mixing_ratio_wrt_to_moist_air_and_condensed_water_due_to_ice_to_snow_autoconversion units = kg kg-1 s-1 type = real | kind = kind_phys dimensions = (horizontal_loop_extent, vertical_layer_dimension) intent = in [ liq2pr ] - standard_name = cloud_liquid_to_rain_autoconversion + standard_name = tendency_of_cloud_liquid_water_mixing_ratio_wrt_to_moist_air_and_condensed_water_due_to_liquid_to_rain_autoconversion units = kg kg-1 s-1 type = real | kind = kind_phys dimensions = (horizontal_loop_extent, vertical_layer_dimension) @@ -664,13 +664,13 @@ dimensions = (horizontal_loop_extent, vertical_layer_dimension) intent = out [ cmeice ] - standard_name = rate_of_condensation_minus_evaporation_of_cloud_ice + standard_name = rate_of_condensation_minus_evaporation_for_cloud_ice_mixing_ratio_wrt_moist_air_and_condensed_water units = kg kg-1 s-1 type = real | kind = kind_phys dimensions = (horizontal_loop_extent, vertical_layer_dimension) intent = out [ cmeliq ] - standard_name = rate_of_condensation_minus_evaporation_of_cloud_liquid_water + standard_name = rate_of_condensation_minus_evaporation_for_cloud_liquid_water_mixing_ratio_wrt_moist_air_and_condensed_water units = kg kg-1 s-1 type = real | kind = kind_phys dimensions = (horizontal_loop_extent, vertical_layer_dimension) diff --git a/schemes/sima_diagnostics/cloud_particle_sedimentation_diagnostics.F90 b/schemes/sima_diagnostics/cloud_particle_sedimentation_diagnostics.F90 index d5202929..8c67848c 100644 --- a/schemes/sima_diagnostics/cloud_particle_sedimentation_diagnostics.F90 +++ b/schemes/sima_diagnostics/cloud_particle_sedimentation_diagnostics.F90 @@ -61,10 +61,11 @@ subroutine cloud_particle_sedimentation_diagnostics_run( & character(len=512), intent(out) :: errmsg integer, intent(out) :: errflg + real(kind_phys), parameter :: rhofw = 1000._kind_phys ! density of fresh water [kg m-3] real(kind_phys) :: prec_sed(ncol) ! repeat computation of prec_sed here for diagnostics [m s-1] - prec_sed(:ncol) = sfliq(:ncol)/1000._kind_phys + snow_sed(:ncol) + prec_sed(:ncol) = sfliq(:ncol)/rhofw + snow_sed(:ncol) errmsg = '' errflg = 0 @@ -77,7 +78,7 @@ subroutine cloud_particle_sedimentation_diagnostics_run( & call history_out_field('PRECSED', prec_sed) ! calculated as m s-1 call history_out_field('SNOWSED', snow_sed) ! already in m s-1 - call history_out_field('RAINSED', sfliq/1000._kind_phys) ! convert from kg m-2 s-1 to m s-1 (precip units) for output + call history_out_field('RAINSED', sfliq/rhofw) ! convert from kg m-2 s-1 to m s-1 (precip units) for output end subroutine cloud_particle_sedimentation_diagnostics_run diff --git a/schemes/sima_diagnostics/rk_stratiform_diagnostics.F90 b/schemes/sima_diagnostics/rk_stratiform_diagnostics.F90 index 8b39536c..da930d88 100644 --- a/schemes/sima_diagnostics/rk_stratiform_diagnostics.F90 +++ b/schemes/sima_diagnostics/rk_stratiform_diagnostics.F90 @@ -39,17 +39,17 @@ subroutine rk_stratiform_diagnostics_init(errmsg, errflg) call history_add_field('HREPART', 'tendency_of_dry_air_enthalpy_at_constant_pressure_due_to_cloud_ice_and_cloud_liquid_repartitioning', 'lev', 'avg', 'J kg-1 s-1') ! rk_stratiform_prognostic_cloud_water_tendencies_diagnostics - call history_add_field('FWAUT', 'relative_importance_of_liquid_autoconversion', 'lev', 'avg', 'fraction') - call history_add_field('FSAUT', 'relative_importance_of_ice_autoconversion', 'lev', 'avg', 'fraction') - call history_add_field('FRACW', 'relative_importance_of_rain_accreting_liquid', 'lev', 'avg', 'fraction') - call history_add_field('FSACW', 'relative_importance_of_snow_accreting_liquid', 'lev', 'avg', 'fraction') - call history_add_field('FSACI', 'relative_importance_of_snow_accreting_ice', 'lev', 'avg', 'fraction') + call history_add_field('FWAUT', 'relative_importance_of_cloud_liquid_water_autoconversion', 'lev', 'avg', 'fraction') + call history_add_field('FSAUT', 'relative_importance_of_cloud_ice_autoconversion', 'lev', 'avg', 'fraction') + call history_add_field('FRACW', 'relative_importance_of_rain_accreting_cloud_liquid_water', 'lev', 'avg', 'fraction') + call history_add_field('FSACW', 'relative_importance_of_snow_accreting_cloud_liquid_water', 'lev', 'avg', 'fraction') + call history_add_field('FSACI', 'relative_importance_of_snow_accreting_cloud_ice', 'lev', 'avg', 'fraction') call history_add_field('PCSNOW', 'lwe_snow_precipitation_rate_at_surface_due_to_microphysics', horiz_only, 'avg', 'fraction') call history_add_field('CME', 'net_condensation_rate_due_to_microphysics', 'lev', 'avg', 'kg kg-1 s-1') ! qme. - call history_add_field('CMEICE', 'rate_of_condensation_minus_evaporation_of_cloud_ice', 'lev', 'avg', 'kg kg-1 s-1') - call history_add_field('CMELIQ', 'rate_of_condensation_minus_evaporation_of_cloud_liquid_water', 'lev', 'avg', 'kg kg-1 s-1') - call history_add_field('ICE2PR', 'cloud_ice_to_snow_autoconversion', 'lev', 'avg', 'kg kg-1 s-1') - call history_add_field('LIQ2PR', 'cloud_liquid_to_rain_autoconversion', 'lev', 'avg', 'kg kg-1 s-1') + call history_add_field('CMEICE', 'rate_of_condensation_minus_evaporation_for_cloud_ice_mixing_ratio_wrt_moist_air_and_condensed_water', 'lev', 'avg', 'kg kg-1 s-1') + call history_add_field('CMELIQ', 'rate_of_condensation_minus_evaporation_for_cloud_liquid_water_mixing_ratio_wrt_moist_air_and_condensed_water', 'lev', 'avg', 'kg kg-1 s-1') + call history_add_field('ICE2PR', 'tendency_of_cloud_ice_mixing_ratio_wrt_to_moist_air_and_condensed_water_due_to_ice_to_snow_autoconversion', 'lev', 'avg', 'kg kg-1 s-1') + call history_add_field('LIQ2PR', 'tendency_of_cloud_liquid_water_mixing_ratio_wrt_to_moist_air_and_condensed_water_due_to_liquid_to_rain_autoconversion', 'lev', 'avg', 'kg kg-1 s-1') call history_add_field('HPROGCLD', 'tendency_of_dry_air_enthalpy_at_constant_pressure_due_to_microphysics', 'lev', 'avg', 'J kg-1 s-1') call history_add_field('HEVAP', 'tendency_of_dry_air_enthalpy_at_constant_pressure_due_to_evaporation_of_precipitation', 'lev', 'avg', 'J kg-1 s-1') diff --git a/schemes/sima_diagnostics/rk_stratiform_diagnostics.meta b/schemes/sima_diagnostics/rk_stratiform_diagnostics.meta index 012b65c1..a9f792fe 100644 --- a/schemes/sima_diagnostics/rk_stratiform_diagnostics.meta +++ b/schemes/sima_diagnostics/rk_stratiform_diagnostics.meta @@ -134,31 +134,31 @@ intent = in advected = true [ fwaut ] - standard_name = relative_importance_of_liquid_autoconversion + standard_name = relative_importance_of_cloud_liquid_water_autoconversion units = fraction type = real | kind = kind_phys dimensions = (horizontal_loop_extent, vertical_layer_dimension) intent = in [ fsaut ] - standard_name = relative_importance_of_ice_autoconversion + standard_name = relative_importance_of_cloud_ice_autoconversion units = fraction type = real | kind = kind_phys dimensions = (horizontal_loop_extent, vertical_layer_dimension) intent = in [ fracw ] - standard_name = relative_importance_of_rain_accreting_liquid + standard_name = relative_importance_of_rain_accreting_cloud_liquid_water units = fraction type = real | kind = kind_phys dimensions = (horizontal_loop_extent, vertical_layer_dimension) intent = in [ fsacw ] - standard_name = relative_importance_of_snow_accreting_liquid + standard_name = relative_importance_of_snow_accreting_cloud_liquid_water units = fraction type = real | kind = kind_phys dimensions = (horizontal_loop_extent, vertical_layer_dimension) intent = in [ fsaci ] - standard_name = relative_importance_of_snow_accreting_ice + standard_name = relative_importance_of_snow_accreting_cloud_ice units = fraction type = real | kind = kind_phys dimensions = (horizontal_loop_extent, vertical_layer_dimension) @@ -176,25 +176,25 @@ dimensions = (horizontal_loop_extent, vertical_layer_dimension) intent = in [ cmeice ] - standard_name = rate_of_condensation_minus_evaporation_of_cloud_ice + standard_name = rate_of_condensation_minus_evaporation_for_cloud_ice_mixing_ratio_wrt_moist_air_and_condensed_water units = kg kg-1 s-1 type = real | kind = kind_phys dimensions = (horizontal_loop_extent, vertical_layer_dimension) intent = in [ cmeliq ] - standard_name = rate_of_condensation_minus_evaporation_of_cloud_liquid_water + standard_name = rate_of_condensation_minus_evaporation_for_cloud_liquid_water_mixing_ratio_wrt_moist_air_and_condensed_water units = kg kg-1 s-1 type = real | kind = kind_phys dimensions = (horizontal_loop_extent, vertical_layer_dimension) intent = in [ ice2pr ] - standard_name = cloud_ice_to_snow_autoconversion + standard_name = tendency_of_cloud_ice_mixing_ratio_wrt_to_moist_air_and_condensed_water_due_to_ice_to_snow_autoconversion units = kg kg-1 s-1 type = real | kind = kind_phys dimensions = (horizontal_loop_extent, vertical_layer_dimension) intent = in [ liq2pr ] - standard_name = cloud_liquid_to_rain_autoconversion + standard_name = tendency_of_cloud_liquid_water_mixing_ratio_wrt_to_moist_air_and_condensed_water_due_to_liquid_to_rain_autoconversion units = kg kg-1 s-1 type = real | kind = kind_phys dimensions = (horizontal_loop_extent, vertical_layer_dimension) From 3ab50b26da7cd789a16069ac9e0e4fb82b1c661a Mon Sep 17 00:00:00 2001 From: Haipeng Lin Date: Wed, 14 May 2025 11:01:33 -0400 Subject: [PATCH 08/11] Update snow_sed standard name to stratiform_lwe_cloud_ice_surface_flux_due_to_sedimentation --- schemes/rasch_kristjansson/cloud_particle_sedimentation.F90 | 4 ++-- schemes/rasch_kristjansson/cloud_particle_sedimentation.meta | 2 +- schemes/rasch_kristjansson/rk_stratiform.F90 | 2 +- schemes/rasch_kristjansson/rk_stratiform.meta | 2 +- .../cloud_particle_sedimentation_diagnostics.F90 | 4 ++-- .../cloud_particle_sedimentation_diagnostics.meta | 2 +- 6 files changed, 8 insertions(+), 8 deletions(-) diff --git a/schemes/rasch_kristjansson/cloud_particle_sedimentation.F90 b/schemes/rasch_kristjansson/cloud_particle_sedimentation.F90 index 321fe8d6..3c7f4ff6 100644 --- a/schemes/rasch_kristjansson/cloud_particle_sedimentation.F90 +++ b/schemes/rasch_kristjansson/cloud_particle_sedimentation.F90 @@ -146,7 +146,7 @@ subroutine cloud_particle_sedimentation_run( & real(kind_phys), intent(out) :: wvtend(:,:) ! water vapor tendency [kg kg-1 s-1] -- to apply wv tendency real(kind_phys), intent(out) :: htend(:,:) ! heating rate [J kg-1 s-1] -- to apply s tendency real(kind_phys), intent(out) :: sfliq(:) ! surface flux of liquid (rain) [kg m-2 s-1] - real(kind_phys), intent(out) :: sfice(:) ! lwe_cloud_ice_sedimentation_rate_at_surface_due_to_microphysics [m s-1] + real(kind_phys), intent(out) :: sfice(:) ! stratiform_lwe_cloud_ice_surface_flux_due_to_sedimentation [m s-1] character(len=512), intent(out) :: errmsg ! error message integer, intent(out) :: errflg ! error flag @@ -361,7 +361,7 @@ subroutine cloud_particle_sedimentation_run( & sfliq(:ncol) = fxliq(:ncol, pverp)/(dtime*gravit) sfice(:ncol) = fxice(:ncol, pverp)/(dtime*gravit) - ! Convert lwe_cloud_ice_sedimentation_rate_at_surface_due_to_microphysics from kg m-2 s-1 to precip units m s-1 + ! Convert stratiform_lwe_cloud_ice_surface_flux_due_to_sedimentation from kg m-2 s-1 to precip units m s-1 sfice(:ncol) = sfice(:ncol)/1000._kind_phys end subroutine cloud_particle_sedimentation_run diff --git a/schemes/rasch_kristjansson/cloud_particle_sedimentation.meta b/schemes/rasch_kristjansson/cloud_particle_sedimentation.meta index 645c37b3..cbe8705c 100644 --- a/schemes/rasch_kristjansson/cloud_particle_sedimentation.meta +++ b/schemes/rasch_kristjansson/cloud_particle_sedimentation.meta @@ -238,7 +238,7 @@ dimensions = (horizontal_loop_extent) intent = out [ sfice ] - standard_name = lwe_cloud_ice_sedimentation_rate_at_surface_due_to_microphysics + standard_name = stratiform_lwe_cloud_ice_surface_flux_due_to_sedimentation units = m s-1 type = real | kind = kind_phys dimensions = (horizontal_loop_extent) diff --git a/schemes/rasch_kristjansson/rk_stratiform.F90 b/schemes/rasch_kristjansson/rk_stratiform.F90 index 29a200af..ec2021e0 100644 --- a/schemes/rasch_kristjansson/rk_stratiform.F90 +++ b/schemes/rasch_kristjansson/rk_stratiform.F90 @@ -89,7 +89,7 @@ subroutine rk_stratiform_sedimentation_run( & ! Input arguments integer, intent(in) :: ncol real(kind_phys), intent(in) :: sfliq(:) ! stratiform_rain_flux_at_surface_due_to_sedimentation [kg m-2 s-1] - real(kind_phys), intent(in) :: snow_sed(:) ! sfice = lwe_cloud_ice_sedimentation_rate_at_surface_due_to_microphysics [m s-1] + real(kind_phys), intent(in) :: snow_sed(:) ! sfice = stratiform_lwe_cloud_ice_surface_flux_due_to_sedimentation [m s-1] ! Output arguments real(kind_phys), intent(out) :: prec_sed(:) ! stratiform_cloud_water_surface_flux_due_to_sedimentation [m s-1] diff --git a/schemes/rasch_kristjansson/rk_stratiform.meta b/schemes/rasch_kristjansson/rk_stratiform.meta index 9d663e21..f90c6cfe 100644 --- a/schemes/rasch_kristjansson/rk_stratiform.meta +++ b/schemes/rasch_kristjansson/rk_stratiform.meta @@ -99,7 +99,7 @@ dimensions = (horizontal_loop_extent) intent = in [ snow_sed ] - standard_name = lwe_cloud_ice_sedimentation_rate_at_surface_due_to_microphysics + standard_name = stratiform_lwe_cloud_ice_surface_flux_due_to_sedimentation units = m s-1 type = real | kind = kind_phys dimensions = (horizontal_loop_extent) diff --git a/schemes/sima_diagnostics/cloud_particle_sedimentation_diagnostics.F90 b/schemes/sima_diagnostics/cloud_particle_sedimentation_diagnostics.F90 index 8c67848c..7f337271 100644 --- a/schemes/sima_diagnostics/cloud_particle_sedimentation_diagnostics.F90 +++ b/schemes/sima_diagnostics/cloud_particle_sedimentation_diagnostics.F90 @@ -32,7 +32,7 @@ subroutine cloud_particle_sedimentation_diagnostics_init(errmsg, errflg) call history_add_field('DLSED', 'tendency_of_cloud_liquid_water_mixing_ratio_wrt_moist_air_and_condensed_water_due_to_sedimentation', 'lev', 'avg', 'kg kg-1 s-1') call history_add_field('HSED', 'tendency_of_dry_air_enthalpy_at_constant_pressure_due_to_sedimentation', 'lev', 'avg', 'J kg-1 s-1') call history_add_field('PRECSED', 'stratiform_cloud_water_surface_flux_due_to_sedimentation', horiz_only, 'inst', 'm s-1') - call history_add_field('SNOWSED', 'lwe_cloud_ice_sedimentation_rate_at_surface_due_to_microphysics', horiz_only, 'inst', 'm s-1') + call history_add_field('SNOWSED', 'stratiform_lwe_cloud_ice_surface_flux_due_to_sedimentation', horiz_only, 'inst', 'm s-1') call history_add_field('RAINSED', 'stratiform_rain_flux_at_surface_due_to_sedimentation', horiz_only, 'inst', 'm s-1') end subroutine cloud_particle_sedimentation_diagnostics_init @@ -54,7 +54,7 @@ subroutine cloud_particle_sedimentation_diagnostics_run( & real(kind_phys), intent(in) :: liqtend(:,:) ! liquid condensate tendency -- to apply cldliq tendency real(kind_phys), intent(in) :: htend(:,:) ! heating rate [J kg-1 s-1] -- to apply s tendency - real(kind_phys), intent(in) :: snow_sed(:) ! lwe_cloud_ice_sedimentation_rate_at_surface_due_to_microphysics [m s-1] + real(kind_phys), intent(in) :: snow_sed(:) ! stratiform_lwe_cloud_ice_surface_flux_due_to_sedimentation [m s-1] real(kind_phys), intent(in) :: sfliq(:) ! stratiform_rain_flux_at_surface_due_to_sedimentation [kg m-2 s-1] ! CCPP error handling variables diff --git a/schemes/sima_diagnostics/cloud_particle_sedimentation_diagnostics.meta b/schemes/sima_diagnostics/cloud_particle_sedimentation_diagnostics.meta index ff3365bf..b638b250 100644 --- a/schemes/sima_diagnostics/cloud_particle_sedimentation_diagnostics.meta +++ b/schemes/sima_diagnostics/cloud_particle_sedimentation_diagnostics.meta @@ -52,7 +52,7 @@ dimensions = (horizontal_loop_extent, vertical_layer_dimension) intent = in [ snow_sed ] - standard_name = lwe_cloud_ice_sedimentation_rate_at_surface_due_to_microphysics + standard_name = stratiform_lwe_cloud_ice_surface_flux_due_to_sedimentation units = m s-1 type = real | kind = kind_phys dimensions = (horizontal_loop_extent) From 06248e27b71f61ecdf9a80189049b9c91a0d62e1 Mon Sep 17 00:00:00 2001 From: Haipeng Lin Date: Mon, 16 Jun 2025 13:18:58 -0400 Subject: [PATCH 09/11] Update standard name of evapprec --- schemes/rasch_kristjansson/prognostic_cloud_water.F90 | 2 +- schemes/rasch_kristjansson/prognostic_cloud_water.meta | 2 +- schemes/rasch_kristjansson/rk_stratiform.meta | 2 +- schemes/sima_diagnostics/rk_stratiform_diagnostics.F90 | 2 +- schemes/sima_diagnostics/rk_stratiform_diagnostics.meta | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/schemes/rasch_kristjansson/prognostic_cloud_water.F90 b/schemes/rasch_kristjansson/prognostic_cloud_water.F90 index 3e396c3f..d2f4d117 100644 --- a/schemes/rasch_kristjansson/prognostic_cloud_water.F90 +++ b/schemes/rasch_kristjansson/prognostic_cloud_water.F90 @@ -290,7 +290,7 @@ subroutine prognostic_cloud_water_run( & real(kind_phys), intent(out) :: qme(:,:) ! Rate of condensation-evaporation of condensate (net_condensation_rate_due_to_microphysics) [kg kg-1 s-1] real(kind_phys), intent(out) :: prodprec(:,:) ! Conversion rate of condensate to precip (precipitation_production_due_to_microphysics) [kg kg-1 s-1] real(kind_phys), intent(out) :: prodsnow(:,:) ! Snow production rate (ignored in RK?) [kg kg-1 s-1] - real(kind_phys), intent(out) :: evapprec(:,:) ! Falling precipitation evaporation rate (precipitation_evaporation_due_to_microphysics) [kg kg-1 s-1] -- & combined to apply q(wv) tendency + real(kind_phys), intent(out) :: evapprec(:,:) ! Falling precipitation evaporation rate (rate_of_evaporation_of_precipitation_due_to_microphysics) [kg kg-1 s-1] -- & combined to apply q(wv) tendency real(kind_phys), intent(out) :: evapsnow(:,:) ! Falling snow evaporation rate [kg kg-1 s-1] real(kind_phys), intent(out) :: evapheat(:,:) ! heating rate due to evaporation of precipitation [J kg-1 s-1] real(kind_phys), intent(out) :: prfzheat(:,:) ! heating rate due to freezing of precipitation [J kg-1 s-1] diff --git a/schemes/rasch_kristjansson/prognostic_cloud_water.meta b/schemes/rasch_kristjansson/prognostic_cloud_water.meta index 6c3a926d..c821416c 100644 --- a/schemes/rasch_kristjansson/prognostic_cloud_water.meta +++ b/schemes/rasch_kristjansson/prognostic_cloud_water.meta @@ -304,7 +304,7 @@ dimensions = (horizontal_loop_extent, vertical_layer_dimension) intent = out [ evapprec ] - standard_name = precipitation_evaporation_due_to_microphysics + standard_name = rate_of_evaporation_of_precipitation_due_to_microphysics units = kg kg-1 s-1 type = real | kind = kind_phys dimensions = (horizontal_loop_extent, vertical_layer_dimension) diff --git a/schemes/rasch_kristjansson/rk_stratiform.meta b/schemes/rasch_kristjansson/rk_stratiform.meta index f90c6cfe..f1ffe7f1 100644 --- a/schemes/rasch_kristjansson/rk_stratiform.meta +++ b/schemes/rasch_kristjansson/rk_stratiform.meta @@ -616,7 +616,7 @@ dimensions = (horizontal_loop_extent, vertical_layer_dimension) intent = in [ evapprec ] - standard_name = precipitation_evaporation_due_to_microphysics + standard_name = rate_of_evaporation_of_precipitation_due_to_microphysics units = kg kg-1 s-1 type = real | kind = kind_phys dimensions = (horizontal_loop_extent, vertical_layer_dimension) diff --git a/schemes/sima_diagnostics/rk_stratiform_diagnostics.F90 b/schemes/sima_diagnostics/rk_stratiform_diagnostics.F90 index da930d88..688a85e6 100644 --- a/schemes/sima_diagnostics/rk_stratiform_diagnostics.F90 +++ b/schemes/sima_diagnostics/rk_stratiform_diagnostics.F90 @@ -58,7 +58,7 @@ subroutine rk_stratiform_diagnostics_init(errmsg, errflg) call history_add_field('HFREEZ', 'tendency_of_dry_air_enthalpy_at_constant_pressure_due_to_freezing_of_precipitation', 'lev', 'avg', 'J kg-1 s-1') call history_add_field('PRODPREC', 'precipitation_production_due_to_microphysics', 'lev', 'avg', 'kg kg-1 s-1') - call history_add_field('EVAPPREC', 'precipitation_evaporation_due_to_microphysics', 'lev', 'avg', 'kg kg-1 s-1') + call history_add_field('EVAPPREC', 'rate_of_evaporation_of_precipitation_due_to_microphysics', 'lev', 'avg', 'kg kg-1 s-1') call history_add_field('EVAPSNOW', 'rate_of_evaporation_of_falling_snow_due_to_microphysics', 'lev', 'avg', 'kg kg-1 s-1') ! ... for COSP/CFMIP diff --git a/schemes/sima_diagnostics/rk_stratiform_diagnostics.meta b/schemes/sima_diagnostics/rk_stratiform_diagnostics.meta index a9f792fe..9346b7d2 100644 --- a/schemes/sima_diagnostics/rk_stratiform_diagnostics.meta +++ b/schemes/sima_diagnostics/rk_stratiform_diagnostics.meta @@ -236,7 +236,7 @@ dimensions = (horizontal_loop_extent, vertical_layer_dimension) intent = in [ evapprec ] - standard_name = precipitation_evaporation_due_to_microphysics + standard_name = rate_of_evaporation_of_precipitation_due_to_microphysics units = kg kg-1 s-1 type = real | kind = kind_phys dimensions = (horizontal_loop_extent, vertical_layer_dimension) From 4380bba53c7090a3f51b9e985a828a4ecefe7b9d Mon Sep 17 00:00:00 2001 From: Haipeng Lin Date: Mon, 16 Jun 2025 16:58:01 -0400 Subject: [PATCH 10/11] Remove author header in SIMA-specific schemes --- .../cloud_particle_sedimentation_diagnostics.F90 | 1 - .../sima_diagnostics/compute_cloud_fraction_diagnostics.F90 | 1 - schemes/sima_diagnostics/convect_shallow_diagnostics.F90 | 1 - .../sima_diagnostics/convective_cloud_cover_diagnostics.F90 | 1 - schemes/sima_diagnostics/rk_stratiform_diagnostics.F90 | 5 +++-- 5 files changed, 3 insertions(+), 6 deletions(-) diff --git a/schemes/sima_diagnostics/cloud_particle_sedimentation_diagnostics.F90 b/schemes/sima_diagnostics/cloud_particle_sedimentation_diagnostics.F90 index 7f337271..cd89a833 100644 --- a/schemes/sima_diagnostics/cloud_particle_sedimentation_diagnostics.F90 +++ b/schemes/sima_diagnostics/cloud_particle_sedimentation_diagnostics.F90 @@ -1,5 +1,4 @@ ! Diagnostics for RK stratiform - cloud particle sedimentation -! Haipeng Lin, March 2025 module cloud_particle_sedimentation_diagnostics use ccpp_kinds, only: kind_phys diff --git a/schemes/sima_diagnostics/compute_cloud_fraction_diagnostics.F90 b/schemes/sima_diagnostics/compute_cloud_fraction_diagnostics.F90 index f606b598..74a69996 100644 --- a/schemes/sima_diagnostics/compute_cloud_fraction_diagnostics.F90 +++ b/schemes/sima_diagnostics/compute_cloud_fraction_diagnostics.F90 @@ -1,5 +1,4 @@ ! Diagnostics for cloud fraction -! Haipeng Lin, April 2025 module compute_cloud_fraction_diagnostics use ccpp_kinds, only: kind_phys diff --git a/schemes/sima_diagnostics/convect_shallow_diagnostics.F90 b/schemes/sima_diagnostics/convect_shallow_diagnostics.F90 index 1504a1c9..b3ec2971 100644 --- a/schemes/sima_diagnostics/convect_shallow_diagnostics.F90 +++ b/schemes/sima_diagnostics/convect_shallow_diagnostics.F90 @@ -1,5 +1,4 @@ ! Diagnostics for shallow convection and merged deep + shallow convection -! Haipeng Lin, December 2024 module convect_shallow_diagnostics use ccpp_kinds, only: kind_phys diff --git a/schemes/sima_diagnostics/convective_cloud_cover_diagnostics.F90 b/schemes/sima_diagnostics/convective_cloud_cover_diagnostics.F90 index 110a66db..fedcded9 100644 --- a/schemes/sima_diagnostics/convective_cloud_cover_diagnostics.F90 +++ b/schemes/sima_diagnostics/convective_cloud_cover_diagnostics.F90 @@ -1,5 +1,4 @@ ! Diagnostics for cloud fraction - convective cloud cover -! Haipeng Lin, March 2025 module convective_cloud_cover_diagnostics use ccpp_kinds, only: kind_phys diff --git a/schemes/sima_diagnostics/rk_stratiform_diagnostics.F90 b/schemes/sima_diagnostics/rk_stratiform_diagnostics.F90 index 688a85e6..90c37cb0 100644 --- a/schemes/sima_diagnostics/rk_stratiform_diagnostics.F90 +++ b/schemes/sima_diagnostics/rk_stratiform_diagnostics.F90 @@ -1,5 +1,4 @@ ! Diagnostics for RK stratiform - miscellaneous interstitial schemes -! Haipeng Lin, March 2025 module rk_stratiform_diagnostics use ccpp_kinds, only: kind_phys @@ -24,7 +23,9 @@ subroutine rk_stratiform_diagnostics_init(errmsg, errflg) character(len=512), intent(out) :: errmsg integer, intent(out) :: errflg - ! Local variables: + ! There is one initialization scheme for all RK diagnostics + ! but there are separate run phases for diagnostics + ! pertaining to each interstitial scheme. See RK SDF file. errmsg = '' errflg = 0 From 26ab1b007cd812fc618a6984b7afdc67ac0c0ca8 Mon Sep 17 00:00:00 2001 From: Haipeng Lin Date: Mon, 16 Jun 2025 17:07:38 -0400 Subject: [PATCH 11/11] Update NamesNotInDictionary.txt --- doc/NamesNotInDictionary.txt | 635 ++++++++++++++++++++++++++++++++++- 1 file changed, 622 insertions(+), 13 deletions(-) diff --git a/doc/NamesNotInDictionary.txt b/doc/NamesNotInDictionary.txt index fd11ee07..ef98dec9 100644 --- a/doc/NamesNotInDictionary.txt +++ b/doc/NamesNotInDictionary.txt @@ -1,15 +1,36 @@ ####################### Date/time of when script was run: -2025-02-13 20:35:20.393146 +2025-06-16 17:08:09.244285 ####################### Non-dictionary standard names found in the following metadata files: -------------------------- +atmospheric_physics/schemes/sima_diagnostics/sima_tend_diagnostics.meta + + - ccpp_error_code + - ccpp_error_message + +-------------------------- + +atmospheric_physics/schemes/sima_diagnostics/cloud_particle_sedimentation_diagnostics.meta + + - ccpp_error_code + - ccpp_error_message + - stratiform_lwe_cloud_ice_surface_flux_due_to_sedimentation + - stratiform_rain_flux_at_surface_due_to_sedimentation + - tendency_of_cloud_ice_mixing_ratio_wrt_moist_air_and_condensed_water + - tendency_of_cloud_liquid_water_mixing_ratio_wrt_moist_air_and_condensed_water + - tendency_of_water_vapor_mixing_ratio_wrt_moist_air_and_condensed_water + +-------------------------- + atmospheric_physics/schemes/sima_diagnostics/zm_evap_tendency_diagnostics.meta + - ccpp_error_code + - ccpp_error_message - tendency_of_dry_air_enthalpy_at_constant_pressure_due_to_evaporation_and_melting_of_frozen_precipitation_due_to_deep_convection - tendency_of_dry_air_enthalpy_at_constant_pressure_due_to_frozen_precipitation_production_due_to_deep_convection - tendency_of_water_vapor_mixing_ratio_wrt_moist_air_and_condensed_water @@ -18,6 +39,8 @@ atmospheric_physics/schemes/sima_diagnostics/zm_evap_tendency_diagnostics.meta atmospheric_physics/schemes/sima_diagnostics/check_energy_gmean_diagnostics.meta + - ccpp_error_code + - ccpp_error_message - flag_for_energy_global_means_output - global_mean_heating_rate_correction_for_energy_conservation - global_mean_vertically_integrated_total_energy_using_dycore_energy_formula_at_end_of_physics_timestep @@ -25,14 +48,58 @@ atmospheric_physics/schemes/sima_diagnostics/check_energy_gmean_diagnostics.meta -------------------------- +atmospheric_physics/schemes/sima_diagnostics/convective_cloud_cover_diagnostics.meta + + - ccpp_error_code + - ccpp_error_message + - deep_convective_cloud_area_fraction + - shallow_convective_cloud_area_fraction + +-------------------------- + atmospheric_physics/schemes/sima_diagnostics/zm_tendency_diagnostics.meta + - ccpp_constituent_properties + - ccpp_constituent_tendencies + - ccpp_error_code + - ccpp_error_message + +-------------------------- + +atmospheric_physics/schemes/sima_diagnostics/convect_shallow_diagnostics.meta + + - atmosphere_convective_mass_flux_due_to_all_convection + - atmosphere_convective_mass_flux_due_to_shallow_convection + - ccpp_constituent_properties - ccpp_constituent_tendencies + - ccpp_error_code + - ccpp_error_message + - detrainment_of_cloud_liquid_water_wrt_moist_air_and_condensed_water_due_to_all_convection + - detrainment_of_cloud_liquid_water_wrt_moist_air_and_condensed_water_due_to_shallow_convection + - frozen_precipitation_flux_at_interface_due_to_shallow_convection + - in_cloud_water_vapor_mixing_ratio_wrt_moist_air_and_condensed_water_due_to_shallow_convection + - liquid_water_static_energy_flux_due_to_shallow_convection + - lwe_precipitation_rate_at_surface_due_to_shallow_convection + - number_of_ccpp_constituents + - precipitation_flux_at_interface_due_to_shallow_convection + - pressure_at_cloud_base_for_all_convection + - pressure_at_cloud_top_for_all_convection + - tendency_of_dry_air_enthalpy_at_constant_pressure_due_to_evaporation_and_melting_of_frozen_precipitation_due_to_shallow_convection + - tendency_of_dry_air_enthalpy_at_constant_pressure_due_to_frozen_precipitation_production_due_to_shallow_convection + - tendency_of_frozen_precipitation_wrt_moist_air_and_condensed_water_due_to_shallow_convection + - tendency_of_precipitation_wrt_moist_air_and_condensed_water_due_to_shallow_convection + - tendency_of_precipitation_wrt_moist_air_and_condensed_water_due_to_shallow_convection_excluding_subcloud_evaporation + - tendency_of_water_vapor_mixing_ratio_wrt_moist_air_and_condensed_water + - total_water_flux_due_to_shallow_convection + - vertical_index_at_cloud_base_for_all_convection + - vertical_index_at_cloud_top_for_all_convection -------------------------- atmospheric_physics/schemes/sima_diagnostics/check_energy_diagnostics.meta + - ccpp_error_code + - ccpp_error_message - cumulative_total_energy_boundary_flux_using_physics_energy_formula - cumulative_total_water_boundary_flux - ratio_of_specific_heat_of_air_used_in_physics_energy_formula_to_specific_heat_of_air_used_in_dycore_energy_formula @@ -46,20 +113,72 @@ atmospheric_physics/schemes/sima_diagnostics/sima_state_diagnostics.meta - air_pressure_at_interface - air_pressure_of_dry_air_at_interface + - ccpp_constituent_properties + - ccpp_constituents + - ccpp_error_code + - ccpp_error_message + - geopotential_height_wrt_surface_at_interface - ln_air_pressure_at_interface - ln_air_pressure_of_dry_air_at_interface - surface_air_pressure -------------------------- +atmospheric_physics/schemes/sima_diagnostics/rk_stratiform_diagnostics.meta + + - accretion_of_cloud_ice_by_snow + - accretion_of_cloud_liquid_water_by_rain + - accretion_of_cloud_liquid_water_by_snow + - ccpp_error_code + - ccpp_error_message + - cloud_area_fraction + - cloud_area_fraction_from_relative_humidity_method + - lwe_snow_precipitation_rate_at_surface_due_to_microphysics + - mass_fraction_of_ice_content_within_stratiform_cloud + - net_condensation_rate_due_to_microphysics + - precipitation_production_due_to_microphysics + - rate_of_condensation_minus_evaporation_for_cloud_ice_mixing_ratio_wrt_moist_air_and_condensed_water + - rate_of_condensation_minus_evaporation_for_cloud_liquid_water_mixing_ratio_wrt_moist_air_and_condensed_water + - rate_of_evaporation_of_falling_snow_due_to_microphysics + - rate_of_evaporation_of_precipitation_due_to_microphysics + - relative_importance_of_cloud_ice_autoconversion + - relative_importance_of_cloud_liquid_water_autoconversion + - relative_importance_of_rain_accreting_cloud_liquid_water + - relative_importance_of_snow_accreting_cloud_ice + - relative_importance_of_snow_accreting_cloud_liquid_water + - stratiform_rain_and_snow_flux_at_interface + - stratiform_snow_flux_at_interface + - tendency_of_cloud_ice_mixing_ratio_wrt_moist_air_and_condensed_water + - tendency_of_cloud_ice_mixing_ratio_wrt_to_moist_air_and_condensed_water_due_to_ice_to_snow_autoconversion + - tendency_of_cloud_liquid_water_mixing_ratio_wrt_moist_air_and_condensed_water + - tendency_of_cloud_liquid_water_mixing_ratio_wrt_to_moist_air_and_condensed_water_due_to_liquid_to_rain_autoconversion + - tendency_of_dry_air_enthalpy_at_constant_pressure_due_to_cloud_ice_and_cloud_liquid_repartitioning + - tendency_of_dry_air_enthalpy_at_constant_pressure_due_to_condensation_minus_evaporation + - tendency_of_dry_air_enthalpy_at_constant_pressure_due_to_evaporation_of_precipitation + - tendency_of_dry_air_enthalpy_at_constant_pressure_due_to_freezing_of_precipitation + - tendency_of_dry_air_enthalpy_at_constant_pressure_due_to_snow_melt + +-------------------------- + +atmospheric_physics/schemes/sima_diagnostics/rayleigh_friction_diagnostics.meta + + - ccpp_error_code + - ccpp_error_message + +-------------------------- + atmospheric_physics/schemes/sima_diagnostics/zm_convr_tendency_diagnostics.meta + - ccpp_error_code + - ccpp_error_message - tendency_of_water_vapor_mixing_ratio_wrt_moist_air_and_condensed_water -------------------------- atmospheric_physics/schemes/sima_diagnostics/check_energy_fix_diagnostics.meta + - ccpp_error_code + - ccpp_error_message - net_sensible_heat_flux_through_top_and_bottom_of_atmosphere_column - vertically_integrated_total_energy_using_dycore_energy_formula - vertically_integrated_total_energy_using_dycore_energy_formula_at_end_of_physics_timestep @@ -67,8 +186,17 @@ atmospheric_physics/schemes/sima_diagnostics/check_energy_fix_diagnostics.meta -------------------------- +atmospheric_physics/schemes/sima_diagnostics/kessler_diagnostics.meta + + - ccpp_error_code + - ccpp_error_message + +-------------------------- + atmospheric_physics/schemes/sima_diagnostics/tropopause_diagnostics.meta + - ccpp_error_code + - ccpp_error_message - tropopause_air_pressure - tropopause_air_pressure_from_climatological_method - tropopause_air_pressure_from_cold_point_method @@ -95,12 +223,29 @@ atmospheric_physics/schemes/sima_diagnostics/tropopause_diagnostics.meta -------------------------- +atmospheric_physics/schemes/sima_diagnostics/compute_cloud_fraction_diagnostics.meta + + - ccpp_error_code + - ccpp_error_message + - stratiform_cloud_area_fraction + +-------------------------- + +atmospheric_physics/schemes/sima_diagnostics/zm_momtran_tendency_diagnostics.meta + + - ccpp_error_code + - ccpp_error_message + +-------------------------- + atmospheric_physics/schemes/sima_diagnostics/zm_diagnostics.meta - atmosphere_convective_mass_flux_due_to_deep_convection - atmosphere_downdraft_convective_mass_flux_for_deep_convection_for_convective_columns - atmosphere_updraft_convective_mass_flux_for_deep_convection_for_convective_columns - - detrainment_of_cloud_liquid_due_to_deep_convection + - ccpp_error_code + - ccpp_error_message + - detrainment_of_cloud_liquid_water_wrt_moist_air_and_condensed_water_due_to_deep_convection - frozen_precipitation_flux_at_interface_due_to_deep_convection - horizontal_index_of_convective_columns_for_deep_convection_for_convective_columns - in_cloud_eastward_wind_in_downdraft_due_to_deep_convection @@ -124,9 +269,12 @@ atmospheric_physics/schemes/sima_diagnostics/zm_diagnostics.meta atmospheric_physics/schemes/tj2016/tj2016_precip.meta + - ccpp_error_code + - ccpp_error_message - gas_constant_of_water_vapor - lwe_large_scale_precipitation_rate_at_surface - ratio_of_water_vapor_to_dry_air_molecular_weights + - scheme_name - sum_of_sigma_pressure_hybrid_coordinate_a_coefficient_and_sigma_pressure_hybrid_coordinate_b_coefficient -------------------------- @@ -134,12 +282,15 @@ atmospheric_physics/schemes/tj2016/tj2016_precip.meta atmospheric_physics/schemes/tj2016/tj2016_sfc_pbl_hs.meta - air_pressure_at_interface + - ccpp_error_code + - ccpp_error_message - eddy_heat_diffusivity - eddy_momentum_diffusivity - gas_constant_of_water_vapor - ln_air_pressure_at_interface - pi_constant - ratio_of_water_vapor_to_dry_air_molecular_weights + - scheme_name - sum_of_sigma_pressure_hybrid_coordinate_a_coefficient_and_sigma_pressure_hybrid_coordinate_b_coefficient - surface_air_pressure - surface_eastward_wind_stress @@ -152,12 +303,176 @@ atmospheric_physics/schemes/tj2016/tj2016_sfc_pbl_hs.meta -------------------------- +atmospheric_physics/schemes/cloud_fraction/convective_cloud_cover.meta + + - atmosphere_convective_mass_flux_due_to_all_convection + - atmosphere_convective_mass_flux_due_to_shallow_convection + - ccpp_error_code + - ccpp_error_message + - deep_convective_cloud_area_fraction + - flag_for_cloud_area_fraction_to_use_shallow_convection_calculated_cloud_area_fraction + - shallow_convective_cloud_area_fraction + - shallow_convective_cloud_area_fraction_from_shallow_convection + - tunable_parameter_for_deep_convection_1_for_cloud_fraction + - tunable_parameter_for_deep_convection_2_for_cloud_fraction + - tunable_parameter_for_shallow_convection_1_for_cloud_fraction + - tunable_parameter_for_shallow_convection_2_for_cloud_fraction + - vertical_layer_index_of_cloud_fraction_top + +-------------------------- + +atmospheric_physics/schemes/cloud_fraction/compute_cloud_fraction.meta + + - ccpp_error_code + - ccpp_error_message + - cloud_area_fraction + - cloud_area_fraction_from_relative_humidity_method + - control_for_ice_cloud_fraction + - deep_convective_cloud_area_fraction + - do_ice_cloud_fraction_for_cloud_fraction + - do_no_stratification_based_cloud_fraction + - do_relative_humidity_perturbation_for_cloud_fraction + - do_vavrus_freeze_dry_adjustment_for_cloud_fraction + - freezing_point_of_water + - lwe_surface_snow_depth_over_land + - ocean_area_fraction + - ratio_of_dry_air_gas_constant_to_specific_heat_of_dry_air_at_constant_pressure + - reference_temperature_lapse_rate + - relative_humidity_threshold_for_cloud_formation + - shallow_convective_cloud_area_fraction + - stratiform_cloud_area_fraction + - stratiform_cloud_ice_area_fraction + - stratiform_cloud_liquid_area_fraction + - surface_air_pressure + - tunable_parameter_for_adjustment_to_minimum_relative_humidity_for_low_stable_clouds_for_land_without_snow_cover_for_cloud_fraction + - tunable_parameter_for_bottom_pressure_bound_for_mid_level_liquid_stratus_for_cloud_fraction + - tunable_parameter_for_critical_relative_humidity_for_ice_clouds_for_cloud_fraction_using_wilson_and_ballard_scheme + - tunable_parameter_for_minimum_relative_humidity_for_high_stable_clouds_for_cloud_fraction + - tunable_parameter_for_minimum_relative_humidity_for_low_stable_clouds_for_cloud_fraction + - tunable_parameter_for_top_pressure_bound_for_mid_level_clouds_for_cloud_fraction + - vertical_layer_index_of_cloud_fraction_top + +-------------------------- + atmospheric_physics/schemes/cloud_fraction/cloud_fraction_fice.meta + - ccpp_error_code + - ccpp_error_message - freezing_point_of_water - mass_fraction_of_ice_content_within_stratiform_cloud - mass_fraction_of_snow_content_within_stratiform_cloud - - vertical_layer_index_of_troposphere_cloud_top + - vertical_layer_index_of_cloud_fraction_top + +-------------------------- + +atmospheric_physics/schemes/cloud_fraction/set_cloud_fraction_top.meta + + - ccpp_error_code + - ccpp_error_message + - vertical_layer_index_of_cloud_fraction_top + - vertical_layer_index_of_troposphere_cloud_physics_top + +-------------------------- + +atmospheric_physics/schemes/hack_shallow/convect_shallow_sum_to_deep.meta + + - atmosphere_convective_mass_flux_due_to_all_convection + - atmosphere_convective_mass_flux_due_to_deep_convection + - atmosphere_convective_mass_flux_due_to_shallow_convection + - ccpp_error_code + - ccpp_error_message + - detrainment_of_cloud_liquid_water_wrt_moist_air_and_condensed_water_due_to_all_convection + - detrainment_of_cloud_liquid_water_wrt_moist_air_and_condensed_water_due_to_deep_convection + - detrainment_of_cloud_liquid_water_wrt_moist_air_and_condensed_water_due_to_shallow_convection + - pressure_at_cloud_base_for_all_convection + - pressure_at_cloud_top_for_all_convection + - tendency_of_precipitation_wrt_moist_air_and_condensed_water_due_to_convection_excluding_subcloud_evaporation + - tendency_of_precipitation_wrt_moist_air_and_condensed_water_due_to_deep_convection_excluding_subcloud_evaporation + - tendency_of_precipitation_wrt_moist_air_and_condensed_water_due_to_shallow_convection_excluding_subcloud_evaporation + - vertical_index_at_cloud_base_for_all_convection + - vertical_index_at_cloud_base_for_shallow_convection + - vertical_index_at_cloud_top_for_all_convection + - vertical_index_at_cloud_top_for_shallow_convection + - vertical_index_at_top_of_deep_convection_for_convective_columns + - vertical_index_of_deep_convection_launch_level_for_convective_columns + - vertically_integrated_cloud_liquid_water_tendency_due_to_all_convection_to_be_applied_later_in_time_loop + - vertically_integrated_cloud_liquid_water_tendency_due_to_shallow_convection_to_be_applied_later_in_time_loop + +-------------------------- + +atmospheric_physics/schemes/hack_shallow/hack_convect_shallow.meta + + - atmosphere_convective_mass_flux_due_to_shallow_convection + - ccpp_constituent_properties + - ccpp_constituent_tendencies + - ccpp_constituents + - ccpp_error_code + - ccpp_error_message + - characteristic_adjustment_time_for_shallow_convection + - convective_water_vapor_wrt_moist_air_and_condensed_water_perturbation_due_to_pbl_eddies + - detrainment_of_cloud_liquid_water_wrt_moist_air_and_condensed_water_due_to_shallow_convection + - flag_for_cloud_area_fraction_to_use_shallow_convection_calculated_cloud_area_fraction + - in_cloud_water_vapor_mixing_ratio_wrt_moist_air_and_condensed_water_due_to_shallow_convection + - liquid_water_static_energy_flux_due_to_shallow_convection + - lwe_precipitation_rate_at_surface_due_to_shallow_convection + - net_liquid_and_lwe_ice_fluxes_through_top_and_bottom_of_atmosphere_column + - number_of_ccpp_constituents + - rain_water_autoconversion_coefficient_for_shallow_convection + - reference_pressure_at_interface + - scheme_name + - shallow_convective_cloud_area_fraction_from_shallow_convection + - tendency_of_precipitation_wrt_moist_air_and_condensed_water_due_to_shallow_convection_excluding_subcloud_evaporation + - total_water_flux_due_to_shallow_convection + - vertical_index_at_cloud_base_for_shallow_convection + - vertical_index_at_cloud_top_for_shallow_convection + - vertical_layer_index_of_cloud_fraction_top + - vertically_integrated_cloud_liquid_water_tendency_due_to_shallow_convection_to_be_applied_later_in_time_loop + +-------------------------- + +atmospheric_physics/schemes/hack_shallow/set_shallow_conv_fluxes_to_general.meta + + - lwe_precipitation_rate_at_surface_due_to_convection + - lwe_precipitation_rate_at_surface_due_to_shallow_convection + - tendency_of_precipitation_wrt_moist_air_and_condensed_water_due_to_convection_excluding_subcloud_evaporation + - tendency_of_precipitation_wrt_moist_air_and_condensed_water_due_to_shallow_convection_excluding_subcloud_evaporation + +-------------------------- + +atmospheric_physics/schemes/hack_shallow/set_general_conv_fluxes_to_shallow.meta + + - frozen_precipitation_flux_at_interface_due_to_convection + - frozen_precipitation_flux_at_interface_due_to_shallow_convection + - lwe_frozen_precipitation_rate_at_surface_due_to_convection + - lwe_frozen_precipitation_rate_at_surface_due_to_shallow_convection + - lwe_precipitation_rate_at_surface_due_to_convection + - lwe_precipitation_rate_at_surface_due_to_shallow_convection + - net_lwe_ice_fluxes_through_top_and_bottom_of_atmosphere_column + - precipitation_flux_at_interface_due_to_convection + - precipitation_flux_at_interface_due_to_shallow_convection + - tendency_of_dry_air_enthalpy_at_constant_pressure_due_to_evaporation_and_melting_of_frozen_precipitation_due_to_convection + - tendency_of_dry_air_enthalpy_at_constant_pressure_due_to_evaporation_and_melting_of_frozen_precipitation_due_to_shallow_convection + - tendency_of_dry_air_enthalpy_at_constant_pressure_due_to_frozen_precipitation_production_due_to_convection + - tendency_of_dry_air_enthalpy_at_constant_pressure_due_to_frozen_precipitation_production_due_to_shallow_convection + - tendency_of_frozen_precipitation_wrt_moist_air_and_condensed_water_due_to_convection + - tendency_of_frozen_precipitation_wrt_moist_air_and_condensed_water_due_to_shallow_convection + - tendency_of_precipitation_wrt_moist_air_and_condensed_water_due_to_convection + - tendency_of_precipitation_wrt_moist_air_and_condensed_water_due_to_shallow_convection + +-------------------------- + +atmospheric_physics/schemes/kessler/kessler_update.meta + + - ccpp_error_code + - ccpp_error_message + +-------------------------- + +atmospheric_physics/schemes/kessler/kessler.meta + + - ccpp_error_code + - ccpp_error_message + - scheme_name -------------------------- @@ -165,12 +480,42 @@ atmospheric_physics/schemes/dry_adiabatic_adjust/dadadj.meta - air_pressure_at_interface - binary_indicator_for_dry_adiabatic_adjusted_grid_cell + - ccpp_error_code + - ccpp_error_message - number_of_iterations_for_dry_adiabatic_adjustment_algorithm_convergence - number_of_vertical_levels_from_model_top_where_dry_adiabatic_adjustment_occurs + - scheme_name - tendency_of_water_vapor_mixing_ratio_wrt_moist_air_and_condensed_water -------------------------- +atmospheric_physics/schemes/thermo_water_update/thermo_water_update.meta + + - ccpp_constituents + - specific_heat_of_air_used_in_dycore + - total_energy_formula_for_dycore + +-------------------------- + +atmospheric_physics/schemes/zhang_mcfarlane/zm_conv_options.meta + + - cape_threshold_for_zhang_mcfarlane_deep_convection_scheme + - cloud_condensate_to_precipitation_autoconversion_coefficient_over_land_for_zhang_mcfarlane_deep_convection_scheme + - cloud_condensate_to_precipitation_autoconversion_coefficient_over_ocean_for_zhang_mcfarlane_deep_convection_scheme + - deep_convective_adjustment_timescale_for_zhang_mcfarlane_deep_convection_scheme + - entrainment_rate_for_cape_for_zhang_mcfarlane_deep_convection_scheme + - flag_for_no_deep_convection_in_pbl + - flag_for_well_mixed_pbl_parcel_property_for_zhang_mcfarlane_deep_convection_scheme + - fraction_of_pbl_depth_mixed_for_initial_zhang_mcfarlane_parcel_properties + - momentum_transport_parameter_for_vertical_pressure_gradient_force_for_downdraft_for_zhang_mcfarlane_deep_convection_scheme + - momentum_transport_parameter_for_vertical_pressure_gradient_force_for_updraft_for_zhang_mcfarlane_deep_convection_scheme + - number_of_negative_buoyancy_layers_allowed_before_convection_top_for_zhang_mcfarlane_deep_convection_scheme + - parcel_temperature_perturbation_for_zhang_mcfarlane_deep_convection_scheme + - tunable_evaporation_efficiency_over_land_for_zhang_mcfarlane_deep_convection_scheme + - tunable_evaporation_efficiency_over_ocean_for_zhang_mcfarlane_deep_convection_scheme + +-------------------------- + atmospheric_physics/schemes/zhang_mcfarlane/set_deep_conv_fluxes_to_general.meta - lwe_precipitation_rate_at_surface_due_to_convection @@ -187,6 +532,8 @@ atmospheric_physics/schemes/zhang_mcfarlane/zm_conv_momtran.meta - atmosphere_downdraft_entrainment_convective_mass_flux_for_deep_convection_for_convective_columns - atmosphere_updraft_convective_mass_flux_for_deep_convection_for_convective_columns - atmosphere_updraft_entrainment_convective_mass_flux_for_deep_convection_for_convective_columns + - ccpp_error_code + - ccpp_error_message - current_timestep_number - flag_for_momentum_transport_by_zhang_mcfarlane_deep_convection_scheme - horizontal_index_of_convective_columns_for_deep_convection_for_convective_columns @@ -200,6 +547,7 @@ atmospheric_physics/schemes/zhang_mcfarlane/zm_conv_momtran.meta - momentum_transport_parameter_for_vertical_pressure_gradient_force_for_updraft_for_zhang_mcfarlane_deep_convection_scheme - pressure_thickness_for_deep_convection_for_convective_columns - pressure_thickness_for_subcloud_layer_for_deep_convection_for_convective_columns + - scheme_name - tendency_of_eastward_wind_due_to_zhang_mcfarlane_deep_convective_downdraft_pressure_gradient_term - tendency_of_eastward_wind_due_to_zhang_mcfarlane_deep_convective_updraft_pressure_gradient_term - tendency_of_northward_wind_due_to_zhang_mcfarlane_deep_convective_downdraft_pressure_gradient_term @@ -211,6 +559,8 @@ atmospheric_physics/schemes/zhang_mcfarlane/zm_conv_momtran.meta atmospheric_physics/schemes/zhang_mcfarlane/zm_conv_evap.meta + - ccpp_error_code + - ccpp_error_message - cloud_area_fraction - freezing_point_of_water - frozen_precipitation_flux_at_interface_due_to_convection @@ -219,6 +569,7 @@ atmospheric_physics/schemes/zhang_mcfarlane/zm_conv_evap.meta - lwe_precipitation_rate_at_surface_due_to_convection - mass_fraction_of_snow_content_within_stratiform_cloud - precipitation_flux_at_interface_due_to_convection + - scheme_name - tendency_of_dry_air_enthalpy_at_constant_pressure_due_to_evaporation_and_melting_of_frozen_precipitation_due_to_convection - tendency_of_dry_air_enthalpy_at_constant_pressure_due_to_frozen_precipitation_production_due_to_convection - tendency_of_frozen_precipitation_wrt_moist_air_and_condensed_water_due_to_convection @@ -240,18 +591,22 @@ atmospheric_physics/schemes/zhang_mcfarlane/zm_convr.meta - atmosphere_updraft_convective_mass_flux_for_deep_convection_for_convective_columns - atmosphere_updraft_entrainment_convective_mass_flux_for_deep_convection_for_convective_columns - cape_threshold_for_zhang_mcfarlane_deep_convection_scheme + - ccpp_error_code + - ccpp_error_message - cloud_condensate_to_precipitation_autoconversion_coefficient_over_land_for_zhang_mcfarlane_deep_convection_scheme - cloud_condensate_to_precipitation_autoconversion_coefficient_over_ocean_for_zhang_mcfarlane_deep_convection_scheme - convective_temperature_perturbation_due_to_pbl_eddies - deep_convective_adjustment_timescale_for_zhang_mcfarlane_deep_convection_scheme - detrainment_mass_flux_due_to_deep_convection - - detrainment_of_cloud_ice_due_to_deep_convection - - detrainment_of_cloud_liquid_due_to_deep_convection + - detrainment_of_cloud_ice_wrt_moist_air_and_condensed_water_due_to_deep_convection + - detrainment_of_cloud_liquid_water_wrt_moist_air_and_condensed_water_due_to_deep_convection - entrainment_rate_for_cape_for_zhang_mcfarlane_deep_convection_scheme - flag_for_no_deep_convection_in_pbl - flag_for_well_mixed_pbl_parcel_property_for_zhang_mcfarlane_deep_convection_scheme + - fraction_of_pbl_depth_mixed_for_initial_zhang_mcfarlane_parcel_properties - freezing_point_of_water - gas_constant_of_water_vapor + - geopotential_height_wrt_surface_at_interface - horizontal_index_of_convective_columns_for_deep_convection_for_convective_columns - in_cloud_water_vapor_mixing_ratio_wrt_moist_air_and_condensed_water_due_to_deep_convection - index_of_last_column_of_gathered_deep_convection_arrays @@ -265,6 +620,7 @@ atmospheric_physics/schemes/zhang_mcfarlane/zm_convr.meta - pressure_thickness_for_subcloud_layer_for_deep_convection_for_convective_columns - ratio_of_water_vapor_to_dry_air_molecular_weights - reference_pressure_at_interface + - scheme_name - specific_heat_of_liquid_water_at_constant_pressure - specific_heat_of_water_vapor_at_constant_pressure - tendency_of_precipitation_wrt_moist_air_and_condensed_water_due_to_deep_convection_excluding_subcloud_evaporation @@ -275,7 +631,7 @@ atmospheric_physics/schemes/zhang_mcfarlane/zm_convr.meta - vertical_index_at_top_of_deep_convection_for_convective_columns - vertical_index_of_deep_convection_launch_level_for_convective_columns - vertically_integrated_cloud_ice_tendency_due_to_all_convection_to_be_applied_later_in_time_loop - - vertically_integrated_cloud_liquid_tendency_due_to_all_convection_to_be_applied_later_in_time_loop + - vertically_integrated_cloud_liquid_water_tendency_due_to_all_convection_to_be_applied_later_in_time_loop - zhang_mcfarlane_convective_available_potential_energy -------------------------- @@ -308,44 +664,246 @@ atmospheric_physics/schemes/zhang_mcfarlane/zm_conv_convtran.meta - atmosphere_downdraft_entrainment_convective_mass_flux_for_deep_convection_for_convective_columns - atmosphere_updraft_convective_mass_flux_for_deep_convection_for_convective_columns - atmosphere_updraft_entrainment_convective_mass_flux_for_deep_convection_for_convective_columns + - ccpp_constituent_properties - ccpp_constituent_tendencies + - ccpp_constituents + - ccpp_error_code + - ccpp_error_message - current_timestep_number - flag_for_tracer_transport_by_zhang_mcfarlane_deep_scheme - fraction_of_water_insoluble_convectively_transported_species - horizontal_index_of_convective_columns_for_deep_convection_for_convective_columns - index_of_first_column_of_gathered_deep_convection_arrays - index_of_last_column_of_gathered_deep_convection_arrays + - number_of_ccpp_constituents - pressure_thickness_for_deep_convection_for_convective_columns - pressure_thickness_for_subcloud_layer_for_deep_convection_for_convective_columns + - scheme_name - vertical_index_at_top_of_deep_convection_for_convective_columns - vertical_index_of_deep_convection_launch_level_for_convective_columns -------------------------- +atmospheric_physics/schemes/utilities/to_be_ccppized_temporary.meta + + - ccpp_error_code + - ccpp_error_message + +-------------------------- + atmospheric_physics/schemes/utilities/geopotential_temp.meta - air_pressure_at_interface + - ccpp_constituent_properties + - ccpp_constituents + - ccpp_error_code + - ccpp_error_message + - geopotential_height_wrt_surface_at_interface - ln_air_pressure_at_interface + - number_of_ccpp_constituents + +-------------------------- + +atmospheric_physics/schemes/utilities/state_converters.meta + + - ccpp_error_code + - ccpp_error_message + +-------------------------- + +atmospheric_physics/schemes/utilities/qneg.meta + + - ccpp_constituent_minimum_values + - ccpp_constituent_properties + - ccpp_constituents + - ccpp_error_code + - ccpp_error_message + - number_of_ccpp_constituents + - scheme_name -------------------------- atmospheric_physics/schemes/utilities/physics_tendency_updaters.meta - ccpp_constituent_tendencies + - ccpp_constituents + - ccpp_error_code + - ccpp_error_message + +-------------------------- + +atmospheric_physics/schemes/utilities/static_energy.meta + + - ccpp_error_code + - ccpp_error_message -------------------------- -atmospheric_physics/schemes/check_energy/check_energy_save_teout.meta +atmospheric_physics/schemes/rasch_kristjansson/rk_stratiform.meta + - ccpp_error_code + - ccpp_error_message + - cloud_area_fraction + - cloud_water_mixing_ratio_wrt_moist_air_and_condensed_water_on_previous_timestep + - deep_convective_cloud_area_fraction + - detrainment_of_cloud_liquid_water_wrt_moist_air_and_condensed_water_due_to_all_convection + - freezing_point_of_water + - latent_heat_of_fusion_of_water_at_0c + - lwe_large_scale_precipitation_rate_at_surface + - lwe_snow_and_cloud_ice_precipitation_rate_at_surface_due_to_microphysics + - lwe_snow_precipitation_rate_at_surface_due_to_microphysics + - lwe_stratiform_precipitation_rate_at_surface + - lwe_surface_snow_depth_over_land + - mass_fraction_of_ice_content_within_stratiform_cloud + - net_condensation_rate_due_to_microphysics + - ocean_area_fraction + - rate_of_condensation_minus_evaporation_for_cloud_ice_mixing_ratio_wrt_moist_air_and_condensed_water + - rate_of_condensation_minus_evaporation_for_cloud_liquid_water_mixing_ratio_wrt_moist_air_and_condensed_water + - rate_of_evaporation_of_precipitation_due_to_microphysics + - ratio_of_dry_air_gas_constant_to_specific_heat_of_dry_air_at_constant_pressure + - reference_temperature_lapse_rate + - relative_humidity_divided_by_cloud_area_fraction_perturbation + - relative_humidity_threshold_for_cloud_formation + - sea_ice_area_fraction + - shallow_convective_cloud_area_fraction + - smoothed_land_area_fraction + - stratiform_cloud_water_surface_flux_due_to_sedimentation + - stratiform_lwe_cloud_ice_surface_flux_due_to_sedimentation + - stratiform_rain_flux_at_surface_due_to_sedimentation + - surface_air_pressure + - tendency_of_air_temperature_not_due_to_microphysics + - tendency_of_cloud_ice_mixing_ratio_wrt_moist_air_and_condensed_water + - tendency_of_cloud_ice_mixing_ratio_wrt_to_moist_air_and_condensed_water_due_to_ice_to_snow_autoconversion + - tendency_of_cloud_liquid_water_mixing_ratio_wrt_moist_air_and_condensed_water + - tendency_of_cloud_liquid_water_mixing_ratio_wrt_to_moist_air_and_condensed_water_due_to_liquid_to_rain_autoconversion + - tendency_of_cloud_water_mixing_ratio_wrt_moist_air_and_condensed_water_not_due_to_microphysics + - tendency_of_dry_air_enthalpy_at_constant_pressure_due_to_cloud_ice_and_cloud_liquid_repartitioning + - tendency_of_dry_air_enthalpy_at_constant_pressure_due_to_condensation_minus_evaporation + - tendency_of_dry_air_enthalpy_at_constant_pressure_due_to_evaporation_of_precipitation + - tendency_of_dry_air_enthalpy_at_constant_pressure_due_to_freezing_of_precipitation + - tendency_of_dry_air_enthalpy_at_constant_pressure_due_to_snow_melt + - tendency_of_water_vapor_mixing_ratio_wrt_moist_air_and_condensed_water + - tendency_of_water_vapor_mixing_ratio_wrt_moist_air_and_condensed_water_not_due_to_microphysics + - vertical_layer_index_of_cloud_fraction_top + - vertically_integrated_cloud_liquid_water_tendency_due_to_all_convection_to_be_applied_later_in_time_loop + - water_vapor_mixing_ratio_wrt_moist_air_and_condensed_water_on_previous_timestep + +-------------------------- + +atmospheric_physics/schemes/rasch_kristjansson/cloud_particle_sedimentation.meta + + - air_pressure_at_interface + - ccpp_error_code + - ccpp_error_message + - cloud_area_fraction + - freezing_point_of_water + - latent_heat_of_fusion_of_water_at_0c + - lwe_surface_snow_depth_over_land + - magnitude_of_vertical_pressure_velocity_of_cloud_ice_due_to_sedimentation + - magnitude_of_vertical_pressure_velocity_of_cloud_liquid_water_due_to_sedimentation + - ocean_area_fraction + - sea_ice_area_fraction + - smoothed_land_area_fraction + - stratiform_lwe_cloud_ice_surface_flux_due_to_sedimentation + - stratiform_rain_flux_at_surface_due_to_sedimentation + - tendency_of_cloud_ice_mixing_ratio_wrt_moist_air_and_condensed_water + - tendency_of_cloud_liquid_water_mixing_ratio_wrt_moist_air_and_condensed_water + - tendency_of_water_vapor_mixing_ratio_wrt_moist_air_and_condensed_water + - tunable_parameter_for_autoconversion_of_cold_ice_for_rk_microphysics + - tunable_parameter_for_ice_fall_velocity_for_rk_microphysics + +-------------------------- + +atmospheric_physics/schemes/rasch_kristjansson/prognostic_cloud_water.meta + + - accretion_of_cloud_ice_by_snow + - accretion_of_cloud_liquid_water_by_rain + - accretion_of_cloud_liquid_water_by_snow + - ccpp_error_code + - ccpp_error_message + - cloud_area_fraction + - density_of_dry_air_at_stp + - flag_for_relative_humidity_threshold_for_cloud_formation_in_polar_stratosphere_for_rk_microphysics + - freezing_point_of_water + - gas_constant_of_water_vapor + - geopotential_height_wrt_surface_at_interface + - latent_heat_of_fusion_of_water_at_0c + - latitude_degrees_north + - lwe_snow_precipitation_rate_at_surface_due_to_microphysics + - lwe_stratiform_precipitation_rate_at_surface + - lwe_surface_snow_depth_over_land + - mass_fraction_of_ice_content_within_stratiform_cloud + - mass_fraction_of_snow_content_within_stratiform_cloud + - net_condensation_rate_due_to_microphysics + - pi_constant + - precipitation_production_due_to_microphysics + - rate_of_evaporation_of_falling_snow_due_to_microphysics + - rate_of_evaporation_of_precipitation_due_to_microphysics + - ratio_of_water_vapor_to_dry_air_molecular_weights + - relative_humidity_divided_by_cloud_area_fraction_perturbation + - relative_humidity_threshold_for_cloud_formation + - relative_humidity_threshold_for_cloud_formation_in_polar_stratosphere_for_rk_microphysics + - relative_importance_of_cloud_ice_autoconversion + - relative_importance_of_cloud_liquid_water_autoconversion + - relative_importance_of_rain_accreting_cloud_liquid_water + - relative_importance_of_snow_accreting_cloud_ice + - relative_importance_of_snow_accreting_cloud_liquid_water + - sea_ice_area_fraction + - smoothed_land_area_fraction + - snow_production_due_to_microphysics + - stratiform_rain_and_snow_flux_at_interface + - stratiform_snow_flux_at_interface + - tendency_of_air_temperature_not_due_to_microphysics + - tendency_of_cloud_ice_mixing_ratio_wrt_to_moist_air_and_condensed_water_due_to_ice_to_snow_autoconversion + - tendency_of_cloud_liquid_water_mixing_ratio_wrt_to_moist_air_and_condensed_water_due_to_liquid_to_rain_autoconversion + - tendency_of_cloud_liquid_water_mixing_ratio_wrt_to_moist_air_and_condensed_water_due_to_liquid_to_snow_autoconversion + - tendency_of_cloud_water_mixing_ratio_wrt_moist_air_and_condensed_water_not_due_to_microphysics + - tendency_of_dry_air_enthalpy_at_constant_pressure_due_to_evaporation_of_precipitation + - tendency_of_dry_air_enthalpy_at_constant_pressure_due_to_freezing_of_precipitation + - tendency_of_dry_air_enthalpy_at_constant_pressure_due_to_snow_melt + - tendency_of_water_vapor_mixing_ratio_wrt_moist_air_and_condensed_water_not_due_to_microphysics + - tropopause_vertical_layer_index + - tunable_parameter_for_autoconversion_of_cold_ice_for_rk_microphysics + - tunable_parameter_for_autoconversion_of_warm_ice_for_rk_microphysics + - tunable_parameter_for_cloud_water_autoconversion_for_rk_microphysics + - tunable_parameter_for_precipitation_evaporation_for_rk_microphysics + - vertical_layer_index_of_troposphere_cloud_physics_top + +-------------------------- + +atmospheric_physics/schemes/conservation_adjust/dme_adjust/dme_adjust.meta + + - air_pressure_at_interface + - ccpp_constituent_properties + - ccpp_constituents + - ccpp_error_code + - ccpp_error_message + - is_moist_basis_dycore + - ln_air_pressure_at_interface + - number_of_ccpp_constituents + - surface_air_pressure + - total_ice_water_mixing_ratio_wrt_moist_air_and_condensed_water_before_physics + - total_liquid_water_mixing_ratio_wrt_moist_air_and_condensed_water_before_physics + - water_vapor_mixing_ratio_wrt_moist_air_and_condensed_water_before_physics + +-------------------------- + +atmospheric_physics/schemes/conservation_adjust/check_energy/check_energy_save_teout.meta + + - ccpp_error_code + - ccpp_error_message - vertically_integrated_total_energy_using_dycore_energy_formula - vertically_integrated_total_energy_using_dycore_energy_formula_at_end_of_physics_timestep -------------------------- -atmospheric_physics/schemes/check_energy/check_energy_chng.meta +atmospheric_physics/schemes/conservation_adjust/check_energy/check_energy_chng.meta - air_pressure_of_dry_air_at_interface - air_temperature_at_start_of_physics_timestep + - ccpp_constituents + - ccpp_error_code + - ccpp_error_message - cumulative_total_energy_boundary_flux_using_physics_energy_formula - cumulative_total_water_boundary_flux - flag_for_energy_conservation_warning @@ -356,7 +914,9 @@ atmospheric_physics/schemes/check_energy/check_energy_chng.meta - net_sensible_heat_flux_through_top_and_bottom_of_atmosphere_column - net_water_vapor_fluxes_through_top_and_bottom_of_atmosphere_column - number_of_atmosphere_columns_with_significant_energy_or_water_imbalances + - number_of_ccpp_constituents - ratio_of_specific_heat_of_air_used_in_physics_energy_formula_to_specific_heat_of_air_used_in_dycore_energy_formula + - scheme_name - specific_heat_of_air_used_in_dycore - total_energy_formula_for_dycore - total_energy_formula_for_physics @@ -370,40 +930,52 @@ atmospheric_physics/schemes/check_energy/check_energy_chng.meta -------------------------- -atmospheric_physics/schemes/check_energy/check_energy_zero_fluxes.meta +atmospheric_physics/schemes/conservation_adjust/check_energy/check_energy_zero_fluxes.meta + - ccpp_error_code + - ccpp_error_message - net_liquid_and_lwe_ice_fluxes_through_top_and_bottom_of_atmosphere_column - net_lwe_ice_fluxes_through_top_and_bottom_of_atmosphere_column - net_sensible_heat_flux_through_top_and_bottom_of_atmosphere_column - net_water_vapor_fluxes_through_top_and_bottom_of_atmosphere_column + - scheme_name -------------------------- -atmospheric_physics/schemes/check_energy/dycore_energy_consistency_adjust.meta +atmospheric_physics/schemes/conservation_adjust/check_energy/dycore_energy_consistency_adjust.meta + - ccpp_error_code + - ccpp_error_message - flag_for_dycore_energy_consistency_adjustment - ratio_of_specific_heat_of_air_used_in_physics_energy_formula_to_specific_heat_of_air_used_in_dycore_energy_formula -------------------------- -atmospheric_physics/schemes/check_energy/check_energy_scaling.meta +atmospheric_physics/schemes/conservation_adjust/check_energy/check_energy_scaling.meta + - ccpp_error_code + - ccpp_error_message - ratio_of_specific_heat_of_air_used_in_physics_energy_formula_to_specific_heat_of_air_used_in_dycore_energy_formula - specific_heat_of_air_used_in_dycore -------------------------- -atmospheric_physics/schemes/check_energy/check_energy_fix.meta +atmospheric_physics/schemes/conservation_adjust/check_energy/check_energy_fix.meta - air_pressure_at_interface + - ccpp_error_code + - ccpp_error_message - global_mean_heating_rate_correction_for_energy_conservation - net_sensible_heat_flux_through_top_and_bottom_of_atmosphere_column + - scheme_name -------------------------- -atmospheric_physics/schemes/check_energy/check_energy_gmean/check_energy_gmean.meta +atmospheric_physics/schemes/conservation_adjust/check_energy/check_energy_gmean/check_energy_gmean.meta - air_pressure_at_interface + - ccpp_error_code + - ccpp_error_message - global_mean_air_pressure_at_top_of_atmosphere_model - global_mean_heating_rate_correction_for_energy_conservation - global_mean_surface_air_pressure @@ -418,10 +990,14 @@ atmospheric_physics/schemes/check_energy/check_energy_gmean/check_energy_gmean.m atmospheric_physics/schemes/tropopause_find/tropopause_find.meta - air_pressure_at_interface + - ccpp_error_code + - ccpp_error_message - fill_value_for_diagnostic_output - fractional_calendar_days_on_end_of_current_timestep + - geopotential_height_wrt_surface_at_interface - pi_constant - ratio_of_dry_air_gas_constant_to_specific_heat_of_dry_air_at_constant_pressure + - scheme_name - tropopause_air_pressure - tropopause_air_pressure_from_chemical_method - tropopause_air_pressure_from_climatological_method @@ -454,21 +1030,54 @@ atmospheric_physics/schemes/tropopause_find/tropopause_find.meta -------------------------- +atmospheric_physics/schemes/held_suarez/held_suarez_1994.meta + + - ccpp_error_code + - ccpp_error_message + - scheme_name + +-------------------------- + +atmospheric_physics/schemes/rayleigh_friction/rayleigh_friction.meta + + - ccpp_error_code + - ccpp_error_message + - center_vertical_layer_for_rayleigh_friction + - model_top_decay_time_for_rayleigh_friction + - number_of_vertical_layers_for_rayleigh_friction + +-------------------------- + atmospheric_physics/schemes/musica/musica_ccpp.meta - blackbody_temperature_at_surface + - ccpp_constituent_properties + - ccpp_constituents + - ccpp_error_code + - ccpp_error_message - cloud_area_fraction - dynamic_constituents_for_musica_ccpp - earth_sun_distance - extraterrestrial_radiation_flux + - geopotential_height_wrt_surface_at_interface - photolysis_wavelength_grid_interfaces - solar_zenith_angle - surface_albedo_due_to_UV_and_VIS_direct -------------------------- +atmospheric_physics/test/test_schemes/file_io_test.meta + + - ccpp_error_code + - ccpp_error_message + - filename_of_rrtmgp_shortwave_coefficients + +-------------------------- + atmospheric_physics/test/test_schemes/initialize_constituents.meta + - ccpp_error_code + - ccpp_error_message - dynamic_constituents_for_initialize_constituents #######################