Skip to content
Snippets Groups Projects
MatfiletoNetCDF_CL_ARTofMELT_v1.ipynb 485 KiB
Newer Older
       "\n",
       ".xr-var-preview {\n",
       "  grid-column: 4;\n",
       "}\n",
       "\n",
       ".xr-var-name,\n",
       ".xr-var-dims,\n",
       ".xr-var-dtype,\n",
       ".xr-preview,\n",
       ".xr-attrs dt {\n",
       "  white-space: nowrap;\n",
       "  overflow: hidden;\n",
       "  text-overflow: ellipsis;\n",
       "  padding-right: 10px;\n",
       "}\n",
       "\n",
       ".xr-var-name:hover,\n",
       ".xr-var-dims:hover,\n",
       ".xr-var-dtype:hover,\n",
       ".xr-attrs dt:hover {\n",
       "  overflow: visible;\n",
       "  width: auto;\n",
       "  z-index: 1;\n",
       "}\n",
       "\n",
       ".xr-var-attrs,\n",
       ".xr-var-data {\n",
       "  display: none;\n",
       "  background-color: var(--xr-background-color) !important;\n",
       "  padding-bottom: 5px !important;\n",
       "}\n",
       "\n",
       ".xr-var-attrs-in:checked ~ .xr-var-attrs,\n",
       ".xr-var-data-in:checked ~ .xr-var-data {\n",
       "  display: block;\n",
       "}\n",
       "\n",
       ".xr-var-data > table {\n",
       "  float: right;\n",
       "}\n",
       "\n",
       ".xr-var-name span,\n",
       ".xr-var-data,\n",
       ".xr-attrs {\n",
       "  padding-left: 25px !important;\n",
       "}\n",
       "\n",
       ".xr-attrs,\n",
       ".xr-var-attrs,\n",
       ".xr-var-data {\n",
       "  grid-column: 1 / -1;\n",
       "}\n",
       "\n",
       "dl.xr-attrs {\n",
       "  padding: 0;\n",
       "  margin: 0;\n",
       "  display: grid;\n",
       "  grid-template-columns: 125px auto;\n",
       "}\n",
       "\n",
       ".xr-attrs dt,\n",
       ".xr-attrs dd {\n",
       "  padding: 0;\n",
       "  margin: 0;\n",
       "  float: left;\n",
       "  padding-right: 10px;\n",
       "  width: auto;\n",
       "}\n",
       "\n",
       ".xr-attrs dt {\n",
       "  font-weight: normal;\n",
       "  grid-column: 1;\n",
       "}\n",
       "\n",
       ".xr-attrs dt:hover span {\n",
       "  display: inline-block;\n",
       "  background: var(--xr-background-color);\n",
       "  padding-right: 10px;\n",
       "}\n",
       "\n",
       ".xr-attrs dd {\n",
       "  grid-column: 2;\n",
       "  white-space: pre-wrap;\n",
       "  word-break: break-all;\n",
       "}\n",
       "\n",
       ".xr-icon-database,\n",
       ".xr-icon-file-text2 {\n",
       "  display: inline-block;\n",
       "  vertical-align: middle;\n",
       "  width: 1em;\n",
       "  height: 1.5em !important;\n",
       "  stroke-width: 0;\n",
       "  stroke: currentColor;\n",
       "  fill: currentColor;\n",
       "}\n",
       "</style><pre class='xr-text-repr-fallback'>&lt;xarray.Dataset&gt;\n",
       "Dimensions:                       (cloud_layer: 3, range_levels: 770, sky_condition_layer: 5, time: 54251)\n",
       "Coordinates:\n",
       "  * time                          (time) datetime64[ns] 2023-05-07T00:00:52.2...\n",
       "  * range_levels                  (range_levels) int32 1 2 3 4 ... 768 769 770\n",
       "  * cloud_layer                   (cloud_layer) int32 1 2 3\n",
       "  * sky_condition_layer           (sky_condition_layer) int32 1 2 3 4 5\n",
       "Data variables: (12/15)\n",
       "    day_of_year                   (time) float32 127.0 127.0 ... 164.7 164.7\n",
       "    year                          (time) int32 2023 2023 2023 ... 2023 2023 2023\n",
       "    month                         (time) int32 5 5 5 5 5 5 5 5 ... 6 6 6 6 6 6 6\n",
       "    day                           (time) int32 7 7 7 7 7 7 ... 13 13 13 13 13 13\n",
       "    hour                          (time) int32 0 0 0 0 0 0 ... 16 16 16 16 16 16\n",
       "    minute                        (time) int32 0 2 3 4 5 6 ... 18 19 20 21 22 23\n",
       "    ...                            ...\n",
       "    vertical_visibility           (time) float32 nan nan nan nan ... nan nan nan\n",
       "    highest_detected_signal       (time) float32 nan nan nan nan ... nan nan nan\n",
       "    cloud_base_altitude           (time, cloud_layer) float32 808.3 ... nan\n",
       "    sky_condition_cloud_fraction  (time, sky_condition_layer) float32 6.0 ......\n",
       "    sky_condition_cloud_altitude  (time, sky_condition_layer) float32 775.0 ....\n",
       "    backscatter_profile           (time, range_levels) float32 0.0003533 ... ...\n",
       "Attributes: (12/27)\n",
       "    Conventions:                           CF-1.8\n",
       "    source:                                Ceilometer\n",
       "    instrument_model:                      Vaisala Ceilometer CL31\n",
       "    creator_name:                          Sonja Murto\n",
       "    creator_email:                         sonja.murto@misu.su.se\n",
       "    creator_url:                           https://orcid.org/0000-0002-4966-9077\n",
       "    ...                                    ...\n",
       "    time_coverage_start:                   2023-05-07T00:00:52\n",
       "    time_coverage_end:                     2023-06-13T16:23:37\n",
       "    geospatial_bounds:                     80.52392166666667N, -3.87377499999...\n",
       "    platform_altitude:                     Located at approximately 25 m a.s.l\n",
       "    location_keywords:                     Oden, Arctic Ocean, Fram Strait, a...\n",
Sonja Murto's avatar
Sonja Murto committed
       "    comments:                              This file consists of 1 min averag...</pre><div class='xr-wrap' hidden><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-c8a8ecf0-c432-410d-8670-7ba62f030f36' class='xr-section-summary-in' type='checkbox' disabled ><label for='section-c8a8ecf0-c432-410d-8670-7ba62f030f36' class='xr-section-summary'  title='Expand/collapse section'>Dimensions:</label><div class='xr-section-inline-details'><ul class='xr-dim-list'><li><span class='xr-has-index'>cloud_layer</span>: 3</li><li><span class='xr-has-index'>range_levels</span>: 770</li><li><span class='xr-has-index'>sky_condition_layer</span>: 5</li><li><span class='xr-has-index'>time</span>: 54251</li></ul></div><div class='xr-section-details'></div></li><li class='xr-section-item'><input id='section-29b2e0c2-9c68-4874-a914-4c4cafa83672' class='xr-section-summary-in' type='checkbox'  checked><label for='section-29b2e0c2-9c68-4874-a914-4c4cafa83672' class='xr-section-summary' >Coordinates: <span>(4)</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'>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'>2023-05-07T00:00:52.265334 ... 2...</div><input id='attrs-5821690b-40af-4d89-b65f-6bf8c1d70ec1' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-5821690b-40af-4d89-b65f-6bf8c1d70ec1' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-db5f3a96-512f-41e4-bc56-246e78e768ab' class='xr-var-data-in' type='checkbox'><label for='data-db5f3a96-512f-41e4-bc56-246e78e768ab' 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'></dl></div><div class='xr-var-data'><pre>array([&#x27;2023-05-07T00:00:52.265334000&#x27;, &#x27;2023-05-07T00:02:07.263497000&#x27;,\n",
       "       &#x27;2023-05-07T00:03:07.263001000&#x27;, ..., &#x27;2023-06-13T16:21:37.297999000&#x27;,\n",
       "       &#x27;2023-06-13T16:22:37.297000000&#x27;, &#x27;2023-06-13T16:23:37.296001000&#x27;],\n",
Sonja Murto's avatar
Sonja Murto committed
       "      dtype=&#x27;datetime64[ns]&#x27;)</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>range_levels</span></div><div class='xr-var-dims'>(range_levels)</div><div class='xr-var-dtype'>int32</div><div class='xr-var-preview xr-preview'>1 2 3 4 5 6 ... 766 767 768 769 770</div><input id='attrs-5348be17-6a5e-43a5-86d2-4c43befeb566' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-5348be17-6a5e-43a5-86d2-4c43befeb566' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-54136a38-e88e-4ed6-9de8-b740986bae82' class='xr-var-data-in' type='checkbox'><label for='data-54136a38-e88e-4ed6-9de8-b740986bae82' 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'></dl></div><div class='xr-var-data'><pre>array([  1,   2,   3, ..., 768, 769, 770], dtype=int32)</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>cloud_layer</span></div><div class='xr-var-dims'>(cloud_layer)</div><div class='xr-var-dtype'>int32</div><div class='xr-var-preview xr-preview'>1 2 3</div><input id='attrs-063be0c7-bba9-4140-9ddf-bc4098d2b188' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-063be0c7-bba9-4140-9ddf-bc4098d2b188' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-a535b096-5490-418b-8ba0-ff7246dcbfff' class='xr-var-data-in' type='checkbox'><label for='data-a535b096-5490-418b-8ba0-ff7246dcbfff' 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'></dl></div><div class='xr-var-data'><pre>array([1, 2, 3], dtype=int32)</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>sky_condition_layer</span></div><div class='xr-var-dims'>(sky_condition_layer)</div><div class='xr-var-dtype'>int32</div><div class='xr-var-preview xr-preview'>1 2 3 4 5</div><input id='attrs-1bd83c73-d317-42c3-a0e4-acc76acad1f6' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-1bd83c73-d317-42c3-a0e4-acc76acad1f6' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-fd5a2d91-26a2-4598-8f69-b57690996ad8' class='xr-var-data-in' type='checkbox'><label for='data-fd5a2d91-26a2-4598-8f69-b57690996ad8' 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'></dl></div><div class='xr-var-data'><pre>array([1, 2, 3, 4, 5], dtype=int32)</pre></div></li></ul></div></li><li class='xr-section-item'><input id='section-33b4e616-0d1e-4190-a9ff-f05f5d1e3ef7' class='xr-section-summary-in' type='checkbox'  ><label for='section-33b4e616-0d1e-4190-a9ff-f05f5d1e3ef7' class='xr-section-summary' >Data variables: <span>(15)</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>day_of_year</span></div><div class='xr-var-dims'>(time)</div><div class='xr-var-dtype'>float32</div><div class='xr-var-preview xr-preview'>127.0 127.0 127.0 ... 164.7 164.7</div><input id='attrs-6c572098-9585-4785-b9ea-25e7c49f4521' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-6c572098-9585-4785-b9ea-25e7c49f4521' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-d8a34d23-038b-4d6e-add0-d156a487e737' class='xr-var-data-in' type='checkbox'><label for='data-d8a34d23-038b-4d6e-add0-d156a487e737' 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>type :</span></dt><dd>float32</dd><dt><span>dimension :</span></dt><dd>time</dd><dt><span>units :</span></dt><dd>1</dd><dt><span>long_name :</span></dt><dd>Day of Year</dd><dt><span>description :</span></dt><dd>time as decimal day of year</dd></dl></div><div class='xr-var-data'><pre>array([127.0006 , 127.00147, 127.00217, ..., 164.68169, 164.68237,\n",
       "       164.68307], dtype=float32)</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>year</span></div><div class='xr-var-dims'>(time)</div><div class='xr-var-dtype'>int32</div><div class='xr-var-preview xr-preview'>2023 2023 2023 ... 2023 2023 2023</div><input id='attrs-c8065166-6a3b-42de-8b91-227930bdad37' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-c8065166-6a3b-42de-8b91-227930bdad37' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-e52b4347-7c86-440a-96aa-dc7967cf7530' class='xr-var-data-in' type='checkbox'><label for='data-e52b4347-7c86-440a-96aa-dc7967cf7530' 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>type :</span></dt><dd>int32</dd><dt><span>dimension :</span></dt><dd>time</dd><dt><span>units :</span></dt><dd>1</dd><dt><span>long_name :</span></dt><dd>Year</dd></dl></div><div class='xr-var-data'><pre>array([2023, 2023, 2023, ..., 2023, 2023, 2023], dtype=int32)</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>month</span></div><div class='xr-var-dims'>(time)</div><div class='xr-var-dtype'>int32</div><div class='xr-var-preview xr-preview'>5 5 5 5 5 5 5 5 ... 6 6 6 6 6 6 6 6</div><input id='attrs-201157e7-3a5d-41d6-bad3-2858c587806d' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-201157e7-3a5d-41d6-bad3-2858c587806d' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-49cc089d-5779-4c38-9041-09f3a228cef2' class='xr-var-data-in' type='checkbox'><label for='data-49cc089d-5779-4c38-9041-09f3a228cef2' 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>type :</span></dt><dd>int32</dd><dt><span>dimension :</span></dt><dd>time</dd><dt><span>units :</span></dt><dd>1</dd><dt><span>long_name :</span></dt><dd>Month</dd></dl></div><div class='xr-var-data'><pre>array([5, 5, 5, ..., 6, 6, 6], dtype=int32)</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>day</span></div><div class='xr-var-dims'>(time)</div><div class='xr-var-dtype'>int32</div><div class='xr-var-preview xr-preview'>7 7 7 7 7 7 7 ... 13 13 13 13 13 13</div><input id='attrs-5999efe8-c639-4df4-8efe-a54f46601a30' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-5999efe8-c639-4df4-8efe-a54f46601a30' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-314ae8e3-0040-4e47-8264-cab168b2cf8d' class='xr-var-data-in' type='checkbox'><label for='data-314ae8e3-0040-4e47-8264-cab168b2cf8d' 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>type :</span></dt><dd>int32</dd><dt><span>dimension :</span></dt><dd>time</dd><dt><span>units :</span></dt><dd>1</dd><dt><span>long_name :</span></dt><dd>Day</dd></dl></div><div class='xr-var-data'><pre>array([ 7,  7,  7, ..., 13, 13, 13], dtype=int32)</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>hour</span></div><div class='xr-var-dims'>(time)</div><div class='xr-var-dtype'>int32</div><div class='xr-var-preview xr-preview'>0 0 0 0 0 0 0 ... 16 16 16 16 16 16</div><input id='attrs-ba90909f-954b-40a9-bb1e-ebd936e72944' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-ba90909f-954b-40a9-bb1e-ebd936e72944' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-50f7c962-b796-4f5d-8392-90399ce54909' class='xr-var-data-in' type='checkbox'><label for='data-50f7c962-b796-4f5d-8392-90399ce54909' 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>type :</span></dt><dd>int32</dd><dt><span>dimension :</span></dt><dd>time</dd><dt><span>units :</span></dt><dd>1</dd><dt><span>long_name :</span></dt><dd>Hour</dd></dl></div><div class='xr-var-data'><pre>array([ 0,  0,  0, ..., 16, 16, 16], dtype=int32)</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>minute</span></div><div class='xr-var-dims'>(time)</div><div class='xr-var-dtype'>int32</div><div class='xr-var-preview xr-preview'>0 2 3 4 5 6 7 ... 18 19 20 21 22 23</div><input id='attrs-b8b05877-fcc9-4485-9be1-9135c6fab5e5' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-b8b05877-fcc9-4485-9be1-9135c6fab5e5' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-5cb8b9d3-da66-44bf-a059-559177e7b4ed' class='xr-var-data-in' type='checkbox'><label for='data-5cb8b9d3-da66-44bf-a059-559177e7b4ed' 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>type :</span></dt><dd>int32</dd><dt><span>dimension :</span></dt><dd>time</dd><dt><span>units :</span></dt><dd>1</dd><dt><span>long_name :</span></dt><dd>Minute</dd></dl></div><div class='xr-var-data'><pre>array([ 0,  2,  3, ..., 21, 22, 23], dtype=int32)</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>second</span></div><div class='xr-var-dims'>(time)</div><div class='xr-var-dtype'>int32</div><div class='xr-var-preview xr-preview'>52 7 7 7 7 7 ... 37 37 37 37 37 37</div><input id='attrs-658ac113-7b42-40c7-86e3-a11f99c5eeb9' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-658ac113-7b42-40c7-86e3-a11f99c5eeb9' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-c8b7c085-d532-49a6-8e1e-350c954b3db1' class='xr-var-data-in' type='checkbox'><label for='data-c8b7c085-d532-49a6-8e1e-350c954b3db1' 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>type :</span></dt><dd>int32</dd><dt><span>dimension :</span></dt><dd>time</dd><dt><span>units :</span></dt><dd>1</dd><dt><span>long_name :</span></dt><dd>Second</dd><dt><span>description :</span></dt><dd>Time averaged to closest second</dd></dl></div><div class='xr-var-data'><pre>array([52,  7,  7, ..., 37, 37, 37], dtype=int32)</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>ceilometer_range</span></div><div class='xr-var-dims'>(range_levels)</div><div class='xr-var-dtype'>int32</div><div class='xr-var-preview xr-preview'>35 45 55 65 ... 7695 7705 7715 7725</div><input id='attrs-1788d758-9ff5-4a0e-899a-09aa60f49126' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-1788d758-9ff5-4a0e-899a-09aa60f49126' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-af4cd13f-cdaf-4c3b-9a00-f7fff1473349' class='xr-var-data-in' type='checkbox'><label for='data-af4cd13f-cdaf-4c3b-9a00-f7fff1473349' 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>type :</span></dt><dd>int32</dd><dt><span>dimension :</span></dt><dd>range_levels</dd><dt><span>units :</span></dt><dd>m</dd><dt><span>long_name :</span></dt><dd>Ceilometer Range</dd><dt><span>description :</span></dt><dd>Ranges for the ceilometer backscatter profile, including the instrument height</dd></dl></div><div class='xr-var-data'><pre>array([  35,   45,   55,   65,   75,   85,   95,  105,  115,  125,  135,\n",
       "        145,  155,  165,  175,  185,  195,  205,  215,  225,  235,  245,\n",
       "        255,  265,  275,  285,  295,  305,  315,  325,  335,  345,  355,\n",
       "        365,  375,  385,  395,  405,  415,  425,  435,  445,  455,  465,\n",
       "        475,  485,  495,  505,  515,  525,  535,  545,  555,  565,  575,\n",
       "        585,  595,  605,  615,  625,  635,  645,  655,  665,  675,  685,\n",
       "        695,  705,  715,  725,  735,  745,  755,  765,  775,  785,  795,\n",
       "        805,  815,  825,  835,  845,  855,  865,  875,  885,  895,  905,\n",
       "        915,  925,  935,  945,  955,  965,  975,  985,  995, 1005, 1015,\n",
       "       1025, 1035, 1045, 1055, 1065, 1075, 1085, 1095, 1105, 1115, 1125,\n",
       "       1135, 1145, 1155, 1165, 1175, 1185, 1195, 1205, 1215, 1225, 1235,\n",
       "       1245, 1255, 1265, 1275, 1285, 1295, 1305, 1315, 1325, 1335, 1345,\n",
       "       1355, 1365, 1375, 1385, 1395, 1405, 1415, 1425, 1435, 1445, 1455,\n",
       "       1465, 1475, 1485, 1495, 1505, 1515, 1525, 1535, 1545, 1555, 1565,\n",
       "       1575, 1585, 1595, 1605, 1615, 1625, 1635, 1645, 1655, 1665, 1675,\n",
       "       1685, 1695, 1705, 1715, 1725, 1735, 1745, 1755, 1765, 1775, 1785,\n",
       "       1795, 1805, 1815, 1825, 1835, 1845, 1855, 1865, 1875, 1885, 1895,\n",
       "       1905, 1915, 1925, 1935, 1945, 1955, 1965, 1975, 1985, 1995, 2005,\n",
       "       2015, 2025, 2035, 2045, 2055, 2065, 2075, 2085, 2095, 2105, 2115,\n",
       "       2125, 2135, 2145, 2155, 2165, 2175, 2185, 2195, 2205, 2215, 2225,\n",
       "...\n",
       "       5645, 5655, 5665, 5675, 5685, 5695, 5705, 5715, 5725, 5735, 5745,\n",
       "       5755, 5765, 5775, 5785, 5795, 5805, 5815, 5825, 5835, 5845, 5855,\n",
       "       5865, 5875, 5885, 5895, 5905, 5915, 5925, 5935, 5945, 5955, 5965,\n",
       "       5975, 5985, 5995, 6005, 6015, 6025, 6035, 6045, 6055, 6065, 6075,\n",
       "       6085, 6095, 6105, 6115, 6125, 6135, 6145, 6155, 6165, 6175, 6185,\n",
       "       6195, 6205, 6215, 6225, 6235, 6245, 6255, 6265, 6275, 6285, 6295,\n",
       "       6305, 6315, 6325, 6335, 6345, 6355, 6365, 6375, 6385, 6395, 6405,\n",
       "       6415, 6425, 6435, 6445, 6455, 6465, 6475, 6485, 6495, 6505, 6515,\n",
       "       6525, 6535, 6545, 6555, 6565, 6575, 6585, 6595, 6605, 6615, 6625,\n",
       "       6635, 6645, 6655, 6665, 6675, 6685, 6695, 6705, 6715, 6725, 6735,\n",
       "       6745, 6755, 6765, 6775, 6785, 6795, 6805, 6815, 6825, 6835, 6845,\n",
       "       6855, 6865, 6875, 6885, 6895, 6905, 6915, 6925, 6935, 6945, 6955,\n",
       "       6965, 6975, 6985, 6995, 7005, 7015, 7025, 7035, 7045, 7055, 7065,\n",
       "       7075, 7085, 7095, 7105, 7115, 7125, 7135, 7145, 7155, 7165, 7175,\n",
       "       7185, 7195, 7205, 7215, 7225, 7235, 7245, 7255, 7265, 7275, 7285,\n",
       "       7295, 7305, 7315, 7325, 7335, 7345, 7355, 7365, 7375, 7385, 7395,\n",
       "       7405, 7415, 7425, 7435, 7445, 7455, 7465, 7475, 7485, 7495, 7505,\n",
       "       7515, 7525, 7535, 7545, 7555, 7565, 7575, 7585, 7595, 7605, 7615,\n",
       "       7625, 7635, 7645, 7655, 7665, 7675, 7685, 7695, 7705, 7715, 7725],\n",
Sonja Murto's avatar
Sonja Murto committed
       "      dtype=int32)</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>flag_cloudcode</span></div><div class='xr-var-dims'>(time)</div><div class='xr-var-dtype'>int32</div><div class='xr-var-preview xr-preview'>1 1 1 1 1 1 1 1 ... 1 1 1 1 1 1 1 1</div><input id='attrs-6b982b75-f0e4-4137-b939-a37008adddce' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-6b982b75-f0e4-4137-b939-a37008adddce' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-10e2fe12-abc9-42a9-b30e-2f1c667a7c00' class='xr-var-data-in' type='checkbox'><label for='data-10e2fe12-abc9-42a9-b30e-2f1c667a7c00' 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>type :</span></dt><dd>int32</dd><dt><span>dimension :</span></dt><dd>time</dd><dt><span>units :</span></dt><dd>1</dd><dt><span>long_name :</span></dt><dd>Data flag: Cloudcode</dd><dt><span>flag_values :</span></dt><dd>-1,0,1,2,3,4</dd><dt><span>flag_meanings :</span></dt><dd>missing_data\n",
       "no_significant_backscatter\n",
       "one_cloud_base_detected\n",
       "two_cloud_bases_detected\n",
       "three_cloud_bases_detected\n",
Sonja Murto's avatar
Sonja Murto committed
       "full_obscuration</dd><dt><span>description :</span></dt><dd>Code for number of cloud bases detected; see Readme document for more information</dd></dl></div><div class='xr-var-data'><pre>array([1, 1, 1, ..., 1, 1, 1], dtype=int32)</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>vertical_visibility</span></div><div class='xr-var-dims'>(time)</div><div class='xr-var-dtype'>float32</div><div class='xr-var-preview xr-preview'>nan nan nan nan ... nan nan nan nan</div><input id='attrs-77baba13-4dc2-4941-9bec-0cbb49b17fcb' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-77baba13-4dc2-4941-9bec-0cbb49b17fcb' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-723b3125-6e36-4dd6-9679-8a89d8c6d282' class='xr-var-data-in' type='checkbox'><label for='data-723b3125-6e36-4dd6-9679-8a89d8c6d282' 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>type :</span></dt><dd>float32</dd><dt><span>dimension :</span></dt><dd>time</dd><dt><span>units :</span></dt><dd>m</dd><dt><span>long_name :</span></dt><dd>Vertical Visibilility</dd><dt><span>description :</span></dt><dd>Vertical visibility given in case of obscured cloud base (at flag_cloudcode 4), else NaN</dd></dl></div><div class='xr-var-data'><pre>array([nan, nan, nan, ..., nan, nan, nan], dtype=float32)</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>highest_detected_signal</span></div><div class='xr-var-dims'>(time)</div><div class='xr-var-dtype'>float32</div><div class='xr-var-preview xr-preview'>nan nan nan nan ... nan nan nan nan</div><input id='attrs-8a64a908-defd-459e-9902-6fc78159a28c' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-8a64a908-defd-459e-9902-6fc78159a28c' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-eab9109d-70fa-4aeb-b507-2596e7761fe7' class='xr-var-data-in' type='checkbox'><label for='data-eab9109d-70fa-4aeb-b507-2596e7761fe7' 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>type :</span></dt><dd>float32</dd><dt><span>dimension :</span></dt><dd>time</dd><dt><span>units :</span></dt><dd>m</dd><dt><span>long_name :</span></dt><dd>Highest Signal Detected</dd><dt><span>description :</span></dt><dd>Highest signal detected given in case of obscured cloud base (at flag_cloudcode 4), else NaN</dd></dl></div><div class='xr-var-data'><pre>array([nan, nan, nan, ..., nan, nan, nan], dtype=float32)</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>cloud_base_altitude</span></div><div class='xr-var-dims'>(time, cloud_layer)</div><div class='xr-var-dtype'>float32</div><div class='xr-var-preview xr-preview'>808.3 945.0 nan ... 325.0 nan nan</div><input id='attrs-0793c79e-8956-4aed-8a7a-f386e06cf3d8' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-0793c79e-8956-4aed-8a7a-f386e06cf3d8' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-089fc130-86f0-4e90-a862-99610fc9ddf8' class='xr-var-data-in' type='checkbox'><label for='data-089fc130-86f0-4e90-a862-99610fc9ddf8' 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>type :</span></dt><dd>float32</dd><dt><span>dimension :</span></dt><dd>time, cloud_layer</dd><dt><span>units :</span></dt><dd>m</dd><dt><span>long_name :</span></dt><dd>Cloud Base Altitude</dd><dt><span>description :</span></dt><dd>cloud base height of 1-3 cloud layers; NaN if no layer detected. Instrument height incorporated.</dd></dl></div><div class='xr-var-data'><pre>array([[808.3333, 945.    ,      nan],\n",
       "       [840.    , 955.    ,      nan],\n",
       "       [785.    ,      nan,      nan],\n",
       "       ...,\n",
       "       [335.    ,      nan,      nan],\n",
       "       [335.    ,      nan,      nan],\n",
Sonja Murto's avatar
Sonja Murto committed
       "       [325.    ,      nan,      nan]], dtype=float32)</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>sky_condition_cloud_fraction</span></div><div class='xr-var-dims'>(time, sky_condition_layer)</div><div class='xr-var-dtype'>float32</div><div class='xr-var-preview xr-preview'>6.0 8.0 0.0 0.0 ... 0.0 0.0 0.0 0.0</div><input id='attrs-85a07185-56a9-4374-9db6-2699ee77ebdc' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-85a07185-56a9-4374-9db6-2699ee77ebdc' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-10b24ee7-7fbc-479d-9995-d66ece53ce41' class='xr-var-data-in' type='checkbox'><label for='data-10b24ee7-7fbc-479d-9995-d66ece53ce41' 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>type :</span></dt><dd>float32</dd><dt><span>dimension :</span></dt><dd>time, sky_condition_layer</dd><dt><span>units :</span></dt><dd>octal</dd><dt><span>long_name :</span></dt><dd>Sky Condition Cloud Fraction</dd><dt><span>description :</span></dt><dd>Cloud fraction calculated with the sky condition algorithm. 0-8 = cloud coverage of up to 5 levels; 9 = obscuration. NaN = missing data or no detected layer.</dd></dl></div><div class='xr-var-data'><pre>array([[6., 8., 0., 0., 0.],\n",
       "       [6., 8., 0., 0., 0.],\n",
       "       [6., 8., 0., 0., 0.],\n",
       "       ...,\n",
       "       [8., 0., 0., 0., 0.],\n",
       "       [8., 0., 0., 0., 0.],\n",
Sonja Murto's avatar
Sonja Murto committed
       "       [8., 0., 0., 0., 0.]], dtype=float32)</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>sky_condition_cloud_altitude</span></div><div class='xr-var-dims'>(time, sky_condition_layer)</div><div class='xr-var-dtype'>float32</div><div class='xr-var-preview xr-preview'>775.0 1.525e+03 nan ... nan nan nan</div><input id='attrs-6e2c5335-c7f7-4c53-9600-136b06a99963' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-6e2c5335-c7f7-4c53-9600-136b06a99963' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-aa4c4cda-54ea-419f-b5be-eb176dd35b05' class='xr-var-data-in' type='checkbox'><label for='data-aa4c4cda-54ea-419f-b5be-eb176dd35b05' 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>type :</span></dt><dd>float32</dd><dt><span>dimension :</span></dt><dd>time, sky_condition_layer</dd><dt><span>units :</span></dt><dd>m</dd><dt><span>long_name :</span></dt><dd>Sky Condition Cloud Altitude</dd><dt><span>description :</span></dt><dd>Cloud layer height calculated with the sky condition algorithm. Cloud layer height given for 1-5 sky condition layers; NaN if no layer detected. Vertical visibility is reported as height if obscuration (at sky_condition_cloud_fraction 9). Instrument height incorporated.</dd></dl></div><div class='xr-var-data'><pre>array([[ 775., 1525.,   nan,   nan,   nan],\n",
       "       [ 775., 1525.,   nan,   nan,   nan],\n",
       "       [ 775., 1525.,   nan,   nan,   nan],\n",
       "       ...,\n",
       "       [ 365.,   nan,   nan,   nan,   nan],\n",
       "       [ 365.,   nan,   nan,   nan,   nan],\n",
Sonja Murto's avatar
Sonja Murto committed
       "       [ 365.,   nan,   nan,   nan,   nan]], dtype=float32)</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>backscatter_profile</span></div><div class='xr-var-dims'>(time, range_levels)</div><div class='xr-var-dtype'>float32</div><div class='xr-var-preview xr-preview'>0.0003533 0.0002167 ... 0.00034</div><input id='attrs-b890216a-bfcc-4147-b89a-379da5816281' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-b890216a-bfcc-4147-b89a-379da5816281' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-ee495f38-4f41-4f38-8ada-1e4e538a77e8' class='xr-var-data-in' type='checkbox'><label for='data-ee495f38-4f41-4f38-8ada-1e4e538a77e8' 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>type :</span></dt><dd>float32</dd><dt><span>dimension :</span></dt><dd>time, range_levels</dd><dt><span>units :</span></dt><dd>1 km-1 steradians-1</dd><dt><span>long_name :</span></dt><dd>Backscatter Profile</dd><dt><span>description :</span></dt><dd>backscatter coefficient profile</dd></dl></div><div class='xr-var-data'><pre>array([[ 0.00035333,  0.00021667,  0.00021333, ..., -0.00028667,\n",
       "         0.00051   ,  0.0013    ],\n",
       "       [ 0.00032   ,  0.000225  ,  0.00022   , ...,  0.00276   ,\n",
       "        -0.00058   , -0.001275  ],\n",
       "       [ 0.000185  ,  0.00021   ,  0.000215  , ..., -0.002565  ,\n",
       "        -0.000345  ,  0.002385  ],\n",
       "       ...,\n",
       "       [ 0.001     ,  0.00545   ,  0.00755   , ..., -0.003415  ,\n",
       "        -0.000505  , -0.00029   ],\n",
       "       [ 0.01525   ,  0.01285   ,  0.01205   , ...,  0.002635  ,\n",
       "         0.000335  , -0.000745  ],\n",
       "       [ 0.00908   ,  0.00889   ,  0.00935   , ...,  0.000155  ,\n",
Sonja Murto's avatar
Sonja Murto committed
       "         0.00016   ,  0.00034   ]], dtype=float32)</pre></div></li></ul></div></li><li class='xr-section-item'><input id='section-bf794535-7968-4471-91eb-dac4358ed606' class='xr-section-summary-in' type='checkbox'  ><label for='section-bf794535-7968-4471-91eb-dac4358ed606' class='xr-section-summary' >Attributes: <span>(27)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><dl class='xr-attrs'><dt><span>Conventions :</span></dt><dd>CF-1.8</dd><dt><span>source :</span></dt><dd>Ceilometer</dd><dt><span>instrument_model :</span></dt><dd>Vaisala Ceilometer CL31</dd><dt><span>creator_name :</span></dt><dd>Sonja Murto</dd><dt><span>creator_email :</span></dt><dd>sonja.murto@misu.su.se</dd><dt><span>creator_url :</span></dt><dd>https://orcid.org/0000-0002-4966-9077</dd><dt><span>institution :</span></dt><dd>Stockholm University</dd><dt><span>processing_software :</span></dt><dd>Matlab (for creating the matlab file) and a jupyter notebook script (netCDF)</dd><dt><span>sampling_interval :</span></dt><dd>original 30s; here 1min averages</dd><dt><span>product_version :</span></dt><dd>v01</dd><dt><span>last_revised_date :</span></dt><dd>2024-05-31T15:00:00</dd><dt><span>project :</span></dt><dd>ARTofMELT</dd><dt><span>project_principal_investigator :</span></dt><dd>Michael Tjernström</dd><dt><span>project_principal_investigator_email :</span></dt><dd>michaelt@misu.su.se</dd><dt><span>project_principal_investigator_url :</span></dt><dd>https://orcid.org/0000-0002-6908-7410</dd><dt><span>acknowledgement :</span></dt><dd> Knut och Alice Wallenbergs Stiftelse, Grant 2016-0024</dd><dt><span>platform :</span></dt><dd>Swedish Icebreaker Oden</dd><dt><span>platform_type :</span></dt><dd>On Oden&#x27;s 7th deck above the bridge</dd><dt><span>deployment_mode :</span></dt><dd>ship</dd><dt><span>title :</span></dt><dd>Ceilometer cloud base height, vertical visibility and backscatter profiles</dd><dt><span>feature_type :</span></dt><dd>time series</dd><dt><span>time_coverage_start :</span></dt><dd>2023-05-07T00:00:52</dd><dt><span>time_coverage_end :</span></dt><dd>2023-06-13T16:23:37</dd><dt><span>geospatial_bounds :</span></dt><dd>80.52392166666667N, -3.8737749999999997E, 78.04355166666666N, 15.660881666666667E</dd><dt><span>platform_altitude :</span></dt><dd>Located at approximately 25 m a.s.l</dd><dt><span>location_keywords :</span></dt><dd>Oden, Arctic Ocean, Fram Strait, atmosphere, on the ship</dd><dt><span>comments :</span></dt><dd>This file consists of 1 min averages of ceilometer data measured with the Vaisala Ceilometer CL31 that was located on the 7th deck, above the bridge (at approximately 25m).The sky condition measurements are time averages to represent an area average. The vertical resolution is 10m * 770, but the measurement height (25m) is included in the backscatter profile ranges, as well as in the cloud base heights (cloud_base_altitude and sky_condition_cloud_altitude). Geospatial bounds are taken from the gps location of the weather station dataset located on Oden. Time variables month, day, hour, minute and second are approximated to the nearest second. Data produced by Sonja Murto. See the document - Readme_CL.txt - for more details.</dd></dl></div></li></ul></div></div>"
      ],
      "text/plain": [
       "<xarray.Dataset>\n",
       "Dimensions:                       (cloud_layer: 3, range_levels: 770, sky_condition_layer: 5, time: 54251)\n",
       "Coordinates:\n",
       "  * time                          (time) datetime64[ns] 2023-05-07T00:00:52.2...\n",
       "  * range_levels                  (range_levels) int32 1 2 3 4 ... 768 769 770\n",
       "  * cloud_layer                   (cloud_layer) int32 1 2 3\n",
       "  * sky_condition_layer           (sky_condition_layer) int32 1 2 3 4 5\n",
       "Data variables: (12/15)\n",
       "    day_of_year                   (time) float32 127.0 127.0 ... 164.7 164.7\n",
       "    year                          (time) int32 2023 2023 2023 ... 2023 2023 2023\n",
       "    month                         (time) int32 5 5 5 5 5 5 5 5 ... 6 6 6 6 6 6 6\n",
       "    day                           (time) int32 7 7 7 7 7 7 ... 13 13 13 13 13 13\n",
       "    hour                          (time) int32 0 0 0 0 0 0 ... 16 16 16 16 16 16\n",
       "    minute                        (time) int32 0 2 3 4 5 6 ... 18 19 20 21 22 23\n",
       "    ...                            ...\n",
       "    vertical_visibility           (time) float32 nan nan nan nan ... nan nan nan\n",
       "    highest_detected_signal       (time) float32 nan nan nan nan ... nan nan nan\n",
       "    cloud_base_altitude           (time, cloud_layer) float32 808.3 ... nan\n",
       "    sky_condition_cloud_fraction  (time, sky_condition_layer) float32 6.0 ......\n",
       "    sky_condition_cloud_altitude  (time, sky_condition_layer) float32 775.0 ....\n",
       "    backscatter_profile           (time, range_levels) float32 0.0003533 ... ...\n",
       "Attributes: (12/27)\n",
       "    Conventions:                           CF-1.8\n",
       "    source:                                Ceilometer\n",
       "    instrument_model:                      Vaisala Ceilometer CL31\n",
       "    creator_name:                          Sonja Murto\n",
       "    creator_email:                         sonja.murto@misu.su.se\n",
       "    creator_url:                           https://orcid.org/0000-0002-4966-9077\n",
       "    ...                                    ...\n",
       "    time_coverage_start:                   2023-05-07T00:00:52\n",
       "    time_coverage_end:                     2023-06-13T16:23:37\n",
       "    geospatial_bounds:                     80.52392166666667N, -3.87377499999...\n",
       "    platform_altitude:                     Located at approximately 25 m a.s.l\n",
       "    location_keywords:                     Oden, Arctic Ocean, Fram Strait, a...\n",
       "    comments:                              This file consists of 1 min averag..."
      ]
     },
Sonja Murto's avatar
Sonja Murto committed
     "execution_count": 37,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ds_all"
   ]
  },
  {
   "cell_type": "code",
Sonja Murto's avatar
Sonja Murto committed
   "execution_count": 38,
   "metadata": {},
   "outputs": [],
   "source": [
    "#save to netCDF\n",
    "ds_all.to_netcdf(load_data + 'CL31_ceilometer_ARTofMELT_20230507_20230613_1min_v01.nc')"
   ]
  },
  {
   "cell_type": "code",
Sonja Murto's avatar
Sonja Murto committed
   "execution_count": 39,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYsAAAElCAYAAAAV9s4VAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8vihELAAAACXBIWXMAAAsTAAALEwEAmpwYAABjaUlEQVR4nO2dZ5gUxdaA37PLwpIzSBAJIhIkCAJGVAyYvdeECcSAYk5c9frpNeeICooKgmLAjBgQCSKKRAmScxaW3SWz+Xw/umdnZif17E7a2Xqfp5/prq7qPtXT3aer6tQ5oqoYDAaDwRCMlHgLYDAYDIbExygLg8FgMITEKAuDwWAwhMQoC4PBYDCExCgLg8FgMITEKAuDwWAwhCSqykJE7hGRpSLyt4h8IiLpIlJPRCaLyGr7t65H/odEZI2IrBSRsz3Su4vIEnvfMBGRaMptMBgMBm+ipixEpBlwJ9BDVTsBqUB/4EFgiqq2BabY24hIB3t/R6AfMFxEUu3DjQAGA23tpV+05DYYDAaDL9HuhqoEVBWRSkA1YBtwETDG3j8GuNhevwj4VFVzVXU9sAboKSJNgFqqOkutGYRjPcoYDAaDIQZUitaBVXWriLwEbAIOAT+r6s8i0lhVt9t5totII7tIM+BPj0NssdPy7fWS6T6IyGCsFgjVq1fvfvTRR0eySgaDwZD0zJ8/f5eqNiyZHjVlYY9FXAS0AnYDn4vINcGK+EnTIOm+iaojgZEAPXr00Hnz5oUjssFgMFR4RGSjv/RodkOdAaxX1QxVzQe+Ak4AdthdS9i/O+38W4DDPco3x+q22mKvl0w3GAwGQ4yIprLYBPQWkWq29VJfYDkwARho5xkIfGuvTwD6i0gVEWmFNZA9x+6y2icive3jDPAoYzAYDIYYEM0xi9ki8gWwACgA/sLqIqoBjBeRG7AUymV2/qUiMh5YZue/TVUL7cMNAT4AqgI/2ovBYDAYYoQkq4tyM2ZhMESH/Px8tmzZQk5OTrxFMZSB9PR0mjdvTlpamle6iMxX1R4l80etZWEwGJKTLVu2ULNmTVq2bImZH1s+UVUyMzPZsmULrVq1clTGuPswGAxhkZOTQ/369Y2iKMeICPXr1w+rdWiUhcFgCBujKMo/4f6HRlkYDAaDISRGWRgMhqTgscce46WXXorIsU499VSCGci0bNmSXbt2ReRc0aBfv37UqVOH888/P2LHNMrCYDAYEozCwsLQmYIwdOhQPvzwwwhJY2GsoQwGQ+m5+25YuDCyx+zaFV57LWiWsWPH8tJLLyEidO7c2efFuHDhQm655RYOHjxImzZtGDVqFHXr1uXUU0/lpZdeokePHuzatYsePXqwYcMGDh06xKBBg1i2bBnt27fn0KFDjsW9+OKL2bx5Mzk5Odx1110MHjyY999/n7///ptXX30VgHfffZfly5fzyiuv8NFHHzFs2DDy8vLo1asXw4cPJzU1lRo1anDvvfcyadIkXn75ZU466aRwr1wxffv2Zfr06aUu7w/TsjAYDOWKpUuX8vTTTzN16lQWLVrE66+/7pNnwIABPP/88yxevJhjjjmGxx9/POgxR4wYQbVq1Vi8eDEPP/ww8+fPdyzPqFGjmD9/PvPmzWPYsGFkZmbSv39/JkyYQH5+PgCjR49m0KBBLF++nM8++4zff/+dhQsXkpqayrhx4wA4cOAAnTp1Yvbs2T6K4sUXX6Rr164+y5133ulYzrJiWhYGg6H0hGgBRIOpU6dy6aWX0qBBAwDq1avntX/Pnj3s3r2bPn36ADBw4EAuu+yyoMecMWNG8Yu3c+fOdO7c2bE8w4YN4+uvvwZg8+bNrF69mt69e3P66aczceJE2rdvT35+Pscccwxvvvkm8+fP57jjjgPg0KFDNGpkOd5OTU3lkksu8XuOoUOHMnToUMcyRQOjLAwGQ7lCVUttulupUiWKiooAfOYYlOaY06dP55dffmHWrFlUq1aNU089tfi4N954I8888wxHH300gwYNKpZ94MCBPPvssz7HSk9PJzU11ScdrJaFqwXiySmnnMKwYcPClrs0mG4og8FQrujbty/jx48nMzMTgKysLK/9tWvXpm7duvz2228AfPjhh8WtjJYtWxZ3MX3xxRfFZU455ZTil/Hff//N4sWLHcmyZ88e6tatS7Vq1VixYgV//ukOydOrVy82b97Mxx9/zJVXXlks+xdffMHOnTuLZd+40a9HcC+GDh3KwoULfZZYKQowLQuDwVDO6NixIw8//DB9+vQhNTWVbt268cEHH3jlGTNmTPEAd+vWrRk9ejQA999/P5dffjkffvghp59+enH+IUOGMGjQIDp37kzXrl3p2bOnI1n69evH22+/TefOnWnXrh29e/f22n/55ZezcOFC6tatC0CH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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#test plot\n",
    "ds_all.sel(cloud_layer=1).cloud_base_altitude.plot(color='r',label='cloud_layer = 1')\n",
    "ds_all.sel(cloud_layer=2).cloud_base_altitude.plot(color='b',label='cloud_layer = 2')\n",
    "ds_all.sel(cloud_layer=3).cloud_base_altitude.plot(color='y',label='cloud_layer = 3')\n",
    "\n",
    "plt.title('')\n",
    "plt.legend()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
Sonja Murto's avatar
Sonja Murto committed
   "execution_count": 40,
Sonja Murto's avatar
Sonja Murto committed
      "image/png": "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PQrAJZdcwiOPPMLTTz/NlClTuOaaawD4+uuvmTVrVl6X1eHDh9mwYQMAffr0oUaNGj7P89NPPwVdT4ulLGNbLjFKixYtWLhwIW3btmX06NE8/PDDefu6d+/OF198gaqxsG7YsCF16tTh+++/Z/78+fTt2zekc7mO44uUlJS87cTERLKzs1HViJppu87pOl8wjBkzhl69erF06VL++9//5s0dSU1NpU+fPnzyySe8++67XHHFFYCp8wcffMDixYtZvHgxGzZs4MQTTwTIU7K+sC0XiyU4rHKJUTZv3kxqaipXXXUVd955J7/99lvevocffpiaNWvy73//Oy/thhtu4KqrruLSSy8lMTHR73F79+7NhAkTAMjJyWH//v2cdtppfPzxxxw6dIiMjAw++uijgOMc1apVy2vxAHldcvmpXLkyBw4cKJBetWpVqlevntcKeP311/NaMUVl37591K9v5sq6usFc3HDDDQwfPpyTTz45r0Vy9tlnM378+DzF6uoGLIyffvopTyF5LmeeeWax5LdY4g2rXGKUJUuW0LlzZzp06MDYsWO57777vPa/8MILHD58mJEjRwLQr18/Dh48GLBLDOA///kPs2fPpm3btnTq1Illy5Zx0kkncc0119C5c2e6dOnCDTfcQMeOHQMeZ+rUqQwbNoxTTjmFChUq+MxzwQUX8NFHH9GhQ4cC3UnTp0/nrrvuol27dixevJj777+/sEsSkJEjRzJ69Gi6d+9OTk6O175OnTpRpUoVr2szZswYjh49Srt27WjTpg1jxowp1vl98euvv9KgQQPee+89hgwZQuvWrcN+DoslVpFAXSJlhbS0NM0fLGzFihV53SSlgfT0dG6//XY7JuCDzZs307NnT1auXBmTllul7V6zWFyIyEJVTfO1L/aeNEvIPPHEE1x88cU8/vjj0RYl5pgxYwZdunRh7NixMalYLJZ4xbZciI+WS37Gjh3Le+95u2e75JJLuPfee6MkUdH56quvuPvuu73SmjZtykcffRQlicJLab/XLGWXQC0Xq1yIT+ViKT3Ewr22aZNxMdOnD9SsWXh+iwVst5jFYimEhQvh8sth9epoS2KJF+wkSovFwhlnwIoV1oeZJXxY5WKxWKhcGVq2jLYUlnjCdotZLBaLJexY5VLKsPFc3MR6PJfnnnuOVq1a0a5dO3r37s369eujLZLF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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "ds_all.sel(sky_condition_layer=1).sky_condition_cloud_altitude.plot(color='r',label='sky_condition_layer = 1')\n",
    "ds_all.sel(sky_condition_layer=2).sky_condition_cloud_altitude.plot(color='b',label='sky_condition_layer = 2')\n",
    "ds_all.sel(sky_condition_layer=3).sky_condition_cloud_altitude.plot(color='y',label='sky_condition_layer = 3')\n",
    "ds_all.sel(sky_condition_layer=4).sky_condition_cloud_altitude.plot(color='g',label='sky_condition_layer = 4')\n",
    "ds_all.sel(sky_condition_layer=5).sky_condition_cloud_altitude.plot(color='k',label='sky_condition_layer = 5')\n",
    "\n",
    "plt.title('')\n",
    "plt.legend()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Create netCDF from 10 min average files - remove times with no data points"
   ]
  },
  {
   "cell_type": "code",
Sonja Murto's avatar
Sonja Murto committed
   "execution_count": 41,
   "metadata": {},
   "outputs": [],
   "source": [
    "CL_SM_avg = scipy.io.loadmat(load_data + 'CL31_ceilometer_ARTofMELT_20230507_20230613_10min_v01.mat',struct_as_record=True)"
   ]
  },
  {
   "cell_type": "code",
Sonja Murto's avatar
Sonja Murto committed
   "execution_count": 43,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "dict_keys(['__header__', '__version__', '__globals__', 'cl31_av'])"
      ]
     },
Sonja Murto's avatar
Sonja Murto committed
     "execution_count": 43,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "CL_SM_avg.keys()"
   ]
  },
  {
   "cell_type": "code",
Sonja Murto's avatar
Sonja Murto committed
   "execution_count": 44,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "('mday', 'doy', 'cloudcode', 'base_ht', 'vert_vis', 'high_sig', 'sc_frac', 'sc_ht', 'bs_prof', 'ceil_range', 'time')\n"
     ]
    }
   ],
   "source": [
    "# get the data in the mat file\n",
    "Names=CL_SM_avg['cl31_av'].dtype.names\n",
    "ndata = {n: CL_SM_avg['cl31_av'][n][0, 0] for n in Names}\n",
    "print(Names)"
   ]
  },
  {
   "cell_type": "code",
Sonja Murto's avatar
Sonja Murto committed
   "execution_count": 45,
   "metadata": {},
   "outputs": [],
   "source": [
    "# create pandas dataframe from the data\n",
    "\n",
    "# 1D variables\n",
    "\n",
    "DF_10min=pd.DataFrame(index=range(len(ndata['doy'])),)\n",
    "DF_10min['doy']=np.array(list(itertools.chain.from_iterable(ndata['doy'])),dtype=float)\n",
    "DF_10min['cloudcode']=np.array(list(itertools.chain.from_iterable(ndata['cloudcode'])),dtype=float)\n",
    "DF_10min['vert_vis']=np.array(list(itertools.chain.from_iterable(ndata['vert_vis'])),dtype=float)\n",
    "DF_10min['high_sig']=np.array(list(itertools.chain.from_iterable(ndata['high_sig'])),dtype=float)\n",
    "\n",
    "\n",
    "#2D cloudlayer\n",
    "DF_10min_cloudbh=pd.DataFrame(index=range(len(ndata['doy'])),data=np.array(ndata['base_ht'],dtype=float))\n",
    "\n",
    "#2D sc_layer_ht\n",
    "DF_10min_scht=pd.DataFrame(index=range(len(ndata['doy'])),data=np.array(ndata['sc_ht'],dtype=float))\n",
    "\n",
    "#2D sc_layer_frac\n",
    "DF_10min_scfrac=pd.DataFrame(index=range(len(ndata['doy'])),data=np.array(ndata['sc_frac'],dtype=float))\n",
    "\n",
    "#2D ranges\n",
    "DF_10min_range=pd.DataFrame(index=range(len(ndata['doy'])),data=np.array(ndata['bs_prof'],dtype=float))"
   ]
  },
  {
   "cell_type": "code",
Sonja Murto's avatar
Sonja Murto committed
   "execution_count": 46,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "5426"
      ]
     },
Sonja Murto's avatar
Sonja Murto committed
     "execution_count": 46,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "len(DF_10min)"
   ]
  },
  {
   "cell_type": "code",
Sonja Murto's avatar
Sonja Murto committed
   "execution_count": 47,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "5426 0\n"
     ]
    }
   ],
   "source": [
    "#check for NaNs - no nans in 10min avg data\n",
    "selection = DF_10min.iloc[DF_10min[~DF_10min.doy.isna()].index].index.values # size with no nans\n",
    "idx_nan = DF_10min.iloc[DF_10min[DF_10min.doy.isna()].index].index.values # length of nan times\n",
    "print(len(selection),len(idx_nan))"
   ]
  },
  {
   "cell_type": "code",
Sonja Murto's avatar
Sonja Murto committed
   "execution_count": 48,
   "metadata": {},
   "outputs": [],
   "source": [
    "#select only no-nan times; for all 5 pandas dataframes\n",
    "DF_10min=DF_10min.iloc[selection].reset_index(drop=True)\n",
    "DF_10min_cloudbh=DF_10min_cloudbh.iloc[selection].reset_index(drop=True)\n",
    "DF_10min_scht=DF_10min_scht.iloc[selection].reset_index(drop=True)\n",
    "DF_10min_scfrac=DF_10min_scfrac.iloc[selection].reset_index(drop=True)\n",
    "DF_10min_range=DF_10min_range.iloc[selection].reset_index(drop=True)"
   ]
  },
  {
   "cell_type": "code",
Sonja Murto's avatar
Sonja Murto committed
   "execution_count": 49,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "5426 5426 5426 5426 5426\n"
     ]
    }
   ],
   "source": [
    "#check for right length (same as in the beginning)\n",
    "print(len(DF_10min),len(DF_10min_cloudbh),len(DF_10min_scfrac),len(DF_10min_scht),len(DF_10min_range))"
   ]
  },
  {
   "cell_type": "code",
Sonja Murto's avatar
Sonja Murto committed
   "execution_count": 50,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>doy</th>\n",
       "      <th>cloudcode</th>\n",
       "      <th>vert_vis</th>\n",
       "      <th>high_sig</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "Empty DataFrame\n",
       "Columns: [doy, cloudcode, vert_vis, high_sig]\n",
       "Index: []"
      ]
     },
Sonja Murto's avatar
Sonja Murto committed
     "execution_count": 50,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "DF_10min.iloc[DF_10min[DF_10min.doy.isna()].index] #check again for NaNs - empty!"
   ]
  },
  {
   "cell_type": "code",
Sonja Murto's avatar
Sonja Murto committed
   "execution_count": 51,
   "metadata": {},
   "outputs": [],
   "source": [
    "# set time dimension\n",
    "Time_steps=returndatetime_fromdoy(np.array(DF_10min.doy.values,dtype=float))\n",
    "Times_nomicrosec=[pd.to_datetime(T).round('1s') for T in Time_steps]\n",
    "Time_steps_dt64_org=[np.datetime64(t) for t in Time_steps]\n",
    "Time_steps_dt64_org=np.array(Time_steps_dt64_org,dtype='datetime64[ns]')"
   ]
  },
  {
   "cell_type": "code",
Sonja Murto's avatar
Sonja Murto committed
   "execution_count": 52,
   "metadata": {},
   "outputs": [],
   "source": [
    "# add date values\n",
    "DF_10min['year']=np.array([Times_nomicrosec[i].year for i in range(len(Time_steps))],dtype=int)\n",
    "DF_10min['month']=np.array([Times_nomicrosec[i].month for i in range(len(Time_steps))],dtype=int)\n",
    "DF_10min['day']=np.array([Times_nomicrosec[i].day for i in range(len(Time_steps))],dtype=int)\n",
    "DF_10min['hour']=np.array([Times_nomicrosec[i].hour for i in range(len(Time_steps))],dtype=int)\n",
    "DF_10min['minute']=np.array([Times_nomicrosec[i].minute for i in range(len(Time_steps))],dtype=int)\n",
    "DF_10min['second']=np.array([Times_nomicrosec[i].second for i in range(len(Time_steps))],dtype=int)"
   ]
  },
  {
   "cell_type": "code",
Sonja Murto's avatar
Sonja Murto committed
   "execution_count": 53,
   "metadata": {},
   "outputs": [],
   "source": [
    "# create xr DataArrays\n",
    "\n",
    "#1D: dimension time\n",
    "\n",
    "da_doy=xr.DataArray(data=np.array(DF_10min['doy']).astype('float32'),name=\"day_of_year\",\n",
    "                dims=[\"time\"],coords=dict(time=Time_steps_dt64_org),\n",
    "                  attrs=dict(type=\"float32\",dimension=\"time\",units=\"1\",long_name=\"Day of Year\",\n",
    "                             description=\"time as decimal day of year\"),) #added as 1D\n",
    "\n",
    "#date and time in separate arrays; microseconds approximated to seconds\n",
    "da_year=xr.DataArray(data=np.array(DF_10min['year']).astype('int32'),name=\"year\",dims=[\"time\"],\n",
    "                  coords=dict(time=Time_steps_dt64_org),\n",
    "                  attrs=dict(type=\"int32\",dimension=\"time\",units=\"1\",long_name=\"Year\"),) #added as 1D\n",
    "\n",
    "da_month=xr.DataArray(data=np.array(DF_10min['month']).astype('int32'),name=\"month\",dims=[\"time\"],\n",
    "                  coords=dict(time=Time_steps_dt64_org),\n",
    "                      attrs=dict(type=\"int32\",dimension=\"time\",units=\"1\", long_name=\"Month\"),) #added as 1D\n",
    "\n",
    "da_day=xr.DataArray(data=np.array(DF_10min['day']).astype('int32'),name=\"day\",dims=[\"time\"],\n",
    "                  coords=dict(time=Time_steps_dt64_org),\n",
    "                    attrs=dict(type=\"int32\",dimension=\"time\",units=\"1\",long_name=\"Day\"),) #added as 1D\n",
    "\n",
    "da_hour=xr.DataArray(data=np.array(DF_10min['hour']).astype('int32'),name=\"hour\",dims=[\"time\"],\n",
    "                  coords=dict(time=Time_steps_dt64_org),\n",
    "                     attrs=dict(type=\"int32\",dimension=\"time\",units=\"1\",long_name=\"Hour\"),) #added as 1D\n",
    "\n",
    "da_min=xr.DataArray(data=np.array(DF_10min['minute']).astype('int32'),name=\"minute\",dims=[\"time\"],\n",
    "                  coords=dict(time=Time_steps_dt64_org),\n",
    "                    attrs=dict(type=\"int32\",dimension=\"time\",units=\"1\",long_name=\"Minute\"),) #added as 1D\n",
    "\n",
    "da_sec=xr.DataArray(data=np.array(DF_10min['second']).astype('int32'),name=\"second\",dims=[\"time\"],\n",
    "                  coords=dict(time=Time_steps_dt64_org),\n",
    "                     attrs=dict(type=\"int32\",dimension=\"time\",units=\"1\",long_name=\"Second\",\n",
    "                               description=\"Time averaged to closest second\"),) #added as 1D\n",
    "\n",
    "#add cloudcode flag\n",
    "da_cloudcode=xr.DataArray(data=np.array(DF_10min['cloudcode']).astype('int32'),name=\"flag_cloudcode\",dims=[\"time\"],\n",
    "                        coords=dict(time=Time_steps_dt64_org),\n",
    "                        attrs=dict(type=\"int32\",dimension=\"time\",units=\"1\",\n",
    "                                   long_name='Data flag: Cloudcode',\n",
    "                                   flag_values=\"-1,0,1,2,3,4\", \n",
    "                                   flag_meanings=\"missing_data\\nno_significant_backscatter\\none_cloud_base_detected\\ntwo_cloud_bases_detected\\nthree_cloud_bases_detected\\nfull_obscuration\",\n",
    "                                   description=\"Code for number of cloud bases detected; see Readme document for more information\"),)\n",
    "\n",
    "da_vertvis=xr.DataArray(data=np.array(DF_10min['vert_vis']).astype('float32'),\n",
    "                    name=\"vertical_visibility\",dims=[\"time\"],coords=dict(time=Time_steps_dt64_org),\n",
    "                   attrs=dict(type=\"float32\",dimension=\"time\", units=\"m\",\n",
    "                              long_name=\"Vertical Visibilility\",\n",
    "                             description=\"Vertical visibility given in case of obscured cloud base (at flag_cloudcode 4), else NaN\"),) #added as 1D\n",
    "\n",
    "da_high_sig=xr.DataArray(data=np.array(DF_10min['high_sig']).astype('float32'),\n",
    "                    name=\"highest_detected_signal\",dims=[\"time\"],coords=dict(time=Time_steps_dt64_org),\n",
    "                   attrs=dict(type=\"float32\",dimension=\"time\", units=\"m\",\n",
    "                              long_name=\"Highest Signal Detected\",\n",
    "                             description=\"Highest signal detected given in case of obscured cloud base (at flag_cloudcode 4), else NaN\"),) #added as 1D\n",
    "\n",
    "\n",
    "#1D: dimension range_levels\n",
    "\n",
    "da_ceilrange=xr.DataArray(data=np.array(list(itertools.chain.from_iterable(ndata['ceil_range'])),dtype=int).astype('int32'),\n",
    "                    name=\"ceilometer_range\",dims=[\"range_levels\"],coords=dict(range_levels=range_levs),\n",
    "                          attrs=dict(type=\"int32\",dimension=\"range_levels\",units=\"m\",\n",
    "                                     long_name=\"Ceilometer Range\",\n",
    "                                     description=\"Ranges for the ceilometer backscatter profile, including the instrument height\",),) #added as 1D\n",
    "\n",
    "\n",
    "#2D: dimension time/cloud_layer\n",
    "\n",
    "\n",
    "da_baseht=xr.DataArray(data=np.array(DF_10min_cloudbh,dtype=float).astype('float32'),\n",
    "                    name=\"cloud_base_altitude\",dims=[\"time\",\"cloud_layer\"],\n",
    "                       coords=dict(time=Time_steps_dt64_org,cloud_layer=cloud_layer_levs),\n",
    "                   attrs=dict(type=\"float32\",dimension=\"time, cloud_layer\", units=\"m\",\n",
    "                              long_name=\"Cloud Base Altitude\",\n",
    "                              description=\"cloud base height of 1-3 cloud layers; NaN if no layer detected. \" +\\\n",
    "                              \"Instrument height incorporated.\"),) #added as 2D\n",
    "\n",
    "#2D: dimension time/sky_condition_layer\n",
    "\n",
    "\n",
    "\n",
    "da_scfrac=xr.DataArray(data=np.array(DF_10min_scfrac,dtype=float).astype('float32'),\n",
    "                    name=\"sky_condition_cloud_fraction\",dims=[\"time\",\"sky_condition_layer\"],\n",
    "                       coords=dict(time=Time_steps_dt64_org,sky_condition_layer=sc_layer_levs),\n",
    "                   attrs=dict(type=\"float32\",dimension=\"time, sky_condition_layer\", units=\"octal\",\n",
    "                              long_name=\"Sky Condition Cloud Fraction\",\n",
    "                            description=\"Cloud fraction calculated with the sky condition algorithm. \"+\\\n",
    "                             \"0-8 = cloud coverage of up to 5 levels; 9 = obscuration. \" +\\\n",
    "                             \"NaN = missing data or no detected layer.\"),) #added as 2D\n",
    "\n",
    "da_scht=xr.DataArray(data=np.array(DF_10min_scht,dtype=float).astype('float32'),\n",
    "                    name=\"sky_condition_cloud_altitude\",dims=[\"time\",\"sky_condition_layer\"],\n",
    "                     coords=dict(time=Time_steps_dt64_org,sky_condition_layer=sc_layer_levs),\n",
    "                   attrs=dict(type=\"float32\",dimension=\"time, sky_condition_layer\", units=\"m\",\n",
Sonja Murto's avatar
Sonja Murto committed
    "                              long_name=\"Sky Condition Cloud Altitude\",\n",
    "                              description = \"Cloud layer height calculated with the sky condition algorithm. \"+\\\n",
    "                             \"Cloud layer height given for 1-5 sky condition layers; NaN if no layer detected. \"+\\\n",
    "                             \"Vertical visibility is reported as height if obscuration (at sky_condition_cloud_fraction 9). \"+\\\n",
    "                             \"Instrument height incorporated.\"),) #added as 2D\n",
    "\n",
    "\n",
    "\n",
    "#2D: dimension time/range\n",
    "\n",
    "da_bsprof=xr.DataArray(data=np.array(DF_10min_range,dtype=float).astype('float32'),\n",
    "                    name=\"backscatter_profile\",dims=[\"time\",\"range_levels\"],\n",
    "                       coords=dict(time=Time_steps_dt64_org,range_levels=range_levs),\n",
    "                   attrs=dict(type=\"float32\",dimension=\"time, range_levels\", units=\"1 km-1 steradians-1\",\n",
    "                              long_name=\"Backscatter Profile\", description=\"backscatter coefficient profile\"),) #added as 2D\n"
   ]
  },
  {
   "cell_type": "code",
Sonja Murto's avatar
Sonja Murto committed
   "execution_count": 54,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "15"
      ]
     },
Sonja Murto's avatar
Sonja Murto committed
     "execution_count": 54,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#merge all arrays into one\n",
    "\n",
    "ds_all=xr.merge([da_doy,da_year,da_month,da_day,da_hour,da_min,da_sec,\n",
    "                da_ceilrange,da_cloudcode,da_vertvis,da_high_sig,\n",
    "                da_baseht,da_scfrac,da_scht,da_bsprof])\n",
    "\n",
    "len(ds_all)"
   ]
  },
  {
   "cell_type": "code",
Sonja Murto's avatar
Sonja Murto committed
   "execution_count": 55,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Timestamp('2023-05-07 00:05:22')"
      ]
     },
Sonja Murto's avatar
Sonja Murto committed
     "execution_count": 55,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#get time range - start\n",
    "Times_nomicrosec[0]"
   ]
  },
  {
   "cell_type": "code",
Sonja Murto's avatar
Sonja Murto committed
   "execution_count": 56,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Timestamp('2023-06-13 16:15:07')"
      ]
     },
Sonja Murto's avatar
Sonja Murto committed
     "execution_count": 56,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#get time range - end\n",
    "Times_nomicrosec[-1]"
   ]
  },
  {
   "cell_type": "code",
Sonja Murto's avatar
Sonja Murto committed
   "execution_count": 57,
   "metadata": {},
   "outputs": [],
   "source": [
    "# modify attributes (start/end time and text in comments); \n",
    "# note again geospatial bounds from the weather station data\n",
    "\n",
    "ds_all.attrs = {\"Conventions\" :\"CF-1.8\",\n",
    "                \"source\" : \"Ceilometer\",\n",
    "                \"instrument_model\" : \"Vaisala Ceilometer CL31\",\n",
    "                \"creator_name\" : \"Sonja Murto\",\n",
    "                \"creator_email\" : \"sonja.murto@misu.su.se\",\n",
    "                \"creator_url\" : \"https://orcid.org/0000-0002-4966-9077\",\n",
    "                \"institution\" : \"Stockholm University\",  \n",
    "                \"processing_software\" : \"Matlab (for creating the matlab file) and a jupyter notebook script (netCDF)\",\n",
    "                \"sampling_interval\": \"original 30s; here 10min averages\", \n",
    "                \"product_version\" : \"v01\",\n",
    "                \"last_revised_date\" : \"2024-05-31T15:00:00\", \n",
    "                \"project\" : \"ARTofMELT\",\n",
    "                \"project_principal_investigator\" : \"Michael Tjernström\",\n",
    "                \"project_principal_investigator_email\" : \"michaelt@misu.su.se\",\n",
    "                \"project_principal_investigator_url\" : \"https://orcid.org/0000-0002-6908-7410\",                \n",
    "                \"acknowledgement\" : \" Knut och Alice Wallenbergs Stiftelse, Grant 2016-0024\",\n",
    "                \"platform\" : \"Swedish Icebreaker Oden\",\n",
    "                \"platform_type\" : \"On Oden's 7th deck above the bridge\",\n",
    "                \"deployment_mode\" : \"ship\",\n",
    "                \"title\" : \"Ceilometer cloud base height, vertical visibility and backscatter profiles\",\n",
    "                \"feature_type\" : \"time series\",   \n",
    "                \"time_coverage_start\" : \"2023-05-07T00:05:22\",\n",
    "                \"time_coverage_end\" : \"2023-06-13T16:15:07\",\n",
    "                \"geospatial_bounds\" : \"80.52392166666667N, -3.8737749999999997E, 78.04355166666666N, 15.660881666666667E\",\n",
    "                \"platform_altitude\" : \"Located at approximately 25 m a.s.l\",\n",
    "                \"location_keywords\": \"Oden, Arctic Ocean, Fram Strait, atmosphere, on the ship\",\n",
    "                \"comments\" : \"This file consists of 10 min averages of ceilometer data \" +\\\n",
    "                \"measured with the Vaisala Ceilometer CL31 that was located on the 7th deck, \"+\\\n",
    "                \"above the bridge (at approximately 25m).\" + \\\n",
    "                \"The sky condition measurements are time averages to represent an area average. \" + \\\n",
    "                \"The vertical resolution is 10m * 770, but the measurement height (25m) is included in the backscatter profile ranges, \" + \\\n",
    "                \"as well as in the cloud base heights (cloud_base_altitude and sky_condition_cloud_altitude). \" + \\\n",
    "                \"Geospatial bounds are taken from the gps location of the weather station dataset located on Oden. \" +\\\n",
    "                \"Time variables month, day, hour, minute and second are approximated to the nearest second. \" +\\\n",
    "                \"Data produced by Sonja Murto. See the document - Readme_CL.txt - for more details.\"}\n",
    "               "
   ]
  },
  {
   "cell_type": "code",
Sonja Murto's avatar
Sonja Murto committed
   "execution_count": 58,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div><svg style=\"position: absolute; width: 0; height: 0; overflow: hidden\">\n",
       "<defs>\n",
       "<symbol id=\"icon-database\" viewBox=\"0 0 32 32\">\n",
       "<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>\n",
       "<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>\n",
       "<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>\n",
       "</symbol>\n",
       "<symbol id=\"icon-file-text2\" viewBox=\"0 0 32 32\">\n",
       "<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>\n",
       "<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>\n",
       "<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>\n",
       "<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>\n",
       "</symbol>\n",
       "</defs>\n",
       "</svg>\n",
       "<style>/* CSS stylesheet for displaying xarray objects in jupyterlab.\n",
       " *\n",
       " */\n",
       "\n",
       ":root {\n",
       "  --xr-font-color0: var(--jp-content-font-color0, rgba(0, 0, 0, 1));\n",
       "  --xr-font-color2: var(--jp-content-font-color2, rgba(0, 0, 0, 0.54));\n",
       "  --xr-font-color3: var(--jp-content-font-color3, rgba(0, 0, 0, 0.38));\n",
       "  --xr-border-color: var(--jp-border-color2, #e0e0e0);\n",
       "  --xr-disabled-color: var(--jp-layout-color3, #bdbdbd);\n",
       "  --xr-background-color: var(--jp-layout-color0, white);\n",
       "  --xr-background-color-row-even: var(--jp-layout-color1, white);\n",
       "  --xr-background-color-row-odd: var(--jp-layout-color2, #eeeeee);\n",
       "}\n",
       "\n",
       "html[theme=dark],\n",
       "body.vscode-dark {\n",
       "  --xr-font-color0: rgba(255, 255, 255, 1);\n",
       "  --xr-font-color2: rgba(255, 255, 255, 0.54);\n",
       "  --xr-font-color3: rgba(255, 255, 255, 0.38);\n",
       "  --xr-border-color: #1F1F1F;\n",
       "  --xr-disabled-color: #515151;\n",
       "  --xr-background-color: #111111;\n",
       "  --xr-background-color-row-even: #111111;\n",
       "  --xr-background-color-row-odd: #313131;\n",
       "}\n",
       "\n",
       ".xr-wrap {\n",
       "  display: block;\n",
       "  min-width: 300px;\n",
       "  max-width: 700px;\n",
       "}\n",
       "\n",
       ".xr-text-repr-fallback {\n",
       "  /* fallback to plain text repr when CSS is not injected (untrusted notebook) */\n",
       "  display: none;\n",
       "}\n",
       "\n",
       ".xr-header {\n",
       "  padding-top: 6px;\n",
       "  padding-bottom: 6px;\n",
       "  margin-bottom: 4px;\n",
       "  border-bottom: solid 1px var(--xr-border-color);\n",
       "}\n",
       "\n",
       ".xr-header > div,\n",
       ".xr-header > ul {\n",
       "  display: inline;\n",
       "  margin-top: 0;\n",
       "  margin-bottom: 0;\n",
       "}\n",
       "\n",
       ".xr-obj-type,\n",
       ".xr-array-name {\n",
       "  margin-left: 2px;\n",
       "  margin-right: 10px;\n",
       "}\n",
       "\n",
       ".xr-obj-type {\n",
       "  color: var(--xr-font-color2);\n",
       "}\n",
       "\n",
       ".xr-sections {\n",
       "  padding-left: 0 !important;\n",
       "  display: grid;\n",
       "  grid-template-columns: 150px auto auto 1fr 20px 20px;\n",
       "}\n",
       "\n",
       ".xr-section-item {\n",
       "  display: contents;\n",
       "}\n",
       "\n",
       ".xr-section-item input {\n",
       "  display: none;\n",
       "}\n",
       "\n",
       ".xr-section-item input + label {\n",
       "  color: var(--xr-disabled-color);\n",
       "}\n",
       "\n",
       ".xr-section-item input:enabled + label {\n",
       "  cursor: pointer;\n",
       "  color: var(--xr-font-color2);\n",
       "}\n",
       "\n",
       ".xr-section-item input:enabled + label:hover {\n",
       "  color: var(--xr-font-color0);\n",
       "}\n",
       "\n",
       ".xr-section-summary {\n",
       "  grid-column: 1;\n",
       "  color: var(--xr-font-color2);\n",
       "  font-weight: 500;\n",
       "}\n",
       "\n",
       ".xr-section-summary > span {\n",
       "  display: inline-block;\n",
       "  padding-left: 0.5em;\n",
       "}\n",
       "\n",
       ".xr-section-summary-in:disabled + label {\n",
       "  color: var(--xr-font-color2);\n",
       "}\n",
       "\n",
       ".xr-section-summary-in + label:before {\n",
       "  display: inline-block;\n",
       "  content: '►';\n",
       "  font-size: 11px;\n",
       "  width: 15px;\n",
       "  text-align: center;\n",
       "}\n",
       "\n",
       ".xr-section-summary-in:disabled + label:before {\n",
       "  color: var(--xr-disabled-color);\n",
       "}\n",
       "\n",
       ".xr-section-summary-in:checked + label:before {\n",
       "  content: '▼';\n",
       "}\n",
       "\n",
       ".xr-section-summary-in:checked + label > span {\n",
       "  display: none;\n",
       "}\n",
       "\n",
       ".xr-section-summary,\n",
       ".xr-section-inline-details {\n",
       "  padding-top: 4px;\n",
       "  padding-bottom: 4px;\n",
       "}\n",
       "\n",
       ".xr-section-inline-details {\n",
       "  grid-column: 2 / -1;\n",
       "}\n",
       "\n",
       ".xr-section-details {\n",
       "  display: none;\n",
       "  grid-column: 1 / -1;\n",
       "  margin-bottom: 5px;\n",
       "}\n",
       "\n",
       ".xr-section-summary-in:checked ~ .xr-section-details {\n",
       "  display: contents;\n",
       "}\n",
       "\n",
       ".xr-array-wrap {\n",
       "  grid-column: 1 / -1;\n",
       "  display: grid;\n",
       "  grid-template-columns: 20px auto;\n",
       "}\n",
       "\n",
       ".xr-array-wrap > label {\n",
       "  grid-column: 1;\n",
       "  vertical-align: top;\n",
       "}\n",
       "\n",
       ".xr-preview {\n",
       "  color: var(--xr-font-color3);\n",
       "}\n",
       "\n",
       ".xr-array-preview,\n",
       ".xr-array-data {\n",
       "  padding: 0 5px !important;\n",
       "  grid-column: 2;\n",
       "}\n",
       "\n",
       ".xr-array-data,\n",
       ".xr-array-in:checked ~ .xr-array-preview {\n",
       "  display: none;\n",
       "}\n",
       "\n",
       ".xr-array-in:checked ~ .xr-array-data,\n",
       ".xr-array-preview {\n",
       "  display: inline-block;\n",
       "}\n",
       "\n",
       ".xr-dim-list {\n",
       "  display: inline-block !important;\n",
       "  list-style: none;\n",
       "  padding: 0 !important;\n",
       "  margin: 0;\n",