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)

HATPRO radiometer at the Barbados Cloud Observatory

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.HATPRO_BRT per-channel brightness temperatures

  • BCO.HATPRO_HKD housekeeping data

  • BCO.HATPRO_IWV integrated 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.HATPRO_IWV.to_dask()
ds.sel(time="2018-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 0x7f07987cbc20>]
../../_images/9c4acc92aedb8e28f31a842fc5a73c57164ec1efb2ba53d0fa083e22fbd97b32.png

The full dataset:

ds
<xarray.Dataset> Size: 982MB
Dimensions:     (time: 44639531)
Coordinates:
    lat         float64 8B ...
    lon         float64 8B ...
    sensor_alt  float64 8B ...
  * time        (time) datetime64[ns] 357MB 2017-10-01T00:04:17 ... 2019-11-0...
Data variables:
    AZI         (time) float32 179MB dask.array<chunksize=(262144,), meta=np.ndarray>
    ELE         (time) float32 179MB dask.array<chunksize=(262144,), meta=np.ndarray>
    IWV         (time) float32 179MB dask.array<chunksize=(262144,), meta=np.ndarray>
    RF          (time) int8 45MB dask.array<chunksize=(262144,), meta=np.ndarray>
    SF          (time) int8 45MB dask.array<chunksize=(262144,), meta=np.ndarray>
Attributes:
    _logical_cutoff_date:  2019-11-12T00:00:00Z