emc2.simulator.radar_moments.calc_radar_moments¶
- emc2.simulator.radar_moments.calc_radar_moments(instrument, model, is_conv, OD_from_sfc=True, hyd_types=None, parallel=True, chunk=None, mie_for_ice=False, use_rad_logic=True, use_empiric_calc=False, calc_spectral_width=True, **kwargs)[source]¶
Calculates the reflectivity, doppler velocity, and spectral width in a given column for the given radar.
NOTE: When starting a parallel task (in microphysics approach), it is recommended to wrap the top-level python script calling the EMC^2 processing (‘lines_of_code’) with the following command (just below the ‘import’ statements):
if __name__ == “__main__”: lines_of_code
- Parameters:
- instrument: Instrument
The instrument to simulate. The instrument must be a radar.
- model: Model
The model to generate the parameters for.
- is_conv: bool
True if the cell is convective
- z_field: str
The name of the altitude field to use.
- OD_from_sfc: bool
If True, then calculate optical depth from the surface.
- hyd_types: list or None
list of hydrometeor names to include in calculation. using default Model subclass types if None.
- parallel: bool
If True, then use parallelism to calculate each column quantity.
- chunk: None or int
If using parallel processing, only send this number of time periods to the parallel loop at one time. Sometimes Dask will crash if there are too many tasks in the queue, so setting this value will help avoid that.
- calc_spectral_width: bool
If False, skips spectral width calculations since these are not always needed for an application and are the most computationally expensive. Default is True.
- mie_for_ice: bool
If True, using full mie caculation LUTs. Otherwise, currently using the C6 scattering LUTs for 8-column aggregate at 270 K.
- use_rad_logic: bool
When True using radiation scheme logic in calculations, which includes using the cloud fraction fields utilized in a model radiative scheme, as well as bulk scattering LUTs (effective radii dependent scattering variables). Otherwise, and only in the stratiform case, using the microphysics scheme logic, which includes the cloud fraction fields utilized by the model microphysics scheme and single particle scattering LUTs. NOTE: because of its single-particle calculation method, the microphysics approach is significantly slower than the radiation approach. Also, the cloud fraction logic in these schemes does not necessarily fully overlap.
- use_empirical_calc: bool
When True using empirical relations from literature for the fwd calculations (the cloud fraction still follows the scheme logic set by use_rad_logic).
- Additonal keyword arguments are passed into
- :py:func:`emc2.simulator.psd.calc_mu_lambda`.
- :py:func:`emc2.simulator.lidar_moments.accumulate_attenuation`.
- :py:func:`emc2.simulator.lidar_moments.calc_radar_empirical`.
- :py:func:`emc2.simulator.lidar_moments.calc_radar_bulk`.
- :py:func:`emc2.simulator.lidar_moments.calc_radar_micro`.
- Returns:
- model:
emc2.core.Model()
The xarray Dataset containing the calculated radar moments.
- model: