KATRIN#
Work in Progress
Under construction
Data availability#
The data is available in zarr format with range axis from 300 m to 8 km and time resolution of 1s as BCO.radar_KATRIN_c1_v1.
Sample plot#
import intake
import numpy as np
cat = intake.open_catalog("https://tcodata.mpimet.mpg.de/catalog.yaml")
katrin = cat.BCO.radar_KATRIN_c1(version=1).to_dask()
# it's as simple as:
katrin.sel(time=slice("2010-12-14")).resample(time="5s").mean().Ze.plot(x='time', y='range', cmap='viridis')
/builds/tco/bco/docs/.venv/lib/python3.12/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),
<matplotlib.collections.QuadMesh at 0x7f86dcd41100>
The whole dataset:
katrin
<xarray.Dataset> Size: 716MB
Dimensions: (time: 53452, range: 257)
Coordinates:
lat float64 8B ...
lon float64 8B ...
* range (range) float64 2kB 299.8 329.8 359.8 ... 7.945e+03 7.975e+03
sensor_alt int64 8B ...
* time (time) datetime64[ns] 428kB 2010-12-14T18:01:06 ... 2010-12-1...
Data variables: (12/19)
HSDco (time, range) float32 55MB dask.array<chunksize=(8192, 32), meta=np.ndarray>
HSDcx (time, range) float32 55MB dask.array<chunksize=(8192, 32), meta=np.ndarray>
LDR (time, range) float32 55MB dask.array<chunksize=(8192, 32), meta=np.ndarray>
LDRg (time, range) float32 55MB dask.array<chunksize=(8192, 32), meta=np.ndarray>
MeltHei (time) float32 214kB dask.array<chunksize=(53452,), meta=np.ndarray>
RMS (time, range) float32 55MB dask.array<chunksize=(8192, 32), meta=np.ndarray>
... ...
Zg (time, range) float32 55MB dask.array<chunksize=(8192, 32), meta=np.ndarray>
azimuth (time) float32 214kB dask.array<chunksize=(53452,), meta=np.ndarray>
northangle (time) float32 214kB dask.array<chunksize=(53452,), meta=np.ndarray>
status (time) int16 107kB dask.array<chunksize=(53452,), meta=np.ndarray>
tpow (time) float32 214kB dask.array<chunksize=(53452,), meta=np.ndarray>
zenith (time) float32 214kB dask.array<chunksize=(53452,), meta=np.ndarray>
Attributes:
Conventions: CF-1.12
_logical_cutoff_date: 2010-12-16T00:00:00Z
bcoproc_version: 0.0.0.post1065.dev0+14b60a6
featureType: timeSeriesProfile
institution: Max Planck Institute for Meteorology, Hamburg
license: CC0-1.0
location: The Barbados Cloud Observatory (BCO), Deebles Poin...
platform: BCO
source: KATRIN cloud radar
title: Cloud radar data from KATRIN at the BCO
tool_versions: {"Python": "3.11.2 (main, Apr 28 2025, 14:11:48) [...xarray.Dataset
- time: 53452
- range: 257
- lat()float64...
[1 values with dtype=float64]
- lon()float64...
[1 values with dtype=float64]
- range(range)float64299.8 329.8 ... 7.945e+03 7.975e+03
- axis :
- Z
- long_name :
- range from antenna to the center of each range gate
- standard_name :
- height
- units :
- m
array([ 299.8 , 329.78, 359.76, ..., 7914.72, 7944.7 , 7974.68], shape=(257,))
- sensor_alt()int64...
[1 values with dtype=int64]
- time(time)datetime64[ns]2010-12-14T18:01:06 ... 2010-12-...
- axis :
- T
- standard_name :
- time
- units_metadata :
- leap_seconds: utc
array(['2010-12-14T18:01:06.000000000', '2010-12-14T18:01:07.000000000', '2010-12-14T18:01:08.000000000', ..., '2010-12-15T14:48:22.000000000', '2010-12-15T14:48:23.000000000', '2010-12-15T14:48:24.000000000'], shape=(53452,), dtype='datetime64[ns]')
- HSDco(time, range)float32dask.array<chunksize=(8192, 32), meta=np.ndarray>
- db :
- 1
- long_name :
- co-channel HSdiv noise power. The arbitrary unit is DSP.
- units :
- 1
- yrange :
- [-10.0, 60.0]
Array Chunk Bytes 52.40 MiB 1.00 MiB Shape (53452, 257) (8192, 32) Dask graph 63 chunks in 2 graph layers Data type float32 numpy.ndarray - HSDcx(time, range)float32dask.array<chunksize=(8192, 32), meta=np.ndarray>
- db :
- 1
- long_name :
- cross-channel HSdiv noise power. The arbitrary unit is DSP.
- units :
- 1
- yrange :
- [-10.0, 60.0]
Array Chunk Bytes 52.40 MiB 1.00 MiB Shape (53452, 257) (8192, 32) Dask graph 63 chunks in 2 graph layers Data type float32 numpy.ndarray - LDR(time, range)float32dask.array<chunksize=(8192, 32), meta=np.ndarray>
- long_name :
- linear de-polarization ratio LDR of all hydrometeors
- units :
- dBZ
Array Chunk Bytes 52.40 MiB 1.00 MiB Shape (53452, 257) (8192, 32) Dask graph 63 chunks in 2 graph layers Data type float32 numpy.ndarray - LDRg(time, range)float32dask.array<chunksize=(8192, 32), meta=np.ndarray>
- long_name :
- linear de-polarization ratio LDR of all targets (global)
- units :
- dBZ
Array Chunk Bytes 52.40 MiB 1.00 MiB Shape (53452, 257) (8192, 32) Dask graph 63 chunks in 2 graph layers Data type float32 numpy.ndarray - MeltHei(time)float32dask.array<chunksize=(53452,), meta=np.ndarray>
- db :
- 0
- long_name :
- melting layer height
- units :
- m
- yrange :
- [0, 14000]
Array Chunk Bytes 208.80 kiB 208.80 kiB Shape (53452,) (53452,) Dask graph 1 chunks in 2 graph layers Data type float32 numpy.ndarray - RMS(time, range)float32dask.array<chunksize=(8192, 32), meta=np.ndarray>
- db :
- 0
- long_name :
- peak width RMS of all hydrometeors
- units :
- m s-1
- yrange :
- [0.0, 3.0]
Array Chunk Bytes 52.40 MiB 1.00 MiB Shape (53452, 257) (8192, 32) Dask graph 63 chunks in 2 graph layers Data type float32 numpy.ndarray - RMSg(time, range)float32dask.array<chunksize=(8192, 32), meta=np.ndarray>
- db :
- 0
- long_name :
- peak width RMS of all targets (global)
- units :
- m s-1
- yrange :
- [0.0, 3.0]
Array Chunk Bytes 52.40 MiB 1.00 MiB Shape (53452, 257) (8192, 32) Dask graph 63 chunks in 2 graph layers Data type float32 numpy.ndarray - SNR(time, range)float32dask.array<chunksize=(8192, 32), meta=np.ndarray>
- long_name :
- reflectivity SNR
- units :
- dBZ
Array Chunk Bytes 52.40 MiB 1.00 MiB Shape (53452, 257) (8192, 32) Dask graph 63 chunks in 2 graph layers Data type float32 numpy.ndarray - SNRg(time, range)float32dask.array<chunksize=(8192, 32), meta=np.ndarray>
- long_name :
- reflectivity SNRg
- units :
- dBZ
Array Chunk Bytes 52.40 MiB 1.00 MiB Shape (53452, 257) (8192, 32) Dask graph 63 chunks in 2 graph layers Data type float32 numpy.ndarray - SNRplank(time, range)float32dask.array<chunksize=(8192, 32), meta=np.ndarray>
- long_name :
- reflectivity SNRplank
- units :
- dBZ
Array Chunk Bytes 52.40 MiB 1.00 MiB Shape (53452, 257) (8192, 32) Dask graph 63 chunks in 2 graph layers Data type float32 numpy.ndarray - VEL(time, range)float32dask.array<chunksize=(8192, 32), meta=np.ndarray>
- db :
- 0
- long_name :
- doppler velocity VEL of all hydrometeors
- units :
- m s-1
- yrange :
- [-10.5563383102417, 10.5563383102417]
Array Chunk Bytes 52.40 MiB 1.00 MiB Shape (53452, 257) (8192, 32) Dask graph 63 chunks in 2 graph layers Data type float32 numpy.ndarray - VELg(time, range)float32dask.array<chunksize=(8192, 32), meta=np.ndarray>
- db :
- 0
- long_name :
- doppler velocity VEL of all targets (global)
- units :
- m s-1
- yrange :
- [-10.5563383102417, 10.5563383102417]
Array Chunk Bytes 52.40 MiB 1.00 MiB Shape (53452, 257) (8192, 32) Dask graph 63 chunks in 2 graph layers Data type float32 numpy.ndarray - Ze(time, range)float32dask.array<chunksize=(8192, 32), meta=np.ndarray>
- long_name :
- equivalent radar reflectivity of all hydrometeors
- units :
- dBZ
Array Chunk Bytes 52.40 MiB 1.00 MiB Shape (53452, 257) (8192, 32) Dask graph 63 chunks in 2 graph layers Data type float32 numpy.ndarray - Zg(time, range)float32dask.array<chunksize=(8192, 32), meta=np.ndarray>
- long_name :
- equivalent radar reflectivity of all targets (global)
- units :
- dBZ
Array Chunk Bytes 52.40 MiB 1.00 MiB Shape (53452, 257) (8192, 32) Dask graph 63 chunks in 2 graph layers Data type float32 numpy.ndarray - azimuth(time)float32dask.array<chunksize=(53452,), meta=np.ndarray>
- long_name :
- horizontal angle offset to north (0 degrees).
- standard_name :
- sensor_azimuth_angle
- units :
- degree
Array Chunk Bytes 208.80 kiB 208.80 kiB Shape (53452,) (53452,) Dask graph 1 chunks in 2 graph layers Data type float32 numpy.ndarray - northangle(time)float32dask.array<chunksize=(53452,), meta=np.ndarray>
- long_name :
- north angle
- units :
- degree
Array Chunk Bytes 208.80 kiB 208.80 kiB Shape (53452,) (53452,) Dask graph 1 chunks in 2 graph layers Data type float32 numpy.ndarray - status(time)int16dask.array<chunksize=(53452,), meta=np.ndarray>
- flag_meanings :
- radar_off radar_on
- flag_values :
- 0 1
- long_name :
- radar power flag
- units :
- 1
Array Chunk Bytes 104.40 kiB 104.40 kiB Shape (53452,) (53452,) Dask graph 1 chunks in 2 graph layers Data type int16 numpy.ndarray - tpow(time)float32dask.array<chunksize=(53452,), meta=np.ndarray>
- long_name :
- average transmit power
- units :
- W
Array Chunk Bytes 208.80 kiB 208.80 kiB Shape (53452,) (53452,) Dask graph 1 chunks in 2 graph layers Data type float32 numpy.ndarray - zenith(time)float32dask.array<chunksize=(53452,), meta=np.ndarray>
- long_name :
- zenith angle
- standard_name :
- sensor_zenith_angle
- units :
- degree
Array Chunk Bytes 208.80 kiB 208.80 kiB Shape (53452,) (53452,) Dask graph 1 chunks in 2 graph layers Data type float32 numpy.ndarray
- rangePandasIndex
PandasIndex(Index([ 299.8, 329.78, 359.76, 389.74, 419.72, 449.7, 479.68, 509.66, 539.64, 569.62, ... 7704.86, 7734.84, 7764.82, 7794.8, 7824.78, 7854.76, 7884.74, 7914.72, 7944.7, 7974.68], dtype='float64', name='range', length=257)) - timePandasIndex
PandasIndex(DatetimeIndex(['2010-12-14 18:01:06', '2010-12-14 18:01:07', '2010-12-14 18:01:08', '2010-12-14 18:01:09', '2010-12-14 18:01:10', '2010-12-14 18:01:11', '2010-12-14 18:01:12', '2010-12-14 18:01:13', '2010-12-14 18:01:14', '2010-12-14 18:01:15', ... '2010-12-15 14:48:14', '2010-12-15 14:48:15', '2010-12-15 14:48:17', '2010-12-15 14:48:18', '2010-12-15 14:48:19', '2010-12-15 14:48:20', '2010-12-15 14:48:21', '2010-12-15 14:48:22', '2010-12-15 14:48:23', '2010-12-15 14:48:24'], dtype='datetime64[ns]', name='time', length=53452, freq=None))
- Conventions :
- CF-1.12
- _logical_cutoff_date :
- 2010-12-16T00:00:00Z
- bcoproc_version :
- 0.0.0.post1065.dev0+14b60a6
- featureType :
- timeSeriesProfile
- institution :
- Max Planck Institute for Meteorology, Hamburg
- license :
- CC0-1.0
- location :
- The Barbados Cloud Observatory (BCO), Deebles Point, Barbados, West Indies
- platform :
- BCO
- source :
- KATRIN cloud radar
- title :
- Cloud radar data from KATRIN at the BCO
- tool_versions :
- {"Python": "3.11.2 (main, Apr 28 2025, 14:11:48) [GCC 12.2.0]", "packaging": "25.0", "dask": "2025.4.1", "pluggy": "1.5.0", "pendulum": "3.1.0", "toolz": "1.0.0", "propcache": "0.3.1", "cloudpickle": "3.1.1", "zipp": "3.21.0", "iniconfig": "2.1.0", "click": "8.1.8", "attrs": "25.3.0", "six": "1.17.0", "pyyaml": "6.0.2", "pytz": "2025.2", "bcoproc": "0.0.0.post1065.dev0+14b60a6", "ruff": "0.13.0", "numpy": "2.2.5", "yarl": "1.20.0", "aiohappyeyeballs": "2.6.1", "tzdata": "2025.2", "locket": "1.0.0", "aiohttp": "3.11.18", "python-dateutil": "2.9.0.post0", "importlib_metadata": "8.7.0", "aiosignal": "1.3.2", "xarray": "2025.4.0", "pandas": "2.2.3", "multidict": "6.4.3", "idna": "3.10", "datarecords": "0.0.0.post1065.dev0+14b60a6", "fsspec": "2025.3.2", "cftime": "1.6.4.post1", "partd": "1.4.2", "bcologs": "0.0.0.post1065.dev0+14b60a6", "pytest": "8.3.5", "certifi": "2025.4.26", "frozenlist": "1.6.0", "netcdf4": "1.7.2"}