emc2.simulator.radar_moments.calc_radar_bulk¶
- emc2.simulator.radar_moments.calc_radar_bulk(instrument, model, is_conv, p_values, z_values, atm_ext, OD_from_sfc=True, hyd_types=None, mie_for_ice=False, **kwargs)[source]¶
Calculates the radar stratiform or convective reflectivity and attenuation in a sub-columns using bulk scattering LUTs assuming geometric scatterers (radiation scheme logic). Effective radii for each hydrometeor class must be provided (in model.ds).
- 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
- p_values: ndarray
model output pressure array in Pa.
- z_values: ndarray
model output height array in m.
- atm_ext: ndarray
atmospheric attenuation per layer (dB/km).
- 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 bulk LUTs generated using solid ice spheres (Mie) calculations (e.g., consistent with the ice treatment in MG1 through MG2). Otherwise, using bulk LUTs that consider ice properties, e.g., the C6 8-column severly roughned aggregate for E3 or the m-D A-D for CESM and E3SMv1, consistent with the radiation schemes of these models. This parameter is set to False if mcphys_scheme == P3 since ice shape is integrated into P3, which also affects mu, etc. and therefore the bulk LUT behavior in a similar manner to how the P3 LUTs are integrated into EMC².
- Additonal keyword arguments are passed into
- :py:func:`emc2.simulator.lidar_moments.accumulate_attenuation`.
- Returns:
- model:
emc2.core.Model()
The model with the added simulated lidar parameters.
- model: