CIMH#

Instrumentation: Micro Rain Radar#

The suite of micro-rain radar measurements available to the TCO group includes an MRR operated by the Caribbean Institute for Meteorology and Hydrology (CIMH) on Barbados.

The CIMH is located at \(13^{\circ} 9' \mathrm{N}, \, 59^{\circ} 37' \mathrm{W}\) and its altitude is \(112 \, \mathrm{m}\) as per their site.

The MRRs are upward looking \(24 \, \mathrm{GHz}\) micro-rain radars which detect fall velocity and rain rate of hydrometeors.

All data have a temporal resolution of \(1 \, \mathrm{min}\), and the height ranges sampled are documented below. The MRRs resolve the height dimension with 31 distinct levels.

Data Availability#

Datasets are available in .zarr format in the catalog. The three height range configurations for the MRR are as follows, and datasets are named according to these conventions:

  • 1: [100, 3100]

  • 2: [200, 6200]

  • 3: [35, 1085]

Note

There are very few days with configuration 3, so we currently do not provide this data in the catalog, although the package is capable of reading data with this height range.

The table below summarizes the available MRR Level 1 datasets:

Site

Key

Start

Stop

Range

BCO

BCO.mrr_c1

2015-01-16

present

[100, 3100]

CIMH

CIMH.mrr_c1

2009-12-19

2025-06-29

[100, 3100]

EMBRAPA

EMBRAPA.mrr_c2

2012-06-08

2016-02-29

[200, 6400]

Sample Plots#

Here we plot rain rate alongside MDQ (data quality of spectra in percent of spectra per time) for a day during the EUREC4A campaign.

Hide code cell content

import intake
import numpy as np
import matplotlib.pyplot as plt
import xarray as xr
import matplotlib.colors as mcolors
import matplotlib.dates as mdates

def plot_rr_with_mdq(ds):
    """Plot rain rate alongside MDQ (spectrum data quality percent)."""
    time = ds.time.values
    height = ds.range.values
    RR = ds.RR.values
    MDQ = ds.MDQ.values
    title = ds.title

    fig = plt.figure(figsize=(12, 6), constrained_layout=True)
    gs = fig.add_gridspec(
        2, 2, 
        width_ratios=[20, 1], 
        height_ratios=[12, 1], 
        hspace=0.05, wspace=0.05
    )

    ax_main = fig.add_subplot(gs[0, 0])
    ax_mdq  = fig.add_subplot(gs[1, 0], sharex=ax_main)
    cax_rr  = fig.add_subplot(gs[0, 1])
    cax_mdq = fig.add_subplot(gs[1, 1])

    mesh = ax_main.pcolormesh(time, height, RR.T, shading="auto", cmap="PuBu")
    cbar = fig.colorbar(mesh, cax=cax_rr)
    cbar.set_label("rain rate (mm h-1)")

    ax_main.set_ylabel("height above sensor (m)")
    ax_main.set_title(f"{title} - rain rate")

    cmap = mcolors.LinearSegmentedColormap.from_list(
        "quality", ["red", "yellow", "green"]
    )
    norm = mcolors.Normalize(vmin=0, vmax=100)

    ax_mdq.imshow(
        MDQ[np.newaxis, :],
        aspect="auto",
        cmap=cmap,
        norm=norm,
        extent=[mdates.date2num(time[0]), mdates.date2num(time[-1]), 0, 1]
    )

    ax_mdq.set_yticks([])
    ax_mdq.set_xlabel("time")
    ax_mdq.xaxis.set_major_formatter(mdates.DateFormatter("%H:%M"))

    cbar_mdq = fig.colorbar(
        plt.cm.ScalarMappable(norm=norm, cmap=cmap),
        cax=cax_mdq
    )
    cbar_mdq.set_label("data qual (%)", loc="center")

    plt.show()
# open catalog
cat = intake.open_catalog("https://tcodata.mpimet.mpg.de/catalog.yaml")

# select dataset
mrr = cat.CIMH.mrr_c1(version=1).to_dask()

# define subset
eurec4a = slice(np.datetime64("2020-01-24"), np.datetime64("2020-01-25"))

# plot
plot_rr_with_mdq(mrr.sel(time=eurec4a))
/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),
../../_images/3f3ed18cd5ffddae8bb484b316f6c55e1c65c6c2e1862df99ba4deee46d4e128.png
# full dataset
mrr
<xarray.Dataset> Size: 171GB
Dimensions:  (time: 6886361, range: 31, bin: 64)
Coordinates:
    alt      int64 8B ...
  * bin      (bin) int64 512B 0 1 2 3 4 5 6 7 8 9 ... 55 56 57 58 59 60 61 62 63
    lat      float64 8B ...
    lon      float64 8B ...
  * range    (range) float32 124B 100.0 200.0 300.0 ... 2.9e+03 3e+03 3.1e+03
  * time     (time) datetime64[ns] 55MB 2009-12-19 ... 2025-06-29T19:54:00
Data variables: (12/15)
    CC       (time) int64 55MB dask.array<chunksize=(262144,), meta=np.ndarray>
    D        (time, range, bin) float32 55GB dask.array<chunksize=(256, 31, 32), meta=np.ndarray>
    DSN      (time) <U10 275MB dask.array<chunksize=(262144,), meta=np.ndarray>
    DVS      (time) <U4 110MB dask.array<chunksize=(262144,), meta=np.ndarray>
    F        (time, range, bin) float32 55GB dask.array<chunksize=(256, 31, 32), meta=np.ndarray>
    LWC      (time, range) float32 854MB dask.array<chunksize=(8192, 31), meta=np.ndarray>
    ...       ...
    RR       (time, range) float32 854MB dask.array<chunksize=(8192, 31), meta=np.ndarray>
    SVS      (time) <U4 110MB dask.array<chunksize=(262144,), meta=np.ndarray>
    TF       (time, range) float32 854MB dask.array<chunksize=(8192, 31), meta=np.ndarray>
    W        (time, range) float32 854MB dask.array<chunksize=(8192, 31), meta=np.ndarray>
    Z        (time, range) float32 854MB dask.array<chunksize=(8192, 31), meta=np.ndarray>
    Za       (time, range) float32 854MB dask.array<chunksize=(8192, 31), meta=np.ndarray>
Attributes:
    Conventions:      CF-1.12
    bcoproc_version:  0.0.0.post930.dev0+8a0535d
    featureType:      timeSeriesProfile
    institution:      Max Planck Institute for Meteorology, Hamburg
    license:          CC0-1.0
    location:         The Barbados Cloud Observatory (BCO), Deebles Point, Ba...
    platform:         BCO
    source:           METEK MRR-2
    title:            MRR Data from CIMH (Level 1)
    tool_versions:    {"Python": "3.11.2 (main, Apr 28 2025, 14:11:48) [GCC 1...