[ccpp-table-properties] name = mp_thompson type = scheme dependencies = machine.F,module_mp_radar.F90,module_mp_thompson.F90,module_mp_thompson_make_number_concentrations.F90 ######################################################################## [ccpp-arg-table] name = mp_thompson_init type = scheme [ncol] standard_name = horizontal_dimension long_name = horizontal dimension units = count dimensions = () type = integer intent = in [nlev] standard_name = vertical_layer_dimension long_name = number of vertical levels units = count dimensions = () type = integer intent = in [con_g] standard_name = gravitational_acceleration long_name = gravitational acceleration units = m s-2 dimensions = () type = real kind = kind_phys intent = in [con_rd] standard_name = gas_constant_of_dry_air long_name = ideal gas constant for dry air units = J kg-1 K-1 dimensions = () type = real kind = kind_phys intent = in [con_eps] standard_name = ratio_of_dry_air_to_water_vapor_gas_constants long_name = rd/rv units = none dimensions = () type = real kind = kind_phys intent = in [restart] standard_name = flag_for_restart long_name = flag for restart (warmstart) or coldstart units = flag dimensions = () type = logical intent = in [imp_physics] standard_name = control_for_microphysics_scheme long_name = choice of microphysics scheme units = flag dimensions = () type = integer intent = in [imp_physics_thompson] standard_name = identifier_for_thompson_microphysics_scheme long_name = choice of Thompson microphysics scheme units = flag dimensions = () type = integer intent = in [convert_dry_rho] standard_name = flag_for_converting_hydrometeors_from_moist_to_dry_air long_name = flag for converting hydrometeors from moist to dry air units = flag dimensions = () type = logical intent = in [spechum] standard_name = specific_humidity long_name = water vapor specific humidity units = kg kg-1 dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys intent = inout [qc] standard_name = cloud_liquid_water_mixing_ratio long_name = cloud water mixing ratio wrt dry+vapor (no condensates) units = kg kg-1 dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys intent = inout [qr] standard_name = rain_mixing_ratio long_name = rain water mixing ratio wrt dry+vapor (no condensates) units = kg kg-1 dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys intent = inout [qi] standard_name = cloud_ice_mixing_ratio long_name = ice water mixing ratio wrt dry+vapor (no condensates) units = kg kg-1 dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys intent = inout [qs] standard_name = snow_mixing_ratio long_name = snow water mixing ratio wrt dry+vapor (no condensates) units = kg kg-1 dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys intent = inout [qg] standard_name = graupel_mixing_ratio long_name = graupel mixing ratio wrt dry+vapor (no condensates) units = kg kg-1 dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys intent = inout [ni] standard_name = mass_number_concentration_of_cloud_ice_water_crystals_in_air long_name = ice number concentration units = kg-1 dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys intent = inout [nr] standard_name = mass_number_concentration_of_rain_water_in_air long_name = rain number concentration units = kg-1 dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys intent = inout [is_aerosol_aware] standard_name = flag_for_aerosol_physics long_name = flag for aerosol-aware physics units = flag dimensions = () type = logical intent = in [merra2_aerosol_aware] standard_name = do_merra2_aerosol_awareness long_name = flag for merra2 aerosol-aware physics for example the thompson microphysics units = flag dimensions = () type = logical intent = in [nc] standard_name = mass_number_concentration_of_cloud_liquid_water_particles_in_air long_name = cloud droplet number concentration units = kg-1 dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys intent = inout [nwfa2d] standard_name = tendency_of_hygroscopic_aerosols_at_surface_adjacent_layer long_name = instantaneous fake water-friendly surface aerosol source units = kg-1 s-1 dimensions = (horizontal_dimension) type = real kind = kind_phys intent = inout [nifa2d] standard_name = tendency_of_nonhygroscopic_ice_nucleating_aerosols_at_surface_adjacent_layer long_name = instantaneous fake ice-friendly surface aerosol source units = kg-1 s-1 dimensions = (horizontal_dimension) type = real kind = kind_phys intent = inout [nwfa] standard_name = mass_number_concentration_of_hygroscopic_aerosols long_name = number concentration of water-friendly aerosols units = kg-1 dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys intent = inout [nifa] standard_name = mass_number_concentration_of_nonhygroscopic_ice_nucleating_aerosols long_name = number concentration of ice-friendly aerosols units = kg-1 dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys intent = inout [tgrs] standard_name = air_temperature long_name = model layer mean temperature units = K dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys intent = in [prsl] standard_name = air_pressure long_name = mean layer pressure units = Pa dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys intent = in [phil] standard_name = geopotential long_name = geopotential at model layer centers units = m2 s-2 dimensions = (horizontal_dimension,vertical_layer_dimension) type = real kind = kind_phys intent = in [area] standard_name = cell_area long_name = area of the grid cell units = m2 dimensions = (horizontal_dimension) type = real kind = kind_phys intent = in [aerfld] standard_name = mass_mixing_ratio_of_aerosol_from_gocart_or_merra2 long_name = mass mixing ratio of aerosol from gocart or merra2 units = kg kg-1 dimensions = (horizontal_dimension,vertical_layer_dimension,number_of_aerosol_tracers_MG) type = real kind = kind_phys intent = in [mpicomm] standard_name = mpi_communicator long_name = MPI communicator units = index dimensions = () type = integer intent = in [mpirank] standard_name = mpi_rank long_name = current MPI-rank units = index dimensions = () type = integer intent = in [mpiroot] standard_name = mpi_root long_name = master MPI-rank units = index dimensions = () type = integer intent = in [threads] standard_name = number_of_openmp_threads long_name = number of OpenMP threads available to scheme units = count dimensions = () type = integer intent = in [ext_diag] standard_name = flag_for_extended_diagnostic_output_from_thompson_microphysics long_name = flag for extended diagnostic output from thompson microphysics units = flag dimensions = () type = logical intent = in [diag3d] standard_name = extended_diagnostics_output_from_thompson_microphysics long_name = set of 3d arrays for extended diagnostics output from thompson microphysics units = none dimensions = (horizontal_dimension,vertical_layer_dimension,number_of_3d_diagnostic_output_arrays_from_thompson_microphysics) type = real kind = kind_phys 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 = mp_thompson_run type = scheme [ncol] standard_name = horizontal_loop_extent long_name = horizontal loop extent units = count dimensions = () type = integer intent = in [nlev] standard_name = vertical_layer_dimension long_name = number of vertical levels units = count dimensions = () type = integer intent = in [con_g] standard_name = gravitational_acceleration long_name = gravitational acceleration units = m s-2 dimensions = () type = real kind = kind_phys intent = in [con_rd] standard_name = gas_constant_of_dry_air long_name = ideal gas constant for dry air units = J kg-1 K-1 dimensions = () type = real kind = kind_phys intent = in [con_eps] standard_name = ratio_of_dry_air_to_water_vapor_gas_constants long_name = rd/rv units = none dimensions = () type = real kind = kind_phys intent = in [convert_dry_rho] standard_name = flag_for_converting_hydrometeors_from_moist_to_dry_air long_name = flag for converting hydrometeors from moist to dry air units = flag dimensions = () type = logical intent = in [spechum] 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 [qc] standard_name = cloud_liquid_water_mixing_ratio_of_new_state long_name = cloud water mixing ratio wrt dry+vapor (no condensates) units = kg kg-1 dimensions = (horizontal_loop_extent,vertical_layer_dimension) type = real kind = kind_phys intent = inout [qr] standard_name = rain_mixing_ratio_of_new_state long_name = rain water mixing ratio wrt dry+vapor (no condensates) units = kg kg-1 dimensions = (horizontal_loop_extent,vertical_layer_dimension) type = real kind = kind_phys intent = inout [qi] standard_name = cloud_ice_mixing_ratio_of_new_state long_name = ice water mixing ratio wrt dry+vapor (no condensates) units = kg kg-1 dimensions = (horizontal_loop_extent,vertical_layer_dimension) type = real kind = kind_phys intent = inout [qs] standard_name = snow_mixing_ratio_of_new_state long_name = snow water mixing ratio wrt dry+vapor (no condensates) units = kg kg-1 dimensions = (horizontal_loop_extent,vertical_layer_dimension) type = real kind = kind_phys intent = inout [qg] standard_name = graupel_mixing_ratio_of_new_state long_name = graupel mixing ratio wrt dry+vapor (no condensates) units = kg kg-1 dimensions = (horizontal_loop_extent,vertical_layer_dimension) type = real kind = kind_phys intent = inout [ni] standard_name = mass_number_concentration_of_cloud_ice_water_crystals_in_air_of_new_state long_name = ice number concentration units = kg-1 dimensions = (horizontal_loop_extent,vertical_layer_dimension) type = real kind = kind_phys intent = inout [nr] standard_name = mass_number_concentration_of_rain_of_new_state long_name = rain number concentration units = kg-1 dimensions = (horizontal_loop_extent,vertical_layer_dimension) type = real kind = kind_phys intent = inout [is_aerosol_aware] standard_name = flag_for_aerosol_physics long_name = flag for aerosol-aware physics units = flag dimensions = () type = logical intent = in [merra2_aerosol_aware] standard_name = do_merra2_aerosol_awareness long_name = flag for merra2 aerosol-aware physics for example the thompson microphysics units = flag dimensions = () type = logical intent = in [nc] standard_name = mass_number_concentration_of_cloud_liquid_water_particles_in_air_of_new_state long_name = cloud droplet number concentration units = kg-1 dimensions = (horizontal_loop_extent,vertical_layer_dimension) type = real kind = kind_phys intent = inout [nwfa] standard_name = mass_number_concentration_of_hygroscopic_aerosols_of_new_state long_name = number concentration of water-friendly aerosols units = kg-1 dimensions = (horizontal_loop_extent,vertical_layer_dimension) type = real kind = kind_phys intent = inout [nifa] standard_name = mass_number_concentration_of_nonhygroscopic_ice_nucleating_aerosols_of_new_state long_name = number concentration of ice-friendly aerosols units = kg-1 dimensions = (horizontal_loop_extent,vertical_layer_dimension) type = real kind = kind_phys intent = inout [nwfa2d] standard_name = tendency_of_hygroscopic_aerosols_at_surface_adjacent_layer long_name = instantaneous fake water-friendly surface aerosol source units = kg-1 s-1 dimensions = (horizontal_loop_extent) type = real kind = kind_phys intent = in [nifa2d] standard_name = tendency_of_nonhygroscopic_ice_nucleating_aerosols_at_surface_adjacent_layer long_name = instantaneous fake ice-friendly surface aerosol source units = kg-1 s-1 dimensions = (horizontal_loop_extent) type = real kind = kind_phys intent = in [aero_ind_fdb] standard_name = do_smoke_aerosol_indirect_feedback long_name = flag for wfa ifa emission indirect feedback units = flag dimensions = () type = logical intent = in [tgrs] standard_name = air_temperature_of_new_state long_name = model layer mean temperature units = K dimensions = (horizontal_loop_extent,vertical_layer_dimension) type = real kind = kind_phys intent = inout [prsl] standard_name = air_pressure long_name = mean layer pressure units = Pa dimensions = (horizontal_loop_extent,vertical_layer_dimension) type = real kind = kind_phys intent = in [phii] standard_name = geopotential_at_interface long_name = geopotential at model layer interfaces units = m2 s-2 dimensions = (horizontal_loop_extent,vertical_interface_dimension) type = real kind = kind_phys intent = in [omega] standard_name = lagrangian_tendency_of_air_pressure long_name = layer mean vertical velocity units = Pa s-1 dimensions = (horizontal_loop_extent,vertical_layer_dimension) type = real kind = kind_phys intent = in [sedi_semi] standard_name = flag_for_semi_Lagrangian_sedi_rain long_name = flag for semi Lagrangian sedi of rain units = flag dimensions = () type = logical intent = in [decfl] standard_name = deformed_CFL_factor long_name = deformed CFL factor units = count dimensions = () type = integer intent = in [islmsk] standard_name = sea_land_ice_mask long_name = sea/land/ice mask (=0/1/2) units = flag dimensions = (horizontal_loop_extent) type = integer intent = in [dtp] standard_name = timestep_for_physics long_name = physics timestep units = s dimensions = () type = real kind = kind_phys intent = in [dt_inner] standard_name = time_step_for_inner_loop long_name = time step for inner loop units = s dimensions = () type = real kind = kind_phys intent = in [first_time_step] standard_name = flag_for_first_timestep long_name = flag for first time step for time integration loop (cold/warmstart) units = flag dimensions = () type = logical intent = in [istep] standard_name = ccpp_loop_counter long_name = loop counter for subcycling loops in CCPP units = index dimensions = () type = integer intent = in [nsteps] standard_name = ccpp_loop_extent long_name = loop extent for subcycling loops in CCPP units = count dimensions = () type = integer intent = in [prcp] standard_name = lwe_thickness_of_explicit_precipitation_amount long_name = explicit precipitation (rain, ice, snow, graupel) on physics timestep units = m dimensions = (horizontal_loop_extent) type = real kind = kind_phys intent = inout [rain] standard_name = lwe_thickness_of_explicit_rain_amount long_name = explicit rain fall on physics timestep units = m dimensions = (horizontal_loop_extent) type = real kind = kind_phys intent = inout [graupel] standard_name = lwe_thickness_of_graupel_amount long_name = graupel fall on physics timestep units = m dimensions = (horizontal_loop_extent) type = real kind = kind_phys intent = inout [ice] standard_name = lwe_thickness_of_ice_amount long_name = ice fall on physics timestep units = m dimensions = (horizontal_loop_extent) type = real kind = kind_phys intent = inout [snow] standard_name = lwe_thickness_of_snow_amount long_name = snow fall on physics timestep units = m dimensions = (horizontal_loop_extent) type = real kind = kind_phys intent = inout [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 [refl_10cm] standard_name = radar_reflectivity_10cm long_name = instantaneous refl_10cm units = dBZ dimensions = (horizontal_loop_extent,vertical_layer_dimension) type = real kind = kind_phys intent = out [fullradar_diag] standard_name = do_full_radar_reflectivity long_name = flag for computing full radar reflectivity units = flag dimensions = () type = logical intent = in [do_radar_ref] standard_name = flag_for_radar_reflectivity long_name = flag for radar reflectivity units = flag dimensions = () type = logical intent = in [aerfld] standard_name = mass_mixing_ratio_of_aerosol_from_gocart_or_merra2 long_name = mass mixing ratio of aerosol from gocart or merra2 units = kg kg-1 dimensions = (horizontal_loop_extent,vertical_layer_dimension,number_of_aerosol_tracers_MG) type = real kind = kind_phys intent = in [mpicomm] standard_name = mpi_communicator long_name = MPI communicator units = index dimensions = () type = integer intent = in [mpirank] standard_name = mpi_rank long_name = current MPI-rank units = index dimensions = () type = integer intent = in [mpiroot] standard_name = mpi_root long_name = master MPI-rank units = index dimensions = () type = integer intent = in [blkno] standard_name = ccpp_block_number long_name = number of block for explicit data blocking in CCPP units = index dimensions = () type = integer intent = in [ext_diag] standard_name = flag_for_extended_diagnostic_output_from_thompson_microphysics long_name = flag for extended diagnostic output from thompson microphysics units = flag dimensions = () type = logical intent = in [diag3d] standard_name = extended_diagnostics_output_from_thompson_microphysics long_name = set of 3d arrays for extended diagnostics output from thompson microphysics units = none dimensions = (horizontal_loop_extent,vertical_layer_dimension,number_of_3d_diagnostic_output_arrays_from_thompson_microphysics) type = real kind = kind_phys intent = inout [reset_diag3d] standard_name = flag_reset_extended_diagnostics_output_arrays_from_thompson_microphysics long_name = flag for resetting extended diagnostics output arrays from thompson microphysics units = flag dimensions = () type = logical intent = in [spp_wts_mp] standard_name = spp_weights_for_microphysics_scheme long_name = spp weights for microphysics scheme units = 1 dimensions = (horizontal_loop_extent,vertical_layer_dimension) type = real intent = in [spp_mp] standard_name = control_for_microphysics_spp_perturbations long_name = control for microphysics spp perturbations units = count dimensions = () type = integer intent = in [n_var_spp] standard_name = number_of_perturbed_spp_schemes long_name = number of perturbed spp schemes units = count dimensions = () type = integer intent = in [spp_prt_list] standard_name = magnitude_of_spp_perturbations long_name = magnitude of spp perturbations units = 1 dimensions = (number_of_perturbed_spp_schemes) type = real kind = kind_phys intent = in [spp_stddev_cutoff] standard_name = magnitude_of_spp_standard_deviation_cutoff long_name = magnitude of spp standard deviation cutoff units = 1 dimensions = (number_of_perturbed_spp_schemes) type = real kind = kind_phys intent = in [spp_var_list] standard_name = perturbed_spp_schemes long_name = perturbed spp schemes units = none dimensions = (number_of_perturbed_spp_schemes) type = character kind = len=3 intent = in [cplchm] standard_name = flag_for_chemistry_coupling long_name = flag controlling cplchm collection (default off) units = flag dimensions = () type = logical intent = in [pfi_lsan] standard_name = ice_flux_due_to_large_scale_precipitation long_name = instantaneous 3D flux of ice from nonconvective precipitation units = kg m-2 s-1 dimensions = (horizontal_loop_extent,vertical_layer_dimension) type = real kind = kind_phys intent = inout [pfl_lsan] standard_name = liquid_flux_due_to_large_scale_precipitation long_name = instantaneous 3D flux of liquid water from nonconvective precipitation units = kg m-2 s-1 dimensions = (horizontal_loop_extent,vertical_layer_dimension) type = real kind = kind_phys intent = inout [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 = mp_thompson_finalize type = scheme [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