# Romulo plot


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

## Romulo for CML

``` python
sel_time = {"time": slice("2019-07-17", "2019-07-27")}
cml = open_cml_sample().sel(**sel_time)
att = cml["tsl_avg"] - cml["rsl_avg"]
att
```

<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.DataArray (cml_id: 126, sublink_id: 6, time: 1052)&gt; Size: 6MB
57.5 57.6 57.6 57.6 57.6 57.7 57.7 57.7 57.7 ... nan nan nan nan nan nan nan nan
Coordinates: (10)
Attributes:
    units:    dBm</pre><div class='xr-wrap' style='display:none'><div class='xr-header'><div class='xr-obj-type'>xarray.DataArray</div><div class='xr-obj-name'></div><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>: 1052</li></ul></div><ul class='xr-sections'><li class='xr-section-item'><div class='xr-array-wrap'><input id='section-21f04a85-74f4-4bb5-b982-7d0cea29fcce' class='xr-array-in' type='checkbox' ><label for='section-21f04a85-74f4-4bb5-b982-7d0cea29fcce' title='Show/hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-array-preview xr-preview'><span>57.5 57.6 57.6 57.6 57.6 57.7 57.7 ... nan nan nan nan nan nan nan</span></div><div class='xr-array-data'><pre>array([[[57.5, 57.6, 57.6, ..., 58.7, 58.7, 58.6],
        [56.6, 56.6, 56.6, ..., 57.5, 57.5, 57.4],
        [ nan,  nan,  nan, ...,  nan,  nan,  nan],
        [ nan,  nan,  nan, ...,  nan,  nan,  nan],
        [ nan,  nan,  nan, ...,  nan,  nan,  nan],
        [ nan,  nan,  nan, ...,  nan,  nan,  nan]],
&#10;       [[60.6, 60.6, 60.8, ..., 59.1, 59.1, 59.1],
        [61.2, 61.2, 61.2, ..., 58.5, 58.5, 58.5],
        [ nan,  nan,  nan, ...,  nan,  nan,  nan],
        [ nan,  nan,  nan, ...,  nan,  nan,  nan],
        [ nan,  nan,  nan, ...,  nan,  nan,  nan],
        [ nan,  nan,  nan, ...,  nan,  nan,  nan]],
&#10;       [[46.6, 46.6, 46.6, ..., 47.3, 47.3, 47. ],
        [45.7, 45.7, 45.6, ..., 46.2, 46. , 45.8],
        [ nan,  nan,  nan, ...,  nan,  nan,  nan],
        [ nan,  nan,  nan, ...,  nan,  nan,  nan],
        [ nan,  nan,  nan, ...,  nan,  nan,  nan],
        [ nan,  nan,  nan, ...,  nan,  nan,  nan]],
...
       [[50.6, 50.6, 50.5, ..., 51.1, 51.4, 51.4],
        [49.5, 49.6, 49.5, ..., 50.2, 50.7, 50.7],
        [ nan,  nan,  nan, ...,  nan,  nan,  nan],
        [ nan,  nan,  nan, ...,  nan,  nan,  nan],
        [ nan,  nan,  nan, ...,  nan,  nan,  nan],
        [ nan,  nan,  nan, ...,  nan,  nan,  nan]],
&#10;       [[53.9, 53.9, 53.9, ..., 54.5, 54.6, 54.7],
        [53.8, 53.9, 53.8, ..., 54.3, 54.4, 54.6],
        [ nan,  nan,  nan, ...,  nan,  nan,  nan],
        [ nan,  nan,  nan, ...,  nan,  nan,  nan],
        [ nan,  nan,  nan, ...,  nan,  nan,  nan],
        [ nan,  nan,  nan, ...,  nan,  nan,  nan]],
&#10;       [[47. , 47. , 47. , ..., 47.6, 47.9, 47.9],
        [46.4, 46.5, 46.5, ..., 47.3, 47.6, 47.9],
        [ nan,  nan,  nan, ...,  nan,  nan,  nan],
        [ nan,  nan,  nan, ...,  nan,  nan,  nan],
        [ nan,  nan,  nan, ...,  nan,  nan,  nan],
        [ nan,  nan,  nan, ...,  nan,  nan,  nan]]], shape=(126, 6, 1052))</pre></div></div></li><li class='xr-section-item'><input id='section-ad716f10-c21b-44b0-ab45-d6164a4ffe0d' class='xr-section-summary-in' type='checkbox' /><label for='section-ad716f10-c21b-44b0-ab45-d6164a4ffe0d' 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-90e854ca-949a-4820-84c1-01ccedcf396f' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-90e854ca-949a-4820-84c1-01ccedcf396f' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-e13ea126-2c26-4512-bd50-47008b83901e' class='xr-var-data-in' type='checkbox'><label for='data-e13ea126-2c26-4512-bd50-47008b83901e' 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-f164ac85-d026-4f84-ad5f-9b174123ad12' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-f164ac85-d026-4f84-ad5f-9b174123ad12' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-3f5936a5-bb15-45eb-89e3-b87b9e2e10e7' class='xr-var-data-in' type='checkbox'><label for='data-3f5936a5-bb15-45eb-89e3-b87b9e2e10e7' 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-0d8a074f-654f-4251-b3ee-fc589032c6b1' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-0d8a074f-654f-4251-b3ee-fc589032c6b1' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-e0ec7c01-5e7b-4207-9676-b2edcffdad4b' class='xr-var-data-in' type='checkbox'><label for='data-e0ec7c01-5e7b-4207-9676-b2edcffdad4b' 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-ffcdd71b-9adb-4b02-afda-730db887394a' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-ffcdd71b-9adb-4b02-afda-730db887394a' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-2a0d4afd-6883-46db-bf81-3c406faa6d1b' class='xr-var-data-in' type='checkbox'><label for='data-2a0d4afd-6883-46db-bf81-3c406faa6d1b' 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-f4becebf-fef5-459c-b889-348b0bbf6e59' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-f4becebf-fef5-459c-b889-348b0bbf6e59' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-2ab87778-c524-4c7b-935f-54a8f38d77e2' class='xr-var-data-in' type='checkbox'><label for='data-2ab87778-c524-4c7b-935f-54a8f38d77e2' 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-40a9485c-d6ee-4be9-b6ed-f3613b833df5' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-40a9485c-d6ee-4be9-b6ed-f3613b833df5' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-9d8059bd-4980-442b-b1b0-4c1e3ffcf223' class='xr-var-data-in' type='checkbox'><label for='data-9d8059bd-4980-442b-b1b0-4c1e3ffcf223' 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-28a1cac4-afa4-45db-aac8-52557c3988bb' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-28a1cac4-afa4-45db-aac8-52557c3988bb' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-f614539a-bf9b-47bd-972e-a69e23b5bdd4' class='xr-var-data-in' type='checkbox'><label for='data-f614539a-bf9b-47bd-972e-a69e23b5bdd4' 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-016c32cf-d0f5-49f7-a775-6298fd1f3487' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-016c32cf-d0f5-49f7-a775-6298fd1f3487' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-d3f267ed-a7ec-42ec-b789-f8e1a4e5c586' class='xr-var-data-in' type='checkbox'><label for='data-d3f267ed-a7ec-42ec-b789-f8e1a4e5c586' 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-a2c784ed-b282-4201-b1ff-2c17c2b5df06' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-a2c784ed-b282-4201-b1ff-2c17c2b5df06' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-3337aeaf-f8b6-45d4-bec0-08ac7b7eb365' class='xr-var-data-in' type='checkbox'><label for='data-3337aeaf-f8b6-45d4-bec0-08ac7b7eb365' 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-17T00:05:00 ... 2019-07-...</div><input id='attrs-7c5fe364-d804-4509-907a-d5baf7338084' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-7c5fe364-d804-4509-907a-d5baf7338084' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-c764f198-4923-4978-88d3-8a72b70368f1' class='xr-var-data-in' type='checkbox'><label for='data-c764f198-4923-4978-88d3-8a72b70368f1' 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-17T00:05:00.000000000&#x27;, &#x27;2019-07-17T00:20:00.000000000&#x27;,
       &#x27;2019-07-17T00:35:00.000000000&#x27;, ..., &#x27;2019-07-27T23:20:00.000000000&#x27;,
       &#x27;2019-07-27T23:35:00.000000000&#x27;, &#x27;2019-07-27T23:50:00.000000000&#x27;],
      shape=(1052,), dtype=&#x27;datetime64[ns]&#x27;)</pre></div></li></ul></div></li><li class='xr-section-item'><input id='section-02e559bf-c8c7-46ee-98b4-787d35a2ca80' class='xr-section-summary-in' type='checkbox' checked /><label for='section-02e559bf-c8c7-46ee-98b4-787d35a2ca80' class='xr-section-summary' title='Expand/collapse section'>Attributes: <span>(1)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><dl class='xr-attrs'><dt><span>units :</span></dt><dd>dBm</dd></dl></div></li></ul></div></div>

The OpenSense standard defines three dimensions. However, Romulo plots
are two-dimensional. For this reason, we need to reduce the data from
three dimensions to two. This can be done by combining the `cml_id` and
`sublink_id` values to create a single dimension.

Data is sorted by length because, for equal frequency and polarization,
*A*<sub>*r**a**i**n*</sub> ∝ *l**e**n**g**t**h*.

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

### romulo_plot_cml

``` python

def romulo_plot_cml(
    cml:DataArray, # CML data to plot
    title:str=None, # Title for the plot
    fig:Figure=None, ax:Axes=None, figsize:tuple=(16, 9), # Figure size, only used if fig or ax are None
    vmax:float | None=None, # Maximum value for colormap
)->tuple:

```

*Plot an overview of the CML data sorted by length. Negative values,
which are not phisically possible are shown in red.*

``` python
romulo_plot_cml(att, "Average attenuation");
```

![](20_plot.romulo_files/figure-commonmark/cell-4-output-1.png)

In order to plot negative data (for example RSL) you can do:

``` python
romulo_plot_cml(-cml["rsl_avg"], "Inverted Average Received Signal Level");
```

![](20_plot.romulo_files/figure-commonmark/cell-5-output-1.png)

## Romulo for gauges

``` python
gauges = open_gauge_sample().sel(**sel_time)
```

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

### romulo_plot_gauges

``` python

def romulo_plot_gauges(
    gauges:DataArray, # Gauge data to plot
    fig:Figure=None, ax:Axes=None, figsize:tuple=(12, 2), # Figure size, only used if fig or ax are None
    vmax:float=4, # Maximum value for colormap
)->tuple:

```

*Plot data as a heatmap with grid lines separating each gauge.*

The following error will be displayed if we try to call the function
using the source data.

<details class="code-fold">
<summary>Code</summary>

``` python
try:
    romulo_plot_gauges(gauges["rainfall_amount"]);
except IndexError as e:
    print(e)
```

</details>

    Irregular time index detected: pcolormesh/imshow stretch cells across gaps, producing misleading plots. 
            Please regularize the time index before plotting:
            - e.g. `da.reindex(time=pd.date_range(..., freq='5min'))`: inserts NaN at missing steps.  Use when timestamps already 
                align to a fixed grid/sampling rate but some are absent.
            - e.g. `da.resample(time='5min').sum(min_count=1)`: aggregates values into regular bins. Use when timestamps don't fall 
                on a fixed grid/sampling rate.

Let’s therefore regularise the dataset and plot the results. As our
sampling rate is regular (every five minutes), we can use reindexing. In
the plot, red values indicate invalid data (negative rain), while black
values show missing data.

``` python
regularized = gauges.reindex(time=pd.date_range(gauges.time.min().values, gauges.time.max().values, freq="5min"))
romulo_plot_gauges(regularized["rainfall_amount"]);
```

![](20_plot.romulo_files/figure-commonmark/cell-9-output-1.png)

Or only a single gauge

``` python
romulo_plot_gauges(regularized["rainfall_amount"].isel(id=slice(0, 1)), figsize=(12, 0.5));
```

![](20_plot.romulo_files/figure-commonmark/cell-10-output-1.png)

## CML and Gauges together

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

### romulo_plot

``` python

def romulo_plot(
    cml:DataArray, # CML raw or derived data in OpenSense standard
    gauges:DataArray, # Rain gauges data as 2D data array
    title:str | None=None, figsize:tuple=(16, 9), ratio:int=4, # Ratio of the CML plot vs Gauges plot
    cml_vmax:float | None=None, # Maximum value for CML colormap
    gauges_vmax:float=4, # Maximum value for Gauges colormap
)->tuple:

```

*Call self as a function.*

``` python
romulo_plot(att, regularized["rainfall_amount"], title="Attenuation and rainfall in Douala");
```

![](20_plot.romulo_files/figure-commonmark/cell-12-output-1.png)
