HATPRO#
Instrumentation#
Profiling radiometers like our HATPRO-G5 are mainly used to derive vertical profiles of atmospheric temperature and humidity. The infrared radiometer extension allows to cloud base height and ice cloud detection. The radiometer covers high-resolution temperature profiling of the boundary layer and low-humidity applications. All models of the series provide accurate total amounts of atmospheric water vapor and cloud liquid water. The retrieval algorithms is custom designed and based on the long-term dataset of radiosondes at the GAIA-Airport. Two bands, 22-31 GHz (7-channel filter-bank humidity profiler and LWP radiometer) and 51-58 GHz (7-channel filter-bank temperature profiler) are used in this radiometer.
Retrieved data types:
vertical profiles of atmospheric temperature
vertical profile of atmospheric humidity (relative and absolute humidity)
Liquid Water Path (LWP)
Integrated Water Vapor (IWV)

Since 2011 to 2017 we installed a Hatpro (SUNHAT) from University Cologne at our site. In 2017 we installed the first HATPRO-G5 (BCOHAT1) at the site.
Data Availability#
The data is available as .zarr files in the catalog as:
BCO.radiometer_HATPRO_BRT_c1_v1per-channel brightness temperaturesBCO.radiometer_HATPRO_HKD_c1_v1housekeeping dataBCO.radiometer_HATPRO_IWV_c1_v1integrated water vapor retrieval
Raw data
The HATPRO datasets are not suitable for direct scientific use. They include raw data from, e.g., various scanning modes and have not been subject to further quality checks.
Sample Plot#
Plot integrated water vapor (IWV) retrieval
import intake
cat = intake.open_catalog("https://tcodata.mpimet.mpg.de/catalog.yaml")
ds = cat.BCO.radiometer_HATPRO_IWV_c1_v1.to_dask()
ds.sel(time="2026-01").IWV.plot(x="time")
/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.lines.Line2D at 0x7f2f4e1a6060>]
The full dataset:
ds
<xarray.Dataset> Size: 3GB
Dimensions: (time: 132079725)
Coordinates:
lat float64 8B ...
lon float64 8B ...
sensor_alt float64 8B ...
* time (time) datetime64[ns] 1GB 2017-10-01T00:04:17 ... 2026-03-06T...
Data variables:
AZI (time) float32 528MB dask.array<chunksize=(262144,), meta=np.ndarray>
ELE (time) float32 528MB dask.array<chunksize=(262144,), meta=np.ndarray>
IWV (time) float32 528MB dask.array<chunksize=(262144,), meta=np.ndarray>
RF (time) int8 132MB dask.array<chunksize=(262144,), meta=np.ndarray>
SF (time) int8 132MB dask.array<chunksize=(262144,), meta=np.ndarray>
Attributes:
Conventions: CF-1.12
_logical_cutoff_date: 2026-03-06T00:00:00Z
bcoproc_version: 0.0.0.post1174.dev0+4cf53a3
featureType: timeSeries
institution: Max Planck Institute for Meteorology, Hamburg
license: CC0-1.0
location: The Barbados Cloud Observatory (BCO), Deebles Poin...
platform: BCO
source: HATPRO microwave radiometer
summary: This dataset contains measurements of the microwav...
title: Microwave radiometer (HATPRO) data from BCO (Level 1)
tool_versions: {"Python": "3.11.2 (main, Apr 28 2025, 14:11:48) [...