CCPP SciDoc  v6.0.0
Common Community Physics Package Developed at DTC

◆ mp_nssl_run()

subroutine, public mp_nssl::mp_nssl_run ( integer, intent(in)  ncol,
integer, intent(in)  nlev,
real(kind_phys), intent(in)  con_g,
real(kind_phys), intent(in)  con_rd,
integer, intent(in)  mpirank,
real(kind_phys), dimension(:,:), intent(inout)  spechum,
real(kind_phys), dimension(:,:), intent(inout)  cccn,
real(kind_phys), dimension(:,:), intent(inout)  cccna,
real(kind_phys), dimension (:,:), intent(inout)  qc,
real(kind_phys), dimension (:,:), intent(inout)  qr,
real(kind_phys), dimension (:,:), intent(inout)  qi,
real(kind_phys), dimension (:,:), intent(inout)  qs,
real(kind_phys), dimension (:,:), intent(inout)  qh,
real(kind_phys), dimension(:,:), intent(inout)  qhl,
real(kind_phys), dimension(:,:), intent(inout)  ccw,
real(kind_phys), dimension(:,:), intent(inout)  crw,
real(kind_phys), dimension(:,:), intent(inout)  cci,
real(kind_phys), dimension(:,:), intent(inout)  csw,
real(kind_phys), dimension(:,:), intent(inout)  chw,
real(kind_phys), dimension(:,:), intent(inout)  chl,
real(kind_phys), dimension (:,:), intent(inout)  vh,
real(kind_phys), dimension(:,:), intent(inout)  vhl,
real(kind_phys), dimension (:,:), intent(inout)  tgrs,
real(kind_phys), dimension(:,:), intent(in)  prslk,
real(kind_phys), dimension (:,:), intent(in)  prsl,
real(kind_phys), dimension (:,:), intent(in)  phii,
real(kind_phys), dimension(:,:), intent(in)  omega,
real(kind_phys), intent(in)  dtp,
real(kind_phys), dimension (:), intent(out)  prcp,
real(kind_phys), dimension (:), intent(out)  rain,
real(kind_phys), dimension(:), intent(out)  graupel,
real(kind_phys), dimension (:), intent(out)  ice,
real(kind_phys), dimension (:), intent(out)  snow,
real(kind_phys), dimension (:), intent(out)  sr,
real(kind_phys), dimension(:,:), intent(inout)  refl_10cm,
logical, intent(in)  do_radar_ref,
logical, intent(in)  first_time_step,
logical, intent(in)  restart,
real(kind_phys), dimension(:,:), intent(inout)  re_cloud,
real(kind_phys), dimension(:,:), intent(inout)  re_ice,
real(kind_phys), dimension(:,:), intent(inout)  re_snow,
real(kind_phys), dimension(:,:), intent(inout)  re_rain,
integer, intent(in)  nleffr,
integer, intent(in)  nieffr,
integer, intent(in)  nseffr,
integer, intent(in)  nreffr,
integer, intent(in)  imp_physics,
logical, intent(in)  convert_dry_rho,
integer, intent(in)  imp_physics_nssl,
logical, intent(in)  nssl_ccn_on,
logical, intent(in)  nssl_hail_on,
logical, intent(in)  nssl_invertccn,
integer, intent(in)  ntccn,
integer, intent(in)  ntccna,
integer, intent(out)  errflg,
character(len=*), intent(out)  errmsg 
)

NSSL MP General Algorithm: interface to driver

Argument Table

mp_nssl_run argument table
local_namestandard_namelong_nameunitstypedimensionskindintent
ncolhorizontal_loop_extenthorizontal loop extentcountinteger()in
nlevvertical_layer_dimensionnumber of vertical levelscountinteger()in
con_ggravitational_accelerationgravitational accelerationm s-2real()kind_physin
con_rdgas_constant_of_dry_airideal gas constant for dry airJ kg-1 K-1real()kind_physin
mpirankmpi_rankcurrent MPI-rankindexinteger()in
spechumspecific_humidity_of_new_statewater vapor specific humiditykg kg-1real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physinout
qccloud_liquid_water_mixing_ratio_of_new_statecloud water mixing ratio wrt dry+vapor (no condensates)kg kg-1real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physinout
qrrain_mixing_ratio_of_new_staterain water mixing ratio wrt dry+vapor (no condensates)kg kg-1real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physinout
qicloud_ice_mixing_ratio_of_new_stateice water mixing ratio wrt dry+vapor (no condensates)kg kg-1real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physinout
qssnow_mixing_ratio_of_new_statesnow water mixing ratio wrt dry+vapor (no condensates)kg kg-1real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physinout
qhgraupel_mixing_ratio_of_new_stategraupel mixing ratio wrt dry+vapor (no condensates)kg kg-1real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physinout
qhlhail_mixing_ratio_of_new_statemoist (dry+vapor, no condensates) mixing ratio of hail updated by physicskg kg-1real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physinout
cccncloud_condensation_nuclei_number_concentration_of_new_statenumber concentration of cloud condensation nuclei updated by physicskg-1real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physinout
cccnaactivated_cloud_condensation_nuclei_number_concentration_of_new_statenumber concentration of activated cloud condensation nuclei updated by physicskg-1real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physinout
ccwmass_number_concentration_of_cloud_liquid_water_particles_in_air_of_new_statecloud droplet number concentrationkg-1real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physinout
crwmass_number_concentration_of_rain_of_new_staterain number concentrationkg-1real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physinout
ccimass_number_concentration_of_cloud_ice_water_crystals_in_air_of_new_stateice number concentrationkg-1real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physinout
cswmass_number_concentration_of_snow_of_new_statesnow number concentrationkg-1real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physinout
chwmass_number_concentration_of_graupel_of_new_stategraupel number concentrationkg-1real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physinout
chlmass_number_concentration_of_hail_of_new_statehail number concentrationkg-1real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physinout
vhgraupel_volume_of_new_stategraupel particle volumem3 kg-1real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physinout
vhlhail_volume_of_new_statehail particle volumem3 kg-1real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physinout
tgrsair_temperature_of_new_statemodel layer mean temperatureKreal(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physinout
prslkdimensionless_exner_functiondimensionless Exner function at model layer centersnonereal(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physin
prslair_pressuremean layer pressurePareal(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physin
phiigeopotential_at_interfacegeopotential at model layer interfacesm2 s-2real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_interface_dimension)kind_physin
omegalagrangian_tendency_of_air_pressurelayer mean vertical velocityPa s-1real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physin
dtptimestep_for_physicsphysics timestepsreal()kind_physin
prcplwe_thickness_of_explicit_precipitation_amountexplicit precipitation (rain, ice, snow, graupel) on physics timestepmreal(ccpp_constant_one:horizontal_loop_extent)kind_physinout
rainlwe_thickness_of_explicit_rain_amountexplicit rain fall on physics timestepmreal(ccpp_constant_one:horizontal_loop_extent)kind_physinout
graupellwe_thickness_of_graupel_amountgraupel fall on physics timestepmreal(ccpp_constant_one:horizontal_loop_extent)kind_physinout
icelwe_thickness_of_ice_amountice fall on physics timestepmreal(ccpp_constant_one:horizontal_loop_extent)kind_physinout
snowlwe_thickness_of_snow_amountsnow fall on physics timestepmreal(ccpp_constant_one:horizontal_loop_extent)kind_physinout
srratio_of_snowfall_to_rainfallratio of snowfall to large-scale rainfallfracreal(ccpp_constant_one:horizontal_loop_extent)kind_physout
refl_10cmradar_reflectivity_10cminstantaneous refl_10cmdBZreal(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physout
do_radar_refflag_for_radar_reflectivityflag for radar reflectivityflaglogical()in
first_time_stepflag_for_first_timestepflag for first time step for time integration loop (cold/warmstart)flaglogical()in
restartflag_for_restartflag for restart (warmstart) or coldstartflaglogical()in
re_cloudeffective_radius_of_stratiform_cloud_liquid_water_particleeff. radius of cloud liquid water particle in micrometerumreal(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physinout
re_iceeffective_radius_of_stratiform_cloud_ice_particleeff. radius of cloud ice water particle in micrometerumreal(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physinout
re_snoweffective_radius_of_stratiform_cloud_snow_particleeffective radius of cloud snow particle in micrometerumreal(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physinout
re_raineffective_radius_of_stratiform_cloud_rain_particleeffective radius of cloud rain particle in micrometersumreal(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physinout
nleffrindex_of_cloud_liquid_water_effective_radius_in_xyz_dimensioned_restart_arraythe index of cloud liquid water effective radius in phy_f3dindexinteger()in
nieffrindex_of_cloud_ice_effective_radius_in_xyz_dimensioned_restart_arraythe index of ice effective radius in phy_f3dindexinteger()in
nreffrindex_of_rain_effective_radius_in_xyz_dimensioned_restart_arraythe index of rain effective radius in phy_f3dindexinteger()in
nseffrindex_of_snow_effective_radius_in_xyz_dimensioned_restart_arraythe index of snow effective radius in phy_f3dindexinteger()in
imp_physicscontrol_for_microphysics_schemechoice of microphysics schemeflaginteger()in
convert_dry_rhoflag_for_converting_hydrometeors_from_moist_to_dry_airflag for converting hydrometeors from moist to dry airflaglogical()in
imp_physics_nsslidentifier_for_nssl_microphysics_schemechoice of NSSL 2-moment microphysics schemeflaginteger()in
nssl_ccn_onnssl_ccn_onCCN activation flag in NSSL microflaglogical()in
nssl_hail_onnssl_hail_onhail activation flag in NSSL microflaglogical()in
nssl_invertccnnssl_invertccnflag to invert CCN in NSSL microflaglogical()in
ntccnindex_of_cloud_condensation_nuclei_number_concentration_in_tracer_concentration_arraytracer index for cloud condensation nuclei number concentrationindexinteger()in
ntccnaindex_of_activated_cloud_condensation_nuclei_number_concentration_in_tracer_concentration_arraytracer index for activated cloud condensation nuclei number concentrationindexinteger()in
errflgccpp_error_codeerror code for error handling in CCPP1integer()out
errmsgccpp_error_messageerror message for error handling in CCPPnonecharacter()len=*out
  • Convert specific humidity/moist mixing ratios to dry mixing ratios
  • Density of air in kg m-3
  • Convert omega in Pa s-1 to vertical velocity w in m s-1
  • Layer thickness in m from geopotential in m2 s-2
  • Convert dry mixing ratios to specific humidity/moist mixing ratios
  • Convert rainfall deltas from mm to m (on physics timestep); add to inout variables

References module_mp_nssl_2mom::calcnfromq(), and module_mp_nssl_2mom::nssl_2mom_driver().

Here is the call graph for this function: