emc2.simulator.lidar_moments.calc_lidar_moments

emc2.simulator.lidar_moments.calc_lidar_moments(instrument, model, is_conv, OD_from_sfc=True, hyd_types=None, parallel=True, eta=1, chunk=None, mie_for_ice=False, use_rad_logic=True, use_empiric_calc=False, **kwargs)[source]

Calculates the lidar backscatter, extinction, and optical depth in a given column for the given lidar.

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 lidar.

model: Model

The model to generate the parameters for.

is_conv: bool

True if the cell is convective

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 calcuation. using default Model subclass types if None.

parallel: bool

If True, use parallelism in calculating lidar parameters.

eta: float

Multiple scattering coefficient.

chunk: int or None

The number of entries to process in one parallel loop. None will send all of the entries to the Dask worker queue at once. Sometimes, Dask will freeze if too many tasks are sent at once due to memory issues, so adjusting this number might be needed if that happens.

mie_for_ice: bool

If True, using full mie caculation LUTs. Otherwise, currently using the C6 scattering LUTs for 8-column severly roughned aggregate.

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 necessarilytly 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.psd.calc_mu_lambda`.
:py:func:`emc2.simulator.lidar_moments.accumulate_OD`.
:py:func:`emc2.simulator.lidar_moments.calc_lidar_empirical`.
:py:func:`emc2.simulator.lidar_moments.calc_lidar_bulk`.
:py:func:`emc2.simulator.lidar_moments.calc_lidar_micro`.
Returns:
model: emc2.core.Model()

The model dataset with the added simulated lidar parameters.