diff --git a/pyproject.toml b/pyproject.toml index 0b368cbf..088addb0 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -23,7 +23,7 @@ dependencies = [ "cloudnet-api-client>=0.12.4", "cloudnetpy[extras]>=1.90.4", "cloudnetpy_qc>=1.30.6", - "doppy==0.5.10", + "doppy>=0.5.14", "earthcare-downloader", "influxdb-client", "model-munger>=0.3.7", diff --git a/src/processing/instrument_process.py b/src/processing/instrument_process.py index 2c816abb..ec62f218 100644 --- a/src/processing/instrument_process.py +++ b/src/processing/instrument_process.py @@ -387,18 +387,19 @@ def process_halo_doppler_lidar(self) -> None: ) self.uuid.raw = raw_uuids_co + raw_uuids_cross + noise_mask_method = self._noise_mask_method() stare: doppy.product.Stare | doppy.product.StareDepol try: stare = doppy.product.Stare.from_halo_data( data=full_paths_co, data_bg=full_paths_bg, - bg_correction_method=doppy.options.BgCorrectionMethod.FIT, + noise_mask_method=noise_mask_method, ) if full_paths_cross: stare_cross = doppy.product.Stare.from_halo_data( data=full_paths_cross, data_bg=full_paths_bg, - bg_correction_method=doppy.options.BgCorrectionMethod.FIT, + noise_mask_method=noise_mask_method, ) stare = doppy.product.StareDepol(stare, stare_cross) except doppy.exceptions.NoDataError as err: @@ -467,6 +468,23 @@ def _process_windcube(self, instrument: instruments.Instrument) -> None: data, instrument ) + def _noise_mask_method(self) -> doppy.options.NoiseMaskMethod: + default = doppy.options.NoiseMaskMethod.INTENSITY_AND_VELOCITY + try: + calibration = self.processor.client.calibration( + self.params.instrument.pid, self.params.date + ) + except CloudnetAPIError: + return default + value = ( + calibration.get("data", {}).get("noise_mask_method") + if calibration + else None + ) + if value is None: + return default + return doppy.options.NoiseMaskMethod(value) + class ProcessLidar(ProcessInstrument): def process_cs135(self) -> None: