emc2.simulator.lidar_moments.calc_lidar_micro

emc2.simulator.lidar_moments.calc_lidar_micro(instrument, model, z_values, OD_from_sfc=True, hyd_types=None, mie_for_ice=False, parallel=True, chunk=None, **kwargs)[source]

Calculates the lidar backscatter, extinction, and optical depth in a given column for the given lidar using the microphysics (MG2) logic.

Parameters:
instrument: Instrument

The instrument to simulate. The instrument must be a lidar.

model: Model

The model to generate the parameters for.

z_values: ndarray

model output height array in m.

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.

mie_for_ice: bool

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

parallel: bool

If True, use parallelism in calculating lidar parameters.

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.

Additonal keyword arguments are passed into
:py:func:`emc2.psd.calc_mu_lambda`.
:py:func:`emc2.simulator.lidar_moments.accumulate_OD`.
Returns:
model: emc2.core.Model()

The model with the added simulated lidar parameters.