Ozone retrieval (DIAL)#
This page documents SignalCreation.Lidar.Lidar.ozone_process(), which computes ozone
number-density profiles from on/off DIAL channels, with optional aerosol correction and binomial
prefiltering.
Overview#
Selects slope inputs (default prefix) over
Signal_Typein[100,129].For each even
Signal_Type(on-track), pairs with the corresponding odd off-track.Runs
DialProcessto compute ozone, with configurable cross-sections and options.Writes ozone value + uncertainty and several diagnostic arrays.
Function signature#
def ozone_process(
self,
list_data_name: None | list = None,
error_suffix: None | str = None,
input_prefix: str | None = None,
prefix_output: str | None = None,
binomial_filter_number_of_point: str | int | None = None,
rayleigh_cross_section_method: str | None = None,
target_molecule: str | None = None,
ozone_cross_section_name: str | None = None,
atm_cross_section_name: str | None = None,
density_name: str | None = None,
aerosol_extinction_name: str | None = None,
aerosol_diffusion_name: str | None = None,
atm_diffusion_name: str | None = None,
angstrom_coef_alpha: np.ndarray | float | int | None = None,
angstrom_coef_beta: np.ndarray | float | int | None = None,
replace_backscatter_ratio_less_than_1: bool | None = None,
apply_aerosol_correction: bool = None,
) -> None:
\"\"\"Compute ozone profiles from DIAL on/off channels and store outputs.\"\"\"
Parameters (highlights)#
input_prefix(str | None, default: :code:`nv.get_var_name(‘slope’)`)prefix_output(str | None, default: :code:`nv.get_var_name(‘ozone’)`)binomial_filter_number_of_point(int | str, default from XML)Aerosol correction toggled via
Ozone/apply_aerosol_correction; if true, also usesangstrom_coef_alpha,angstrom_coef_beta, and aerosol extinction/diffusion inputs (auto-detected if missing).
Workflow#
Discover input variables if
list_data_nameis empty.Identify on/off pairs by
Signal_Typeparity.Instantiate
DialProcesswith provided cross-sections and options.Compute ozone concentration and uncertainty.
Save outputs under
prefix_output; also write diagnostics if missing:diff_atmospheric_correctiondiff_ozone_cross_sectioncorayl(Rayleigh-related diagnostic)
Outputs#
Ozone variable + uncertainty written via
nv.add_lidar_da().Resolutionattribute copied from the on-track input.Returns
None(modifies dataset in place).