[ccpp-table-properties]
  name = zhaocarr_precpd
  type = scheme
  dependencies = funcphys.f90,machine.F,physcons.F90

########################################################################
[ccpp-arg-table]
  name = zhaocarr_precpd_init
  type = scheme
[imp_physics]
  standard_name = control_for_microphysics_scheme
  long_name = choice of microphysics scheme
  units = flag
  dimensions = ()
  type = integer
  intent = in
[imp_physics_zhao_carr]
  standard_name = identifier_for_zhao_carr_microphysics_scheme
  long_name = choice of Zhao-Carr microphysics scheme
  units = flag
  dimensions = ()
  type = integer
  intent = in
[imp_physics_zhao_carr_pdf]
  standard_name = identifier_for_zhao_carr_pdf_microphysics_scheme
  long_name = choice of Zhao-Carr microphysics scheme with PDF clouds
  units = flag
  dimensions = ()
  type = integer
  intent = in
[errmsg]
  standard_name = ccpp_error_message
  long_name = error message for error handling in CCPP
  units = none
  dimensions = ()
  type = character
  kind = len=*
  intent = out
[errflg]
  standard_name = ccpp_error_code
  long_name = error code for error handling in CCPP
  units = 1
  dimensions = ()
  type = integer
  intent = out

########################################################################
[ccpp-arg-table]
  name = zhaocarr_precpd_run
  type = scheme
[im]
  standard_name = horizontal_loop_extent
  long_name = horizontal loop extent
  units = count
  dimensions = ()
  type = integer
  intent = in
[km]
  standard_name = vertical_layer_dimension
  long_name = vertical layer dimension
  units = count
  dimensions = ()
  type = integer
  intent = in
[dt]
  standard_name = timestep_for_physics
  long_name = physics time step
  units = s
  dimensions = ()
  type = real
  kind = kind_phys
  intent = in
[del]
  standard_name = air_pressure_difference_between_midlayers
  long_name = pressure level thickness
  units = Pa
  dimensions = (horizontal_loop_extent,vertical_layer_dimension)
  type = real
  kind = kind_phys
  intent = in
[prsl]
  standard_name = air_pressure
  long_name = layer mean pressure
  units = Pa
  dimensions = (horizontal_loop_extent,vertical_layer_dimension)
  type = real
  kind = kind_phys
  intent = in
[q]
  standard_name = specific_humidity_of_new_state
  long_name = water vapor specific humidity
  units = kg kg-1
  dimensions = (horizontal_loop_extent,vertical_layer_dimension)
  type = real
  kind = kind_phys
  intent = inout
[cwm]
  standard_name = cloud_liquid_water_mixing_ratio_of_new_state
  long_name = moist cloud condensed water mixing ratio
  units = kg kg-1
  dimensions = (horizontal_loop_extent,vertical_layer_dimension)
  type = real
  kind = kind_phys
  intent = inout
[t]
  standard_name = air_temperature_of_new_state
  long_name = layer mean air temperature
  units = K
  dimensions = (horizontal_loop_extent,vertical_layer_dimension)
  type = real
  kind = kind_phys
  intent = inout
[rn]
  standard_name = lwe_thickness_of_explicit_precipitation_amount
  long_name = explicit precipitation amount on physics timestep
  units = m
  dimensions = (horizontal_loop_extent)
  type = real
  kind = kind_phys
  intent = out
[grav]
  standard_name = gravitational_acceleration
  long_name = gravitational acceleration
  units = m s-2
  dimensions = ()
  type = real
  kind = kind_phys
  intent = in
[hvap]
  standard_name = latent_heat_of_vaporization_of_water_at_0C
  long_name = latent heat of evaporation/sublimation
  units = J kg-1
  dimensions = ()
  type = real
  kind = kind_phys
  intent = in
[hfus]
  standard_name = latent_heat_of_fusion_of_water_at_0C
  long_name = latent heat of fusion
  units = J kg-1
  dimensions = ()
  type = real
  kind = kind_phys
  intent = in
[ttp]
  standard_name = triple_point_temperature_of_water
  long_name = triple point temperature of water
  units = K
  dimensions = ()
  type = real
  kind = kind_phys
  intent = in
[cp]
  standard_name = specific_heat_of_dry_air_at_constant_pressure
  long_name = specific heat of dry air at constant pressure
  units = J kg-1 K-1
  dimensions = ()
  type = real
  kind = kind_phys
  intent = in
[eps]
  standard_name = ratio_of_dry_air_to_water_vapor_gas_constants
  long_name = rd/rv
  units = none
  dimensions = ()
  type = real
  kind = kind_phys
  intent = in
[epsm1]
  standard_name = ratio_of_dry_air_to_water_vapor_gas_constants_minus_one
  long_name = (rd/rv) - 1
  units = none
  dimensions = ()
  type = real
  kind = kind_phys
  intent = in
[sr]
  standard_name = ratio_of_snowfall_to_rainfall
  long_name = ratio of snowfall to large-scale rainfall
  units = frac
  dimensions = (horizontal_loop_extent)
  type = real
  kind = kind_phys
  intent = out
[rainp]
  standard_name = tendency_of_rain_water_mixing_ratio_due_to_microphysics
  long_name = tendency of rain water mixing ratio due to microphysics
  units = kg kg-1 s-1
  dimensions = (horizontal_loop_extent,vertical_layer_dimension)
  type = real
  kind = kind_phys
  intent = out
[u00k]
  standard_name = critical_relative_humidity
  long_name = critical relative humidity
  units = frac
  dimensions = (horizontal_loop_extent,vertical_layer_dimension)
  type = real
  kind = kind_phys
  intent = in
[psautco]
  standard_name = autoconversion_to_snow_coefficient
  long_name = conversion coefficient from cloud ice to snow
  units = none
  dimensions = (2)
  type = real
  kind = kind_phys
  intent = in
[prautco]
  standard_name = autoconversion_to_rain_coefficient
  long_name = conversion coefficient from cloud water to rain
  units = none
  dimensions = (2)
  type = real
  kind = kind_phys
  intent = in
[evpco]
  standard_name = precipitation_evaporation_coefficient
  long_name = coefficient for evaporation of rainfall
  units = none
  dimensions = ()
  type = real
  kind = kind_phys
  intent = in
[wminco]
  standard_name = cloud_condensate_autoconversion_threshold_coefficient
  long_name = conversion coefficient from cloud liquid and ice to precipitation
  units = none
  dimensions = (2)
  type = real
  kind = kind_phys
  intent = in
[wk1]
  standard_name = grid_size_related_coefficient_used_in_scale_sensitive_schemes
  long_name = grid size related coefficient used in scale-sensitive schemes
  units = none
  dimensions = (horizontal_loop_extent)
  type = real
  kind = kind_phys
  intent = in
[lprnt]
  standard_name = flag_print
  long_name = flag for printing diagnostics to output
  units = flag
  dimensions = ()
  type = logical
  intent = in
[jpr]
  standard_name = horizontal_index_of_printed_column
  long_name = horizontal index of printed column
  units = index
  dimensions = ()
  type = integer
  intent = in
[errmsg]
  standard_name = ccpp_error_message
  long_name = error message for error handling in CCPP
  units = none
  dimensions = ()
  type = character
  kind = len=*
  intent = out
[errflg]
  standard_name = ccpp_error_code
  long_name = error code for error handling in CCPP
  units = 1
  dimensions = ()
  type = integer
  intent = out