# Path Average Rain Rate Estimation


<!-- WARNING: THIS FILE WAS AUTOGENERATED! DO NOT EDIT! -->

``` python
cml, baseline = open_cml_sample(), open_cml_sample("baseline")
```

## k-R law for Network Management System (NMS) min/max sampling

The rain rate (*R*) can be estimated from the specific attenuation (*k*)
expressed in *d**B* · *k**m*<sup>−1</sup> using an exponential law known
as the k-R relationship:
*k* = *a**R*<sup>*b*</sup>
where *a* and *b* are parameters that depend on the frequency,
polarisation and drop size distribution (DSD). However, the available
attenuation is the Path Integrated Attenuation:
*P**I**A* = ∫<sub>0</sub><sup>*L*</sup>*k*(*l*) *d**l*
where *L* is the length of the link. We are interested in the
path-averaged rain rate *R̄*, and the above relationship can be
approximated as:

$$
PIA = \int_0^L k(l) \\ dl = \int_0^L a R(l)^b \\ dl \stackrel{b \approx 1}{=} a \bar{R}^b L
$$
The further *b* deviates from 1, the more imprecise this relationship
becomes. If attenuation sampling is not instantaneous (e.g., 15
minutes), PIA is also time-averaged; thus *R̄* becomes the time-mean
path-averaged precipitation rate.

Considering that the sample data is located in Douala, and that the *a*
and *b* coefficients are dependent on the DSD, which varies by region,
we will first develop the coefficients estimated by Alcoba (2019).

------------------------------------------------------------------------

<a
href="https://github.com/rainsmore/raincell/blob/main/raincell/rrate.py#L13"
target="_blank" style="float:right; font-size:smaller">source</a>

### alcoba_2019_africa_coefs

``` python

def alcoba_2019_africa_coefs(
    
)->Dataset:

```

*k-R relationship coefficients for Africa from [Alcoba
(2019)](https://theses.hal.science/tel-02955598/).*

``` python
alcoba_2019_africa_coefs().to_dataframe()
```

<div>
<style scoped>
    .dataframe tbody tr th:only-of-type {
        vertical-align: middle;
    }
&#10;    .dataframe tbody tr th {
        vertical-align: top;
    }
&#10;    .dataframe thead th {
        text-align: right;
    }
</style>

<table class="dataframe" data-quarto-postprocess="true" data-border="1">
<thead>
<tr style="text-align: right;">
<th data-quarto-table-cell-role="th"></th>
<th data-quarto-table-cell-role="th">a</th>
<th data-quarto-table-cell-role="th">b</th>
</tr>
<tr>
<th data-quarto-table-cell-role="th">frequency</th>
<th data-quarto-table-cell-role="th"></th>
<th data-quarto-table-cell-role="th"></th>
</tr>
</thead>
<tbody>
<tr>
<td data-quarto-table-cell-role="th">7000</td>
<td>0.000197</td>
<td>1.8540</td>
</tr>
<tr>
<td data-quarto-table-cell-role="th">8500</td>
<td>0.006600</td>
<td>1.2897</td>
</tr>
<tr>
<td data-quarto-table-cell-role="th">11000</td>
<td>0.019500</td>
<td>1.1951</td>
</tr>
<tr>
<td data-quarto-table-cell-role="th">11500</td>
<td>0.023000</td>
<td>1.1775</td>
</tr>
<tr>
<td data-quarto-table-cell-role="th">13000</td>
<td>0.034700</td>
<td>1.1333</td>
</tr>
<tr>
<td data-quarto-table-cell-role="th">14500</td>
<td>0.047300</td>
<td>1.1022</td>
</tr>
<tr>
<td data-quarto-table-cell-role="th">15000</td>
<td>0.051700</td>
<td>1.0943</td>
</tr>
<tr>
<td data-quarto-table-cell-role="th">18000</td>
<td>0.078100</td>
<td>1.0654</td>
</tr>
<tr>
<td data-quarto-table-cell-role="th">19000</td>
<td>0.087300</td>
<td>1.0600</td>
</tr>
<tr>
<td data-quarto-table-cell-role="th">22000</td>
<td>0.117100</td>
<td>1.0471</td>
</tr>
<tr>
<td data-quarto-table-cell-role="th">23000</td>
<td>0.128100</td>
<td>1.0428</td>
</tr>
</tbody>
</table>

</div>

<div>

> **Warning**
>
> While different coefficient assignment algorithms are available (see
> below), they all based on some form of nearest value. If your
> frequencies differ significantly from those listed, you may need to
> use a downscaling algorithm (such as interpolation) to generate
> coefficients for your specific frequencies before estimating rainfall.

</div>

In many scenarios, NMS only save the min and max values for the sampling
interval. Thus rain rate has to be estimated from those values. Overeem
et al. (2013), developped an algorithm that computes time mean path
averaged rain rate for 15 minute interval sampling based only on minimum
and máximum values. The algorith asumes that the TSL is constant for
each time. Thus máximum and mínimum attenuations are computed as
follows:

*A*<sub>*m**i**n*</sub> = (*T**S**L* − *R**S**L*<sub>*m**i**n*</sub>) − *b**a**s**e**l**i**n**e*

*A*<sub>*m**a**x*</sub> = (*T**S**L* − *R**S**L*<sub>*m**a**x*</sub>) − *b**a**s**e**l**i**n**e*

Then rain rate is estimated as follows.

$$
\bar{R}\_{min | max} = a \left(\frac{A\_{min|max} - WAA}{L}\right)^b H(A\_{min|max} - WAA) \quad
$$

*H*(*x*) is the Heaviside step function, defined as:

$$
H(x) = \begin{cases}
0 & \text{if } x \leq 0 \\
1 & \text{if } x \> 0
\end{cases}
$$

The baseline and WAA have already been developed in other submodules,
meaning that PIA can easily be obtained. Therefore, to maintain the
modular approach, the focus will be on obtaining the *R̄* from the PIA.
$$
\bar{R}\_{min | max} = a \left(\frac{PIA\_{min|max}}{L}\right)^b H(PIA\_{min|max}) \quad
$$
Where PIA is defined as:
*P**I**A*<sub>*m**i**n*|*m**a**x*</sub> = *A*<sub>*m**i**n*|*m**a**x*</sub> − *W**A**A*

Finally we can complute *R̄* as a weighted average of
*R̄*<sub>*m**a**x*</sub> and *R̄*<sub>*m**i**n*</sub>:
*R̄* = *α**R̄*<sub>*m**a**x*</sub> + (1 − *α*)*R̄*<sub>*m**i**n*</sub>  

Overeem et al. (2013) estimated and optimal value of *α* = 0.33 by
calibrating the model using 12 days of data from the Netherlands. We use
this value as a reasonable default; however, it should be calibrated for
each specific region and deployment.

------------------------------------------------------------------------

<a
href="https://github.com/rainsmore/raincell/blob/main/raincell/rrate.py#L50"
target="_blank" style="float:right; font-size:smaller">source</a>

### get_overeem_et_al_2013_min_max_nms_tprate

``` python

def get_overeem_et_al_2013_min_max_nms_tprate(
    pia:Dataset, # ds containing the minimum and maximum Path Integrated Attenuations (PIA)
    cfs:Dataset, # ds containing `a` and `b`, k-R law coefficients as variable and `frequency` as dim
    cfs_assign_method:str='nearest', # xr.sel method used to map the pia frequencies to the cfs freqs
    alpha:float=0.3, # weighting factor between max and min sampling rain rates
    name_min:str='pia_min', # Name of the variable containing minimum PIA
    name_max:str='pia_max', # Name of the variable containing maximum PIA
)->Dataset:

```

*Compute the rain rate using the Overeem et al. (2013) min/max sampling
approach.*

``` python
tprate = get_overeem_et_al_2013_min_max_nms_tprate(pia, alcoba_2019_africa_coefs())
tprate
```

<div><svg style="position: absolute; width: 0; height: 0; overflow: hidden">
<defs>
<symbol id="icon-database" viewBox="0 0 32 32">
<path d="M16 0c-8.837 0-16 2.239-16 5v4c0 2.761 7.163 5 16 5s16-2.239 16-5v-4c0-2.761-7.163-5-16-5z"></path>
<path d="M16 17c-8.837 0-16-2.239-16-5v6c0 2.761 7.163 5 16 5s16-2.239 16-5v-6c0 2.761-7.163 5-16 5z"></path>
<path d="M16 26c-8.837 0-16-2.239-16-5v6c0 2.761 7.163 5 16 5s16-2.239 16-5v-6c0 2.761-7.163 5-16 5z"></path>
</symbol>
<symbol id="icon-file-text2" viewBox="0 0 32 32">
<path d="M28.681 7.159c-0.694-0.947-1.662-2.053-2.724-3.116s-2.169-2.030-3.116-2.724c-1.612-1.182-2.393-1.319-2.841-1.319h-15.5c-1.378 0-2.5 1.121-2.5 2.5v27c0 1.378 1.122 2.5 2.5 2.5h23c1.378 0 2.5-1.122 2.5-2.5v-19.5c0-0.448-0.137-1.23-1.319-2.841zM24.543 5.457c0.959 0.959 1.712 1.825 2.268 2.543h-4.811v-4.811c0.718 0.556 1.584 1.309 2.543 2.268zM28 29.5c0 0.271-0.229 0.5-0.5 0.5h-23c-0.271 0-0.5-0.229-0.5-0.5v-27c0-0.271 0.229-0.5 0.5-0.5 0 0 15.499-0 15.5 0v7c0 0.552 0.448 1 1 1h7v19.5z"></path>
<path d="M23 26h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z"></path>
<path d="M23 22h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z"></path>
<path d="M23 18h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z"></path>
</symbol>
</defs>
</svg>
<style>/* CSS stylesheet for displaying xarray objects in notebooks */
&#10;:root {
  --xr-font-color0: var(
    --jp-content-font-color0,
    var(--pst-color-text-base rgba(0, 0, 0, 1))
  );
  --xr-font-color2: var(
    --jp-content-font-color2,
    var(--pst-color-text-base, rgba(0, 0, 0, 0.54))
  );
  --xr-font-color3: var(
    --jp-content-font-color3,
    var(--pst-color-text-base, rgba(0, 0, 0, 0.38))
  );
  --xr-border-color: var(
    --jp-border-color2,
    hsl(from var(--pst-color-on-background, white) h s calc(l - 10))
  );
  --xr-disabled-color: var(
    --jp-layout-color3,
    hsl(from var(--pst-color-on-background, white) h s calc(l - 40))
  );
  --xr-background-color: var(
    --jp-layout-color0,
    var(--pst-color-on-background, white)
  );
  --xr-background-color-row-even: var(
    --jp-layout-color1,
    hsl(from var(--pst-color-on-background, white) h s calc(l - 5))
  );
  --xr-background-color-row-odd: var(
    --jp-layout-color2,
    hsl(from var(--pst-color-on-background, white) h s calc(l - 15))
  );
}
&#10;html[theme="dark"],
html[data-theme="dark"],
body[data-theme="dark"],
body.vscode-dark {
  --xr-font-color0: var(
    --jp-content-font-color0,
    var(--pst-color-text-base, rgba(255, 255, 255, 1))
  );
  --xr-font-color2: var(
    --jp-content-font-color2,
    var(--pst-color-text-base, rgba(255, 255, 255, 0.54))
  );
  --xr-font-color3: var(
    --jp-content-font-color3,
    var(--pst-color-text-base, rgba(255, 255, 255, 0.38))
  );
  --xr-border-color: var(
    --jp-border-color2,
    hsl(from var(--pst-color-on-background, #111111) h s calc(l + 10))
  );
  --xr-disabled-color: var(
    --jp-layout-color3,
    hsl(from var(--pst-color-on-background, #111111) h s calc(l + 40))
  );
  --xr-background-color: var(
    --jp-layout-color0,
    var(--pst-color-on-background, #111111)
  );
  --xr-background-color-row-even: var(
    --jp-layout-color1,
    hsl(from var(--pst-color-on-background, #111111) h s calc(l + 5))
  );
  --xr-background-color-row-odd: var(
    --jp-layout-color2,
    hsl(from var(--pst-color-on-background, #111111) h s calc(l + 15))
  );
}
&#10;.xr-wrap {
  display: block !important;
  min-width: 300px;
  max-width: 700px;
  line-height: 1.6;
  padding-bottom: 4px;
}
&#10;.xr-text-repr-fallback {
  /* fallback to plain text repr when CSS is not injected (untrusted notebook) */
  display: none;
}
&#10;.xr-header {
  padding-top: 6px;
  padding-bottom: 6px;
}
&#10;.xr-header {
  border-bottom: solid 1px var(--xr-border-color);
  margin-bottom: 4px;
}
&#10;.xr-header > div,
.xr-header > ul {
  display: inline;
  margin-top: 0;
  margin-bottom: 0;
}
&#10;.xr-obj-type,
.xr-obj-name {
  margin-left: 2px;
  margin-right: 10px;
}
&#10;.xr-obj-type,
.xr-group-box-contents > label {
  color: var(--xr-font-color2);
  display: block;
}
&#10;.xr-sections {
  padding-left: 0 !important;
  display: grid;
  grid-template-columns: 150px auto auto 1fr 0 20px 0 20px;
  margin-block-start: 0;
  margin-block-end: 0;
}
&#10;.xr-section-item {
  display: contents;
}
&#10;.xr-section-item > input,
.xr-group-box-contents > input,
.xr-array-wrap > input {
  display: block;
  opacity: 0;
  height: 0;
  margin: 0;
}
&#10;.xr-section-item > input + label,
.xr-var-item > input + label {
  color: var(--xr-disabled-color);
}
&#10;.xr-section-item > input:enabled + label,
.xr-var-item > input:enabled + label,
.xr-array-wrap > input:enabled + label,
.xr-group-box-contents > input:enabled + label {
  cursor: pointer;
  color: var(--xr-font-color2);
}
&#10;.xr-section-item > input:focus-visible + label,
.xr-var-item > input:focus-visible + label,
.xr-array-wrap > input:focus-visible + label,
.xr-group-box-contents > input:focus-visible + label {
  outline: auto;
}
&#10;.xr-section-item > input:enabled + label:hover,
.xr-var-item > input:enabled + label:hover,
.xr-array-wrap > input:enabled + label:hover,
.xr-group-box-contents > input:enabled + label:hover {
  color: var(--xr-font-color0);
}
&#10;.xr-section-summary {
  grid-column: 1;
  color: var(--xr-font-color2);
  font-weight: 500;
  white-space: nowrap;
}
&#10;.xr-section-summary > em {
  font-weight: normal;
}
&#10;.xr-span-grid {
  grid-column-end: -1;
}
&#10;.xr-section-summary > span {
  display: inline-block;
  padding-left: 0.3em;
}
&#10;.xr-group-box-contents > input:checked + label > span {
  display: inline-block;
  padding-left: 0.6em;
}
&#10;.xr-section-summary-in:disabled + label {
  color: var(--xr-font-color2);
}
&#10;.xr-section-summary-in + label:before {
  display: inline-block;
  content: "►";
  font-size: 11px;
  width: 15px;
  text-align: center;
}
&#10;.xr-section-summary-in:disabled + label:before {
  color: var(--xr-disabled-color);
}
&#10;.xr-section-summary-in:checked + label:before {
  content: "▼";
}
&#10;.xr-section-summary-in:checked + label > span {
  display: none;
}
&#10;.xr-section-summary,
.xr-section-inline-details,
.xr-group-box-contents > label {
  padding-top: 4px;
}
&#10;.xr-section-inline-details {
  grid-column: 2 / -1;
}
&#10;.xr-section-details {
  grid-column: 1 / -1;
  margin-top: 4px;
  margin-bottom: 5px;
}
&#10;.xr-section-summary-in ~ .xr-section-details {
  display: none;
}
&#10;.xr-section-summary-in:checked ~ .xr-section-details {
  display: contents;
}
&#10;.xr-children {
  display: inline-grid;
  grid-template-columns: 100%;
  grid-column: 1 / -1;
  padding-top: 4px;
}
&#10;.xr-group-box {
  display: inline-grid;
  grid-template-columns: 0px 30px auto;
}
&#10;.xr-group-box-vline {
  grid-column-start: 1;
  border-right: 0.2em solid;
  border-color: var(--xr-border-color);
  width: 0px;
}
&#10;.xr-group-box-hline {
  grid-column-start: 2;
  grid-row-start: 1;
  height: 1em;
  width: 26px;
  border-bottom: 0.2em solid;
  border-color: var(--xr-border-color);
}
&#10;.xr-group-box-contents {
  grid-column-start: 3;
  padding-bottom: 4px;
}
&#10;.xr-group-box-contents > label::before {
  content: "📂";
  padding-right: 0.3em;
}
&#10;.xr-group-box-contents > input:checked + label::before {
  content: "📁";
}
&#10;.xr-group-box-contents > input:checked + label {
  padding-bottom: 0px;
}
&#10;.xr-group-box-contents > input:checked ~ .xr-sections {
  display: none;
}
&#10;.xr-group-box-contents > input + label > span {
  display: none;
}
&#10;.xr-group-box-ellipsis {
  font-size: 1.4em;
  font-weight: 900;
  color: var(--xr-font-color2);
  letter-spacing: 0.15em;
  cursor: default;
}
&#10;.xr-array-wrap {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 20px auto;
}
&#10;.xr-array-wrap > label {
  grid-column: 1;
  vertical-align: top;
}
&#10;.xr-preview {
  color: var(--xr-font-color3);
}
&#10;.xr-array-preview,
.xr-array-data {
  padding: 0 5px !important;
  grid-column: 2;
}
&#10;.xr-array-data,
.xr-array-in:checked ~ .xr-array-preview {
  display: none;
}
&#10;.xr-array-in:checked ~ .xr-array-data,
.xr-array-preview {
  display: inline-block;
}
&#10;.xr-dim-list {
  display: inline-block !important;
  list-style: none;
  padding: 0 !important;
  margin: 0;
}
&#10;.xr-dim-list li {
  display: inline-block;
  padding: 0;
  margin: 0;
}
&#10;.xr-dim-list:before {
  content: "(";
}
&#10;.xr-dim-list:after {
  content: ")";
}
&#10;.xr-dim-list li:not(:last-child):after {
  content: ",";
  padding-right: 5px;
}
&#10;.xr-has-index {
  font-weight: bold;
}
&#10;.xr-var-list,
.xr-var-item {
  display: contents;
}
&#10;.xr-var-item > div,
.xr-var-item label,
.xr-var-item > .xr-var-name span {
  background-color: var(--xr-background-color-row-even);
  border-color: var(--xr-background-color-row-odd);
  margin-bottom: 0;
  padding-top: 2px;
}
&#10;.xr-var-item > .xr-var-name:hover span {
  padding-right: 5px;
}
&#10;.xr-var-list > li:nth-child(odd) > div,
.xr-var-list > li:nth-child(odd) > label,
.xr-var-list > li:nth-child(odd) > .xr-var-name span {
  background-color: var(--xr-background-color-row-odd);
  border-color: var(--xr-background-color-row-even);
}
&#10;.xr-var-name {
  grid-column: 1;
}
&#10;.xr-var-dims {
  grid-column: 2;
}
&#10;.xr-var-dtype {
  grid-column: 3;
  text-align: right;
  color: var(--xr-font-color2);
}
&#10;.xr-var-preview {
  grid-column: 4;
}
&#10;.xr-index-preview {
  grid-column: 2 / 5;
  color: var(--xr-font-color2);
}
&#10;.xr-var-name,
.xr-var-dims,
.xr-var-dtype,
.xr-preview,
.xr-attrs dt {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  padding-right: 10px;
}
&#10;.xr-var-name:hover,
.xr-var-dims:hover,
.xr-var-dtype:hover,
.xr-attrs dt:hover {
  overflow: visible;
  width: auto;
  z-index: 1;
}
&#10;.xr-var-attrs,
.xr-var-data,
.xr-index-data {
  display: none;
  border-top: 2px dotted var(--xr-background-color);
  padding-bottom: 20px !important;
  padding-top: 10px !important;
}
&#10;.xr-var-attrs-in + label,
.xr-var-data-in + label,
.xr-index-data-in + label {
  padding: 0 1px;
}
&#10;.xr-var-attrs-in:checked ~ .xr-var-attrs,
.xr-var-data-in:checked ~ .xr-var-data,
.xr-index-data-in:checked ~ .xr-index-data {
  display: block;
}
&#10;.xr-var-data > table {
  float: right;
}
&#10;.xr-var-data > pre,
.xr-index-data > pre,
.xr-var-data > table > tbody > tr {
  background-color: transparent !important;
}
&#10;.xr-var-name span,
.xr-var-data,
.xr-index-name div,
.xr-index-data,
.xr-attrs {
  padding-left: 25px !important;
}
&#10;.xr-attrs,
.xr-var-attrs,
.xr-var-data,
.xr-index-data {
  grid-column: 1 / -1;
}
&#10;dl.xr-attrs {
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: 125px auto;
}
&#10;.xr-attrs dt,
.xr-attrs dd {
  padding: 0;
  margin: 0;
  float: left;
  padding-right: 10px;
  width: auto;
}
&#10;.xr-attrs dt {
  font-weight: normal;
  grid-column: 1;
}
&#10;.xr-attrs dt:hover span {
  display: inline-block;
  background: var(--xr-background-color);
  padding-right: 10px;
}
&#10;.xr-attrs dd {
  grid-column: 2;
  white-space: pre-wrap;
  word-break: break-all;
}
&#10;.xr-icon-database,
.xr-icon-file-text2,
.xr-no-icon {
  display: inline-block;
  vertical-align: middle;
  width: 1em;
  height: 1.5em !important;
  stroke-width: 0;
  stroke: currentColor;
  fill: currentColor;
}
&#10;.xr-var-attrs-in:checked + label > .xr-icon-file-text2,
.xr-var-data-in:checked + label > .xr-icon-database,
.xr-index-data-in:checked + label > .xr-icon-database {
  color: var(--xr-font-color0);
  filter: drop-shadow(1px 1px 5px var(--xr-font-color2));
  stroke-width: 0.8px;
}
</style><pre class='xr-text-repr-fallback'>&lt;xarray.Dataset&gt; Size: 18MB
Dimensions:      (cml_id: 126, sublink_id: 6, time: 2964)
Coordinates: (10)
Data variables:
    tprate       (cml_id, sublink_id, time) float64 18MB 0.0 0.0 0.0 ... 0.0 0.0</pre><div class='xr-wrap' style='display:none'><div class='xr-header'><div class='xr-obj-type'>xarray.Dataset</div></div><ul class='xr-sections'><li class='xr-section-item'><input id='section-9dfe9c00-5721-4939-a3a5-80c68d7d0a16' class='xr-section-summary-in' type='checkbox' disabled /><label for='section-9dfe9c00-5721-4939-a3a5-80c68d7d0a16' class='xr-section-summary'>Dimensions:</label><div class='xr-section-inline-details'><ul class='xr-dim-list'><li><span class='xr-has-index'>cml_id</span>: 126</li><li><span class='xr-has-index'>sublink_id</span>: 6</li><li><span class='xr-has-index'>time</span>: 2964</li></ul></div></li><li class='xr-section-item'><input id='section-56969c6e-9c1c-4003-aafb-8fc7a388c3f7' class='xr-section-summary-in' type='checkbox' /><label for='section-56969c6e-9c1c-4003-aafb-8fc7a388c3f7' class='xr-section-summary' title='Expand/collapse section'>Coordinates: <span>(10)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><ul class='xr-var-list'><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>cml_id</span></div><div class='xr-var-dims'>(cml_id)</div><div class='xr-var-dtype'>&lt;U19</div><div class='xr-var-preview xr-preview'>&#x27;3.984686N-9.789517E&#x27; ... &#x27;4.095...</div><input id='attrs-dfdf2855-00be-4066-9322-71a8bc51419e' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-dfdf2855-00be-4066-9322-71a8bc51419e' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-158245ef-ed80-4854-8672-665526c5d290' class='xr-var-data-in' type='checkbox'><label for='data-158245ef-ed80-4854-8672-665526c5d290' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>long_name :</span></dt><dd>commercial_microwave_link_identifier</dd></dl></div><div class='xr-var-data'><pre>array([&#x27;3.984686N-9.789517E&#x27;, &#x27;3.985691N-9.801648E&#x27;, &#x27;3.996996N-9.761328E&#x27;,
       &#x27;4.002892N-9.746861E&#x27;, &#x27;4.007006N-9.767519E&#x27;, &#x27;4.008236N-9.788792E&#x27;,
       &#x27;4.013028N-9.703569E&#x27;, &#x27;4.013180N-9.765819E&#x27;, &#x27;4.014916N-9.732514E&#x27;,
       &#x27;4.015776N-9.756458E&#x27;, &#x27;4.016656N-9.736544E&#x27;, &#x27;4.016736N-9.764944E&#x27;,
       &#x27;4.016944N-9.753305E&#x27;, &#x27;4.016962N-9.726686E&#x27;, &#x27;4.017736N-9.748042E&#x27;,
       &#x27;4.018721N-9.762325E&#x27;, &#x27;4.018764N-9.746583E&#x27;, &#x27;4.019750N-9.767776E&#x27;,
       &#x27;4.019930N-9.759403E&#x27;, &#x27;4.020440N-9.708914E&#x27;, &#x27;4.021256N-9.746180E&#x27;,
       &#x27;4.021528N-9.798792E&#x27;, &#x27;4.024043N-9.680260E&#x27;, &#x27;4.024381N-9.733274E&#x27;,
       &#x27;4.024750N-9.697977E&#x27;, &#x27;4.025125N-9.770912E&#x27;, &#x27;4.025270N-9.739593E&#x27;,
       &#x27;4.025625N-9.735889E&#x27;, &#x27;4.025880N-9.703252E&#x27;, &#x27;4.026149N-9.695650E&#x27;,
       &#x27;4.028700N-9.729934E&#x27;, &#x27;4.028708N-9.703542E&#x27;, &#x27;4.029412N-9.691581E&#x27;,
       &#x27;4.030556N-9.705569E&#x27;, &#x27;4.030907N-9.694160E&#x27;, &#x27;4.031399N-9.698080E&#x27;,
       &#x27;4.032132N-9.730055E&#x27;, &#x27;4.032560N-9.713835E&#x27;, &#x27;4.033181N-9.761500E&#x27;,
       &#x27;4.033883N-9.691732E&#x27;, &#x27;4.034149N-9.772296E&#x27;, &#x27;4.034701N-9.729347E&#x27;,
       &#x27;4.035134N-9.697875E&#x27;, &#x27;4.035679N-9.685969E&#x27;, &#x27;4.037778N-9.767028E&#x27;,
       &#x27;4.038505N-9.704950E&#x27;, &#x27;4.039270N-9.722472E&#x27;, &#x27;4.039580N-9.737019E&#x27;,
       &#x27;4.040098N-9.700828E&#x27;, &#x27;4.040792N-9.776750E&#x27;, &#x27;4.041057N-9.688122E&#x27;,
       &#x27;4.041068N-9.758319E&#x27;, &#x27;4.041256N-9.730708E&#x27;, &#x27;4.041347N-9.773597E&#x27;,
       &#x27;4.042298N-9.740333E&#x27;, &#x27;4.042502N-9.716614E&#x27;, &#x27;4.042568N-9.698128E&#x27;,
       &#x27;4.042817N-9.705986E&#x27;, &#x27;4.043833N-9.687306E&#x27;, &#x27;4.043927N-9.704314E&#x27;,
       &#x27;4.044597N-9.727069E&#x27;, &#x27;4.044736N-9.710024E&#x27;, &#x27;4.047503N-9.718511E&#x27;,
       &#x27;4.048013N-9.705195E&#x27;, &#x27;4.048153N-9.698625E&#x27;, &#x27;4.048916N-9.707667E&#x27;,
       &#x27;4.049925N-9.774582E&#x27;, &#x27;4.050150N-9.740475E&#x27;, &#x27;4.050347N-9.703473E&#x27;,
       &#x27;4.050528N-9.753875E&#x27;, &#x27;4.052083N-9.788583E&#x27;, &#x27;4.054458N-9.763403E&#x27;,
       &#x27;4.055917N-9.752681E&#x27;, &#x27;4.056070N-9.768000E&#x27;, &#x27;4.056121N-9.742152E&#x27;,
       &#x27;4.056639N-9.747222E&#x27;, &#x27;4.056847N-9.738556E&#x27;, &#x27;4.056959N-9.742472E&#x27;,
       &#x27;4.057459N-9.765805E&#x27;, &#x27;4.058236N-9.768889E&#x27;, &#x27;4.058746N-9.717759E&#x27;,
       &#x27;4.058868N-9.752014E&#x27;, &#x27;4.059014N-9.759348E&#x27;, &#x27;4.059486N-9.711928E&#x27;,
       &#x27;4.059995N-9.755237E&#x27;, &#x27;4.060816N-9.773042E&#x27;, &#x27;4.061585N-9.744609E&#x27;,
       &#x27;4.062778N-9.705333E&#x27;, &#x27;4.062903N-9.717026E&#x27;, &#x27;4.064425N-9.761904E&#x27;,
       &#x27;4.065399N-9.711476E&#x27;, &#x27;4.066549N-9.795621E&#x27;, &#x27;4.067820N-9.720067E&#x27;,
       &#x27;4.068528N-9.726056E&#x27;, &#x27;4.069079N-9.713870E&#x27;, &#x27;4.071390N-9.727304E&#x27;,
       &#x27;4.072442N-9.739396E&#x27;, &#x27;4.072503N-9.771625E&#x27;, &#x27;4.074162N-9.717861E&#x27;,
       &#x27;4.074764N-9.753625E&#x27;, &#x27;4.075098N-9.719528E&#x27;, &#x27;4.075836N-9.783931E&#x27;,
       &#x27;4.076554N-9.759058E&#x27;, &#x27;4.078069N-9.720598E&#x27;, &#x27;4.078309N-9.751204E&#x27;,
       &#x27;4.079211N-9.793847E&#x27;, &#x27;4.079299N-9.747812E&#x27;, &#x27;4.079652N-9.763472E&#x27;,
       &#x27;4.080070N-9.789737E&#x27;, &#x27;4.080399N-9.753111E&#x27;, &#x27;4.081654N-9.761180E&#x27;,
       &#x27;4.082815N-9.790491E&#x27;, &#x27;4.083040N-9.782281E&#x27;, &#x27;4.083986N-9.756718E&#x27;,
       &#x27;4.084496N-9.740917E&#x27;, &#x27;4.084732N-9.745625E&#x27;, &#x27;4.085795N-9.784833E&#x27;,
       &#x27;4.086056N-9.752500E&#x27;, &#x27;4.086283N-9.759477E&#x27;, &#x27;4.086545N-9.797375E&#x27;,
       &#x27;4.088385N-9.755778E&#x27;, &#x27;4.089034N-9.734926E&#x27;, &#x27;4.089819N-9.752833E&#x27;,
       &#x27;4.090565N-9.765189E&#x27;, &#x27;4.091611N-9.732743E&#x27;, &#x27;4.095631N-9.742507E&#x27;],
      dtype=&#x27;&lt;U19&#x27;)</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>site_0_lat</span></div><div class='xr-var-dims'>(cml_id)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>3.993 3.993 3.997 ... 4.092 4.094</div><input id='attrs-d9d1cbd7-b35b-4d79-bba0-07be2e2ba27f' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-d9d1cbd7-b35b-4d79-bba0-07be2e2ba27f' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-0cbc03fa-4fc0-4e4f-b8ca-fc953a7dbdcb' class='xr-var-data-in' type='checkbox'><label for='data-0cbc03fa-4fc0-4e4f-b8ca-fc953a7dbdcb' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>units :</span></dt><dd>degrees_in_WGS84_projection</dd><dt><span>long_name :</span></dt><dd>site_0_latitude</dd></dl></div><div class='xr-var-data'><pre>array([3.992722, 3.992722, 3.997361, 4.002553, 4.003512, 4.004194,
       4.01775 , 4.029   , 4.009639, 4.029   , 4.015972, 4.029   ,
       4.015972, 4.023444, 4.015972, 4.029   , 4.014417, 4.029   ,
       4.015972, 4.029381, 4.0194  , 4.023167, 4.022056, 4.015972,
       4.029381, 4.029   , 4.022139, 4.015972, 4.029381, 4.029381,
       4.040819, 4.029083, 4.029381, 4.029083, 4.029381, 4.029381,
       4.040819, 4.032   , 4.029   , 4.032433, 4.033028, 4.040819,
       4.029381, 4.033886, 4.029   , 4.040083, 4.040819, 4.040819,
       4.040886, 4.042306, 4.041417, 4.03875 , 4.040819, 4.029   ,
       4.040819, 4.056559, 4.040886, 4.04244 , 4.041417, 4.043194,
       4.041694, 4.040886, 4.04642 , 4.044694, 4.049556, 4.051333,
       4.050192, 4.052028, 4.052444, 4.053667, 4.053694, 4.053667,
       4.053667, 4.0585  , 4.058056, 4.053667, 4.060028, 4.053667,
       4.0585  , 4.053667, 4.06425 , 4.053667, 4.053667, 4.060333,
       4.053667, 4.0585  , 4.059611, 4.059583, 4.06425 , 4.066322,
       4.063917, 4.065848, 4.06425 , 4.065667, 4.071278, 4.071389,
       4.072222, 4.071639, 4.06425 , 4.074778, 4.070306, 4.0817  ,
       4.074778, 4.079889, 4.081867, 4.0817  , 4.085936, 4.085936,
       4.0817  , 4.085936, 4.081441, 4.0817  , 4.0817  , 4.074778,
       4.085936, 4.085936, 4.0817  , 4.074778, 4.085936, 4.0817  ,
       4.085936, 4.08679 , 4.074778, 4.08663 , 4.091944, 4.09393 ])</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>site_0_lon</span></div><div class='xr-var-dims'>(cml_id)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>9.787 9.787 9.764 ... 9.729 9.742</div><input id='attrs-38fb786c-7c96-427e-bc6b-a605cc7ec09b' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-38fb786c-7c96-427e-bc6b-a605cc7ec09b' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-c7e0109b-e663-4695-8819-e56933aa813e' class='xr-var-data-in' type='checkbox'><label for='data-c7e0109b-e663-4695-8819-e56933aa813e' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>units :</span></dt><dd>degrees_in_WGS84_projection</dd><dt><span>long_name :</span></dt><dd>site_0_longitude</dd></dl></div><div class='xr-var-data'><pre>array([9.787167, 9.787167, 9.763806, 9.745083, 9.76732 , 9.799472,
       9.705944, 9.767833, 9.741417, 9.767833, 9.738528, 9.767833,
       9.738528, 9.727083, 9.738528, 9.767833, 9.744694, 9.767833,
       9.738528, 9.696744, 9.743889, 9.792   , 9.67025 , 9.738528,
       9.696744, 9.767833, 9.737194, 9.738528, 9.696744, 9.696744,
       9.733028, 9.701944, 9.696744, 9.701944, 9.696744, 9.696744,
       9.733028, 9.71564 , 9.767833, 9.691575, 9.774333, 9.733028,
       9.696744, 9.683883, 9.767833, 9.706106, 9.733028, 9.733028,
       9.699006, 9.774   , 9.686417, 9.762056, 9.733028, 9.767833,
       9.733028, 9.702978, 9.699006, 9.704083, 9.686417, 9.707889,
       9.728389, 9.699006, 9.71598 , 9.703528, 9.698333, 9.706861,
       9.771911, 9.741306, 9.702389, 9.750917, 9.779361, 9.750917,
       9.750917, 9.768444, 9.738694, 9.750917, 9.726194, 9.750917,
       9.768444, 9.750917, 9.714664, 9.750917, 9.750917, 9.708444,
       9.750917, 9.768444, 9.743528, 9.704333, 9.714664, 9.759558,
       9.710083, 9.79152 , 9.714664, 9.722972, 9.714869, 9.729139,
       9.736111, 9.76925 , 9.714664, 9.761667, 9.719639, 9.786083,
       9.761667, 9.719417, 9.756825, 9.786083, 9.752944, 9.752944,
       9.786083, 9.752944, 9.765535, 9.786083, 9.786083, 9.761667,
       9.752944, 9.752944, 9.786083, 9.761667, 9.752944, 9.786083,
       9.752944, 9.73381 , 9.761667, 9.76601 , 9.729444, 9.74168 ])</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>site_1_lat</span></div><div class='xr-var-dims'>(cml_id)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>3.977 3.979 3.997 ... 4.091 4.097</div><input id='attrs-65b98868-b8e6-4f81-86e2-0f97d53ae959' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-65b98868-b8e6-4f81-86e2-0f97d53ae959' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-991dd354-e1b3-4130-bc84-6efbefe44285' class='xr-var-data-in' type='checkbox'><label for='data-991dd354-e1b3-4130-bc84-6efbefe44285' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>units :</span></dt><dd>degrees in WGS84 projection</dd><dt><span>long_name :</span></dt><dd>site_1_latitude</dd></dl></div><div class='xr-var-data'><pre>array([3.97665 , 3.97866 , 3.99663 , 4.003231, 4.0105  , 4.012278,
       4.008306, 3.997361, 4.020194, 4.002553, 4.01734 , 4.004472,
       4.017917, 4.01048 , 4.0195  , 4.008442, 4.023111, 4.0105  ,
       4.023889, 4.0115  , 4.023111, 4.019889, 4.02603 , 4.03279 ,
       4.02012 , 4.02125 , 4.0284  , 4.035278, 4.02238 , 4.022917,
       4.01658 , 4.028333, 4.029444, 4.032028, 4.032433, 4.033417,
       4.023444, 4.03312 , 4.037361, 4.035333, 4.03527 , 4.028583,
       4.040886, 4.037472, 4.046556, 4.036926, 4.037722, 4.038342,
       4.03931 , 4.039278, 4.040697, 4.043386, 4.041694, 4.053694,
       4.043778, 4.028444, 4.04425 , 4.043194, 4.04625 , 4.044661,
       4.0475  , 4.048586, 4.048586, 4.051333, 4.04675 , 4.0465  ,
       4.049658, 4.048272, 4.04825 , 4.047389, 4.050472, 4.05525 ,
       4.058167, 4.053639, 4.054186, 4.059611, 4.053667, 4.06025 ,
       4.056417, 4.062806, 4.053242, 4.064069, 4.064361, 4.058638,
       4.066322, 4.063131, 4.06356 , 4.065972, 4.061556, 4.062528,
       4.06688 , 4.06725 , 4.07139 , 4.071389, 4.06688 , 4.07139 ,
       4.072661, 4.073367, 4.084075, 4.07475 , 4.079889, 4.069972,
       4.07833 , 4.07625 , 4.07475 , 4.076722, 4.072661, 4.073367,
       4.07844 , 4.074861, 4.081867, 4.08393 , 4.08438 , 4.093194,
       4.083056, 4.083528, 4.089889, 4.097333, 4.08663 , 4.091389,
       4.090833, 4.091278, 4.104861, 4.0945  , 4.091278, 4.097333])</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>site_1_lon</span></div><div class='xr-var-dims'>(cml_id)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>9.792 9.816 9.759 ... 9.736 9.743</div><input id='attrs-6fa38a82-c46e-4639-b1b0-c58d2dfc24cb' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-6fa38a82-c46e-4639-b1b0-c58d2dfc24cb' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-354405bb-af64-4a8c-8903-8347f4d59812' class='xr-var-data-in' type='checkbox'><label for='data-354405bb-af64-4a8c-8903-8347f4d59812' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>units :</span></dt><dd>degrees in WGS84 projection</dd><dt><span>long_name :</span></dt><dd>site_1_longitude</dd></dl></div><div class='xr-var-data'><pre>array([9.791866, 9.81613 , 9.75885 , 9.748639, 9.767719, 9.778111,
       9.701194, 9.763806, 9.723611, 9.745083, 9.73456 , 9.762056,
       9.768083, 9.72629 , 9.757556, 9.756817, 9.748472, 9.767719,
       9.780278, 9.721083, 9.748472, 9.805583, 9.69027 , 9.72802 ,
       9.69921 , 9.77399 , 9.741992, 9.73325 , 9.70976 , 9.694556,
       9.72684 , 9.705139, 9.686417, 9.709194, 9.691575, 9.699417,
       9.727083, 9.71203 , 9.755167, 9.691889, 9.77026 , 9.725667,
       9.699006, 9.688056, 9.766222, 9.703794, 9.711917, 9.741011,
       9.70265 , 9.7795  , 9.689827, 9.754583, 9.728389, 9.779361,
       9.747639, 9.73025 , 9.69725 , 9.707889, 9.688194, 9.700739,
       9.72575 , 9.721043, 9.721043, 9.706861, 9.698917, 9.708472,
       9.777253, 9.739644, 9.704556, 9.756833, 9.797806, 9.775889,
       9.754444, 9.767556, 9.745611, 9.743528, 9.750917, 9.734028,
       9.763167, 9.786861, 9.720853, 9.75311 , 9.767778, 9.715412,
       9.759558, 9.777639, 9.74569 , 9.706333, 9.719389, 9.76425 ,
       9.71287 , 9.799722, 9.72547 , 9.729139, 9.71287 , 9.72547 ,
       9.742681, 9.774   , 9.721058, 9.745583, 9.719417, 9.781778,
       9.75645 , 9.721778, 9.745583, 9.801611, 9.742681, 9.774   ,
       9.79339 , 9.753278, 9.756825, 9.7949  , 9.77848 , 9.751769,
       9.728889, 9.738306, 9.783583, 9.743333, 9.76601 , 9.808667,
       9.758611, 9.736042, 9.744   , 9.764367, 9.736042, 9.743333])</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>length</span></div><div class='xr-var-dims'>(cml_id)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>1.852e+03 3.573e+03 ... 736.0 419.0</div><input id='attrs-0289c2d2-554a-4038-b878-d9fe67be10d8' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-0289c2d2-554a-4038-b878-d9fe67be10d8' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-6f9a4298-dfe2-4851-b734-73d9fe5e2db7' class='xr-var-data-in' type='checkbox'><label for='data-6f9a4298-dfe2-4851-b734-73d9fe5e2db7' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>units :</span></dt><dd>m</dd><dt><span>long_name :</span></dt><dd>distance_between_pair_of_antennas</dd></dl></div><div class='xr-var-data'><pre>array([1852., 3573.,  556.,  402.,  774., 2535., 1170., 3527., 2296.,
       3865.,  466., 2787., 3289., 1436., 2149., 2582., 1049., 2046.,
       4718., 3349.,  654., 1551., 2266., 2195., 1060., 1096.,  874.,
       2214., 1640.,  755., 2767.,  364., 1147.,  868.,  666.,  536.,
       2032.,  420., 1683.,  323.,  516., 1581., 1297.,  610., 1950.,
        433., 2369.,  928.,  441.,  697.,  387.,  975.,  524., 3016.,
       1655., 4340.,  420.,  431.,  570.,  810.,  706., 2591.,  611.,
        822.,  317.,  564.,  596.,  454.,  522.,  956., 2079., 2778.,
        633.,  546.,  879., 1051., 2834., 2012.,  630., 4117., 1398.,
       1176., 2214.,  796., 1697., 1142.,  498.,  741.,  603.,  669.,
        451.,  924., 1436.,  932.,  535.,  407.,  731.,  561., 2304.,
       1786., 1060., 1382.,  700.,  480., 1476., 1810., 1858., 2720.,
        888., 1225.,  968., 1010.,  895., 2314., 2690., 1647.,  947.,
       3219., 1453., 2727.,  830.,  555., 3862.,  889.,  736.,  419.])</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>sublink_id</span></div><div class='xr-var-dims'>(sublink_id)</div><div class='xr-var-dtype'>&lt;U3</div><div class='xr-var-preview xr-preview'>&#x27;0_0&#x27; &#x27;0_1&#x27; &#x27;1_0&#x27; &#x27;1_1&#x27; &#x27;2_0&#x27; &#x27;2_1&#x27;</div><input id='attrs-ce57d3c9-efae-491b-9bff-4c2ba2d50d4b' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-ce57d3c9-efae-491b-9bff-4c2ba2d50d4b' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-dcc30a81-b389-4625-9c68-9d1afb78a0ef' class='xr-var-data-in' type='checkbox'><label for='data-dcc30a81-b389-4625-9c68-9d1afb78a0ef' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>long_name :</span></dt><dd>sublink_identifier</dd></dl></div><div class='xr-var-data'><pre>array([&#x27;0_0&#x27;, &#x27;0_1&#x27;, &#x27;1_0&#x27;, &#x27;1_1&#x27;, &#x27;2_0&#x27;, &#x27;2_1&#x27;], dtype=&#x27;&lt;U3&#x27;)</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>frequency</span></div><div class='xr-var-dims'>(cml_id, sublink_id)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>1.505e+04 1.456e+04 nan ... nan nan</div><input id='attrs-efe7d420-a3ff-4bdb-86a9-babf83542754' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-efe7d420-a3ff-4bdb-86a9-babf83542754' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-2e860bf7-6bd2-4891-abbb-b2efa78699d0' class='xr-var-data-in' type='checkbox'><label for='data-2e860bf7-6bd2-4891-abbb-b2efa78699d0' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>units :</span></dt><dd>MHz</dd><dt><span>long_name :</span></dt><dd>sublink_frequency</dd></dl></div><div class='xr-var-data'><pre>array([[15047., 14557.,    nan,    nan,    nan,    nan],
       [12765., 13031.,    nan,    nan,    nan,    nan],
       [18765., 17755.,    nan,    nan,    nan,    nan],
       [14907., 14417.,    nan,    nan,    nan,    nan],
       [17728., 18738.,    nan,    nan,    nan,    nan],
       [14417., 14907.,    nan,    nan,    nan,    nan],
       [14935., 14445.,    nan,    nan,    nan,    nan],
       [14529., 15019.,    nan,    nan,    nan,    nan],
       [14935., 14445.,    nan,    nan,    nan,    nan],
       [14473., 14963.,    nan,    nan,    nan,    nan],
       [17755., 18765.,    nan,    nan,    nan,    nan],
       [ 8335.,  8454.,    nan,    nan,    nan,    nan],
       [14935., 14445.,    nan,    nan,    nan,    nan],
       [15019., 14529.,    nan,    nan,    nan,    nan],
       [14991., 14501.,    nan,    nan,    nan,    nan],
       [14501., 14991.,    nan,    nan,    nan,    nan],
       [14557., 15047.,    nan,    nan,    nan,    nan],
       [14557., 15047.,    nan,    nan,    nan,    nan],
       [15103., 14613.,    nan,    nan,    nan,    nan],
       [14417., 14907.,    nan,    nan,    nan,    nan],
...
       [14445., 14935.,    nan,    nan,    nan,    nan],
       [14529., 15019.,    nan,    nan,    nan,    nan],
       [17838., 18848.,    nan,    nan,    nan,    nan],
       [ 8468.,  8349.,    nan,    nan,    nan,    nan],
       [14417., 14907.,    nan,    nan,    nan,    nan],
       [14935., 14445.,    nan,    nan,    nan,    nan],
       [14991., 14501.,    nan,    nan,    nan,    nan],
       [14417., 14907.,    nan,    nan,    nan,    nan],
       [ 8426.,  8307.,    nan,    nan,    nan,    nan],
       [14557., 15047.,    nan,    nan,    nan,    nan],
       [14963., 14473.,    nan,    nan,    nan,    nan],
       [ 8468.,  8349.,    nan,    nan,    nan,    nan],
       [14557., 15047.,    nan,    nan,    nan,    nan],
       [14991., 14501.,    nan,    nan,    nan,    nan],
       [14585., 15075.,    nan,    nan,    nan,    nan],
       [17728., 18738.,    nan,    nan,    nan,    nan],
       [14529., 15019.,    nan,    nan,    nan,    nan],
       [14991., 14501.,    nan,    nan,    nan,    nan],
       [14585., 15075.,    nan,    nan,    nan,    nan],
       [14501., 14991.,    nan,    nan,    nan,    nan]])</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>transmitter</span></div><div class='xr-var-dims'>(cml_id, sublink_id)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>0.0 1.0 nan nan ... nan nan nan nan</div><input id='attrs-186914cb-b332-428a-a5e4-3e72dcbc099b' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-186914cb-b332-428a-a5e4-3e72dcbc099b' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-32acd659-1141-4e05-a451-a0376de51118' class='xr-var-data-in' type='checkbox'><label for='data-32acd659-1141-4e05-a451-a0376de51118' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>long_name :</span></dt><dd>transmitter_site_identifier</dd></dl></div><div class='xr-var-data'><pre>array([[ 0.,  1., nan, nan, nan, nan],
       [ 0.,  1., nan, nan, nan, nan],
       [ 0.,  1., nan, nan, nan, nan],
       [ 0.,  1., nan, nan, nan, nan],
       [ 0.,  1., nan, nan, nan, nan],
       [ 0.,  1., nan, nan, nan, nan],
       [ 0.,  1., nan, nan, nan, nan],
       [ 0.,  1., nan, nan, nan, nan],
       [ 0.,  1., nan, nan, nan, nan],
       [ 0.,  1., nan, nan, nan, nan],
       [ 0.,  1., nan, nan, nan, nan],
       [ 0.,  1., nan, nan, nan, nan],
       [ 0.,  1., nan, nan, nan, nan],
       [ 0.,  1., nan, nan, nan, nan],
       [ 0.,  1., nan, nan, nan, nan],
       [ 0.,  1., nan, nan, nan, nan],
       [ 0.,  1., nan, nan, nan, nan],
       [ 0.,  1., nan, nan, nan, nan],
       [ 0.,  1., nan, nan, nan, nan],
       [ 0.,  1., nan, nan, nan, nan],
...
       [ 0.,  1., nan, nan, nan, nan],
       [ 0.,  1., nan, nan, nan, nan],
       [ 0.,  1., nan, nan, nan, nan],
       [ 0.,  1., nan, nan, nan, nan],
       [ 0.,  1., nan, nan, nan, nan],
       [ 0.,  1., nan, nan, nan, nan],
       [ 0.,  1., nan, nan, nan, nan],
       [ 0.,  1., nan, nan, nan, nan],
       [ 0.,  1., nan, nan, nan, nan],
       [ 0.,  1., nan, nan, nan, nan],
       [ 0.,  1., nan, nan, nan, nan],
       [ 0.,  1., nan, nan, nan, nan],
       [ 0.,  1., nan, nan, nan, nan],
       [ 0.,  1., nan, nan, nan, nan],
       [ 0.,  1., nan, nan, nan, nan],
       [ 0.,  1., nan, nan, nan, nan],
       [ 0.,  1., nan, nan, nan, nan],
       [ 0.,  1., nan, nan, nan, nan],
       [ 0.,  1., nan, nan, nan, nan],
       [ 0.,  1., nan, nan, nan, nan]])</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>time</span></div><div class='xr-var-dims'>(time)</div><div class='xr-var-dtype'>datetime64[ns]</div><div class='xr-var-preview xr-preview'>2019-07-01T00:05:00 ... 2019-07-...</div><input id='attrs-9f169271-ec60-4e42-8471-a8cdf4a4bb0d' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-9f169271-ec60-4e42-8471-a8cdf4a4bb0d' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-31edcde1-dfa1-4fee-9529-970eb0d2d09d' class='xr-var-data-in' type='checkbox'><label for='data-31edcde1-dfa1-4fee-9529-970eb0d2d09d' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>long_name :</span></dt><dd>time_utc</dd></dl></div><div class='xr-var-data'><pre>array([&#x27;2019-07-01T00:05:00.000000000&#x27;, &#x27;2019-07-01T00:20:00.000000000&#x27;,
       &#x27;2019-07-01T00:35:00.000000000&#x27;, ..., &#x27;2019-07-31T23:20:00.000000000&#x27;,
       &#x27;2019-07-31T23:35:00.000000000&#x27;, &#x27;2019-07-31T23:50:00.000000000&#x27;],
      shape=(2964,), dtype=&#x27;datetime64[ns]&#x27;)</pre></div></li></ul></div></li><li class='xr-section-item'><input id='section-3f8e2018-9984-459b-809c-e9653dfd5003' class='xr-section-summary-in' type='checkbox' checked /><label for='section-3f8e2018-9984-459b-809c-e9653dfd5003' class='xr-section-summary' title='Expand/collapse section'>Data variables: <span>(1)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><ul class='xr-var-list'><li class='xr-var-item'><div class='xr-var-name'><span>tprate</span></div><div class='xr-var-dims'>(cml_id, sublink_id, time)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0</div><input id='attrs-ff7fa75b-0dc7-4557-8735-7ff089129e13' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-ff7fa75b-0dc7-4557-8735-7ff089129e13' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-f7937a16-4a71-4e2b-b3d7-85170dc9bb9d' class='xr-var-data-in' type='checkbox'><label for='data-f7937a16-4a71-4e2b-b3d7-85170dc9bb9d' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>long_name :</span></dt><dd>time_mean_path_averaged_rain_rate</dd><dt><span>units :</span></dt><dd>mm/h</dd></dl></div><div class='xr-var-data'><pre>array([[[0., 0., 0., ..., 0., 0., 0.],
        [0., 0., 0., ..., 0., 0., 0.],
        [0., 0., 0., ..., 0., 0., 0.],
        [0., 0., 0., ..., 0., 0., 0.],
        [0., 0., 0., ..., 0., 0., 0.],
        [0., 0., 0., ..., 0., 0., 0.]],
&#10;       [[0., 0., 0., ..., 0., 0., 0.],
        [0., 0., 0., ..., 0., 0., 0.],
        [0., 0., 0., ..., 0., 0., 0.],
        [0., 0., 0., ..., 0., 0., 0.],
        [0., 0., 0., ..., 0., 0., 0.],
        [0., 0., 0., ..., 0., 0., 0.]],
&#10;       [[0., 0., 0., ..., 0., 0., 0.],
        [0., 0., 0., ..., 0., 0., 0.],
        [0., 0., 0., ..., 0., 0., 0.],
        [0., 0., 0., ..., 0., 0., 0.],
        [0., 0., 0., ..., 0., 0., 0.],
        [0., 0., 0., ..., 0., 0., 0.]],
...
       [[0., 0., 0., ..., 0., 0., 0.],
        [0., 0., 0., ..., 0., 0., 0.],
        [0., 0., 0., ..., 0., 0., 0.],
        [0., 0., 0., ..., 0., 0., 0.],
        [0., 0., 0., ..., 0., 0., 0.],
        [0., 0., 0., ..., 0., 0., 0.]],
&#10;       [[0., 0., 0., ..., 0., 0., 0.],
        [0., 0., 0., ..., 0., 0., 0.],
        [0., 0., 0., ..., 0., 0., 0.],
        [0., 0., 0., ..., 0., 0., 0.],
        [0., 0., 0., ..., 0., 0., 0.],
        [0., 0., 0., ..., 0., 0., 0.]],
&#10;       [[0., 0., 0., ..., 0., 0., 0.],
        [0., 0., 0., ..., 0., 0., 0.],
        [0., 0., 0., ..., 0., 0., 0.],
        [0., 0., 0., ..., 0., 0., 0.],
        [0., 0., 0., ..., 0., 0., 0.],
        [0., 0., 0., ..., 0., 0., 0.]]], shape=(126, 6, 2964))</pre></div></li></ul></div></li></ul></div></div>

![](13_rain_rate_files/figure-commonmark/cell-7-output-1.png)

#### References

- Alcoba Kait, M. 2019. A contribution to rainfall observation in Africa
  from polarimetric weather radar and commercial microwave links.
  Ph.D. dissertation, Université Paul Sabatier – Toulouse III,
  202 pages. https://tel-02955598 (accessed 2025‑11‑21).
- Overeem, A., H. Leijnse, and R. Uijlenhoet, 2013: Country-wide
  rainfall maps from cellular communication networks. Proceedings of the
  National Academy of Sciences, 110, 2741–2745,
  doi:10.1073/pnas.1217961110.
- Chwala, C., and H. Kunstmann, 2019: Commercial Microwave Link Networks
  for rainfall observation: Assessment of the current status and future
  challenges. WIREs Water, 6, doi:10.1002/wat2.1337.
