CORAL#
The high-power lidar CORAL (Cloud Observation with Radar And Lidar) was designed for high-resolution vertical profiling of water vapor mixing ratio, air temperature, and cloud and aerosol properties. The instrument was installed with the intent to investigate fast processes driving cloud formation and interactions among the moisture field, air temperature, aerosols, and cloud droplets in the tropics. CORAL has been in operation since May 2019.
Configurations and data availability#
The processing from Level 0 to Level 1 data results in two products: slow and fast. The data in the slow product is smoothed in time over the temperature smoothing window. The fast product is smoothed in time over 2 min for low resolution and 4 sec for high resolution, the time interval of the Level 0 data.
Time series of particle backscatter coefficient, cloud mask, water vapor mixing ratio and depolarization ratio (presently not calibrated) are stored in slow files. Air temperature, water vapor mixing ratio (calculated with resolution taken for temperature profiles) and relative humidity put in fast files.
Current data availability#
Efforts to integrate all resolutions and smoothings for the whole timeline of the instrument’s operation are ongoing. As such, data from after the ORCESTRA campaign (2024-09-30) until today is processed daily and available as .zarr files in the catalog, with the follwing parameters:
resolution: 2 min (‘low’) or 4 sec (‘high’) referring to the resolution of pre-processed netcdfs
either
lrorhrused in dataset name
smoothing of data:
‘slow’: data smoothed over TODO
‘fast’: data smoothing matches temporal resolution (above)
corresponds to
sorfin dataset name
calibration mode, describes water vapor calibrations used for low temporal resolution data processing:
‘rolling’: calibrations from previous 3 days
‘renalaysis’: calibrations from previous and following 3 days
The following datasets are recommended for use:
BCO.lidar_CORAL_lr_s_reanalysis_c1.zarravailable after 2024-09-30BCO.lidar_CORAL_lr_f_reanalysis_c1.zarravailable after 2024-09-30BCO.lidar_CORAL_LR_t_c1_v1from 2019-01-01 to 2023-03-17BCO.lidar_CORAL_LR_b_c1_v1from 2019-01-01 to 2023-03-17
Calibration constants are written to the catalog as well, as .zarr under BCO.lidar_CORAL_calib_v1.
Data access#
The fast and slow smoothed products create datasets that differ as shown below:
import intake
cat = intake.open_catalog("https://tcodata.mpimet.mpg.de/catalog.yaml")
mbrs = cat.BCO.mbrs.to_dask()
coral = cat.BCO.lidar_CORAL_lr_f_reanalysis_c1.to_dask()
coral
/builds/tco/bco/docs/.venv/lib/python3.14/site-packages/intake_xarray/base.py:21: FutureWarning: The return type of `Dataset.dims` will be changed to return a set of dimension names in future, in order to be more consistent with `DataArray.dims`. To access a mapping from dimension names to lengths, please use `Dataset.sizes`.
'dims': dict(self._ds.dims),
/builds/tco/bco/docs/.venv/lib/python3.14/site-packages/intake_xarray/base.py:21: FutureWarning: The return type of `Dataset.dims` will be changed to return a set of dimension names in future, in order to be more consistent with `DataArray.dims`. To access a mapping from dimension names to lengths, please use `Dataset.sizes`.
'dims': dict(self._ds.dims),
<xarray.Dataset> Size: 10GB
Dimensions: (time: 352080, alt: 484, lim: 2)
Coordinates:
* time (time) datetime64[ns] 3MB 2024-09-30T00:02:00 ... 20...
* alt (alt) float32 2kB 20.0 80.0 140.0 ... 2.894e+04 2.9e+04
lat float64 8B ...
lon float64 8B ...
sensor_alt int64 8B ...
Dimensions without coordinates: lim
Data variables: (12/14)
RH_err (time, alt) float32 682MB dask.array<chunksize=(8192, 32), meta=np.ndarray>
alt_bnds (time, alt, lim) float32 1GB dask.array<chunksize=(256, 32, 2), meta=np.ndarray>
backscatter_355 (time, alt) float32 682MB dask.array<chunksize=(8192, 32), meta=np.ndarray>
backscatter_355_err (time, alt) float32 682MB dask.array<chunksize=(8192, 32), meta=np.ndarray>
backscatter_532 (time, alt) float32 682MB dask.array<chunksize=(8192, 32), meta=np.ndarray>
backscatter_532_err (time, alt) float32 682MB dask.array<chunksize=(8192, 32), meta=np.ndarray>
... ...
depol_p_532_err (time, alt) float32 682MB dask.array<chunksize=(8192, 32), meta=np.ndarray>
depol_v_532 (time, alt) float32 682MB dask.array<chunksize=(8192, 32), meta=np.ndarray>
depol_v_532_err (time, alt) float32 682MB dask.array<chunksize=(8192, 32), meta=np.ndarray>
mr (time, alt) float32 682MB dask.array<chunksize=(8192, 32), meta=np.ndarray>
mr_err (time, alt) float32 682MB dask.array<chunksize=(8192, 32), meta=np.ndarray>
rh (time, alt) float32 682MB dask.array<chunksize=(8192, 32), meta=np.ndarray>
Attributes:
_logical_cutoff_date: 2026-04-03T00:00:00Zclouds = coral.sel(time="2024-10-07").cloud_mask == 1
clouds.plot(x="time")
<matplotlib.collections.QuadMesh at 0x7f093795b4d0>
clouds2 = mbrs.sel(time="2024-10-07").Ze > -40
clouds2.plot(x="time")
<matplotlib.collections.QuadMesh at 0x7f09377fb110>