{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "This python script converts the processed .mat file for native Ceilometer observations into a user-friendly NetCDF file. It also converts all time averaged .mat files into their respecitve netCDF files. These final (four) netCDF files are found in the Bolin Centre Database. Data from the ARTofMELT expedition in Spring 2023. This code is written by Sonja Murto (2024)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "# import modules\n",
    "import sys,glob,os\n",
    "import numpy as np\n",
    "import math\n",
    "import pandas as pd\n",
    "import matplotlib.dates as mdates\n",
    "import xarray as xr\n",
    "import time,datetime\n",
    "import itertools\n",
    "import matplotlib.pyplot as plt\n",
    "import string\n",
    "import scipy.io\n",
    "import matplotlib.ticker as mticker\n",
    "from collections import Counter\n",
    "\n",
    "\n",
    "#metpy functions for thermodynamical variable conversions\n",
    "import metpy.calc as mpcalc\n",
    "from metpy.units import units\n",
    "\n",
    "import warnings\n",
    "warnings.filterwarnings('ignore')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "# define functions\n",
    "def datestring_fromtuple(date=(2001,2,15,12)):\n",
    "    '''\n",
    "    Input: a date tuple (YYYY,M,D,h)\n",
    "    Output: Date string: 'YYYYMMDD_hh'\n",
    "    '''\n",
    "    strdate=str(date[0])+\"{:0>2}\".format(str(date[1]))+\"{:0>2}\".format(str(date[2]))+'_'+\"{:0>2}\".format(str(date[3]))\n",
    "    return strdate\n",
    "\n",
    "def datetuple(date):\n",
    "    '''date is as datetime object, i.e. from pandas using .to_pydatetime()\n",
    "    '''\n",
    "    return date.year,date.month,date.day,date.hour\n",
    "\n",
    "def strtodatetuple(datestr='19900109_12',format_st='%Y%m%d_%H',returntuple=True):\n",
    "    if returntuple:   \n",
    "        return datetuple(datetime.datetime.strptime(datestr, format_st))\n",
    "    else:\n",
    "        return datetime.datetime.strptime(datestr, format_st)\n",
    "\n",
    "\n",
    "def returndatetime_fromdoy(doys, year=2023):\n",
    "    '''\n",
    "    fucntion to return datetime from DOY dates. \n",
    "    Takes the leap year into account if given for a leap year\n",
    "    Input: list of DOYs\n",
    "    Output: List of Dates (in datetime) corresponding to the given doys\n",
    "    Note, returns in microseconds.\n",
    "    If second rounded: [pd.to_datetime(T).round('1s') for T in date]\n",
    "    \n",
    "    '''\n",
    "    jdate_frac=doys\n",
    "    date=[]\n",
    "    for d in jdate_frac:\n",
    "        year,julian = [year,d]\n",
    "        date.append(datetime.datetime(year, 1, 1)+datetime.timedelta(days=julian -1))\n",
    "    return date\n",
    "\n",
    "def getList(dict): \n",
    "    '''\n",
    "    This function returns a list of keys for a pandas dictionary\n",
    "    '''\n",
    "    list = [] \n",
    "    for key in dict.keys(): \n",
    "        list.append(key) \n",
    "    return list\n",
    "\n",
    "def truncate_colormap(cmap, minval=0.0, maxval=1.0, n=100,returncolors=False):\n",
    "    '''\n",
    "    This function creates a new colormap from the cmap chosen, taking the limits from minval and maxval, and the number of colors as n.\n",
    "    The default is a colormap as LinearSegmentedColormap, which can be used as colormap for imshow, contourf...\n",
    "    If you assign returncolors as True, the there will be an array of n amount of colors from the chosen colormap. This can be used in plots when each event has a color (n=50)\n",
    "    '''\n",
    "    new_cmap = mcolors.LinearSegmentedColormap.from_list('new_cmap', plt.get_cmap(cmap)(np.linspace(minval, maxval, n)))\n",
    "    if returncolors:\n",
    "        new_cmap=plt.get_cmap(cmap)(np.linspace(minval, maxval, n))\n",
    "    return new_cmap   \n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "#define directories - change according to your computer settings\n",
    "cwd = os.getcwd() \n",
    "savefigpath = cwd + '/FIGS/Example_figs/' #directory for figures\n",
    "#directory where to find the data (.mat files)\n",
    "load_data = r'/Volumes/My Passport for Mac/MISU_sticka/WORK/viktigapapper/ARTofMELT_2023/AoM_data_mod/WX/cl31_output/'\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Convert ceilometer data from .mat files into .nc files"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Create secondary dimensions\n",
    "cloud_layer_levs=np.arange(1,4,1).astype('int32') # 3 levels\n",
    "sc_layer_levs=np.arange(1,6,1).astype('int32') # 5 levels\n",
    "range_levs=np.arange(1,771,1).astype('int32') # 770 levels"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[1 2 3] [1 2 3 4 5]\n"
     ]
    }
   ],
   "source": [
    "print(cloud_layer_levs,sc_layer_levs)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 30s data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "# load 30s native data\n",
    "CL_SM_org = scipy.io.loadmat(load_data + 'CL31_ceilometer_ARTofMELT_20230507_20230613_30s_v01.mat',struct_as_record=True) #30s"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "dict_keys(['__header__', '__version__', '__globals__', 'cl31'])"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "CL_SM_org.keys()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "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_org['cl31'].dtype.names\n",
    "ndata = {n: CL_SM_org['cl31'][n][0, 0] for n in Names}\n",
    "print(Names)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "#create time dimension\n",
    "Time_steps=returndatetime_fromdoy(np.array(list(itertools.chain.from_iterable(ndata['doy'])),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]') #time dimension"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "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>year</th>\n",
       "      <th>month</th>\n",
       "      <th>day</th>\n",
       "      <th>hour</th>\n",
       "      <th>minute</th>\n",
       "      <th>second</th>\n",
       "      <th>cloudcode</th>\n",
       "      <th>vert_vis</th>\n",
       "      <th>high_sig</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>127.000258</td>\n",
       "      <td>2023</td>\n",
       "      <td>5</td>\n",
       "      <td>7</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>22</td>\n",
       "      <td>1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>127.000605</td>\n",
       "      <td>2023</td>\n",
       "      <td>5</td>\n",
       "      <td>7</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>52</td>\n",
       "      <td>1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>127.000952</td>\n",
       "      <td>2023</td>\n",
       "      <td>5</td>\n",
       "      <td>7</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>22</td>\n",
       "      <td>2</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>127.001299</td>\n",
       "      <td>2023</td>\n",
       "      <td>5</td>\n",
       "      <td>7</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>52</td>\n",
       "      <td>2</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>127.001647</td>\n",
       "      <td>2023</td>\n",
       "      <td>5</td>\n",
       "      <td>7</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>22</td>\n",
       "      <td>1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "          doy  year  month  day  hour  minute  second  cloudcode  vert_vis  \\\n",
       "0  127.000258  2023      5    7     0       0      22          1       NaN   \n",
       "1  127.000605  2023      5    7     0       0      52          1       NaN   \n",
       "2  127.000952  2023      5    7     0       1      22          2       NaN   \n",
       "3  127.001299  2023      5    7     0       1      52          2       NaN   \n",
       "4  127.001647  2023      5    7     0       2      22          1       NaN   \n",
       "\n",
       "   high_sig  \n",
       "0       NaN  \n",
       "1       NaN  \n",
       "2       NaN  \n",
       "3       NaN  \n",
       "4       NaN  "
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# convert data into pandas dataframes\n",
    "DF_30s=pd.DataFrame(index=range(len(ndata['doy'])),)\n",
    "DF_30s['doy']=np.array(list(itertools.chain.from_iterable(ndata['doy'])),dtype=float)\n",
    "DF_30s['year']=np.array([Times_nomicrosec[i].year for i in range(len(Time_steps))],dtype=int)\n",
    "DF_30s['month']=np.array([Times_nomicrosec[i].month for i in range(len(Time_steps))],dtype=int)\n",
    "DF_30s['day']=np.array([Times_nomicrosec[i].day for i in range(len(Time_steps))],dtype=int)\n",
    "DF_30s['hour']=np.array([Times_nomicrosec[i].hour for i in range(len(Time_steps))],dtype=int)\n",
    "DF_30s['minute']=np.array([Times_nomicrosec[i].minute for i in range(len(Time_steps))],dtype=int)\n",
    "DF_30s['second']=np.array([Times_nomicrosec[i].second for i in range(len(Time_steps))],dtype=int)\n",
    "DF_30s['cloudcode']=np.array(list(itertools.chain.from_iterable(ndata['cloudcode'])),dtype=int)\n",
    "DF_30s['vert_vis']=np.array(list(itertools.chain.from_iterable(ndata['vert_vis'])),dtype=float)\n",
    "DF_30s['high_sig']=np.array(list(itertools.chain.from_iterable(ndata['high_sig'])),dtype=float)\n",
    "\n",
    "DF_30s.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "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>year</th>\n",
       "      <th>month</th>\n",
       "      <th>day</th>\n",
       "      <th>hour</th>\n",
       "      <th>minute</th>\n",
       "      <th>second</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, year, month, day, hour, minute, second, cloudcode, vert_vis, high_sig]\n",
       "Index: []"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#check for nans - no nans!\n",
    "DF_30s.iloc[DF_30s[DF_30s.doy.isna()].index]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Index(['doy', 'year', 'month', 'day', 'hour', 'minute', 'second', 'cloudcode',\n",
       "       'vert_vis', 'high_sig'],\n",
       "      dtype='object')"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#get a list of columns\n",
    "DF_30s.columns"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [],
   "source": [
    "# save each variable into Data Arrays, with attribute data\n",
    "\n",
    "#1D variables: dimension time\n",
    "\n",
    "da_doy=xr.DataArray(data=np.array(DF_30s['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_30s['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_30s['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_30s['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_30s['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_30s['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_30s['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_30s['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_30s['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_30s['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 variable: dimension time/cloud_layer\n",
    "\n",
    "\n",
    "da_baseht=xr.DataArray(data=np.array(ndata['base_ht'],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 variables: dimension time/sky_condition_layer\n",
    "\n",
    "da_scfrac=xr.DataArray(data=np.array(ndata['sc_frac'],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(ndata['sc_ht'],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",
    "                              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",
    "#2D variable: dimension time/range\n",
    "\n",
    "da_bsprof=xr.DataArray(data=np.array(ndata['bs_prof'],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",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# quick plot of cloud base heights\n",
    "\n",
    "da_baseht.sel(cloud_layer=1).plot(color='r',label='cloud_layer = 1')\n",
    "da_baseht.sel(cloud_layer=2).plot(color='b',label='cloud_layer = 2')\n",
    "da_baseht.sel(cloud_layer=3).plot(color='y',label='cloud_layer = 3')\n",
    "plt.title('')\n",
    "plt.legend()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "15"
      ]
     },
     "execution_count": 14,
     "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",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.colorbar.Colorbar at 0x7fad6ddbd6d0>"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.scatter(ds_all.time,ds_all.vertical_visibility,c=ds_all.flag_cloudcode)\n",
    "plt.colorbar()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Timestamp('2023-05-07 00:00:22')"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#get the time ranges: start\n",
    "Times_nomicrosec[0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Timestamp('2023-06-13 16:24:22')"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#get the time ranges: end\n",
    "Times_nomicrosec[-1]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [],
   "source": [
    "# add global attribute data. Note that the geospatial_bounds are taken from the gps data at the weather station sensor\n",
    "# (Weather station data: start: 2023-05-01 7:00:05, end = 2023-06-13 16:24:35)\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\": \"30s\", \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:00:22\",\n",
    "                \"time_coverage_end\" : \"2023-06-13T16:24:22\",\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 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",
   "execution_count": 19,
   "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",
       "}\n",
       "\n",
       ".xr-dim-list li {\n",
       "  display: inline-block;\n",
       "  padding: 0;\n",
       "  margin: 0;\n",
       "}\n",
       "\n",
       ".xr-dim-list:before {\n",
       "  content: '(';\n",
       "}\n",
       "\n",
       ".xr-dim-list:after {\n",
       "  content: ')';\n",
       "}\n",
       "\n",
       ".xr-dim-list li:not(:last-child):after {\n",
       "  content: ',';\n",
       "  padding-right: 5px;\n",
       "}\n",
       "\n",
       ".xr-has-index {\n",
       "  font-weight: bold;\n",
       "}\n",
       "\n",
       ".xr-var-list,\n",
       ".xr-var-item {\n",
       "  display: contents;\n",
       "}\n",
       "\n",
       ".xr-var-item > div,\n",
       ".xr-var-item label,\n",
       ".xr-var-item > .xr-var-name span {\n",
       "  background-color: var(--xr-background-color-row-even);\n",
       "  margin-bottom: 0;\n",
       "}\n",
       "\n",
       ".xr-var-item > .xr-var-name:hover span {\n",
       "  padding-right: 5px;\n",
       "}\n",
       "\n",
       ".xr-var-list > li:nth-child(odd) > div,\n",
       ".xr-var-list > li:nth-child(odd) > label,\n",
       ".xr-var-list > li:nth-child(odd) > .xr-var-name span {\n",
       "  background-color: var(--xr-background-color-row-odd);\n",
       "}\n",
       "\n",
       ".xr-var-name {\n",
       "  grid-column: 1;\n",
       "}\n",
       "\n",
       ".xr-var-dims {\n",
       "  grid-column: 2;\n",
       "}\n",
       "\n",
       ".xr-var-dtype {\n",
       "  grid-column: 3;\n",
       "  text-align: right;\n",
       "  color: var(--xr-font-color2);\n",
       "}\n",
       "\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: 108477)\n",
       "Coordinates:\n",
       "  * time                          (time) datetime64[ns] 2023-05-07T00:00:22.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 0 1 1 2 2 ... 21 22 22 23 23 24\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 915.0 nan ... 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.00041 ... -0...\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:22\n",
       "    time_coverage_end:                     2023-06-13T16:24:22\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 ceilometer d...</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-2595830e-84c7-4bc6-80bb-6faf43cca029' class='xr-section-summary-in' type='checkbox' disabled ><label for='section-2595830e-84c7-4bc6-80bb-6faf43cca029' 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>: 108477</li></ul></div><div class='xr-section-details'></div></li><li class='xr-section-item'><input id='section-c6b5e696-3756-4540-9952-9896b17a74b8' class='xr-section-summary-in' type='checkbox'  checked><label for='section-c6b5e696-3756-4540-9952-9896b17a74b8' 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:22.266003 ... 2...</div><input id='attrs-991fef4d-194d-42a3-a4c7-076a067a88db' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-991fef4d-194d-42a3-a4c7-076a067a88db' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-be261f4b-8bc1-4326-a818-3a6b26a5c1b8' class='xr-var-data-in' type='checkbox'><label for='data-be261f4b-8bc1-4326-a818-3a6b26a5c1b8' 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:22.266003000&#x27;, &#x27;2023-05-07T00:00:52.264995000&#x27;,\n",
       "       &#x27;2023-05-07T00:01:22.265003000&#x27;, ..., &#x27;2023-06-13T16:23:22.296001000&#x27;,\n",
       "       &#x27;2023-06-13T16:23:52.296000000&#x27;, &#x27;2023-06-13T16:24:22.295002000&#x27;],\n",
       "      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-ce3989d0-c035-4a6d-a3b7-7a72d01f6835' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-ce3989d0-c035-4a6d-a3b7-7a72d01f6835' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-9ee1e740-c001-40b3-827c-d6af04db85d4' class='xr-var-data-in' type='checkbox'><label for='data-9ee1e740-c001-40b3-827c-d6af04db85d4' 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-9a589097-d840-4cb2-ac55-ac07c99fa45a' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-9a589097-d840-4cb2-ac55-ac07c99fa45a' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-65dd0ad0-bd35-4759-850d-821d8eded4bd' class='xr-var-data-in' type='checkbox'><label for='data-65dd0ad0-bd35-4759-850d-821d8eded4bd' 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-f8f3940a-a211-415c-8b22-caf67c5e147c' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-f8f3940a-a211-415c-8b22-caf67c5e147c' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-3bba2ffd-ed9b-4ed6-a567-a13d75134fe0' class='xr-var-data-in' type='checkbox'><label for='data-3bba2ffd-ed9b-4ed6-a567-a13d75134fe0' 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-5c4b4bac-7157-4bd0-b537-8c97f513eda9' class='xr-section-summary-in' type='checkbox'  ><label for='section-5c4b4bac-7157-4bd0-b537-8c97f513eda9' 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-abb5a7fb-774f-4da2-a03a-c0dc942df841' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-abb5a7fb-774f-4da2-a03a-c0dc942df841' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-005e1ad2-515f-4c8a-8eed-a307b6acd595' class='xr-var-data-in' type='checkbox'><label for='data-005e1ad2-515f-4c8a-8eed-a307b6acd595' 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.00026, 127.0006 , 127.00095, ..., 164.68289, 164.68324,\n",
       "       164.6836 ], 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-f78d9d87-9c44-4536-bca5-c5c496b3e2e7' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-f78d9d87-9c44-4536-bca5-c5c496b3e2e7' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-9a2daeaf-fb4f-405d-bffe-1dc0c8cd247b' class='xr-var-data-in' type='checkbox'><label for='data-9a2daeaf-fb4f-405d-bffe-1dc0c8cd247b' 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-94989e29-7ffb-47e8-a9d0-d915fbc2b340' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-94989e29-7ffb-47e8-a9d0-d915fbc2b340' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-77bda41d-a5e3-4960-bf4f-84751081fe08' class='xr-var-data-in' type='checkbox'><label for='data-77bda41d-a5e3-4960-bf4f-84751081fe08' 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-0d552525-696f-45e5-9261-7927609a9a4a' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-0d552525-696f-45e5-9261-7927609a9a4a' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-fb2a6a18-6d22-4a6c-b517-77cc8dd4ae98' class='xr-var-data-in' type='checkbox'><label for='data-fb2a6a18-6d22-4a6c-b517-77cc8dd4ae98' 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-5674d3a9-0665-406b-a5f6-5fb38c55235f' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-5674d3a9-0665-406b-a5f6-5fb38c55235f' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-8aa8892a-dcec-4025-89a4-8d6c165148cd' class='xr-var-data-in' type='checkbox'><label for='data-8aa8892a-dcec-4025-89a4-8d6c165148cd' 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 0 1 1 2 2 3 ... 21 22 22 23 23 24</div><input id='attrs-a72888bf-8faa-4638-9925-e1defdfece87' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-a72888bf-8faa-4638-9925-e1defdfece87' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-ea82698c-1504-4df1-b9c5-31fe5469e5ee' class='xr-var-data-in' type='checkbox'><label for='data-ea82698c-1504-4df1-b9c5-31fe5469e5ee' 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,  0,  1, ..., 23, 23, 24], 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'>22 52 22 52 22 ... 22 52 22 52 22</div><input id='attrs-c809e45a-48a7-4a89-9f28-919b541076c8' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-c809e45a-48a7-4a89-9f28-919b541076c8' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-7b76f7f4-ad30-4dd7-8e8c-67298d648cfb' class='xr-var-data-in' type='checkbox'><label for='data-7b76f7f4-ad30-4dd7-8e8c-67298d648cfb' 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([22, 52, 22, ..., 22, 52, 22], 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-fdb4f47c-a272-4a3c-a0a3-37fd93b1beaa' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-fdb4f47c-a272-4a3c-a0a3-37fd93b1beaa' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-f5664c11-31e9-49b4-a9b7-d271f07ecb4f' class='xr-var-data-in' type='checkbox'><label for='data-f5664c11-31e9-49b4-a9b7-d271f07ecb4f' 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",
       "      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 2 2 1 1 1 1 ... 1 1 1 1 1 1 1 1</div><input id='attrs-d799e1f3-7de1-4dd3-9ed5-c18797970841' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-d799e1f3-7de1-4dd3-9ed5-c18797970841' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-efcac1bd-be03-4498-b72a-5ad89c034138' class='xr-var-data-in' type='checkbox'><label for='data-efcac1bd-be03-4498-b72a-5ad89c034138' 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",
       "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, 2, ..., 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-54a35b35-82da-444f-a86b-caef98f787b2' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-54a35b35-82da-444f-a86b-caef98f787b2' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-c8c59782-e623-4533-a532-48d8357e02f2' class='xr-var-data-in' type='checkbox'><label for='data-c8c59782-e623-4533-a532-48d8357e02f2' 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-d5813921-3bb8-43ca-b3a3-8cfdae7bf32a' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-d5813921-3bb8-43ca-b3a3-8cfdae7bf32a' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-643fbeca-f9df-4fb0-b336-30b00265a631' class='xr-var-data-in' type='checkbox'><label for='data-643fbeca-f9df-4fb0-b336-30b00265a631' 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'>915.0 nan nan ... 265.0 nan nan</div><input id='attrs-48d9898d-ea5a-4904-8ce4-26eb5d2ad7ea' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-48d9898d-ea5a-4904-8ce4-26eb5d2ad7ea' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-02774637-8d28-4358-b10a-024b57bea8f7' class='xr-var-data-in' type='checkbox'><label for='data-02774637-8d28-4358-b10a-024b57bea8f7' 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([[915.,  nan,  nan],\n",
       "       [765.,  nan,  nan],\n",
       "       [745., 945.,  nan],\n",
       "       ...,\n",
       "       [325.,  nan,  nan],\n",
       "       [325.,  nan,  nan],\n",
       "       [265.,  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-b26e213f-9303-477a-99fa-53683dab2588' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-b26e213f-9303-477a-99fa-53683dab2588' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-cb395ca5-285f-4bbd-ab88-eb8c7ec719f2' class='xr-var-data-in' type='checkbox'><label for='data-cb395ca5-285f-4bbd-ab88-eb8c7ec719f2' 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",
       "       [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-9146d70b-efee-4545-8ea5-e12df1dcb1a7' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-9146d70b-efee-4545-8ea5-e12df1dcb1a7' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-c85c0deb-9b35-4bbf-8ab6-285b8826ff89' class='xr-var-data-in' type='checkbox'><label for='data-c85c0deb-9b35-4bbf-8ab6-285b8826ff89' 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",
       "       [ 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.00041 0.00021 ... -0.00099</div><input id='attrs-13854140-a1ce-4c87-b996-b13aa98728d9' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-13854140-a1ce-4c87-b996-b13aa98728d9' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-3ba3a9a3-c354-4c35-be4d-179994d3474c' class='xr-var-data-in' type='checkbox'><label for='data-3ba3a9a3-c354-4c35-be4d-179994d3474c' 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.00041,  0.00021,  0.00021, ...,  0.00481,  0.00636,  0.00369],\n",
       "       [ 0.00054,  0.00023,  0.00022, ..., -0.00383, -0.00429, -0.00371],\n",
       "       [ 0.00011,  0.00021,  0.00021, ..., -0.00184, -0.00054,  0.00392],\n",
       "       ...,\n",
       "       [ 0.01576,  0.01214,  0.01054, ...,  0.00153, -0.00049, -0.00063],\n",
       "       [ 0.0024 ,  0.00564,  0.00816, ..., -0.00122,  0.00081,  0.00131],\n",
       "       [ 0.0178 ,  0.01494,  0.02054, ..., -0.00102, -0.00123, -0.00099]],\n",
       "      dtype=float32)</pre></div></li></ul></div></li><li class='xr-section-item'><input id='section-e9f398d8-57b8-4e95-879f-7c4213ff86da' class='xr-section-summary-in' type='checkbox'  ><label for='section-e9f398d8-57b8-4e95-879f-7c4213ff86da' 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>30s</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:22</dd><dt><span>time_coverage_end :</span></dt><dd>2023-06-13T16:24:22</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 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: 108477)\n",
       "Coordinates:\n",
       "  * time                          (time) datetime64[ns] 2023-05-07T00:00:22.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 0 1 1 2 2 ... 21 22 22 23 23 24\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 915.0 nan ... 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.00041 ... -0...\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:22\n",
       "    time_coverage_end:                     2023-06-13T16:24:22\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 ceilometer d..."
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ds_all"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Save to netCDF\n",
    "ds_all.to_netcdf(load_data + 'CL31_ceilometer_ARTofMELT_20230507_20230613_30s_v01.nc') "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Create netCDF from 1 min average files - remove times with no data points"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [],
   "source": [
    "CL_SM_avg = scipy.io.loadmat(load_data + 'CL31_ceilometer_ARTofMELT_20230507_20230613_1min_v01.mat',struct_as_record=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "dict_keys(['__header__', '__version__', '__globals__', 'cl31_av'])"
      ]
     },
     "execution_count": 22,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "CL_SM_avg.keys()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "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",
   "execution_count": 24,
   "metadata": {},
   "outputs": [],
   "source": [
    "# create pandas dataframe from the data\n",
    "\n",
    "# 1D variables\n",
    "\n",
    "DF_1min=pd.DataFrame(index=range(len(ndata['doy'])),)\n",
    "DF_1min['doy']=np.array(list(itertools.chain.from_iterable(ndata['doy'])),dtype=float)\n",
    "DF_1min['cloudcode']=np.array(list(itertools.chain.from_iterable(ndata['cloudcode'])),dtype=float)\n",
    "DF_1min['vert_vis']=np.array(list(itertools.chain.from_iterable(ndata['vert_vis'])),dtype=float)\n",
    "DF_1min['high_sig']=np.array(list(itertools.chain.from_iterable(ndata['high_sig'])),dtype=float)\n",
    "\n",
    "\n",
    "#2D cloudlayer\n",
    "DF_1min_cloudbh=pd.DataFrame(index=range(len(ndata['doy'])),data=np.array(ndata['base_ht'],dtype=float))\n",
    "\n",
    "#2D sc_layer_ht\n",
    "DF_1min_scht=pd.DataFrame(index=range(len(ndata['doy'])),data=np.array(ndata['sc_ht'],dtype=float))\n",
    "\n",
    "#2D sc_layer_frac\n",
    "DF_1min_scfrac=pd.DataFrame(index=range(len(ndata['doy'])),data=np.array(ndata['sc_frac'],dtype=float))\n",
    "\n",
    "#2D ranges\n",
    "DF_1min_range=pd.DataFrame(index=range(len(ndata['doy'])),data=np.array(ndata['bs_prof'],dtype=float))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "54264"
      ]
     },
     "execution_count": 25,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "len(DF_1min)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "54251 13\n"
     ]
    }
   ],
   "source": [
    "#check for NaNs\n",
    "selection = DF_1min.iloc[DF_1min[~DF_1min.doy.isna()].index].index.values # size with no nans\n",
    "idx_nan = DF_1min.iloc[DF_1min[DF_1min.doy.isna()].index].index.values # length of nan times\n",
    "print(len(selection),len(idx_nan))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [],
   "source": [
    "#select only no-nan times; for all 5 pandas dataframes\n",
    "DF_1min=DF_1min.iloc[selection].reset_index(drop=True)\n",
    "DF_1min_cloudbh=DF_1min_cloudbh.iloc[selection].reset_index(drop=True)\n",
    "DF_1min_scht=DF_1min_scht.iloc[selection].reset_index(drop=True)\n",
    "DF_1min_scfrac=DF_1min_scfrac.iloc[selection].reset_index(drop=True)\n",
    "DF_1min_range=DF_1min_range.iloc[selection].reset_index(drop=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "54251 54251 54251 54251 54251\n"
     ]
    }
   ],
   "source": [
    "#check for right length\n",
    "print(len(DF_1min),len(DF_1min_cloudbh),len(DF_1min_scfrac),len(DF_1min_scht),len(DF_1min_range))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "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: []"
      ]
     },
     "execution_count": 29,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "DF_1min.iloc[DF_1min[DF_1min.doy.isna()].index] #check again for NaNs - empty!"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [],
   "source": [
    "# set time dimension\n",
    "Time_steps=returndatetime_fromdoy(np.array(DF_1min.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",
   "execution_count": 31,
   "metadata": {},
   "outputs": [],
   "source": [
    "# add date values\n",
    "DF_1min['year']=np.array([Times_nomicrosec[i].year for i in range(len(Time_steps))],dtype=int)\n",
    "DF_1min['month']=np.array([Times_nomicrosec[i].month for i in range(len(Time_steps))],dtype=int)\n",
    "DF_1min['day']=np.array([Times_nomicrosec[i].day for i in range(len(Time_steps))],dtype=int)\n",
    "DF_1min['hour']=np.array([Times_nomicrosec[i].hour for i in range(len(Time_steps))],dtype=int)\n",
    "DF_1min['minute']=np.array([Times_nomicrosec[i].minute for i in range(len(Time_steps))],dtype=int)\n",
    "DF_1min['second']=np.array([Times_nomicrosec[i].second for i in range(len(Time_steps))],dtype=int)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [],
   "source": [
    "# create xr DataArrays\n",
    "\n",
    "#1D: dimension time\n",
    "\n",
    "da_doy=xr.DataArray(data=np.array(DF_1min['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_1min['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_1min['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_1min['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_1min['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_1min['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_1min['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_1min['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_1min['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_1min['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_1min_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_1min_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_1min_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",
    "                              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_1min_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",
   "execution_count": 33,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "15"
      ]
     },
     "execution_count": 33,
     "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",
   "execution_count": 34,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Timestamp('2023-05-07 00:00:52')"
      ]
     },
     "execution_count": 34,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#get time range - start\n",
    "Times_nomicrosec[0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Timestamp('2023-06-13 16:23:37')"
      ]
     },
     "execution_count": 35,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#get time range - end\n",
    "Times_nomicrosec[-1]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "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 1min 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:00:52\",\n",
    "                \"time_coverage_end\" : \"2023-06-13T16:23:37\",\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 1 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",
   "execution_count": 37,
   "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",
       "}\n",
       "\n",
       ".xr-dim-list li {\n",
       "  display: inline-block;\n",
       "  padding: 0;\n",
       "  margin: 0;\n",
       "}\n",
       "\n",
       ".xr-dim-list:before {\n",
       "  content: '(';\n",
       "}\n",
       "\n",
       ".xr-dim-list:after {\n",
       "  content: ')';\n",
       "}\n",
       "\n",
       ".xr-dim-list li:not(:last-child):after {\n",
       "  content: ',';\n",
       "  padding-right: 5px;\n",
       "}\n",
       "\n",
       ".xr-has-index {\n",
       "  font-weight: bold;\n",
       "}\n",
       "\n",
       ".xr-var-list,\n",
       ".xr-var-item {\n",
       "  display: contents;\n",
       "}\n",
       "\n",
       ".xr-var-item > div,\n",
       ".xr-var-item label,\n",
       ".xr-var-item > .xr-var-name span {\n",
       "  background-color: var(--xr-background-color-row-even);\n",
       "  margin-bottom: 0;\n",
       "}\n",
       "\n",
       ".xr-var-item > .xr-var-name:hover span {\n",
       "  padding-right: 5px;\n",
       "}\n",
       "\n",
       ".xr-var-list > li:nth-child(odd) > div,\n",
       ".xr-var-list > li:nth-child(odd) > label,\n",
       ".xr-var-list > li:nth-child(odd) > .xr-var-name span {\n",
       "  background-color: var(--xr-background-color-row-odd);\n",
       "}\n",
       "\n",
       ".xr-var-name {\n",
       "  grid-column: 1;\n",
       "}\n",
       "\n",
       ".xr-var-dims {\n",
       "  grid-column: 2;\n",
       "}\n",
       "\n",
       ".xr-var-dtype {\n",
       "  grid-column: 3;\n",
       "  text-align: right;\n",
       "  color: var(--xr-font-color2);\n",
       "}\n",
       "\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",
       "    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",
       "      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",
       "      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",
       "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",
       "       [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",
       "       [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",
       "       [ 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",
       "         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..."
      ]
     },
     "execution_count": 37,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ds_all"
   ]
  },
  {
   "cell_type": "code",
   "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",
   "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",
   "execution_count": 40,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAZcAAAEiCAYAAAA1YZ/LAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8vihELAAAACXBIWXMAAAsTAAALEwEAmpwYAABrVUlEQVR4nO2dd3gUVdfAfyeFQOhNpIMIIh2JgIAKIioWEH0VK9jBF0X0UwQVO/b2ggqiVBt25bU3sLwIGASlKiBVeocQAknO98edze4mu5vdZDe72dzf88wzs3funTl3dmbO3HvPPUdUFYvFYrFYwklCtAWwWCwWS/xhlYvFYrFYwo5VLhaLxWIJO1a5WCwWiyXsWOVisVgslrBjlYvFYrFYwk5StAWIBWrVqqVNmjSJthgWi8VSqli4cOFOVa3ta59VLkCTJk1IT0+PthgWi8VSqhCR9f722W4xi8VisYQdq1wsFovFEnZiRrmIyAkisthj2S8iI0Skhoh8IyKrnHV1jzKjRWS1iPwpImd7pHcSkSXOvnEiItGplcVisZRNYmbMRVX/BDoAiEgi8A/wETAK+E5VnxCRUc7vu0WkFXAZ0BqoB3wrIi1UNQeYANwEzAM+B84BvghFnqNHj7Jp0yYOHz4cjupZLD4pX748DRo0IDk5OdqiWCxhJWaUSz56A2tUdb2I9Ad6OunTgTnA3UB/YKaqZgFrRWQ10FlE1gFVVPUXABGZAVxIiMpl06ZNVK5cmSZNmmAbPpZIoKrs2rWLTZs20bRp02iLY7GElZjpFsvHZcDbznYdVd0C4KyPcdLrAxs9ymxy0uo72/nTQ+Lw4cPUrFnTKhZLxBARatasaVvHlrgk5pSLiJQD+gHvFZbVR5oGSM9/nptEJF1E0nfs2OFPlkJEsFiKRzD32NKl8EVI7W6LJfrEnHIB+gK/qeo25/c2EakL4Ky3O+mbgIYe5RoAm530Bj7SvVDVSaqapqpptWv7nANkscQEEybAgAHRlsJiCY1YVC6X4+4SA5gFDHa2BwOfeKRfJiIpItIUaA4scLrODohIV8dKbJBHmVJPkyZN2LlzZ7TF8GLdunW0adMGgPT0dIYPHw7AnDlzmDt3bl6+iRMnMmPGjLCdd86cOZx//vlhO164+fHHHznppJNISkri/fffL/JxRo6En38Oo2AWSwkQUwP6IpIK9AGGeCQ/AbwrItcDG4BLAFR1mYi8CywHsoFhjqUYwM3ANKACZiDfdiqUEGlpaaSlpQHm5V+pUiW6desGwNChQ6MpWshkZ2eTlFT0R6RRo0ZMmzaNZ555plhyNG5sFoulNBFTykVVDwE186XtwliP+co/FhjrIz0daBM2wUaMgMWLw3Y4ADp0gBde8Ls7IyODSy+9lE2bNpGTk8OYMWMYOHBg3v7MzEwGDBjAgAEDeOaZZ5g7dy61a9cmNzeXFi1aMG/ePGrVqlXguNu2bWPo0KH8/fffAEyYMIFu3brx3HPPMWXKFABuuOEGRowYwbp16+jbty89evRg7ty51K9fn08++YQKFSqwcOFCrrvuOlJTU+nRo0fe8efMmcMzzzzDiy++yMSJE0lMTOSNN95g/PjxfPfdd1SqVIk777yTxYsXM3ToUA4dOkSzZs2YMmUK1atXp2fPnnTp0oXZs2ezd+9eJk+ezKmnnlro5VywYAEjRowgMzOTChUqMHXqVE444QROPfVUxo8fT4cOHQDo3r07EyZMoFmzZtx6660sWbKE7OxsHnzwQfr378+0adP47LPPOHz4MBkZGXz//fdB/Jm+cfmrS0iIxQ4CiyWy2Ls+Rvnyyy+pV68ev//+O0uXLuWcc87J23fw4EEuuOACrrjiCoYMGcJVV13Fm2++CcC3335L+/btfSoWgOHDh3P66afz+++/89tvv9G6dWsWLlzI1KlTmT9/PvPmzePVV19l0aJFAKxatYphw4axbNkyqlWrxgcffADAtddey7hx4/jll198nqdJkyYMHTqU22+/ncWLFxdQEIMGDeLJJ5/kjz/+oG3btjz00EN5+7Kzs1mwYAEvvPCCV3ogWrZsyY8//siiRYt4+OGHueeeewCjKKdNmwbAX3/9RVZWFu3atWPs2LGcccYZ/Prrr8yePZu77rqLjIwMAH755RemT5/uU7GceuqpdOjQocDy7bffBiWnxVJWiKmWS8wSoIURKdq2bcudd97J3Xffzfnnn+/1cu7fvz8jR47kyiuvBOC6666jf//+jBgxgilTpnDttdf6Pe7333+fN+6RmJhI1apV+fnnnxkwYAAVK1YE4KKLLuKnn36iX79+NG3aNO+rv1OnTqxbt459+/axd+9eTj/9dACuvvpqvgjBnCl/+cGDB3PJJZfk7b/ooou8zhfsMQcPHsyqVasQEY4ePQrAJZdcwiOPPMLTTz/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+wkSovFwhlnwIoV1oeZJXxY5WKxWKhcGVq2jLYUlnjCdotZLBaLJexY5VLKsPFc3MR6PJfnnnuOVq1a0a5dO3r37s369eujLZLFUmLYbjFLWLHxXNx07NiR9PR0UlNTmTBhAiNHjuSdd94Jo4QWS+xiWy5BMGIE9OwZ3mXEiMDnzMjI4LzzzqN9+/a0adOmwEspMzOTc845h1deeYXmzZuzY8cOAHJzczn++OP9tm62bdvGgAEDaN++Pe3bt89rWTz33HO0adOGNm3a8ILjBXrdunWceOKJ3HjjjbRu3ZqzzjqLzMxMABYuXEj79u055ZRTeOmll/KO72pNrFu3jokTJ/L888/nuX958MEH87wQL168mK5du9KuXTsGDBjAnj17AOjZsyd33303nTt3pkWLFkF7HFiwYAHdunWjY8eOdOvWjT///BMwjiYXe8Ti6d69O3/88QcZGRlcd911nHzyyXTs2JFPPjHBSqdNm8Yll1zCBRdcwFlnnRXUuf3Rq1cvUlNTAejatSubNm0q1vEsltKEVS4xio3nEl/xXCZPnhyyt2qLpTRju8WCIArhXGw8F+Innssbb7xBeno6P/zwQ8hlLZbSim25xCg2nkt8xHP59ttvGTt2LLNmzfK6lqHwwAMgArt3F6m4xRIVrHKJUWw8l9CIxXguixYtYsiQIcyaNYtjjjmmyHV7/lkTQuCD/9gxG0vpIaaUi4hUE5H3RWSliKwQkVNEpIaIfCMiq5x1dY/8o0VktYj8KSJne6R3EpElzr5xEsnP7Ahh47mERizGc7nrrrs4ePAgl1xyCR06dKBfv35FOs6dl28G4OAB6wfQUopQ1ZhZgOnADc52OaAa8BQwykkbBTzpbLcCfgdSgKbAGiDR2bcAOAUQ4Augb6DzdurUSfOzfPnyAmmxzK+//qo9evSIthiqqrp/v+rChaoZGdGWxPDPP/9o8+bNNScnJ9qi+KS03WsWiwsgXf28V2Om5SIiVYDTgMkAqnpEVfcC/TFKB2d9obPdH5ipqlmquhZYDXQWkbpAFVX9xan8DI8ycUmsxXPJzITc3GhLYbDxXCyW6BBL1mLHATuAqSLSHlgI3AbUUdUtAKq6RURcndf1gXke5Tc5aUed7fzpXojITcBNAI0aNQpvTUqYUaNGMWrUKK+0aMZzcdkHlCsXnuMVJ57LoEGDGDRoUHgEsVgsQRNLyiUJOAm4VVXni8h/MN1g/vA1jqIB0r0TVCcBk8DEcwld3Njm3nvvLZWBwXxx9tlnc/bZZxee0WKxxAyx1E+wCdikqvOd3+9jlM02p6sLZ73dI39Dj/INgM1OegMf6ZYSwtVyKX1mFBaLJVwUqlxEJFVExojIq87v5iISdm+BqroV2CgiJzhJvYHlwCxgsJM2GPjE2Z4FXCYiKSLSFGgOLHC60A6ISFfHSmyQRxlLCWCVi8ViCaZbbCpm/OMU5/cm4D3g0wjIcyvwpoiUA/4GrsUowHdF5HpgA3AJgKouE5F3MQooGximqi4b1JuBaUAFjLVY8NPHLcXGKheLxRKMcmmmqgNF5HIAVc2M1LwRVV0M+IrH3NtP/rHAWB/p6UCbsApnCZoAE/4tFksZIZgxlyMiUgFnUFxEmgFZEZXK4pfSEM9lzJjhiMAPP5TteC4TJ06kbdu2dOjQgR49erB8+fJoi2SxlBjBtFweAL4EGorIm0B34JpICmUpvaSlpXH7re3JyoHvv/mWKtWrldl4LldccUVenWfNmsUdd9zBl19+GS7xLJaYptAnR1W/EZHfgK4YM9/bVDW2Pp0jzKpVIzh4cHFYj1mpUgeaN3/B7/6MjAwuvfRSNm3aRE5ODmPGjGHgwIF5+zMzMxkwYAADBgzgmWeeYe7cudSuXZvc3FxatGjBvHnzfLrd37ZtG0OHDuXvv/8GYMKECXTr1o3nnnuOKVOmAMYX14gRI1i3bh19+/alR48ezJ07l/r16/PJJ59QoUIFFi5cyHXXXUdqaio9evTIO/6cOXMY++AT3HrHRCa88irlUpJ44403GD9+PN999x2VKlXizjvvZPHixQwdOpRDhw7RrFkzpkyZQvXq1enZsyddunRh9uzZ7N27l8mTJwf0c+ZiwYIFjBgxgszMTCpUqMDUqVM54YQTOPXUUxk/fnyeZ+fu3bszYcIEmjVrxq233sqSJUvIzs7mwQcfpH///kybNo3PPvuMw4cPk5GR4dPtfrBUqVIlbzsjIyOizj4tlljDb7eYiJzkWoDGwBaMSW8jJ80SQUpzPJeUSkm0blGPwVffVObjubz00ks0a9aMkSNHMm7cuKDqYrHEA4FaLs866/KYQfbfMS2XdsB8oIefcnFHoBZGpCjt8VyatSxHpaq+vTOXpXguw4YNY9iwYbz11ls8+uijTJ8+vfBCFksc4Lfloqq9VLUXsB44SVXTVLUT0BHjx8sSQWw8l/iI5+Lisssu4+OPPw6qLr7IyIBnnwWPyAsWS0wTjLVYS1Vd4vqhqkuBDhGTyALYeC6hEovxXFatWpW3/dlnn9G8efOiVA2Ag1sOcOed8NMT/yvyMSyWkiQY5bJCRF4TkZ4icrozU39FpAUr69h4LqERi/FcXnzxRVq3bk2HDh147rnnitUlVrtOAvsvH8LNV+wLo4QWS+SQQF0iACJSHjPj/TQn6UdggqoejrBsJUZaWpqmp6d7pa1YsSKvm6Q0kJ6ezu23316kGO/xzubNm+nZsycrV66MSbf7pe1es1hciMhCVfU18b3wlouqHlbV51V1gLM8H0+KJR6ItXgusUTcxHP54AMYOjR2AuVYLIUQTMtlLb5d1h8XKaFKmnhoueQnmvFcwk1x4rmUBoK51xadM5rXv6rNiPSradSpdglJZrEEJlDLJZjpx54Fy2McR/q207TEDDaeS3zx0zEX8yoncOXmAzTqFG1pLJbCCaZbbJfH8o+qvgCcEXnRLBaLizveSuOO+yvT6YJ60RbFYgmKQlsu+WbjJ2BaMpUjJpHFYinADTeMRCQVeDDaolgsQRFMt9izHtvZwFrg0siIY7FYfFG79iYOHqwEhw9D+fLRFsdiKZRglMv1qvq3Z4IT+dFisZQQjz76FgDPVH4IHnggytJYLIUTjG3m+0GmWUqA0hDPZfjw4YDxkFyW47m4eP/99xER8lskFom9e4t/DIulBPDbchGRlkBroKqIXOSxqwrGasxiKUBaWhrHHZfGwYPm5V+pUqUyG88F4MCBA4wbN44uXbqER6h83gcsllgl0JNzAnA+UA24wCP9AHBjBGWKOUZ8OYLFWxeH9Zgdju3AC+e84Hd/aY7nMmbMMzz++ItMnDiRxMTEMhvPBYybmZEjR+Z5Xy42QTrytFiiTSCvyJ+o6rXA+ap6rccyXFXn+itnCQ/hiOdy5Mh2Dh/e4HXckojnUrkydOnShKFDh5bpeC6LFi1i48aN4e26sy0XSykhULfYSFV9CrhCRC7Pv19Vh4dbGBFZh2kZ5QDZqpomIjWAd4AmwDrgUlXd4+QfDVzv5B+uql856Z2AaUAF4HNM9MzArggCEKiFESnCEc8lNzeLnJxDXsctiXguCQmQnOy/bmUhnktubi633357AQ/NxcYqF0spIdCAvsvzcTqw0McSKXqpagcPlwKjgO9UtTnwnfMbEWkFXIYZFzoHeFlEXL7mJwA3Ac2d5RxKGeGI51K+fEMqVmxZ6LlsPJfwx3M5cOAAS5cupWfPnjRp0oR58+bRr1+/Yg/qj/0ttFg9oaIKhw4Vns9iKYxA3WL/dTYPqep0zwUoyduvP+DyVT4duNAjfaaqZqnqWkwAs84iUheooqq/OK2VGR5lSg02nktoxFo8l6pVq7Jz507WrVvHunXr6Nq1K7NmzSItzacbpqBZuLNRscoXxt65y6lYEd5+cVdEz2OJf4IxRR4dZFo4UOBrEVkoIjc5aXVUdQuAsz7GSa8PbPQou8lJq+9s50/3QkRuEpF0EUnfsWNHmKtRfGw8l9CIxXgukeDDHs9H9PjlexjHZStf+zmi57GUAVTV5wL0BcYD24BxHss0YIG/csVZgHrO+hjgd0wMmb358uxx1i8BV3mkTwYuBk4GvvVIPxX4b6DzdurUSfOzfPnyAmmxzK+//qo9evSIthgxyT///KPNmzfXnJycaIvik2DuNdNhpaoXXhhZYUAzqKC5Q4ZG9jyWuABIVz/v1UCmyJsxYyv98B5jOQDcXiyN5gdV3eyst4vIR0BnYJuI1FXVLU6X13Yn+yagoUfxBo7Mm5zt/OlxyxNPPMGECRP8dk+VZWbMmMG9997Lc889V7rjubjYsiWyx587l9TcXOjePbLnscQ9wcRzSVLViBvXi0hFIEFVDzjb3wAPA72BXar6hIiMAmqo6kgRaQ28hVFA9TCD/c1VNUdEfgVuBeZjrMXGq+rn/s5t47lEgKwsYzIWhhe6jecCLvsJvaAfzJoVETnWr4cPP4Qzz4S2bSNyCkucUaR4LiKyBCdIWD7LIAFUVduFU0igDvCRc64k4C1V/dJRFO+KyPXABkw8GVR1mYi8CyzHONQcpqquzvabcZsif+EsZYqox3NZsQKqVYMmTYp9KBvPxYMImiL/9RfccQdMmmSVi6X4BOoWK1GnTWqcY7b3kb4L03rxVWYsMNZHejrQJtwyWkIgO9vOJo8En39uFEwAi8Ci0rOncV3mxz7DYgmJQKbI630tmDGMkSUnoqVUkppqxqAt4SdIs+lQSU6GqlWhXLmIHN5SxgiqQ1xEOojIU84M+keBlRGVylL6EbHKJVI4E0QjduytWyN3fEuZwa9yEZEWInK/iKwAXsTMKRFV7aWq40tMQovF4k0kuxvnzIG6dWH+/Midw1ImCNRyWYkZ67hAVXs4CsU6NooypSaeiwhz5s0r0/Fcpk2bRu3atfNcxLz22mvhOXBJ+BeLUutl716YOBFWr47K6S1hJNCA/sUY312zReRLYCbGUsxi8UtaWhppzZrBmjXMWbCAStu3l+l4LgMHDuTFF18Mk0QOkWy51K1r1lFykLnyjyPcfHM5Zs44wvHH28Gf0ozfJ0dVP8KYBlfE+Oa6HagjIhOAj1T165IRMfqMGDGCxYsXh/WYHTp04IUXXvC7PxzxXLKza3HwIBx/vPu4JRHP5ZkxY3jxrruYOHMmiSkpZTqeS0SI5IvfZYUWJeWyfdrnwIXUWL8ICFOANUtUKHRAX1UzVPVNVT0fYym2GMczsSVyhCOey9GjZi6jJyURzwWgSb16DL3oIm4fOJDFixaVyXguAB988AHt2rXjX//6Fxs3bvSZJ2Qi2XKJsnI5fVBj5g2dRu+7TorK+S3hI6Q2v6ruBl5xljJDoBZGpChuPJfsbDiy5yB1q+QAVfPKlkQ8Fy9yciA312teRlmI5wLGcefll19OSkoKEydOZPDgweFpCcWxcqlyekcOS0f2ZkCNlMLzW2KXOHC2FJ+EI55L5tEkso8Ubg4cyAVQWOK5hGiSHA/xXABq1qyZV5cbb7yRhQvDFAbpn3/CcxxfRFm5HD5sJnOee25UTm8JI1a5xCjFjeeSlARtOpXnmBbVvI5bovFcUlM5cOhQAeVSFuK5AGzxcDI5a9as8PmqS00Nz3F8EWXl4opgWr58VE5vCSNWucQocRHP5dRT+WjOHDqkpZXJeC7jxo2jdevWtG/fnnHjxoUn5HG7dnD99cU/jj+irFySkqBiRWjePCqnt4QRv16RReQAjuNKX6hqlUgJVdLEg1fk9PR0br/99pDGBCLGb7+ZcZaEBGjVClJS3G59o8DmzZvp2bMnK1eujEm3+yF5RW7XHn7/PXLCbN4M9eubySZDhkTuPAFo2BDOOgsmTw697FuP3kJmwhGuv2dS+AWzFKBIXpFVtbJT+GFgK/A6Zp7LlUDlCMhpKSIxF88lN9esExKi3r8Rd/FcXNc2Urj6pYI0pIgECbt3kLvmAHBcyGXr9XjJ2bLKJdoEYy12tqp6GpxPEJH5wFMRkskSIqNGjWLUKG/r8KjGc6lVC3buDEssFyhePJdBgwYxaNCgsMgRE0RaudSsCSeeCO0LOCgvMcYcGk3DnCbAfYVl9cuRzK2Uq3Bs2GSyhE4wyiVHRK7EzNBX4HLKiBuYkK2iYoioxnNp0sS8BJ15I8UlnuO5FBasrwCRblEkJMDy5ZE9RyHc0PE3qL698Iw+GDduHMOHDydXIqyELYUSzKflFcClwDZnucRJi2vKly/Prl27Qn/4LZYgUVV27dpF+VC6Dg8dipxAsUJKSsHZv0GSlWWMS9xxAy3RotCWi6quA/pHXpTYokGDBmzatIkdO3ZEW5TSyc6dpuVSTN9c8U758uVp0KBBtMWIKe7adBv1UnZyexHKVqhwEICcnMzwCmUJmUKffBGZig+rMVW9LiISxQjJyck0bdo02mKUXj7+GN54A95/P9qSxBfhMGeOcd7bdxagRVIuzZr9AcCCmV9yxg0twiqXJTSC+az81GO7PDAA2BwZcSxh59VX4cwzoaQV5YUXmsUSXnbvjrYEEWfR+hpUqlS0shMnPsU//zTjtGYXckZ4xbKEiN95Ln4LiCQA36pq3Px3vua5xA0icOONMMltmvnQQ2bM9p13oiiXJSTy5rnsPwCV7UwAf7iu008/gYezbkuECDTPpSi2os2BRsUTyTcikigii0TkU+d3DRH5RkRWOevqHnlHi8hqEflTRM72SO8kIkucfeOktJp7hYvatQuExf3oI7NYSiFWsVhKCYUqFxE5ICL7XWvgv8DdhZUrIrcBKzx+jwK+U9XmwHfOb0SkFSaQWWvgHOBlEXG53Z0A3IRRgs2d/WWXatXA8RDs4qyz7Di7Jb6xRp7RJ5h4LpVVtYrHuoWqfhBuQUSkAXAe4BkLtj8w3dmejgla5kqfqapZqroWWA10FpG6QBVV/UVNf98MjzJlk+TkAi7aRSI/F89isZRtguoWE5F+IvKMs0QqaPkLwEjA87VXR1W3ADjrY5z0+oBn5KVNTlp9Zzt/egFE5CYRSReR9Hg2N16b25g7F13JkiXuNBH7ZWexWCJLMN1iT2C6q5Y7y20i8ng4hXAU1nZVDTbgha9xFA2QXjBRdZKqpqlqWu3atYM8belja+4xTFx3Nk5UY8BMwrbKxWKxRJJget7PBTqoai6AiEwHFgGjwyhHd6CfiJyLMXeuIiJvANtEpK6qbnG6vFw+ITYBDT3KN8CYR29ytvOnl1lOqbaCgy06QX+3Sw/bLWaJd+zHU/QJ1lqsmsd2VX+ZioqqjlbVBqraBDNQ/72qXgXMAgY72QYDnzjbs4DLRCRFRJpiBu4XOF1nB0Skq2MlNsijTNlk2zYzqO+BbblYLJZIE0zL5XFgkYjMxnQ7nUZ4Wy2BeAJ4V0SuBzZg/JqhqstE5F1MN102MEzdzoRuBqYBFYAvnKXs0qIF7N/vlST/bCI317ocKU3sevFtEg4fAiIYKMwHh44c4Kc1b9DymFNoXLNDiZ7bUroJahKl0yV1Mka5zFfVrZEWrCSJ60mUn35qTJEHDMhLqlNhH9sPV2Xnsm3UbFUnisJZgqZvXzM7f/78Ej3tiq3/o9UrPRjTvjkPX/hXiZ67KLhmtc2ZA8WMnG0JgiIFCxORk/Iluayw6olIPVX9LX8ZSwxyfkHjvoO5JgZ7Sq517ldqcEX2LGHqVKzF023hhOrZhWe2WDwI1C32bIB9CtZ1T2nlict/Z/j0NFITDvvNs3nza2zY8ARduvyF8fhjiSr79kVFuVRKqUlaDTi+2R0lfm5L6SZQmONeJSmIpeS4td8Gbp1+Mhxd7DfPX3/dCEBubhaJiRVKSDKLT266yXSHnZS/M8FiiV0CdYtdhRmTeT1f+o1Ahqq+5afcrCDOu1tVrwlFUEsYccVJD+Bht1q1M9i79/sSEsgSkFdfNWs7iGApRQTqFvs/jGVYft4BZgM+lQtwInBDgOMK8FJQ0lkiS4Bulho1zrLKJUJs325sLOr79B0RgOOOi4g88Yg1tY8+gZRLoqoeyJ+oqvtFJDlAuXtV9YdAJxWRh4IV0BIBqjvOpY8cia4cZZSnn4Zx40zDsWLFEApuL1pc+eJh39KWohFohDBZRArc+iJSGSjnr5CqvlvYSYPJY4kgrm6xfN6SLSXDkSNmOezfnsI3UfSBV9YjV1hCJ5BymQy8LyJNXAnO9kxnX0BEJE1EPhKR30TkDyfGyh/FFdgSBqxyiSrHH2/WIXfd2FgullJEIGuxZ0TkIPCDiFTCtI8zgCdUdUIQx34TuAtYgrenY0u0scolqhS5EfD00/DUU2GVJSbZvt0EHKpRo8iHsGMu0Seg4byqTlTVxkBjoKmqNg5SsQDsUNVZqrpWVde7lmJLbAmJQw9ez7wPU9i508PFWjmnV3PbtiCOYJ/SSGFfgH4YNQpOOCHaUliKSVDxCFX1YBGO/YCIvIaJIJnlcawPi3AsSxGZd/Q02LqU5ORj3ImJTtDOCoHmr9g+9khR5JbLnj1hlSMmUYWpU6MthSUMRDLY7bVASyAZd7eYAla5lCC3fzqYf/4ZzM5/eyS6Wi720zkqVKr0KRMmPEROztdA9eAL5vNuHZesWFF4niCwt3b0iaQ/ifZOMK7Bqnqts1wXwfNZfNC1K2TmdyHmarnYoC5RoUKFX2nZMp2srLWFZ960qfA88YRjbv0P9Tj9dPWKoGopXQQb5ribiFwhIoNcSxDF5olIq2LKZykme/bAoUPw/PMeia7Jk1a5RIXDh11OZIO4/luj7YC8hJsAnTsDMI+u/PijcN55JXt6S/gotFtMRF4HmgGLAVfMFAVmFFK0BzBYRNZixlwEUFVtV2RpLSGTahwgU7euR6JVLlHGtBzdIYgCEHXl4qKExuBSU+Hcc+n3+SzeeSuH5i0TS+a8lrATzJhLGtBKgwn84s05RZDHEmYaNjS65LLLPBJdyiUniJebJeysW3cKTz/9M6+/HkTD/sILIy5PzFG5Mslkc+m/ciG5aMrFjrlEn2C6xZYCxwZ7QBH5DcDT/Di/KbIrjyXyJCaaBopXIyWkMRf7lIab8eOrs3Rpd159NYhJkWXxA+Cdd8z6o4/ggw+iK4ulyATTcqkFLBeRBXibFPfzk//EQmbiC1A1eBEtxSHJ+Ydzcjz8VAbVLWZNkSOFy1gvKNdud94JzzwTUXkixsKF0KxZ6FZuJ5wAf/4JAwea37YZUioJRrk8GOIxWwaRpwx+jkUHT+Ximphvx1yiS0jKpTT79EpzDBdCVQ7XXAOjRxf5tN26zULkR1Sftj7Rokih3WKOh+OVQGVnWRHI67G/7rB8SwH7ShEpLyILROR3EVnm8pwsIjVE5BsRWeWsq3uUGS0iq0XkTxE52yO9k+PLbLWIjJMyfIe5lEu2Z5Raq1yiikvJ//NPEJnLmiky5CnUlZzANo4pJHNB+vR5nYSEZzl6dFe4JbOEQKHKRUQuBRYAlwCXAvNF5F8RkCULOENV2wMdgHNEpCswCvhOVZtjZvuPcuRqBVwGtMYYD7wsIq7RvwnATUBzZymzxgWuSd1eHnjtgH5UcSn8oNztV6li1v/7X8TkCUwxuqR69DDr774LrZyjXG7kVc7hy5BP+9tvZwKQnb035LKW8BHMgP69wMnOZMhBQGdgTLgFUYPLzUyysyjQH5jupE8HLnS2+wMzVTVLVdcCq4HOIlIXqKKqvzgWbjM8ypQ5GjY0ay8flXYSZVRJSTHroHuL6tSBbt0iJk9wFKHxv2WLWYfqzdn5+ElJTWIxHUO+TVNT9wOwYEHz0ApawkowyiVBVT2jFO0KslzIiEiiiCwGtgPfqOp8oI6qbgFw1q52cn1go0fxTU5afWc7f3qZxGeHoO0Wiyqu/yQo5ZKd7f4YKEVs3r2N/7v4CJ+3auRuqgWLc4ES1fTlDh4cWvF9+2o5WymhFbSElWCUxJci8pWIXCMi1wCfAZ9HQhhVzVHVDkADTCukTYDsvl6bGiDdu7DITSKSLiLpO6IYhCkqhKBcQp/eZCmMkJRLTk7oL+cY4I1PRvNc6ka+H77Tw5IkSJwLdGzCNq688jH+/ntDSMWXLevG2rWteeHJH0M7ryWsFHrXqupdInIx0B3z4p6kqh9FUihV3SsiczBjJdtEpK6qbnG6vFytqE1AQ49iDYDNTnoDH+n5zzEJmASQlpZWtt6gQY25lFkbiIhTFlouqVkNmX4yJG6rEnph5wI9W+VBlt6wDLgX1WzcQ6qB2bjxBK67bmno57WElaC6t1T1A1W9Q1Vvj5RiEZHaIlLN2a4AnImxUpsFuBrGgwFXYJJZwGUikiIiTTED9wucrrMDItLVsRIb5FHGAubhFbHdYlEiJNvFUtpyOaZGLxqlQkJGLWge4tiH8/FTXXfnJWVn7wtZBsdNmSVK+FUuIvKzsz4gIvs9lgMisj8CstQFZjsTMH/FjLl8CjwB9BGRVUAf5zequgx4F1gOfAkMU7ezppuB1zCD/GuALyIgb6miwFdyQoJVLqWBUtpyEXFuuJo1oXz5UAsDkJCdzdNPvwbA9u1vhyzDtdeGXMQSRgKFOe7hrEskcLeq/gF09JG+C+jtp8xYYKyP9HQg0HiNxSqXqBFSt9h770VUlsIo7pibahG6V10XKDub449fBMCqVbdQv/6wIh3GEh2CmefyejBpltjE7wOWkGDnuUSJoJXLqlURlyV4SvBN7Vwgyc1hxYouAMye/XLIh7G2KNElmDGX1p4/RCQJ6BQZcSwlhsujpaXECanlUmopRuU8DE6+++5y+vY9yNKlQ8MjlqXECDTmMlpEDgDtPMdbgG3YAfLST9DdYnH9BowKQSsXlxOyE0+MqDwxh+sCHT1Kbm4Shw9XxFovlj78KhdVfdwZb3laVas4S2VVramqRfcqZ4kNClEuZdgdW+zg+n9GjoyuHCWN697z8OwpEu8tvfgjUMvF5d34PRE5Kf9SQvJZwoS1Fosdgm65uDIkRMQhRolQrAF9D/btM5dBJDxDhW+/bSykf/ml+Mey+CaQAf3/ATcCz/rYp8AZEZHIElbsgH7sEbRycSn/Uqhc8kyRi1a4QNK337q3d++G2rWLfngwIWbq1nX7BbWEn0DdYjc6614+FqtYSjt2QD9qlC7lUty+qCK0XPY5EyavvhqAvn2nMG3aidx9917AtDqCIdD1rVcPfvoJZs8OXTxLcPhtuYjIRYEKquqH4RfHUmLYbrGoU6hyccVJiIH/qUTH4OrWNev774fXYe/e2vz9dzuuuy6JJ580QSp9snIl57KGL+iLFmII6/IWviE0t2WWEAjULXaBsz4G6AZ87/zuBcwBrHIpzVjlEjVCfk97RXorLYShW6xVK+AIv/xyAb/8cgF33gkpKcqP3x4FyhUsd+QIn3NeUKeoUcPc/tZuJXIE6ha7VlWvxdwlrVT1YlW9mHzzXiyllKDHXKyJTrgJulvMFYSnRo2IyhNJijSg7+oG9ApCBP/5D7Qvt4Klf5XzHcbz2GNDOo1VLJElmM7cJq54Kg7bgBYRkscSIQq8yAodc7FPXqQJWrmE6rK+lPPHxuo8xV3k5Hs9jRkDE06bSZMmy/j8iW8KFiznozVjiRrBuFudIyJfAW9jPmMvA+wwWCkhoLWY7RaLCiG3XMqYcnl/QUMe4Sn6UFCBNH/iekb972L+PloOuMZ7Z3IyDdlAlToVWLatmOZklmJTaMtFVW8BXgFcse0nqeqtEZbLEmmscokaQSsX11hLKXS5XxxT5B4nGlf7h0j1Sp8xAyq3aczmzc1o0+YX7rlnsnfB5GQ20ogWe+YDdtJltAnqrnUsw+wAfjxh57lEjdLVcil5U+QKKeaj5zDervq7djXr5OQsAKpU+Ri43p0hOZmB5T6kYbdGxuTIElWC8Yp8kYisEpF9EY7nYilJ7DyXqBH0QHJMKBcXJTcGV6G8UWiZVPBKb9LErBMTs8nNFRYt+q93QRFmZl3Ej4fSAMjIiLSklkAEM6D/FNBPVat6+Bez81pLGdb9S+wRdLdYTCiXUCl6i6fxMZn8h+G0Ynle2qWXui/DFzuOMOAXJTNhu8/yaUa3sHp1kUWwhIFglMs2VV0RcUksEaH4A/q24zrchNwtVgrHXFwUxRS5dvVshjOe41jrc3+VIzU5vWYCe3b4jnA5ZIhZN20a8qktYSQY5ZIuIu+IyOVOF9lFhc3et5QCCh1zMS+FJUv6lYw8ZYjS2S0WGsWaQ1KIu5u6WU24tVki//ztuwPFNd2lconE0LX4I5hPoirAIeAsjzTFDvCXboJsuVStemoJCFM2KbTlcsUVZl0KlUux8KGZPJNUExDRPBdkQRS3RIFClYszS98SbwQ5oN+o0V0lIEzZIphuMVXIIoUksklKTCwZwcJIsbwiF9Jyyc1NQCSXRo2Kfop44733YMsWGD482pK4CcZarIGIfCQi20Vkm4h8ICINwi2IiDQUkdkiskJElonIbU56DRH5xrFY+0ZEqnuUGS0iq0XkTxE52yO9k4gscfaNExv5qiB2QD9qBKtcKnCYsdwLlSqVjGBhZPcWYy6shw6HXtiHcsnfcklMjE/lsmP5DpbPWk3W4dCU8xNPwG23RUioIhLMmMtUYBZQD6gP/NdJCzfZwP+p6olAV2CYiLQCRgHfqWpz4DvnN86+yzC+zs4BXhYR1yfeBOAmoLmznBMBeSPGvEe/5c7ei8J6zFCtxX79Naynt3gQrHIBSCAXKlaMvFD+JSlSqfLJp/PFF9dwaEERPqUL+RZ0GQloHM6SnDTsd1r3P551f4f24Xf22bHXexqMcqmtqlNVNdtZpgFh962gqltU9Tdn+wCwAqPM+gPTnWzTgQud7f7ATFXNUtW1wGqgs4jUBaqo6i9q7r4ZHmUiwmOPhdDP+8wzJrNfv+Ew4blDPPt9x7DIVtRgYa6YGXaeZfgJ5l7JC+VCLpT3bRVVsoTW+K93fFWeemoqLa/+V+inKqRbTNXsz82NP+UyYERj3hkxl7r1QrveIrHXERGMctkpIleJSKKzXAXsiqRQItIE6AjMB+q4HGc662OcbPWBjR7FNjlp9Z3t/On5z3GTiKSLSPqOHTuKJe+zT5s3sEfIb5/Mmr6HZ+9yfIC2bOk3X3b9JjRjdd7n64oVEXBlUciYy7Jl3Zg8+RGOHk0J84ktwbRcXH+NoKVyhDpoc2tfBDHm4mwFzFcaGzat+jfn0ue7UaVaaAHi1qx5hcsuGxshqYpGMDW4DrgU2ApsAf7lpEUEEakEfACMUNVAngB8PXEaIN07QXWSqqapalrtYsZMvbbe11TkIOXkaMB819+czJ0+o0Z7k0sCieRAbi5z5hzhzDPX8NprYXaKUEi32IoVXXjjjfsQiYWv5vgi5G6xUkixlEuh3WKBlUsp1MXF5vjjf6Rr18+iLYYXwViLbQBKZLKDiCRjFMubHpEut4lIXVXd4nR5uablbgIaehRvAGx20hv4SI8Y3+5oRw6JkJkZsONzZ2YlbmF8ocebubSN2XjsEdbV6subb57MvHmv4eVHqbgEOaBfGr/+SgvBtFzKpHIpdEDfNeZSOq9NJBg79k0AbrklyoJ44LflIiJPichQH+m3i8iT4RbEseiaDKxQ1ec8ds0CBjvbg4FPPNIvE5EUEWmKGbhf4HSdHRCRrs4xB3mUiQint97F6fzgDkvrh5lnTGIMjwBQm+2IwMaN3nkmezh63Xj/JI7MXstjj81g27bTwyu0dVwZNQK9eHfv/opt295yK5drrykxucJJJCdRurvF7JdPLBPoXzwfmOQj/T8QZCzR0OgOXA2cISKLneVc4Amgj4isAvo4v1HVZcC7wHLgS2CYqrreljcDr2EG+dcAX0RA3jz+c3U6X9K3UOUy8LhfOYYdZFGOnY5NxPTp3nkWLHBvN2IjOzPq8s03V/PCC8cXS8bQg4X5KWeJKJs3v8q6dQ+6x1xat4quQPlYseJq1q9/LOj8kewWsy0X2LwZvvvO/TuWntdA3WKqPv49Vc2NxLwRVf0Z/yYpvf2UGQsUGMVS1XSgTfikC8zRckfIrQkp+4MbF/H09tqzp/e+wYNhkodKr1qpeA9QQGuxo4HHiCC2btZ4IdDTc8IJr6GaTWam+V3IR3zEyW/ue/U1b5CRUZEVS+8JWC6S3WKulktZVi76xpt8c/V0NjwwhRsfco8CaAzZfwRSLodEpLmqrvJMFJHmQGZkxSpdrK3yLjsmQffCWgLOv+5SLhMmQI8e3lk8h2wSyKFCpC51VlbBPjkfWOUSfgK9eJOTqwFud/HRVi5ujNC7GldiT2ZW4bkjaC3mkiW3kOctnu/dByYcyyN8TdMp3h+IsVTnQP/i/cAXInKNiLR1lmuBz5x9Fget4JjrOrbIlSvDww/7yOg8NK4gSL6mL3g6wM0lkevfzXM8wHnnweOPh0Vk02qpU6fQbLF0s8YLIZkix8hXqItK7SpQsUtyofeFy2PN//4X+jkyDyn/4j3e5ZK8NF8tF3/zXGLtmkWC9CQTOW3DZm8Dolh6Xv0qF1X9AjP5sBcwzVl6Aher6ueRF60U4frSOnIEVTh40M9YufPEbcO81CvooQJZPJVLjRpbmDDhZFq3nsvgwfD553BP4N6I4Klb1x0vJACxdLPGCyGZIsdMy8WQkmJkKuwFftJJ5gProiL4T8/d+A8raclOauWleV4rO+YCp56zmRdfPIWBA//ySo+l5zXgrauqS1V1sKp2cpbBqrqkpIQrNSS6lcu2bQvo3fstfPoadJ7ILdQFoMbf6QWyeLVcchNp2TKdzp2/LPZNU6B8UpIdc4kSwSiXAwfMOtrKZYsz59cla7C3Q7lyMGYMtG8f+jkrnp7GUtrybyb43O9quezenUtmZtmMOPnhh2tp3Xoeder85pUeS89rjH0XlT5UYeGqKuRqIhw5wmefvc4ddwyhQgUfmVNTAejJHH6mO71vK2hz4Klc9u49hnPP3c/UqQ8X+abx+4WZnGxbLlEiGOXiavkec4z/PCXB998bLbdmTQneCI0bF0jyvI87YPzurV2by5Qp5hpt9x2UMm45pt6xLN8PGbLXKz2WnlerXIrJhg2PU6/5W2QmpsCRI3z66QNcf/0ftG1bMO++lVs4SEWqs5fuzCWhVo0CeZKTYfr0ltx6660AZGaaiEeqMHr0IP7979vD40MoxJbLrl2fs2fP92E4scVFoBdB+f3bOe2YFdTdGl4HpqHStOk8AA4f/q6QnCVHw74XMG/euTzxRDJVqkDHjrBnT8F8zz8Pc+eWvHwlwZFyOxm2CFYneXuYjSX/YsG43C/4BrTkUalSOwA0NwGOHCEjoxZbtzb12WLo/csjVGdPwK6FpCT48ceLWbGiq1d6Tg40abKMli1/LWw6TXCEOM9l7dp72bjx6TCc2BJMyyVj71F+3H4i61cVbpkVSVRPBuDll0+Lqhyez9P+QxcyevRnDBxYnauvhp+vncwJ678uUGbtWhgwoASFLEHWLavFk20hcU0Hr/RYarkEE4lyvogsxrjZ/0Lj0c91EfnrLxg79jxq176BM7u8C9u3BByIveq2Wpy7eR/iuysZMMpl8uSCDuiOZuUy4+NrqNb2E87ZtZ3mqcXsLwlyhr6rPm3afII7ooGlOARjzZRzrPG1mtitayE5I4tqG845J4OsLHc/b8wZY91wAzRqBOvXA97XN16Vy+ED5elcA77Z5/3tH0tv52C6xVpgZupfDawWkcdEpEVkxSod7N8PP/7oEXWvUiV++slsihT8o0fcV4mHHwzcWkjyo+63bDhC5RO/5LPU71i+ZU7xBAfTcglBuZQv34iUlALOpS3FICjfYjHQcZ2VlcoZZ5SwShkyBJ4OsqWcng7Tpvnc1aVL+ESKJVz+1fKbWIwd6zYGiTaF3rpq+EZVLwduwPj3WiAiP4jIKRGXMIZJSzNN78RE5w8+epQLLzSb9ev7MNlcswa/gb8d/CmX/6WXZ99vlzMtDZpWKjjgWRg+3b/4UC7z5+dw113u2AGx9CUUNIsWwbhx0ZbCL0G1XJy/JtoRjvN34ZXY/TBxItx5ZwE5fNKpE/Tq5XNXLCjnSOBWLt48/njsWM8FM+ZSU0RuE5F04E7gVqAW8H/AWxGWr1Qgoub7ITubCy4waZ5K4pAzneWx4yfzY8fAsUgDRZNLOFqZxhUhJTH4kHN+H0o/ymXBgo/p06cyjRsv90rPzPybnJwYuWsL48IL4bbbePPNok3iKymCabnEinIprcSrcnGR12vigb8P1JImmEv/C1AFuFBVz1PVD52IlOnAxMiKVzo4++ypVKi9H7Kz814KOTlQseJeTj75S358fQ3Z2XAvj/HBEUf7dPQdaTLQjZGTY940bv+cxcCPcmnePJty5Y5Qr94aABo2NF3ZS5acx7JlA4t/3hJg1/a9/Pedmnz44TjfnhKiTCimyLHycvSUNVb0TTCtqFi5fuHH/AsdO86mVq1/vPZE+4PERTCX/hlVfURV86I7iojLM3HYXe+XRnbsaMLB9bUhO5tl6cYX2LuvH2bsiG946qm+ZKT8nNd6qXFcNWMJ8L1vs15/yuXY1H3k5pq7Jjc3TMrFh7WYqpn1lppqOm6zs43n5iNHtpOdHdEApGFh/35YltOGn9L7s3nzcXxd0Igo6oSiXKL9oojFlkthMnnuj0X5w4GrW6xv36ncdtswr33RvmdcBKNcBojIla4fIvIyULzQjXHGY4+u5oJrtkN2NnUSdwLQbtu3dL+wF1u3NqLCMVXy+kHrJO6E5s2hWjWfx/L3pbX1UNXwur1wrMVyc82LzPWiEzETPevUWZ+XNTsbKlc+uYCH3FjknXfg9KP/4+mnJ9O+/Y888siFET/n33/fy9atM7zSVM1183XJ8iuXG24wA7GeuEIvxMqLwkW07oCi3nrx2nK54w631ixf3ru7ujR1i10EXCMil4vIDOCIqoYxJGLpZ/Efzhtg2zaOaW9cu0z4tjmXXlqLyy9fz5EjA/jLcQFUafn8gMcK9KW1cGFvzj13P0lJoZvA+BvQf/mWZSQlwZYNR53zm0mbnqanR4+CSAKFxSyPBargDnvQrt2P9OjxSXi6EQOwbdvr7N07xyttxw4zfvbyywXz51cukyfDffd55xk+3Kxj5eXodf9EoTUQhDMJn8TK9Qs3XQNYqMfKB0mgSJQ1nAmUFTBWYiOB/cDDdmKlHxIS8j4bvl5/AmvXmuTc35dw991mu37lotsJ5uYmOTP2g797Ag3oP5R9Dy+8WZuHGUPlPRuc/KksX96FffvcTgNNF01CqXAU+PpT7ojWEyY8wzvvjEW1iG+mIDHXxftRcjk/KFeuYP5Q3NFH+0VRLNf5YeDEE826qMplYOkYJiwC7gc7/6B+tO8ZF4H0+kIg3VnPBqphIlC60i35SUjw+RSOf3AnF18MrZoe4qQXrwv6cI+N2Ja3fSbf5G3nP8WKFcYd/88/hyDr3r18QV/W7D+GMTxK5RRjfiySwrBh8/j226vysubkQFJSFZKSKnPKKXDjjSGcpwSZ1OFlPlvdMu/30qU9+OSTe0hISAlY7siR4r08Dx/O4auvEtjlMSTlRF+IG+XilVaC53d18YSiXDQn9j+Cio/7X+jUyds1T7TvGReBXO43VdXj8q1dy3ElKWSpISsL/vvfAslz6MWIEbDs71SqDuof9OGGXrI7b/tb+uRt5x+HP3rUOO7LCsVTSOPGZJPEuXzmPgi+XyZHj0J29lu0bz+b336D338P4TwlyJDf/10grTAPNxkZB+nW7RtGj/4ncMaA5HLoUKLXuYJRLoEYMGA8F100LubmGZW0OC7lsnJlwX3+ro386u56/vDDCAgV48SKEUOgbrGTReRYj9+DROQTERlnu8XcrFv3PWed5QzmTp/Oz+/6fkkFmr/iD383Sf6Hql07+PVX6O0zGLQfkpM5SjLJOP03R1wtl4JZx483rtO/+gr69g1RiZUgK/91H+XIon6C6RqrU2cdvXtP5MiRbX7L7N+/jmeeOYtzznGHit22zQRy+/TTDPbu/aHQ86ak5HLxxQnU9jBz2bdvOo8+2t+ncgmGLl0+p2vXz6hYsWjlw0WBVlYJa5fq1c3677/daYW9PKu3cLtGcnnMiDc8I83/9lsvmjc32488EiWBfBCoW+wV4AiAiJwGPAHMAPZh3MFYgFmfvM5NNzkDKrt38w7h6+QVP09yWL5mk5PJJokknP4Gp+XiawA0KekIHTrMZsWKjVx6qbFuiiluuw2OO44TLm5DH76hRmVTp+OOW8KNN95MZuZav0UrVGhaIC011SjQpKTGLF7ck6ysLQFPr5rjGDy4mTFjH7Vrbwr4UXHwoJmI7otRo75g5Mivov4VGu0xl/qOx6H8Bg8BadYsb7MoH3WxSEaGcTXlxvvG6NABjj8+xOsUYQIpl0RVdfXLDAQmqeoHqjoGOD7cgojIFBHZLiJLPdJqiMg3IrLKWVf32DdaRFaLyJ8icrZHeicRWeLsGycS2cdz0qvPc8MN7n6isdzrO2MRnk5/khfFrXaB0zvKJa/lsnu333NWqrSX558/g7lzP+SKK8CJBhA7bNliZnoOGEDS+X3JqWgs3tLT+3DDDVuoXPkkv0VFKnL55X8zeLDbI0HlylChAuzdazwC5+YWjBjq4vBhVyx3747ul14azpAhC32+3FzXeOtWuPlm730LFsDs2e7fPuMCRZFodYvVq1e08jVrhk+WaNKxI5x+uu995csrycmx56opoHIREZfFdG/Ac9ZfJCyppwHn5EsbBXynqs2B75zfiEgr4DKgtVPmZXG77J0A3AQ0d5b8xwwrQlX27nU3wz1NYc/q4fFSKoKOW/JXwYHoypV3s2vXMH74oQmHD28sXL4AwcKOkuxuuThNFl/5Dx6sxogRc5gz5+JgRS9ZHn7Y+G1LSaHp8Yk0P9ZY5B09Wp7du48lIcF/31RuLmzd2pQNG070Ss/IgFNPNd4UsrP9W/h9+CEcOJDL3r3uR+muu9z7MzMLlgl0K3z44dOsXNk573fr1v7zRgt/4n/+uZnCFZaQEA5FGdD3JF6CiJ18Mnl+C8G7W6xx48VRb+H6IpByeRv4QUQ+ATKBnwBE5HhM11hYUdUfgd35kvsD053t6cCFHukzVTVLVdcCq4HOIlIXqKKqvzihAWZ4lIkITZqYz4Wq7C2wz9XCGN7wIzPQ7zlYoeoe9fXDn2vdL8VXuAmAK698DJGXUV2PSDHa/MnJrOU4yuHI4Mjm6ybNzi7H77+fzs6dDQrujAVatoQmTQATIOqD290OxXL37DVvPT/4HRQWKFfO9bns/5MwKyuXihUPeCmXZ55x72/Xzvex/fHHHzXZurVgV120Cear+LzzYPVq8uZ0hQNXy6+oyuXkk8MnSzR580346CP3b0/lUrHiXtLS4KwO2+D116MgnW8CWYuNxTinnAb08IjjkoBxXlkS1FHVLY48WwBXE6E+4PnZvslJq+9s508vgIjcJCLpIpK+Y8eOIgtY25kO0ow1BfblOt94HTJ/gX79oG5d987HHoM6dQI+tQPP3pu3fROvAuS9eNLTzyQl5VhfxYIjOZmHuJ/hON6Dnc/N/C++SRMiOwExEkiSu4tKEXjoIb95A3UxusdR/P9H9eqZfa++6v5vp041606dTD94weP6P+cXX1zHww+/A0DPnv7zlRT5x1z+OLyD5HLuFvnLL5s8H3/sLhPOcY7itlzifZ7L5s1NmTr1IUaMgJcbP1WwnzWKBJy/qqrzVPUjVc3wSPtLVX+LvGgB8fV4aoD0gomqk1Q1TVXTanua+YQqiDOByTX43ow1pGIuV67jvTh3pzMBYs8e+PNPs33ffbB3b8DWi68B/W++MfNPFi48s8gyA3D0KPfzCO35wy0bBQf0KybFqGlYACTZ3WubS+CgaIHHr8ztFGjyqGoCl166gffeuyMvrXLlwMcOtgtj8eLg8kWS/LJe3Qj6e4x/DHPcWnkG5br33vD1/wdSLrE2xlCyVOW55yZwzz2fMmPG/SYpN5d9rZXPXvuU/+u7HD0a2cnDhRHrzhG2OV1dOGtXD+omoKFHvgbAZie9gY/0iLFpk/fT15X5ZFCJHzmVu386H3BecC4++cT7AAcP+j22S7k8boaaADh8OJW77vqKOXMuDdTbUzgN8nVxOcol/8uk78WpXr/vv588bwOxSoGWi6+BD4dgWi5bt/p/iyUkCDt2NMTzu6ZaljF93rVuP1t8GJr5Uy7vvOP925frmGjhepFf1xTOq1twf716pvVSqdIeFi5cwe+/h+fN7xqQ92wNxeL4QkmTkFCRNWvac/fd13D88YtMYm4uq6/LQmvdwHNftuKjD3K9JvaWuIzRO3VQzMIEJ8NZf+KRfpmIpIhIU8zA/QKn6+yAiHR1rMQGeZSJCF9/6ziTrFLNK/1Ufqad0ypQ14tn6lTTbJ03z53R5dFy3rwCn2d5XRIeL66cnGQaN17OxIlpHAgh5FyBGGVVqnj/dl7Ang9uH75m7lzvbI88YrwkxzQenvsyqMSGdb41yPr18NJL7t/5G5Gpqa1ZubIrH37of4jRl+l2x7bmf6xdJYt69eC997z3+3s55jfxPuMMv6ctMYJ9kW/aZC77qad+xPTprZgwYWnhhYLgxhvhuutg8ODC85Y1srOT2bevFjk5zv2ek0Pq5kQqVjTd/BdfXq54H6DFJGaUi4i8jYkdc4KIbBKR6zFza/qIyCqgj/MbVV0GvAssB74EhqnbO+HNwGuYQf41wBeRlPv01uaPTKqSChMmeO1LcBw95pJgRnmvucb0mRzrMVaydi0sWQKnnAL33ONV3tVy0Xy9fevWtea7766gVavCjfZycv7g6qsfoVevnd478tu4On05ni+TR7kvL/iZJ4XYIUSfxETEw8nmnRVe9JmtSRN49FH37/zdLCkp9WjZch61a/u/hXwplxpt66MKJ3Q33a07dxZeBqB/PucNMTFHY4PxOee6ONu2mQ4DV4vvYL8r+Lv52YgY5ZKZWQmAI0d2FjhUUahd2zj2rFo1LIeLK/76K43Roz9n7dq2AGxptJxqK1LYcU/PvDzRnIQbM8pFVS9X1bqqmqyqDVR1sqruUtXeqtrcWe/2yD9WVZup6gmq+oVHerqqtnH23eJhiBB+cnJosdH49UkQLTB6WIud/NmgN5cxEy66yL2jSRN3iMRVq9zOun75xat8nnI56xwvQ/+FC/swfvx4fvml8EkQ69f8ynXX3U+Lqku9xx4qVmQnNbmRSWygYQFrsWaspvNxu1xGWF44PWixS2Ki13jVSbu+CZDZTUo+y29X5M3cXP/XOdCXvWs+UI18/ix82Rf89BMkJXrfqrGgXFKWGDeC1XN2smIFXHnlGvr0yeKJJ8z+igmZNK2wFTAfHUuXdufFF5+nY8dm/g5piRB/dp7N1tMz+Sx9UF5aamqAAhEmZpRLqeSHH0x0KiAh96jxVeEyFQKSyKFFo8NUW/IzNM1nXupy9/rkkzDf8YWUz/OkZBqrHD31NGN6lI9p0woXccXCi+ndO5vbN77iDhICUK4cu6jJa9zIB1yc1xxxfVUnkAtJSXluJfLj8vobk+RTLufzaVDFduc3hHeOcfSof4OPQMqlTh2zXpPPkLB6tYLfO127wjffxJ5yOenuPvzn2sVMfyORFStMt2x2djlWrHAy5OTk3TS9esHOnfX54IMRHD7cKHpCA2lpcPbZhecrrfi67/aubMVc0piBuw/Rs+Vy2WWm3MKFJSAgVrkUDxFOxDxl4rIocv3rvXq5f7dpU7Bs9epcw1R6rTaedHIRnmQku+YscR++l5mSq/sPQGYm5fC23ApgC5CHVqpCbm4iCSjUcrvRp1w5WvAXKRxmO8cUaLkcIhVE/H75xPSgaj7lUrFiYGHT0r7mvffq8fbbf3ilr1zptBzV/2PiqWTzGwe4hrUeeCBfIR8OoBITYctWbzljQblIlcoMn9KBWi1qeDV886ZT5ObmueGtVMlMOXIlR5pAfRLvvAOvvhp5GYrD8k9Wkf7sDwGtGf2R//n77TfYX74BiYne47ae95DLYOTXX/O+iSOKVS7FoX17bucFevG9e1TE9a+/9pr5dApg5pw2qBWnYxwj/kwPRvEkQx5wj8fkdYs9/TTUr19g7KVt20Lke+stWLXaHKtFC7yaIeXKIcAOavMY9+S1XFwPbEUyQIRzfPg3ePTR2Il255P8yiVjW8A3UUpKJrVqbaF8ee8H88MPXW9I/8qpcWP39l/zvJs+Lkunfv28y0jrVnnbd9xh3s0i7tC1AKfVX0OixJbr+NxsH/J4tFzAPYs8kmbCwXzYHHccNGxYeL5osWsXtL6wOSffeXrIjmAzMgoae3TqBBv/SSmgXDwD3n73nZnLffPNJTP/xyqX4uCMMipixlw8UYXPPvOeVpuPW6Z35sHUpwFYhXnxV04yVlsVOZj3gtxAI59v80K7pq68EnVNlsh/BzsDDJU5aF6dTls5a4t5QdZiJ4gwZEjBw97rx31azOAol6rlD1M1JZNq7C2kmWeuc7163o/D4eR5DJwHi3Pf81UIgBYt3Nu1n7+nwP6aFTKoftjbHtlT8SUlub8ur7zyMd5800SzuGdys5gLo5h10McN59FyAbfIJdFyKY1kZ0OjRsrFPd02wtsGjwzpGF995ft2Xru2LatXd/RK8xxHPOMM97325ZeRb73E1t1b2nAeqjn04sd/nAFMzynNwUTtOWTGVU7lJ25hPM/fto5JV//I15xlurKAGuyGpKQCLRfXDbZ4MZx5po84KwMHonWNgwIZfLX3vqQk0z52GcL//DNccgmH+18KQHnC6CCqpHGUy5DD/2H3C69TjqMBn6SEBPMmzO/j9NsvMzipOlTWrQFPN55bGMs91Kxe8I16bebLnLLxXa+08rPd1mfZ2e7vhv17j+O330zchITpUwkb2dnmvvx3wXg3oVC9to/mar6Wi+sSWuXiGxE487QjtF/6Rl5a4vszQzqGv9fK5MljeeqpKV5p+Y1UfAzdRgyrXMJE19qm+6moPspbsIrxDKdat1bc+OdddMNYjj2ZfB9nz7zOp3LZ6DjA+fpr0+TNyMh30Jkz0W7djVht2hiZeveGT50B7rQ0b1Om99/nAMYkOYOKeXX58YKnvQ67enVIVSse69ebUckvQrAoT0xkHl25jf+QUN7xz+a6WD6oXXuTU8z7cdj9TyvuPgEaa2A3O7fwEvfwuM8u0Kd7fcH1VfK1fDIyGMetLF+mXrPwZ316GV2qmJn+iR9/EPCcIfHUU2adz1Q+VLKyC77VDiTAmK7NmTHDuHKOtov+WCcxEaZMT+I/jEBPPQ1FqB/iPG+XoUgwuLxFuKhVC95/H954o+BUt3BjlUtxOe44FOGXU/7P/C7u0yXiturq2pWRtafSe2Atn8rF9S5ztVg6ereIvcQQwcyk/P57fE5ecTiVnziWLYzn1rxITXWeucsrjyvGRokwbhxHDh1l9bm3Bt+MT0igA79Tjy3uQZH9+83ntGMS5jlpPzHRFYXTezLF33+35ZVXnuCRR94O7ry+IoNVrAhL800ozMzk1o7/48RWQoUKcIzbqTa1GpY3VcgMwlojWFz9mPm9MoSILw/DOZJNp1M/IydnFeBuxFjlEgDXIFsRfRr6G3P69tuCafmVC8DFF8OVVxbp1CFhlUtxcU1GfPhhsy6ucvGM55qTA5s3m05WH2Murgn9LVvCuefmmxc5fz507Ii63LrMme0dFMOPM8da7GJLWj9OJh1eeMGrSo0bm+ehRGOMPPcca2lKc1bz0Qvrgyvj2W/gmpSzcqWZ6l2zJuzaxUcfwV13Xc+jj/bjq6+u4corV5GYmN98Vpg582527SokmIjLIakv07qsrIIzAI8ezev8fvFFvLwg5CSbi5tIBByGFnOEe/Uqc097OqlMOlCOAQN2sHOn8dpdkt1ipVqB1fXhQwfMx9+zzwYs6ku5fPJJ7BkwWOVSXJYtM+tLLjHrUJTLrFkF03r0MOthw8wES4BvzCTA/C0Xl3IZM8bYDngxaZIZjNlq/FxJ9WreTRvPyRdjx3qX/eUX8wJMS/NKTk72tmaOOA8+CMCxbOV1rqLHpEGB84MJptK+vfv35ZebdUKC22/Nzp1UqAAbN57AunVt2L+/Jps3H1/08XPX5NeDB804lidNm5pZ7i4Pj+ClXJo08e7myP3kvwAkXhtGfyfnnWeidX4T3GRSfwyt+jZfcxb9u3iMQTlmtK7b3tUKyz9xNJzEtBl8sNSo4XNU/rdHP6fCnf9m3lehuRzq18/bc8YHH8CMGeEQtOhY5RIuXIOlLk+Ff/zhP6+L/P4+PBk82O1s6qqrOLgvB833dwV0Q+7MctMmzuTNjh3dsy6nTPG+80aP9i6blOSzpeRXX27eHNykm1DYvDmvdVWV/VzFmz7DGhTAM5gKuJ84zz61rCwqV4aZM0fy2muP5SX7Uy6FKp1KxuUJDz8MnTt773M1815+2fwnNWqYATI/k1gW7jdWgwkXnFfISUPg009NK7SYvkBa1NxFH77xujc01/umGDLEuGvx1KVlkowM+Ocf//srVPD5zGR16sZhKvDya+U4eNBEK23b1u3QA/wr1/Lzf8jbvugiuPpq3/m82LzZx2BteLDKJVyMGGHWrn7U/NOyfdEowCzmcuXMQGxmJnTowB8J7Qtk8atc7ror72tayxlzERHctsv5XzKBPgVnzkTmz/NOW7DATHZ58klT3/r1fXfuFoe+fd3brs/g664r+vGWuCenkpXFvt0Fu538WeHkt7gpQKDZjp5OSlu1cnfTLVrkM/uZ1RdyI5PynJ7GFK4bzlO55Lgs7czvxETzN8X0PKhI07Ch+eBo0MD/F1lKigm5kb9obWOl+fr7FdiwwVzypUu9lYu/j51yr77ke0cg6teH004LvVwQWOVSXAYOhJM8YrS7OpuDabt/8YV/5z/JyeYY5c0Ab83K3nMMEhM171n/dcSbLB3qOGdcutT99X7++XniJCTgVi6+Xobff18w7frrTbfS2x4D2qrQpYvpixs1Co45hn+oxwM8yNF9/mPNh8Rll7lbfkePcnTJSn6mO0cqBxEQfdeuvO40L777zr09eTIJA/9VIIvfh9Z/lGRD/jep58i3y1NDfgq4qTacPPA4JjGE1B3rjWcHV7drLOC64TzuH11srEnioqsqXGzyiFc4b57vPPmVzksvQVYW5VLMhby8XwZNmriHZjxDR/u71ovKdQHgtqtC9LP/W2TCc1nlUlzeesvb4aTL5DWYDvxWrfy3cPK9sGpV9VYuKeXcyqXzf67k9ldOMC9817T9hg1h1ixvazHXl5Kvz8pevYxtoqeinDKlYF18xEZ5lv/jYR5gxrWzfdclVFx+KoYMgaQk9hyuwKn8zGu/BBFQvkYN428lv72mp2XO228bU2uHy8/dC0CiOhf0lVd4daDb9MbR725U4d133S/+/Bnq1DFToV94wSjoYFE1XaU5OeYjYdmy8DUBMjON0nZ9RGzZYvpNAphoF8BHywXH7ZHs2+udd+tW47kz1OnnpZ389e3WreBsZ1XezL2ci3kfhg83abfcAuefT7kUoTyZdO94iNRU0xJMSsqnXDK8u9PqVtgDubn8udy0xpOyItPNFSpWuRSXhATvT9vHHjMv+KuuCq6868WU30w0X+siv4XWoMEJeb1EzzOCh3jA23/8okUgQrkNZlJKYtYhmO28/P0ZuC9fbibNuHC1AL78EnA+tjwjWL30EvTuzbAR5XiG/+OiysUbMM7jnHOMnfWYMQBUrWH6q3YcyP+WD8Dnnxcc/3Cxf7/xnebQ4vMXACh/QR/T6hg6lB3vultyKSn5vjLHjjUt1jZtzHVOSCj4//XrB7ffHprZVPfu5m2SkOB2jBUuC4r9+43SdnlzrFfPTHYINO6Xn/zKJSPDbWSS/0u8Tx9jClecgCLvvGNkLE3kD4AEbie1wOqZ6cxN6M7OX/7iL1p4u7v49luqTXmOHzmNMzq7FUj58t7KZd+ZF3sd/p7MMfDee1y86xUA2vUOMrLuf43xSJ7PnnCjqmV+6dSpk0aVzz9X3bpV1TyiZtm1yzvPyy/raMZqXz5TUF271mOfq0xysuq+fV7Ftkkd/T+e1qNvvav6/feq112nevhwcHItWaIKuprjFFSPO069ZXTx4Yfm90UXqebkFOUKBCYrS0G1VtJu8zs3t2CeHTsKpr/5ppGrTx/Vxx/3usaPcG9eNVbRTGdyqeZ61g30Ph5WUG3TeL/7mAsWeF8D13U48cSC6aD61FNmXamSasOGqq1aFbx+qqrPPedOz8426/Llw3cNXccEc51c223b+r6evhg40JRZt878Bt1OLQXV529b6523eXP3uYpK+/bmGO+/r/rrr3nJL75okrdtK/qhI8aQIb7vA1XVgwf1FsZpJfa702fOVH3+edXTT89LO47VeunZe/MO6XW7HDmiR0jSETynyzhRh/Ky7qWKKugqmimovv56EHJu2OA+8D33FLm6QLr6ea9G/cUeC0vUlYuLUaPcf3h+BTBpkiro0fMv1L8XuW883bTJXebUUwsec/581W7dVA8cKJpMnsql6g73uW6+2Z3n6NG89GwSdO43B3XjxqKdzifZ2XofD+u7/Et1+3ZzrrvvNvsyMlTvu8+k3Xabd7nDh1UfeEB16VLz++DBPDnP5gv3Q+vrZQC6mHYKqmks8LoeCqpVq3o/9Y0a+T2Ogur48Sbfjh3e5VRVzzvPO69Lgf3rX2G8iKo6a5b5wGjd2hx/3768l/9DV6zQs5qt9s6/erVRPiefrPrnn6qdOxeo1/f0VFA9v/Uac327dFHNzDT727QpnryLFnmf78gRVVV96SWNTeXy7rv+//+//1Z9/HFdSQudzene+1xs3ap6yy36P07RPyqdorp8uap6ZAPV0aP9nuNPmiuovvGG+Vt/fmeTbjr/JvN/eHL55d5lzzuvyFW2yqWQJWaUy7Rp7j88/xffjBnuG6FuXdU9e0z6VVd53yhdu4ZXpoEDdQc1FVRvYqL7PB5fkqpqWk2gB0lVUH30zNnhk8H1pT1smOrPP7tleOUV87J0/T7xxMDH8VCCc+nqX7ncf78qaA6iI3lC19LYlPf8+v/gA9UrrzTbK1aoVqvm/8Vy111uGfbuLfhScf2uVMkoxLlzVVNTVefNC9819KRyZdVatbySnu/+nl6Z+LZ3vnXrVHv2NLLVr++zbjve+FLPa7NW//p2vWqHDt77r7+++LJ6Hm/qVFUNQrls3ap6wQWqc+aYjE2bup+n559XrVPHtLA/+UT1jz+KJ9/nn5vWyvTpbjkvu0x1wADVhx4y2670G28seA3fe8/7eJ9+WiDPCJ7TKimZ/u+vfB9Dr7+ueigjV0H1MUapPvmkOfbGjar16vkuX0SscilkiRnl8s03/v/sP/8seEPcfbd5cYXpRvHLzp26hqZ6hCRz/CVLCuapYprmR0nULzlLV782O7wynHCC6Tr66ivvujqKQEG1XbvCj5OYmJe/gHI591x3C8/1BnMtb7xhWkau3wcOqKanm+2+fb3zVqum+vvvvv+PI0f8vyCiyZw5qmeeqbp7d8F9CQm+5e3Sxbyc/dVnzZriyzVlivcxV64sXLm4WrKey0knGaXt+u36L0eOLJpcvrpHwXxkeXYNe3ZBupbq1VUrVvTdZbh4cYH8/fjYuyvNc1mxIq/oDK5SUH3wxo26ceE2BdUXGO7//xk/3qzT0op2DVStcilsiRnloqr68ceq//tfwfQ9e1RFCnahePTV5i3F6ef2x7PPuo+fnV1gdzon6Xtc7M4zZEj4ZVBVvekmc/w2bVTXrzcvw9deU73wQqPgCnuheVwnL+XywAPe+Ty/RPMv//zj83gKRtm7FFRWluqhQwVl+Osv38eNFvPnq957r5HhnXcK3j/DhnnLeeiQeenn5np3y4LpLhw1yrQeQiE723Sr+cN1/OOP96lcnr7wZ737rIXmh59Wls8lVDk7dizYW+C5uHoUfMnuWo4eNS1YX+zZUyB/L77TBmwoeJzTT/cq+jVnKqj+/MpSPfTG+/oyQ3U31XzLOXSo6sqVZvvOO0O7Bl5Vs8ol4BJTyiUQ6emm79bXzdKihVkvWFD4cYrCwYPmy/6++3zuLjBQOWNGZOQYNsx8Sed/EV1wQXAvaY9rNpeu+iVnmd8//+yd7+OP/b9APDn7bO99335beB1yc03rb8AAU6Z9e/OgR4OJEwvW7+WXC+bLzTWtFNdgvieua3/LLUWX47ff3Oe/9daC+z3ke6nHW0a5UDsv7RqmaB++Mq2vYBVLURR6/vJr15pr41p8kZFh7tmaNb0/TII8xx+00ZW0KHjuP//0LufrQ7NNG9/1fuEFU2bBgoJjMiFdjjKoXIBzgD+B1cCoQHlLjXJxkZXl+ybP339bgmw94TT9k+aqV1xhulgidqKtZlA8P57GEIHw9aD5euBd3Vd16ni32tLTvfMdPWo+oV0vta++KnrdooGvl7EvBRJpVq8O/NK/5568fYtpp88xQjOoEFhxPPWUeYlGSrlEwjJStWA3q6/Fy1zU4e67vfOMGKF6zTXeaU2bqm7eHLbejTKnXIBEYA1wHFAO+B1o5S9/qVMuLn76yXzxLV4cbUnMSzZSD1uwPPhg3qCvX44cMa2U7GzTvRPoIVu1qoBpt19yc804S2lj7Vr3i2fyZNNFFi26dDFynHOO7/3btgVWJJ6/PZ+Jn34y5szZ2e7n5dVXi3a/5uYaq7vZs4tUxaB57z1jgXjBBeZjMifHyB3o42XPHlNPz5ZITo65348cMQYwgboei0Ag5SJmf3whIqcAD6rq2c7v0QCq+riv/GlpaZqenl6CElosFkvpR0QWqmqar33xOkO/PuDp12KTk5aHiNwkIukikr6jiEF7LBaLxeKbeFUuvly7eTXRVHWSqqapalptH+FpLRaLxVJ04lW5bAI847I1gBADVVssFoulyMSrcvkVaC4iTUWkHHAZ4CPso8VisVgiQVyG9FHVbBG5BfgKYzk2RVVjKDCGxWKxxDdxqVwAVPVzoBj+vi0Wi8VSVOK1W8xisVgsUcQqF4vFYrGEnbicRBkqIrIDWB/BU9QCdkbw+NEm3usHZaOOkaQsXL+yWMfGqupzLodVLiWAiKT7m8UaD8R7/aBs1DGSlIXrZ+voje0Ws1gsFkvYscrFYrFYLGHHKpeSYVK0BYgw8V4/KBt1jCRl4frZOnpgx1wsFovFEnZsy8VisVgsYccqF4vFYrGEHatcLEEjIr5CGVgsljgjHM+6VS7FRAznicgx0ZYlEjj1u11EGmgcD9CJSDMRqRBtOUozIpLorOPuIyTen3MI/7NulUsxEJELgRXALcBkEWkdXYnCi4gMAmYDHYH9cfrSuFJElgFPAx+ISNw6c40UInKNiCwCbou2LJEg3p9ziMyzbpVLERGRmsB1wLWq2hdIBlo5+0r9S1hEugPTgDtVdZCq7nd9zcRD/QBEpD8wBLheVS8CUoEbnX322QgCEWkJ/Bv4FDhNRI5TVY2X6xfvzzlE7lmPixugpBCRyh4/jwCVgGOd37lAXRGpW+KChQlXtwaAqv4PmA+c6OwbJSIXiEil0tw9JiKVPH7+DgxW1XnO73HAhQCqmlvCopUaPJ8DVV0JDAKeB5Zjvu5L9fWL9+ccSuZZt8olSERkFLBIRJ4SkatU9QDwBnCFiGwHNgDtgEeAM6MoapEQkYeB+0XE0wndUGC6iCwGqgG3Ak87X6ulDhEZCcwRkadF5HJVXYe3w9LjgLlREa6U4PEcPCki1zjJf6rqbuAjoJmInObkLXXvl3h/zqHknnXbvxwEInIGcC7QB2gCvCUiv6vqFBHZA2xS1dudL577gWbAN1ETOAREJAW4AxgM/Ibpc/0aQFV/dyJ6zlfVhc7N+CrQGFgZJZFDxunaeBbT7XUDcDxwl4j8qKr/iEiyqh7FfJ3+HkVRYxo/z8FvqvqHk2UFpt9+CPCjquaKSKKq5kRF4BCJ5+ccSv5ZL3VfFlEiGVikqmtVdTbwH+ApZ99uIEdEqjtfOYJ5iZUWjmL6y1sB84BeItLUtVNVX1bVhc72Dkx9a0RD0GKQAXytqpeq6mLgO2AJ0ADAUSwAbYGfRKSFiDzoKCWLG1/PweMe+zOA94GDIvKIiDyFeUmXFuL5OYcSftatcgmOVKCmiJQHUNUngGNF5AJgK1AH04R8FvPVsyBqkoaI0zf+l6pmAO9gXridna+cvAE9Eanh1K8d8Gu05C0KqnoY+K9HUjbQAdjiShCRRpgH6SFgJrBTVXeVoJilAV/PQV0RucT5rcBhjJK+GdihqmuiJWwRiNvnHEr+WbfKxQMR6ZmvHxIAVf0I0wQ+3yP5aWCkqv4JPAj8AxwEuqnqzyUgbsgEqF+Ws14H/AycDrR00tT5unkH82V3uqquLjGhQyRAHQ94/KwJbFfVDR5pKZj/eDvQXVVfjKyksYuIXC0ibfOn+3kOnsJ0tbh4HFgGNFLVpyMqaBEJsX6l7jmHgHUsuWddVcv8ApwD/IjpY6zikS5AirN9mZOnifO7EfAyUNGVN9r1KGL9EpztRGddBRgPXAFcDVzgpNeMdj3CWMcewJvO9tnAac7DVDfa9YjyNWyPGXP6GGif7xoGeg5eAio7v8tHux4RqF+peM6DqGOJPutldkDfaQIKMBB4BTPX4T3P/WqudJaIHIfR5q2A+8RMGLsAWKemiYmTN2YIoX7q1G83sFdV94vIKswLYxcwHEBjsIuoqHXEKJNyIjIB0/QfpWbcZQtlm3OBl1TVy616kM/BASfv4RKWORSKU7+YfM59EKiOJfqsl8luMddLR00f5GZgBrDa2XeJiDTAfMkiIvdibMB7YCyOpgKdge9UdWg05C+MItTvf8ApYmgJjACeVtXjVfXzqFSiEIpYx+5O8dZAF2ClqnZX1Z9KvAIxgKuP3YOWmLEFxLgBOUdEqjm/78aMMZSq5yBfUlzVD4pUx7mU0LNe5uK5OOZ2vYGfMC+kPcD1wLVAdYwVURKwTVWHOvnfVNU9HseIWfPK4tbPGcxMdH2pxSJhqOP5wM+qujcK4scEHtfwB+A9NSbZjwNrgPMwL6jqQCLwKHAK8E4pfA7isn5Q/DpG/FmPZv9gSS/AAIz1Qy/Ml8lLQAugHvAE0NHJVxPTTGzvUTaR2O9vLU79kqItfwnUMTna8sfC4ucaNsKMN3yP+ZJ13fPf4/TFe6SVxucgbuoXhjqWyLNe1rrFugAT1NiwPwisw1iCbAYeVNVFkNfn+CFG67u6YHLU+WdimOLULzsqEodOcep41OcRyx75r+F6YLSqzsR87SaLSB01X+1zMRZUpfk5iLf6QfHqWCLPelwql/z9kB6//8ZYRqCq6zFzHyqLSD/1GIgUkTGYfvkVTt6YutnivX5QNuoYaUK4hrOA2iLSA2N6exQY7VzDf2G6XWLuGsZ7/aB01zEulQvOQK4Ljwv6PnBIjDdcMNZBc3B7OT1VRGZjulkuVtVtJSNuyMR7/aBs1DHShHINv8fM3ViEmauyEjOp8ExXazAGiff6QSmuY1yZIotIGnA3sFlE3gN+UdUcEUlQY1W0B+Nc72YRmaWq+8R4yXUFiVoHDFPV5dGQvzDivX5QNuoYaYp4DSsCFQHUOKGcGC35CyPe6wfxUce4aLk4ZnVPYC7mp8A2jOvvRuDl/rsC8BVGy08SkXoY521HnHwbY/GlFO/1g7JRx0gTrmsYq8R7/SDO6hgOq4BYWDCmd9Wd7brA20Alj/0PY/6MjhgfUo9iulNexpmxGstLvNevrNTRXkNbv7JSx1I7z0VM6NFWwB+q+qlH+qmY+AubMZMfP8GY7E0C7lcPXzkikqqqh0pS7mCJ9/pB2ahjpIn3axjv9YM4rmO0tVsRtHptjN+cHzEBbrYDAzz2twZ6OdvXYibZNfXYnxDtOpTl+pWVOtpraOtX1usYdQGK8Id0Be7y+H01MNdP3uMwg14NSsOfURbqV1bqaK+hrV9Zr2OpsBYTkUGY8KILgIXAWic9ERO3e4mfomdhjBZcTvViMq53vNcPykYdI028X8N4rx+UjTq6iFnl4kwWOhZ4C8jF+Mu5EbhNVbeJ4/dHRE7EmYXtlCuH8Xr7JCb2wkhV3VfiFSiEeK8flI06Rpp4v4bxXj8oG3X0RUyaIjsXW4HKwD+q2hv4N8ZV9KR82c/CTChCRGqp6hFM3+UDqtpPVWMu1nu81w/KRh0jTbxfw3ivH5SNOvojplouIpKEMbNLFJHPMcFscgBUNVtEhmMmFZ2uqj84xQ4Ca0XkYeAiEemrqn8Af0ShCgGJ9/pB2ahjpIn3axjv9YOyUcfCiJmWi4icjumDrI6Jy/EIxj9OLxHpDHmuDx7GOGpz9VNeh9H2VTCWFRtLXPggiPf6QdmoY6SJ92sY7/WDslHHoCiqJUC4F+BU4GqP3y8DNwPXAAudtARM3+W7QGOMp88XgJOiLX9Zr19ZqaO9hrZ+to5BXodoC+DxB6QCKbjjO18JPO5sLwZudbbTgJnRltfWr2zW0V5DWz9bx+CWmOkWU9VDqpql7shvfYAdzva1wIki8inGFcJC8BniM2aJ9/pB2ahjpIn3axjv9YOyUcdgiKkBfcjre1SgDiZGARjb7nuANsBaVf0HYjP+QmHEe/2gbNQx0sT7NYz3+kHZqGMgYqbl4kEuJobBTqCdo+HHALmq+rPrzyjFxHv9oGzUMdLE+zWM9/pB2aijX2LScaWIdMWE5pwLTFXVyVEWKazEe/2gbNQx0sT7NYz3+kHZqKM/YlW5NMD42XlOVbOiLU+4iff6QdmoY6SJ92sY7/WDslFHf8SkcrFYLBZL6SYWx1wsFovFUsqxysVisVgsYccqF4vFYrGEHatcLBaLxRJ2rHKxWKKAiFQTkX872/VE5P1oy2SxhBNrLWaxRAERaQJ8qqptoi2LxRIJYs79i8VSRngCaCYii4FVwImq2kZErgEuBBIxLkKeBcph5kpkAeeq6m4RaQa8BNQGDgE3aikLJmWJb2y3mMUSHUYBa1S1A3BXvn1tgCuAzsBY4JCqdgR+AQY5eSZhvOt2Au7EuHW3WGIG23KxWGKP2ap6ADggIvuA/zrpSzA+qioB3YD3PJzpppS8mBaLf6xysVhiD083Ibkev3Mxz2wCsNdp9VgsMYntFrNYosMBoHJRCqrqfkys9UvAxAIRkfbhFM5iKS5WuVgsUUBVdwH/E5GlwNNFOMSVwPUi8juwDOgfTvksluJiTZEtFovFEnZsy8VisVgsYccqF4vFYrGEHatcLBaLxRJ2rHKxWCwWS9ixysVisVgsYccqF4vFYrGEHatcLBaLxRJ2rHKxWCwWS9j5f3DoXgg9hjyPAAAAAElFTkSuQmCC\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",
   "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",
   "execution_count": 43,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "dict_keys(['__header__', '__version__', '__globals__', 'cl31_av'])"
      ]
     },
     "execution_count": 43,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "CL_SM_avg.keys()"
   ]
  },
  {
   "cell_type": "code",
   "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",
   "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",
   "execution_count": 46,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "5426"
      ]
     },
     "execution_count": 46,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "len(DF_10min)"
   ]
  },
  {
   "cell_type": "code",
   "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",
   "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",
   "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",
   "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: []"
      ]
     },
     "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",
   "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",
   "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",
   "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",
    "                              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",
   "execution_count": 54,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "15"
      ]
     },
     "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",
   "execution_count": 55,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Timestamp('2023-05-07 00:05:22')"
      ]
     },
     "execution_count": 55,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#get time range - start\n",
    "Times_nomicrosec[0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 56,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Timestamp('2023-06-13 16:15:07')"
      ]
     },
     "execution_count": 56,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#get time range - end\n",
    "Times_nomicrosec[-1]"
   ]
  },
  {
   "cell_type": "code",
   "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",
   "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",
       "}\n",
       "\n",
       ".xr-dim-list li {\n",
       "  display: inline-block;\n",
       "  padding: 0;\n",
       "  margin: 0;\n",
       "}\n",
       "\n",
       ".xr-dim-list:before {\n",
       "  content: '(';\n",
       "}\n",
       "\n",
       ".xr-dim-list:after {\n",
       "  content: ')';\n",
       "}\n",
       "\n",
       ".xr-dim-list li:not(:last-child):after {\n",
       "  content: ',';\n",
       "  padding-right: 5px;\n",
       "}\n",
       "\n",
       ".xr-has-index {\n",
       "  font-weight: bold;\n",
       "}\n",
       "\n",
       ".xr-var-list,\n",
       ".xr-var-item {\n",
       "  display: contents;\n",
       "}\n",
       "\n",
       ".xr-var-item > div,\n",
       ".xr-var-item label,\n",
       ".xr-var-item > .xr-var-name span {\n",
       "  background-color: var(--xr-background-color-row-even);\n",
       "  margin-bottom: 0;\n",
       "}\n",
       "\n",
       ".xr-var-item > .xr-var-name:hover span {\n",
       "  padding-right: 5px;\n",
       "}\n",
       "\n",
       ".xr-var-list > li:nth-child(odd) > div,\n",
       ".xr-var-list > li:nth-child(odd) > label,\n",
       ".xr-var-list > li:nth-child(odd) > .xr-var-name span {\n",
       "  background-color: var(--xr-background-color-row-odd);\n",
       "}\n",
       "\n",
       ".xr-var-name {\n",
       "  grid-column: 1;\n",
       "}\n",
       "\n",
       ".xr-var-dims {\n",
       "  grid-column: 2;\n",
       "}\n",
       "\n",
       ".xr-var-dtype {\n",
       "  grid-column: 3;\n",
       "  text-align: right;\n",
       "  color: var(--xr-font-color2);\n",
       "}\n",
       "\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: 5426)\n",
       "Coordinates:\n",
       "  * time                          (time) datetime64[ns] 2023-05-07T00:05:22.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 ... 15 15 15 15 16 16\n",
       "    minute                        (time) int32 5 15 25 35 45 ... 35 45 55 5 15\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 836.0 ... nan\n",
       "    sky_condition_cloud_fraction  (time, sky_condition_layer) float32 7.0 ......\n",
       "    sky_condition_cloud_altitude  (time, sky_condition_layer) float32 775.0 ....\n",
       "    backscatter_profile           (time, range_levels) float32 0.0002657 ... ...\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:05:22\n",
       "    time_coverage_end:                     2023-06-13T16:15:07\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 10 min avera...</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-0de8e853-eac7-49fb-913d-902a31a83705' class='xr-section-summary-in' type='checkbox' disabled ><label for='section-0de8e853-eac7-49fb-913d-902a31a83705' 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>: 5426</li></ul></div><div class='xr-section-details'></div></li><li class='xr-section-item'><input id='section-5beb8c37-6306-40f8-b92e-1859c60fd356' class='xr-section-summary-in' type='checkbox'  checked><label for='section-5beb8c37-6306-40f8-b92e-1859c60fd356' 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:05:22.260333 ... 2...</div><input id='attrs-cfa487ed-fb71-4b63-8143-32418a5917af' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-cfa487ed-fb71-4b63-8143-32418a5917af' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-bf0f4676-0b16-48be-bd52-ed959c9f40b4' class='xr-var-data-in' type='checkbox'><label for='data-bf0f4676-0b16-48be-bd52-ed959c9f40b4' 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:05:22.260333000&#x27;, &#x27;2023-05-07T00:15:37.251150000&#x27;,\n",
       "       &#x27;2023-05-07T00:25:37.240749000&#x27;, ..., &#x27;2023-06-13T15:55:07.325650000&#x27;,\n",
       "       &#x27;2023-06-13T16:05:07.314251000&#x27;, &#x27;2023-06-13T16:15:07.309900000&#x27;],\n",
       "      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-820a0f3e-15c8-497a-b876-d08557dd3923' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-820a0f3e-15c8-497a-b876-d08557dd3923' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-7c05f87a-090d-42eb-a28a-a27c56b5e617' class='xr-var-data-in' type='checkbox'><label for='data-7c05f87a-090d-42eb-a28a-a27c56b5e617' 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-d5b74fb3-7e8f-44f7-9cd7-d5317f9e04ad' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-d5b74fb3-7e8f-44f7-9cd7-d5317f9e04ad' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-e964b9f1-d273-4c9a-b18f-ec44251eba25' class='xr-var-data-in' type='checkbox'><label for='data-e964b9f1-d273-4c9a-b18f-ec44251eba25' 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-6b0d5355-cc3a-42ee-afc6-5d57ba2a9e0a' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-6b0d5355-cc3a-42ee-afc6-5d57ba2a9e0a' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-c3bbafa4-2e08-4762-b750-9f3d333a9dd8' class='xr-var-data-in' type='checkbox'><label for='data-c3bbafa4-2e08-4762-b750-9f3d333a9dd8' 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-63484bfa-0ca5-4245-ad54-06252bea5666' class='xr-section-summary-in' type='checkbox'  ><label for='section-63484bfa-0ca5-4245-ad54-06252bea5666' 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-8adef85e-eb26-4a78-8de7-9470a54b3040' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-8adef85e-eb26-4a78-8de7-9470a54b3040' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-509411ef-6c81-4ceb-a397-d21f318c43ad' class='xr-var-data-in' type='checkbox'><label for='data-509411ef-6c81-4ceb-a397-d21f318c43ad' 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.00373, 127.01085, 127.01779, ..., 164.66328, 164.67023,\n",
       "       164.67717], 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-d80c27b2-d933-4e1c-82c5-14d4471e533e' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-d80c27b2-d933-4e1c-82c5-14d4471e533e' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-585bacc6-7667-4258-a8db-f008ab92375c' class='xr-var-data-in' type='checkbox'><label for='data-585bacc6-7667-4258-a8db-f008ab92375c' 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-89606c92-36a3-4e4e-acec-4838f6453d90' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-89606c92-36a3-4e4e-acec-4838f6453d90' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-c489efaa-7ff9-487f-a5a0-bb57cb1cf5aa' class='xr-var-data-in' type='checkbox'><label for='data-c489efaa-7ff9-487f-a5a0-bb57cb1cf5aa' 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-b08ab301-3694-4184-bd8b-23567512b7ff' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-b08ab301-3694-4184-bd8b-23567512b7ff' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-31e79e37-2c34-4dc2-b509-b2b9e4de4013' class='xr-var-data-in' type='checkbox'><label for='data-31e79e37-2c34-4dc2-b509-b2b9e4de4013' 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 1 ... 15 15 15 15 16 16</div><input id='attrs-75fc1e53-ae04-478b-bc8b-90beeb59e838' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-75fc1e53-ae04-478b-bc8b-90beeb59e838' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-df0f316e-5a45-4e9f-a6a3-4ac1f86c96bc' class='xr-var-data-in' type='checkbox'><label for='data-df0f316e-5a45-4e9f-a6a3-4ac1f86c96bc' 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, ..., 15, 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'>5 15 25 35 45 55 ... 35 45 55 5 15</div><input id='attrs-e401b26a-8af5-4d28-bda7-00df4a7fbffa' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-e401b26a-8af5-4d28-bda7-00df4a7fbffa' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-ee279056-d4f0-4f1f-9798-721648f371d8' class='xr-var-data-in' type='checkbox'><label for='data-ee279056-d4f0-4f1f-9798-721648f371d8' 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([ 5, 15, 25, ..., 55,  5, 15], 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'>22 37 37 37 37 37 ... 7 7 7 7 7 7</div><input id='attrs-1a8b8d50-6ae5-420a-8f14-7572d5eb9b98' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-1a8b8d50-6ae5-420a-8f14-7572d5eb9b98' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-484fae0e-e414-4f83-981d-5afaf841fa6a' class='xr-var-data-in' type='checkbox'><label for='data-484fae0e-e414-4f83-981d-5afaf841fa6a' 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([22, 37, 37, ...,  7,  7,  7], 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-a8cc8705-aa0c-4d41-8a6f-4b993c2f38f5' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-a8cc8705-aa0c-4d41-8a6f-4b993c2f38f5' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-3fde38ee-3881-4534-b05f-d693e5f764af' class='xr-var-data-in' type='checkbox'><label for='data-3fde38ee-3881-4534-b05f-d693e5f764af' 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",
       "      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 2 1 ... 1 1 1 1 1 1 1 1</div><input id='attrs-26ff05a0-f974-4ce5-b2d7-a0ccdf1bb2d8' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-26ff05a0-f974-4ce5-b2d7-a0ccdf1bb2d8' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-b9245e2d-0b96-47f1-86c2-3cdfe14646c5' class='xr-var-data-in' type='checkbox'><label for='data-b9245e2d-0b96-47f1-86c2-3cdfe14646c5' 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",
       "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-1a94d2ce-6821-49fb-899d-6f7e58e12680' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-1a94d2ce-6821-49fb-899d-6f7e58e12680' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-917eaa33-53b6-473b-bbe4-c3ee817c562f' class='xr-var-data-in' type='checkbox'><label for='data-917eaa33-53b6-473b-bbe4-c3ee817c562f' 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-4e291541-9b36-491a-ae30-9d9a86b9bcee' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-4e291541-9b36-491a-ae30-9d9a86b9bcee' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-16333c46-1f04-4e3e-8d33-17259e0eaf02' class='xr-var-data-in' type='checkbox'><label for='data-16333c46-1f04-4e3e-8d33-17259e0eaf02' 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'>836.0 950.0 nan ... 366.0 nan nan</div><input id='attrs-59711047-cbd8-425a-bc01-c46079fd9a31' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-59711047-cbd8-425a-bc01-c46079fd9a31' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-f2f44738-9530-48a6-b76a-c08043cae787' class='xr-var-data-in' type='checkbox'><label for='data-f2f44738-9530-48a6-b76a-c08043cae787' 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([[ 835.9524,  950.    ,       nan],\n",
       "       [ 728.5   ,  915.    ,       nan],\n",
       "       [ 741.5   , 1001.25  , 1235.    ],\n",
       "       ...,\n",
       "       [ 530.    ,  755.    ,       nan],\n",
       "       [ 457.5   ,       nan,       nan],\n",
       "       [ 366.    ,       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'>7.0 8.0 0.0 0.0 ... 0.0 0.0 0.0 0.0</div><input id='attrs-c5b1e43f-0126-4ce2-82df-b29a674bc981' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-c5b1e43f-0126-4ce2-82df-b29a674bc981' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-12afca6c-4131-4923-a4d1-a8a896b0956d' class='xr-var-data-in' type='checkbox'><label for='data-12afca6c-4131-4923-a4d1-a8a896b0956d' 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([[7., 8., 0., 0., 0.],\n",
       "       [7., 8., 0., 0., 0.],\n",
       "       [8., 0., 0., 0., 0.],\n",
       "       ...,\n",
       "       [8., 0., 0., 0., 0.],\n",
       "       [8., 0., 0., 0., 0.],\n",
       "       [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-1a2e12a9-91b5-4eb9-9cc8-25bd16acdc93' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-1a2e12a9-91b5-4eb9-9cc8-25bd16acdc93' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-dab8b02c-2e27-426d-a4b5-80fd6772af05' class='xr-var-data-in' type='checkbox'><label for='data-dab8b02c-2e27-426d-a4b5-80fd6772af05' 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",
       "       [ 725., 1525.,   nan,   nan,   nan],\n",
       "       [ 675.,   nan,   nan,   nan,   nan],\n",
       "       ...,\n",
       "       [ 235.,   nan,   nan,   nan,   nan],\n",
       "       [ 435.,   nan,   nan,   nan,   nan],\n",
       "       [ 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.0002657 0.0002267 ... 8.85e-05</div><input id='attrs-5f4912d1-f30a-49ca-a74d-f11536780c47' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-5f4912d1-f30a-49ca-a74d-f11536780c47' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-c8d8cd40-7b51-48a4-9b80-617dac476603' class='xr-var-data-in' type='checkbox'><label for='data-c8d8cd40-7b51-48a4-9b80-617dac476603' 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([[ 2.6571428e-04,  2.2666667e-04,  2.3238095e-04, ...,\n",
       "        -8.8095236e-05,  9.3809525e-05,  7.9285714e-04],\n",
       "       [ 8.9550001e-04,  6.9900003e-04,  6.8750000e-04, ...,\n",
       "         2.9600001e-04,  7.1100000e-04,  1.6650000e-04],\n",
       "       [ 1.3195000e-03,  1.2290000e-03,  1.2585000e-03, ...,\n",
       "        -1.2700001e-04, -8.0500002e-04, -4.8250001e-04],\n",
       "       ...,\n",
       "       [ 4.4109998e-03,  2.7594999e-03,  3.5110000e-03, ...,\n",
       "        -5.7500001e-05, -4.5450000e-04, -5.8300002e-04],\n",
       "       [ 1.7119501e-02,  9.5734997e-03,  1.1017000e-02, ...,\n",
       "        -2.1500000e-05,  1.4850000e-04, -8.4350002e-04],\n",
       "       [ 1.3062000e-02,  9.7855004e-03,  1.6995000e-02, ...,\n",
       "        -5.5699999e-04,  9.7999997e-05,  8.8499997e-05]], dtype=float32)</pre></div></li></ul></div></li><li class='xr-section-item'><input id='section-066c0be0-1d78-4e17-88fd-4564023fd3ae' class='xr-section-summary-in' type='checkbox'  ><label for='section-066c0be0-1d78-4e17-88fd-4564023fd3ae' 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 10min 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:05:22</dd><dt><span>time_coverage_end :</span></dt><dd>2023-06-13T16:15:07</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 10 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: 5426)\n",
       "Coordinates:\n",
       "  * time                          (time) datetime64[ns] 2023-05-07T00:05:22.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 ... 15 15 15 15 16 16\n",
       "    minute                        (time) int32 5 15 25 35 45 ... 35 45 55 5 15\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 836.0 ... nan\n",
       "    sky_condition_cloud_fraction  (time, sky_condition_layer) float32 7.0 ......\n",
       "    sky_condition_cloud_altitude  (time, sky_condition_layer) float32 775.0 ....\n",
       "    backscatter_profile           (time, range_levels) float32 0.0002657 ... ...\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:05:22\n",
       "    time_coverage_end:                     2023-06-13T16:15:07\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 10 min avera..."
      ]
     },
     "execution_count": 58,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ds_all"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 59,
   "metadata": {},
   "outputs": [],
   "source": [
    "#save to netCDF\n",
    "ds_all.to_netcdf(load_data + 'CL31_ceilometer_ARTofMELT_20230507_20230613_10min_v01.nc')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 60,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYsAAAElCAYAAAAV9s4VAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8vihELAAAACXBIWXMAAAsTAAALEwEAmpwYAABnWElEQVR4nO2dd7gU1fn4P+/ee+lSBaUqKCqCiIKAoqJiIbHHEk0UJBqM0aixRP351RijUWOJ0dgr2LFFNHYUC1IEpUgHAbl0rnS4bff9/XFm78722Xt375Z7Ps8zz86cOWfmnNmZeee85z3vK6qKxWKxWCyJ8GW7AhaLxWLJfaywsFgsFktSrLCwWCwWS1KssLBYLBZLUqywsFgsFktSrLCwWCwWS1IyKixE5M8iMldEfhCRV0SkiYi0FZFPRGSx89vGlf8mEVkiIgtF5CRXen8RmePse0hEJJP1tlgsFks4GRMWItIZuBIYoKp9gCLgPOBGYIKq9gQmONuIyIHO/t7AcOBRESlyDvcYMBro6SzDM1Vvi8VisUSTaTVUMdBURIqBZsBq4HRgjLN/DHCGs3468KqqVqjqMmAJMFBEOgItVXWymhmEY11lLBaLxVIPFGfqwKq6SkTuA34CdgEfq+rHIrKHqq5x8qwRkQ5Okc7AFNchSp20Kmc9Mj0KERmN6YHQvHnz/gcccEA6m2SxWCwFz4wZMzaqavvI9IwJC2cs4nSgO7AZeF1ELkhUJEaaJkiPTlR9EngSYMCAATp9+vRUqmyxWCwNHhFZESs9k2qo44FlqrpBVauAt4AjgHWOagnnd72TvxTo6irfBaO2KnXWI9MtFovFUk9kUlj8BAwWkWaO9dIwYD4wHhjp5BkJvOOsjwfOE5HGItIdM5A9zVFZbRORwc5xRrjKWCwWi6UeyOSYxVQReQP4DqgGvseoiFoA40TkYoxAOcfJP1dExgHznPyXq6rfOdxlwPNAU+ADZ7FYLBZLPSGF6qLcjllYLJmhqqqK0tJSysvLs10VSx1o0qQJXbp0oaSkJCxdRGao6oDI/BnrWVgslsKktLSU3Xbbjb333hs7PzY/UVXKysooLS2le/funspYdx8WiyUlysvLadeunRUUeYyI0K5du5R6h1ZYWCyWlMkbQaEKmzdDRUW2a5JzpPofWmFhsVgKl0AAliyBTZuyXZO8xwoLi8VSENx2223cd9994Ym1NOA55phjSGQgs/fee7Nx48ZaHbs+GD58OK1bt+aUU05J2zGtsLBYLIVPvqjNHPx+f/JMCbj++ut54YUX0lQbg7WGslgstefqq2HmzPQes18/ePDBhFnGjh3Lfffdh4jQt2/fqBfjzJkz+cMf/sDOHTvYZ/fdefbxx2mzxx4cc8wx3HfffQwYMICNGzcyYMAAli9fzq5duxg1ahTz5s2jV69e7Nq1y3N1zzjjDFauXEl5eTlXXXUVo0eP5plnnuGHH37gX//6FwBPPfUU8+fP54EHHuDFF1/koYceorKykkGDBvHoo49SVFREixYtuOaaa/joo4+4//77OfLII1O9cjUMGzaMiRMn1rp8LGzPwmKx5BVz587lzjvv5LPPPmPWrFn8+9//jsozYsQI7rnnHmZ//z0H7bMPf7v//oTHfOyxx2jWrBmzZ8/m5ptvZsaMGZ7r8+yzzzJjxgymT5/OQw89RFlZGeeddx7jx4+nqqoKgOeee45Ro0Yxf/58XnvtNSZNmsTMmTMpKiripZdeAmDHjh306dOHqVOnRgmKe++9l379+kUtV155ped61hXbs7BYLLUnSQ8gE3z22WecffbZ7L777gC0bds2bP+WLVvYvHkzQ4cOhepqRp5yCufcemvCY3755Zc1L96+ffvSt29fz/V56KGHePvttwFYuXIlixcvZvDgwRx33HG899579OrVi6qqKg466CD+85//MGPGDA477DAAdu3aRYcOxvF2UVERZ511VsxzXH/99Vx//fWe65QJrLCwWCx5hap6N/uMGOAuLi4mEAgARM0xqI058MSJE/n000+ZPHkyzZo145hjjqk57iWXXMI//vEPDjjgAEaNGlVT95EjR3LXXXdFHatJkyYUFRVFpYPpWQR7IG6OPvpoHnrooZTrXRusGspiseQVw4YNY9y4cZSVlQHw888/h+1v1aoVbdq04auvvgLghfffZ+jhhwPGiimoYnrjjTdqyhx99NE1L+MffviB2bNne6rLli1baNOmDc2aNWPBggVMmRIKyTNo0CBWrlzJyy+/zPnnn19T9zfeeIP169fX1H3FipgewcO4/vrrmTlzZtRSX4ICbM/CYrHkGb179+bmm29m6NChFBUVccghh/D888+H5RkzZkzNAHePdu147sknAbjuuus499xzeeGFFzjuuONq8l92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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": "markdown",
   "metadata": {},
   "source": [
    "## Create netCDF from 20 min average files - remove times with no data points"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 61,
   "metadata": {},
   "outputs": [],
   "source": [
    "CL_SM_avg = scipy.io.loadmat(load_data + 'CL31_ceilometer_ARTofMELT_20230507_20230613_20min_v01.mat',struct_as_record=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 62,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "dict_keys(['__header__', '__version__', '__globals__', 'cl31_av'])"
      ]
     },
     "execution_count": 62,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "CL_SM_avg.keys()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 63,
   "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",
   "execution_count": 64,
   "metadata": {},
   "outputs": [],
   "source": [
    "# create pandas dataframe from the data\n",
    "\n",
    "# 1D variables\n",
    "\n",
    "DF_20min=pd.DataFrame(index=range(len(ndata['doy'])),)\n",
    "DF_20min['doy']=np.array(list(itertools.chain.from_iterable(ndata['doy'])),dtype=float)\n",
    "DF_20min['cloudcode']=np.array(list(itertools.chain.from_iterable(ndata['cloudcode'])),dtype=float)\n",
    "DF_20min['vert_vis']=np.array(list(itertools.chain.from_iterable(ndata['vert_vis'])),dtype=float)\n",
    "DF_20min['high_sig']=np.array(list(itertools.chain.from_iterable(ndata['high_sig'])),dtype=float)\n",
    "\n",
    "\n",
    "#2D cloudlayer\n",
    "DF_20min_cloudbh=pd.DataFrame(index=range(len(ndata['doy'])),data=np.array(ndata['base_ht'],dtype=float))\n",
    "\n",
    "#2D sc_layer_ht\n",
    "DF_20min_scht=pd.DataFrame(index=range(len(ndata['doy'])),data=np.array(ndata['sc_ht'],dtype=float))\n",
    "\n",
    "#2D sc_layer_frac\n",
    "DF_20min_scfrac=pd.DataFrame(index=range(len(ndata['doy'])),data=np.array(ndata['sc_frac'],dtype=float))\n",
    "\n",
    "#2D ranges\n",
    "DF_20min_range=pd.DataFrame(index=range(len(ndata['doy'])),data=np.array(ndata['bs_prof'],dtype=float))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 65,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2713"
      ]
     },
     "execution_count": 65,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "len(DF_20min)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 66,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2713 0\n"
     ]
    }
   ],
   "source": [
    "#check for NaNs - no nans in 20min avg data\n",
    "selection = DF_20min.iloc[DF_20min[~DF_20min.doy.isna()].index].index.values # size with no nans\n",
    "idx_nan = DF_20min.iloc[DF_20min[DF_20min.doy.isna()].index].index.values # length of nan times\n",
    "print(len(selection),len(idx_nan))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 67,
   "metadata": {},
   "outputs": [],
   "source": [
    "#select only no-nan times; for all 5 pandas dataframes\n",
    "DF_20min=DF_20min.iloc[selection].reset_index(drop=True)\n",
    "DF_20min_cloudbh=DF_20min_cloudbh.iloc[selection].reset_index(drop=True)\n",
    "DF_20min_scht=DF_20min_scht.iloc[selection].reset_index(drop=True)\n",
    "DF_20min_scfrac=DF_20min_scfrac.iloc[selection].reset_index(drop=True)\n",
    "DF_20min_range=DF_20min_range.iloc[selection].reset_index(drop=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 68,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2713 2713 2713 2713 2713\n"
     ]
    }
   ],
   "source": [
    "#check for right length (same as in the beginning)\n",
    "print(len(DF_20min),len(DF_20min_cloudbh),len(DF_20min_scfrac),len(DF_20min_scht),len(DF_20min_range))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 69,
   "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: []"
      ]
     },
     "execution_count": 69,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "DF_20min.iloc[DF_20min[DF_20min.doy.isna()].index] #check again for NaNs - empty!"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 70,
   "metadata": {},
   "outputs": [],
   "source": [
    "# set time dimension\n",
    "Time_steps=returndatetime_fromdoy(np.array(DF_20min.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",
   "execution_count": 71,
   "metadata": {},
   "outputs": [],
   "source": [
    "# add date values\n",
    "DF_20min['year']=np.array([Times_nomicrosec[i].year for i in range(len(Time_steps))],dtype=int)\n",
    "DF_20min['month']=np.array([Times_nomicrosec[i].month for i in range(len(Time_steps))],dtype=int)\n",
    "DF_20min['day']=np.array([Times_nomicrosec[i].day for i in range(len(Time_steps))],dtype=int)\n",
    "DF_20min['hour']=np.array([Times_nomicrosec[i].hour for i in range(len(Time_steps))],dtype=int)\n",
    "DF_20min['minute']=np.array([Times_nomicrosec[i].minute for i in range(len(Time_steps))],dtype=int)\n",
    "DF_20min['second']=np.array([Times_nomicrosec[i].second for i in range(len(Time_steps))],dtype=int)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 72,
   "metadata": {},
   "outputs": [],
   "source": [
    "# create xr DataArrays\n",
    "\n",
    "#1D: dimension time\n",
    "\n",
    "da_doy=xr.DataArray(data=np.array(DF_20min['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_20min['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_20min['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_20min['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_20min['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_20min['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_20min['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_20min['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_20min['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_20min['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_20min_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_20min_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_20min_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",
    "                              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_20min_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",
   "execution_count": 73,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "15"
      ]
     },
     "execution_count": 73,
     "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)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 74,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Timestamp('2023-05-07 00:10:22')"
      ]
     },
     "execution_count": 74,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#get time range - start\n",
    "Times_nomicrosec[0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 75,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Timestamp('2023-06-13 16:10:07')"
      ]
     },
     "execution_count": 75,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#get time range - end\n",
    "Times_nomicrosec[-1]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 76,
   "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 20min 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:10:22\",\n",
    "                \"time_coverage_end\" : \"2023-06-13T16:10: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 20 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",
   "execution_count": 77,
   "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",
       "}\n",
       "\n",
       ".xr-dim-list li {\n",
       "  display: inline-block;\n",
       "  padding: 0;\n",
       "  margin: 0;\n",
       "}\n",
       "\n",
       ".xr-dim-list:before {\n",
       "  content: '(';\n",
       "}\n",
       "\n",
       ".xr-dim-list:after {\n",
       "  content: ')';\n",
       "}\n",
       "\n",
       ".xr-dim-list li:not(:last-child):after {\n",
       "  content: ',';\n",
       "  padding-right: 5px;\n",
       "}\n",
       "\n",
       ".xr-has-index {\n",
       "  font-weight: bold;\n",
       "}\n",
       "\n",
       ".xr-var-list,\n",
       ".xr-var-item {\n",
       "  display: contents;\n",
       "}\n",
       "\n",
       ".xr-var-item > div,\n",
       ".xr-var-item label,\n",
       ".xr-var-item > .xr-var-name span {\n",
       "  background-color: var(--xr-background-color-row-even);\n",
       "  margin-bottom: 0;\n",
       "}\n",
       "\n",
       ".xr-var-item > .xr-var-name:hover span {\n",
       "  padding-right: 5px;\n",
       "}\n",
       "\n",
       ".xr-var-list > li:nth-child(odd) > div,\n",
       ".xr-var-list > li:nth-child(odd) > label,\n",
       ".xr-var-list > li:nth-child(odd) > .xr-var-name span {\n",
       "  background-color: var(--xr-background-color-row-odd);\n",
       "}\n",
       "\n",
       ".xr-var-name {\n",
       "  grid-column: 1;\n",
       "}\n",
       "\n",
       ".xr-var-dims {\n",
       "  grid-column: 2;\n",
       "}\n",
       "\n",
       ".xr-var-dtype {\n",
       "  grid-column: 3;\n",
       "  text-align: right;\n",
       "  color: var(--xr-font-color2);\n",
       "}\n",
       "\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: 2713)\n",
       "Coordinates:\n",
       "  * time                          (time) datetime64[ns] 2023-05-07T00:10:22.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 1 1 1 ... 14 14 15 15 15 16\n",
       "    minute                        (time) int32 10 30 50 10 30 ... 50 10 30 50 10\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 783.5 ... nan\n",
       "    sky_condition_cloud_fraction  (time, sky_condition_layer) float32 7.0 ......\n",
       "    sky_condition_cloud_altitude  (time, sky_condition_layer) float32 725.0 ....\n",
       "    backscatter_profile           (time, range_levels) float32 0.0005729 ... ...\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:10:22\n",
       "    time_coverage_end:                     2023-06-13T16:10:07\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 20 min avera...</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-cc4dbf4e-95da-4b51-b531-18898ed59713' class='xr-section-summary-in' type='checkbox' disabled ><label for='section-cc4dbf4e-95da-4b51-b531-18898ed59713' 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>: 2713</li></ul></div><div class='xr-section-details'></div></li><li class='xr-section-item'><input id='section-ff9271e5-d385-422b-8a6d-2cf645e8d253' class='xr-section-summary-in' type='checkbox'  checked><label for='section-ff9271e5-d385-422b-8a6d-2cf645e8d253' 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:10:22.255854 ... 2...</div><input id='attrs-ca7af933-abd2-4b70-b5f7-ac1d78f068fc' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-ca7af933-abd2-4b70-b5f7-ac1d78f068fc' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-1cb44d70-1265-41c7-8520-d322246eb4e5' class='xr-var-data-in' type='checkbox'><label for='data-1cb44d70-1265-41c7-8520-d322246eb4e5' 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:10:22.255854000&#x27;, &#x27;2023-05-07T00:30:37.234550000&#x27;,\n",
       "       &#x27;2023-05-07T00:50:37.210550000&#x27;, ..., &#x27;2023-06-13T15:30:07.349600000&#x27;,\n",
       "       &#x27;2023-06-13T15:50:07.329201000&#x27;, &#x27;2023-06-13T16:10:07.312075000&#x27;],\n",
       "      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-bb65f784-f4a0-4b2a-84bb-f424d235c11d' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-bb65f784-f4a0-4b2a-84bb-f424d235c11d' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-63e2f4f3-7a71-4f2b-a82e-6fb519f01844' class='xr-var-data-in' type='checkbox'><label for='data-63e2f4f3-7a71-4f2b-a82e-6fb519f01844' 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-9a294552-fbbc-4671-9184-dad746b931dc' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-9a294552-fbbc-4671-9184-dad746b931dc' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-7551b6b7-c2d4-4512-b620-a15abc2cba21' class='xr-var-data-in' type='checkbox'><label for='data-7551b6b7-c2d4-4512-b620-a15abc2cba21' 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-f292efa9-794d-49d0-944b-b99b190bc530' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-f292efa9-794d-49d0-944b-b99b190bc530' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-105db12f-76e9-4ec2-a708-5aa20607dd57' class='xr-var-data-in' type='checkbox'><label for='data-105db12f-76e9-4ec2-a708-5aa20607dd57' 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-ec238ad4-275a-4509-9d1e-73c30a3d32ed' class='xr-section-summary-in' type='checkbox'  ><label for='section-ec238ad4-275a-4509-9d1e-73c30a3d32ed' 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-9a1c3831-4179-47c5-a773-2ce2fc90b17c' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-9a1c3831-4179-47c5-a773-2ce2fc90b17c' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-b218596e-b849-4ba4-ae28-54aff9a9a2f2' class='xr-var-data-in' type='checkbox'><label for='data-b218596e-b849-4ba4-ae28-54aff9a9a2f2' 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.0072 , 127.02126, 127.03516, ..., 164.64592, 164.6598 ,\n",
       "       164.67369], 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-22746881-afbc-444d-ad91-f9a85b373dce' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-22746881-afbc-444d-ad91-f9a85b373dce' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-23758d8c-63e0-438f-9fcb-56059b539843' class='xr-var-data-in' type='checkbox'><label for='data-23758d8c-63e0-438f-9fcb-56059b539843' 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-81bcfd51-69a6-41e5-84ae-39d6549e2cf9' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-81bcfd51-69a6-41e5-84ae-39d6549e2cf9' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-5d24b69e-b054-492d-b7d6-f95dfd6b8f3c' class='xr-var-data-in' type='checkbox'><label for='data-5d24b69e-b054-492d-b7d6-f95dfd6b8f3c' 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-8c916d9a-62a8-4965-8cd8-5ceb8a51e513' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-8c916d9a-62a8-4965-8cd8-5ceb8a51e513' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-a74f4506-639b-4ee8-b200-0fb7804d61e0' class='xr-var-data-in' type='checkbox'><label for='data-a74f4506-639b-4ee8-b200-0fb7804d61e0' 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 1 1 1 2 ... 14 14 15 15 15 16</div><input id='attrs-8e752ec1-d9e7-4557-a74e-19536fdddf9a' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-8e752ec1-d9e7-4557-a74e-19536fdddf9a' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-ef506819-1c9b-46d7-9a6a-c5a08666028c' class='xr-var-data-in' type='checkbox'><label for='data-ef506819-1c9b-46d7-9a6a-c5a08666028c' 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, ..., 15, 15, 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'>10 30 50 10 30 ... 50 10 30 50 10</div><input id='attrs-3e519d28-6fed-4ba8-8745-2183f24ae734' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-3e519d28-6fed-4ba8-8745-2183f24ae734' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-10a487fd-a0e2-4495-aab1-5ecf13f402d4' class='xr-var-data-in' type='checkbox'><label for='data-10a487fd-a0e2-4495-aab1-5ecf13f402d4' 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([10, 30, 50, ..., 30, 50, 10], 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'>22 37 37 37 37 37 ... 7 7 7 7 7 7</div><input id='attrs-5b9130c2-ef3f-4a19-9823-06ab75a6d025' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-5b9130c2-ef3f-4a19-9823-06ab75a6d025' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-18ebf488-bc4c-4bc5-8eae-37584ae45c17' class='xr-var-data-in' type='checkbox'><label for='data-18ebf488-bc4c-4bc5-8eae-37584ae45c17' 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([22, 37, 37, ...,  7,  7,  7], 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-3078d9d9-24fb-402f-8e45-dac81614bd97' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-3078d9d9-24fb-402f-8e45-dac81614bd97' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-321231a1-a422-43ee-ba5a-cfa1ce4b0849' class='xr-var-data-in' type='checkbox'><label for='data-321231a1-a422-43ee-ba5a-cfa1ce4b0849' 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",
       "      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-6a2fb53a-b3e1-477d-9157-7f7cedd693f6' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-6a2fb53a-b3e1-477d-9157-7f7cedd693f6' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-f1b13da4-9e2f-4789-a929-8afbbb87bc5a' class='xr-var-data-in' type='checkbox'><label for='data-f1b13da4-9e2f-4789-a929-8afbbb87bc5a' 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",
       "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-47a93c8e-1c1d-47c8-be30-6d490780e6f1' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-47a93c8e-1c1d-47c8-be30-6d490780e6f1' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-5489a621-0013-43e8-a8b5-c293299cd1ab' class='xr-var-data-in' type='checkbox'><label for='data-5489a621-0013-43e8-a8b5-c293299cd1ab' 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-37918ffb-2c4b-406d-a1a8-095eb3773454' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-37918ffb-2c4b-406d-a1a8-095eb3773454' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-bd472c4e-3a0b-47e1-8bc1-d7ce1ed64967' class='xr-var-data-in' type='checkbox'><label for='data-bd472c4e-3a0b-47e1-8bc1-d7ce1ed64967' 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'>783.5 938.3 nan ... 411.8 nan nan</div><input id='attrs-72d149b8-8aa0-4766-9e43-6321d263ef73' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-72d149b8-8aa0-4766-9e43-6321d263ef73' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-adda3c4f-5163-4f74-8b79-4dc7426a5a42' class='xr-var-data-in' type='checkbox'><label for='data-adda3c4f-5163-4f74-8b79-4dc7426a5a42' 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([[ 783.53656,  938.3333 ,        nan],\n",
       "       [ 709.75   ,  971.9231 , 1180.     ],\n",
       "       [ 677.25   ,  851.6667 , 1135.     ],\n",
       "       ...,\n",
       "       [ 255.25   ,  470.45456,        nan],\n",
       "       [ 596.5    ,  755.     ,        nan],\n",
       "       [ 411.75   ,        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'>7.0 8.0 0.0 0.0 ... 0.0 0.0 0.0 0.0</div><input id='attrs-721b08f2-de6c-41bd-b5eb-571d309bf65a' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-721b08f2-de6c-41bd-b5eb-571d309bf65a' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-581def9f-3516-4d1b-8284-f0e4f70d8785' class='xr-var-data-in' type='checkbox'><label for='data-581def9f-3516-4d1b-8284-f0e4f70d8785' 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([[7., 8., 0., 0., 0.],\n",
       "       [8., 0., 0., 0., 0.],\n",
       "       [8., 0., 0., 0., 0.],\n",
       "       ...,\n",
       "       [8., 0., 0., 0., 0.],\n",
       "       [8., 0., 0., 0., 0.],\n",
       "       [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'>725.0 1.525e+03 nan ... nan nan nan</div><input id='attrs-58593bd7-06c4-4a1b-abfd-5c8bde7ee87c' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-58593bd7-06c4-4a1b-abfd-5c8bde7ee87c' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-58f9031a-a32a-43e5-a9b5-cb4d2d3326a4' class='xr-var-data-in' type='checkbox'><label for='data-58f9031a-a32a-43e5-a9b5-cb4d2d3326a4' 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([[ 725., 1525.,   nan,   nan,   nan],\n",
       "       [ 655.,   nan,   nan,   nan,   nan],\n",
       "       [ 585.,   nan,   nan,   nan,   nan],\n",
       "       ...,\n",
       "       [ 155.,   nan,   nan,   nan,   nan],\n",
       "       [ 235.,   nan,   nan,   nan,   nan],\n",
       "       [ 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.0005729 0.0004571 ... -0.0003775</div><input id='attrs-96012a65-865f-494c-9765-81b9a1a5c4ca' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-96012a65-865f-494c-9765-81b9a1a5c4ca' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-6dc18bb6-25fc-4353-b06d-864dd60e4c95' class='xr-var-data-in' type='checkbox'><label for='data-6dc18bb6-25fc-4353-b06d-864dd60e4c95' 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([[ 5.7292683e-04,  4.5707318e-04,  4.5439025e-04, ...,\n",
       "         9.9268291e-05,  3.9487804e-04,  4.8731707e-04],\n",
       "       [ 1.5730000e-03,  1.4250000e-03,  1.4587500e-03, ...,\n",
       "        -4.4500001e-05, -7.3224999e-04, -5.9900002e-04],\n",
       "       [ 1.4905750e-02,  8.1692496e-03,  9.2337504e-03, ...,\n",
       "        -1.0550000e-04, -2.7724999e-04,  6.9250003e-05],\n",
       "       ...,\n",
       "       [ 2.8947501e-03,  3.6892500e-03,  4.4765002e-03, ...,\n",
       "         2.6700000e-04,  7.8499998e-04,  3.2774999e-04],\n",
       "       [ 3.1457499e-03,  2.5472499e-03,  3.0722499e-03, ...,\n",
       "        -6.9825002e-04, -1.0052500e-03, -8.0824998e-04],\n",
       "       [ 1.5090750e-02,  9.6795000e-03,  1.4006000e-02, ...,\n",
       "        -2.8924999e-04,  1.2325001e-04, -3.7749999e-04]], dtype=float32)</pre></div></li></ul></div></li><li class='xr-section-item'><input id='section-86683f8c-5302-4e41-bdf2-991b861c6427' class='xr-section-summary-in' type='checkbox'  ><label for='section-86683f8c-5302-4e41-bdf2-991b861c6427' 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 20min 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:10:22</dd><dt><span>time_coverage_end :</span></dt><dd>2023-06-13T16:10:07</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 20 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: 2713)\n",
       "Coordinates:\n",
       "  * time                          (time) datetime64[ns] 2023-05-07T00:10:22.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 1 1 1 ... 14 14 15 15 15 16\n",
       "    minute                        (time) int32 10 30 50 10 30 ... 50 10 30 50 10\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 783.5 ... nan\n",
       "    sky_condition_cloud_fraction  (time, sky_condition_layer) float32 7.0 ......\n",
       "    sky_condition_cloud_altitude  (time, sky_condition_layer) float32 725.0 ....\n",
       "    backscatter_profile           (time, range_levels) float32 0.0005729 ... ...\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:10:22\n",
       "    time_coverage_end:                     2023-06-13T16:10:07\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 20 min avera..."
      ]
     },
     "execution_count": 77,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ds_all"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 78,
   "metadata": {},
   "outputs": [],
   "source": [
    "#save to netCDF\n",
    "ds_all.to_netcdf(load_data + 'CL31_ceilometer_ARTofMELT_20230507_20230613_20min_v01.nc')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 79,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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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",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}