diff --git a/docs/pangeo/xarray_introduction.ipynb b/docs/pangeo/xarray_introduction.ipynb old mode 100755 new mode 100644 index a47e588..8984f62 --- a/docs/pangeo/xarray_introduction.ipynb +++ b/docs/pangeo/xarray_introduction.ipynb @@ -64,15 +64,37 @@ "source": [ "## Context\n", "\n", - "We will be using the [Pangeo](https://pangeo.io/) open-source software stack for visualizing the near-surface temperature and computing time averaged values (such as seasonal mean and other statistics).\n", + "We will be using the [Pangeo](https://pangeo.io/) open-source software stack for visualizing the Particle Matter < 2.5 μm and computing time averaged values (such as daily mean and other statistics).\n", "\n", "### Data\n", "\n", - "In this episode, we will use [CMIP6](https://www.wcrp-climate.org/wgcm-cmip/wgcm-cmip6) data.\n", + "We will be using data from [Copernicus Atmosphere Monitoring Service](https://ads.atmosphere.copernicus.eu/)\n", + "and more precisely PM2.5 ([Particle Matter < 2.5 μm](https://en.wikipedia.org/wiki/Particulates#Size,_shape_and_solubility_matter)) 4 days forecast from December, 22 2021.\n", "\n", - "This dataset can be discovered through the [CMIP6 online catalog](https://pangeo-data.github.io/pangeo-cmip6-cloud/) or from [ESGF](https://esgf.llnl.gov/).\n", - "\n", - "The same dataset can also be downloaded from [Zenodo](https://zenodo.org/): [Near-surface Temperature from CMIP6 NCAR CESM2 historical monthly dataset for CLIVAR CMIP6 Bootcamp](https://zenodo.org/record/7181714/files/CMIP6_NCAR_CESM2_historical_amon_gn.nc)." + "The dataset can be downloaded from [Zenodo](https://zenodo.org/): [PM2.5 4 days forecast from December, 22 2020 retrieved from Copernicus Monitoring Service](https://zenodo.org/records/5805953)." + ] + }, + { + "cell_type": "markdown", + "id": "6d69e8e9-5e58-460b-bb67-be18fd5cfd08", + "metadata": {}, + "source": [ + "
\n", + "
Comment: Remark
\n", + "

This tutorial uses data on a regular latitude-longitude grid. More complex and irregular grids are not discussed in this tutorial. In addition,\n", + "this tutorial is not meant to cover all the different possibilities offered by Xarrays but shows functionalities we find useful for day to day\n", + "analysis.

\n", + "
\n", + "
\n", + "
Agenda
\n", + "

In this tutorial, we will cover:

\n", + "
    \n", + "
  1. Analysis
      \n", + "
    1. Import Python packages
    2. \n", + "
    \n", + "
  2. \n", + "
\n", + "
" ] }, { @@ -87,6 +109,7 @@ "- xarray {cite:ps}`a-xarray-hoyer2017` with [`netCDF4`](https://pypi.org/project/h5netcdf/) and [`h5netcdf`](https://pypi.org/project/h5netcdf/) engines\n", "- pooch {cite:ps}`a-pooch-Uieda2020`\n", "- numpy {cite:ps}`a-numpy-harris2020`\n", + "- cmcrameri {cite:ps}`a-cmcrameri-crameri2018`\n", "\n", "Please install these packages if they are not already available in your Python environment (see [Setup page](https://pangeo-data.github.io/foss4g-2022/before/setup.html)).\n", "\n", @@ -98,6 +121,36 @@ { "cell_type": "code", "execution_count": 1, + "id": "dfb32910-f236-4d50-88e0-70871bba51e6", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Requirement already satisfied: cmcrameri in /srv/conda/envs/notebook/lib/python3.11/site-packages (1.9)\n", + "Requirement already satisfied: matplotlib in /srv/conda/envs/notebook/lib/python3.11/site-packages (from cmcrameri) (3.8.2)\n", + "Requirement already satisfied: numpy in /srv/conda/envs/notebook/lib/python3.11/site-packages (from cmcrameri) (1.26.2)\n", + "Requirement already satisfied: packaging in /srv/conda/envs/notebook/lib/python3.11/site-packages (from cmcrameri) (23.2)\n", + "Requirement already satisfied: contourpy>=1.0.1 in /srv/conda/envs/notebook/lib/python3.11/site-packages (from matplotlib->cmcrameri) (1.2.0)\n", + "Requirement already satisfied: cycler>=0.10 in /srv/conda/envs/notebook/lib/python3.11/site-packages (from matplotlib->cmcrameri) (0.12.1)\n", + "Requirement already satisfied: fonttools>=4.22.0 in /srv/conda/envs/notebook/lib/python3.11/site-packages (from matplotlib->cmcrameri) (4.46.0)\n", + "Requirement already satisfied: kiwisolver>=1.3.1 in /srv/conda/envs/notebook/lib/python3.11/site-packages (from matplotlib->cmcrameri) (1.4.5)\n", + "Requirement already satisfied: pillow>=8 in /srv/conda/envs/notebook/lib/python3.11/site-packages (from matplotlib->cmcrameri) (10.1.0)\n", + "Requirement already satisfied: pyparsing>=2.3.1 in /srv/conda/envs/notebook/lib/python3.11/site-packages (from matplotlib->cmcrameri) (3.1.1)\n", + "Requirement already satisfied: python-dateutil>=2.7 in /srv/conda/envs/notebook/lib/python3.11/site-packages (from matplotlib->cmcrameri) (2.8.2)\n", + "Requirement already satisfied: six>=1.5 in /srv/conda/envs/notebook/lib/python3.11/site-packages (from python-dateutil>=2.7->matplotlib->cmcrameri) (1.16.0)\n", + "Note: you may need to restart the kernel to use updated packages.\n" + ] + } + ], + "source": [ + "pip install cmcrameri" + ] + }, + { + "cell_type": "code", + "execution_count": 2, "id": "51c76db6-f5aa-40eb-97f1-2df7cde50e83", "metadata": {}, "outputs": [], @@ -119,7 +172,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 3, "id": "08ba3f1d-71ea-42ec-904f-dc2452640590", "metadata": {}, "outputs": [], @@ -129,7 +182,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 4, "id": "f247c3cd-7f19-43c8-b721-6b159f401379", "metadata": { "tags": [ @@ -138,9 +191,9 @@ }, "outputs": [], "source": [ - "tas_file = pooch.retrieve(\n", - " url=\"https://zenodo.org/record/7181714/files/CMIP6_NCAR_CESM2_historical_amon_gn.nc\",\n", - " known_hash=\"md5:5f86251e5bc5ef9b86a3a86cd06a536b\",\n", + "cams_file = pooch.retrieve(\n", + " url=\"https://zenodo.org/record/5805953/files/CAMS-PM2_5-20211222.netcdf\",\n", + " known_hash=\"md5:c4a6bb0a5a5640fc8de2ae6f377932fc\",\n", " path=f\".\",\n", ")" ] @@ -155,12 +208,12 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 5, "id": "6974bdbf-f874-4b0d-bb9b-13a0161af3b0", "metadata": {}, "outputs": [], "source": [ - "tas_ds = xr.open_dataset(tas_file)" + "cams = xr.open_dataset(cams_file)" ] }, { @@ -179,13 +232,13 @@ "metadata": {}, "source": [ ":::{tip}\n", - "If you get an error with the previous command, first check the location of the input file some_hash-CMIP6_NCAR_CESM2_historical_amon_gn.nc: it should have been downloaded in the same directory as your Jupyter Notebook.\n", + "If you get an error with the previous command, first check the location of the input file some_hash-CAMS-PM2_5-20211222.netcdf: it should have been downloaded in the same directory as your Jupyter Notebook.\n", ":::" ] }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 6, "id": "098a2be0", "metadata": {}, "outputs": [ @@ -453,6 +506,11 @@ " grid-column: 4;\n", "}\n", "\n", + ".xr-index-preview {\n", + " grid-column: 2 / 5;\n", + " color: var(--xr-font-color2);\n", + "}\n", + "\n", ".xr-var-name,\n", ".xr-var-dims,\n", ".xr-var-dtype,\n", @@ -474,14 +532,16 @@ "}\n", "\n", ".xr-var-attrs,\n", - ".xr-var-data {\n", + ".xr-var-data,\n", + ".xr-index-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", + ".xr-var-data-in:checked ~ .xr-var-data,\n", + ".xr-index-data-in:checked ~ .xr-index-data {\n", " display: block;\n", "}\n", "\n", @@ -491,13 +551,16 @@ "\n", ".xr-var-name span,\n", ".xr-var-data,\n", + ".xr-index-name div,\n", + ".xr-index-data,\n", ".xr-attrs {\n", " padding-left: 25px !important;\n", "}\n", "\n", ".xr-attrs,\n", ".xr-var-attrs,\n", - ".xr-var-data {\n", + ".xr-var-data,\n", + ".xr-index-data {\n", " grid-column: 1 / -1;\n", "}\n", "\n", @@ -535,7 +598,8 @@ "}\n", "\n", ".xr-icon-database,\n", - ".xr-icon-file-text2 {\n", + ".xr-icon-file-text2,\n", + ".xr-no-icon {\n", " display: inline-block;\n", " vertical-align: middle;\n", " width: 1em;\n", @@ -545,134 +609,125 @@ " fill: currentColor;\n", "}\n", "
<xarray.Dataset>\n",
-       "Dimensions:    (lat: 192, nbnd: 2, lon: 288, member_id: 1, time: 1980)\n",
+       "Dimensions:     (longitude: 700, latitude: 400, level: 1, time: 97)\n",
        "Coordinates:\n",
-       "  * lat        (lat) float64 -90.0 -89.06 -88.12 -87.17 ... 88.12 89.06 90.0\n",
-       "    lat_bnds   (lat, nbnd) float32 -90.0 -89.53 -89.53 ... 89.53 89.53 90.0\n",
-       "  * lon        (lon) float64 0.0 1.25 2.5 3.75 5.0 ... 355.0 356.2 357.5 358.8\n",
-       "    lon_bnds   (lon, nbnd) float32 -0.625 0.625 0.625 ... 358.1 358.1 359.4\n",
-       "  * time       (time) object 1850-01-15 12:00:00 ... 2014-12-15 12:00:00\n",
-       "    time_bnds  (time, nbnd) object 1850-01-01 00:00:00 ... 2015-01-01 00:00:00\n",
-       "  * member_id  (member_id) object 'r1i1p1f1'\n",
-       "Dimensions without coordinates: nbnd\n",
+       "  * longitude   (longitude) float32 335.0 335.1 335.2 ... 44.75 44.85 44.95\n",
+       "  * latitude    (latitude) float32 69.95 69.85 69.75 69.65 ... 30.25 30.15 30.05\n",
+       "  * level       (level) float32 0.0\n",
+       "  * time        (time) timedelta64[ns] 00:00:00 01:00:00 ... 4 days 00:00:00\n",
        "Data variables:\n",
-       "    tas        (member_id, time, lat, lon) float32 ...\n",
-       "Attributes: (12/50)\n",
-       "    Conventions:             CF-1.7 CMIP-6.2\n",
-       "    activity_id:             CMIP\n",
-       "    branch_method:           standard\n",
-       "    branch_time_in_child:    674885.0\n",
-       "    branch_time_in_parent:   219000.0\n",
-       "    case_id:                 15\n",
-       "    ...                      ...\n",
-       "    variant_label:           r1i1p1f1\n",
-       "    status:                  2019-10-25;created;by nhn2@columbia.edu\n",
-       "    netcdf_tracking_ids:     hdl:21.14100/d9a7225a-49c3-4470-b7ab-a8180926f839\n",
-       "    version_id:              v20190308\n",
-       "    intake_esm_varname:      tas\n",
-       "    intake_esm_dataset_key:  CMIP.NCAR.CESM2.historical.Amon.gn
" + " pm2p5_conc (time, level, latitude, longitude) float32 ...\n", + "Attributes:\n", + " title: PM25 Air Pollutant FORECAST at the Surface\n", + " institution: Data produced by Meteo France\n", + " source: Data from ENSEMBLE model\n", + " history: Model ENSEMBLE FORECAST\n", + " FORECAST: Europe, 20211222+[0H_96H]\n", + " summary: ENSEMBLE model hourly FORECAST of PM25 concentration at the...\n", + " project: MACC-RAQ (http://macc-raq.gmes-atmosphere.eu)" ], "text/plain": [ "\n", - "Dimensions: (lat: 192, nbnd: 2, lon: 288, member_id: 1, time: 1980)\n", + "Dimensions: (longitude: 700, latitude: 400, level: 1, time: 97)\n", "Coordinates:\n", - " * lat (lat) float64 -90.0 -89.06 -88.12 -87.17 ... 88.12 89.06 90.0\n", - " lat_bnds (lat, nbnd) float32 ...\n", - " * lon (lon) float64 0.0 1.25 2.5 3.75 5.0 ... 355.0 356.2 357.5 358.8\n", - " lon_bnds (lon, nbnd) float32 ...\n", - " * time (time) object 1850-01-15 12:00:00 ... 2014-12-15 12:00:00\n", - " time_bnds (time, nbnd) object ...\n", - " * member_id (member_id) object 'r1i1p1f1'\n", - "Dimensions without coordinates: nbnd\n", + " * longitude (longitude) float32 335.0 335.1 335.2 ... 44.75 44.85 44.95\n", + " * latitude (latitude) float32 69.95 69.85 69.75 69.65 ... 30.25 30.15 30.05\n", + " * level (level) float32 0.0\n", + " * time (time) timedelta64[ns] 00:00:00 01:00:00 ... 4 days 00:00:00\n", "Data variables:\n", - " tas (member_id, time, lat, lon) float32 ...\n", - "Attributes: (12/50)\n", - " Conventions: CF-1.7 CMIP-6.2\n", - " activity_id: CMIP\n", - " branch_method: standard\n", - " branch_time_in_child: 674885.0\n", - " branch_time_in_parent: 219000.0\n", - " case_id: 15\n", - " ... ...\n", - " variant_label: r1i1p1f1\n", - " status: 2019-10-25;created;by nhn2@columbia.edu\n", - " netcdf_tracking_ids: hdl:21.14100/d9a7225a-49c3-4470-b7ab-a8180926f839\n", - " version_id: v20190308\n", - " intake_esm_varname: tas\n", - " intake_esm_dataset_key: CMIP.NCAR.CESM2.historical.Amon.gn" + " pm2p5_conc (time, level, latitude, longitude) float32 ...\n", + "Attributes:\n", + " title: PM25 Air Pollutant FORECAST at the Surface\n", + " institution: Data produced by Meteo France\n", + " source: Data from ENSEMBLE model\n", + " history: Model ENSEMBLE FORECAST\n", + " FORECAST: Europe, 20211222+[0H_96H]\n", + " summary: ENSEMBLE model hourly FORECAST of PM25 concentration at the...\n", + " project: MACC-RAQ (http://macc-raq.gmes-atmosphere.eu)" ] }, - "execution_count": 5, + "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "tas_ds" + "cams" ] }, { @@ -713,7 +768,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 7, "id": "4701e7a9", "metadata": {}, "outputs": [ @@ -981,6 +1036,11 @@ " grid-column: 4;\n", "}\n", "\n", + ".xr-index-preview {\n", + " grid-column: 2 / 5;\n", + " color: var(--xr-font-color2);\n", + "}\n", + "\n", ".xr-var-name,\n", ".xr-var-dims,\n", ".xr-var-dtype,\n", @@ -1002,14 +1062,16 @@ "}\n", "\n", ".xr-var-attrs,\n", - ".xr-var-data {\n", + ".xr-var-data,\n", + ".xr-index-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", + ".xr-var-data-in:checked ~ .xr-var-data,\n", + ".xr-index-data-in:checked ~ .xr-index-data {\n", " display: block;\n", "}\n", "\n", @@ -1019,13 +1081,16 @@ "\n", ".xr-var-name span,\n", ".xr-var-data,\n", + ".xr-index-name div,\n", + ".xr-index-data,\n", ".xr-attrs {\n", " padding-left: 25px !important;\n", "}\n", "\n", ".xr-attrs,\n", ".xr-var-attrs,\n", - ".xr-var-data {\n", + ".xr-var-data,\n", + ".xr-index-data {\n", " grid-column: 1 / -1;\n", "}\n", "\n", @@ -1063,7 +1128,8 @@ "}\n", "\n", ".xr-icon-database,\n", - ".xr-icon-file-text2 {\n", + ".xr-icon-file-text2,\n", + ".xr-no-icon {\n", " display: inline-block;\n", " vertical-align: middle;\n", " width: 1em;\n", @@ -1072,65 +1138,158 @@ " stroke: currentColor;\n", " fill: currentColor;\n", "}\n", - "
<xarray.DataArray 'time' (time: 1980)>\n",
-       "array([cftime.DatetimeNoLeap(1850, 1, 15, 12, 0, 0, 0, has_year_zero=True),\n",
-       "       cftime.DatetimeNoLeap(1850, 2, 14, 0, 0, 0, 0, has_year_zero=True),\n",
-       "       cftime.DatetimeNoLeap(1850, 3, 15, 12, 0, 0, 0, has_year_zero=True),\n",
-       "       ...,\n",
-       "       cftime.DatetimeNoLeap(2014, 10, 15, 12, 0, 0, 0, has_year_zero=True),\n",
-       "       cftime.DatetimeNoLeap(2014, 11, 15, 0, 0, 0, 0, has_year_zero=True),\n",
-       "       cftime.DatetimeNoLeap(2014, 12, 15, 12, 0, 0, 0, has_year_zero=True)],\n",
-       "      dtype=object)\n",
+       "
<xarray.DataArray 'time' (time: 97)>\n",
+       "array([              0,   3600000000000,   7200000000000,  10800000000000,\n",
+       "        14400000000000,  18000000000000,  21600000000000,  25200000000000,\n",
+       "        28800000000000,  32400000000000,  36000000000000,  39600000000000,\n",
+       "        43200000000000,  46800000000000,  50400000000000,  54000000000000,\n",
+       "        57600000000000,  61200000000000,  64800000000000,  68400000000000,\n",
+       "        72000000000000,  75600000000000,  79200000000000,  82800000000000,\n",
+       "        86400000000000,  90000000000000,  93600000000000,  97200000000000,\n",
+       "       100800000000000, 104400000000000, 108000000000000, 111600000000000,\n",
+       "       115200000000000, 118800000000000, 122400000000000, 126000000000000,\n",
+       "       129600000000000, 133200000000000, 136800000000000, 140400000000000,\n",
+       "       144000000000000, 147600000000000, 151200000000000, 154800000000000,\n",
+       "       158400000000000, 162000000000000, 165600000000000, 169200000000000,\n",
+       "       172800000000000, 176400000000000, 180000000000000, 183600000000000,\n",
+       "       187200000000000, 190800000000000, 194400000000000, 198000000000000,\n",
+       "       201600000000000, 205200000000000, 208800000000000, 212400000000000,\n",
+       "       216000000000000, 219600000000000, 223200000000000, 226800000000000,\n",
+       "       230400000000000, 234000000000000, 237600000000000, 241200000000000,\n",
+       "       244800000000000, 248400000000000, 252000000000000, 255600000000000,\n",
+       "       259200000000000, 262800000000000, 266400000000000, 270000000000000,\n",
+       "       273600000000000, 277200000000000, 280800000000000, 284400000000000,\n",
+       "       288000000000000, 291600000000000, 295200000000000, 298800000000000,\n",
+       "       302400000000000, 306000000000000, 309600000000000, 313200000000000,\n",
+       "       316800000000000, 320400000000000, 324000000000000, 327600000000000,\n",
+       "       331200000000000, 334800000000000, 338400000000000, 342000000000000,\n",
+       "       345600000000000], dtype='timedelta64[ns]')\n",
        "Coordinates:\n",
-       "  * time     (time) object 1850-01-15 12:00:00 ... 2014-12-15 12:00:00\n",
+       "  * time     (time) timedelta64[ns] 00:00:00 01:00:00 ... 4 days 00:00:00\n",
        "Attributes:\n",
-       "    axis:           T\n",
-       "    bounds:         time_bnds\n",
-       "    standard_name:  time\n",
-       "    title:          time\n",
-       "    type:           double
" + " long_name: FORECAST time from 20211222
" ], "text/plain": [ - "\n", - "array([cftime.DatetimeNoLeap(1850, 1, 15, 12, 0, 0, 0, has_year_zero=True),\n", - " cftime.DatetimeNoLeap(1850, 2, 14, 0, 0, 0, 0, has_year_zero=True),\n", - " cftime.DatetimeNoLeap(1850, 3, 15, 12, 0, 0, 0, has_year_zero=True),\n", - " ...,\n", - " cftime.DatetimeNoLeap(2014, 10, 15, 12, 0, 0, 0, has_year_zero=True),\n", - " cftime.DatetimeNoLeap(2014, 11, 15, 0, 0, 0, 0, has_year_zero=True),\n", - " cftime.DatetimeNoLeap(2014, 12, 15, 12, 0, 0, 0, has_year_zero=True)],\n", - " dtype=object)\n", + "\n", + "array([ 0, 3600000000000, 7200000000000, 10800000000000,\n", + " 14400000000000, 18000000000000, 21600000000000, 25200000000000,\n", + " 28800000000000, 32400000000000, 36000000000000, 39600000000000,\n", + " 43200000000000, 46800000000000, 50400000000000, 54000000000000,\n", + " 57600000000000, 61200000000000, 64800000000000, 68400000000000,\n", + " 72000000000000, 75600000000000, 79200000000000, 82800000000000,\n", + " 86400000000000, 90000000000000, 93600000000000, 97200000000000,\n", + " 100800000000000, 104400000000000, 108000000000000, 111600000000000,\n", + " 115200000000000, 118800000000000, 122400000000000, 126000000000000,\n", + " 129600000000000, 133200000000000, 136800000000000, 140400000000000,\n", + " 144000000000000, 147600000000000, 151200000000000, 154800000000000,\n", + " 158400000000000, 162000000000000, 165600000000000, 169200000000000,\n", + " 172800000000000, 176400000000000, 180000000000000, 183600000000000,\n", + " 187200000000000, 190800000000000, 194400000000000, 198000000000000,\n", + " 201600000000000, 205200000000000, 208800000000000, 212400000000000,\n", + " 216000000000000, 219600000000000, 223200000000000, 226800000000000,\n", + " 230400000000000, 234000000000000, 237600000000000, 241200000000000,\n", + " 244800000000000, 248400000000000, 252000000000000, 255600000000000,\n", + " 259200000000000, 262800000000000, 266400000000000, 270000000000000,\n", + " 273600000000000, 277200000000000, 280800000000000, 284400000000000,\n", + " 288000000000000, 291600000000000, 295200000000000, 298800000000000,\n", + " 302400000000000, 306000000000000, 309600000000000, 313200000000000,\n", + " 316800000000000, 320400000000000, 324000000000000, 327600000000000,\n", + " 331200000000000, 334800000000000, 338400000000000, 342000000000000,\n", + " 345600000000000], dtype='timedelta64[ns]')\n", "Coordinates:\n", - " * time (time) object 1850-01-15 12:00:00 ... 2014-12-15 12:00:00\n", + " * time (time) timedelta64[ns] 00:00:00 01:00:00 ... 4 days 00:00:00\n", "Attributes:\n", - " axis: T\n", - " bounds: time_bnds\n", - " standard_name: time\n", - " title: time\n", - " type: double" + " long_name: FORECAST time from 20211222" ] }, - "execution_count": 6, + "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "tas_ds.time" + "cams.time" ] }, { @@ -1138,12 +1297,12 @@ "id": "55cbc2ca", "metadata": {}, "source": [ - "`tas_ds.time` is a one-dimensional `xarray.DataArray` with dates of type `cftime.DatetimeNoLeap`" + "`cams.time` is a one-dimensional `xarray.DataArray` with dates of type `timedelta64[ns]`" ] }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 8, "id": "e9a1e3c4", "metadata": {}, "outputs": [ @@ -1411,6 +1570,11 @@ " grid-column: 4;\n", "}\n", "\n", + ".xr-index-preview {\n", + " grid-column: 2 / 5;\n", + " color: var(--xr-font-color2);\n", + "}\n", + "\n", ".xr-var-name,\n", ".xr-var-dims,\n", ".xr-var-dtype,\n", @@ -1432,14 +1596,16 @@ "}\n", "\n", ".xr-var-attrs,\n", - ".xr-var-data {\n", + ".xr-var-data,\n", + ".xr-index-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", + ".xr-var-data-in:checked ~ .xr-var-data,\n", + ".xr-index-data-in:checked ~ .xr-index-data {\n", " display: block;\n", "}\n", "\n", @@ -1449,13 +1615,16 @@ "\n", ".xr-var-name span,\n", ".xr-var-data,\n", + ".xr-index-name div,\n", + ".xr-index-data,\n", ".xr-attrs {\n", " padding-left: 25px !important;\n", "}\n", "\n", ".xr-attrs,\n", ".xr-var-attrs,\n", - ".xr-var-data {\n", + ".xr-var-data,\n", + ".xr-index-data {\n", " grid-column: 1 / -1;\n", "}\n", "\n", @@ -1493,7 +1662,8 @@ "}\n", "\n", ".xr-icon-database,\n", - ".xr-icon-file-text2 {\n", + ".xr-icon-file-text2,\n", + ".xr-no-icon {\n", " display: inline-block;\n", " vertical-align: middle;\n", " width: 1em;\n", @@ -1502,109 +1672,118 @@ " stroke: currentColor;\n", " fill: currentColor;\n", "}\n", - "
<xarray.DataArray 'tas' (member_id: 1, time: 1980, lat: 192, lon: 288)>\n",
-       "[109486080 values with dtype=float32]\n",
+       "
<xarray.DataArray 'pm2p5_conc' (time: 97, level: 1, latitude: 400,\n",
+       "                                longitude: 700)>\n",
+       "[27160000 values with dtype=float32]\n",
        "Coordinates:\n",
-       "  * lat        (lat) float64 -90.0 -89.06 -88.12 -87.17 ... 88.12 89.06 90.0\n",
-       "  * lon        (lon) float64 0.0 1.25 2.5 3.75 5.0 ... 355.0 356.2 357.5 358.8\n",
-       "  * time       (time) object 1850-01-15 12:00:00 ... 2014-12-15 12:00:00\n",
-       "  * member_id  (member_id) object 'r1i1p1f1'\n",
+       "  * longitude  (longitude) float32 335.0 335.1 335.2 335.4 ... 44.75 44.85 44.95\n",
+       "  * latitude   (latitude) float32 69.95 69.85 69.75 69.65 ... 30.25 30.15 30.05\n",
+       "  * level      (level) float32 0.0\n",
+       "  * time       (time) timedelta64[ns] 00:00:00 01:00:00 ... 4 days 00:00:00\n",
        "Attributes:\n",
-       "    cell_measures:  area: areacella\n",
-       "    cell_methods:   area: time: mean\n",
-       "    comment:        near-surface (usually, 2 meter) air temperature\n",
-       "    description:    near-surface (usually, 2 meter) air temperature\n",
-       "    frequency:      mon\n",
-       "    id:             tas\n",
-       "    long_name:      Near-Surface Air Temperature\n",
-       "    mipTable:       Amon\n",
-       "    out_name:       tas\n",
-       "    prov:           Amon ((isd.003))\n",
-       "    realm:          atmos\n",
-       "    standard_name:  air_temperature\n",
-       "    time:           time\n",
-       "    time_label:     time-mean\n",
-       "    time_title:     Temporal mean\n",
-       "    title:          Near-Surface Air Temperature\n",
-       "    type:           real\n",
-       "    units:          K\n",
-       "    variable_id:    tas
" + " species: PM2.5 Aerosol\n", + " units: µg/m3\n", + " value: hourly values\n", + " standard_name: mass_concentration_of_pm2p5_ambient_aerosol_in_air
" ], "text/plain": [ - "\n", - "[109486080 values with dtype=float32]\n", + "\n", + "[27160000 values with dtype=float32]\n", "Coordinates:\n", - " * lat (lat) float64 -90.0 -89.06 -88.12 -87.17 ... 88.12 89.06 90.0\n", - " * lon (lon) float64 0.0 1.25 2.5 3.75 5.0 ... 355.0 356.2 357.5 358.8\n", - " * time (time) object 1850-01-15 12:00:00 ... 2014-12-15 12:00:00\n", - " * member_id (member_id) object 'r1i1p1f1'\n", + " * longitude (longitude) float32 335.0 335.1 335.2 335.4 ... 44.75 44.85 44.95\n", + " * latitude (latitude) float32 69.95 69.85 69.75 69.65 ... 30.25 30.15 30.05\n", + " * level (level) float32 0.0\n", + " * time (time) timedelta64[ns] 00:00:00 01:00:00 ... 4 days 00:00:00\n", "Attributes:\n", - " cell_measures: area: areacella\n", - " cell_methods: area: time: mean\n", - " comment: near-surface (usually, 2 meter) air temperature\n", - " description: near-surface (usually, 2 meter) air temperature\n", - " frequency: mon\n", - " id: tas\n", - " long_name: Near-Surface Air Temperature\n", - " mipTable: Amon\n", - " out_name: tas\n", - " prov: Amon ((isd.003))\n", - " realm: atmos\n", - " standard_name: air_temperature\n", - " time: time\n", - " time_label: time-mean\n", - " time_title: Temporal mean\n", - " title: Near-Surface Air Temperature\n", - " type: real\n", - " units: K\n", - " variable_id: tas" + " species: PM2.5 Aerosol\n", + " units: µg/m3\n", + " value: hourly values\n", + " standard_name: mass_concentration_of_pm2p5_ambient_aerosol_in_air" ] }, - "execution_count": 7, + "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "tas_ds.tas" + "cams.pm2p5_conc" ] }, { @@ -1612,12 +1791,12 @@ "id": "ed915a07", "metadata": {}, "source": [ - "`tas_ds.tas` is a 4-dimensional `xarray.DataArray` with tas values of type `float32`" + "`cams.pm2p5_conc` is a 4-dimensional `xarray.DataArray` with tas values of type `float32`" ] }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 9, "id": "0373cd09", "metadata": {}, "outputs": [ @@ -1885,6 +2064,11 @@ " grid-column: 4;\n", "}\n", "\n", + ".xr-index-preview {\n", + " grid-column: 2 / 5;\n", + " color: var(--xr-font-color2);\n", + "}\n", + "\n", ".xr-var-name,\n", ".xr-var-dims,\n", ".xr-var-dtype,\n", @@ -1906,14 +2090,16 @@ "}\n", "\n", ".xr-var-attrs,\n", - ".xr-var-data {\n", + ".xr-var-data,\n", + ".xr-index-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", + ".xr-var-data-in:checked ~ .xr-var-data,\n", + ".xr-index-data-in:checked ~ .xr-index-data {\n", " display: block;\n", "}\n", "\n", @@ -1923,13 +2109,16 @@ "\n", ".xr-var-name span,\n", ".xr-var-data,\n", + ".xr-index-name div,\n", + ".xr-index-data,\n", ".xr-attrs {\n", " padding-left: 25px !important;\n", "}\n", "\n", ".xr-attrs,\n", ".xr-var-attrs,\n", - ".xr-var-data {\n", + ".xr-var-data,\n", + ".xr-index-data {\n", " grid-column: 1 / -1;\n", "}\n", "\n", @@ -1967,7 +2156,8 @@ "}\n", "\n", ".xr-icon-database,\n", - ".xr-icon-file-text2 {\n", + ".xr-icon-file-text2,\n", + ".xr-no-icon {\n", " display: inline-block;\n", " vertical-align: middle;\n", " width: 1em;\n", @@ -1976,109 +2166,118 @@ " stroke: currentColor;\n", " fill: currentColor;\n", "}\n", - "
<xarray.DataArray 'tas' (member_id: 1, time: 1980, lat: 192, lon: 288)>\n",
-       "[109486080 values with dtype=float32]\n",
+       "
<xarray.DataArray 'pm2p5_conc' (time: 97, level: 1, latitude: 400,\n",
+       "                                longitude: 700)>\n",
+       "[27160000 values with dtype=float32]\n",
        "Coordinates:\n",
-       "  * lat        (lat) float64 -90.0 -89.06 -88.12 -87.17 ... 88.12 89.06 90.0\n",
-       "  * lon        (lon) float64 0.0 1.25 2.5 3.75 5.0 ... 355.0 356.2 357.5 358.8\n",
-       "  * time       (time) object 1850-01-15 12:00:00 ... 2014-12-15 12:00:00\n",
-       "  * member_id  (member_id) object 'r1i1p1f1'\n",
+       "  * longitude  (longitude) float32 335.0 335.1 335.2 335.4 ... 44.75 44.85 44.95\n",
+       "  * latitude   (latitude) float32 69.95 69.85 69.75 69.65 ... 30.25 30.15 30.05\n",
+       "  * level      (level) float32 0.0\n",
+       "  * time       (time) timedelta64[ns] 00:00:00 01:00:00 ... 4 days 00:00:00\n",
        "Attributes:\n",
-       "    cell_measures:  area: areacella\n",
-       "    cell_methods:   area: time: mean\n",
-       "    comment:        near-surface (usually, 2 meter) air temperature\n",
-       "    description:    near-surface (usually, 2 meter) air temperature\n",
-       "    frequency:      mon\n",
-       "    id:             tas\n",
-       "    long_name:      Near-Surface Air Temperature\n",
-       "    mipTable:       Amon\n",
-       "    out_name:       tas\n",
-       "    prov:           Amon ((isd.003))\n",
-       "    realm:          atmos\n",
-       "    standard_name:  air_temperature\n",
-       "    time:           time\n",
-       "    time_label:     time-mean\n",
-       "    time_title:     Temporal mean\n",
-       "    title:          Near-Surface Air Temperature\n",
-       "    type:           real\n",
-       "    units:          K\n",
-       "    variable_id:    tas
" + " species: PM2.5 Aerosol\n", + " units: µg/m3\n", + " value: hourly values\n", + " standard_name: mass_concentration_of_pm2p5_ambient_aerosol_in_air
" ], "text/plain": [ - "\n", - "[109486080 values with dtype=float32]\n", + "\n", + "[27160000 values with dtype=float32]\n", "Coordinates:\n", - " * lat (lat) float64 -90.0 -89.06 -88.12 -87.17 ... 88.12 89.06 90.0\n", - " * lon (lon) float64 0.0 1.25 2.5 3.75 5.0 ... 355.0 356.2 357.5 358.8\n", - " * time (time) object 1850-01-15 12:00:00 ... 2014-12-15 12:00:00\n", - " * member_id (member_id) object 'r1i1p1f1'\n", + " * longitude (longitude) float32 335.0 335.1 335.2 335.4 ... 44.75 44.85 44.95\n", + " * latitude (latitude) float32 69.95 69.85 69.75 69.65 ... 30.25 30.15 30.05\n", + " * level (level) float32 0.0\n", + " * time (time) timedelta64[ns] 00:00:00 01:00:00 ... 4 days 00:00:00\n", "Attributes:\n", - " cell_measures: area: areacella\n", - " cell_methods: area: time: mean\n", - " comment: near-surface (usually, 2 meter) air temperature\n", - " description: near-surface (usually, 2 meter) air temperature\n", - " frequency: mon\n", - " id: tas\n", - " long_name: Near-Surface Air Temperature\n", - " mipTable: Amon\n", - " out_name: tas\n", - " prov: Amon ((isd.003))\n", - " realm: atmos\n", - " standard_name: air_temperature\n", - " time: time\n", - " time_label: time-mean\n", - " time_title: Temporal mean\n", - " title: Near-Surface Air Temperature\n", - " type: real\n", - " units: K\n", - " variable_id: tas" + " species: PM2.5 Aerosol\n", + " units: µg/m3\n", + " value: hourly values\n", + " standard_name: mass_concentration_of_pm2p5_ambient_aerosol_in_air" ] }, - "execution_count": 8, + "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "tas_ds['tas']" + "cams['pm2p5_conc']" ] }, { @@ -2091,41 +2290,26 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 10, "id": "fc8a6cee", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "{'cell_measures': 'area: areacella',\n", - " 'cell_methods': 'area: time: mean',\n", - " 'comment': 'near-surface (usually, 2 meter) air temperature',\n", - " 'description': 'near-surface (usually, 2 meter) air temperature',\n", - " 'frequency': 'mon',\n", - " 'id': 'tas',\n", - " 'long_name': 'Near-Surface Air Temperature',\n", - " 'mipTable': 'Amon',\n", - " 'out_name': 'tas',\n", - " 'prov': 'Amon ((isd.003))',\n", - " 'realm': 'atmos',\n", - " 'standard_name': 'air_temperature',\n", - " 'time': 'time',\n", - " 'time_label': 'time-mean',\n", - " 'time_title': 'Temporal mean',\n", - " 'title': 'Near-Surface Air Temperature',\n", - " 'type': 'real',\n", - " 'units': 'K',\n", - " 'variable_id': 'tas'}" + "{'species': 'PM2.5 Aerosol',\n", + " 'units': 'µg/m3',\n", + " 'value': 'hourly values',\n", + " 'standard_name': 'mass_concentration_of_pm2p5_ambient_aerosol_in_air'}" ] }, - "execution_count": 9, + "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "tas_ds['tas'].attrs" + "cams['pm2p5_conc'].attrs" ] }, { @@ -2145,7 +2329,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 11, "id": "7453de03", "metadata": {}, "outputs": [], @@ -2155,7 +2339,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 12, "id": "0b0c7d85", "metadata": {}, "outputs": [ @@ -2163,117 +2347,123 @@ "name": "stdout", "output_type": "stream", "text": [ - "417.66 MB\n" + "103.61 MB\n" ] } ], "source": [ - "print(f'{np.round(tas_ds.tas.nbytes / 1024**2, 2)} MB') # all the data are automatically loaded into memory as NumpyArray once they are accessed." + "print(f'{np.round(cams.pm2p5_conc.nbytes / 1024**2, 2)} MB') # all the data are automatically loaded into memory as NumpyArray once they are accessed." ] }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 13, "id": "77ae36e2", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "array([[[[245.32208, 245.32208, 245.32208, ..., 245.32208, 245.32208,\n", - " 245.32208],\n", - " [246.10596, 246.06238, 245.9003 , ..., 246.16695, 246.15019,\n", - " 246.12573],\n", - " [246.72545, 246.68094, 246.65623, ..., 246.98813, 246.92969,\n", - " 246.84184],\n", + "array([[[[ 0.42024356, 0.43306175, 0.43306175, ..., 1.1240219 ,\n", + " 1.1100953 , 1.1711167 ],\n", + " [ 0.42376786, 0.42228994, 0.4203146 , ..., 1.0781493 ,\n", + " 1.0713849 , 1.0403484 ],\n", + " [ 0.43263543, 0.42045674, 0.4205562 , ..., 1.0738008 ,\n", + " 1.0674912 , 1.040718 ],\n", " ...,\n", - " [245.5208 , 245.56802, 245.61319, ..., 245.41414, 245.44745,\n", - " 245.47954],\n", - " [245.02821, 245.0406 , 245.05339, ..., 244.98322, 244.99951,\n", - " 245.01454],\n", - " [244.50035, 244.50319, 244.50577, ..., 244.48999, 244.49379,\n", - " 244.49722]],\n", - "\n", - " [[232.51073, 232.51073, 232.51073, ..., 232.51073, 232.51073,\n", - " 232.51073],\n", - " [233.30011, 233.26118, 233.10924, ..., 233.32413, 233.32066,\n", - " 233.31026],\n", - " [233.92563, 233.88283, 233.85846, ..., 234.17664, 234.11632,\n", - " 234.03847],\n", + " [ 4.7686515 , 4.742063 , 4.6856174 , ..., 13.320076 ,\n", + " 13.320076 , 13.320076 ],\n", + " [ 4.760523 , 4.5973964 , 4.596444 , ..., 13.668938 ,\n", + " 13.857061 , 14.004897 ],\n", + " [ 4.7297707 , 4.6450453 , 4.596444 , ..., 13.734294 ,\n", + " 14.114733 , 14.217151 ]]],\n", + "\n", + "\n", + " [[[ 0.422131 , 0.43288863, 0.4367966 , ..., 1.1655718 ,\n", + " 1.1554822 , 1.1033283 ],\n", + " [ 0.42667848, 0.42512947, 0.42289838, ..., 1.1445398 ,\n", + " 1.1299878 , 1.1228825 ],\n", + " [ 0.4322207 , 0.42198887, 0.42232996, ..., 1.1307553 ,\n", + " 1.1097516 , 1.1059716 ],\n", " ...,\n", - " [245.86388, 245.92415, 245.97963, ..., 245.71205, 245.76198,\n", - " 245.80855],\n", - " [244.68976, 244.70775, 244.72629, ..., 244.62375, 244.64677,\n", - " 244.6693 ],\n", - " [243.6899 , 243.6928 , 243.69543, ..., 243.67926, 243.68317,\n", - " 243.68669]],\n", - "\n", - " [[222.20598, 222.20598, 222.20598, ..., 222.20598, 222.20598,\n", - " 222.20598],\n", - " [222.23734, 222.21318, 222.07043, ..., 222.22792, 222.23558,\n", - " 222.23615],\n", - " [222.3999 , 222.37779, 222.3799 , ..., 222.5746 , 222.54118,\n", - " 222.49016],\n", + " [ 4.7942286 , 4.601387 , 4.598602 , ..., 12.46404 ,\n", + " 12.46404 , 12.46404 ],\n", + " [ 4.7004933 , 4.552246 , 4.551919 , ..., 12.46404 ,\n", + " 12.46404 , 12.5137205 ],\n", + " [ 4.7043304 , 4.59161 , 4.551919 , ..., 12.294092 ,\n", + " 12.453936 , 12.902416 ]]],\n", + "\n", + "\n", + " [[[ 0.42609787, 0.43024746, 0.4346244 , ..., 0.9865882 ,\n", + " 1.0178379 , 1.0529956 ],\n", + " [ 0.43139854, 0.4296648 , 0.4271779 , ..., 1.0334556 ,\n", + " 1.0725212 , 1.1076789 ],\n", + " [ 0.42479047, 0.4242931 , 0.42459154, ..., 1.0842452 ,\n", + " 1.1154948 , 1.0923595 ],\n", " ...,\n", - " [241.44699, 241.4681 , 241.48888, ..., 241.39362, 241.41058,\n", - " 241.42757],\n", - " [241.39638, 241.40149, 241.40701, ..., 241.3798 , 241.38524,\n", - " 241.39091],\n", - " [241.28546, 241.28644, 241.28732, ..., 241.28188, 241.28319,\n", - " 241.28438]],\n", + " [ 4.7678266 , 4.4651637 , 4.470095 , ..., 11.657135 ,\n", + " 11.657135 , 11.657135 ],\n", + " [ 4.6748877 , 4.4521894 , 4.4522886 , ..., 11.657135 ,\n", + " 11.657135 , 11.706419 ],\n", + " [ 4.6776447 , 4.5542374 , 4.4917097 , ..., 11.611789 ,\n", + " 11.649291 , 12.092002 ]]],\n", + "\n", + "\n", + " ...,\n", "\n", - " ...,\n", "\n", - " [[222.65955, 222.65955, 222.65955, ..., 222.65955, 222.65955,\n", - " 222.65955],\n", - " [223.17786, 223.1481 , 222.999 , ..., 223.18616, 223.18697,\n", - " 223.1821 ],\n", - " [223.68939, 223.66087, 223.65277, ..., 223.88887, 223.84923,\n", - " 223.78758],\n", + " [[[ 0.57321995, 0.5810359 , 0.5888377 , ..., 2.7216597 ,\n", + " 2.784159 , 2.85446 ],\n", + " [ 0.50000566, 0.50000566, 0.50000566, ..., 2.7450933 ,\n", + " 2.8075926 , 2.8935256 ],\n", + " [ 0.50000566, 0.50000566, 0.50000566, ..., 2.6435282 ,\n", + " 2.6982117 , 2.768527 ],\n", " ...,\n", - " [262.78552, 262.78598, 262.78644, ..., 262.79495, 262.7911 ,\n", - " 262.78812],\n", - " [262.48917, 262.49615, 262.50452, ..., 262.46664, 262.47482,\n", - " 262.48215],\n", - " [262.74307, 262.74222, 262.74146, ..., 262.74615, 262.74503,\n", - " 262.744 ]],\n", - "\n", - " [[234.63194, 234.63194, 234.63194, ..., 234.63194, 234.63194,\n", - " 234.63194],\n", - " [235.37543, 235.35039, 235.20912, ..., 235.37708, 235.38136,\n", - " 235.37898],\n", - " [235.88983, 235.86728, 235.86705, ..., 236.05313, 236.024 ,\n", - " 235.97372],\n", + " [ 4.0881042 , 3.9690316 , 4.1219263 , ..., 8.822366 ,\n", + " 8.876935 , 8.929686 ],\n", + " [ 4.15535 , 4.363454 , 4.3675466 , ..., 9.40069 ,\n", + " 9.604076 , 9.632611 ],\n", + " [ 4.3675466 , 4.3675466 , 4.3675466 , ..., 9.696504 ,\n", + " 10.013576 , 10.074853 ]]],\n", + "\n", + "\n", + " [[[ 0.50926936, 0.53270304, 0.548335 , ..., 2.743642 ,\n", + " 2.7983253 , 2.8686407 ],\n", + " [ 0.54735446, 0.5316088 , 0.5561367 , ..., 2.751458 ,\n", + " 2.8139575 , 2.8998904 ],\n", + " [ 0.5000039 , 0.5000039 , 0.5000039 , ..., 2.6186433 ,\n", + " 2.6889586 , 2.7670758 ],\n", " ...,\n", - " [256.63867, 256.65723, 256.67355, ..., 256.58252, 256.60062,\n", - " 256.61832],\n", - " [256.5771 , 256.58975, 256.60294, ..., 256.53543, 256.5506 ,\n", - " 256.56418],\n", - " [256.69495, 256.69467, 256.69443, ..., 256.69592, 256.69556,\n", - " 256.69522]],\n", - "\n", - " [[246.79817, 246.79817, 246.79817, ..., 246.79817, 246.79817,\n", - " 246.79817],\n", - " [247.46426, 247.42882, 247.27725, ..., 247.48682, 247.48152,\n", - " 247.47386],\n", - " [247.83315, 247.80038, 247.79907, ..., 248.0393 , 247.99686,\n", - " 247.93326],\n", + " [ 4.012103 , 3.9297085 , 3.8763325 , ..., 7.403509 ,\n", + " 7.445005 , 7.572675 ],\n", + " [ 3.9674525 , 3.9496036 , 3.9531279 , ..., 7.9029355 ,\n", + " 8.055048 , 8.2472925 ],\n", + " [ 3.9531279 , 3.9531279 , 3.9531279 , ..., 8.190677 ,\n", + " 8.524234 , 8.813909 ]]],\n", + "\n", + "\n", + " [[[ 0.500001 , 0.500001 , 0.500001 , ..., 2.7360647 ,\n", + " 2.7907553 , 2.8610635 ],\n", + " [ 0.51731694, 0.51731694, 0.51731694, ..., 2.696999 ,\n", + " 2.7751305 , 2.8610635 ],\n", + " [ 0.500001 , 0.500001 , 0.500001 , ..., 2.5329418 ,\n", + " 2.6266909 , 2.728256 ],\n", " ...,\n", - " [244.97816, 244.99681, 245.01486, ..., 244.93434, 244.94775,\n", - " 244.96184],\n", - " [244.81926, 244.83385, 244.84962, ..., 244.77505, 244.78955,\n", - " 244.80447],\n", - " [245.01997, 245.01904, 245.01822, ..., 245.02338, 245.02213,\n", - " 245.021 ]]]], dtype=float32)" + " [ 3.9130645 , 3.8914356 , 3.8592055 , ..., 6.9082866 ,\n", + " 6.61145 , 6.622023 ],\n", + " [ 3.9357026 , 3.7816854 , 3.7221985 , ..., 7.2744718 ,\n", + " 7.0306134 , 7.076543 ],\n", + " [ 3.9141445 , 3.7201238 , 3.7152212 , ..., 7.353484 ,\n", + " 7.3293824 , 7.501277 ]]]], dtype=float32)" ] }, - "execution_count": 12, + "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "tas_ds.tas.data" + "cams.pm2p5_conc.data" ] }, { @@ -2289,24 +2479,26 @@ "id": "f67b002a", "metadata": {}, "source": [ - "It may be useful to rename variables or coordinates to more common ones. It is usually not necessary for CMIP6 data because coordinate and variable names are fully standardized. CMIP6 data follows [CF-conventions](https://cfconventions.org/). \n", + "It may be useful to rename variables or coordinates to more common ones. It is not always necessary because coordinate and variable names are fully standardized e.g. most netCDF climate and forecast data follow [CF-conventions](https://cfconventions.org/). \n", "\n", - "We will however show you how you can rename coordinates and/or variables and revert back our change." + "CAMS data do not fully follow CF-Conventions.\n", + "\n", + "We will therefore show you how you can rename coordinates and/or variables and revert back our change." ] }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 14, "id": "ec650690", "metadata": {}, "outputs": [], "source": [ - "tas_ds = tas_ds.rename(lon='longitude', lat='latitude')" + "cams = cams.rename(longitude='lon', latitude='lat')" ] }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 15, "id": "5ca93e2e", "metadata": {}, "outputs": [ @@ -2574,6 +2766,11 @@ " grid-column: 4;\n", "}\n", "\n", + ".xr-index-preview {\n", + " grid-column: 2 / 5;\n", + " color: var(--xr-font-color2);\n", + "}\n", + "\n", ".xr-var-name,\n", ".xr-var-dims,\n", ".xr-var-dtype,\n", @@ -2595,14 +2792,16 @@ "}\n", "\n", ".xr-var-attrs,\n", - ".xr-var-data {\n", + ".xr-var-data,\n", + ".xr-index-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", + ".xr-var-data-in:checked ~ .xr-var-data,\n", + ".xr-index-data-in:checked ~ .xr-index-data {\n", " display: block;\n", "}\n", "\n", @@ -2612,13 +2811,16 @@ "\n", ".xr-var-name span,\n", ".xr-var-data,\n", + ".xr-index-name div,\n", + ".xr-index-data,\n", ".xr-attrs {\n", " padding-left: 25px !important;\n", "}\n", "\n", ".xr-attrs,\n", ".xr-var-attrs,\n", - ".xr-var-data {\n", + ".xr-var-data,\n", + ".xr-index-data {\n", " grid-column: 1 / -1;\n", "}\n", "\n", @@ -2656,7 +2858,8 @@ "}\n", "\n", ".xr-icon-database,\n", - ".xr-icon-file-text2 {\n", + ".xr-icon-file-text2,\n", + ".xr-no-icon {\n", " display: inline-block;\n", " vertical-align: middle;\n", " width: 1em;\n", @@ -2666,166 +2869,169 @@ " fill: currentColor;\n", "}\n", "
<xarray.Dataset>\n",
-       "Dimensions:    (latitude: 192, nbnd: 2, longitude: 288, member_id: 1, time: 1980)\n",
+       "Dimensions:     (lon: 700, lat: 400, level: 1, time: 97)\n",
        "Coordinates:\n",
-       "  * latitude   (latitude) float64 -90.0 -89.06 -88.12 ... 88.12 89.06 90.0\n",
-       "    lat_bnds   (latitude, nbnd) float32 -90.0 -89.53 -89.53 ... 89.53 89.53 90.0\n",
-       "  * longitude  (longitude) float64 0.0 1.25 2.5 3.75 ... 355.0 356.2 357.5 358.8\n",
-       "    lon_bnds   (longitude, nbnd) float32 -0.625 0.625 0.625 ... 358.1 359.4\n",
-       "  * time       (time) object 1850-01-15 12:00:00 ... 2014-12-15 12:00:00\n",
-       "    time_bnds  (time, nbnd) object 1850-01-01 00:00:00 ... 2015-01-01 00:00:00\n",
-       "  * member_id  (member_id) object 'r1i1p1f1'\n",
-       "Dimensions without coordinates: nbnd\n",
+       "  * lon         (lon) float32 335.0 335.1 335.2 335.4 ... 44.75 44.85 44.95\n",
+       "  * lat         (lat) float32 69.95 69.85 69.75 69.65 ... 30.25 30.15 30.05\n",
+       "  * level       (level) float32 0.0\n",
+       "  * time        (time) timedelta64[ns] 00:00:00 01:00:00 ... 4 days 00:00:00\n",
        "Data variables:\n",
-       "    tas        (member_id, time, latitude, longitude) float32 245.3 ... 245.0\n",
-       "Attributes: (12/50)\n",
-       "    Conventions:             CF-1.7 CMIP-6.2\n",
-       "    activity_id:             CMIP\n",
-       "    branch_method:           standard\n",
-       "    branch_time_in_child:    674885.0\n",
-       "    branch_time_in_parent:   219000.0\n",
-       "    case_id:                 15\n",
-       "    ...                      ...\n",
-       "    variant_label:           r1i1p1f1\n",
-       "    status:                  2019-10-25;created;by nhn2@columbia.edu\n",
-       "    netcdf_tracking_ids:     hdl:21.14100/d9a7225a-49c3-4470-b7ab-a8180926f839\n",
-       "    version_id:              v20190308\n",
-       "    intake_esm_varname:      tas\n",
-       "    intake_esm_dataset_key:  CMIP.NCAR.CESM2.historical.Amon.gn
    • lon
      PandasIndex
      PandasIndex(Index([335.04998779296875,  335.1499938964844,             335.25,\n",
      +       "        335.3500061035156, 335.45001220703125, 335.54998779296875,\n",
      +       "        335.6499938964844,             335.75,  335.8500061035156,\n",
      +       "       335.95001220703125,\n",
      +       "       ...\n",
      +       "        44.04999923706055, 44.150001525878906,              44.25,\n",
      +       "       44.349998474121094,  44.45000076293945,  44.54999923706055,\n",
      +       "       44.650001525878906,              44.75, 44.849998474121094,\n",
      +       "        44.95000076293945],\n",
      +       "      dtype='float32', name='lon', length=700))
    • lat
      PandasIndex
      PandasIndex(Index([ 69.94999694824219,   69.8499984741211,              69.75,\n",
      +       "         69.6500015258789,  69.55000305175781,  69.44999694824219,\n",
      +       "         69.3499984741211,              69.25,   69.1500015258789,\n",
      +       "        69.05000305175781,\n",
      +       "       ...\n",
      +       "       30.950000762939453, 30.850000381469727,              30.75,\n",
      +       "       30.649999618530273, 30.549999237060547, 30.450000762939453,\n",
      +       "       30.350000381469727,              30.25, 30.149999618530273,\n",
      +       "       30.049999237060547],\n",
      +       "      dtype='float32', name='lat', length=400))
    • level
      PandasIndex
      PandasIndex(Index([0.0], dtype='float32', name='level'))
    • time
      PandasIndex
      PandasIndex(TimedeltaIndex(['0 days 00:00:00', '0 days 01:00:00', '0 days 02:00:00',\n",
      +       "                '0 days 03:00:00', '0 days 04:00:00', '0 days 05:00:00',\n",
      +       "                '0 days 06:00:00', '0 days 07:00:00', '0 days 08:00:00',\n",
      +       "                '0 days 09:00:00', '0 days 10:00:00', '0 days 11:00:00',\n",
      +       "                '0 days 12:00:00', '0 days 13:00:00', '0 days 14:00:00',\n",
      +       "                '0 days 15:00:00', '0 days 16:00:00', '0 days 17:00:00',\n",
      +       "                '0 days 18:00:00', '0 days 19:00:00', '0 days 20:00:00',\n",
      +       "                '0 days 21:00:00', '0 days 22:00:00', '0 days 23:00:00',\n",
      +       "                '1 days 00:00:00', '1 days 01:00:00', '1 days 02:00:00',\n",
      +       "                '1 days 03:00:00', '1 days 04:00:00', '1 days 05:00:00',\n",
      +       "                '1 days 06:00:00', '1 days 07:00:00', '1 days 08:00:00',\n",
      +       "                '1 days 09:00:00', '1 days 10:00:00', '1 days 11:00:00',\n",
      +       "                '1 days 12:00:00', '1 days 13:00:00', '1 days 14:00:00',\n",
      +       "                '1 days 15:00:00', '1 days 16:00:00', '1 days 17:00:00',\n",
      +       "                '1 days 18:00:00', '1 days 19:00:00', '1 days 20:00:00',\n",
      +       "                '1 days 21:00:00', '1 days 22:00:00', '1 days 23:00:00',\n",
      +       "                '2 days 00:00:00', '2 days 01:00:00', '2 days 02:00:00',\n",
      +       "                '2 days 03:00:00', '2 days 04:00:00', '2 days 05:00:00',\n",
      +       "                '2 days 06:00:00', '2 days 07:00:00', '2 days 08:00:00',\n",
      +       "                '2 days 09:00:00', '2 days 10:00:00', '2 days 11:00:00',\n",
      +       "                '2 days 12:00:00', '2 days 13:00:00', '2 days 14:00:00',\n",
      +       "                '2 days 15:00:00', '2 days 16:00:00', '2 days 17:00:00',\n",
      +       "                '2 days 18:00:00', '2 days 19:00:00', '2 days 20:00:00',\n",
      +       "                '2 days 21:00:00', '2 days 22:00:00', '2 days 23:00:00',\n",
      +       "                '3 days 00:00:00', '3 days 01:00:00', '3 days 02:00:00',\n",
      +       "                '3 days 03:00:00', '3 days 04:00:00', '3 days 05:00:00',\n",
      +       "                '3 days 06:00:00', '3 days 07:00:00', '3 days 08:00:00',\n",
      +       "                '3 days 09:00:00', '3 days 10:00:00', '3 days 11:00:00',\n",
      +       "                '3 days 12:00:00', '3 days 13:00:00', '3 days 14:00:00',\n",
      +       "                '3 days 15:00:00', '3 days 16:00:00', '3 days 17:00:00',\n",
      +       "                '3 days 18:00:00', '3 days 19:00:00', '3 days 20:00:00',\n",
      +       "                '3 days 21:00:00', '3 days 22:00:00', '3 days 23:00:00',\n",
      +       "                '4 days 00:00:00'],\n",
      +       "               dtype='timedelta64[ns]', name='time', freq=None))
  • title :
    PM25 Air Pollutant FORECAST at the Surface
    institution :
    Data produced by Meteo France
    source :
    Data from ENSEMBLE model
    history :
    Model ENSEMBLE FORECAST
    FORECAST :
    Europe, 20211222+[0H_96H]
    summary :
    ENSEMBLE model hourly FORECAST of PM25 concentration at the Surface from 20211222+[0H_96H] on Europe
    project :
    MACC-RAQ (http://macc-raq.gmes-atmosphere.eu)
  • " ], "text/plain": [ "\n", - "Dimensions: (latitude: 192, nbnd: 2, longitude: 288, member_id: 1, time: 1980)\n", + "Dimensions: (lon: 700, lat: 400, level: 1, time: 97)\n", "Coordinates:\n", - " * latitude (latitude) float64 -90.0 -89.06 -88.12 ... 88.12 89.06 90.0\n", - " lat_bnds (latitude, nbnd) float32 -90.0 -89.53 -89.53 ... 89.53 89.53 90.0\n", - " * longitude (longitude) float64 0.0 1.25 2.5 3.75 ... 355.0 356.2 357.5 358.8\n", - " lon_bnds (longitude, nbnd) float32 -0.625 0.625 0.625 ... 358.1 359.4\n", - " * time (time) object 1850-01-15 12:00:00 ... 2014-12-15 12:00:00\n", - " time_bnds (time, nbnd) object 1850-01-01 00:00:00 ... 2015-01-01 00:00:00\n", - " * member_id (member_id) object 'r1i1p1f1'\n", - "Dimensions without coordinates: nbnd\n", + " * lon (lon) float32 335.0 335.1 335.2 335.4 ... 44.75 44.85 44.95\n", + " * lat (lat) float32 69.95 69.85 69.75 69.65 ... 30.25 30.15 30.05\n", + " * level (level) float32 0.0\n", + " * time (time) timedelta64[ns] 00:00:00 01:00:00 ... 4 days 00:00:00\n", "Data variables:\n", - " tas (member_id, time, latitude, longitude) float32 245.3 ... 245.0\n", - "Attributes: (12/50)\n", - " Conventions: CF-1.7 CMIP-6.2\n", - " activity_id: CMIP\n", - " branch_method: standard\n", - " branch_time_in_child: 674885.0\n", - " branch_time_in_parent: 219000.0\n", - " case_id: 15\n", - " ... ...\n", - " variant_label: r1i1p1f1\n", - " status: 2019-10-25;created;by nhn2@columbia.edu\n", - " netcdf_tracking_ids: hdl:21.14100/d9a7225a-49c3-4470-b7ab-a8180926f839\n", - " version_id: v20190308\n", - " intake_esm_varname: tas\n", - " intake_esm_dataset_key: CMIP.NCAR.CESM2.historical.Amon.gn" + " pm2p5_conc (time, level, lat, lon) float32 0.4202 0.4331 ... 7.329 7.501\n", + "Attributes:\n", + " title: PM25 Air Pollutant FORECAST at the Surface\n", + " institution: Data produced by Meteo France\n", + " source: Data from ENSEMBLE model\n", + " history: Model ENSEMBLE FORECAST\n", + " FORECAST: Europe, 20211222+[0H_96H]\n", + " summary: ENSEMBLE model hourly FORECAST of PM25 concentration at the...\n", + " project: MACC-RAQ (http://macc-raq.gmes-atmosphere.eu)" ] }, - "execution_count": 14, + "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "tas_ds" + "cams" ] }, { "cell_type": "markdown", - "id": "790649d5-4955-4ab6-9425-fefb93f697ae", + "id": "536a807b-5c6c-43e7-8b39-0097909632a6", "metadata": {}, "source": [ - "Now let's revert back our change and rename latitude and longitude to the most common names e.g. 'lat' and 'lon'." + "## Shift longitude from 0,360 to -180,180" ] }, { "cell_type": "code", - "execution_count": 15, - "id": "7cfa51af-b76c-4820-8eb5-9b78ec25170b", + "execution_count": 16, + "id": "33800746-3922-4bcb-8478-446c62cdba7b", "metadata": {}, "outputs": [], "source": [ - "tas_ds = tas_ds.rename(longitude='lon', latitude='lat')" + "cams.coords['lon'] = (cams['lon'] + 180) % 360 - 180" + ] + }, + { + "cell_type": "markdown", + "id": "c28bcd77", + "metadata": {}, + "source": [ + "## Selection methods\n", + "\n", + "As underneath DataArrays are Numpy Array objects (that implement the standard Python x[obj] (x: array, obj: int,slice) syntax). Their data can be accessed through the same approach of numpy indexing." ] }, { "cell_type": "code", - "execution_count": 16, - "id": "b0a0c32d-49f9-4552-8e0c-aefe46014b01", + "execution_count": 17, + "id": "cc3c889d", "metadata": {}, "outputs": [ { @@ -3092,6 +3298,11 @@ " grid-column: 4;\n", "}\n", "\n", + ".xr-index-preview {\n", + " grid-column: 2 / 5;\n", + " color: var(--xr-font-color2);\n", + "}\n", + "\n", ".xr-var-name,\n", ".xr-var-dims,\n", ".xr-var-dtype,\n", @@ -3113,14 +3324,16 @@ "}\n", "\n", ".xr-var-attrs,\n", - ".xr-var-data {\n", + ".xr-var-data,\n", + ".xr-index-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", + ".xr-var-data-in:checked ~ .xr-var-data,\n", + ".xr-index-data-in:checked ~ .xr-index-data {\n", " display: block;\n", "}\n", "\n", @@ -3130,13 +3343,16 @@ "\n", ".xr-var-name span,\n", ".xr-var-data,\n", + ".xr-index-name div,\n", + ".xr-index-data,\n", ".xr-attrs {\n", " padding-left: 25px !important;\n", "}\n", "\n", ".xr-attrs,\n", ".xr-var-attrs,\n", - ".xr-var-data {\n", + ".xr-var-data,\n", + ".xr-index-data {\n", " grid-column: 1 / -1;\n", "}\n", "\n", @@ -3174,7 +3390,8 @@ "}\n", "\n", ".xr-icon-database,\n", - ".xr-icon-file-text2 {\n", + ".xr-icon-file-text2,\n", + ".xr-no-icon {\n", " display: inline-block;\n", " vertical-align: middle;\n", " width: 1em;\n", @@ -3183,159 +3400,55 @@ " stroke: currentColor;\n", " fill: currentColor;\n", "}\n", - "
    <xarray.Dataset>\n",
    -       "Dimensions:    (lat: 192, nbnd: 2, lon: 288, member_id: 1, time: 1980)\n",
    +       "
    <xarray.DataArray 'pm2p5_conc' ()>\n",
    +       "array(2.396931, dtype=float32)\n",
            "Coordinates:\n",
    -       "  * lat        (lat) float64 -90.0 -89.06 -88.12 -87.17 ... 88.12 89.06 90.0\n",
    -       "    lat_bnds   (lat, nbnd) float32 -90.0 -89.53 -89.53 ... 89.53 89.53 90.0\n",
    -       "  * lon        (lon) float64 0.0 1.25 2.5 3.75 5.0 ... 355.0 356.2 357.5 358.8\n",
    -       "    lon_bnds   (lon, nbnd) float32 -0.625 0.625 0.625 ... 358.1 358.1 359.4\n",
    -       "  * time       (time) object 1850-01-15 12:00:00 ... 2014-12-15 12:00:00\n",
    -       "    time_bnds  (time, nbnd) object 1850-01-01 00:00:00 ... 2015-01-01 00:00:00\n",
    -       "  * member_id  (member_id) object 'r1i1p1f1'\n",
    -       "Dimensions without coordinates: nbnd\n",
    -       "Data variables:\n",
    -       "    tas        (member_id, time, lat, lon) float32 245.3 245.3 ... 245.0 245.0\n",
    -       "Attributes: (12/50)\n",
    -       "    Conventions:             CF-1.7 CMIP-6.2\n",
    -       "    activity_id:             CMIP\n",
    -       "    branch_method:           standard\n",
    -       "    branch_time_in_child:    674885.0\n",
    -       "    branch_time_in_parent:   219000.0\n",
    -       "    case_id:                 15\n",
    -       "    ...                      ...\n",
    -       "    variant_label:           r1i1p1f1\n",
    -       "    status:                  2019-10-25;created;by nhn2@columbia.edu\n",
    -       "    netcdf_tracking_ids:     hdl:21.14100/d9a7225a-49c3-4470-b7ab-a8180926f839\n",
    -       "    version_id:              v20190308\n",
    -       "    intake_esm_varname:      tas\n",
    -       "    intake_esm_dataset_key:  CMIP.NCAR.CESM2.historical.Amon.gn
    " + " lat float32 59.95\n", + " level float32 0.0\n", + " time timedelta64[ns] 00:00:00\n", + " lon float32 -14.95\n", + "Attributes:\n", + " species: PM2.5 Aerosol\n", + " units: µg/m3\n", + " value: hourly values\n", + " standard_name: mass_concentration_of_pm2p5_ambient_aerosol_in_air
    " ], "text/plain": [ - "\n", - "Dimensions: (lat: 192, nbnd: 2, lon: 288, member_id: 1, time: 1980)\n", + "\n", + "array(2.396931, dtype=float32)\n", "Coordinates:\n", - " * lat (lat) float64 -90.0 -89.06 -88.12 -87.17 ... 88.12 89.06 90.0\n", - " lat_bnds (lat, nbnd) float32 -90.0 -89.53 -89.53 ... 89.53 89.53 90.0\n", - " * lon (lon) float64 0.0 1.25 2.5 3.75 5.0 ... 355.0 356.2 357.5 358.8\n", - " lon_bnds (lon, nbnd) float32 -0.625 0.625 0.625 ... 358.1 358.1 359.4\n", - " * time (time) object 1850-01-15 12:00:00 ... 2014-12-15 12:00:00\n", - " time_bnds (time, nbnd) object 1850-01-01 00:00:00 ... 2015-01-01 00:00:00\n", - " * member_id (member_id) object 'r1i1p1f1'\n", - "Dimensions without coordinates: nbnd\n", - "Data variables:\n", - " tas (member_id, time, lat, lon) float32 245.3 245.3 ... 245.0 245.0\n", - "Attributes: (12/50)\n", - " Conventions: CF-1.7 CMIP-6.2\n", - " activity_id: CMIP\n", - " branch_method: standard\n", - " branch_time_in_child: 674885.0\n", - " branch_time_in_parent: 219000.0\n", - " case_id: 15\n", - " ... ...\n", - " variant_label: r1i1p1f1\n", - " status: 2019-10-25;created;by nhn2@columbia.edu\n", - " netcdf_tracking_ids: hdl:21.14100/d9a7225a-49c3-4470-b7ab-a8180926f839\n", - " version_id: v20190308\n", - " intake_esm_varname: tas\n", - " intake_esm_dataset_key: CMIP.NCAR.CESM2.historical.Amon.gn" + " lat float32 59.95\n", + " level float32 0.0\n", + " time timedelta64[ns] 00:00:00\n", + " lon float32 -14.95\n", + "Attributes:\n", + " species: PM2.5 Aerosol\n", + " units: µg/m3\n", + " value: hourly values\n", + " standard_name: mass_concentration_of_pm2p5_ambient_aerosol_in_air" ] }, - "execution_count": 16, + "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "tas_ds" + "cams.pm2p5_conc[0,0,100,100]" ] }, { "cell_type": "markdown", - "id": "c28bcd77", + "id": "b2a17eae", "metadata": {}, "source": [ - "## Selection methods\n", - "\n", - "As underneath DataArrays are Numpy Array objects (that implement the standard Python x[obj] (x: array, obj: int,slice) syntax). Their data can be accessed through the same approach of numpy indexing." + "or slicing" ] }, { "cell_type": "code", - "execution_count": 17, - "id": "cc3c889d", + "execution_count": 18, + "id": "aa68d9d8", "metadata": {}, "outputs": [ { @@ -3602,6 +3715,11 @@ " grid-column: 4;\n", "}\n", "\n", + ".xr-index-preview {\n", + " grid-column: 2 / 5;\n", + " color: var(--xr-font-color2);\n", + "}\n", + "\n", ".xr-var-name,\n", ".xr-var-dims,\n", ".xr-var-dtype,\n", @@ -3623,14 +3741,16 @@ "}\n", "\n", ".xr-var-attrs,\n", - ".xr-var-data {\n", + ".xr-var-data,\n", + ".xr-index-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", + ".xr-var-data-in:checked ~ .xr-var-data,\n", + ".xr-index-data-in:checked ~ .xr-index-data {\n", " display: block;\n", "}\n", "\n", @@ -3640,13 +3760,16 @@ "\n", ".xr-var-name span,\n", ".xr-var-data,\n", + ".xr-index-name div,\n", + ".xr-index-data,\n", ".xr-attrs {\n", " padding-left: 25px !important;\n", "}\n", "\n", ".xr-attrs,\n", ".xr-var-attrs,\n", - ".xr-var-data {\n", + ".xr-var-data,\n", + ".xr-index-data {\n", " grid-column: 1 / -1;\n", "}\n", "\n", @@ -3684,7 +3807,8 @@ "}\n", "\n", ".xr-icon-database,\n", - ".xr-icon-file-text2 {\n", + ".xr-icon-file-text2,\n", + ".xr-no-icon {\n", " display: inline-block;\n", " vertical-align: middle;\n", " width: 1em;\n", @@ -3693,86 +3817,154 @@ " stroke: currentColor;\n", " fill: currentColor;\n", "}\n", - "
    <xarray.DataArray 'tas' ()>\n",
    -       "array(300.38446, dtype=float32)\n",
    +       "
    <xarray.DataArray 'pm2p5_conc' (lat: 10, lon: 10)>\n",
    +       "array([[2.396931, 2.40307 , 2.406154, 2.408797, 2.415234, 2.418361, 2.414907,\n",
    +       "        2.408982, 2.398707, 2.388873],\n",
    +       "       [2.175199, 2.175696, 2.172883, 2.173877, 2.177146, 2.17976 , 2.219366,\n",
    +       "        2.337629, 2.281311, 2.306678],\n",
    +       "       [2.153712, 2.11665 , 2.083326, 2.175028, 2.317506, 2.509566, 2.59864 ,\n",
    +       "        2.742937, 2.716505, 2.692815],\n",
    +       "       [2.673005, 2.624574, 2.577082, 2.55173 , 2.527671, 2.507051, 2.495241,\n",
    +       "        2.491348, 2.499505, 2.51255 ],\n",
    +       "       [3.034373, 3.064997, 3.083713, 3.099743, 3.114579, 3.122835, 3.130595,\n",
    +       "        3.134872, 3.066902, 3.080857],\n",
    +       "       [2.827477, 2.889905, 2.940652, 3.008623, 3.070142, 3.122423, 3.16949 ,\n",
    +       "        3.204718, 3.228834, 3.248346],\n",
    +       "       [2.72496 , 2.726921, 2.744543, 2.776133, 2.823825, 2.872682, 2.926299,\n",
    +       "        3.074007, 3.489817, 3.465331],\n",
    +       "       [2.830262, 2.818837, 2.809443, 2.803788, 2.796654, 3.25818 , 3.697267,\n",
    +       "        3.924114, 3.825889, 3.679787],\n",
    +       "       [4.127571, 3.362629, 3.57602 , 3.699882, 3.674302, 3.445621, 3.212406,\n",
    +       "        3.258507, 3.308671, 3.361635],\n",
    +       "       [4.588827, 4.447983, 4.203201, 3.700336, 3.73332 , 3.784365, 3.837968,\n",
    +       "        3.880246, 3.91303 , 3.947676]], dtype=float32)\n",
            "Coordinates:\n",
    -       "    lat        float64 4.241\n",
    -       "    lon        float64 125.0\n",
    -       "    time       object 1850-01-15 12:00:00\n",
    -       "    member_id  <U8 'r1i1p1f1'\n",
    +       "  * lat      (lat) float32 59.95 59.85 59.75 59.65 ... 59.35 59.25 59.15 59.05\n",
    +       "    level    float32 0.0\n",
    +       "    time     timedelta64[ns] 00:00:00\n",
    +       "  * lon      (lon) float32 -14.95 -14.85 -14.75 -14.65 ... -14.25 -14.15 -14.05\n",
            "Attributes:\n",
    -       "    cell_measures:  area: areacella\n",
    -       "    cell_methods:   area: time: mean\n",
    -       "    comment:        near-surface (usually, 2 meter) air temperature\n",
    -       "    description:    near-surface (usually, 2 meter) air temperature\n",
    -       "    frequency:      mon\n",
    -       "    id:             tas\n",
    -       "    long_name:      Near-Surface Air Temperature\n",
    -       "    mipTable:       Amon\n",
    -       "    out_name:       tas\n",
    -       "    prov:           Amon ((isd.003))\n",
    -       "    realm:          atmos\n",
    -       "    standard_name:  air_temperature\n",
    -       "    time:           time\n",
    -       "    time_label:     time-mean\n",
    -       "    time_title:     Temporal mean\n",
    -       "    title:          Near-Surface Air Temperature\n",
    -       "    type:           real\n",
    -       "    units:          K\n",
    -       "    variable_id:    tas
    " + " species: PM2.5 Aerosol\n", + " units: µg/m3\n", + " value: hourly values\n", + " standard_name: mass_concentration_of_pm2p5_ambient_aerosol_in_air
    " ], "text/plain": [ - "\n", - "array(300.38446, dtype=float32)\n", + "\n", + "array([[2.396931, 2.40307 , 2.406154, 2.408797, 2.415234, 2.418361, 2.414907,\n", + " 2.408982, 2.398707, 2.388873],\n", + " [2.175199, 2.175696, 2.172883, 2.173877, 2.177146, 2.17976 , 2.219366,\n", + " 2.337629, 2.281311, 2.306678],\n", + " [2.153712, 2.11665 , 2.083326, 2.175028, 2.317506, 2.509566, 2.59864 ,\n", + " 2.742937, 2.716505, 2.692815],\n", + " [2.673005, 2.624574, 2.577082, 2.55173 , 2.527671, 2.507051, 2.495241,\n", + " 2.491348, 2.499505, 2.51255 ],\n", + " [3.034373, 3.064997, 3.083713, 3.099743, 3.114579, 3.122835, 3.130595,\n", + " 3.134872, 3.066902, 3.080857],\n", + " [2.827477, 2.889905, 2.940652, 3.008623, 3.070142, 3.122423, 3.16949 ,\n", + " 3.204718, 3.228834, 3.248346],\n", + " [2.72496 , 2.726921, 2.744543, 2.776133, 2.823825, 2.872682, 2.926299,\n", + " 3.074007, 3.489817, 3.465331],\n", + " [2.830262, 2.818837, 2.809443, 2.803788, 2.796654, 3.25818 , 3.697267,\n", + " 3.924114, 3.825889, 3.679787],\n", + " [4.127571, 3.362629, 3.57602 , 3.699882, 3.674302, 3.445621, 3.212406,\n", + " 3.258507, 3.308671, 3.361635],\n", + " [4.588827, 4.447983, 4.203201, 3.700336, 3.73332 , 3.784365, 3.837968,\n", + " 3.880246, 3.91303 , 3.947676]], dtype=float32)\n", "Coordinates:\n", - " lat float64 4.241\n", - " lon float64 125.0\n", - " time object 1850-01-15 12:00:00\n", - " member_id selection based on positional index\n", + "- `.sel` -> selection based on coordinate values" + ] + }, + { + "cell_type": "markdown", + "id": "eabe47e9", + "metadata": {}, + "source": [ + "We first check the number of elements in each coordinate of the `pm2p5_conc` Data Variable using the built-in method sizes. Same result can be achieved querying each coordinate using the Python built-in function `len`." ] }, { "cell_type": "code", - "execution_count": 18, - "id": "aa68d9d8", + "execution_count": 19, + "id": "0ff0f183", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Frozen({'time': 97, 'level': 1, 'lat': 400, 'lon': 700})" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "cams.pm2p5_conc.sizes" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "be3fa61d", "metadata": {}, "outputs": [ { @@ -4039,6 +4231,11 @@ " grid-column: 4;\n", "}\n", "\n", + ".xr-index-preview {\n", + " grid-column: 2 / 5;\n", + " color: var(--xr-font-color2);\n", + "}\n", + "\n", ".xr-var-name,\n", ".xr-var-dims,\n", ".xr-var-dtype,\n", @@ -4060,14 +4257,16 @@ "}\n", "\n", ".xr-var-attrs,\n", - ".xr-var-data {\n", + ".xr-var-data,\n", + ".xr-index-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", + ".xr-var-data-in:checked ~ .xr-var-data,\n", + ".xr-index-data-in:checked ~ .xr-index-data {\n", " display: block;\n", "}\n", "\n", @@ -4077,13 +4276,16 @@ "\n", ".xr-var-name span,\n", ".xr-var-data,\n", + ".xr-index-name div,\n", + ".xr-index-data,\n", ".xr-attrs {\n", " padding-left: 25px !important;\n", "}\n", "\n", ".xr-attrs,\n", ".xr-var-attrs,\n", - ".xr-var-data {\n", + ".xr-var-data,\n", + ".xr-index-data {\n", " grid-column: 1 / -1;\n", "}\n", "\n", @@ -4121,7 +4323,8 @@ "}\n", "\n", ".xr-icon-database,\n", - ".xr-icon-file-text2 {\n", + ".xr-icon-file-text2,\n", + ".xr-no-icon {\n", " display: inline-block;\n", " vertical-align: middle;\n", " width: 1em;\n", @@ -4130,196 +4333,55 @@ " stroke: currentColor;\n", " fill: currentColor;\n", "}\n", - "
    <xarray.DataArray 'tas' (time: 5, lat: 10, lon: 10)>\n",
    -       "array([[[300.38446, 300.08688, ..., 300.71   , 300.7822 ],\n",
    -       "        [300.2441 , 299.95798, ..., 300.53357, 300.62396],\n",
    -       "        ...,\n",
    -       "        [297.77292, 298.71323, ..., 299.71173, 299.8677 ],\n",
    -       "        [297.73315, 298.60205, ..., 299.6976 , 299.812  ]],\n",
    -       "\n",
    -       "       [[299.65933, 299.26968, ..., 300.4081 , 300.55255],\n",
    -       "        [299.5267 , 299.12592, ..., 300.40277, 300.5284 ],\n",
    -       "        ...,\n",
    -       "        [297.3739 , 298.0038 , ..., 299.71512, 299.80475],\n",
    -       "        [297.3448 , 297.89917, ..., 299.4545 , 299.56235]],\n",
    -       "\n",
    -       "       ...,\n",
    -       "\n",
    -       "       [[300.5706 , 300.41907, ..., 300.87616, 300.82022],\n",
    -       "        [300.4315 , 300.26505, ..., 300.84323, 300.8234 ],\n",
    -       "        ...,\n",
    -       "        [299.8353 , 299.99384, ..., 300.41165, 300.41684],\n",
    -       "        [299.85242, 299.9631 , ..., 300.28253, 300.27316]],\n",
    -       "\n",
    -       "       [[300.81683, 300.7148 , ..., 301.1554 , 301.1403 ],\n",
    -       "        [300.5332 , 300.56613, ..., 300.99164, 301.0214 ],\n",
    -       "        ...,\n",
    -       "        [300.82352, 300.53986, ..., 300.4276 , 300.4221 ],\n",
    -       "        [300.87964, 300.58102, ..., 300.36655, 300.33893]]], dtype=float32)\n",
    +       "
    <xarray.DataArray 'pm2p5_conc' ()>\n",
    +       "array(2.396931, dtype=float32)\n",
            "Coordinates:\n",
    -       "  * lat        (lat) float64 4.241 5.183 6.126 7.068 ... 9.895 10.84 11.78 12.72\n",
    -       "  * lon        (lon) float64 125.0 126.2 127.5 128.8 ... 132.5 133.8 135.0 136.2\n",
    -       "  * time       (time) object 1850-01-15 12:00:00 ... 1850-05-15 12:00:00\n",
    -       "    member_id  <U8 'r1i1p1f1'\n",
    +       "    lat      float32 59.95\n",
    +       "    level    float32 0.0\n",
    +       "    time     timedelta64[ns] 00:00:00\n",
    +       "    lon      float32 -14.95\n",
            "Attributes:\n",
    -       "    cell_measures:  area: areacella\n",
    -       "    cell_methods:   area: time: mean\n",
    -       "    comment:        near-surface (usually, 2 meter) air temperature\n",
    -       "    description:    near-surface (usually, 2 meter) air temperature\n",
    -       "    frequency:      mon\n",
    -       "    id:             tas\n",
    -       "    long_name:      Near-Surface Air Temperature\n",
    -       "    mipTable:       Amon\n",
    -       "    out_name:       tas\n",
    -       "    prov:           Amon ((isd.003))\n",
    -       "    realm:          atmos\n",
    -       "    standard_name:  air_temperature\n",
    -       "    time:           time\n",
    -       "    time_label:     time-mean\n",
    -       "    time_title:     Temporal mean\n",
    -       "    title:          Near-Surface Air Temperature\n",
    -       "    type:           real\n",
    -       "    units:          K\n",
    -       "    variable_id:    tas
    " + " species: PM2.5 Aerosol\n", + " units: µg/m3\n", + " value: hourly values\n", + " standard_name: mass_concentration_of_pm2p5_ambient_aerosol_in_air
    " ], "text/plain": [ - "\n", - "array([[[300.38446, 300.08688, ..., 300.71 , 300.7822 ],\n", - " [300.2441 , 299.95798, ..., 300.53357, 300.62396],\n", - " ...,\n", - " [297.77292, 298.71323, ..., 299.71173, 299.8677 ],\n", - " [297.73315, 298.60205, ..., 299.6976 , 299.812 ]],\n", - "\n", - " [[299.65933, 299.26968, ..., 300.4081 , 300.55255],\n", - " [299.5267 , 299.12592, ..., 300.40277, 300.5284 ],\n", - " ...,\n", - " [297.3739 , 298.0038 , ..., 299.71512, 299.80475],\n", - " [297.3448 , 297.89917, ..., 299.4545 , 299.56235]],\n", - "\n", - " ...,\n", - "\n", - " [[300.5706 , 300.41907, ..., 300.87616, 300.82022],\n", - " [300.4315 , 300.26505, ..., 300.84323, 300.8234 ],\n", - " ...,\n", - " [299.8353 , 299.99384, ..., 300.41165, 300.41684],\n", - " [299.85242, 299.9631 , ..., 300.28253, 300.27316]],\n", - "\n", - " [[300.81683, 300.7148 , ..., 301.1554 , 301.1403 ],\n", - " [300.5332 , 300.56613, ..., 300.99164, 301.0214 ],\n", - " ...,\n", - " [300.82352, 300.53986, ..., 300.4276 , 300.4221 ],\n", - " [300.87964, 300.58102, ..., 300.36655, 300.33893]]], dtype=float32)\n", + "\n", + "array(2.396931, dtype=float32)\n", "Coordinates:\n", - " * lat (lat) float64 4.241 5.183 6.126 7.068 ... 9.895 10.84 11.78 12.72\n", - " * lon (lon) float64 125.0 126.2 127.5 128.8 ... 132.5 133.8 135.0 136.2\n", - " * time (time) object 1850-01-15 12:00:00 ... 1850-05-15 12:00:00\n", - " member_id selection based on positional index\n", - "- `.sel` -> selection based on coordinate values" + "cams.pm2p5_conc.isel(time=0,level=0, lat=100, lon=100) # same as tas_ds.tas[0,0,100,100]" ] }, { "cell_type": "markdown", - "id": "eabe47e9", + "id": "df820084", "metadata": {}, "source": [ - "We first check the number of elements in each coordinate of the `tas` Data Variable using the built-in method sizes. Same result can be achieved querying each coordinate using the Python built-in function `len`." + "The more common way to select a point is through the labeled coordinate using the `.sel` method." ] }, { "cell_type": "code", - "execution_count": 19, - "id": "0ff0f183", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Frozen({'member_id': 1, 'time': 1980, 'lat': 192, 'lon': 288})" - ] - }, - "execution_count": 19, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "tas_ds.tas.sizes" - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "id": "be3fa61d", + "execution_count": 21, + "id": "c71a659b", "metadata": {}, "outputs": [ { @@ -4586,6 +4648,11 @@ " grid-column: 4;\n", "}\n", "\n", + ".xr-index-preview {\n", + " grid-column: 2 / 5;\n", + " color: var(--xr-font-color2);\n", + "}\n", + "\n", ".xr-var-name,\n", ".xr-var-dims,\n", ".xr-var-dtype,\n", @@ -4607,14 +4674,16 @@ "}\n", "\n", ".xr-var-attrs,\n", - ".xr-var-data {\n", + ".xr-var-data,\n", + ".xr-index-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", + ".xr-var-data-in:checked ~ .xr-var-data,\n", + ".xr-index-data-in:checked ~ .xr-index-data {\n", " display: block;\n", "}\n", "\n", @@ -4624,13 +4693,16 @@ "\n", ".xr-var-name span,\n", ".xr-var-data,\n", + ".xr-index-name div,\n", + ".xr-index-data,\n", ".xr-attrs {\n", " padding-left: 25px !important;\n", "}\n", "\n", ".xr-attrs,\n", ".xr-var-attrs,\n", - ".xr-var-data {\n", + ".xr-var-data,\n", + ".xr-index-data {\n", " grid-column: 1 / -1;\n", "}\n", "\n", @@ -4668,7 +4740,8 @@ "}\n", "\n", ".xr-icon-database,\n", - ".xr-icon-file-text2 {\n", + ".xr-icon-file-text2,\n", + ".xr-no-icon {\n", " display: inline-block;\n", " vertical-align: middle;\n", " width: 1em;\n", @@ -4677,86 +4750,102 @@ " stroke: currentColor;\n", " fill: currentColor;\n", "}\n", - "
    <xarray.DataArray 'tas' ()>\n",
    -       "array(300.38446, dtype=float32)\n",
    +       "
    <xarray.DataArray 'pm2p5_conc' (level: 1, lat: 400, lon: 700)>\n",
    +       "array([[[0.500001, 0.500001, ..., 1.419116, 1.425483],\n",
    +       "        [0.500001, 0.500001, ..., 1.238894, 1.257112],\n",
    +       "        ...,\n",
    +       "        [2.416178, 2.482116, ..., 9.897312, 9.944606],\n",
    +       "        [2.588073, 2.540324, ..., 9.613549, 9.609912]]], dtype=float32)\n",
            "Coordinates:\n",
    -       "    lat        float64 4.241\n",
    -       "    lon        float64 125.0\n",
    -       "    time       object 1850-01-15 12:00:00\n",
    -       "    member_id  <U8 'r1i1p1f1'\n",
    +       "  * lat      (lat) float32 69.95 69.85 69.75 69.65 ... 30.35 30.25 30.15 30.05\n",
    +       "  * level    (level) float32 0.0\n",
    +       "    time     timedelta64[ns] 2 days\n",
    +       "  * lon      (lon) float32 -24.95 -24.85 -24.75 -24.65 ... 44.75 44.85 44.95\n",
            "Attributes:\n",
    -       "    cell_measures:  area: areacella\n",
    -       "    cell_methods:   area: time: mean\n",
    -       "    comment:        near-surface (usually, 2 meter) air temperature\n",
    -       "    description:    near-surface (usually, 2 meter) air temperature\n",
    -       "    frequency:      mon\n",
    -       "    id:             tas\n",
    -       "    long_name:      Near-Surface Air Temperature\n",
    -       "    mipTable:       Amon\n",
    -       "    out_name:       tas\n",
    -       "    prov:           Amon ((isd.003))\n",
    -       "    realm:          atmos\n",
    -       "    standard_name:  air_temperature\n",
    -       "    time:           time\n",
    -       "    time_label:     time-mean\n",
    -       "    time_title:     Temporal mean\n",
    -       "    title:          Near-Surface Air Temperature\n",
    -       "    type:           real\n",
    -       "    units:          K\n",
    -       "    variable_id:    tas
    " + " species: PM2.5 Aerosol\n", + " units: µg/m3\n", + " value: hourly values\n", + " standard_name: mass_concentration_of_pm2p5_ambient_aerosol_in_air
    " ], "text/plain": [ - "\n", - "array(300.38446, dtype=float32)\n", + "\n", + "array([[[0.500001, 0.500001, ..., 1.419116, 1.425483],\n", + " [0.500001, 0.500001, ..., 1.238894, 1.257112],\n", + " ...,\n", + " [2.416178, 2.482116, ..., 9.897312, 9.944606],\n", + " [2.588073, 2.540324, ..., 9.613549, 9.609912]]], dtype=float32)\n", "Coordinates:\n", - " lat float64 4.241\n", - " lon float64 125.0\n", - " time object 1850-01-15 12:00:00\n", - " member_id
    <xarray.DataArray 'tas' (member_id: 1, time: 1, lat: 192, lon: 288)>\n",
    -       "array([[[[245.71487, ..., 245.71481],\n",
    -       "         ...,\n",
    -       "         [246.21568, ..., 246.21373]]]], dtype=float32)\n",
    +       "
    <xarray.Dataset>\n",
    +       "Dimensions:     (level: 1, time: 97)\n",
            "Coordinates:\n",
    -       "  * lat        (lat) float64 -90.0 -89.06 -88.12 -87.17 ... 88.12 89.06 90.0\n",
    -       "  * lon        (lon) float64 0.0 1.25 2.5 3.75 5.0 ... 355.0 356.2 357.5 358.8\n",
    -       "  * time       (time) object 2010-01-15 12:00:00\n",
    -       "  * member_id  (member_id) object 'r1i1p1f1'\n",
    +       "    lat         float32 46.35\n",
    +       "  * level       (level) float32 0.0\n",
    +       "  * time        (time) timedelta64[ns] 00:00:00 01:00:00 ... 4 days 00:00:00\n",
    +       "    lon         float32 8.75\n",
    +       "Data variables:\n",
    +       "    pm2p5_conc  (time, level) float32 5.469 5.207 5.003 ... 4.19 4.119 4.017\n",
            "Attributes:\n",
    -       "    cell_measures:  area: areacella\n",
    -       "    cell_methods:   area: time: mean\n",
    -       "    comment:        near-surface (usually, 2 meter) air temperature\n",
    -       "    description:    near-surface (usually, 2 meter) air temperature\n",
    -       "    frequency:      mon\n",
    -       "    id:             tas\n",
    -       "    long_name:      Near-Surface Air Temperature\n",
    -       "    mipTable:       Amon\n",
    -       "    out_name:       tas\n",
    -       "    prov:           Amon ((isd.003))\n",
    -       "    realm:          atmos\n",
    -       "    standard_name:  air_temperature\n",
    -       "    time:           time\n",
    -       "    time_label:     time-mean\n",
    -       "    time_title:     Temporal mean\n",
    -       "    title:          Near-Surface Air Temperature\n",
    -       "    type:           real\n",
    -       "    units:          K\n",
    -       "    variable_id:    tas
    " + " title: PM25 Air Pollutant FORECAST at the Surface\n", + " institution: Data produced by Meteo France\n", + " source: Data from ENSEMBLE model\n", + " history: Model ENSEMBLE FORECAST\n", + " FORECAST: Europe, 20211222+[0H_96H]\n", + " summary: ENSEMBLE model hourly FORECAST of PM25 concentration at the...\n", + " project: MACC-RAQ (http://macc-raq.gmes-atmosphere.eu)
    " ], "text/plain": [ - "\n", - "array([[[[245.71487, ..., 245.71481],\n", - " ...,\n", - " [246.21568, ..., 246.21373]]]], dtype=float32)\n", + "\n", + "Dimensions: (level: 1, time: 97)\n", "Coordinates:\n", - " * lat (lat) float64 -90.0 -89.06 -88.12 -87.17 ... 88.12 89.06 90.0\n", - " * lon (lon) float64 0.0 1.25 2.5 3.75 5.0 ... 355.0 356.2 357.5 358.8\n", - " * time (time) object 2010-01-15 12:00:00\n", - " * member_id (member_id) object 'r1i1p1f1'\n", + " lat float32 46.35\n", + " * level (level) float32 0.0\n", + " * time (time) timedelta64[ns] 00:00:00 01:00:00 ... 4 days 00:00:00\n", + " lon float32 8.75\n", + "Data variables:\n", + " pm2p5_conc (time, level) float32 5.469 5.207 5.003 ... 4.19 4.119 4.017\n", "Attributes:\n", - " cell_measures: area: areacella\n", - " cell_methods: area: time: mean\n", - " comment: near-surface (usually, 2 meter) air temperature\n", - " description: near-surface (usually, 2 meter) air temperature\n", - " frequency: mon\n", - " id: tas\n", - " long_name: Near-Surface Air Temperature\n", - " mipTable: Amon\n", - " out_name: tas\n", - " prov: Amon ((isd.003))\n", - " realm: atmos\n", - " standard_name: air_temperature\n", - " time: time\n", - " time_label: time-mean\n", - " time_title: Temporal mean\n", - " title: Near-Surface Air Temperature\n", - " type: real\n", - " units: K\n", - " variable_id: tas" + " title: PM25 Air Pollutant FORECAST at the Surface\n", + " institution: Data produced by Meteo France\n", + " source: Data from ENSEMBLE model\n", + " history: Model ENSEMBLE FORECAST\n", + " FORECAST: Europe, 20211222+[0H_96H]\n", + " summary: ENSEMBLE model hourly FORECAST of PM25 concentration at the...\n", + " project: MACC-RAQ (http://macc-raq.gmes-atmosphere.eu)" ] }, - "execution_count": 21, + "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "tas_ds.tas.sel(time='2010-01-15')" + "cams.sel(lat=46.3, lon=8.8, method='nearest')" ] }, { "cell_type": "markdown", - "id": "f152eac9", + "id": "69292a19", "metadata": {}, "source": [ - "Time is easy to be used as there is a 1 to 1 correspondence with values in the index, float values are not that easy to be used and a small discrepancy can make a big difference in terms of results." + ":::{warning}\n", + "To select a single real value without specifying a method, you would need to specify the exact encoded value; not the one you see when printed.\n", + ":::" ] }, { - "cell_type": "markdown", - "id": "e3884097", + "cell_type": "code", + "execution_count": 23, + "id": "90e5ebea", "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "-14.95001220703125" + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "\n", - "Coordinates are always affected by precision issues; the best option to quickly get a point over the coordinates is to set the sampling method (method='') that will search for the closest point according to the specified one.\n", - "\n", - "Options for the method are:\n", - "- pad / **f**fill: propagate last valid index value forward\n", - "- backfill / **b**fill: propagate next valid index value backward\n", - "- nearest: use nearest valid index value\n", - "\n", - "Another important parameter that can be set is the tolerance that specifies the distance between the requested and the target (so that abs(index\\[indexer] - target) <= tolerance) from [documentation](https://xarray.pydata.org/en/v0.17.0/generated/xarray.DataArray.sel.html#:~:text=xarray.DataArray.sel%20%C2%B6%20DataArray.sel%28indexers%3DNone%2C%20method%3DNone%2C%20tolerance%3DNone%2C%20drop%3DFalse%2C%20%2A%2Aindexers_kwargs%29%20%C2%B6,this%20method%20should%20use%20labels%20instead%20of%20integers.)." + "cams.isel(lon=100).lon.values.item()" ] }, { "cell_type": "code", - "execution_count": 22, - "id": "de3b813c", + "execution_count": 24, + "id": "5b91cce4", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "59.95000076293945" + ] + }, + "execution_count": 24, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "cams.isel(lat=100).lat.values.item()" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "id": "586339f1", "metadata": {}, "outputs": [ { @@ -5513,6 +5736,11 @@ " grid-column: 4;\n", "}\n", "\n", + ".xr-index-preview {\n", + " grid-column: 2 / 5;\n", + " color: var(--xr-font-color2);\n", + "}\n", + "\n", ".xr-var-name,\n", ".xr-var-dims,\n", ".xr-var-dtype,\n", @@ -5534,14 +5762,16 @@ "}\n", "\n", ".xr-var-attrs,\n", - ".xr-var-data {\n", + ".xr-var-data,\n", + ".xr-index-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", + ".xr-var-data-in:checked ~ .xr-var-data,\n", + ".xr-index-data-in:checked ~ .xr-index-data {\n", " display: block;\n", "}\n", "\n", @@ -5551,13 +5781,16 @@ "\n", ".xr-var-name span,\n", ".xr-var-data,\n", + ".xr-index-name div,\n", + ".xr-index-data,\n", ".xr-attrs {\n", " padding-left: 25px !important;\n", "}\n", "\n", ".xr-attrs,\n", ".xr-var-attrs,\n", - ".xr-var-data {\n", + ".xr-var-data,\n", + ".xr-index-data {\n", " grid-column: 1 / -1;\n", "}\n", "\n", @@ -5595,7 +5828,8 @@ "}\n", "\n", ".xr-icon-database,\n", - ".xr-icon-file-text2 {\n", + ".xr-icon-file-text2,\n", + ".xr-no-icon {\n", " display: inline-block;\n", " vertical-align: middle;\n", " width: 1em;\n", @@ -5605,150 +5839,225 @@ " fill: currentColor;\n", "}\n", "
    <xarray.Dataset>\n",
    -       "Dimensions:    (nbnd: 2, member_id: 1, time: 1980)\n",
    +       "Dimensions:     (level: 1, time: 97)\n",
            "Coordinates:\n",
    -       "    lat        float64 46.65\n",
    -       "    lat_bnds   (nbnd) float32 46.18 47.12\n",
    -       "    lon        float64 8.75\n",
    -       "    lon_bnds   (nbnd) float32 8.125 9.375\n",
    -       "  * time       (time) object 1850-01-15 12:00:00 ... 2014-12-15 12:00:00\n",
    -       "    time_bnds  (time, nbnd) object 1850-01-01 00:00:00 ... 2015-01-01 00:00:00\n",
    -       "  * member_id  (member_id) object 'r1i1p1f1'\n",
    -       "Dimensions without coordinates: nbnd\n",
    +       "    lat         float32 59.95\n",
    +       "  * level       (level) float32 0.0\n",
    +       "  * time        (time) timedelta64[ns] 00:00:00 01:00:00 ... 4 days 00:00:00\n",
    +       "    lon         float32 -14.95\n",
            "Data variables:\n",
    -       "    tas        (member_id, time) float32 272.7 273.8 274.2 ... 278.1 275.4 272.2\n",
    -       "Attributes: (12/50)\n",
    -       "    Conventions:             CF-1.7 CMIP-6.2\n",
    -       "    activity_id:             CMIP\n",
    -       "    branch_method:           standard\n",
    -       "    branch_time_in_child:    674885.0\n",
    -       "    branch_time_in_parent:   219000.0\n",
    -       "    case_id:                 15\n",
    -       "    ...                      ...\n",
    -       "    variant_label:           r1i1p1f1\n",
    -       "    status:                  2019-10-25;created;by nhn2@columbia.edu\n",
    -       "    netcdf_tracking_ids:     hdl:21.14100/d9a7225a-49c3-4470-b7ab-a8180926f839\n",
    -       "    version_id:              v20190308\n",
    -       "    intake_esm_varname:      tas\n",
    -       "    intake_esm_dataset_key:  CMIP.NCAR.CESM2.historical.Amon.gn
    " + " pm2p5_conc (time, level) float32 2.397 2.281 2.223 ... 2.175 2.192 2.274\n", + "Attributes:\n", + " title: PM25 Air Pollutant FORECAST at the Surface\n", + " institution: Data produced by Meteo France\n", + " source: Data from ENSEMBLE model\n", + " history: Model ENSEMBLE FORECAST\n", + " FORECAST: Europe, 20211222+[0H_96H]\n", + " summary: ENSEMBLE model hourly FORECAST of PM25 concentration at the...\n", + " project: MACC-RAQ (http://macc-raq.gmes-atmosphere.eu)" ], "text/plain": [ "\n", - "Dimensions: (nbnd: 2, member_id: 1, time: 1980)\n", + "Dimensions: (level: 1, time: 97)\n", "Coordinates:\n", - " lat float64 46.65\n", - " lat_bnds (nbnd) float32 46.18 47.12\n", - " lon float64 8.75\n", - " lon_bnds (nbnd) float32 8.125 9.375\n", - " * time (time) object 1850-01-15 12:00:00 ... 2014-12-15 12:00:00\n", - " time_bnds (time, nbnd) object 1850-01-01 00:00:00 ... 2015-01-01 00:00:00\n", - " * member_id (member_id) object 'r1i1p1f1'\n", - "Dimensions without coordinates: nbnd\n", + " lat float32 59.95\n", + " * level (level) float32 0.0\n", + " * time (time) timedelta64[ns] 00:00:00 01:00:00 ... 4 days 00:00:00\n", + " lon float32 -14.95\n", "Data variables:\n", - " tas (member_id, time) float32 272.7 273.8 274.2 ... 278.1 275.4 272.2\n", - "Attributes: (12/50)\n", - " Conventions: CF-1.7 CMIP-6.2\n", - " activity_id: CMIP\n", - " branch_method: standard\n", - " branch_time_in_child: 674885.0\n", - " branch_time_in_parent: 219000.0\n", - " case_id: 15\n", - " ... ...\n", - " variant_label: r1i1p1f1\n", - " status: 2019-10-25;created;by nhn2@columbia.edu\n", - " netcdf_tracking_ids: hdl:21.14100/d9a7225a-49c3-4470-b7ab-a8180926f839\n", - " version_id: v20190308\n", - " intake_esm_varname: tas\n", - " intake_esm_dataset_key: CMIP.NCAR.CESM2.historical.Amon.gn" + " pm2p5_conc (time, level) float32 2.397 2.281 2.223 ... 2.175 2.192 2.274\n", + "Attributes:\n", + " title: PM25 Air Pollutant FORECAST at the Surface\n", + " institution: Data produced by Meteo France\n", + " source: Data from ENSEMBLE model\n", + " history: Model ENSEMBLE FORECAST\n", + " FORECAST: Europe, 20211222+[0H_96H]\n", + " summary: ENSEMBLE model hourly FORECAST of PM25 concentration at the...\n", + " project: MACC-RAQ (http://macc-raq.gmes-atmosphere.eu)" ] }, - "execution_count": 22, + "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "tas_ds.sel(lat=46.3, lon=8.8, method='nearest')" + "cams.sel(lat=59.95000076293945, lon=-14.95001220703125)" ] }, { "cell_type": "markdown", - "id": "69292a19", - "metadata": {}, - "source": [ - ":::{warning}\n", - "To select a single real value without specifying a method, you would need to specify the exact encoded value; not the one you see when printed.\n", - ":::" - ] - }, - { - "cell_type": "code", - "execution_count": 23, - "id": "90e5ebea", + "id": "98c41084", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "125.0" - ] - }, - "execution_count": 23, - "metadata": {}, - "output_type": "execute_result" - } - ], "source": [ - "tas_ds.isel(lon=100).lon.values.item()" + "That is why we use a `method`! It makes your life easier to deal with inexact matches." ] }, { - "cell_type": "code", - "execution_count": 24, - "id": "5b91cce4", + "cell_type": "markdown", + "id": "1ded4da9", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "4.240837696335078" - ] - }, - "execution_count": 24, - "metadata": {}, - "output_type": "execute_result" - } - ], "source": [ - "tas_ds.isel(lat=100).lat.values.item()" + "As the exercise is focused on an Area Of Interest, this can be obtained through a bounding box defined with slices." ] }, { "cell_type": "code", - "execution_count": 25, - "id": "586339f1", + "execution_count": 26, + "id": "90629284", "metadata": {}, "outputs": [ { @@ -6015,6 +6324,11 @@ " grid-column: 4;\n", "}\n", "\n", + ".xr-index-preview {\n", + " grid-column: 2 / 5;\n", + " color: var(--xr-font-color2);\n", + "}\n", + "\n", ".xr-var-name,\n", ".xr-var-dims,\n", ".xr-var-dtype,\n", @@ -6036,14 +6350,16 @@ "}\n", "\n", ".xr-var-attrs,\n", - ".xr-var-data {\n", + ".xr-var-data,\n", + ".xr-index-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", + ".xr-var-data-in:checked ~ .xr-var-data,\n", + ".xr-index-data-in:checked ~ .xr-index-data {\n", " display: block;\n", "}\n", "\n", @@ -6053,13 +6369,16 @@ "\n", ".xr-var-name span,\n", ".xr-var-data,\n", + ".xr-index-name div,\n", + ".xr-index-data,\n", ".xr-attrs {\n", " padding-left: 25px !important;\n", "}\n", "\n", ".xr-attrs,\n", ".xr-var-attrs,\n", - ".xr-var-data {\n", + ".xr-var-data,\n", + ".xr-index-data {\n", " grid-column: 1 / -1;\n", "}\n", "\n", @@ -6097,7 +6416,8 @@ "}\n", "\n", ".xr-icon-database,\n", - ".xr-icon-file-text2 {\n", + ".xr-icon-file-text2,\n", + ".xr-no-icon {\n", " display: inline-block;\n", " vertical-align: middle;\n", " width: 1em;\n", @@ -6106,154 +6426,332 @@ " stroke: currentColor;\n", " fill: currentColor;\n", "}\n", - "
    <xarray.Dataset>\n",
    -       "Dimensions:    (nbnd: 2, member_id: 1, time: 1980)\n",
    -       "Coordinates:\n",
    -       "    lat        float64 4.241\n",
    -       "    lat_bnds   (nbnd) float32 3.77 4.712\n",
    -       "    lon        float64 125.0\n",
    -       "    lon_bnds   (nbnd) float32 124.4 125.6\n",
    -       "  * time       (time) object 1850-01-15 12:00:00 ... 2014-12-15 12:00:00\n",
    -       "    time_bnds  (time, nbnd) object 1850-01-01 00:00:00 ... 2015-01-01 00:00:00\n",
    -       "  * member_id  (member_id) object 'r1i1p1f1'\n",
    -       "Dimensions without coordinates: nbnd\n",
    -       "Data variables:\n",
    -       "    tas        (member_id, time) float32 300.4 299.7 299.9 ... 302.3 302.0 301.8\n",
    -       "Attributes: (12/50)\n",
    -       "    Conventions:             CF-1.7 CMIP-6.2\n",
    -       "    activity_id:             CMIP\n",
    -       "    branch_method:           standard\n",
    -       "    branch_time_in_child:    674885.0\n",
    -       "    branch_time_in_parent:   219000.0\n",
    -       "    case_id:                 15\n",
    -       "    ...                      ...\n",
    -       "    variant_label:           r1i1p1f1\n",
    -       "    status:                  2019-10-25;created;by nhn2@columbia.edu\n",
    -       "    netcdf_tracking_ids:     hdl:21.14100/d9a7225a-49c3-4470-b7ab-a8180926f839\n",
    -       "    version_id:              v20190308\n",
    -       "    intake_esm_varname:      tas\n",
    -       "    intake_esm_dataset_key:  CMIP.NCAR.CESM2.historical.Amon.gn
    " + "\n", + "\n", + " [[[ 1.36206 , ..., 2.526661],\n", + " ...,\n", + " [ 1.954816, ..., 6.040956]]]], dtype=float32)
    • lat
      (lat)
      float32
      69.95 69.85 69.75 ... 54.65 54.55
      long_name :
      latitude
      units :
      degrees_north
      array([69.95, 69.85, 69.75, 69.65, 69.55, 69.45, 69.35, 69.25, 69.15, 69.05,\n",
      +       "       68.95, 68.85, 68.75, 68.65, 68.55, 68.45, 68.35, 68.25, 68.15, 68.05,\n",
      +       "       67.95, 67.85, 67.75, 67.65, 67.55, 67.45, 67.35, 67.25, 67.15, 67.05,\n",
      +       "       66.95, 66.85, 66.75, 66.65, 66.55, 66.45, 66.35, 66.25, 66.15, 66.05,\n",
      +       "       65.95, 65.85, 65.75, 65.65, 65.55, 65.45, 65.35, 65.25, 65.15, 65.05,\n",
      +       "       64.95, 64.85, 64.75, 64.65, 64.55, 64.45, 64.35, 64.25, 64.15, 64.05,\n",
      +       "       63.95, 63.85, 63.75, 63.65, 63.55, 63.45, 63.35, 63.25, 63.15, 63.05,\n",
      +       "       62.95, 62.85, 62.75, 62.65, 62.55, 62.45, 62.35, 62.25, 62.15, 62.05,\n",
      +       "       61.95, 61.85, 61.75, 61.65, 61.55, 61.45, 61.35, 61.25, 61.15, 61.05,\n",
      +       "       60.95, 60.85, 60.75, 60.65, 60.55, 60.45, 60.35, 60.25, 60.15, 60.05,\n",
      +       "       59.95, 59.85, 59.75, 59.65, 59.55, 59.45, 59.35, 59.25, 59.15, 59.05,\n",
      +       "       58.95, 58.85, 58.75, 58.65, 58.55, 58.45, 58.35, 58.25, 58.15, 58.05,\n",
      +       "       57.95, 57.85, 57.75, 57.65, 57.55, 57.45, 57.35, 57.25, 57.15, 57.05,\n",
      +       "       56.95, 56.85, 56.75, 56.65, 56.55, 56.45, 56.35, 56.25, 56.15, 56.05,\n",
      +       "       55.95, 55.85, 55.75, 55.65, 55.55, 55.45, 55.35, 55.25, 55.15, 55.05,\n",
      +       "       54.95, 54.85, 54.75, 54.65, 54.55], dtype=float32)
    • level
      (level)
      float32
      0.0
      long_name :
      level
      units :
      m
      array([0.], dtype=float32)
    • time
      (time)
      timedelta64[ns]
      00:00:00 ... 4 days 00:00:00
      long_name :
      FORECAST time from 20211222
      array([              0,   3600000000000,   7200000000000,  10800000000000,\n",
      +       "        14400000000000,  18000000000000,  21600000000000,  25200000000000,\n",
      +       "        28800000000000,  32400000000000,  36000000000000,  39600000000000,\n",
      +       "        43200000000000,  46800000000000,  50400000000000,  54000000000000,\n",
      +       "        57600000000000,  61200000000000,  64800000000000,  68400000000000,\n",
      +       "        72000000000000,  75600000000000,  79200000000000,  82800000000000,\n",
      +       "        86400000000000,  90000000000000,  93600000000000,  97200000000000,\n",
      +       "       100800000000000, 104400000000000, 108000000000000, 111600000000000,\n",
      +       "       115200000000000, 118800000000000, 122400000000000, 126000000000000,\n",
      +       "       129600000000000, 133200000000000, 136800000000000, 140400000000000,\n",
      +       "       144000000000000, 147600000000000, 151200000000000, 154800000000000,\n",
      +       "       158400000000000, 162000000000000, 165600000000000, 169200000000000,\n",
      +       "       172800000000000, 176400000000000, 180000000000000, 183600000000000,\n",
      +       "       187200000000000, 190800000000000, 194400000000000, 198000000000000,\n",
      +       "       201600000000000, 205200000000000, 208800000000000, 212400000000000,\n",
      +       "       216000000000000, 219600000000000, 223200000000000, 226800000000000,\n",
      +       "       230400000000000, 234000000000000, 237600000000000, 241200000000000,\n",
      +       "       244800000000000, 248400000000000, 252000000000000, 255600000000000,\n",
      +       "       259200000000000, 262800000000000, 266400000000000, 270000000000000,\n",
      +       "       273600000000000, 277200000000000, 280800000000000, 284400000000000,\n",
      +       "       288000000000000, 291600000000000, 295200000000000, 298800000000000,\n",
      +       "       302400000000000, 306000000000000, 309600000000000, 313200000000000,\n",
      +       "       316800000000000, 320400000000000, 324000000000000, 327600000000000,\n",
      +       "       331200000000000, 334800000000000, 338400000000000, 342000000000000,\n",
      +       "       345600000000000], dtype='timedelta64[ns]')
    • lon
      (lon)
      float32
      -2.45 -2.35 -2.25 ... 42.35 42.45
      array([-2.450012, -2.349976, -2.25    , ..., 42.25    , 42.350006, 42.449997],\n",
      +       "      dtype=float32)
    • lat
      PandasIndex
      PandasIndex(Index([ 69.94999694824219,   69.8499984741211,              69.75,\n",
      +       "         69.6500015258789,  69.55000305175781,  69.44999694824219,\n",
      +       "         69.3499984741211,              69.25,   69.1500015258789,\n",
      +       "        69.05000305175781,\n",
      +       "       ...\n",
      +       "        55.45000076293945, 55.349998474121094,              55.25,\n",
      +       "       55.150001525878906,  55.04999923706055,  54.95000076293945,\n",
      +       "       54.849998474121094,              54.75, 54.650001525878906,\n",
      +       "        54.54999923706055],\n",
      +       "      dtype='float32', name='lat', length=155))
    • level
      PandasIndex
      PandasIndex(Index([0.0], dtype='float32', name='level'))
    • time
      PandasIndex
      PandasIndex(TimedeltaIndex(['0 days 00:00:00', '0 days 01:00:00', '0 days 02:00:00',\n",
      +       "                '0 days 03:00:00', '0 days 04:00:00', '0 days 05:00:00',\n",
      +       "                '0 days 06:00:00', '0 days 07:00:00', '0 days 08:00:00',\n",
      +       "                '0 days 09:00:00', '0 days 10:00:00', '0 days 11:00:00',\n",
      +       "                '0 days 12:00:00', '0 days 13:00:00', '0 days 14:00:00',\n",
      +       "                '0 days 15:00:00', '0 days 16:00:00', '0 days 17:00:00',\n",
      +       "                '0 days 18:00:00', '0 days 19:00:00', '0 days 20:00:00',\n",
      +       "                '0 days 21:00:00', '0 days 22:00:00', '0 days 23:00:00',\n",
      +       "                '1 days 00:00:00', '1 days 01:00:00', '1 days 02:00:00',\n",
      +       "                '1 days 03:00:00', '1 days 04:00:00', '1 days 05:00:00',\n",
      +       "                '1 days 06:00:00', '1 days 07:00:00', '1 days 08:00:00',\n",
      +       "                '1 days 09:00:00', '1 days 10:00:00', '1 days 11:00:00',\n",
      +       "                '1 days 12:00:00', '1 days 13:00:00', '1 days 14:00:00',\n",
      +       "                '1 days 15:00:00', '1 days 16:00:00', '1 days 17:00:00',\n",
      +       "                '1 days 18:00:00', '1 days 19:00:00', '1 days 20:00:00',\n",
      +       "                '1 days 21:00:00', '1 days 22:00:00', '1 days 23:00:00',\n",
      +       "                '2 days 00:00:00', '2 days 01:00:00', '2 days 02:00:00',\n",
      +       "                '2 days 03:00:00', '2 days 04:00:00', '2 days 05:00:00',\n",
      +       "                '2 days 06:00:00', '2 days 07:00:00', '2 days 08:00:00',\n",
      +       "                '2 days 09:00:00', '2 days 10:00:00', '2 days 11:00:00',\n",
      +       "                '2 days 12:00:00', '2 days 13:00:00', '2 days 14:00:00',\n",
      +       "                '2 days 15:00:00', '2 days 16:00:00', '2 days 17:00:00',\n",
      +       "                '2 days 18:00:00', '2 days 19:00:00', '2 days 20:00:00',\n",
      +       "                '2 days 21:00:00', '2 days 22:00:00', '2 days 23:00:00',\n",
      +       "                '3 days 00:00:00', '3 days 01:00:00', '3 days 02:00:00',\n",
      +       "                '3 days 03:00:00', '3 days 04:00:00', '3 days 05:00:00',\n",
      +       "                '3 days 06:00:00', '3 days 07:00:00', '3 days 08:00:00',\n",
      +       "                '3 days 09:00:00', '3 days 10:00:00', '3 days 11:00:00',\n",
      +       "                '3 days 12:00:00', '3 days 13:00:00', '3 days 14:00:00',\n",
      +       "                '3 days 15:00:00', '3 days 16:00:00', '3 days 17:00:00',\n",
      +       "                '3 days 18:00:00', '3 days 19:00:00', '3 days 20:00:00',\n",
      +       "                '3 days 21:00:00', '3 days 22:00:00', '3 days 23:00:00',\n",
      +       "                '4 days 00:00:00'],\n",
      +       "               dtype='timedelta64[ns]', name='time', freq=None))
    • lon
      PandasIndex
      PandasIndex(Index([ -2.45001220703125,   -2.3499755859375,              -2.25,\n",
      +       "         -2.1500244140625,  -2.04998779296875,  -1.95001220703125,\n",
      +       "         -1.8499755859375,              -1.75,   -1.6500244140625,\n",
      +       "        -1.54998779296875,\n",
      +       "       ...\n",
      +       "        41.55000305175781, 41.649993896484375,              41.75,\n",
      +       "       41.850006103515625,  41.94999694824219,  42.05000305175781,\n",
      +       "       42.149993896484375,              42.25, 42.350006103515625,\n",
      +       "        42.44999694824219],\n",
      +       "      dtype='float32', name='lon', length=450))
  • species :
    PM2.5 Aerosol
    units :
    µg/m3
    value :
    hourly values
    standard_name :
    mass_concentration_of_pm2p5_ambient_aerosol_in_air
  • " ], "text/plain": [ - "\n", - "Dimensions: (nbnd: 2, member_id: 1, time: 1980)\n", + "\n", + "array([[[[ 0.855664, ..., 0.865896],\n", + " ...,\n", + " [14.878069, ..., 7.30256 ]]],\n", + "\n", + "\n", + " ...,\n", + "\n", + "\n", + " [[[ 1.36206 , ..., 2.526661],\n", + " ...,\n", + " [ 1.954816, ..., 6.040956]]]], dtype=float32)\n", "Coordinates:\n", - " lat float64 4.241\n", - " lat_bnds (nbnd) float32 3.77 4.712\n", - " lon float64 125.0\n", - " lon_bnds (nbnd) float32 124.4 125.6\n", - " * time (time) object 1850-01-15 12:00:00 ... 2014-12-15 12:00:00\n", - " time_bnds (time, nbnd) object 1850-01-01 00:00:00 ... 2015-01-01 00:00:00\n", - " * member_id (member_id) object 'r1i1p1f1'\n", - "Dimensions without coordinates: nbnd\n", - "Data variables:\n", - " tas (member_id, time) float32 300.4 299.7 299.9 ... 302.3 302.0 301.8\n", - "Attributes: (12/50)\n", - " Conventions: CF-1.7 CMIP-6.2\n", - " activity_id: CMIP\n", - " branch_method: standard\n", - " branch_time_in_child: 674885.0\n", - " branch_time_in_parent: 219000.0\n", - " case_id: 15\n", - " ... ...\n", - " variant_label: r1i1p1f1\n", - " status: 2019-10-25;created;by nhn2@columbia.edu\n", - " netcdf_tracking_ids: hdl:21.14100/d9a7225a-49c3-4470-b7ab-a8180926f839\n", - " version_id: v20190308\n", - " intake_esm_varname: tas\n", - " intake_esm_dataset_key: CMIP.NCAR.CESM2.historical.Amon.gn" + " * lat (lat) float32 69.95 69.85 69.75 69.65 ... 54.85 54.75 54.65 54.55\n", + " * level (level) float32 0.0\n", + " * time (time) timedelta64[ns] 00:00:00 01:00:00 ... 4 days 00:00:00\n", + " * lon (lon) float32 -2.45 -2.35 -2.25 -2.15 ... 42.15 42.25 42.35 42.45\n", + "Attributes:\n", + " species: PM2.5 Aerosol\n", + " units: µg/m3\n", + " value: hourly values\n", + " standard_name: mass_concentration_of_pm2p5_ambient_aerosol_in_air" ] }, - "execution_count": 25, + "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "tas_ds.sel(lat=4.240837696335078, lon=125.0)" + "cams_AOI = cams.pm2p5_conc.sel(lat=slice(71.5, 54.5), lon=slice(-2.5,42.5))\n", + "cams_AOI" ] }, { "cell_type": "markdown", - "id": "98c41084", + "id": "067dc4cf", "metadata": {}, "source": [ - "That is why we use a `method`! It makes your life easier to deal with inexact matches." + ":::{tip} the values for `lat` and `lon` need to be selected in the order shown in the coordinate section (here in increasing order) and not always in increasing order?\n", + "**You need to use the same order as the corresponding DataArray**.\n", + ":::" ] }, { "cell_type": "markdown", - "id": "1ded4da9", + "id": "1ff8090c", "metadata": {}, "source": [ - "As the exercise is focused on an Area Of Interest, this can be obtained through a bounding box defined with slices." + "## Plotting\n", + " Plotting data can easily be obtained through matplotlib.pyplot back-end [matplotlib documentation](https://matplotlib.org/stable/index.html)." ] }, { "cell_type": "code", - "execution_count": 26, - "id": "90629284", + "execution_count": 27, + "id": "a262ec7b", "metadata": {}, "outputs": [ { "data": { - "text/html": [ - "
    \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
    <xarray.DataArray 'tas' (member_id: 1, time: 1980, lat: 18, lon: 35)>\n",
    -       "array([[[[277.14154, ..., 255.24866],\n",
    +       "
    <xarray.DataArray 'pm2p5_conc' (time: 97, level: 1, lat: 155, lon: 450)>\n",
    +       "array([[[[  855.6641 ,   852.48096,   833.32465, ...,   879.8937 ,\n",
    +       "            902.90106,   865.896  ],\n",
    +       "         [  885.7343 ,   891.02075,   878.97   , ...,   971.65314,\n",
    +       "           1061.4657 ,  1015.5647 ],\n",
    +       "         [  893.89136,   828.7204 ,   800.25604, ...,  1032.3335 ,\n",
    +       "            990.852  ,   982.55286],\n",
            "         ...,\n",
    -       "         [271.17374, ..., 259.73807]],\n",
    -       "\n",
    -       "        ...,\n",
    -       "\n",
    -       "        [[283.0737 , ..., 269.6892 ],\n",
    +       "         [10043.194  , 10672.565  , 11238.228  , ...,  7507.282  ,\n",
    +       "           7414.5137 ,  7444.7827 ],\n",
    +       "         [13826.692  , 14108.494  , 14563.739  , ...,  7519.0063 ,\n",
    +       "           7214.311  ,  7085.4043 ],\n",
    +       "         [14878.069  , 14873.55   , 14858.358  , ...,  7069.7866 ,\n",
    +       "           7237.475  ,  7302.5605 ]]],\n",
    +       "\n",
    +       "\n",
    +       "       [[[  868.89185,   899.5873 ,   930.3964 , ...,   936.80554,\n",
    +       "            839.1485 ,   772.7412 ],\n",
    +       "         [  858.319  ,   891.28815,   934.2618 , ...,   772.7412 ,\n",
    +       "            733.67554,   716.23883],\n",
    +       "         [  873.09827,   925.96265,   940.6993 , ...,   729.8386 ,\n",
    +       "...\n",
    +       "           6790.51   ,  6748.986  ],\n",
    +       "         [ 1623.8978 ,  1855.4778 ,  2173.332  , ...,  5969.662  ,\n",
    +       "           6049.47   ,  6131.5386 ],\n",
    +       "         [ 2051.7156 ,  2147.7383 ,  1941.084  , ...,  5981.9263 ,\n",
    +       "           5846.8096 ,  5826.9146 ]]],\n",
    +       "\n",
    +       "\n",
    +       "       [[[ 1362.0598 ,  1371.5527 ,  1349.8243 , ...,  2480.518  ,\n",
    +       "           2496.761  ,  2526.6606 ],\n",
    +       "         [ 1398.2976 ,  1351.3591 ,  1315.5477 , ...,  2294.1143 ,\n",
    +       "           2327.9363 ,  2370.2136 ],\n",
    +       "         [ 1287.1544 ,  1304.108  ,  1268.4387 , ...,  2281.4312 ,\n",
    +       "           2239.3528 ,  2212.153  ],\n",
            "         ...,\n",
    -       "         [272.89108, ..., 271.8542 ]]]], dtype=float32)\n",
    +       "         [ 1829.8173 ,  1892.3165 ,  1997.889  , ...,  6986.432  ,\n",
    +       "           6914.4253 ,  6935.685  ],\n",
    +       "         [ 1650.3838 ,  1853.0875 ,  2025.124  , ...,  6504.3003 ,\n",
    +       "           6350.027  ,  6176.655  ],\n",
    +       "         [ 1954.8159 ,  2019.9797 ,  1916.7521 , ...,  5647.4995 ,\n",
    +       "           5836.5464 ,  6040.9556 ]]]], dtype=float32)\n",
            "Coordinates:\n",
    -       "  * lat        (lat) float64 55.13 56.07 57.02 57.96 ... 68.32 69.27 70.21 71.15\n",
    -       "  * lon        (lon) float64 0.0 1.25 2.5 3.75 5.0 ... 38.75 40.0 41.25 42.5\n",
    -       "  * time       (time) object 1850-01-15 12:00:00 ... 2014-12-15 12:00:00\n",
    -       "  * member_id  (member_id) object 'r1i1p1f1'\n",
    -       "Attributes:\n",
    -       "    cell_measures:  area: areacella\n",
    -       "    cell_methods:   area: time: mean\n",
    -       "    comment:        near-surface (usually, 2 meter) air temperature\n",
    -       "    description:    near-surface (usually, 2 meter) air temperature\n",
    -       "    frequency:      mon\n",
    -       "    id:             tas\n",
    -       "    long_name:      Near-Surface Air Temperature\n",
    -       "    mipTable:       Amon\n",
    -       "    out_name:       tas\n",
    -       "    prov:           Amon ((isd.003))\n",
    -       "    realm:          atmos\n",
    -       "    standard_name:  air_temperature\n",
    -       "    time:           time\n",
    -       "    time_label:     time-mean\n",
    -       "    time_title:     Temporal mean\n",
    -       "    title:          Near-Surface Air Temperature\n",
    -       "    type:           real\n",
    -       "    units:          K\n",
    -       "    variable_id:    tas
    • lat
      (lat)
      float32
      69.95 69.85 69.75 ... 54.65 54.55
      long_name :
      latitude
      units :
      degrees_north
      array([69.95, 69.85, 69.75, 69.65, 69.55, 69.45, 69.35, 69.25, 69.15, 69.05,\n",
      +       "       68.95, 68.85, 68.75, 68.65, 68.55, 68.45, 68.35, 68.25, 68.15, 68.05,\n",
      +       "       67.95, 67.85, 67.75, 67.65, 67.55, 67.45, 67.35, 67.25, 67.15, 67.05,\n",
      +       "       66.95, 66.85, 66.75, 66.65, 66.55, 66.45, 66.35, 66.25, 66.15, 66.05,\n",
      +       "       65.95, 65.85, 65.75, 65.65, 65.55, 65.45, 65.35, 65.25, 65.15, 65.05,\n",
      +       "       64.95, 64.85, 64.75, 64.65, 64.55, 64.45, 64.35, 64.25, 64.15, 64.05,\n",
      +       "       63.95, 63.85, 63.75, 63.65, 63.55, 63.45, 63.35, 63.25, 63.15, 63.05,\n",
      +       "       62.95, 62.85, 62.75, 62.65, 62.55, 62.45, 62.35, 62.25, 62.15, 62.05,\n",
      +       "       61.95, 61.85, 61.75, 61.65, 61.55, 61.45, 61.35, 61.25, 61.15, 61.05,\n",
      +       "       60.95, 60.85, 60.75, 60.65, 60.55, 60.45, 60.35, 60.25, 60.15, 60.05,\n",
      +       "       59.95, 59.85, 59.75, 59.65, 59.55, 59.45, 59.35, 59.25, 59.15, 59.05,\n",
      +       "       58.95, 58.85, 58.75, 58.65, 58.55, 58.45, 58.35, 58.25, 58.15, 58.05,\n",
      +       "       57.95, 57.85, 57.75, 57.65, 57.55, 57.45, 57.35, 57.25, 57.15, 57.05,\n",
      +       "       56.95, 56.85, 56.75, 56.65, 56.55, 56.45, 56.35, 56.25, 56.15, 56.05,\n",
      +       "       55.95, 55.85, 55.75, 55.65, 55.55, 55.45, 55.35, 55.25, 55.15, 55.05,\n",
      +       "       54.95, 54.85, 54.75, 54.65, 54.55], dtype=float32)
    • level
      (level)
      float32
      0.0
      long_name :
      level
      units :
      m
      array([0.], dtype=float32)
    • time
      (time)
      timedelta64[ns]
      00:00:00 ... 4 days 00:00:00
      long_name :
      FORECAST time from 20211222
      array([              0,   3600000000000,   7200000000000,  10800000000000,\n",
      +       "        14400000000000,  18000000000000,  21600000000000,  25200000000000,\n",
      +       "        28800000000000,  32400000000000,  36000000000000,  39600000000000,\n",
      +       "        43200000000000,  46800000000000,  50400000000000,  54000000000000,\n",
      +       "        57600000000000,  61200000000000,  64800000000000,  68400000000000,\n",
      +       "        72000000000000,  75600000000000,  79200000000000,  82800000000000,\n",
      +       "        86400000000000,  90000000000000,  93600000000000,  97200000000000,\n",
      +       "       100800000000000, 104400000000000, 108000000000000, 111600000000000,\n",
      +       "       115200000000000, 118800000000000, 122400000000000, 126000000000000,\n",
      +       "       129600000000000, 133200000000000, 136800000000000, 140400000000000,\n",
      +       "       144000000000000, 147600000000000, 151200000000000, 154800000000000,\n",
      +       "       158400000000000, 162000000000000, 165600000000000, 169200000000000,\n",
      +       "       172800000000000, 176400000000000, 180000000000000, 183600000000000,\n",
      +       "       187200000000000, 190800000000000, 194400000000000, 198000000000000,\n",
      +       "       201600000000000, 205200000000000, 208800000000000, 212400000000000,\n",
      +       "       216000000000000, 219600000000000, 223200000000000, 226800000000000,\n",
      +       "       230400000000000, 234000000000000, 237600000000000, 241200000000000,\n",
      +       "       244800000000000, 248400000000000, 252000000000000, 255600000000000,\n",
      +       "       259200000000000, 262800000000000, 266400000000000, 270000000000000,\n",
      +       "       273600000000000, 277200000000000, 280800000000000, 284400000000000,\n",
      +       "       288000000000000, 291600000000000, 295200000000000, 298800000000000,\n",
      +       "       302400000000000, 306000000000000, 309600000000000, 313200000000000,\n",
      +       "       316800000000000, 320400000000000, 324000000000000, 327600000000000,\n",
      +       "       331200000000000, 334800000000000, 338400000000000, 342000000000000,\n",
      +       "       345600000000000], dtype='timedelta64[ns]')
    • lon
      (lon)
      float32
      -2.45 -2.35 -2.25 ... 42.35 42.45
      array([-2.450012, -2.349976, -2.25    , ..., 42.25    , 42.350006, 42.449997],\n",
      +       "      dtype=float32)
    • lat
      PandasIndex
      PandasIndex(Index([ 69.94999694824219,   69.8499984741211,              69.75,\n",
      +       "         69.6500015258789,  69.55000305175781,  69.44999694824219,\n",
      +       "         69.3499984741211,              69.25,   69.1500015258789,\n",
      +       "        69.05000305175781,\n",
      +       "       ...\n",
      +       "        55.45000076293945, 55.349998474121094,              55.25,\n",
      +       "       55.150001525878906,  55.04999923706055,  54.95000076293945,\n",
      +       "       54.849998474121094,              54.75, 54.650001525878906,\n",
      +       "        54.54999923706055],\n",
      +       "      dtype='float32', name='lat', length=155))
    • level
      PandasIndex
      PandasIndex(Index([0.0], dtype='float32', name='level'))
    • time
      PandasIndex
      PandasIndex(TimedeltaIndex(['0 days 00:00:00', '0 days 01:00:00', '0 days 02:00:00',\n",
      +       "                '0 days 03:00:00', '0 days 04:00:00', '0 days 05:00:00',\n",
      +       "                '0 days 06:00:00', '0 days 07:00:00', '0 days 08:00:00',\n",
      +       "                '0 days 09:00:00', '0 days 10:00:00', '0 days 11:00:00',\n",
      +       "                '0 days 12:00:00', '0 days 13:00:00', '0 days 14:00:00',\n",
      +       "                '0 days 15:00:00', '0 days 16:00:00', '0 days 17:00:00',\n",
      +       "                '0 days 18:00:00', '0 days 19:00:00', '0 days 20:00:00',\n",
      +       "                '0 days 21:00:00', '0 days 22:00:00', '0 days 23:00:00',\n",
      +       "                '1 days 00:00:00', '1 days 01:00:00', '1 days 02:00:00',\n",
      +       "                '1 days 03:00:00', '1 days 04:00:00', '1 days 05:00:00',\n",
      +       "                '1 days 06:00:00', '1 days 07:00:00', '1 days 08:00:00',\n",
      +       "                '1 days 09:00:00', '1 days 10:00:00', '1 days 11:00:00',\n",
      +       "                '1 days 12:00:00', '1 days 13:00:00', '1 days 14:00:00',\n",
      +       "                '1 days 15:00:00', '1 days 16:00:00', '1 days 17:00:00',\n",
      +       "                '1 days 18:00:00', '1 days 19:00:00', '1 days 20:00:00',\n",
      +       "                '1 days 21:00:00', '1 days 22:00:00', '1 days 23:00:00',\n",
      +       "                '2 days 00:00:00', '2 days 01:00:00', '2 days 02:00:00',\n",
      +       "                '2 days 03:00:00', '2 days 04:00:00', '2 days 05:00:00',\n",
      +       "                '2 days 06:00:00', '2 days 07:00:00', '2 days 08:00:00',\n",
      +       "                '2 days 09:00:00', '2 days 10:00:00', '2 days 11:00:00',\n",
      +       "                '2 days 12:00:00', '2 days 13:00:00', '2 days 14:00:00',\n",
      +       "                '2 days 15:00:00', '2 days 16:00:00', '2 days 17:00:00',\n",
      +       "                '2 days 18:00:00', '2 days 19:00:00', '2 days 20:00:00',\n",
      +       "                '2 days 21:00:00', '2 days 22:00:00', '2 days 23:00:00',\n",
      +       "                '3 days 00:00:00', '3 days 01:00:00', '3 days 02:00:00',\n",
      +       "                '3 days 03:00:00', '3 days 04:00:00', '3 days 05:00:00',\n",
      +       "                '3 days 06:00:00', '3 days 07:00:00', '3 days 08:00:00',\n",
      +       "                '3 days 09:00:00', '3 days 10:00:00', '3 days 11:00:00',\n",
      +       "                '3 days 12:00:00', '3 days 13:00:00', '3 days 14:00:00',\n",
      +       "                '3 days 15:00:00', '3 days 16:00:00', '3 days 17:00:00',\n",
      +       "                '3 days 18:00:00', '3 days 19:00:00', '3 days 20:00:00',\n",
      +       "                '3 days 21:00:00', '3 days 22:00:00', '3 days 23:00:00',\n",
      +       "                '4 days 00:00:00'],\n",
      +       "               dtype='timedelta64[ns]', name='time', freq=None))
    • lon
      PandasIndex
      PandasIndex(Index([ -2.45001220703125,   -2.3499755859375,              -2.25,\n",
      +       "         -2.1500244140625,  -2.04998779296875,  -1.95001220703125,\n",
      +       "         -1.8499755859375,              -1.75,   -1.6500244140625,\n",
      +       "        -1.54998779296875,\n",
      +       "       ...\n",
      +       "        41.55000305175781, 41.649993896484375,              41.75,\n",
      +       "       41.850006103515625,  41.94999694824219,  42.05000305175781,\n",
      +       "       42.149993896484375,              42.25, 42.350006103515625,\n",
      +       "        42.44999694824219],\n",
      +       "      dtype='float32', name='lon', length=450))
  • " ], "text/plain": [ - "\n", - "array([[[[277.14154, ..., 255.24866],\n", + "\n", + "array([[[[ 855.6641 , 852.48096, 833.32465, ..., 879.8937 ,\n", + " 902.90106, 865.896 ],\n", + " [ 885.7343 , 891.02075, 878.97 , ..., 971.65314,\n", + " 1061.4657 , 1015.5647 ],\n", + " [ 893.89136, 828.7204 , 800.25604, ..., 1032.3335 ,\n", + " 990.852 , 982.55286],\n", " ...,\n", - " [271.17374, ..., 259.73807]],\n", - "\n", - " ...,\n", - "\n", - " [[283.0737 , ..., 269.6892 ],\n", + " [10043.194 , 10672.565 , 11238.228 , ..., 7507.282 ,\n", + " 7414.5137 , 7444.7827 ],\n", + " [13826.692 , 14108.494 , 14563.739 , ..., 7519.0063 ,\n", + " 7214.311 , 7085.4043 ],\n", + " [14878.069 , 14873.55 , 14858.358 , ..., 7069.7866 ,\n", + " 7237.475 , 7302.5605 ]]],\n", + "\n", + "\n", + " [[[ 868.89185, 899.5873 , 930.3964 , ..., 936.80554,\n", + " 839.1485 , 772.7412 ],\n", + " [ 858.319 , 891.28815, 934.2618 , ..., 772.7412 ,\n", + " 733.67554, 716.23883],\n", + " [ 873.09827, 925.96265, 940.6993 , ..., 729.8386 ,\n", + "...\n", + " 6790.51 , 6748.986 ],\n", + " [ 1623.8978 , 1855.4778 , 2173.332 , ..., 5969.662 ,\n", + " 6049.47 , 6131.5386 ],\n", + " [ 2051.7156 , 2147.7383 , 1941.084 , ..., 5981.9263 ,\n", + " 5846.8096 , 5826.9146 ]]],\n", + "\n", + "\n", + " [[[ 1362.0598 , 1371.5527 , 1349.8243 , ..., 2480.518 ,\n", + " 2496.761 , 2526.6606 ],\n", + " [ 1398.2976 , 1351.3591 , 1315.5477 , ..., 2294.1143 ,\n", + " 2327.9363 , 2370.2136 ],\n", + " [ 1287.1544 , 1304.108 , 1268.4387 , ..., 2281.4312 ,\n", + " 2239.3528 , 2212.153 ],\n", " ...,\n", - " [272.89108, ..., 271.8542 ]]]], dtype=float32)\n", + " [ 1829.8173 , 1892.3165 , 1997.889 , ..., 6986.432 ,\n", + " 6914.4253 , 6935.685 ],\n", + " [ 1650.3838 , 1853.0875 , 2025.124 , ..., 6504.3003 ,\n", + " 6350.027 , 6176.655 ],\n", + " [ 1954.8159 , 2019.9797 , 1916.7521 , ..., 5647.4995 ,\n", + " 5836.5464 , 6040.9556 ]]]], dtype=float32)\n", "Coordinates:\n", - " * lat (lat) float64 55.13 56.07 57.02 57.96 ... 68.32 69.27 70.21 71.15\n", - " * lon (lon) float64 0.0 1.25 2.5 3.75 5.0 ... 38.75 40.0 41.25 42.5\n", - " * time (time) object 1850-01-15 12:00:00 ... 2014-12-15 12:00:00\n", - " * member_id (member_id) object 'r1i1p1f1'\n", - "Attributes:\n", - " cell_measures: area: areacella\n", - " cell_methods: area: time: mean\n", - " comment: near-surface (usually, 2 meter) air temperature\n", - " description: near-surface (usually, 2 meter) air temperature\n", - " frequency: mon\n", - " id: tas\n", - " long_name: Near-Surface Air Temperature\n", - " mipTable: Amon\n", - " out_name: tas\n", - " prov: Amon ((isd.003))\n", - " realm: atmos\n", - " standard_name: air_temperature\n", - " time: time\n", - " time_label: time-mean\n", - " time_title: Temporal mean\n", - " title: Near-Surface Air Temperature\n", - " type: real\n", - " units: K\n", - " variable_id: tas" - ] - }, - "execution_count": 26, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "tas_AOI = tas_ds.tas.sel(lat=slice(54.5,71.5), lon=slice(-2.5,42.5))\n", - "tas_AOI" - ] - }, - { - "cell_type": "markdown", - "id": "067dc4cf", - "metadata": {}, - "source": [ - ":::{tip} the values for `lat` and `lon` need to be selected in the order shown in the coordinate section (here in increasing order) and not always in increasing order?\n", - "**You need to use the same order as the corresponding DataArray**.\n", - ":::" - ] - }, - { - "cell_type": "markdown", - "id": "1ff8090c", - "metadata": {}, - "source": [ - "## Plotting\n", - " Plotting data can easily be obtained through matplotlib.pyplot back-end [matplotlib documentation](https://matplotlib.org/stable/index.html)." - ] - }, - { - "cell_type": "code", - "execution_count": 27, - "id": "a262ec7b", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "" + " * lat (lat) float32 69.95 69.85 69.75 69.65 ... 54.85 54.75 54.65 54.55\n", + " * level (level) float32 0.0\n", + " * time (time) timedelta64[ns] 00:00:00 01:00:00 ... 4 days 00:00:00\n", + " * lon (lon) float32 -2.45 -2.35 -2.25 -2.15 ... 42.15 42.25 42.35 42.45" ] }, - "execution_count": 27, + "execution_count": 33, "metadata": {}, "output_type": "execute_result" - }, - { - "data": { - "image/png": "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668RFBSEs2fPonbt2tnuSO/atWuedRQEJkNEREQqKOwZqEeOHIl169Zh69atcHR0RHx8PADA2dnZeGv8hAkT0Lt3bzRv3hytWrXCrl27sH37dhw4cABA5q33a9euRceOHeHi4oLz589j3LhxqFevnqyVKY4cOYJDhw5h586d2R5TcwB10Zu+koiI6EWQNQO1OZsCixcvRkJCAlq2bAkPDw/jtmHDBmOZHj16YMmSJZgzZw78/Pzw9ddfY9OmTWjWrBmAzNajn376CYGBgahevTqCg4PRrl077Nu3D1ZWed/VHBwcjAEDBuDWrVswGAwmm1qJEFCALUPe3t7Zmr+IiIhIHXJvbHp6WYwneXl5ZZt9Wol79+5h7NixcHNze+46CoLilqEbN27gr7/+Mv587NgxjBkzBkuXLjUpd/bs2Wwj3ImIiCiTgGT2VtRk3aZvaRS3DL3xxht46623MGDAAMTHx6Nt27aoVasW1qxZg/j4eHz88ccFEScREdELpbDXJrME1apVQ2hoKA4dOgQ/P79sPUjBwcGqxKU4GTp79ixefvllAMDGjRtRu3ZtHD58GHv27MHw4cOZDBEREclRDFet//rrr1GiRAlER0dn626TJKnoJEPp6enGOQz27dtnvA2uRo0auHXrVv5GR0RERC+MuLg4tUPIkeK0slatWliyZAl+/vln7N27F+3btwcA/P333yhTpky+B0hERPQiyrq13pytqEpLS8OFCxeg1+vVDgXAcyRDs2fPxldffYWWLVuib9++eOmllwAA27ZtM3afERER0bNljRkyZytqkpOTMXToUNjb26NWrVq4fv06gMyxQrNmzVItLsVXsmXLlrh79y7u3r2Lb775xrj/rbfewpIlS/I1OCIiInpxZC3qeuDAAdja2hr3t2nTxmS+o8L2XPMMCSEQExODy5cv44033oCjoyO0Wi3s7e3zOz4iIqIXUz4t1FqUbNmyBRs2bEDjxo1NVqz39fXF5cuXVYtLcTJ07do1tG/fHtevX0dqairatm0LR0dHzJkzBykpKWwdIiIiksPcrq4i2E12584duLq6Ztv/6NEjk+SosCm+ku+++y4aNmyI+/fvG9cyATKn8P7pp5/yNTgiIiJ6cfj7+2PHjh3Gn7MSoGXLlqFJkyZqhaU8GTp06BA+/PBDaLVak/3e3t64efOm4gBu3ryJ/v37o0yZMrC3t0fdunURExOTY9m3334bkiRhwYIFis9DRERkSYrTDNSvvvoqHjx4gPDwcEyaNAnvvPMO9Ho9Fi5ciLZt22LFihWYMWOGavEpToZyW0ztr7/+gqOjo6K67t+/j6ZNm8LGxgY7d+7E+fPnMXfuXJQsWTJb2S1btuDXX3+Fp6en0pCJiIgsTnG6m+zAgQNIS0tDQEAADh8+jOTkZFSuXBl79uyBm5sbfvnlFzRo0EC1+BSPGWrbti0WLFhgXItMkiQ8fPgQkydPRseOHRXVNXv2bHh5eSEiIsK4z8fHJ1u5mzdvYtSoUdi9ezc6deqkNGQAQPrjDKTLfN9orOVn21ZaeQvfPQ8rrfw3utZBJ7tsSZ/s/bXP4ljNR37hWvVlF73upmwqhtQMbd6FnoPOStlKyUrKazTy3x81NLGK4nC497fsslJGuuyy6XYlFcXxyNpZdtmkZPmvodLhA9Z5L5htlGGQXzY1TVkcaenyX/PUVPnvpbQ0BUEDSE+TX3d6mvy5XjL0yuJQwspG/q8krZ1t3oWeIGnkfZ9K1uqtnF5c+Pn5YeXKlWqHYUJxMjR//ny0atUKvr6+SElJwRtvvIFLly7BxcUF3377raK6tm3bhsDAQLz++uuIjo5GuXLlMGLECAwbNsxYxmAwYMCAAZgwYQJq1aqVZ52pqalITU01/pyYmKgoJiIiokIhwcy7yfItkkKRlJRkcjt9TpycnAopGlOKkyFPT0+cPn0a3377LU6ePAmDwYChQ4eiX79+JgOq5bhy5QoWL16MkJAQfPDBBzh27BiCg4Oh0+kwcOBAAJmtR9bW1rLXKwkPD8eUKVOUPi0iIqJCJaCBUD5axeT4oqRatWq5PiaEgCRJOQ7DKQzPNc+QnZ0dhgwZgiFDhph1coPBgIYNG2LmzJkAgHr16uHcuXNYvHgxBg4ciJiYGCxcuBAnT56UfctdaGgoQkJCjD8nJibCy8vLrDiJiIjym7lLahS15Ti+//57lC5dWu0wcvRcydDq1avx1Vdf4cqVK/jll1/g7e2N+fPno1KlSujWrZvsejw8PODr62uyr2bNmti0aRMA4Oeff8bt27dRoUIF4+MZGRkYN24cFixYgKtXr2arU6fTGReSJSIiIsvQtGnTHOcYsgSK29iyurU6dOiA+/fvG5u0SpUqpfiW96ZNm+LChQsm+y5evAhvb28AwIABA3DmzBmcPn3auHl6emLChAnYvXu30tCJiIgsRnG6m8zSKW4ZWrRoEZYtW4bu3bubLKrWsGFDjB8/XlFdY8eORUBAAGbOnIlevXrh2LFjWLp0qfFOtTJlyqBMmTImx9jY2MDd3R3Vq1dXGjoREZHFMHeuoKI0z5C3tzesrBTc8lnIFKeVcXFxqFevXrb9Op0Ojx49UlSXv78/IiMj8e2336J27dqYNm0aFixYgH79+ikNi4iIiCxUXFxctsYNS6K4ZahixYo4ffq0sSsry86dO7ON/5Gjc+fO6Ny5s+zyOY0TIiIiKmrM7epiN1n+UZwMTZgwASNHjkRKSgqEEDh27Bi+/fZbhIeH4+uvvy6IGImIiF44xe1uMkumOBkaPHgw9Ho9Jk6ciOTkZLzxxhsoV64cFi5ciD59+hREjEREREQFRlEbm16vx8qVK9GlSxdcu3YNt2/fRnx8PG7cuIGhQ4cWVIxEREQvnOK0UCsApKeno1WrVrh48aLaoWSjqGXI2toa77zzDmJjM9dQcnFxKZCgiIiIXnTFbcyQjY0Nzp49K3sS5cKk+Eo2atQIp06dKohYiIiI6AU2cOBALF++XO0wslE8ZmjEiBEYN24c/vrrLzRo0AAODg4mj9epUyffgiMiInpRFad5hrKkpaXh66+/xt69e9GwYcNsOcS8efNUiUtxMtS7d28AMFk4VZIk1RdZIyIiKkoEzOwmK2ILtQLA2bNnUb9+fQDINnYor+4zpeuaSZKEkydPZpsKKCeKk6G4uDilhxAREdFTimPLUFRU1HMf++DBAyxYsADOzs55lhVCYMSIEbIbaBQnQ3IyLCIiIqL81qdPH9mLvY4ePVp2vYqToW3btuW4X5Ik2NraokqVKqhYsaLSaomIiIqVzEkXzbmbrGi0DPXs2RMrVqyAk5MTevbs+cyymzdvzvUxg8Gg6LxJSUmyyypOhrp3724cI/SkJ8cNNWvWDFu2bEGpUqWUVk9ERFQsFJduMmdnZ+N4IDldXM9y8+ZNlCtX7pll1q5dq3iNU8XJ0N69ezFp0iTMmDEDL7/8MgDg2LFj+PDDD/HRRx/B2dkZb7/9NsaPH2+Rt88RERFR4YmIiMjx/8+jbdu2OHz4cK6NLevWrcPgwYMLPhl69913sXTpUgQEBBj3tW7dGra2tnjrrbdw7tw5LFiwAEOGDFFadYHSJ2ZAL7M10squYEbo29jbKCrv4FJCdlmXmuXl19s2UFEcl8u1kl02Mc0h70L/T59iGXdC6Kz1isprJPlNtRWka7LLOv95XFEcSE+TXdRQ2l122VtO1RWFcTtFfgtwhii4v2SV9BgoaW1/qhE8T1ZW8gOxxMnn8iJplMVsZWMlu6wOOvn1WsmvFwAey4xbY5WuqF5zcG2yTPfv38eaNWuwfPlynD59+pllXV1d0b59e+zfvz/bbfnr16/HoEGDMHv2bMUxKP5tdPnyZTg5OWXb7+TkhCtXrgAAqlatirt37yoOhoiIqLgQQjJ7K8r27duHvn37wtPTE3PmzEGLFi3yPOaHH35ARkYGunXrhvT0/xLXjRs3YuDAgZg5cybGjh2rOBbFyVCDBg0wYcIE3Llzx7jvzp07mDhxIvz9/QEAly5dQvny8lsqiIiI6MV3/fp1TJkyBT4+PujTpw82btyINWvW4MaNG1i4cGGex5coUQI7d+7EzZs30adPHwgh8N1336F///6YNm0axo8f/1xxKU6Gli9fjri4OJQvXx5VqlRB1apVUb58eVy9ehVff/01AODhw4f46KOPnisgIiKi4kGTOfHic27P8StcNRs3bkS7du1Qs2ZNnD17FgsXLsTff/8NjUaDmjVrKqqrbNmy2LNnD06cOIE2bdqgf//+mDx5Mt57773njk/xmKHq1asjNjYWu3fvxsWLFyGEQI0aNdC2bVtoNJkvTPfu3Z87ICIiouKguNxNBgBvvPEGJk6ciE2bNsHR0fG56zlz5ozx/5988gkGDhyIHj16oEuXLiaPKV0aTHEyBGQO+mvfvj1atmwJnU5XJAcBEhERUeEYMmQIvvzyS0RHR2PAgAHo3bv3c02/U7duXZOpfIQQ2LhxI7777jvjlD/PszSY4jY2g8GAadOmoVy5cihRooRxeY6PPvqIt9ITERHJlNUyZM5WVCxduhS3bt3CW2+9hW+//RYeHh7o1q0bhBCKJlOMi4vDlStXTP7N6f9KKU6Gpk+fjhUrVmDOnDnQarXG/X5+fsYxQ0RERPRsxSkZAgA7OzsEBQUhOjoav//+O3x9feHm5oamTZvijTfeeObs00BmF5mXlxe8vb3z3ADg3Llz0OvlTZ2iOBlatWoVli5din79+pnM81CnTh388ccfSqsjIiIqlopbMvSkqlWrIjw8HDdu3MCaNWuQnJyMvn37PvOYevXq4d69e7LP0aRJE1y/fl1WWcVjhm7evIkqVapk228wGEzu+SciIiJ6Fo1Ggy5duqBLly64ffv2M8sKIfDRRx/B3t5eVt1pafInplWcDNWqVQs///xzttXrv/vuO9SrV09pdURERMWSuRMnFvVJF5+W12r0zZs3x4ULF2TX16RJE9jZ2ckqqzgZmjx5MgYMGICbN2/CYDBg8+bNuHDhAlatWoUffvhBaXVERETFUnG6tT4/HDhwoMDqVjxmqEuXLtiwYQN+/PFHSJKEjz/+GLGxsdi+fTvatm1bEDESERERFZjnmmcoMDAQgYHKFvskIiKi/7BlyHIUnbm8iYiIXiDF9W6yBw8e4Ouvv0ZoaCj+/fdfAMDJkydx8+ZN1WKS1TJUqlQp2bNMZz0xIiIioiedOXMGbdq0gbOzM65evYphw4ahdOnSiIyMxLVr17Bq1SpV4pLVMrRgwQLMnz8f8+fPx4cffgggs6ssLCwMYWFhxi4zLs5KREQkj4BkvKPsuTaFLUPh4eHw9/eHo6MjXF1d0b179xzvzoqNjUXXrl3h7OwMR0dHNG7c2GS+ntTUVIwePRouLi5wcHBA165d8ddff8mKISQkBIMGDcKlS5dga2tr3N+hQwccPHhQ0fPJT7JahoKCgoz/f+211zB16lSMGjXKuC84OBiff/459u3bh7Fjx+Z/lERERC8YAyQYzOjqUnpsdHQ0Ro4cCX9/f+j1ekyaNAnt2rXD+fPn4eDgAAC4fPkymjVrhqFDh2LKlClwdnZGbGysSeIyZswYbN++HevXr0eZMmUwbtw4dO7cGTExMSaTMefk+PHj+Oqrr7LtL1euHOLj4xU9n/ykeAD17t27MXv27Gz7AwMD8f777+dLUERERJS/du3aZfJzREQEXF1dERMTg+bNmwMAJk2ahI4dO2LOnDnGcpUqVTL+PyEhAcuXL8fq1avRpk0bAMCaNWvg5eWFffv25Xlzla2tLRITE7Ptv3DhAsqWLfvcz81cigdQlylTBpGRkdn2b9myBWXKlMmXoIiIiF50+TWAOjEx0WRLTU2Vdf6EhAQAQOnSpQFkriSxY8cOVKtWDYGBgXB1dUWjRo2wZcsW4zExMTFIT09Hu3btjPs8PT1Ru3ZtHDlyJM9zduvWDVOnTjWuWCFJEq5fv473338fr732mqy4C4LilqEpU6Zg6NChOHDgAJo0aQIAOHr0KHbt2mXRC7XqH+qRLgmZpeVfFusSz24SfJJdKXkzYWZxqVledtl/B0+VXfZ8irKkNSlRm3eh/6eB3GsMaK3lr1QMANYa+eWVlNVZKVtGxlYj74sGAEpfPCq7rOHus6eif5pGq5NdNsPWQXbZB2mOiuJIz5D/GTAY5DfrK1jIGgCQoaC8kP82hbXCb0mDglmBbW0L7oZevV7+BbF3lP9estEquyApj+W/P1KT5X+2rGzk1wsAWjt532PpqcrqNUd+zUDt5eVlsn/y5MkICwvL41iBkJAQNGvWDLVr1wYA3L59Gw8fPsSsWbMwffp0zJ49G7t27ULPnj0RFRWFFi1aID4+HlqtFqVKlTKpz83NTVY316effoqOHTvC1dUVjx8/NtbZpEkTzJgxQ8Gzz1+Kk6FBgwahZs2a+Oyzz7B582YIIeDr64vDhw+jUaNGigO4efMm3nvvPezcuROPHz9GtWrVsHz5cjRo0ADp6en48MMP8eOPP+LKlStwdnZGmzZtMGvWLHh6eio+FxERkaUQMG+uoKyc/saNG3BycjLu1+nyTm5HjRqFM2fO4NChQ8Z9hv//C6Rbt27G8b9169bFkSNHsGTJErRo0SL3WISQdde5k5MTDh06hP379+PkyZMwGAyoX7++sctNLc816WKjRo2wdu1as09+//59NG3aFK1atcLOnTvh6uqKy5cvo2TJkgCA5ORknDx5Eh999BFeeukl3L9/H2PGjEHXrl1x4sQJs89PRERU1Dk5OZkkQ3kZPXo0tm3bhoMHD6J8+f96IFxcXGBtbQ1fX1+T8jVr1jQmTe7u7khLS8P9+/dNWodu376NgIAA2TG8+uqrePXVV2WXL2iykqHExERFFzopKQmOjnk3tc+ePRteXl6IiIgw7vPx8TH+39nZGXv37jU5ZtGiRXj55Zdx/fp1VKhQQXZMRERElqSwF2oVQmD06NGIjIzEgQMHULFiRZPHtVot/P39s91uf/HiRePi7A0aNICNjQ327t2LXr16AQBu3bqFs2fPmgy6zk1wcDCqVKmC4OBgk/2ff/45/vzzTyxYsEDRc8ovsjqsS5Uqhdu35Y9nKFeuHK5cuZJnuW3btqFhw4Z4/fXX4erqinr16mHZsmXPPCYhIQGSJBlbj56WmpqabTAZERGRpSnsGahHjhyJNWvWYN26dXB0dER8fDzi4+Px+PFjY5kJEyZgw4YNWLZsGf788098/vnn2L59O0aMGAEgs5Fi6NChGDduHH766SecOnUK/fv3h5+fn6yurk2bNqFp06bZ9gcEBOD7779X9Hzyk6yWISEEvv76a5QoUUJWpVmjxPNy5coVLF68GCEhIfjggw9w7NgxBAcHQ6fTYeDAgdnKp6Sk4P3338cbb7yRa0tVeHg4pkyZIuv8RERExcXixYsBAC1btjTZHxERgUGDBgEAevTogSVLliA8PBzBwcGoXr06Nm3ahGbNmhnLz58/H9bW1ujVqxceP36M1q1bY8WKFXnOMQQA9+7dg7Ozc7b9Tk5OuHv37vM/OTPJSoYqVKiQZ4vNk9zd3WFjY5NnOYPBgIYNG2LmzJkAgHr16uHcuXNYvHhxtmQoPT0dffr0gcFgwJdffplrnaGhoQgJCTH+nJiYmG2kPRERkdrU6CaTY8iQIRgyZEiuj9va2mLRokVYtGiRovMDQJUqVbBr1y6TiZsBYOfOnSbzGRU2WcnQ1atXC+TkHh4eOQ7U2rRpk8m+9PR09OrVC3Fxcdi/f/8zxy/pdDpZI+mJiIjUJAAonEEi2/FFTUhICEaNGoU7d+4YB1D/9NNPmDt3rmrjhYDnvJssvzRt2vSZA7WA/xKhS5cuISoqihM7EhERFVFDhgxBamoqZsyYgWnTpgHIvHEqpx6hwqRqMjR27FgEBARg5syZ6NWrF44dO4alS5di6dKlAAC9Xo///e9/OHnyJH744QdkZGQYJ3UqXbo0tFr5kwESERFZksLuJrMU77zzDt555x3cuXMHdnZ2sscjFyRVkyF/f39ERkYiNDQUU6dORcWKFbFgwQL069cPAPDXX39h27ZtADInfnpSVFRUtkFgRERERcXz3BH29PFFmZprkT1N1WQIADp37ozOnTvn+JiPj4/sAV9ERERk+b7//nts3LgR169fR1pamsljJ0+eVCWmglsYh4iIiHKV1U1mzlbUfPbZZxg8eDBcXV1x6tQpvPzyyyhTpgyuXLmCDh06qBbXcyVDP//8M/r3748mTZrg5s2bAIDVq1ebrHFCREREuSvsSRctwZdffomlS5fi888/h1arxcSJE7F3714EBwcjISFBtbgUJ0ObNm1CYGAg7OzscOrUKaSmZq4ynJSUZJwviIiIiJ7NIMzfiprr168b1zCzs7NDUlISAGDAgAH49ttvVYtLcTI0ffp0LFmyBMuWLTOZWDEgIEC1vj4iIiKyfO7u7rh37x4AwNvbG0ePHgUAxMXFqTpGWHEydOHCBTRv3jzbficnJzx48CA/YiIiInrhFcdusldffRXbt28HAAwdOhRjx45F27Zt0bt3b/To0UO1uBTfTebh4YE///zTZHV5ADh06JCqU2kTEREVJcVxnqGlS5fCYMicd3v48OEoXbo0Dh06hC5dumD48OGqxaW4Zejtt9/Gu+++i19//RWSJOHvv//G2rVrMX78eOOqtkREREQA0LNnTyQmJgIA1qxZg4yMDONjvXr1wmeffYbg4GBVJ1JW3DI0ceJEJCQkoFWrVkhJSUHz5s2h0+kwfvz4bAuvERERUc6EyNzMOb4o+OGHH/Do0SM4OTlh8ODBaN++PVxdXdUOy8RzTbo4Y8YMTJo0CefPn4fBYICvr69FTKdNRERUVBggwWDGuB9zji1MNWrUQGhoKFq1agUhBDZu3JjrgutqrU/23DNQ29vbo2HDhvkZS5GksZL/ZtQ6KGsC1LmUkl021aCTX1av7GW3kuT/+eGkS5VdVmulVxSHRpK/vrOkYD1nrSZdURw6KUV2WYOzgoWFb99SFIcSBmv57w9b67S8Cz0hzaDk/VRwk95rFPxe0NrkXSaLJCn7hVPSUf5774aCl1ynUzaqQa+3kl02I0P+Z0uj8Hro9Rl5F8qq28FWdlkbnbL3UnqqvO+btBT58ZI8S5YsQUhICHbs2AFJkvDhhx/m+LmSJMmyk6GePXvKrnDz5s3PHQwREVFxUVwGUAcEBBhvoddoNLh48WLR7CZzdnY2/l8IgcjISDg7OxtbhmJiYvDgwQNFSRMREVFxVlzGDGXR6/UYOHCgcbJmSyIrGYqIiDD+/7333kOvXr2wZMkSWFllNsNmZGRgxIgRufYBEhERUfFmbW2NTZs2ISwsTO1QslF8a/0333yD8ePHGxMhALCyskJISAi++eabfA2OiIjoRVUcJ11s3bo1Dhw4oHYY2SgezajX6xEbG4vq1aub7I+NjTVOpERERETPZu76YkVxbbIOHTogNDQUZ8+eRYMGDeDg4GDyeNeuXVWJS3EyNHjwYAwZMgR//vknGjduDAA4evQoZs2ahcGDB+d7gERERC8kMwdQo4gMoH7SO++8AwCYN29etsckSTKZkLEwKU6GPv30U7i7u2P+/Pm4dSvzvlAPDw9MnDgR48aNy/cAiYiI6MVgqT1IipMhjUaDiRMnYuLEicbptTlwmoiISJnidjeZJTNrBjQmQURERM+nuMxA/aSpU6c+8/GPP/64kCIxpTgZqlix4jNnZL1y5YpZAREREdGLKTIy0uTn9PR0xMXFwdraGpUrVy46ydCYMWNMfk5PT8epU6ewa9cuTJgwIb/iIiIieqEVx26yU6dOZduXmJiIQYMGoUePHipElElxMvTuu+/muP+LL77AiRMnzA6IiIioOCguy3HkxcnJCVOnTkXnzp0xYMAAVWJQPOlibjp06IBNmzblV3VERERUTDx48AAJCQmqnT/flpD+/vvvUbp06fyqjoiI6IVWHCdd/Oyzz0x+FkLg1q1bWL16Ndq3b69SVM+RDNWrV89kALUQAvHx8bhz5w6+/PLLfA2OiIjoRVUcxwzNnz/f5GeNRoOyZcsiKCgIoaGhKkX1HMlQt27dTJKhrCfSsmVL1KhRI1+DIyIiohdHXFyc2iHkSHEyZImrzRIRERU15i62WhQXan3atWvX8OjRI9SoUQMaTb4NY1ZM8ZmtrKxw+/btbPvv3btnspI9ERER5c6A/8YNPdem9hNQYOXKlViwYIHJvrfeeguVKlWCn58fateujRs3bqgTHJ4jGRK5dFKmpqZCq9WaHRAREVFxkDVmyJytqFiyZAmcnZ2NP+/atQsRERFYtWoVjh8/jpIlS2LKlCmqxSe7myxrBLgkSfj6669RokQJ42MZGRk4ePBgsRwzZMiQ/25MTUpRVHfKP3dll7XXPJJdtpRtwSWtDlbJssvqNMquh5VBL7usRshf+VhjULZKsk1GquyyetsSeRf6f0r7rDP+f21AOXTXz8suW9PumqI40ku5yy6b5Owlu+yZx8q+TzQa+VcwXS+/e0FroygMpKTJr9veTv7fo+npyn7zZdjJb6m3tpYfx+Nk+Z9DpQwKfrtrnrESQo7lreQ9R0mj8AUnWS5evIiGDRsaf966dSu6du2Kfv36AQBmzpyJwYMHqxWe/O/frBHgQggsWbLEpEtMq9XCx8cHS5Ysyf8IiYiIXkDF6W6yx48fm6xneuTIEQwZMsT4c6VKlRAfH69GaAAUJENZI8BbtWqFzZs3o1SpUgUWFBER0YvOICQYzJhF2pxjC5u3tzdiYmLg7e2Nu3fv4ty5c2jWrJnx8fj4eJNutMKmeMxQVFRUviZCN2/eRP/+/VGmTBnY29ujbt26iImJMT4uhEBYWBg8PT1hZ2eHli1b4ty5c/l2fiIiIipYAwcOxMiRIzFt2jS8/vrrqFGjBho0aGB8/MiRI6hdu7Zq8clqGQoJCcG0adPg4OCAkJCQZ5adN2+e7JPfv38fTZs2RatWrbBz5064urri8uXLKFmypLHMnDlzMG/ePKxYsQLVqlXD9OnT0bZtW1y4cAGOjo6yz0VERGRJilM32XvvvYfk5GRs3rwZ7u7u+O6770weP3z4MPr27atSdDKToVOnTiE9PR0AcPLkSZNJF80xe/ZseHl5ISIiwrjPx8fH+H8hBBYsWIBJkyahZ8+eADJvz3Nzc8O6devw9ttv50scREREha04JUMajQbTpk3DtGnTcnz86eSosMlKhqKiooz/P3DgQL6dfNu2bQgMDMTrr7+O6OholCtXDiNGjMCwYcMAZI5Tio+PR7t27YzH6HQ6tGjRAkeOHMkxGUpNTUVq6n93+yQquOOGiIiICseIESMwdepUuLi4qB2K8jFDQ4YMQVJSUrb9jx49MhkZLseVK1ewePFiVK1aFbt378bw4cMRHByMVatWAYBxZLmbm5vJcW5ubrmOOg8PD4ezs7Nx8/KSfysvERFRYRHmTLhYxOYZysmaNWsspsFCcTK0cuVKPH78ONv+x48fG5MYuQwGA+rXr4+ZM2eiXr16ePvttzFs2DAsXrzYpNzT3XJCiFy76kJDQ5GQkGDc1JzRkoiIKDdCSGZvRVlukzirQXYylJiYiISEBAghkJSUhMTERON2//59/Pjjj3B1dVV0cg8PD/j6+prsq1mzJq5fvw4AcHfPnMzt6Vag27dvZ2styqLT6eDk5GSyERERkboyMjIQHR2N+/fvqx1KNrLnGSpZsiQkSYIkSahWrVq2xyVJUjyVdtOmTXHhwgWTfRcvXoS3tzcAoGLFinB3d8fevXtRr149AEBaWhqio6Mxe/ZsReciIiKyJMVpADWQubZpYGAgYmNjUapUqRyH3KhFdjIUFRUFIQReffVVbNq0CaVLlzY+ptVq4e3tDU9PT0UnHzt2LAICAjBz5kz06tULx44dw9KlS7F06VIAmQnWmDFjMHPmTFStWhVVq1bFzJkzYW9vjzfeeEPRuYiIiCxJ1tgfc44vavz8/HDlyhVUrFhR7VBMyE6GWrRoASDzDi8vLy9oNIqHG2Xj7++PyMhIhIaGYurUqahYsSIWLFhgXKsEACZOnIjHjx9jxIgRuH//Pho1aoQ9e/ZwjiEiIirSilvLEADMmDED48ePx7Rp09CgQQM4ODiYPK7W0Bala0Mau7CSk5Nx/fp1pKWlmTxep04dRfV17twZnTt3zvVxSZIQFhaGsLAwpaESERGRBWnfvj0AoGvXriY3QmXdGJWRoWzh7PyiOBm6c+cOBg8ejJ07d+b4uFpPhIiIqCgpji1DT85baEkU93WNGTMG9+/fx9GjR2FnZ4ddu3Zh5cqVqFq1KrZt21YQMRIREb1wzJlj6HnGG4WHh8Pf3x+Ojo5wdXVF9+7ds93ENGjQIOPNUllb48aNTcq0bNkyW5k+ffrIiqFFixbP3NSiuGVo//792Lp1K/z9/aHRaODt7Y22bdvCyckJ4eHh6NSpU0HESURERGaIjo7GyJEj4e/vD71ej0mTJqFdu3Y4f/68ydid9u3bmyyTpdVqs9U1bNgwTJ061fiznZ2doljya6hNflGcDD169Mg4n1Dp0qVx584dVKtWDX5+fjh58mS+B0hERPQiKuxusl27dpn8HBERAVdXV8TExKB58+bG/TqdzjjPX27s7e3zLJMTSx1qo7ibrHr16sZmtbp16+Krr77CzZs3sWTJEnh4eOR7gERERC8ig8H8DYDJJMiJiYkm63M+S0JCAgCYTJUDZK5B6urqimrVqmHYsGG4fft2tmPXrl0LFxcX1KpVC+PHj5c9Z5ClDrVR3DI0ZswY3Lp1CwAwefJkBAYGYu3atdBqtVixYkV+x0dERETP8PQanJMnT87zDmwhBEJCQtCsWTPUrl3buL9Dhw54/fXX4e3tjbi4OHz00Ud49dVXERMTA51OBwDo16+fcVLks2fPIjQ0FL/99hv27t2bZ6yWOtRGcTL05BxA9erVw9WrV/HHH3+gQoUKFrHyLBERUVGQX91kN27cMJmfJytpeZZRo0bhzJkzOHTokMn+3r17G/9fu3ZtNGzYEN7e3tixYwd69uwJIHO80JNlqlatioYNG+LkyZOoX7/+M89rqUNtFCdDT7O3t8/zyVsCkS4gJHnvOoNe/rszI9Ugu2zaw7S8Cz0h5f5D2WXLx2ySXdapdktFcWhT5a8qrD1zKO9C/09ja6sojmTfANllDZKV/DiEsj5qm1T5r4vNlbOyy6be/VdRHEJB37ohTf57z0bhHzVWdvInQE0oU0Z2WZ2VstfFYCN/0co0BZPGpmcoWwzTStHgA/l1p6Ypi0PJnUbWVvILCyH/swUAkoLrodfL/z7NyFCWRWhkXj655fJDfiVDStfhHD16NLZt24aDBw+ifPnyzyzr4eEBb29vXLp0Kdcy9evXh42NDS5dupRnPpA11MbHx8c41MbHx0f1oTaykqGQkBDZFc6bN++5gyEiIqKCIYTA6NGjERkZiQMHDshaEuPevXu4cePGMxOVc+fOIT09XVYyY6lDbWQlQ6dOnZJV2ZOzSRIREVHuDDBzbTKF5UeOHIl169Zh69atcHR0RHx8PADA2dkZdnZ2ePjwIcLCwvDaa6/Bw8MDV69exQcffAAXFxf06NEDAHD58mWsXbsWHTt2hIuLC86fP49x48ahXr16aNq0aZ4xWOpQG1nJkKXOGElERFRUCSEgzOgnU3rs4sWLAWROmvikiIgIDBo0CFZWVvj999+xatUqPHjwAB4eHmjVqhU2bNhgXA9Uq9Xip59+wsKFC/Hw4UN4eXmhU6dOmDx5Mqys5HehpqWlIS4uDpUrV7aIoTZmjxkiIiIi5Qp7nqG8kic7Ozvs3r37mWW8vLwQHR2t7MRPSE5OxujRo7Fy5UoAwMWLF1GpUiUEBwfD09MT77///nPXbQ7zl54nIiIikiHrNvwDBw7A9ombaNq0aYMNGzaoFhdbhoiIiFQgnpg48XmPL2q2bNmCDRs2oHHjxibjjH19fXH58mXV4mIyREREpILiuGr9nTt3jPMMPenRo0eq3oTFbjIiIiIqFP7+/tixY4fx56wEaNmyZWjSpIlaYbFliIiISA0GYeat9UWwZSg8PBzt27fH+fPnodfrsXDhQpw7dw6//PKLWQOzzcWWISIiIhVkdZOZsxU1AQEBOHz4MJKTk1G5cmXs2bMHbm5u+OWXX9CgQQPV4mLLEBERERUaPz8/4631loLJEBERkQqEQUCY0ddlzrFkiskQERGRCorTmCGNRpPn3WKSJEGv1xdSRKaYDBEREVGBioyMzPWxI0eOYNGiRWYtTWIuJkNEREQqKE7zDHXr1i3bvj/++AOhoaHYvn07+vXrh2nTpqkQWSbeTUZERKQCg0GYvRVFf//9N4YNG4Y6depAr9fj9OnTWLlyJSpUqKBaTEyGiIiIVFDcbq1PSEjAe++9hypVquDcuXP46aefsH37dtSuXVvt0NhNRkRERAVrzpw5mD17Ntzd3fHtt9/m2G2mJiZDREREKihOY4bef/992NnZoUqVKli5cmWu8wxt3ry5kCPLxGQoByJd/lLAGY/ll01NSlMUx79X7sguq085ILus7vBxRXEYtDayy6Zq5C+0p3UqoSgOOzcv2WX19k6yy2oy0hXFYXX9ouyyj/+Mk102LfGhojiU0OozZJe1clT2umhSHskuK4T894ettbLXJUPI7/U3QH4cBfkLR2cjP44M+S9hZt1a+XWnKvhqstEqG12hZFiLklXY09KUvT8skUEIGMx4g5lzbGEbOHCgqgux5oXJEBERERWoFStWqB3CMzEZIiIiUoEwKGsNy+l4yh9MhoiIiFQgIMyaaFCg6HSTWTreWk9ERETFGluGiIiIVCAMgIHdZBZB1ZahsLAwSJJksrm7uxsff/jwIUaNGoXy5cvDzs4ONWvWxOLFi1WMmIiIKH8IIczeKH+o3jJUq1Yt7Nu3z/izlZWV8f9jx45FVFQU1qxZAx8fH+zZswcjRoyAp6enxU3YREREREWT6mOGrK2t4e7ubtzKli1rfOyXX35BUFAQWrZsCR8fH7z11lt46aWXcOLECRUjJiIiMp9BmL9R/lA9Gbp06RI8PT1RsWJF9OnTB1euXDE+1qxZM2zbtg03b96EEAJRUVG4ePEiAgMDc60vNTUViYmJJhsREZGlEQZh9kb5Q9VkqFGjRli1ahV2796NZcuWIT4+HgEBAbh37x4A4LPPPoOvry/Kly8PrVaL9u3b48svv0SzZs1yrTM8PBzOzs7GzctL/qzFREREhaW4LdRqyVRNhjp06IDXXnsNfn5+aNOmDXbs2AEAxjVLPvvsMxw9ehTbtm1DTEwM5s6dixEjRpiMMXpaaGgoEhISjNuNGzcK5bkQERFR0aT6AOonOTg4wM/PD5cuXcLjx4/xwQcfIDIyEp06dQIA1KlTB6dPn8ann36KNm3a5FiHTqeDTqcrzLCJiIgUMxgEDGZ0dZlzLJlSfczQk1JTUxEbGwsPDw+kp6cjPT0dGo1piFZWVjCYMzEDERGRBeCt9ZZD1Zah8ePHo0uXLqhQoQJu376N6dOnIzExEUFBQXByckKLFi0wYcIE2NnZwdvbG9HR0Vi1ahXmzZunZthERET0AlE1Gfrrr7/Qt29f3L17F2XLlkXjxo1x9OhReHt7AwDWr1+P0NBQ9OvXD//++y+8vb0xY8YMDB8+XM2wiYiIzMaFWi2HqsnQ+vXrn/m4u7s7IiIiCikaIiKiwmMQAgYzurrMOZZMWdSYISIiIqLCZlF3kxERERUX5g6C5gDq/MNkiIiISAW8td5ysJuMiIiIijW2DBUiQ4ayLD41KU122aR4+WuwZaQruwXB0bO07LJapxKyy+rcy+Zd6AlSeqrsslYpj2SX1aSnKIpDpMl/XVIfJMkum/7osaI4rHRa2WU1WvkfdalCJUVxJJetKLusjZQuv6wmQ1EcNlbyyyvpXbCSlP3NqDdIsstK8ovC2kpBYQAajfzyGgVPUaPweiihbK0tG0V1yx1srNHI/1yZy9wlNdhLln+YDBEREalACPMWW+WYofzDZIiIiEgFwsxb65kM5R+OGSIiIqJijS1DREREKhAGM7vJeDdZvmEyREREpAImQ5aD3WRERERUrLFliIiISAUGkbmZczzlDyZDREREKmA3meVgNxkREREVa2wZIiIiUgEXarUcTIaIiIhUYDCYt9iqQdnKSvQMTIaIiIhUwJYhy8ExQ0RERMVAeHg4/P394ejoCFdXV3Tv3h0XLlwwKTNo0CBIkmSyNW7c2KRMamoqRo8eDRcXFzg4OKBr167466+/CvOp5DsmQ0RERCrIupvMnE2J6OhojBw5EkePHsXevXuh1+vRrl07PHr0yKRc+/btcevWLeP2448/mjw+ZswYREZGYv369Th06BAePnyIzp07IyMjw+xrohZ2kxEREamgsG+t37Vrl8nPERERcHV1RUxMDJo3b27cr9Pp4O7unmMdCQkJWL58OVavXo02bdoAANasWQMvLy/s27cPgYGBCp+FZWDLEBERURGWmJhosqWmpso6LiEhAQBQunRpk/0HDhyAq6srqlWrhmHDhuH27dvGx2JiYpCeno527doZ93l6eqJ27do4cuRIPjwbdTAZIiIiUoEBAgZhxobMliEvLy84Ozsbt/Dw8DzPLYRASEgImjVrhtq1axv3d+jQAWvXrsX+/fsxd+5cHD9+HK+++qoxwYqPj4dWq0WpUqVM6nNzc0N8fHw+Xp3CxW4yIiIiFeRXN9mNGzfg5ORk3K/T6fI8dtSoUThz5gwOHTpksr93797G/9euXRsNGzaEt7c3duzYgZ49e+YeixCQJEnpU7AYbBkiIiIqwpycnEy2vJKh0aNHY9u2bYiKikL58uWfWdbDwwPe3t64dOkSAMDd3R1paWm4f/++Sbnbt2/Dzc3NvCeiIiZDREREKsiaZ8icTen5Ro0ahc2bN2P//v2oWLFinsfcu3cPN27cgIeHBwCgQYMGsLGxwd69e41lbt26hbNnzyIgIEDZBbAg7CbLgUEv/w0m0hWUzVD2xs1Ilz+9qJKyQuG0pbqSjvLLlsv5DoScSFqtojjw7+28y/w/jYKm57RbtxSFkXzrruyyKfeTZJc16JXdlippCuZvGWFlo6i8Rp8mu6x9RqLsshnWVoriEFDSRC//vScpvltY/usi2cj/LFprlHZByI/D2kp+3Q52yuJ49Fh++VSd/JjTFXxPA4DcvCElOe8upvwiDMKsGaiVdrGNHDkS69atw9atW+Ho6Ggc4+Ps7Aw7Ozs8fPgQYWFheO211+Dh4YGrV6/igw8+gIuLC3r06GEsO3ToUIwbNw5lypRB6dKlMX78ePj5+RnvLiuKmAwREREVA4sXLwYAtGzZ0mR/REQEBg0aBCsrK/z+++9YtWoVHjx4AA8PD7Rq1QobNmyAo+N/fxTPnz8f1tbW6NWrFx4/fozWrVtjxYoVsLJS9geMJWEyREREpILCnmcor241Ozs77N69O896bG1tsWjRIixatEjR+S0ZkyEiIiIVcG0yy8FkiIiISAXCYFA8hvPp4yl/8G4yIiIiKtbYMkRERKQCg5l3k5lzLJlStWUoLCwMkiSZbE8vDhcbG4uuXbvC2dkZjo6OaNy4Ma5fv65SxERERPmjsOcZotyp3jJUq1Yt7Nu3z/jzk7fmXb58Gc2aNcPQoUMxZcoUODs7IzY2Fra2tmqESkRERC8g1ZMha2vrbK1BWSZNmoSOHTtizpw5xn2VKlUqrNCIiIgKTGHfWk+5U30A9aVLl+Dp6YmKFSuiT58+uHLlCgDAYDBgx44dqFatGgIDA+Hq6opGjRphy5Ytz6wvNTUViYmJJhsREZGlyUqGzNkof6iaDDVq1AirVq3C7t27sWzZMsTHxyMgIAD37t3D7du38fDhQ8yaNQvt27fHnj170KNHD/Ts2RPR0dG51hkeHg5nZ2fj5uXlVYjPiIiIiIoaVbvJOnToYPy/n58fmjRpgsqVK2PlypXo06cPAKBbt24YO3YsAKBu3bo4cuQIlixZghYtWuRYZ2hoKEJCQow/JyYmMiEiIiKLY4ABBvH8cwUZwHmG8ovqY4ae5ODgAD8/P1y6dAkuLi6wtraGr6+vSZmaNWvi0KFDudah0+mg0xXeQntERETPQxjMG/djRh5FT1F9zNCTUlNTERsbCw8PD2i1Wvj7++PChQsmZS5evAhvb2+VIiQiIqIXjaotQ+PHj0eXLl1QoUIF3L59G9OnT0diYiKCgoIAABMmTEDv3r3RvHlztGrVCrt27cL27dtx4MABNcMmIiIyG+8msxyqJkN//fUX+vbti7t376Js2bJo3Lgxjh49amz56dGjB5YsWYLw8HAEBwejevXq2LRpE5o1a6Zm2ERERGbjQq2WQ9VkaP369XmWGTJkCIYMGVII0RARERUeg8EAgxmLrZpzLJmyqDFDRERERIXNou4mIyIiKi44ZshyMBnKgUiX/wbLeJwhu2x6kqQoDslKfvkMW6u8C/2/1KRURXEkxP0tu6z27gPZZfWPlcWhsZb/HCEpuHapaYriMOgLpmnaSqvs42jjIH+NPhvXsrLLSgb572kAsMqQf/1s05JklxVaZZ8XJd9mGsledtlHUDZVhxAKAjEoaJxX8PYHAFsbJe9T+XHoM5S9Lg528svb6uSXVdpDZCXz+j1+pPBCm0EIA4QZ98ebcyyZYjcZERERFWtsGSIiIlIBu8ksB5MhIiIiNZi72CqToXzDbjIiIiIq1tgyREREpAKDMHOhVg6gzjdMhoiIiFTAMUOWg91kREREVKyxZYiIiEgFQhggzFhSg/MM5R8mQ0RERCpgN5nlYDJERESkAs5AbTk4ZoiIiIiKNbYMERERqcBgAAxmdHWZMdyInsJkiIiISAXCYOYAamZD+YbdZERERFSssWWIiIhIBbybzHIwGSIiIlIB7yazHOwmIyIiomKNLUNEREQqYDeZ5WAyREREpALeTWY5XvhkSIjMzDm5gPpWNUJ+Zm5tkBTVnZ4hv3yGXi+7rD5dflkAQFq67KLaVPll9QrqBQCNkg++pODaKYzDoC+g95JBWa91emqa7LLicYrsstKjZEVx6CVb2WXT9Vayyz7WKrsejzTy635kkP8ZSE7XKYojVS//azVDwWueIRR+f+jll0/RK4hDwfdSZhzyy2Yo+GgpzQOsZL49HicnAvjvd0dBytA/UvV4+s8LnwwlJSUBAAYZ4grmBA8LqCwA3FJYnoiI8kVSUhKcnZ0LpG6tVgt3d3ec+KmX2XW5u7tDq9XmQ1TFmyQKI/1VkcFgwN9//w1HR0dIT7QWJCYmwsvLCzdu3ICTk5OKEcpXFGMGimbcjLnwFMW4GXPhKey4hRBISkqCp6cnNJqCu8coJSUFaWnyW3dzo9VqYWsrv3WWcvbCtwxpNBqUL18+18ednJyK1BcDUDRjBopm3Iy58BTFuBlz4SnMuAuqRehJtra2TGIsCG+tJyIiomKNyRAREREVa8U2GdLpdJg8eTJ0OmV3iqipKMYMFM24GXPhKYpxM+bCU1TjpqLlhR9ATURERPQsxbZliIiIiAhgMkRERETFHJMhIiIiKtaYDBEREVGxViyToS+//BIVK1aEra0tGjRogJ9//lntkJ4pLCwMkiSZbO7u7mqHZeLgwYPo0qULPD09IUkStmzZYvK4EAJhYWHw9PSEnZ0dWrZsiXPnzqkT7BPyinvQoEHZrn3jxo3VCRZAeHg4/P394ejoCFdXV3Tv3h0XLlwwKWOJ11pO3JZ2rRcvXow6deoYJ/tr0qQJdu7caXzcEq9zXjFb2jXOSXh4OCRJwpgxY4z7LPFa04ul2CVDGzZswJgxYzBp0iScOnUKr7zyCjp06IDr16+rHdoz1apVC7du3TJuv//+u9ohmXj06BFeeuklfP755zk+PmfOHMybNw+ff/45jh8/Dnd3d7Rt29a4dpxa8oobANq3b29y7X/88cdCjNBUdHQ0Ro4ciaNHj2Lv3r3Q6/Vo164dHj36b8FGS7zWcuIGLOtaly9fHrNmzcKJEydw4sQJvPrqq+jWrZvxl7AlXue8YgYs6xo/7fjx41i6dCnq1Kljst8SrzW9YEQx8/LLL4vhw4eb7KtRo4Z4//33VYoob5MnTxYvvfSS2mHIBkBERkYafzYYDMLd3V3MmjXLuC8lJUU4OzuLJUuWqBBhzp6OWwghgoKCRLdu3VSJR47bt28LACI6OloIUXSu9dNxC2H511oIIUqVKiW+/vrrInOdhfgvZiEs+xonJSWJqlWrir1794oWLVqId999VwhRdN7TVLQVq5ahtLQ0xMTEoF27dib727VrhyNHjqgUlTyXLl2Cp6cnKlasiD59+uDKlStqhyRbXFwc4uPjTa67TqdDixYtLP66A8CBAwfg6uqKatWqYdiwYbh9+7baIRklJCQAAEqXLg2g6Fzrp+POYqnXOiMjA+vXr8ejR4/QpEmTInGdn445i6Ve45EjR6JTp05o06aNyf6icK2p6HvhF2p90t27d5GRkQE3NzeT/W5uboiPj1cpqrw1atQIq1atQrVq1fDPP/9g+vTpCAgIwLlz51CmTBm1w8tT1rXN6bpfu3ZNjZBk69ChA15//XV4e3sjLi4OH330EV599VXExMSoPiOuEAIhISFo1qwZateuDaBoXOuc4gYs81r//vvvaNKkCVJSUlCiRAlERkbC19fX+EvYEq9zbjEDlnmNAWD9+vU4efIkjh8/nu2xovCepqKvWCVDWSRJMvlZCJFtnyXp0KGD8f9+fn5o0qQJKleujJUrVyIkJETFyJQpatcdAHr37m38f+3atdGwYUN4e3tjx44d6Nmzp4qRAaNGjcKZM2dw6NChbI9Z8rXOLW5LvNbVq1fH6dOn8eDBA2zatAlBQUGIjo42Pm6J1zm3mH19fS3yGt+4cQPvvvsu9uzZ88xV3C3xWtOLo1h1k7m4uMDKyipbK9Dt27ez/dVhyRwcHODn54dLly6pHYosWXe+FfXrDgAeHh7w9vZW/dqPHj0a27ZtQ1RUFMqXL2/cb+nXOre4c2IJ11qr1aJKlSpo2LAhwsPD8dJLL2HhwoUWfZ1zizknlnCNY2JicPv2bTRo0ADW1tawtrZGdHQ0PvvsM1hbWxuvpyVea3pxFKtkSKvVokGDBti7d6/J/r179yIgIEClqJRLTU1FbGwsPDw81A5FlooVK8Ld3d3kuqelpSE6OrpIXXcAuHfvHm7cuKHatRdCYNSoUdi8eTP279+PihUrmjxuqdc6r7hzova1zokQAqmpqRZ7nXOSFXNOLOEat27dGr///jtOnz5t3Bo2bIh+/frh9OnTqFSpUpG51lSEqTRwWzXr168XNjY2Yvny5eL8+fNizJgxwsHBQVy9elXt0HI1btw4ceDAAXHlyhVx9OhR0blzZ+Ho6GhRMSclJYlTp06JU6dOCQBi3rx54tSpU+LatWtCCCFmzZolnJ2dxebNm8Xvv/8u+vbtKzw8PERiYqLFxp2UlCTGjRsnjhw5IuLi4kRUVJRo0qSJKFeunGpxv/POO8LZ2VkcOHBA3Lp1y7glJycby1jitc4rbku81qGhoeLgwYMiLi5OnDlzRnzwwQdCo9GIPXv2CCEs8zo/K2ZLvMa5efJuMiEs81rTi6XYJUNCCPHFF18Ib29vodVqRf369U1u77VEvXv3Fh4eHsLGxkZ4enqKnj17inPnzqkdlomoqCgBINsWFBQkhMi8PXby5MnC3d1d6HQ60bx5c/H777+rG7R4dtzJycmiXbt2omzZssLGxkZUqFBBBAUFievXr6sWb06xAhARERHGMpZ4rfOK2xKv9ZAhQ4zfE2XLlhWtW7c2JkJCWOZ1flbMlniNc/N0MmSJ15peLJIQQhReOxQRERGRZSlWY4aIiIiInsZkiIiIiIo1JkNERERUrDEZIiIiomKNyRAREREVa0yGiIiIqFhjMkRERETFGpMhKhJatmyJMWPGvFDnHTRoELp3725WHT4+PpAkCZIk4cGDB7mWW7FiBUqWLGnWuSh3gwYNMr4OW7ZsUTscIlKIyRDRM2zevBnTpk0z/uzj44MFCxaoF1AOpk6dilu3bsHZ2VntUF54Bw4cyDHxXLhwIW7duqVOUERkNmu1AyCyZKVLl1Y7hDw5OjoaV1FXW3p6OmxsbNQOo9A5OzszGSUqwtgyREXS/fv3MXDgQJQqVQr29vbo0KEDLl26ZHw8q1to9+7dqFmzJkqUKIH27dub/PWu1+sRHByMkiVLokyZMnjvvfcQFBRk0nX1ZDdZy5Ytce3aNYwdO9bYJQIAYWFhqFu3rkl8CxYsgI+Pj/HnjIwMhISEGM81ceJEPL0SjhACc+bMQaVKlWBnZ4eXXnoJ33///XNdnxUrVqBChQqwt7dHjx49cO/evWxltm/fjgYNGsDW1haVKlXClClToNfrjY//8ccfaNasGWxtbeHr64t9+/aZdANdvXoVkiRh48aNaNmyJWxtbbFmzRoAQEREBGrWrAlbW1vUqFEDX375pcm5b968id69e6NUqVIoU6YMunXrhqtXrxofP3DgAF5++WU4ODigZMmSaNq0Ka5duybruef1vObNmwc/Pz84ODjAy8sLI0aMwMOHD42PX7t2DV26dEGpUqXg4OCAWrVq4ccff8TVq1fRqlUrAECpUqUgSRIGDRokKyYismxMhqhIGjRoEE6cOIFt27bhl19+gRACHTt2RHp6urFMcnIyPv30U6xevRoHDx7E9evXMX78eOPjs2fPxtq1axEREYHDhw8jMTHxmeM9Nm/ejPLlyxu7pZR0i8ydOxfffPMNli9fjkOHDuHff/9FZGSkSZkPP/wQERERWLx4Mc6dO4exY8eif//+iI6Oln9hAPz6668YMmQIRowYgdOnT6NVq1aYPn26SZndu3ejf//+CA4Oxvnz5/HVV19hxYoVmDFjBgDAYDCge/fusLe3x6+//oqlS5di0qRJOZ7vvffeQ3BwMGJjYxEYGIhly5Zh0qRJmDFjBmJjYzFz5kx89NFHWLlyJYDM16VVq1YoUaIEDh48iEOHDhmT1bS0NOj1enTv3h0tWrTAmTNn8Msvv+Ctt94yJp/PktfzAgCNRoPPPvsMZ8+excqVK7F//35MnDjR+PjIkSORmpqKgwcP4vfff8fs2bNRokQJeHl5YdOmTQCACxcu4NatW1i4cKGi14aILJSqy8QSyfTkKtYXL14UAMThw4eNj9+9e1fY2dmJjRs3CiGEiIiIEADEn3/+aSzzxRdfCDc3N+PPbm5u4pNPPjH+rNfrRYUKFUS3bt1yPK8QQnh7e4v58+ebxDZ58mTx0ksvmeybP3++8Pb2Nv7s4eEhZs2aZfw5PT1dlC9f3niuhw8fCltbW3HkyBGTeoYOHSr69u2b63XJKZ6+ffuK9u3bm+zr3bu3cHZ2Nv78yiuviJkzZ5qUWb16tfDw8BBCCLFz505hbW0tbt26ZXx87969AoCIjIwUQggRFxcnAIgFCxaY1OPl5SXWrVtnsm/atGmiSZMmQgghli9fLqpXry4MBoPx8dTUVGFnZyd2794t7t27JwCIAwcO5Pq8c5PX88rJxo0bRZkyZYw/+/n5ibCwsBzLRkVFCQDi/v37OT7+5PUhoqKDY4aoyImNjYW1tTUaNWpk3FemTBlUr14dsbGxxn329vaoXLmy8WcPDw/cvn0bAJCQkIB//vkHL7/8svFxKysrNGjQAAaDIV/jTUhIwK1bt9CkSRPjPmtrazRs2NDYVXb+/HmkpKSgbdu2JsempaWhXr16is4XGxuLHj16mOxr0qQJdu3aZfw5JiYGx48fN2kxycjIQEpKCpKTk3HhwgV4eXmZjEV68lo9qWHDhsb/37lzBzdu3MDQoUMxbNgw4369Xm8cUxMTE4M///wTjo6OJvWkpKTg8uXLaNeuHQYNGoTAwEC0bdsWbdq0Qa9eveDh4ZHnc8/rednb2yMqKgozZ87E+fPnkZiYCL1ej5SUFDx69AgODg4IDg7GO++8gz179qBNmzZ47bXXUKdOnTzPTURFF5MhKnLEU2Ntntz/ZFfK0wN5JUnKduzTXS+51f0sGo0m23FPdtfJkZWA7dixA+XKlTN5TKfTKapLznMwGAyYMmUKevbsme0xW1vbbNfyWRwcHEzqBYBly5aZJKtAZrKZVaZBgwZYu3ZttrrKli0LIHPMUXBwMHbt2oUNGzbgww8/xN69e9G4cWOznte1a9fQsWNHDB8+HNOmTUPp0qVx6NAhDB061PiavfnmmwgMDMSOHTuwZ88ehIeHY+7cuRg9erSs60FERQ+TISpyfH19odfr8euvvyIgIAAAcO/ePVy8eBE1a9aUVYezszPc3Nxw7NgxvPLKKwAyWxBOnTqVbTD0k7RaLTIyMkz2lS1bFvHx8SYJxOnTp03O5eHhgaNHj6J58+YAMltKYmJiUL9+feNz0ul0uH79Olq0aCHrOeTG19cXR48eNdn39M/169fHhQsXUKVKlRzrqFGjBq5fv45//vkHbm5uAIDjx4/neW43NzeUK1cOV65cQb9+/XIsU79+fWzYsAGurq5wcnLKta569eqhXr16CA0NRZMmTbBu3bo8k6G8nteJEyeg1+sxd+5caDSZQyY3btyYrZyXlxeGDx+O4cOHIzQ0FMuWLcPo0aOh1WoBINt7gIiKNiZDVORUrVoV3bp1w7Bhw/DVV1/B0dER77//PsqVK4du3brJrmf06NEIDw9HlSpVUKNGDSxatAj3799/ZouIj48PDh48iD59+kCn08HFxQUtW7bEnTt3MGfOHPzvf//Drl27sHPnTpNf9O+++y5mzZqFqlWrombNmpg3b57JXDWOjo4YP348xo4dC4PBgGbNmiExMRFHjhxBiRIlEBQUJPt5BQcHIyAgAHPmzEH37t2xZ88eky4yAPj444/RuXNneHl54fXXX4dGo8GZM2fw+++/Y/r06Wjbti0qV66MoKAgzJkzB0lJScYB1Hm1GIWFhSE4OBhOTk7o0KEDUlNTceLECdy/fx8hISHo168fPvnkE3Tr1g1Tp05F+fLlcf36dWzevBkTJkxAeno6li5diq5du8LT0xMXLlzAxYsXMXDgwDyfe17Pq3LlytDr9Vi0aBG6dOmCw4cPY8mSJSZ1jBkzBh06dEC1atVw//597N+/35hke3t7Q5Ik/PDDD+jYsSPs7OxQokQJ2a8NEVko1UYrESnw9EDmf//9VwwYMEA4OzsLOzs7ERgYKC5evGh8PCIiwmTAsBBCREZGiiff8unp6WLUqFHCyclJlCpVSrz33nvi9ddfF3369Mn1vL/88ouoU6eO0Ol0JnUtXrxYeHl5CQcHBzFw4EAxY8YMkwHU6enp4t133xVOTk6iZMmSIiQkRAwcONBksLbBYBALFy4U1atXFzY2NqJs2bIiMDBQREdH53pdchpALUTmIOXy5csLOzs70aVLF/Hpp59mux67du0SAQEBws7OTjg5OYmXX35ZLF261Ph4bGysaNq0qdBqtaJGjRpi+/btAoDYtWuXEOK/AdSnTp3Kdv61a9eKunXrCq1WK0qVKiWaN28uNm/ebHz81q1bYuDAgcLFxUXodDpRqVIlMWzYMJGQkCDi4+NF9+7dhYeHh9BqtcLb21t8/PHHIiMjI9froOR5zZs3T3h4eBjfN6tWrTIZFD1q1ChRuXJlodPpRNmyZcWAAQPE3bt3jcdPnTpVuLu7C0mSRFBQkMm5wQHUREWSJMRzDJIgegEZDAbUrFkTvXr1Mpl12pL5+PhgzJgxhbJUyeHDh9GsWTP8+eefJgPT6T+SJCEyMtLsZVaIqHBxniEqtq5du4Zly5bh4sWL+P333/HOO+8gLi4Ob7zxhtqhKfLee++hRIkSSEhIyNd6IyMjsXfvXly9ehX79u3DW2+9haZNmzIRysHw4cPZXUZUhLFliIqtGzduoE+fPjh79iyEEKhduzZmzZplHORcFFy7ds14F1SlSpWMg4Lzw6pVqzBt2jTcuHEDLi4uaNOmDebOnYsyZcrk2zmUqlWrVq4zUX/11Ve5DtouaLdv30ZiYiKAzCkcnrzDjogsH5MhIioynkz+nubm5pZt7iIiIjmYDBEREVGxxjFDREREVKwxGSIiIqJijckQERERFWtMhoiIiKhYYzJERERExRqTISIiIirWmAwRERFRscZkiIiIiIq1/wN3e+qLwERx+wAAAABJRU5ErkJggg==\n", - "text/plain": [ - "
    " - ] - }, - "metadata": {}, - "output_type": "display_data" } ], "source": [ - "tas_AOI.isel(time=0).plot(cmap=\"coolwarm\")" - ] - }, - { - "cell_type": "markdown", - "id": "a1d63f43", - "metadata": {}, - "source": [ - "In the next episode, we will learn more about advanced visualization tools and how to make interactive plots using [holoviews](https://holoviews.org/), a tool part of the [HoloViz](https://holoviz.org/) ecosystem." + "cams_AOI" ] }, { "cell_type": "markdown", - "id": "144e3997", + "id": "5b08fadf-0214-447f-938c-03655b8269d6", "metadata": {}, "source": [ - "## Basic maths\n", + "## Updating attributes\n", "\n", - "Near-surface temperature values are in Kelvin and we can easily convert them in degrees celcius." - ] - }, - { - "cell_type": "markdown", - "id": "6abf28d0", - "metadata": {}, - "source": [ - "Simple arithmetic operations can be performed without worrying about dimensions and coordinates, using the same notation we use with `numpy`. Underneath xarray will automatically vectorize the operations over all the data dimensions." + "As we changed the units of the variable PM2.5, we need to reflect this change in the metadata of the data e.g. the attributes of `pm2p5_conc`. As we can see above, the operation did not keep any attributes so we will first copy the attributes from the original dataset and update the units." ] }, { "cell_type": "code", - "execution_count": 28, - "id": "d1d77fd5", + "execution_count": 34, + "id": "dfef4688-7c85-41b6-af62-e7ca876fcd99", "metadata": {}, "outputs": [ { @@ -7022,6 +8847,11 @@ " grid-column: 4;\n", "}\n", "\n", + ".xr-index-preview {\n", + " grid-column: 2 / 5;\n", + " color: var(--xr-font-color2);\n", + "}\n", + "\n", ".xr-var-name,\n", ".xr-var-dims,\n", ".xr-var-dtype,\n", @@ -7043,14 +8873,16 @@ "}\n", "\n", ".xr-var-attrs,\n", - ".xr-var-data {\n", + ".xr-var-data,\n", + ".xr-index-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", + ".xr-var-data-in:checked ~ .xr-var-data,\n", + ".xr-index-data-in:checked ~ .xr-index-data {\n", " display: block;\n", "}\n", "\n", @@ -7060,13 +8892,16 @@ "\n", ".xr-var-name span,\n", ".xr-var-data,\n", + ".xr-index-name div,\n", + ".xr-index-data,\n", ".xr-attrs {\n", " padding-left: 25px !important;\n", "}\n", "\n", ".xr-attrs,\n", ".xr-var-attrs,\n", - ".xr-var-data {\n", + ".xr-var-data,\n", + ".xr-index-data {\n", " grid-column: 1 / -1;\n", "}\n", "\n", @@ -7104,7 +8939,8 @@ "}\n", "\n", ".xr-icon-database,\n", - ".xr-icon-file-text2 {\n", + ".xr-icon-file-text2,\n", + ".xr-no-icon {\n", " display: inline-block;\n", " vertical-align: middle;\n", " width: 1em;\n", @@ -7113,177 +8949,269 @@ " stroke: currentColor;\n", " fill: currentColor;\n", "}\n", - "
    <xarray.DataArray 'tas' (member_id: 1, time: 1980, lat: 18, lon: 35)>\n",
    -       "array([[[[  3.9915466 ,   3.9372864 ,   3.63208   , ..., -17.947784  ,\n",
    -       "          -18.09903   , -17.901337  ],\n",
    -       "         [  3.9906616 ,   3.8585205 ,   3.4658813 , ..., -19.287094  ,\n",
    -       "          -19.638443  , -19.815659  ],\n",
    -       "         [  3.8772888 ,   3.693756  ,   3.3085938 , ..., -20.736603  ,\n",
    -       "          -21.195053  , -21.357864  ],\n",
    +       "
    <xarray.DataArray 'pm2p5_conc' (time: 97, level: 1, lat: 155, lon: 450)>\n",
    +       "array([[[[  855.6641 ,   852.48096,   833.32465, ...,   879.8937 ,\n",
    +       "            902.90106,   865.896  ],\n",
    +       "         [  885.7343 ,   891.02075,   878.97   , ...,   971.65314,\n",
    +       "           1061.4657 ,  1015.5647 ],\n",
    +       "         [  893.89136,   828.7204 ,   800.25604, ...,  1032.3335 ,\n",
    +       "            990.852  ,   982.55286],\n",
            "         ...,\n",
    -       "         [ -0.11868286,   0.1071167 ,   0.3340149 , ..., -11.844849  ,\n",
    -       "          -12.702545  , -14.013733  ],\n",
    -       "         [ -0.9946594 ,  -0.6482544 ,  -0.4326172 , ..., -10.813141  ,\n",
    -       "          -12.086548  , -13.261871  ],\n",
    -       "         [ -1.9762573 ,  -1.6532898 ,  -1.2767944 , ..., -10.560425  ,\n",
    -       "          -11.828857  , -13.411926  ]],\n",
    -       "\n",
    -       "        [[  6.5706787 ,   6.261444  ,   5.76593   , ..., -10.512054  ,\n",
    -       "          -10.819702  , -11.010132  ],\n",
    -       "         [  6.6134033 ,   6.326996  ,   5.8705444 , ..., -10.703583  ,\n",
    -       "          -10.812073  , -11.228058  ],\n",
    -       "         [  6.63974   ,   6.3713074 ,   5.99823   , ..., -10.811035  ,\n",
    -       "          -11.002502  , -11.324585  ],\n",
    +       "         [10043.194  , 10672.565  , 11238.228  , ...,  7507.282  ,\n",
    +       "           7414.5137 ,  7444.7827 ],\n",
    +       "         [13826.692  , 14108.494  , 14563.739  , ...,  7519.0063 ,\n",
    +       "           7214.311  ,  7085.4043 ],\n",
    +       "         [14878.069  , 14873.55   , 14858.358  , ...,  7069.7866 ,\n",
    +       "           7237.475  ,  7302.5605 ]]],\n",
    +       "\n",
    +       "\n",
    +       "       [[[  868.89185,   899.5873 ,   930.3964 , ...,   936.80554,\n",
    +       "            839.1485 ,   772.7412 ],\n",
    +       "         [  858.319  ,   891.28815,   934.2618 , ...,   772.7412 ,\n",
    +       "            733.67554,   716.23883],\n",
    +       "         [  873.09827,   925.96265,   940.6993 , ...,   729.8386 ,\n",
            "...\n",
    -       "         [  4.5212708 ,   4.881195  ,   5.349457  , ...,  -0.38009644,\n",
    -       "           -0.14691162,  -0.15356445],\n",
    -       "         [  3.3636475 ,   3.8493652 ,   4.25      , ...,   0.430542  ,\n",
    -       "            0.32699585,   0.23458862],\n",
    -       "         [  2.291626  ,   2.7035522 ,   3.230133  , ...,   0.6605835 ,\n",
    -       "            0.5307617 ,   0.37503052]],\n",
    -       "\n",
    -       "        [[  9.923706  ,  10.213959  ,  10.246948  , ...,  -2.7084656 ,\n",
    -       "           -3.117157  ,  -3.460785  ],\n",
    -       "         [ 10.048218  ,  10.249817  ,  10.259094  , ...,  -2.855835  ,\n",
    -       "           -3.1342468 ,  -3.5550232 ],\n",
    -       "         [  9.972595  ,  10.138733  ,  10.1493225 , ...,  -3.176941  ,\n",
    -       "           -3.5891113 ,  -3.8943787 ],\n",
    +       "           6790.51   ,  6748.986  ],\n",
    +       "         [ 1623.8978 ,  1855.4778 ,  2173.332  , ...,  5969.662  ,\n",
    +       "           6049.47   ,  6131.5386 ],\n",
    +       "         [ 2051.7156 ,  2147.7383 ,  1941.084  , ...,  5981.9263 ,\n",
    +       "           5846.8096 ,  5826.9146 ]]],\n",
    +       "\n",
    +       "\n",
    +       "       [[[ 1362.0598 ,  1371.5527 ,  1349.8243 , ...,  2480.518  ,\n",
    +       "           2496.761  ,  2526.6606 ],\n",
    +       "         [ 1398.2976 ,  1351.3591 ,  1315.5477 , ...,  2294.1143 ,\n",
    +       "           2327.9363 ,  2370.2136 ],\n",
    +       "         [ 1287.1544 ,  1304.108  ,  1268.4387 , ...,  2281.4312 ,\n",
    +       "           2239.3528 ,  2212.153  ],\n",
            "         ...,\n",
    -       "         [  2.2316895 ,   2.5167236 ,   2.8789368 , ...,  -1.0142822 ,\n",
    -       "           -1.0447388 ,  -1.3068542 ],\n",
    -       "         [  0.93966675,   1.3753662 ,   1.7021484 , ...,  -0.4562683 ,\n",
    -       "           -0.82281494,  -1.1673279 ],\n",
    -       "         [ -0.25891113,   0.1281128 ,   0.6257019 , ...,  -0.47140503,\n",
    -       "           -0.86395264,  -1.2958069 ]]]], dtype=float32)\n",
    +       "         [ 1829.8173 ,  1892.3165 ,  1997.889  , ...,  6986.432  ,\n",
    +       "           6914.4253 ,  6935.685  ],\n",
    +       "         [ 1650.3838 ,  1853.0875 ,  2025.124  , ...,  6504.3003 ,\n",
    +       "           6350.027  ,  6176.655  ],\n",
    +       "         [ 1954.8159 ,  2019.9797 ,  1916.7521 , ...,  5647.4995 ,\n",
    +       "           5836.5464 ,  6040.9556 ]]]], dtype=float32)\n",
            "Coordinates:\n",
    -       "  * lat        (lat) float64 55.13 56.07 57.02 57.96 ... 68.32 69.27 70.21 71.15\n",
    -       "  * lon        (lon) float64 0.0 1.25 2.5 3.75 5.0 ... 38.75 40.0 41.25 42.5\n",
    -       "  * time       (time) object 1850-01-15 12:00:00 ... 2014-12-15 12:00:00\n",
    -       "  * member_id  (member_id) object 'r1i1p1f1'
    • lat
      (lat)
      float32
      69.95 69.85 69.75 ... 54.65 54.55
      long_name :
      latitude
      units :
      degrees_north
      array([69.95, 69.85, 69.75, 69.65, 69.55, 69.45, 69.35, 69.25, 69.15, 69.05,\n",
      +       "       68.95, 68.85, 68.75, 68.65, 68.55, 68.45, 68.35, 68.25, 68.15, 68.05,\n",
      +       "       67.95, 67.85, 67.75, 67.65, 67.55, 67.45, 67.35, 67.25, 67.15, 67.05,\n",
      +       "       66.95, 66.85, 66.75, 66.65, 66.55, 66.45, 66.35, 66.25, 66.15, 66.05,\n",
      +       "       65.95, 65.85, 65.75, 65.65, 65.55, 65.45, 65.35, 65.25, 65.15, 65.05,\n",
      +       "       64.95, 64.85, 64.75, 64.65, 64.55, 64.45, 64.35, 64.25, 64.15, 64.05,\n",
      +       "       63.95, 63.85, 63.75, 63.65, 63.55, 63.45, 63.35, 63.25, 63.15, 63.05,\n",
      +       "       62.95, 62.85, 62.75, 62.65, 62.55, 62.45, 62.35, 62.25, 62.15, 62.05,\n",
      +       "       61.95, 61.85, 61.75, 61.65, 61.55, 61.45, 61.35, 61.25, 61.15, 61.05,\n",
      +       "       60.95, 60.85, 60.75, 60.65, 60.55, 60.45, 60.35, 60.25, 60.15, 60.05,\n",
      +       "       59.95, 59.85, 59.75, 59.65, 59.55, 59.45, 59.35, 59.25, 59.15, 59.05,\n",
      +       "       58.95, 58.85, 58.75, 58.65, 58.55, 58.45, 58.35, 58.25, 58.15, 58.05,\n",
      +       "       57.95, 57.85, 57.75, 57.65, 57.55, 57.45, 57.35, 57.25, 57.15, 57.05,\n",
      +       "       56.95, 56.85, 56.75, 56.65, 56.55, 56.45, 56.35, 56.25, 56.15, 56.05,\n",
      +       "       55.95, 55.85, 55.75, 55.65, 55.55, 55.45, 55.35, 55.25, 55.15, 55.05,\n",
      +       "       54.95, 54.85, 54.75, 54.65, 54.55], dtype=float32)
    • level
      (level)
      float32
      0.0
      long_name :
      level
      units :
      m
      array([0.], dtype=float32)
    • time
      (time)
      timedelta64[ns]
      00:00:00 ... 4 days 00:00:00
      long_name :
      FORECAST time from 20211222
      array([              0,   3600000000000,   7200000000000,  10800000000000,\n",
      +       "        14400000000000,  18000000000000,  21600000000000,  25200000000000,\n",
      +       "        28800000000000,  32400000000000,  36000000000000,  39600000000000,\n",
      +       "        43200000000000,  46800000000000,  50400000000000,  54000000000000,\n",
      +       "        57600000000000,  61200000000000,  64800000000000,  68400000000000,\n",
      +       "        72000000000000,  75600000000000,  79200000000000,  82800000000000,\n",
      +       "        86400000000000,  90000000000000,  93600000000000,  97200000000000,\n",
      +       "       100800000000000, 104400000000000, 108000000000000, 111600000000000,\n",
      +       "       115200000000000, 118800000000000, 122400000000000, 126000000000000,\n",
      +       "       129600000000000, 133200000000000, 136800000000000, 140400000000000,\n",
      +       "       144000000000000, 147600000000000, 151200000000000, 154800000000000,\n",
      +       "       158400000000000, 162000000000000, 165600000000000, 169200000000000,\n",
      +       "       172800000000000, 176400000000000, 180000000000000, 183600000000000,\n",
      +       "       187200000000000, 190800000000000, 194400000000000, 198000000000000,\n",
      +       "       201600000000000, 205200000000000, 208800000000000, 212400000000000,\n",
      +       "       216000000000000, 219600000000000, 223200000000000, 226800000000000,\n",
      +       "       230400000000000, 234000000000000, 237600000000000, 241200000000000,\n",
      +       "       244800000000000, 248400000000000, 252000000000000, 255600000000000,\n",
      +       "       259200000000000, 262800000000000, 266400000000000, 270000000000000,\n",
      +       "       273600000000000, 277200000000000, 280800000000000, 284400000000000,\n",
      +       "       288000000000000, 291600000000000, 295200000000000, 298800000000000,\n",
      +       "       302400000000000, 306000000000000, 309600000000000, 313200000000000,\n",
      +       "       316800000000000, 320400000000000, 324000000000000, 327600000000000,\n",
      +       "       331200000000000, 334800000000000, 338400000000000, 342000000000000,\n",
      +       "       345600000000000], dtype='timedelta64[ns]')
    • lon
      (lon)
      float32
      -2.45 -2.35 -2.25 ... 42.35 42.45
      array([-2.450012, -2.349976, -2.25    , ..., 42.25    , 42.350006, 42.449997],\n",
      +       "      dtype=float32)
    • lat
      PandasIndex
      PandasIndex(Index([ 69.94999694824219,   69.8499984741211,              69.75,\n",
      +       "         69.6500015258789,  69.55000305175781,  69.44999694824219,\n",
      +       "         69.3499984741211,              69.25,   69.1500015258789,\n",
      +       "        69.05000305175781,\n",
      +       "       ...\n",
      +       "        55.45000076293945, 55.349998474121094,              55.25,\n",
      +       "       55.150001525878906,  55.04999923706055,  54.95000076293945,\n",
      +       "       54.849998474121094,              54.75, 54.650001525878906,\n",
      +       "        54.54999923706055],\n",
      +       "      dtype='float32', name='lat', length=155))
    • level
      PandasIndex
      PandasIndex(Index([0.0], dtype='float32', name='level'))
    • time
      PandasIndex
      PandasIndex(TimedeltaIndex(['0 days 00:00:00', '0 days 01:00:00', '0 days 02:00:00',\n",
      +       "                '0 days 03:00:00', '0 days 04:00:00', '0 days 05:00:00',\n",
      +       "                '0 days 06:00:00', '0 days 07:00:00', '0 days 08:00:00',\n",
      +       "                '0 days 09:00:00', '0 days 10:00:00', '0 days 11:00:00',\n",
      +       "                '0 days 12:00:00', '0 days 13:00:00', '0 days 14:00:00',\n",
      +       "                '0 days 15:00:00', '0 days 16:00:00', '0 days 17:00:00',\n",
      +       "                '0 days 18:00:00', '0 days 19:00:00', '0 days 20:00:00',\n",
      +       "                '0 days 21:00:00', '0 days 22:00:00', '0 days 23:00:00',\n",
      +       "                '1 days 00:00:00', '1 days 01:00:00', '1 days 02:00:00',\n",
      +       "                '1 days 03:00:00', '1 days 04:00:00', '1 days 05:00:00',\n",
      +       "                '1 days 06:00:00', '1 days 07:00:00', '1 days 08:00:00',\n",
      +       "                '1 days 09:00:00', '1 days 10:00:00', '1 days 11:00:00',\n",
      +       "                '1 days 12:00:00', '1 days 13:00:00', '1 days 14:00:00',\n",
      +       "                '1 days 15:00:00', '1 days 16:00:00', '1 days 17:00:00',\n",
      +       "                '1 days 18:00:00', '1 days 19:00:00', '1 days 20:00:00',\n",
      +       "                '1 days 21:00:00', '1 days 22:00:00', '1 days 23:00:00',\n",
      +       "                '2 days 00:00:00', '2 days 01:00:00', '2 days 02:00:00',\n",
      +       "                '2 days 03:00:00', '2 days 04:00:00', '2 days 05:00:00',\n",
      +       "                '2 days 06:00:00', '2 days 07:00:00', '2 days 08:00:00',\n",
      +       "                '2 days 09:00:00', '2 days 10:00:00', '2 days 11:00:00',\n",
      +       "                '2 days 12:00:00', '2 days 13:00:00', '2 days 14:00:00',\n",
      +       "                '2 days 15:00:00', '2 days 16:00:00', '2 days 17:00:00',\n",
      +       "                '2 days 18:00:00', '2 days 19:00:00', '2 days 20:00:00',\n",
      +       "                '2 days 21:00:00', '2 days 22:00:00', '2 days 23:00:00',\n",
      +       "                '3 days 00:00:00', '3 days 01:00:00', '3 days 02:00:00',\n",
      +       "                '3 days 03:00:00', '3 days 04:00:00', '3 days 05:00:00',\n",
      +       "                '3 days 06:00:00', '3 days 07:00:00', '3 days 08:00:00',\n",
      +       "                '3 days 09:00:00', '3 days 10:00:00', '3 days 11:00:00',\n",
      +       "                '3 days 12:00:00', '3 days 13:00:00', '3 days 14:00:00',\n",
      +       "                '3 days 15:00:00', '3 days 16:00:00', '3 days 17:00:00',\n",
      +       "                '3 days 18:00:00', '3 days 19:00:00', '3 days 20:00:00',\n",
      +       "                '3 days 21:00:00', '3 days 22:00:00', '3 days 23:00:00',\n",
      +       "                '4 days 00:00:00'],\n",
      +       "               dtype='timedelta64[ns]', name='time', freq=None))
    • lon
      PandasIndex
      PandasIndex(Index([ -2.45001220703125,   -2.3499755859375,              -2.25,\n",
      +       "         -2.1500244140625,  -2.04998779296875,  -1.95001220703125,\n",
      +       "         -1.8499755859375,              -1.75,   -1.6500244140625,\n",
      +       "        -1.54998779296875,\n",
      +       "       ...\n",
      +       "        41.55000305175781, 41.649993896484375,              41.75,\n",
      +       "       41.850006103515625,  41.94999694824219,  42.05000305175781,\n",
      +       "       42.149993896484375,              42.25, 42.350006103515625,\n",
      +       "        42.44999694824219],\n",
      +       "      dtype='float32', name='lon', length=450))
  • species :
    PM2.5 Aerosol
    units :
    µg/m3
    value :
    hourly values
    standard_name :
    mass_concentration_of_pm2p5_ambient_aerosol_in_air
  • " ], "text/plain": [ - "\n", - "array([[[[ 3.9915466 , 3.9372864 , 3.63208 , ..., -17.947784 ,\n", - " -18.09903 , -17.901337 ],\n", - " [ 3.9906616 , 3.8585205 , 3.4658813 , ..., -19.287094 ,\n", - " -19.638443 , -19.815659 ],\n", - " [ 3.8772888 , 3.693756 , 3.3085938 , ..., -20.736603 ,\n", - " -21.195053 , -21.357864 ],\n", + "\n", + "array([[[[ 855.6641 , 852.48096, 833.32465, ..., 879.8937 ,\n", + " 902.90106, 865.896 ],\n", + " [ 885.7343 , 891.02075, 878.97 , ..., 971.65314,\n", + " 1061.4657 , 1015.5647 ],\n", + " [ 893.89136, 828.7204 , 800.25604, ..., 1032.3335 ,\n", + " 990.852 , 982.55286],\n", " ...,\n", - " [ -0.11868286, 0.1071167 , 0.3340149 , ..., -11.844849 ,\n", - " -12.702545 , -14.013733 ],\n", - " [ -0.9946594 , -0.6482544 , -0.4326172 , ..., -10.813141 ,\n", - " -12.086548 , -13.261871 ],\n", - " [ -1.9762573 , -1.6532898 , -1.2767944 , ..., -10.560425 ,\n", - " -11.828857 , -13.411926 ]],\n", - "\n", - " [[ 6.5706787 , 6.261444 , 5.76593 , ..., -10.512054 ,\n", - " -10.819702 , -11.010132 ],\n", - " [ 6.6134033 , 6.326996 , 5.8705444 , ..., -10.703583 ,\n", - " -10.812073 , -11.228058 ],\n", - " [ 6.63974 , 6.3713074 , 5.99823 , ..., -10.811035 ,\n", - " -11.002502 , -11.324585 ],\n", + " [10043.194 , 10672.565 , 11238.228 , ..., 7507.282 ,\n", + " 7414.5137 , 7444.7827 ],\n", + " [13826.692 , 14108.494 , 14563.739 , ..., 7519.0063 ,\n", + " 7214.311 , 7085.4043 ],\n", + " [14878.069 , 14873.55 , 14858.358 , ..., 7069.7866 ,\n", + " 7237.475 , 7302.5605 ]]],\n", + "\n", + "\n", + " [[[ 868.89185, 899.5873 , 930.3964 , ..., 936.80554,\n", + " 839.1485 , 772.7412 ],\n", + " [ 858.319 , 891.28815, 934.2618 , ..., 772.7412 ,\n", + " 733.67554, 716.23883],\n", + " [ 873.09827, 925.96265, 940.6993 , ..., 729.8386 ,\n", "...\n", - " [ 4.5212708 , 4.881195 , 5.349457 , ..., -0.38009644,\n", - " -0.14691162, -0.15356445],\n", - " [ 3.3636475 , 3.8493652 , 4.25 , ..., 0.430542 ,\n", - " 0.32699585, 0.23458862],\n", - " [ 2.291626 , 2.7035522 , 3.230133 , ..., 0.6605835 ,\n", - " 0.5307617 , 0.37503052]],\n", - "\n", - " [[ 9.923706 , 10.213959 , 10.246948 , ..., -2.7084656 ,\n", - " -3.117157 , -3.460785 ],\n", - " [ 10.048218 , 10.249817 , 10.259094 , ..., -2.855835 ,\n", - " -3.1342468 , -3.5550232 ],\n", - " [ 9.972595 , 10.138733 , 10.1493225 , ..., -3.176941 ,\n", - " -3.5891113 , -3.8943787 ],\n", + " 6790.51 , 6748.986 ],\n", + " [ 1623.8978 , 1855.4778 , 2173.332 , ..., 5969.662 ,\n", + " 6049.47 , 6131.5386 ],\n", + " [ 2051.7156 , 2147.7383 , 1941.084 , ..., 5981.9263 ,\n", + " 5846.8096 , 5826.9146 ]]],\n", + "\n", + "\n", + " [[[ 1362.0598 , 1371.5527 , 1349.8243 , ..., 2480.518 ,\n", + " 2496.761 , 2526.6606 ],\n", + " [ 1398.2976 , 1351.3591 , 1315.5477 , ..., 2294.1143 ,\n", + " 2327.9363 , 2370.2136 ],\n", + " [ 1287.1544 , 1304.108 , 1268.4387 , ..., 2281.4312 ,\n", + " 2239.3528 , 2212.153 ],\n", " ...,\n", - " [ 2.2316895 , 2.5167236 , 2.8789368 , ..., -1.0142822 ,\n", - " -1.0447388 , -1.3068542 ],\n", - " [ 0.93966675, 1.3753662 , 1.7021484 , ..., -0.4562683 ,\n", - " -0.82281494, -1.1673279 ],\n", - " [ -0.25891113, 0.1281128 , 0.6257019 , ..., -0.47140503,\n", - " -0.86395264, -1.2958069 ]]]], dtype=float32)\n", + " [ 1829.8173 , 1892.3165 , 1997.889 , ..., 6986.432 ,\n", + " 6914.4253 , 6935.685 ],\n", + " [ 1650.3838 , 1853.0875 , 2025.124 , ..., 6504.3003 ,\n", + " 6350.027 , 6176.655 ],\n", + " [ 1954.8159 , 2019.9797 , 1916.7521 , ..., 5647.4995 ,\n", + " 5836.5464 , 6040.9556 ]]]], dtype=float32)\n", "Coordinates:\n", - " * lat (lat) float64 55.13 56.07 57.02 57.96 ... 68.32 69.27 70.21 71.15\n", - " * lon (lon) float64 0.0 1.25 2.5 3.75 5.0 ... 38.75 40.0 41.25 42.5\n", - " * time (time) object 1850-01-15 12:00:00 ... 2014-12-15 12:00:00\n", - " * member_id (member_id) object 'r1i1p1f1'" + " * lat (lat) float32 69.95 69.85 69.75 69.65 ... 54.85 54.75 54.65 54.55\n", + " * level (level) float32 0.0\n", + " * time (time) timedelta64[ns] 00:00:00 01:00:00 ... 4 days 00:00:00\n", + " * lon (lon) float32 -2.45 -2.35 -2.25 -2.15 ... 42.15 42.25 42.35 42.45\n", + "Attributes:\n", + " species: PM2.5 Aerosol\n", + " units: µg/m3\n", + " value: hourly values\n", + " standard_name: mass_concentration_of_pm2p5_ambient_aerosol_in_air" ] }, - "execution_count": 28, + "execution_count": 34, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "tas_AOI - 273.15" + "cams_AOI.attrs = cams.pm2p5_conc.attrs\n", + "cams_AOI" ] }, { - "cell_type": "markdown", - "id": "54f692ca", + "cell_type": "code", + "execution_count": 35, + "id": "079a509c-d560-4a08-9f33-e26cc873f4d7", "metadata": {}, + "outputs": [], "source": [ - "The universal function ([ufunc](https://numpy.org/doc/stable/reference/ufuncs.html)) from numpy and scipy can be applied too directly to the data. There are currently more than 60 universal functions defined in numpy on one or more types, covering a wide variety of operations including math operations, trigonometric functions, etc." + "cams_AOI.attrs[\"units\"] = \"ng/m3\"" ] }, { "cell_type": "code", - "execution_count": 29, - "id": "dffbbf28", + "execution_count": 36, + "id": "f9dc638f-7b94-4308-b2d9-a6b27c89d22d", "metadata": {}, "outputs": [ { @@ -7550,6 +9478,11 @@ " grid-column: 4;\n", "}\n", "\n", + ".xr-index-preview {\n", + " grid-column: 2 / 5;\n", + " color: var(--xr-font-color2);\n", + "}\n", + "\n", ".xr-var-name,\n", ".xr-var-dims,\n", ".xr-var-dtype,\n", @@ -7571,14 +9504,16 @@ "}\n", "\n", ".xr-var-attrs,\n", - ".xr-var-data {\n", + ".xr-var-data,\n", + ".xr-index-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", + ".xr-var-data-in:checked ~ .xr-var-data,\n", + ".xr-index-data-in:checked ~ .xr-index-data {\n", " display: block;\n", "}\n", "\n", @@ -7588,13 +9523,16 @@ "\n", ".xr-var-name span,\n", ".xr-var-data,\n", + ".xr-index-name div,\n", + ".xr-index-data,\n", ".xr-attrs {\n", " padding-left: 25px !important;\n", "}\n", "\n", ".xr-attrs,\n", ".xr-var-attrs,\n", - ".xr-var-data {\n", + ".xr-var-data,\n", + ".xr-index-data {\n", " grid-column: 1 / -1;\n", "}\n", "\n", @@ -7632,7 +9570,8 @@ "}\n", "\n", ".xr-icon-database,\n", - ".xr-icon-file-text2 {\n", + ".xr-icon-file-text2,\n", + ".xr-no-icon {\n", " display: inline-block;\n", " vertical-align: middle;\n", " width: 1em;\n", @@ -7641,219 +9580,268 @@ " stroke: currentColor;\n", " fill: currentColor;\n", "}\n", - "
    <xarray.DataArray 'tas' (member_id: 1, time: 1980, lat: 18, lon: 35)>\n",
    -       "array([[[[  3.9915466 ,   3.9372864 ,   3.63208   , ..., -17.947784  ,\n",
    -       "          -18.09903   , -17.901337  ],\n",
    -       "         [  3.9906616 ,   3.8585205 ,   3.4658813 , ..., -19.287094  ,\n",
    -       "          -19.638443  , -19.815659  ],\n",
    -       "         [  3.8772888 ,   3.693756  ,   3.3085938 , ..., -20.736603  ,\n",
    -       "          -21.195053  , -21.357864  ],\n",
    +       "
    <xarray.DataArray 'pm2p5_conc' (time: 97, level: 1, lat: 155, lon: 450)>\n",
    +       "array([[[[  855.6641 ,   852.48096,   833.32465, ...,   879.8937 ,\n",
    +       "            902.90106,   865.896  ],\n",
    +       "         [  885.7343 ,   891.02075,   878.97   , ...,   971.65314,\n",
    +       "           1061.4657 ,  1015.5647 ],\n",
    +       "         [  893.89136,   828.7204 ,   800.25604, ...,  1032.3335 ,\n",
    +       "            990.852  ,   982.55286],\n",
            "         ...,\n",
    -       "         [ -0.11868286,   0.1071167 ,   0.3340149 , ..., -11.844849  ,\n",
    -       "          -12.702545  , -14.013733  ],\n",
    -       "         [ -0.9946594 ,  -0.6482544 ,  -0.4326172 , ..., -10.813141  ,\n",
    -       "          -12.086548  , -13.261871  ],\n",
    -       "         [ -1.9762573 ,  -1.6532898 ,  -1.2767944 , ..., -10.560425  ,\n",
    -       "          -11.828857  , -13.411926  ]],\n",
    -       "\n",
    -       "        [[  6.5706787 ,   6.261444  ,   5.76593   , ..., -10.512054  ,\n",
    -       "          -10.819702  , -11.010132  ],\n",
    -       "         [  6.6134033 ,   6.326996  ,   5.8705444 , ..., -10.703583  ,\n",
    -       "          -10.812073  , -11.228058  ],\n",
    -       "         [  6.63974   ,   6.3713074 ,   5.99823   , ..., -10.811035  ,\n",
    -       "          -11.002502  , -11.324585  ],\n",
    +       "         [10043.194  , 10672.565  , 11238.228  , ...,  7507.282  ,\n",
    +       "           7414.5137 ,  7444.7827 ],\n",
    +       "         [13826.692  , 14108.494  , 14563.739  , ...,  7519.0063 ,\n",
    +       "           7214.311  ,  7085.4043 ],\n",
    +       "         [14878.069  , 14873.55   , 14858.358  , ...,  7069.7866 ,\n",
    +       "           7237.475  ,  7302.5605 ]]],\n",
    +       "\n",
    +       "\n",
    +       "       [[[  868.89185,   899.5873 ,   930.3964 , ...,   936.80554,\n",
    +       "            839.1485 ,   772.7412 ],\n",
    +       "         [  858.319  ,   891.28815,   934.2618 , ...,   772.7412 ,\n",
    +       "            733.67554,   716.23883],\n",
    +       "         [  873.09827,   925.96265,   940.6993 , ...,   729.8386 ,\n",
            "...\n",
    -       "         [  4.5212708 ,   4.881195  ,   5.349457  , ...,  -0.38009644,\n",
    -       "           -0.14691162,  -0.15356445],\n",
    -       "         [  3.3636475 ,   3.8493652 ,   4.25      , ...,   0.430542  ,\n",
    -       "            0.32699585,   0.23458862],\n",
    -       "         [  2.291626  ,   2.7035522 ,   3.230133  , ...,   0.6605835 ,\n",
    -       "            0.5307617 ,   0.37503052]],\n",
    -       "\n",
    -       "        [[  9.923706  ,  10.213959  ,  10.246948  , ...,  -2.7084656 ,\n",
    -       "           -3.117157  ,  -3.460785  ],\n",
    -       "         [ 10.048218  ,  10.249817  ,  10.259094  , ...,  -2.855835  ,\n",
    -       "           -3.1342468 ,  -3.5550232 ],\n",
    -       "         [  9.972595  ,  10.138733  ,  10.1493225 , ...,  -3.176941  ,\n",
    -       "           -3.5891113 ,  -3.8943787 ],\n",
    +       "           6790.51   ,  6748.986  ],\n",
    +       "         [ 1623.8978 ,  1855.4778 ,  2173.332  , ...,  5969.662  ,\n",
    +       "           6049.47   ,  6131.5386 ],\n",
    +       "         [ 2051.7156 ,  2147.7383 ,  1941.084  , ...,  5981.9263 ,\n",
    +       "           5846.8096 ,  5826.9146 ]]],\n",
    +       "\n",
    +       "\n",
    +       "       [[[ 1362.0598 ,  1371.5527 ,  1349.8243 , ...,  2480.518  ,\n",
    +       "           2496.761  ,  2526.6606 ],\n",
    +       "         [ 1398.2976 ,  1351.3591 ,  1315.5477 , ...,  2294.1143 ,\n",
    +       "           2327.9363 ,  2370.2136 ],\n",
    +       "         [ 1287.1544 ,  1304.108  ,  1268.4387 , ...,  2281.4312 ,\n",
    +       "           2239.3528 ,  2212.153  ],\n",
            "         ...,\n",
    -       "         [  2.2316895 ,   2.5167236 ,   2.8789368 , ...,  -1.0142822 ,\n",
    -       "           -1.0447388 ,  -1.3068542 ],\n",
    -       "         [  0.93966675,   1.3753662 ,   1.7021484 , ...,  -0.4562683 ,\n",
    -       "           -0.82281494,  -1.1673279 ],\n",
    -       "         [ -0.25891113,   0.1281128 ,   0.6257019 , ...,  -0.47140503,\n",
    -       "           -0.86395264,  -1.2958069 ]]]], dtype=float32)\n",
    +       "         [ 1829.8173 ,  1892.3165 ,  1997.889  , ...,  6986.432  ,\n",
    +       "           6914.4253 ,  6935.685  ],\n",
    +       "         [ 1650.3838 ,  1853.0875 ,  2025.124  , ...,  6504.3003 ,\n",
    +       "           6350.027  ,  6176.655  ],\n",
    +       "         [ 1954.8159 ,  2019.9797 ,  1916.7521 , ...,  5647.4995 ,\n",
    +       "           5836.5464 ,  6040.9556 ]]]], dtype=float32)\n",
            "Coordinates:\n",
    -       "  * lat        (lat) float64 55.13 56.07 57.02 57.96 ... 68.32 69.27 70.21 71.15\n",
    -       "  * lon        (lon) float64 0.0 1.25 2.5 3.75 5.0 ... 38.75 40.0 41.25 42.5\n",
    -       "  * time       (time) object 1850-01-15 12:00:00 ... 2014-12-15 12:00:00\n",
    -       "  * member_id  (member_id) object 'r1i1p1f1'\n",
    +       "  * lat      (lat) float32 69.95 69.85 69.75 69.65 ... 54.85 54.75 54.65 54.55\n",
    +       "  * level    (level) float32 0.0\n",
    +       "  * time     (time) timedelta64[ns] 00:00:00 01:00:00 ... 4 days 00:00:00\n",
    +       "  * lon      (lon) float32 -2.45 -2.35 -2.25 -2.15 ... 42.15 42.25 42.35 42.45\n",
            "Attributes:\n",
    -       "    cell_measures:  area: areacella\n",
    -       "    cell_methods:   area: time: mean\n",
    -       "    comment:        near-surface (usually, 2 meter) air temperature\n",
    -       "    description:    near-surface (usually, 2 meter) air temperature\n",
    -       "    frequency:      mon\n",
    -       "    id:             tas\n",
    -       "    long_name:      Near-Surface Air Temperature\n",
    -       "    mipTable:       Amon\n",
    -       "    out_name:       tas\n",
    -       "    prov:           Amon ((isd.003))\n",
    -       "    realm:          atmos\n",
    -       "    standard_name:  air_temperature\n",
    -       "    time:           time\n",
    -       "    time_label:     time-mean\n",
    -       "    time_title:     Temporal mean\n",
    -       "    title:          Near-Surface Air Temperature\n",
    -       "    type:           real\n",
    -       "    units:          K\n",
    -       "    variable_id:    tas
    • lat
      (lat)
      float32
      69.95 69.85 69.75 ... 54.65 54.55
      long_name :
      latitude
      units :
      degrees_north
      array([69.95, 69.85, 69.75, 69.65, 69.55, 69.45, 69.35, 69.25, 69.15, 69.05,\n",
      +       "       68.95, 68.85, 68.75, 68.65, 68.55, 68.45, 68.35, 68.25, 68.15, 68.05,\n",
      +       "       67.95, 67.85, 67.75, 67.65, 67.55, 67.45, 67.35, 67.25, 67.15, 67.05,\n",
      +       "       66.95, 66.85, 66.75, 66.65, 66.55, 66.45, 66.35, 66.25, 66.15, 66.05,\n",
      +       "       65.95, 65.85, 65.75, 65.65, 65.55, 65.45, 65.35, 65.25, 65.15, 65.05,\n",
      +       "       64.95, 64.85, 64.75, 64.65, 64.55, 64.45, 64.35, 64.25, 64.15, 64.05,\n",
      +       "       63.95, 63.85, 63.75, 63.65, 63.55, 63.45, 63.35, 63.25, 63.15, 63.05,\n",
      +       "       62.95, 62.85, 62.75, 62.65, 62.55, 62.45, 62.35, 62.25, 62.15, 62.05,\n",
      +       "       61.95, 61.85, 61.75, 61.65, 61.55, 61.45, 61.35, 61.25, 61.15, 61.05,\n",
      +       "       60.95, 60.85, 60.75, 60.65, 60.55, 60.45, 60.35, 60.25, 60.15, 60.05,\n",
      +       "       59.95, 59.85, 59.75, 59.65, 59.55, 59.45, 59.35, 59.25, 59.15, 59.05,\n",
      +       "       58.95, 58.85, 58.75, 58.65, 58.55, 58.45, 58.35, 58.25, 58.15, 58.05,\n",
      +       "       57.95, 57.85, 57.75, 57.65, 57.55, 57.45, 57.35, 57.25, 57.15, 57.05,\n",
      +       "       56.95, 56.85, 56.75, 56.65, 56.55, 56.45, 56.35, 56.25, 56.15, 56.05,\n",
      +       "       55.95, 55.85, 55.75, 55.65, 55.55, 55.45, 55.35, 55.25, 55.15, 55.05,\n",
      +       "       54.95, 54.85, 54.75, 54.65, 54.55], dtype=float32)
    • level
      (level)
      float32
      0.0
      long_name :
      level
      units :
      m
      array([0.], dtype=float32)
    • time
      (time)
      timedelta64[ns]
      00:00:00 ... 4 days 00:00:00
      long_name :
      FORECAST time from 20211222
      array([              0,   3600000000000,   7200000000000,  10800000000000,\n",
      +       "        14400000000000,  18000000000000,  21600000000000,  25200000000000,\n",
      +       "        28800000000000,  32400000000000,  36000000000000,  39600000000000,\n",
      +       "        43200000000000,  46800000000000,  50400000000000,  54000000000000,\n",
      +       "        57600000000000,  61200000000000,  64800000000000,  68400000000000,\n",
      +       "        72000000000000,  75600000000000,  79200000000000,  82800000000000,\n",
      +       "        86400000000000,  90000000000000,  93600000000000,  97200000000000,\n",
      +       "       100800000000000, 104400000000000, 108000000000000, 111600000000000,\n",
      +       "       115200000000000, 118800000000000, 122400000000000, 126000000000000,\n",
      +       "       129600000000000, 133200000000000, 136800000000000, 140400000000000,\n",
      +       "       144000000000000, 147600000000000, 151200000000000, 154800000000000,\n",
      +       "       158400000000000, 162000000000000, 165600000000000, 169200000000000,\n",
      +       "       172800000000000, 176400000000000, 180000000000000, 183600000000000,\n",
      +       "       187200000000000, 190800000000000, 194400000000000, 198000000000000,\n",
      +       "       201600000000000, 205200000000000, 208800000000000, 212400000000000,\n",
      +       "       216000000000000, 219600000000000, 223200000000000, 226800000000000,\n",
      +       "       230400000000000, 234000000000000, 237600000000000, 241200000000000,\n",
      +       "       244800000000000, 248400000000000, 252000000000000, 255600000000000,\n",
      +       "       259200000000000, 262800000000000, 266400000000000, 270000000000000,\n",
      +       "       273600000000000, 277200000000000, 280800000000000, 284400000000000,\n",
      +       "       288000000000000, 291600000000000, 295200000000000, 298800000000000,\n",
      +       "       302400000000000, 306000000000000, 309600000000000, 313200000000000,\n",
      +       "       316800000000000, 320400000000000, 324000000000000, 327600000000000,\n",
      +       "       331200000000000, 334800000000000, 338400000000000, 342000000000000,\n",
      +       "       345600000000000], dtype='timedelta64[ns]')
    • lon
      (lon)
      float32
      -2.45 -2.35 -2.25 ... 42.35 42.45
      array([-2.450012, -2.349976, -2.25    , ..., 42.25    , 42.350006, 42.449997],\n",
      +       "      dtype=float32)
    • lat
      PandasIndex
      PandasIndex(Index([ 69.94999694824219,   69.8499984741211,              69.75,\n",
      +       "         69.6500015258789,  69.55000305175781,  69.44999694824219,\n",
      +       "         69.3499984741211,              69.25,   69.1500015258789,\n",
      +       "        69.05000305175781,\n",
      +       "       ...\n",
      +       "        55.45000076293945, 55.349998474121094,              55.25,\n",
      +       "       55.150001525878906,  55.04999923706055,  54.95000076293945,\n",
      +       "       54.849998474121094,              54.75, 54.650001525878906,\n",
      +       "        54.54999923706055],\n",
      +       "      dtype='float32', name='lat', length=155))
    • level
      PandasIndex
      PandasIndex(Index([0.0], dtype='float32', name='level'))
    • time
      PandasIndex
      PandasIndex(TimedeltaIndex(['0 days 00:00:00', '0 days 01:00:00', '0 days 02:00:00',\n",
      +       "                '0 days 03:00:00', '0 days 04:00:00', '0 days 05:00:00',\n",
      +       "                '0 days 06:00:00', '0 days 07:00:00', '0 days 08:00:00',\n",
      +       "                '0 days 09:00:00', '0 days 10:00:00', '0 days 11:00:00',\n",
      +       "                '0 days 12:00:00', '0 days 13:00:00', '0 days 14:00:00',\n",
      +       "                '0 days 15:00:00', '0 days 16:00:00', '0 days 17:00:00',\n",
      +       "                '0 days 18:00:00', '0 days 19:00:00', '0 days 20:00:00',\n",
      +       "                '0 days 21:00:00', '0 days 22:00:00', '0 days 23:00:00',\n",
      +       "                '1 days 00:00:00', '1 days 01:00:00', '1 days 02:00:00',\n",
      +       "                '1 days 03:00:00', '1 days 04:00:00', '1 days 05:00:00',\n",
      +       "                '1 days 06:00:00', '1 days 07:00:00', '1 days 08:00:00',\n",
      +       "                '1 days 09:00:00', '1 days 10:00:00', '1 days 11:00:00',\n",
      +       "                '1 days 12:00:00', '1 days 13:00:00', '1 days 14:00:00',\n",
      +       "                '1 days 15:00:00', '1 days 16:00:00', '1 days 17:00:00',\n",
      +       "                '1 days 18:00:00', '1 days 19:00:00', '1 days 20:00:00',\n",
      +       "                '1 days 21:00:00', '1 days 22:00:00', '1 days 23:00:00',\n",
      +       "                '2 days 00:00:00', '2 days 01:00:00', '2 days 02:00:00',\n",
      +       "                '2 days 03:00:00', '2 days 04:00:00', '2 days 05:00:00',\n",
      +       "                '2 days 06:00:00', '2 days 07:00:00', '2 days 08:00:00',\n",
      +       "                '2 days 09:00:00', '2 days 10:00:00', '2 days 11:00:00',\n",
      +       "                '2 days 12:00:00', '2 days 13:00:00', '2 days 14:00:00',\n",
      +       "                '2 days 15:00:00', '2 days 16:00:00', '2 days 17:00:00',\n",
      +       "                '2 days 18:00:00', '2 days 19:00:00', '2 days 20:00:00',\n",
      +       "                '2 days 21:00:00', '2 days 22:00:00', '2 days 23:00:00',\n",
      +       "                '3 days 00:00:00', '3 days 01:00:00', '3 days 02:00:00',\n",
      +       "                '3 days 03:00:00', '3 days 04:00:00', '3 days 05:00:00',\n",
      +       "                '3 days 06:00:00', '3 days 07:00:00', '3 days 08:00:00',\n",
      +       "                '3 days 09:00:00', '3 days 10:00:00', '3 days 11:00:00',\n",
      +       "                '3 days 12:00:00', '3 days 13:00:00', '3 days 14:00:00',\n",
      +       "                '3 days 15:00:00', '3 days 16:00:00', '3 days 17:00:00',\n",
      +       "                '3 days 18:00:00', '3 days 19:00:00', '3 days 20:00:00',\n",
      +       "                '3 days 21:00:00', '3 days 22:00:00', '3 days 23:00:00',\n",
      +       "                '4 days 00:00:00'],\n",
      +       "               dtype='timedelta64[ns]', name='time', freq=None))
    • lon
      PandasIndex
      PandasIndex(Index([ -2.45001220703125,   -2.3499755859375,              -2.25,\n",
      +       "         -2.1500244140625,  -2.04998779296875,  -1.95001220703125,\n",
      +       "         -1.8499755859375,              -1.75,   -1.6500244140625,\n",
      +       "        -1.54998779296875,\n",
      +       "       ...\n",
      +       "        41.55000305175781, 41.649993896484375,              41.75,\n",
      +       "       41.850006103515625,  41.94999694824219,  42.05000305175781,\n",
      +       "       42.149993896484375,              42.25, 42.350006103515625,\n",
      +       "        42.44999694824219],\n",
      +       "      dtype='float32', name='lon', length=450))
  • species :
    PM2.5 Aerosol
    units :
    ng/m3
    value :
    hourly values
    standard_name :
    mass_concentration_of_pm2p5_ambient_aerosol_in_air
  • " ], "text/plain": [ - "\n", - "array([[[[ 3.9915466 , 3.9372864 , 3.63208 , ..., -17.947784 ,\n", - " -18.09903 , -17.901337 ],\n", - " [ 3.9906616 , 3.8585205 , 3.4658813 , ..., -19.287094 ,\n", - " -19.638443 , -19.815659 ],\n", - " [ 3.8772888 , 3.693756 , 3.3085938 , ..., -20.736603 ,\n", - " -21.195053 , -21.357864 ],\n", + "\n", + "array([[[[ 855.6641 , 852.48096, 833.32465, ..., 879.8937 ,\n", + " 902.90106, 865.896 ],\n", + " [ 885.7343 , 891.02075, 878.97 , ..., 971.65314,\n", + " 1061.4657 , 1015.5647 ],\n", + " [ 893.89136, 828.7204 , 800.25604, ..., 1032.3335 ,\n", + " 990.852 , 982.55286],\n", " ...,\n", - " [ -0.11868286, 0.1071167 , 0.3340149 , ..., -11.844849 ,\n", - " -12.702545 , -14.013733 ],\n", - " [ -0.9946594 , -0.6482544 , -0.4326172 , ..., -10.813141 ,\n", - " -12.086548 , -13.261871 ],\n", - " [ -1.9762573 , -1.6532898 , -1.2767944 , ..., -10.560425 ,\n", - " -11.828857 , -13.411926 ]],\n", - "\n", - " [[ 6.5706787 , 6.261444 , 5.76593 , ..., -10.512054 ,\n", - " -10.819702 , -11.010132 ],\n", - " [ 6.6134033 , 6.326996 , 5.8705444 , ..., -10.703583 ,\n", - " -10.812073 , -11.228058 ],\n", - " [ 6.63974 , 6.3713074 , 5.99823 , ..., -10.811035 ,\n", - " -11.002502 , -11.324585 ],\n", + " [10043.194 , 10672.565 , 11238.228 , ..., 7507.282 ,\n", + " 7414.5137 , 7444.7827 ],\n", + " [13826.692 , 14108.494 , 14563.739 , ..., 7519.0063 ,\n", + " 7214.311 , 7085.4043 ],\n", + " [14878.069 , 14873.55 , 14858.358 , ..., 7069.7866 ,\n", + " 7237.475 , 7302.5605 ]]],\n", + "\n", + "\n", + " [[[ 868.89185, 899.5873 , 930.3964 , ..., 936.80554,\n", + " 839.1485 , 772.7412 ],\n", + " [ 858.319 , 891.28815, 934.2618 , ..., 772.7412 ,\n", + " 733.67554, 716.23883],\n", + " [ 873.09827, 925.96265, 940.6993 , ..., 729.8386 ,\n", "...\n", - " [ 4.5212708 , 4.881195 , 5.349457 , ..., -0.38009644,\n", - " -0.14691162, -0.15356445],\n", - " [ 3.3636475 , 3.8493652 , 4.25 , ..., 0.430542 ,\n", - " 0.32699585, 0.23458862],\n", - " [ 2.291626 , 2.7035522 , 3.230133 , ..., 0.6605835 ,\n", - " 0.5307617 , 0.37503052]],\n", - "\n", - " [[ 9.923706 , 10.213959 , 10.246948 , ..., -2.7084656 ,\n", - " -3.117157 , -3.460785 ],\n", - " [ 10.048218 , 10.249817 , 10.259094 , ..., -2.855835 ,\n", - " -3.1342468 , -3.5550232 ],\n", - " [ 9.972595 , 10.138733 , 10.1493225 , ..., -3.176941 ,\n", - " -3.5891113 , -3.8943787 ],\n", + " 6790.51 , 6748.986 ],\n", + " [ 1623.8978 , 1855.4778 , 2173.332 , ..., 5969.662 ,\n", + " 6049.47 , 6131.5386 ],\n", + " [ 2051.7156 , 2147.7383 , 1941.084 , ..., 5981.9263 ,\n", + " 5846.8096 , 5826.9146 ]]],\n", + "\n", + "\n", + " [[[ 1362.0598 , 1371.5527 , 1349.8243 , ..., 2480.518 ,\n", + " 2496.761 , 2526.6606 ],\n", + " [ 1398.2976 , 1351.3591 , 1315.5477 , ..., 2294.1143 ,\n", + " 2327.9363 , 2370.2136 ],\n", + " [ 1287.1544 , 1304.108 , 1268.4387 , ..., 2281.4312 ,\n", + " 2239.3528 , 2212.153 ],\n", " ...,\n", - " [ 2.2316895 , 2.5167236 , 2.8789368 , ..., -1.0142822 ,\n", - " -1.0447388 , -1.3068542 ],\n", - " [ 0.93966675, 1.3753662 , 1.7021484 , ..., -0.4562683 ,\n", - " -0.82281494, -1.1673279 ],\n", - " [ -0.25891113, 0.1281128 , 0.6257019 , ..., -0.47140503,\n", - " -0.86395264, -1.2958069 ]]]], dtype=float32)\n", + " [ 1829.8173 , 1892.3165 , 1997.889 , ..., 6986.432 ,\n", + " 6914.4253 , 6935.685 ],\n", + " [ 1650.3838 , 1853.0875 , 2025.124 , ..., 6504.3003 ,\n", + " 6350.027 , 6176.655 ],\n", + " [ 1954.8159 , 2019.9797 , 1916.7521 , ..., 5647.4995 ,\n", + " 5836.5464 , 6040.9556 ]]]], dtype=float32)\n", "Coordinates:\n", - " * lat (lat) float64 55.13 56.07 57.02 57.96 ... 68.32 69.27 70.21 71.15\n", - " * lon (lon) float64 0.0 1.25 2.5 3.75 5.0 ... 38.75 40.0 41.25 42.5\n", - " * time (time) object 1850-01-15 12:00:00 ... 2014-12-15 12:00:00\n", - " * member_id (member_id) object 'r1i1p1f1'\n", + " * lat (lat) float32 69.95 69.85 69.75 69.65 ... 54.85 54.75 54.65 54.55\n", + " * level (level) float32 0.0\n", + " * time (time) timedelta64[ns] 00:00:00 01:00:00 ... 4 days 00:00:00\n", + " * lon (lon) float32 -2.45 -2.35 -2.25 -2.15 ... 42.15 42.25 42.35 42.45\n", "Attributes:\n", - " cell_measures: area: areacella\n", - " cell_methods: area: time: mean\n", - " comment: near-surface (usually, 2 meter) air temperature\n", - " description: near-surface (usually, 2 meter) air temperature\n", - " frequency: mon\n", - " id: tas\n", - " long_name: Near-Surface Air Temperature\n", - " mipTable: Amon\n", - " out_name: tas\n", - " prov: Amon ((isd.003))\n", - " realm: atmos\n", - " standard_name: air_temperature\n", - " time: time\n", - " time_label: time-mean\n", - " time_title: Temporal mean\n", - " title: Near-Surface Air Temperature\n", - " type: real\n", - " units: K\n", - " variable_id: tas" + " species: PM2.5 Aerosol\n", + " units: ng/m3\n", + " value: hourly values\n", + " standard_name: mass_concentration_of_pm2p5_ambient_aerosol_in_air" ] }, - "execution_count": 29, + "execution_count": 36, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "np.subtract(tas_AOI, 273.15)" + "cams_AOI" ] }, { - "cell_type": "code", - "execution_count": 30, - "id": "e9604673", + "cell_type": "markdown", + "id": "3c9a350f", "metadata": {}, - "outputs": [], "source": [ - "tas_AOI = tas_AOI - 273.15" + "## Statistics\n", + "\n", + "All the standard statistical operations can be used such as `min`, `max`, `mean`. When no argument is passed to the function, the operation is done over all the dimensions of the variable (same as with `numpy`)." ] }, { "cell_type": "code", - "execution_count": 31, - "id": "8e1f844c", + "execution_count": 37, + "id": "d235169d", "metadata": {}, "outputs": [ { @@ -8120,6 +10108,11 @@ " grid-column: 4;\n", "}\n", "\n", + ".xr-index-preview {\n", + " grid-column: 2 / 5;\n", + " color: var(--xr-font-color2);\n", + "}\n", + "\n", ".xr-var-name,\n", ".xr-var-dims,\n", ".xr-var-dtype,\n", @@ -8141,14 +10134,16 @@ "}\n", "\n", ".xr-var-attrs,\n", - ".xr-var-data {\n", + ".xr-var-data,\n", + ".xr-index-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", + ".xr-var-data-in:checked ~ .xr-var-data,\n", + ".xr-index-data-in:checked ~ .xr-index-data {\n", " display: block;\n", "}\n", "\n", @@ -8158,13 +10153,16 @@ "\n", ".xr-var-name span,\n", ".xr-var-data,\n", + ".xr-index-name div,\n", + ".xr-index-data,\n", ".xr-attrs {\n", " padding-left: 25px !important;\n", "}\n", "\n", ".xr-attrs,\n", ".xr-var-attrs,\n", - ".xr-var-data {\n", + ".xr-var-data,\n", + ".xr-index-data {\n", " grid-column: 1 / -1;\n", "}\n", "\n", @@ -8202,7 +10200,8 @@ "}\n", "\n", ".xr-icon-database,\n", - ".xr-icon-file-text2 {\n", + ".xr-icon-file-text2,\n", + ".xr-no-icon {\n", " display: inline-block;\n", " vertical-align: middle;\n", " width: 1em;\n", @@ -8211,179 +10210,35 @@ " stroke: currentColor;\n", " fill: currentColor;\n", "}\n", - "
    <xarray.DataArray 'tas' (member_id: 1, time: 1980, lat: 18, lon: 35)>\n",
    -       "array([[[[  3.9915466 ,   3.9372864 ,   3.63208   , ..., -17.947784  ,\n",
    -       "          -18.09903   , -17.901337  ],\n",
    -       "         [  3.9906616 ,   3.8585205 ,   3.4658813 , ..., -19.287094  ,\n",
    -       "          -19.638443  , -19.815659  ],\n",
    -       "         [  3.8772888 ,   3.693756  ,   3.3085938 , ..., -20.736603  ,\n",
    -       "          -21.195053  , -21.357864  ],\n",
    -       "         ...,\n",
    -       "         [ -0.11868286,   0.1071167 ,   0.3340149 , ..., -11.844849  ,\n",
    -       "          -12.702545  , -14.013733  ],\n",
    -       "         [ -0.9946594 ,  -0.6482544 ,  -0.4326172 , ..., -10.813141  ,\n",
    -       "          -12.086548  , -13.261871  ],\n",
    -       "         [ -1.9762573 ,  -1.6532898 ,  -1.2767944 , ..., -10.560425  ,\n",
    -       "          -11.828857  , -13.411926  ]],\n",
    -       "\n",
    -       "        [[  6.5706787 ,   6.261444  ,   5.76593   , ..., -10.512054  ,\n",
    -       "          -10.819702  , -11.010132  ],\n",
    -       "         [  6.6134033 ,   6.326996  ,   5.8705444 , ..., -10.703583  ,\n",
    -       "          -10.812073  , -11.228058  ],\n",
    -       "         [  6.63974   ,   6.3713074 ,   5.99823   , ..., -10.811035  ,\n",
    -       "          -11.002502  , -11.324585  ],\n",
    -       "...\n",
    -       "         [  4.5212708 ,   4.881195  ,   5.349457  , ...,  -0.38009644,\n",
    -       "           -0.14691162,  -0.15356445],\n",
    -       "         [  3.3636475 ,   3.8493652 ,   4.25      , ...,   0.430542  ,\n",
    -       "            0.32699585,   0.23458862],\n",
    -       "         [  2.291626  ,   2.7035522 ,   3.230133  , ...,   0.6605835 ,\n",
    -       "            0.5307617 ,   0.37503052]],\n",
    -       "\n",
    -       "        [[  9.923706  ,  10.213959  ,  10.246948  , ...,  -2.7084656 ,\n",
    -       "           -3.117157  ,  -3.460785  ],\n",
    -       "         [ 10.048218  ,  10.249817  ,  10.259094  , ...,  -2.855835  ,\n",
    -       "           -3.1342468 ,  -3.5550232 ],\n",
    -       "         [  9.972595  ,  10.138733  ,  10.1493225 , ...,  -3.176941  ,\n",
    -       "           -3.5891113 ,  -3.8943787 ],\n",
    -       "         ...,\n",
    -       "         [  2.2316895 ,   2.5167236 ,   2.8789368 , ...,  -1.0142822 ,\n",
    -       "           -1.0447388 ,  -1.3068542 ],\n",
    -       "         [  0.93966675,   1.3753662 ,   1.7021484 , ...,  -0.4562683 ,\n",
    -       "           -0.82281494,  -1.1673279 ],\n",
    -       "         [ -0.25891113,   0.1281128 ,   0.6257019 , ...,  -0.47140503,\n",
    -       "           -0.86395264,  -1.2958069 ]]]], dtype=float32)\n",
    -       "Coordinates:\n",
    -       "  * lat        (lat) float64 55.13 56.07 57.02 57.96 ... 68.32 69.27 70.21 71.15\n",
    -       "  * lon        (lon) float64 0.0 1.25 2.5 3.75 5.0 ... 38.75 40.0 41.25 42.5\n",
    -       "  * time       (time) object 1850-01-15 12:00:00 ... 2014-12-15 12:00:00\n",
    -       "  * member_id  (member_id) object 'r1i1p1f1'
    " + "
    <xarray.DataArray 'pm2p5_conc' ()>\n",
    +       "array(375.96038818)
    " ], "text/plain": [ - "\n", - "array([[[[ 3.9915466 , 3.9372864 , 3.63208 , ..., -17.947784 ,\n", - " -18.09903 , -17.901337 ],\n", - " [ 3.9906616 , 3.8585205 , 3.4658813 , ..., -19.287094 ,\n", - " -19.638443 , -19.815659 ],\n", - " [ 3.8772888 , 3.693756 , 3.3085938 , ..., -20.736603 ,\n", - " -21.195053 , -21.357864 ],\n", - " ...,\n", - " [ -0.11868286, 0.1071167 , 0.3340149 , ..., -11.844849 ,\n", - " -12.702545 , -14.013733 ],\n", - " [ -0.9946594 , -0.6482544 , -0.4326172 , ..., -10.813141 ,\n", - " -12.086548 , -13.261871 ],\n", - " [ -1.9762573 , -1.6532898 , -1.2767944 , ..., -10.560425 ,\n", - " -11.828857 , -13.411926 ]],\n", - "\n", - " [[ 6.5706787 , 6.261444 , 5.76593 , ..., -10.512054 ,\n", - " -10.819702 , -11.010132 ],\n", - " [ 6.6134033 , 6.326996 , 5.8705444 , ..., -10.703583 ,\n", - " -10.812073 , -11.228058 ],\n", - " [ 6.63974 , 6.3713074 , 5.99823 , ..., -10.811035 ,\n", - " -11.002502 , -11.324585 ],\n", - "...\n", - " [ 4.5212708 , 4.881195 , 5.349457 , ..., -0.38009644,\n", - " -0.14691162, -0.15356445],\n", - " [ 3.3636475 , 3.8493652 , 4.25 , ..., 0.430542 ,\n", - " 0.32699585, 0.23458862],\n", - " [ 2.291626 , 2.7035522 , 3.230133 , ..., 0.6605835 ,\n", - " 0.5307617 , 0.37503052]],\n", - "\n", - " [[ 9.923706 , 10.213959 , 10.246948 , ..., -2.7084656 ,\n", - " -3.117157 , -3.460785 ],\n", - " [ 10.048218 , 10.249817 , 10.259094 , ..., -2.855835 ,\n", - " -3.1342468 , -3.5550232 ],\n", - " [ 9.972595 , 10.138733 , 10.1493225 , ..., -3.176941 ,\n", - " -3.5891113 , -3.8943787 ],\n", - " ...,\n", - " [ 2.2316895 , 2.5167236 , 2.8789368 , ..., -1.0142822 ,\n", - " -1.0447388 , -1.3068542 ],\n", - " [ 0.93966675, 1.3753662 , 1.7021484 , ..., -0.4562683 ,\n", - " -0.82281494, -1.1673279 ],\n", - " [ -0.25891113, 0.1281128 , 0.6257019 , ..., -0.47140503,\n", - " -0.86395264, -1.2958069 ]]]], dtype=float32)\n", - "Coordinates:\n", - " * lat (lat) float64 55.13 56.07 57.02 57.96 ... 68.32 69.27 70.21 71.15\n", - " * lon (lon) float64 0.0 1.25 2.5 3.75 5.0 ... 38.75 40.0 41.25 42.5\n", - " * time (time) object 1850-01-15 12:00:00 ... 2014-12-15 12:00:00\n", - " * member_id (member_id) object 'r1i1p1f1'" + "\n", + "array(375.96038818)" ] }, - "execution_count": 31, + "execution_count": 37, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "tas_AOI" + "cams_AOI.min()" ] }, { "cell_type": "markdown", - "id": "3c9a350f", + "id": "19379f3b", "metadata": {}, "source": [ - "## Statistics\n", - "\n", - "All the standard statistical operations can be used such as `min`, `max`, `mean`. When no argument is passed to the function, the operation is done over all the dimensions of the variable (same as with `numpy`)." + "You can make a statistical operation over a dimension. For instance, let's retrieve the maximum tas value among all those available for different times, at each lat-lon location." ] }, { "cell_type": "code", - "execution_count": 32, - "id": "d235169d", + "execution_count": 38, + "id": "53283302", "metadata": {}, "outputs": [ { @@ -8650,6 +10505,11 @@ " grid-column: 4;\n", "}\n", "\n", + ".xr-index-preview {\n", + " grid-column: 2 / 5;\n", + " color: var(--xr-font-color2);\n", + "}\n", + "\n", ".xr-var-name,\n", ".xr-var-dims,\n", ".xr-var-dtype,\n", @@ -8671,14 +10531,16 @@ "}\n", "\n", ".xr-var-attrs,\n", - ".xr-var-data {\n", + ".xr-var-data,\n", + ".xr-index-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", + ".xr-var-data-in:checked ~ .xr-var-data,\n", + ".xr-index-data-in:checked ~ .xr-index-data {\n", " display: block;\n", "}\n", "\n", @@ -8688,13 +10550,16 @@ "\n", ".xr-var-name span,\n", ".xr-var-data,\n", + ".xr-index-name div,\n", + ".xr-index-data,\n", ".xr-attrs {\n", " padding-left: 25px !important;\n", "}\n", "\n", ".xr-attrs,\n", ".xr-var-attrs,\n", - ".xr-var-data {\n", + ".xr-var-data,\n", + ".xr-index-data {\n", " grid-column: 1 / -1;\n", "}\n", "\n", @@ -8732,7 +10597,8 @@ "}\n", "\n", ".xr-icon-database,\n", - ".xr-icon-file-text2 {\n", + ".xr-icon-file-text2,\n", + ".xr-no-icon {\n", " display: inline-block;\n", " vertical-align: middle;\n", " width: 1em;\n", @@ -8741,35 +10607,186 @@ " stroke: currentColor;\n", " fill: currentColor;\n", "}\n", - "
    <xarray.DataArray 'tas' ()>\n",
    -       "array(-26.84191895)
    " + "
    <xarray.DataArray 'pm2p5_conc' (level: 1, lat: 155, lon: 450)>\n",
    +       "array([[[ 2121.0813,  2219.4773,  2217.5305, ...,  3652.913 ,\n",
    +       "          3473.7568,  3577.1978],\n",
    +       "        [ 2229.2544,  2233.2195,  2240.6362, ...,  4046.014 ,\n",
    +       "          3602.7063,  3208.9517],\n",
    +       "        [ 2284.292 ,  2295.2058,  2309.7578, ...,  4741.6777,\n",
    +       "          4632.1265,  4161.8325],\n",
    +       "        ...,\n",
    +       "        [13408.843 , 13095.977 , 14038.214 , ..., 18508.65  ,\n",
    +       "         18356.64  , 17824.658 ],\n",
    +       "        [17083.7   , 16497.771 , 16912.217 , ..., 19211.908 ,\n",
    +       "         19491.762 , 18477.52  ],\n",
    +       "        [19680.336 , 19178.678 , 18560.22  , ..., 18558.336 ,\n",
    +       "         18246.791 , 18232.215 ]]], dtype=float32)\n",
    +       "Coordinates:\n",
    +       "  * lat      (lat) float32 69.95 69.85 69.75 69.65 ... 54.85 54.75 54.65 54.55\n",
    +       "  * level    (level) float32 0.0\n",
    +       "  * lon      (lon) float32 -2.45 -2.35 -2.25 -2.15 ... 42.15 42.25 42.35 42.45
    " ], "text/plain": [ - "\n", - "array(-26.84191895)" + "\n", + "array([[[ 2121.0813, 2219.4773, 2217.5305, ..., 3652.913 ,\n", + " 3473.7568, 3577.1978],\n", + " [ 2229.2544, 2233.2195, 2240.6362, ..., 4046.014 ,\n", + " 3602.7063, 3208.9517],\n", + " [ 2284.292 , 2295.2058, 2309.7578, ..., 4741.6777,\n", + " 4632.1265, 4161.8325],\n", + " ...,\n", + " [13408.843 , 13095.977 , 14038.214 , ..., 18508.65 ,\n", + " 18356.64 , 17824.658 ],\n", + " [17083.7 , 16497.771 , 16912.217 , ..., 19211.908 ,\n", + " 19491.762 , 18477.52 ],\n", + " [19680.336 , 19178.678 , 18560.22 , ..., 18558.336 ,\n", + " 18246.791 , 18232.215 ]]], dtype=float32)\n", + "Coordinates:\n", + " * lat (lat) float32 69.95 69.85 69.75 69.65 ... 54.85 54.75 54.65 54.55\n", + " * level (level) float32 0.0\n", + " * lon (lon) float32 -2.45 -2.35 -2.25 -2.15 ... 42.15 42.25 42.35 42.45" ] }, - "execution_count": 32, + "execution_count": 38, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "tas_AOI.min()" + "cams_AOI.max(dim='time')" ] }, { "cell_type": "markdown", - "id": "19379f3b", + "id": "00a0ec25", "metadata": {}, "source": [ - "You can make a statistical operation over a dimension. For instance, let's retrieve the maximum tas value among all those available for different times, at each lat-lon location." + "## Aggregation\n", + "We have hourly data. To obtain daily values, we can group values per day and compute the mean. Let's first convert the time in a more human readable manner." ] }, { "cell_type": "code", - "execution_count": 33, - "id": "53283302", + "execution_count": 39, + "id": "2d4c80de-ae78-4fd4-aae4-56d1545039c2", + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd" + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "id": "92f0f3b2-ba19-4342-8ef0-24171d72fc0f", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Index(['22 Dec 00:00 UTC', '22 Dec 01:00 UTC', '22 Dec 02:00 UTC',\n", + " '22 Dec 03:00 UTC', '22 Dec 04:00 UTC', '22 Dec 05:00 UTC',\n", + " '22 Dec 06:00 UTC', '22 Dec 07:00 UTC', '22 Dec 08:00 UTC',\n", + " '22 Dec 09:00 UTC', '22 Dec 10:00 UTC', '22 Dec 11:00 UTC',\n", + " '22 Dec 12:00 UTC', '22 Dec 13:00 UTC', '22 Dec 14:00 UTC',\n", + " '22 Dec 15:00 UTC', '22 Dec 16:00 UTC', '22 Dec 17:00 UTC',\n", + " '22 Dec 18:00 UTC', '22 Dec 19:00 UTC', '22 Dec 20:00 UTC',\n", + " '22 Dec 21:00 UTC', '22 Dec 22:00 UTC', '22 Dec 23:00 UTC',\n", + " '23 Dec 00:00 UTC', '23 Dec 01:00 UTC', '23 Dec 02:00 UTC',\n", + " '23 Dec 03:00 UTC', '23 Dec 04:00 UTC', '23 Dec 05:00 UTC',\n", + " '23 Dec 06:00 UTC', '23 Dec 07:00 UTC', '23 Dec 08:00 UTC',\n", + " '23 Dec 09:00 UTC', '23 Dec 10:00 UTC', '23 Dec 11:00 UTC',\n", + " '23 Dec 12:00 UTC', '23 Dec 13:00 UTC', '23 Dec 14:00 UTC',\n", + " '23 Dec 15:00 UTC', '23 Dec 16:00 UTC', '23 Dec 17:00 UTC',\n", + " '23 Dec 18:00 UTC', '23 Dec 19:00 UTC', '23 Dec 20:00 UTC',\n", + " '23 Dec 21:00 UTC', '23 Dec 22:00 UTC', '23 Dec 23:00 UTC',\n", + " '24 Dec 00:00 UTC', '24 Dec 01:00 UTC', '24 Dec 02:00 UTC',\n", + " '24 Dec 03:00 UTC', '24 Dec 04:00 UTC', '24 Dec 05:00 UTC',\n", + " '24 Dec 06:00 UTC', '24 Dec 07:00 UTC', '24 Dec 08:00 UTC',\n", + " '24 Dec 09:00 UTC', '24 Dec 10:00 UTC', '24 Dec 11:00 UTC',\n", + " '24 Dec 12:00 UTC', '24 Dec 13:00 UTC', '24 Dec 14:00 UTC',\n", + " '24 Dec 15:00 UTC', '24 Dec 16:00 UTC', '24 Dec 17:00 UTC',\n", + " '24 Dec 18:00 UTC', '24 Dec 19:00 UTC', '24 Dec 20:00 UTC',\n", + " '24 Dec 21:00 UTC', '24 Dec 22:00 UTC', '24 Dec 23:00 UTC',\n", + " '25 Dec 00:00 UTC', '25 Dec 01:00 UTC', '25 Dec 02:00 UTC',\n", + " '25 Dec 03:00 UTC', '25 Dec 04:00 UTC', '25 Dec 05:00 UTC',\n", + " '25 Dec 06:00 UTC', '25 Dec 07:00 UTC', '25 Dec 08:00 UTC',\n", + " '25 Dec 09:00 UTC', '25 Dec 10:00 UTC', '25 Dec 11:00 UTC',\n", + " '25 Dec 12:00 UTC', '25 Dec 13:00 UTC', '25 Dec 14:00 UTC',\n", + " '25 Dec 15:00 UTC', '25 Dec 16:00 UTC', '25 Dec 17:00 UTC',\n", + " '25 Dec 18:00 UTC', '25 Dec 19:00 UTC', '25 Dec 20:00 UTC',\n", + " '25 Dec 21:00 UTC', '25 Dec 22:00 UTC', '25 Dec 23:00 UTC',\n", + " '26 Dec 00:00 UTC'],\n", + " dtype='object')\n" + ] + } + ], + "source": [ + "list_times = np.datetime64('2021-12-22') + cams.time\n", + "print(pd.to_datetime(list_times).strftime(\"%d %b %H:%S UTC\"))" + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "id": "49d35f09-7526-4426-bbb0-605f87e41978", + "metadata": {}, + "outputs": [], + "source": [ + "cams_AOI[\"time\"] = list_times" + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "id": "59415ec6-5497-40db-91ce-78aea34a35d6", "metadata": {}, "outputs": [ { @@ -9036,6 +11053,11 @@ " grid-column: 4;\n", "}\n", "\n", + ".xr-index-preview {\n", + " grid-column: 2 / 5;\n", + " color: var(--xr-font-color2);\n", + "}\n", + "\n", ".xr-var-name,\n", ".xr-var-dims,\n", ".xr-var-dtype,\n", @@ -9057,14 +11079,16 @@ "}\n", "\n", ".xr-var-attrs,\n", - ".xr-var-data {\n", + ".xr-var-data,\n", + ".xr-index-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", + ".xr-var-data-in:checked ~ .xr-var-data,\n", + ".xr-index-data-in:checked ~ .xr-index-data {\n", " display: block;\n", "}\n", "\n", @@ -9074,13 +11098,16 @@ "\n", ".xr-var-name span,\n", ".xr-var-data,\n", + ".xr-index-name div,\n", + ".xr-index-data,\n", ".xr-attrs {\n", " padding-left: 25px !important;\n", "}\n", "\n", ".xr-attrs,\n", ".xr-var-attrs,\n", - ".xr-var-data {\n", + ".xr-var-data,\n", + ".xr-index-data {\n", " grid-column: 1 / -1;\n", "}\n", "\n", @@ -9118,7 +11145,8 @@ "}\n", "\n", ".xr-icon-database,\n", - ".xr-icon-file-text2 {\n", + ".xr-icon-file-text2,\n", + ".xr-no-icon {\n", " display: inline-block;\n", " vertical-align: middle;\n", " width: 1em;\n", @@ -9127,178 +11155,307 @@ " stroke: currentColor;\n", " fill: currentColor;\n", "}\n", - "
    <xarray.DataArray 'tas' (member_id: 1, lat: 18, lon: 35)>\n",
    -       "array([[[17.913177 , 18.16388  , 18.275024 , 18.313934 , 18.328522 ,\n",
    -       "         18.410065 , 18.476685 , 19.338104 , 20.345673 , 19.73639  ,\n",
    -       "         19.681091 , 20.134735 , 19.119598 , 19.005066 , 19.041931 ,\n",
    -       "         19.106995 , 19.019653 , 22.693756 , 24.226562 , 24.650146 ,\n",
    -       "         24.417786 , 23.973938 , 23.803497 , 22.828125 , 22.704803 ,\n",
    -       "         22.352753 , 22.175903 , 22.134857 , 23.450043 , 24.378357 ,\n",
    -       "         25.166748 , 25.610962 , 24.972687 , 25.00238  , 24.528198 ],\n",
    -       "        [17.241577 , 17.338257 , 17.492157 , 17.585663 , 17.65509  ,\n",
    -       "         17.713348 , 17.98352  , 20.150513 , 21.748383 , 21.886383 ,\n",
    -       "         21.556824 , 20.893677 , 20.363037 , 18.943329 , 18.613983 ,\n",
    -       "         18.611572 , 18.620941 , 19.760834 , 23.221924 , 23.647827 ,\n",
    -       "         23.514404 , 23.093231 , 23.336456 , 22.503937 , 22.339935 ,\n",
    -       "         22.338959 , 22.166626 , 22.34134  , 23.142212 , 23.4458   ,\n",
    -       "         24.20691  , 24.140076 , 24.62323  , 24.352112 , 24.227814 ],\n",
    -       "        [16.807587 , 16.770233 , 16.859833 , 16.93045  , 16.981567 ,\n",
    -       "         17.039246 , 17.455383 , 18.455078 , 19.253387 , 20.740967 ,\n",
    -       "         21.366882 , 21.06958  , 20.757294 , 20.318634 , 18.286224 ,\n",
    -       "         18.358154 , 18.349121 , 19.311615 , 21.430908 , 22.219482 ,\n",
    -       "         22.33014  , 22.559174 , 22.694366 , 22.51947  , 22.080627 ,\n",
    -       "         22.51355  , 22.614471 , 22.480713 , 22.66214  , 23.090118 ,\n",
    +       "
    <xarray.DataArray 'pm2p5_conc' (time: 97, level: 1, lat: 155, lon: 450)>\n",
    +       "array([[[[  855.6641 ,   852.48096,   833.32465, ...,   879.8937 ,\n",
    +       "            902.90106,   865.896  ],\n",
    +       "         [  885.7343 ,   891.02075,   878.97   , ...,   971.65314,\n",
    +       "           1061.4657 ,  1015.5647 ],\n",
    +       "         [  893.89136,   828.7204 ,   800.25604, ...,  1032.3335 ,\n",
    +       "            990.852  ,   982.55286],\n",
    +       "         ...,\n",
    +       "         [10043.194  , 10672.565  , 11238.228  , ...,  7507.282  ,\n",
    +       "           7414.5137 ,  7444.7827 ],\n",
    +       "         [13826.692  , 14108.494  , 14563.739  , ...,  7519.0063 ,\n",
    +       "           7214.311  ,  7085.4043 ],\n",
    +       "         [14878.069  , 14873.55   , 14858.358  , ...,  7069.7866 ,\n",
    +       "           7237.475  ,  7302.5605 ]]],\n",
    +       "\n",
    +       "\n",
    +       "       [[[  868.89185,   899.5873 ,   930.3964 , ...,   936.80554,\n",
    +       "            839.1485 ,   772.7412 ],\n",
    +       "         [  858.319  ,   891.28815,   934.2618 , ...,   772.7412 ,\n",
    +       "            733.67554,   716.23883],\n",
    +       "         [  873.09827,   925.96265,   940.6993 , ...,   729.8386 ,\n",
            "...\n",
    -       "         12.900909 , 13.222961 , 13.52597  , 14.403259 , 15.553009 ,\n",
    -       "         16.8042   , 16.932892 , 16.954376 , 17.034729 , 16.96762  ,\n",
    -       "         16.96637  , 17.100616 , 17.330872 , 17.345306 , 17.114044 ,\n",
    -       "         16.488129 , 14.975281 , 12.001068 , 13.143677 , 10.707916 ,\n",
    -       "          9.694275 ,  9.177216 ,  9.027313 ,  8.803345 ,  8.669434 ],\n",
    -       "        [ 9.139069 ,  9.590576 ,  9.904144 , 10.247589 , 10.48056  ,\n",
    -       "         10.866425 , 11.181763 , 11.512421 , 11.786804 , 12.199493 ,\n",
    -       "         12.608215 , 12.951721 , 13.20874  , 13.357086 , 13.322723 ,\n",
    -       "         14.709045 , 13.948395 , 15.049042 , 16.412964 , 17.884033 ,\n",
    -       "         17.783173 , 17.81784  , 17.365814 , 17.036255 , 16.102875 ,\n",
    -       "         12.359375 ,  9.921783 ,  9.611908 ,  9.409424 ,  9.122467 ,\n",
    -       "          8.811737 ,  8.50293  ,  8.18045  ,  7.9012146,  7.5783386],\n",
    -       "        [ 8.040253 ,  8.353821 ,  8.763489 ,  9.011475 ,  9.314575 ,\n",
    -       "          9.718872 , 10.178741 , 10.651154 , 11.184814 , 11.681763 ,\n",
    -       "         12.085083 , 12.411102 , 12.637634 , 12.749329 , 12.723297 ,\n",
    -       "         12.770172 , 12.895966 , 12.92099  , 12.873657 , 13.131958 ,\n",
    -       "         14.395782 , 12.900848 , 12.762329 , 11.248535 , 10.335876 ,\n",
    -       "          9.764557 ,  9.28595  ,  8.989227 ,  8.640686 ,  8.288513 ,\n",
    -       "          7.905426 ,  7.5679626,  7.2664795,  7.0660706,  6.9654236]]],\n",
    -       "      dtype=float32)\n",
    +       "           6790.51   ,  6748.986  ],\n",
    +       "         [ 1623.8978 ,  1855.4778 ,  2173.332  , ...,  5969.662  ,\n",
    +       "           6049.47   ,  6131.5386 ],\n",
    +       "         [ 2051.7156 ,  2147.7383 ,  1941.084  , ...,  5981.9263 ,\n",
    +       "           5846.8096 ,  5826.9146 ]]],\n",
    +       "\n",
    +       "\n",
    +       "       [[[ 1362.0598 ,  1371.5527 ,  1349.8243 , ...,  2480.518  ,\n",
    +       "           2496.761  ,  2526.6606 ],\n",
    +       "         [ 1398.2976 ,  1351.3591 ,  1315.5477 , ...,  2294.1143 ,\n",
    +       "           2327.9363 ,  2370.2136 ],\n",
    +       "         [ 1287.1544 ,  1304.108  ,  1268.4387 , ...,  2281.4312 ,\n",
    +       "           2239.3528 ,  2212.153  ],\n",
    +       "         ...,\n",
    +       "         [ 1829.8173 ,  1892.3165 ,  1997.889  , ...,  6986.432  ,\n",
    +       "           6914.4253 ,  6935.685  ],\n",
    +       "         [ 1650.3838 ,  1853.0875 ,  2025.124  , ...,  6504.3003 ,\n",
    +       "           6350.027  ,  6176.655  ],\n",
    +       "         [ 1954.8159 ,  2019.9797 ,  1916.7521 , ...,  5647.4995 ,\n",
    +       "           5836.5464 ,  6040.9556 ]]]], dtype=float32)\n",
            "Coordinates:\n",
    -       "  * lat        (lat) float64 55.13 56.07 57.02 57.96 ... 68.32 69.27 70.21 71.15\n",
    -       "  * lon        (lon) float64 0.0 1.25 2.5 3.75 5.0 ... 38.75 40.0 41.25 42.5\n",
    -       "  * member_id  (member_id) object 'r1i1p1f1'
    • lat
      (lat)
      float32
      69.95 69.85 69.75 ... 54.65 54.55
      long_name :
      latitude
      units :
      degrees_north
      array([69.95, 69.85, 69.75, 69.65, 69.55, 69.45, 69.35, 69.25, 69.15, 69.05,\n",
      +       "       68.95, 68.85, 68.75, 68.65, 68.55, 68.45, 68.35, 68.25, 68.15, 68.05,\n",
      +       "       67.95, 67.85, 67.75, 67.65, 67.55, 67.45, 67.35, 67.25, 67.15, 67.05,\n",
      +       "       66.95, 66.85, 66.75, 66.65, 66.55, 66.45, 66.35, 66.25, 66.15, 66.05,\n",
      +       "       65.95, 65.85, 65.75, 65.65, 65.55, 65.45, 65.35, 65.25, 65.15, 65.05,\n",
      +       "       64.95, 64.85, 64.75, 64.65, 64.55, 64.45, 64.35, 64.25, 64.15, 64.05,\n",
      +       "       63.95, 63.85, 63.75, 63.65, 63.55, 63.45, 63.35, 63.25, 63.15, 63.05,\n",
      +       "       62.95, 62.85, 62.75, 62.65, 62.55, 62.45, 62.35, 62.25, 62.15, 62.05,\n",
      +       "       61.95, 61.85, 61.75, 61.65, 61.55, 61.45, 61.35, 61.25, 61.15, 61.05,\n",
      +       "       60.95, 60.85, 60.75, 60.65, 60.55, 60.45, 60.35, 60.25, 60.15, 60.05,\n",
      +       "       59.95, 59.85, 59.75, 59.65, 59.55, 59.45, 59.35, 59.25, 59.15, 59.05,\n",
      +       "       58.95, 58.85, 58.75, 58.65, 58.55, 58.45, 58.35, 58.25, 58.15, 58.05,\n",
      +       "       57.95, 57.85, 57.75, 57.65, 57.55, 57.45, 57.35, 57.25, 57.15, 57.05,\n",
      +       "       56.95, 56.85, 56.75, 56.65, 56.55, 56.45, 56.35, 56.25, 56.15, 56.05,\n",
      +       "       55.95, 55.85, 55.75, 55.65, 55.55, 55.45, 55.35, 55.25, 55.15, 55.05,\n",
      +       "       54.95, 54.85, 54.75, 54.65, 54.55], dtype=float32)
    • level
      (level)
      float32
      0.0
      long_name :
      level
      units :
      m
      array([0.], dtype=float32)
    • lon
      (lon)
      float32
      -2.45 -2.35 -2.25 ... 42.35 42.45
      array([-2.450012, -2.349976, -2.25    , ..., 42.25    , 42.350006, 42.449997],\n",
      +       "      dtype=float32)
    • time
      (time)
      datetime64[ns]
      2021-12-22 ... 2021-12-26
      long_name :
      FORECAST time from 20211222
      array(['2021-12-22T00:00:00.000000000', '2021-12-22T01:00:00.000000000',\n",
      +       "       '2021-12-22T02:00:00.000000000', '2021-12-22T03:00:00.000000000',\n",
      +       "       '2021-12-22T04:00:00.000000000', '2021-12-22T05:00:00.000000000',\n",
      +       "       '2021-12-22T06:00:00.000000000', '2021-12-22T07:00:00.000000000',\n",
      +       "       '2021-12-22T08:00:00.000000000', '2021-12-22T09:00:00.000000000',\n",
      +       "       '2021-12-22T10:00:00.000000000', '2021-12-22T11:00:00.000000000',\n",
      +       "       '2021-12-22T12:00:00.000000000', '2021-12-22T13:00:00.000000000',\n",
      +       "       '2021-12-22T14:00:00.000000000', '2021-12-22T15:00:00.000000000',\n",
      +       "       '2021-12-22T16:00:00.000000000', '2021-12-22T17:00:00.000000000',\n",
      +       "       '2021-12-22T18:00:00.000000000', '2021-12-22T19:00:00.000000000',\n",
      +       "       '2021-12-22T20:00:00.000000000', '2021-12-22T21:00:00.000000000',\n",
      +       "       '2021-12-22T22:00:00.000000000', '2021-12-22T23:00:00.000000000',\n",
      +       "       '2021-12-23T00:00:00.000000000', '2021-12-23T01:00:00.000000000',\n",
      +       "       '2021-12-23T02:00:00.000000000', '2021-12-23T03:00:00.000000000',\n",
      +       "       '2021-12-23T04:00:00.000000000', '2021-12-23T05:00:00.000000000',\n",
      +       "       '2021-12-23T06:00:00.000000000', '2021-12-23T07:00:00.000000000',\n",
      +       "       '2021-12-23T08:00:00.000000000', '2021-12-23T09:00:00.000000000',\n",
      +       "       '2021-12-23T10:00:00.000000000', '2021-12-23T11:00:00.000000000',\n",
      +       "       '2021-12-23T12:00:00.000000000', '2021-12-23T13:00:00.000000000',\n",
      +       "       '2021-12-23T14:00:00.000000000', '2021-12-23T15:00:00.000000000',\n",
      +       "       '2021-12-23T16:00:00.000000000', '2021-12-23T17:00:00.000000000',\n",
      +       "       '2021-12-23T18:00:00.000000000', '2021-12-23T19:00:00.000000000',\n",
      +       "       '2021-12-23T20:00:00.000000000', '2021-12-23T21:00:00.000000000',\n",
      +       "       '2021-12-23T22:00:00.000000000', '2021-12-23T23:00:00.000000000',\n",
      +       "       '2021-12-24T00:00:00.000000000', '2021-12-24T01:00:00.000000000',\n",
      +       "       '2021-12-24T02:00:00.000000000', '2021-12-24T03:00:00.000000000',\n",
      +       "       '2021-12-24T04:00:00.000000000', '2021-12-24T05:00:00.000000000',\n",
      +       "       '2021-12-24T06:00:00.000000000', '2021-12-24T07:00:00.000000000',\n",
      +       "       '2021-12-24T08:00:00.000000000', '2021-12-24T09:00:00.000000000',\n",
      +       "       '2021-12-24T10:00:00.000000000', '2021-12-24T11:00:00.000000000',\n",
      +       "       '2021-12-24T12:00:00.000000000', '2021-12-24T13:00:00.000000000',\n",
      +       "       '2021-12-24T14:00:00.000000000', '2021-12-24T15:00:00.000000000',\n",
      +       "       '2021-12-24T16:00:00.000000000', '2021-12-24T17:00:00.000000000',\n",
      +       "       '2021-12-24T18:00:00.000000000', '2021-12-24T19:00:00.000000000',\n",
      +       "       '2021-12-24T20:00:00.000000000', '2021-12-24T21:00:00.000000000',\n",
      +       "       '2021-12-24T22:00:00.000000000', '2021-12-24T23:00:00.000000000',\n",
      +       "       '2021-12-25T00:00:00.000000000', '2021-12-25T01:00:00.000000000',\n",
      +       "       '2021-12-25T02:00:00.000000000', '2021-12-25T03:00:00.000000000',\n",
      +       "       '2021-12-25T04:00:00.000000000', '2021-12-25T05:00:00.000000000',\n",
      +       "       '2021-12-25T06:00:00.000000000', '2021-12-25T07:00:00.000000000',\n",
      +       "       '2021-12-25T08:00:00.000000000', '2021-12-25T09:00:00.000000000',\n",
      +       "       '2021-12-25T10:00:00.000000000', '2021-12-25T11:00:00.000000000',\n",
      +       "       '2021-12-25T12:00:00.000000000', '2021-12-25T13:00:00.000000000',\n",
      +       "       '2021-12-25T14:00:00.000000000', '2021-12-25T15:00:00.000000000',\n",
      +       "       '2021-12-25T16:00:00.000000000', '2021-12-25T17:00:00.000000000',\n",
      +       "       '2021-12-25T18:00:00.000000000', '2021-12-25T19:00:00.000000000',\n",
      +       "       '2021-12-25T20:00:00.000000000', '2021-12-25T21:00:00.000000000',\n",
      +       "       '2021-12-25T22:00:00.000000000', '2021-12-25T23:00:00.000000000',\n",
      +       "       '2021-12-26T00:00:00.000000000'], dtype='datetime64[ns]')
    • lat
      PandasIndex
      PandasIndex(Index([ 69.94999694824219,   69.8499984741211,              69.75,\n",
      +       "         69.6500015258789,  69.55000305175781,  69.44999694824219,\n",
      +       "         69.3499984741211,              69.25,   69.1500015258789,\n",
      +       "        69.05000305175781,\n",
      +       "       ...\n",
      +       "        55.45000076293945, 55.349998474121094,              55.25,\n",
      +       "       55.150001525878906,  55.04999923706055,  54.95000076293945,\n",
      +       "       54.849998474121094,              54.75, 54.650001525878906,\n",
      +       "        54.54999923706055],\n",
      +       "      dtype='float32', name='lat', length=155))
    • level
      PandasIndex
      PandasIndex(Index([0.0], dtype='float32', name='level'))
    • lon
      PandasIndex
      PandasIndex(Index([ -2.45001220703125,   -2.3499755859375,              -2.25,\n",
      +       "         -2.1500244140625,  -2.04998779296875,  -1.95001220703125,\n",
      +       "         -1.8499755859375,              -1.75,   -1.6500244140625,\n",
      +       "        -1.54998779296875,\n",
      +       "       ...\n",
      +       "        41.55000305175781, 41.649993896484375,              41.75,\n",
      +       "       41.850006103515625,  41.94999694824219,  42.05000305175781,\n",
      +       "       42.149993896484375,              42.25, 42.350006103515625,\n",
      +       "        42.44999694824219],\n",
      +       "      dtype='float32', name='lon', length=450))
    • time
      PandasIndex
      PandasIndex(DatetimeIndex(['2021-12-22 00:00:00', '2021-12-22 01:00:00',\n",
      +       "               '2021-12-22 02:00:00', '2021-12-22 03:00:00',\n",
      +       "               '2021-12-22 04:00:00', '2021-12-22 05:00:00',\n",
      +       "               '2021-12-22 06:00:00', '2021-12-22 07:00:00',\n",
      +       "               '2021-12-22 08:00:00', '2021-12-22 09:00:00',\n",
      +       "               '2021-12-22 10:00:00', '2021-12-22 11:00:00',\n",
      +       "               '2021-12-22 12:00:00', '2021-12-22 13:00:00',\n",
      +       "               '2021-12-22 14:00:00', '2021-12-22 15:00:00',\n",
      +       "               '2021-12-22 16:00:00', '2021-12-22 17:00:00',\n",
      +       "               '2021-12-22 18:00:00', '2021-12-22 19:00:00',\n",
      +       "               '2021-12-22 20:00:00', '2021-12-22 21:00:00',\n",
      +       "               '2021-12-22 22:00:00', '2021-12-22 23:00:00',\n",
      +       "               '2021-12-23 00:00:00', '2021-12-23 01:00:00',\n",
      +       "               '2021-12-23 02:00:00', '2021-12-23 03:00:00',\n",
      +       "               '2021-12-23 04:00:00', '2021-12-23 05:00:00',\n",
      +       "               '2021-12-23 06:00:00', '2021-12-23 07:00:00',\n",
      +       "               '2021-12-23 08:00:00', '2021-12-23 09:00:00',\n",
      +       "               '2021-12-23 10:00:00', '2021-12-23 11:00:00',\n",
      +       "               '2021-12-23 12:00:00', '2021-12-23 13:00:00',\n",
      +       "               '2021-12-23 14:00:00', '2021-12-23 15:00:00',\n",
      +       "               '2021-12-23 16:00:00', '2021-12-23 17:00:00',\n",
      +       "               '2021-12-23 18:00:00', '2021-12-23 19:00:00',\n",
      +       "               '2021-12-23 20:00:00', '2021-12-23 21:00:00',\n",
      +       "               '2021-12-23 22:00:00', '2021-12-23 23:00:00',\n",
      +       "               '2021-12-24 00:00:00', '2021-12-24 01:00:00',\n",
      +       "               '2021-12-24 02:00:00', '2021-12-24 03:00:00',\n",
      +       "               '2021-12-24 04:00:00', '2021-12-24 05:00:00',\n",
      +       "               '2021-12-24 06:00:00', '2021-12-24 07:00:00',\n",
      +       "               '2021-12-24 08:00:00', '2021-12-24 09:00:00',\n",
      +       "               '2021-12-24 10:00:00', '2021-12-24 11:00:00',\n",
      +       "               '2021-12-24 12:00:00', '2021-12-24 13:00:00',\n",
      +       "               '2021-12-24 14:00:00', '2021-12-24 15:00:00',\n",
      +       "               '2021-12-24 16:00:00', '2021-12-24 17:00:00',\n",
      +       "               '2021-12-24 18:00:00', '2021-12-24 19:00:00',\n",
      +       "               '2021-12-24 20:00:00', '2021-12-24 21:00:00',\n",
      +       "               '2021-12-24 22:00:00', '2021-12-24 23:00:00',\n",
      +       "               '2021-12-25 00:00:00', '2021-12-25 01:00:00',\n",
      +       "               '2021-12-25 02:00:00', '2021-12-25 03:00:00',\n",
      +       "               '2021-12-25 04:00:00', '2021-12-25 05:00:00',\n",
      +       "               '2021-12-25 06:00:00', '2021-12-25 07:00:00',\n",
      +       "               '2021-12-25 08:00:00', '2021-12-25 09:00:00',\n",
      +       "               '2021-12-25 10:00:00', '2021-12-25 11:00:00',\n",
      +       "               '2021-12-25 12:00:00', '2021-12-25 13:00:00',\n",
      +       "               '2021-12-25 14:00:00', '2021-12-25 15:00:00',\n",
      +       "               '2021-12-25 16:00:00', '2021-12-25 17:00:00',\n",
      +       "               '2021-12-25 18:00:00', '2021-12-25 19:00:00',\n",
      +       "               '2021-12-25 20:00:00', '2021-12-25 21:00:00',\n",
      +       "               '2021-12-25 22:00:00', '2021-12-25 23:00:00',\n",
      +       "               '2021-12-26 00:00:00'],\n",
      +       "              dtype='datetime64[ns]', name='time', freq=None))
  • species :
    PM2.5 Aerosol
    units :
    ng/m3
    value :
    hourly values
    standard_name :
    mass_concentration_of_pm2p5_ambient_aerosol_in_air
  • " ], "text/plain": [ - "\n", - "array([[[17.913177 , 18.16388 , 18.275024 , 18.313934 , 18.328522 ,\n", - " 18.410065 , 18.476685 , 19.338104 , 20.345673 , 19.73639 ,\n", - " 19.681091 , 20.134735 , 19.119598 , 19.005066 , 19.041931 ,\n", - " 19.106995 , 19.019653 , 22.693756 , 24.226562 , 24.650146 ,\n", - " 24.417786 , 23.973938 , 23.803497 , 22.828125 , 22.704803 ,\n", - " 22.352753 , 22.175903 , 22.134857 , 23.450043 , 24.378357 ,\n", - " 25.166748 , 25.610962 , 24.972687 , 25.00238 , 24.528198 ],\n", - " [17.241577 , 17.338257 , 17.492157 , 17.585663 , 17.65509 ,\n", - " 17.713348 , 17.98352 , 20.150513 , 21.748383 , 21.886383 ,\n", - " 21.556824 , 20.893677 , 20.363037 , 18.943329 , 18.613983 ,\n", - " 18.611572 , 18.620941 , 19.760834 , 23.221924 , 23.647827 ,\n", - " 23.514404 , 23.093231 , 23.336456 , 22.503937 , 22.339935 ,\n", - " 22.338959 , 22.166626 , 22.34134 , 23.142212 , 23.4458 ,\n", - " 24.20691 , 24.140076 , 24.62323 , 24.352112 , 24.227814 ],\n", - " [16.807587 , 16.770233 , 16.859833 , 16.93045 , 16.981567 ,\n", - " 17.039246 , 17.455383 , 18.455078 , 19.253387 , 20.740967 ,\n", - " 21.366882 , 21.06958 , 20.757294 , 20.318634 , 18.286224 ,\n", - " 18.358154 , 18.349121 , 19.311615 , 21.430908 , 22.219482 ,\n", - " 22.33014 , 22.559174 , 22.694366 , 22.51947 , 22.080627 ,\n", - " 22.51355 , 22.614471 , 22.480713 , 22.66214 , 23.090118 ,\n", + "\n", + "array([[[[ 855.6641 , 852.48096, 833.32465, ..., 879.8937 ,\n", + " 902.90106, 865.896 ],\n", + " [ 885.7343 , 891.02075, 878.97 , ..., 971.65314,\n", + " 1061.4657 , 1015.5647 ],\n", + " [ 893.89136, 828.7204 , 800.25604, ..., 1032.3335 ,\n", + " 990.852 , 982.55286],\n", + " ...,\n", + " [10043.194 , 10672.565 , 11238.228 , ..., 7507.282 ,\n", + " 7414.5137 , 7444.7827 ],\n", + " [13826.692 , 14108.494 , 14563.739 , ..., 7519.0063 ,\n", + " 7214.311 , 7085.4043 ],\n", + " [14878.069 , 14873.55 , 14858.358 , ..., 7069.7866 ,\n", + " 7237.475 , 7302.5605 ]]],\n", + "\n", + "\n", + " [[[ 868.89185, 899.5873 , 930.3964 , ..., 936.80554,\n", + " 839.1485 , 772.7412 ],\n", + " [ 858.319 , 891.28815, 934.2618 , ..., 772.7412 ,\n", + " 733.67554, 716.23883],\n", + " [ 873.09827, 925.96265, 940.6993 , ..., 729.8386 ,\n", "...\n", - " 12.900909 , 13.222961 , 13.52597 , 14.403259 , 15.553009 ,\n", - " 16.8042 , 16.932892 , 16.954376 , 17.034729 , 16.96762 ,\n", - " 16.96637 , 17.100616 , 17.330872 , 17.345306 , 17.114044 ,\n", - " 16.488129 , 14.975281 , 12.001068 , 13.143677 , 10.707916 ,\n", - " 9.694275 , 9.177216 , 9.027313 , 8.803345 , 8.669434 ],\n", - " [ 9.139069 , 9.590576 , 9.904144 , 10.247589 , 10.48056 ,\n", - " 10.866425 , 11.181763 , 11.512421 , 11.786804 , 12.199493 ,\n", - " 12.608215 , 12.951721 , 13.20874 , 13.357086 , 13.322723 ,\n", - " 14.709045 , 13.948395 , 15.049042 , 16.412964 , 17.884033 ,\n", - " 17.783173 , 17.81784 , 17.365814 , 17.036255 , 16.102875 ,\n", - " 12.359375 , 9.921783 , 9.611908 , 9.409424 , 9.122467 ,\n", - " 8.811737 , 8.50293 , 8.18045 , 7.9012146, 7.5783386],\n", - " [ 8.040253 , 8.353821 , 8.763489 , 9.011475 , 9.314575 ,\n", - " 9.718872 , 10.178741 , 10.651154 , 11.184814 , 11.681763 ,\n", - " 12.085083 , 12.411102 , 12.637634 , 12.749329 , 12.723297 ,\n", - " 12.770172 , 12.895966 , 12.92099 , 12.873657 , 13.131958 ,\n", - " 14.395782 , 12.900848 , 12.762329 , 11.248535 , 10.335876 ,\n", - " 9.764557 , 9.28595 , 8.989227 , 8.640686 , 8.288513 ,\n", - " 7.905426 , 7.5679626, 7.2664795, 7.0660706, 6.9654236]]],\n", - " dtype=float32)\n", + " 6790.51 , 6748.986 ],\n", + " [ 1623.8978 , 1855.4778 , 2173.332 , ..., 5969.662 ,\n", + " 6049.47 , 6131.5386 ],\n", + " [ 2051.7156 , 2147.7383 , 1941.084 , ..., 5981.9263 ,\n", + " 5846.8096 , 5826.9146 ]]],\n", + "\n", + "\n", + " [[[ 1362.0598 , 1371.5527 , 1349.8243 , ..., 2480.518 ,\n", + " 2496.761 , 2526.6606 ],\n", + " [ 1398.2976 , 1351.3591 , 1315.5477 , ..., 2294.1143 ,\n", + " 2327.9363 , 2370.2136 ],\n", + " [ 1287.1544 , 1304.108 , 1268.4387 , ..., 2281.4312 ,\n", + " 2239.3528 , 2212.153 ],\n", + " ...,\n", + " [ 1829.8173 , 1892.3165 , 1997.889 , ..., 6986.432 ,\n", + " 6914.4253 , 6935.685 ],\n", + " [ 1650.3838 , 1853.0875 , 2025.124 , ..., 6504.3003 ,\n", + " 6350.027 , 6176.655 ],\n", + " [ 1954.8159 , 2019.9797 , 1916.7521 , ..., 5647.4995 ,\n", + " 5836.5464 , 6040.9556 ]]]], dtype=float32)\n", "Coordinates:\n", - " * lat (lat) float64 55.13 56.07 57.02 57.96 ... 68.32 69.27 70.21 71.15\n", - " * lon (lon) float64 0.0 1.25 2.5 3.75 5.0 ... 38.75 40.0 41.25 42.5\n", - " * member_id (member_id) object 'r1i1p1f1'" + " * lat (lat) float32 69.95 69.85 69.75 69.65 ... 54.85 54.75 54.65 54.55\n", + " * level (level) float32 0.0\n", + " * lon (lon) float32 -2.45 -2.35 -2.25 -2.15 ... 42.15 42.25 42.35 42.45\n", + " * time (time) datetime64[ns] 2021-12-22 2021-12-22T01:00:00 ... 2021-12-26\n", + "Attributes:\n", + " species: PM2.5 Aerosol\n", + " units: ng/m3\n", + " value: hourly values\n", + " standard_name: mass_concentration_of_pm2p5_ambient_aerosol_in_air" ] }, - "execution_count": 33, + "execution_count": 42, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "tas_AOI.max(dim='time')" - ] - }, - { - "cell_type": "markdown", - "id": "00a0ec25", - "metadata": {}, - "source": [ - "## Aggregation\n", - "We have monthly data. To obtain yearly values, we can group values per year and compute the mean." + "cams_AOI" ] }, { "cell_type": "code", - "execution_count": 34, + "execution_count": 43, "id": "1afbe549", "metadata": {}, "outputs": [], "source": [ - "tas_yearly = tas_AOI.groupby(tas_AOI.time.dt.year).mean()" + "cams_daily = cams_AOI.groupby(cams_AOI.time.dt.day).mean()" ] }, { "cell_type": "code", - "execution_count": 35, + "execution_count": 44, "id": "0047f659", "metadata": {}, "outputs": [ @@ -9566,6 +11723,11 @@ " grid-column: 4;\n", "}\n", "\n", + ".xr-index-preview {\n", + " grid-column: 2 / 5;\n", + " color: var(--xr-font-color2);\n", + "}\n", + "\n", ".xr-var-name,\n", ".xr-var-dims,\n", ".xr-var-dtype,\n", @@ -9587,14 +11749,16 @@ "}\n", "\n", ".xr-var-attrs,\n", - ".xr-var-data {\n", + ".xr-var-data,\n", + ".xr-index-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", + ".xr-var-data-in:checked ~ .xr-var-data,\n", + ".xr-index-data-in:checked ~ .xr-index-data {\n", " display: block;\n", "}\n", "\n", @@ -9604,13 +11768,16 @@ "\n", ".xr-var-name span,\n", ".xr-var-data,\n", + ".xr-index-name div,\n", + ".xr-index-data,\n", ".xr-attrs {\n", " padding-left: 25px !important;\n", "}\n", "\n", ".xr-attrs,\n", ".xr-var-attrs,\n", - ".xr-var-data {\n", + ".xr-var-data,\n", + ".xr-index-data {\n", " grid-column: 1 / -1;\n", "}\n", "\n", @@ -9648,7 +11815,8 @@ "}\n", "\n", ".xr-icon-database,\n", - ".xr-icon-file-text2 {\n", + ".xr-icon-file-text2,\n", + ".xr-no-icon {\n", " display: inline-block;\n", " vertical-align: middle;\n", " width: 1em;\n", @@ -9657,169 +11825,195 @@ " stroke: currentColor;\n", " fill: currentColor;\n", "}\n", - "
    <xarray.DataArray 'tas' (member_id: 1, year: 165, lat: 18, lon: 35)>\n",
    -       "array([[[[10.190738  , 10.236267  , 10.129463  , ...,  4.487551  ,\n",
    -       "           4.577349  ,  4.4684777 ],\n",
    -       "         [10.055203  , 10.016124  ,  9.869583  , ...,  3.5996563 ,\n",
    -       "           3.602525  ,  3.5518277 ],\n",
    -       "         [ 9.951228  ,  9.84331   ,  9.695267  , ...,  2.8245113 ,\n",
    -       "           2.760255  ,  2.7445972 ],\n",
    +       "
    <xarray.DataArray 'pm2p5_conc' (day: 5, level: 1, lat: 155, lon: 450)>\n",
    +       "array([[[[ 1169.239  ,  1166.6467 ,  1160.973  , ...,  1441.5961 ,\n",
    +       "           1446.9415 ,  1449.0151 ],\n",
    +       "         [ 1173.6224 ,  1171.9554 ,  1171.7555 , ...,  1428.3876 ,\n",
    +       "           1443.7915 ,  1446.5171 ],\n",
    +       "         [ 1181.1288 ,  1189.5563 ,  1205.5222 , ...,  1435.0128 ,\n",
    +       "           1436.0138 ,  1443.3612 ],\n",
            "         ...,\n",
    -       "         [ 2.131218  ,  2.480194  ,  2.8605297 , ..., -4.5990014 ,\n",
    -       "          -4.9325995 , -5.297928  ],\n",
    -       "         [ 0.8806508 ,  1.3956375 ,  1.7613932 , ..., -4.671717  ,\n",
    -       "          -5.130834  , -5.525271  ],\n",
    -       "         [-0.27815247,  0.1952184 ,  0.7522685 , ..., -4.968567  ,\n",
    -       "          -5.4446716 , -5.893354  ]],\n",
    -       "\n",
    -       "        [[10.707288  , 10.862836  , 10.859578  , ...,  7.673986  ,\n",
    -       "           7.586838  ,  7.378306  ],\n",
    -       "         [10.575684  , 10.646342  , 10.60096   , ...,  7.274389  ,\n",
    -       "           7.101011  ,  6.786873  ],\n",
    -       "         [10.451709  , 10.4361925 , 10.362701  , ...,  6.5675125 ,\n",
    -       "           6.483808  ,  6.3353195 ],\n",
    +       "         [ 9959.0625 ,  9706.599  , 10212.829  , ...,  8834.37   ,\n",
    +       "           8843.07   ,  8738.081  ],\n",
    +       "         [11996.876  , 11674.386  , 11926.778  , ...,  8548.44   ,\n",
    +       "           8362.801  ,  8002.9683 ],\n",
    +       "         [13141.722  , 12680.837  , 12554.7    , ...,  7965.3184 ,\n",
    +       "           7982.112  ,  7990.6177 ]]],\n",
    +       "\n",
    +       "\n",
    +       "       [[[ 1686.1406 ,  1708.1188 ,  1722.3102 , ...,  1365.6635 ,\n",
    +       "           1362.4203 ,  1382.3403 ],\n",
    +       "         [ 1709.118  ,  1726.6967 ,  1740.0448 , ...,  1310.9231 ,\n",
    +       "           1319.0963 ,  1326.693  ],\n",
    +       "         [ 1732.6241 ,  1738.5929 ,  1748.2808 , ...,  1290.9888 ,\n",
            "...\n",
    -       "         [ 3.899109  ,  4.278895  ,  4.683767  , ...,  0.22347514,\n",
    -       "           0.07540639, -0.13505554],\n",
    -       "         [ 2.6409404 ,  3.1836903 ,  3.5581539 , ...,  0.25100455,\n",
    -       "          -0.05962372, -0.3530426 ],\n",
    -       "         [ 1.38296   ,  1.857727  ,  2.4163895 , ...,  0.07100169,\n",
    -       "          -0.25650534, -0.61615247]],\n",
    -       "\n",
    -       "        [[11.859332  , 12.051389  , 12.075607  , ...,  8.140752  ,\n",
    -       "           8.121837  ,  7.935308  ],\n",
    -       "         [11.677655  , 11.791171  , 11.787402  , ...,  7.7124076 ,\n",
    -       "           7.5722404 ,  7.4204307 ],\n",
    -       "         [11.52195   , 11.550827  , 11.534116  , ...,  7.284935  ,\n",
    -       "           7.149447  ,  7.030052  ],\n",
    +       "           4905.723  ,  4991.6763 ],\n",
    +       "         [ 1478.167  ,  1535.4425 ,  1637.3916 , ...,  4755.4307 ,\n",
    +       "           4620.1465 ,  4505.0903 ],\n",
    +       "         [ 1717.3419 ,  1729.2365 ,  1662.1465 , ...,  4393.5034 ,\n",
    +       "           4420.8423 ,  4419.639  ]]],\n",
    +       "\n",
    +       "\n",
    +       "       [[[ 1362.0598 ,  1371.5527 ,  1349.8243 , ...,  2480.518  ,\n",
    +       "           2496.761  ,  2526.6606 ],\n",
    +       "         [ 1398.2976 ,  1351.3591 ,  1315.5477 , ...,  2294.1143 ,\n",
    +       "           2327.9363 ,  2370.2136 ],\n",
    +       "         [ 1287.1544 ,  1304.108  ,  1268.4387 , ...,  2281.4312 ,\n",
    +       "           2239.3528 ,  2212.153  ],\n",
            "         ...,\n",
    -       "         [ 4.1399918 ,  4.518181  ,  4.9494348 , ...,  1.4126383 ,\n",
    -       "           1.2889252 ,  1.1015829 ],\n",
    -       "         [ 2.8445637 ,  3.3857346 ,  3.787501  , ...,  1.4600092 ,\n",
    -       "           1.1696981 ,  0.8996175 ],\n",
    -       "         [ 1.5644354 ,  2.0351918 ,  2.6172917 , ...,  1.269165  ,\n",
    -       "           0.9806595 ,  0.6546936 ]]]], dtype=float32)\n",
    +       "         [ 1829.8173 ,  1892.3165 ,  1997.889  , ...,  6986.432  ,\n",
    +       "           6914.4253 ,  6935.685  ],\n",
    +       "         [ 1650.3838 ,  1853.0875 ,  2025.124  , ...,  6504.3003 ,\n",
    +       "           6350.027  ,  6176.655  ],\n",
    +       "         [ 1954.8159 ,  2019.9797 ,  1916.7521 , ...,  5647.4995 ,\n",
    +       "           5836.5464 ,  6040.9556 ]]]], dtype=float32)\n",
            "Coordinates:\n",
    -       "  * lat        (lat) float64 55.13 56.07 57.02 57.96 ... 68.32 69.27 70.21 71.15\n",
    -       "  * lon        (lon) float64 0.0 1.25 2.5 3.75 5.0 ... 38.75 40.0 41.25 42.5\n",
    -       "  * member_id  (member_id) object 'r1i1p1f1'\n",
    -       "  * year       (year) int64 1850 1851 1852 1853 1854 ... 2011 2012 2013 2014
    • lat
      (lat)
      float32
      69.95 69.85 69.75 ... 54.65 54.55
      long_name :
      latitude
      units :
      degrees_north
      array([69.95, 69.85, 69.75, 69.65, 69.55, 69.45, 69.35, 69.25, 69.15, 69.05,\n",
      +       "       68.95, 68.85, 68.75, 68.65, 68.55, 68.45, 68.35, 68.25, 68.15, 68.05,\n",
      +       "       67.95, 67.85, 67.75, 67.65, 67.55, 67.45, 67.35, 67.25, 67.15, 67.05,\n",
      +       "       66.95, 66.85, 66.75, 66.65, 66.55, 66.45, 66.35, 66.25, 66.15, 66.05,\n",
      +       "       65.95, 65.85, 65.75, 65.65, 65.55, 65.45, 65.35, 65.25, 65.15, 65.05,\n",
      +       "       64.95, 64.85, 64.75, 64.65, 64.55, 64.45, 64.35, 64.25, 64.15, 64.05,\n",
      +       "       63.95, 63.85, 63.75, 63.65, 63.55, 63.45, 63.35, 63.25, 63.15, 63.05,\n",
      +       "       62.95, 62.85, 62.75, 62.65, 62.55, 62.45, 62.35, 62.25, 62.15, 62.05,\n",
      +       "       61.95, 61.85, 61.75, 61.65, 61.55, 61.45, 61.35, 61.25, 61.15, 61.05,\n",
      +       "       60.95, 60.85, 60.75, 60.65, 60.55, 60.45, 60.35, 60.25, 60.15, 60.05,\n",
      +       "       59.95, 59.85, 59.75, 59.65, 59.55, 59.45, 59.35, 59.25, 59.15, 59.05,\n",
      +       "       58.95, 58.85, 58.75, 58.65, 58.55, 58.45, 58.35, 58.25, 58.15, 58.05,\n",
      +       "       57.95, 57.85, 57.75, 57.65, 57.55, 57.45, 57.35, 57.25, 57.15, 57.05,\n",
      +       "       56.95, 56.85, 56.75, 56.65, 56.55, 56.45, 56.35, 56.25, 56.15, 56.05,\n",
      +       "       55.95, 55.85, 55.75, 55.65, 55.55, 55.45, 55.35, 55.25, 55.15, 55.05,\n",
      +       "       54.95, 54.85, 54.75, 54.65, 54.55], dtype=float32)
    • level
      (level)
      float32
      0.0
      long_name :
      level
      units :
      m
      array([0.], dtype=float32)
    • lon
      (lon)
      float32
      -2.45 -2.35 -2.25 ... 42.35 42.45
      array([-2.450012, -2.349976, -2.25    , ..., 42.25    , 42.350006, 42.449997],\n",
      +       "      dtype=float32)
    • day
      (day)
      int64
      22 23 24 25 26
      long_name :
      FORECAST time from 20211222
      array([22, 23, 24, 25, 26])
    • lat
      PandasIndex
      PandasIndex(Index([ 69.94999694824219,   69.8499984741211,              69.75,\n",
      +       "         69.6500015258789,  69.55000305175781,  69.44999694824219,\n",
      +       "         69.3499984741211,              69.25,   69.1500015258789,\n",
      +       "        69.05000305175781,\n",
      +       "       ...\n",
      +       "        55.45000076293945, 55.349998474121094,              55.25,\n",
      +       "       55.150001525878906,  55.04999923706055,  54.95000076293945,\n",
      +       "       54.849998474121094,              54.75, 54.650001525878906,\n",
      +       "        54.54999923706055],\n",
      +       "      dtype='float32', name='lat', length=155))
    • level
      PandasIndex
      PandasIndex(Index([0.0], dtype='float32', name='level'))
    • lon
      PandasIndex
      PandasIndex(Index([ -2.45001220703125,   -2.3499755859375,              -2.25,\n",
      +       "         -2.1500244140625,  -2.04998779296875,  -1.95001220703125,\n",
      +       "         -1.8499755859375,              -1.75,   -1.6500244140625,\n",
      +       "        -1.54998779296875,\n",
      +       "       ...\n",
      +       "        41.55000305175781, 41.649993896484375,              41.75,\n",
      +       "       41.850006103515625,  41.94999694824219,  42.05000305175781,\n",
      +       "       42.149993896484375,              42.25, 42.350006103515625,\n",
      +       "        42.44999694824219],\n",
      +       "      dtype='float32', name='lon', length=450))
    • day
      PandasIndex
      PandasIndex(Index([22, 23, 24, 25, 26], dtype='int64', name='day'))
  • species :
    PM2.5 Aerosol
    units :
    ng/m3
    value :
    hourly values
    standard_name :
    mass_concentration_of_pm2p5_ambient_aerosol_in_air
  • " ], "text/plain": [ - "\n", - "array([[[[10.190738 , 10.236267 , 10.129463 , ..., 4.487551 ,\n", - " 4.577349 , 4.4684777 ],\n", - " [10.055203 , 10.016124 , 9.869583 , ..., 3.5996563 ,\n", - " 3.602525 , 3.5518277 ],\n", - " [ 9.951228 , 9.84331 , 9.695267 , ..., 2.8245113 ,\n", - " 2.760255 , 2.7445972 ],\n", + "\n", + "array([[[[ 1169.239 , 1166.6467 , 1160.973 , ..., 1441.5961 ,\n", + " 1446.9415 , 1449.0151 ],\n", + " [ 1173.6224 , 1171.9554 , 1171.7555 , ..., 1428.3876 ,\n", + " 1443.7915 , 1446.5171 ],\n", + " [ 1181.1288 , 1189.5563 , 1205.5222 , ..., 1435.0128 ,\n", + " 1436.0138 , 1443.3612 ],\n", " ...,\n", - " [ 2.131218 , 2.480194 , 2.8605297 , ..., -4.5990014 ,\n", - " -4.9325995 , -5.297928 ],\n", - " [ 0.8806508 , 1.3956375 , 1.7613932 , ..., -4.671717 ,\n", - " -5.130834 , -5.525271 ],\n", - " [-0.27815247, 0.1952184 , 0.7522685 , ..., -4.968567 ,\n", - " -5.4446716 , -5.893354 ]],\n", - "\n", - " [[10.707288 , 10.862836 , 10.859578 , ..., 7.673986 ,\n", - " 7.586838 , 7.378306 ],\n", - " [10.575684 , 10.646342 , 10.60096 , ..., 7.274389 ,\n", - " 7.101011 , 6.786873 ],\n", - " [10.451709 , 10.4361925 , 10.362701 , ..., 6.5675125 ,\n", - " 6.483808 , 6.3353195 ],\n", + " [ 9959.0625 , 9706.599 , 10212.829 , ..., 8834.37 ,\n", + " 8843.07 , 8738.081 ],\n", + " [11996.876 , 11674.386 , 11926.778 , ..., 8548.44 ,\n", + " 8362.801 , 8002.9683 ],\n", + " [13141.722 , 12680.837 , 12554.7 , ..., 7965.3184 ,\n", + " 7982.112 , 7990.6177 ]]],\n", + "\n", + "\n", + " [[[ 1686.1406 , 1708.1188 , 1722.3102 , ..., 1365.6635 ,\n", + " 1362.4203 , 1382.3403 ],\n", + " [ 1709.118 , 1726.6967 , 1740.0448 , ..., 1310.9231 ,\n", + " 1319.0963 , 1326.693 ],\n", + " [ 1732.6241 , 1738.5929 , 1748.2808 , ..., 1290.9888 ,\n", "...\n", - " [ 3.899109 , 4.278895 , 4.683767 , ..., 0.22347514,\n", - " 0.07540639, -0.13505554],\n", - " [ 2.6409404 , 3.1836903 , 3.5581539 , ..., 0.25100455,\n", - " -0.05962372, -0.3530426 ],\n", - " [ 1.38296 , 1.857727 , 2.4163895 , ..., 0.07100169,\n", - " -0.25650534, -0.61615247]],\n", - "\n", - " [[11.859332 , 12.051389 , 12.075607 , ..., 8.140752 ,\n", - " 8.121837 , 7.935308 ],\n", - " [11.677655 , 11.791171 , 11.787402 , ..., 7.7124076 ,\n", - " 7.5722404 , 7.4204307 ],\n", - " [11.52195 , 11.550827 , 11.534116 , ..., 7.284935 ,\n", - " 7.149447 , 7.030052 ],\n", + " 4905.723 , 4991.6763 ],\n", + " [ 1478.167 , 1535.4425 , 1637.3916 , ..., 4755.4307 ,\n", + " 4620.1465 , 4505.0903 ],\n", + " [ 1717.3419 , 1729.2365 , 1662.1465 , ..., 4393.5034 ,\n", + " 4420.8423 , 4419.639 ]]],\n", + "\n", + "\n", + " [[[ 1362.0598 , 1371.5527 , 1349.8243 , ..., 2480.518 ,\n", + " 2496.761 , 2526.6606 ],\n", + " [ 1398.2976 , 1351.3591 , 1315.5477 , ..., 2294.1143 ,\n", + " 2327.9363 , 2370.2136 ],\n", + " [ 1287.1544 , 1304.108 , 1268.4387 , ..., 2281.4312 ,\n", + " 2239.3528 , 2212.153 ],\n", " ...,\n", - " [ 4.1399918 , 4.518181 , 4.9494348 , ..., 1.4126383 ,\n", - " 1.2889252 , 1.1015829 ],\n", - " [ 2.8445637 , 3.3857346 , 3.787501 , ..., 1.4600092 ,\n", - " 1.1696981 , 0.8996175 ],\n", - " [ 1.5644354 , 2.0351918 , 2.6172917 , ..., 1.269165 ,\n", - " 0.9806595 , 0.6546936 ]]]], dtype=float32)\n", + " [ 1829.8173 , 1892.3165 , 1997.889 , ..., 6986.432 ,\n", + " 6914.4253 , 6935.685 ],\n", + " [ 1650.3838 , 1853.0875 , 2025.124 , ..., 6504.3003 ,\n", + " 6350.027 , 6176.655 ],\n", + " [ 1954.8159 , 2019.9797 , 1916.7521 , ..., 5647.4995 ,\n", + " 5836.5464 , 6040.9556 ]]]], dtype=float32)\n", "Coordinates:\n", - " * lat (lat) float64 55.13 56.07 57.02 57.96 ... 68.32 69.27 70.21 71.15\n", - " * lon (lon) float64 0.0 1.25 2.5 3.75 5.0 ... 38.75 40.0 41.25 42.5\n", - " * member_id (member_id) object 'r1i1p1f1'\n", - " * year (year) int64 1850 1851 1852 1853 1854 ... 2011 2012 2013 2014" + " * lat (lat) float32 69.95 69.85 69.75 69.65 ... 54.85 54.75 54.65 54.55\n", + " * level (level) float32 0.0\n", + " * lon (lon) float32 -2.45 -2.35 -2.25 -2.15 ... 42.15 42.25 42.35 42.45\n", + " * day (day) int64 22 23 24 25 26\n", + "Attributes:\n", + " species: PM2.5 Aerosol\n", + " units: ng/m3\n", + " value: hourly values\n", + " standard_name: mass_concentration_of_pm2p5_ambient_aerosol_in_air" ] }, - "execution_count": 35, + "execution_count": 44, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "tas_yearly" + "cams_daily" ] }, { @@ -9827,12 +12021,12 @@ "id": "8a18d11a", "metadata": {}, "source": [ - "As we have data from 1850 to 2014, the time dimension is now `year` and takes values from `1850` to `2014`." + "As we have data from 2021-12-22 to 2021-12-26, the time dimension is now `day` and takes values from `22` to `26`." ] }, { "cell_type": "code", - "execution_count": 36, + "execution_count": 45, "id": "0c4f652a", "metadata": {}, "outputs": [ @@ -10100,6 +12294,11 @@ " grid-column: 4;\n", "}\n", "\n", + ".xr-index-preview {\n", + " grid-column: 2 / 5;\n", + " color: var(--xr-font-color2);\n", + "}\n", + "\n", ".xr-var-name,\n", ".xr-var-dims,\n", ".xr-var-dtype,\n", @@ -10121,14 +12320,16 @@ "}\n", "\n", ".xr-var-attrs,\n", - ".xr-var-data {\n", + ".xr-var-data,\n", + ".xr-index-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", + ".xr-var-data-in:checked ~ .xr-var-data,\n", + ".xr-index-data-in:checked ~ .xr-index-data {\n", " display: block;\n", "}\n", "\n", @@ -10138,13 +12339,16 @@ "\n", ".xr-var-name span,\n", ".xr-var-data,\n", + ".xr-index-name div,\n", + ".xr-index-data,\n", ".xr-attrs {\n", " padding-left: 25px !important;\n", "}\n", "\n", ".xr-attrs,\n", ".xr-var-attrs,\n", - ".xr-var-data {\n", + ".xr-var-data,\n", + ".xr-index-data {\n", " grid-column: 1 / -1;\n", "}\n", "\n", @@ -10182,7 +12386,8 @@ "}\n", "\n", ".xr-icon-database,\n", - ".xr-icon-file-text2 {\n", + ".xr-icon-file-text2,\n", + ".xr-no-icon {\n", " display: inline-block;\n", " vertical-align: middle;\n", " width: 1em;\n", @@ -10191,77 +12396,29 @@ " stroke: currentColor;\n", " fill: currentColor;\n", "}\n", - "
    <xarray.DataArray 'year' (year: 165)>\n",
    -       "array([1850, 1851, 1852, 1853, 1854, 1855, 1856, 1857, 1858, 1859, 1860, 1861,\n",
    -       "       1862, 1863, 1864, 1865, 1866, 1867, 1868, 1869, 1870, 1871, 1872, 1873,\n",
    -       "       1874, 1875, 1876, 1877, 1878, 1879, 1880, 1881, 1882, 1883, 1884, 1885,\n",
    -       "       1886, 1887, 1888, 1889, 1890, 1891, 1892, 1893, 1894, 1895, 1896, 1897,\n",
    -       "       1898, 1899, 1900, 1901, 1902, 1903, 1904, 1905, 1906, 1907, 1908, 1909,\n",
    -       "       1910, 1911, 1912, 1913, 1914, 1915, 1916, 1917, 1918, 1919, 1920, 1921,\n",
    -       "       1922, 1923, 1924, 1925, 1926, 1927, 1928, 1929, 1930, 1931, 1932, 1933,\n",
    -       "       1934, 1935, 1936, 1937, 1938, 1939, 1940, 1941, 1942, 1943, 1944, 1945,\n",
    -       "       1946, 1947, 1948, 1949, 1950, 1951, 1952, 1953, 1954, 1955, 1956, 1957,\n",
    -       "       1958, 1959, 1960, 1961, 1962, 1963, 1964, 1965, 1966, 1967, 1968, 1969,\n",
    -       "       1970, 1971, 1972, 1973, 1974, 1975, 1976, 1977, 1978, 1979, 1980, 1981,\n",
    -       "       1982, 1983, 1984, 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993,\n",
    -       "       1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,\n",
    -       "       2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014])\n",
    +       "
    <xarray.DataArray 'day' (day: 5)>\n",
    +       "array([22, 23, 24, 25, 26])\n",
            "Coordinates:\n",
    -       "  * year     (year) int64 1850 1851 1852 1853 1854 ... 2010 2011 2012 2013 2014
    " + " * day (day) int64 22 23 24 25 26\n", + "Attributes:\n", + " long_name: FORECAST time from 20211222
    " ], "text/plain": [ - "\n", - "array([1850, 1851, 1852, 1853, 1854, 1855, 1856, 1857, 1858, 1859, 1860, 1861,\n", - " 1862, 1863, 1864, 1865, 1866, 1867, 1868, 1869, 1870, 1871, 1872, 1873,\n", - " 1874, 1875, 1876, 1877, 1878, 1879, 1880, 1881, 1882, 1883, 1884, 1885,\n", - " 1886, 1887, 1888, 1889, 1890, 1891, 1892, 1893, 1894, 1895, 1896, 1897,\n", - " 1898, 1899, 1900, 1901, 1902, 1903, 1904, 1905, 1906, 1907, 1908, 1909,\n", - " 1910, 1911, 1912, 1913, 1914, 1915, 1916, 1917, 1918, 1919, 1920, 1921,\n", - " 1922, 1923, 1924, 1925, 1926, 1927, 1928, 1929, 1930, 1931, 1932, 1933,\n", - " 1934, 1935, 1936, 1937, 1938, 1939, 1940, 1941, 1942, 1943, 1944, 1945,\n", - " 1946, 1947, 1948, 1949, 1950, 1951, 1952, 1953, 1954, 1955, 1956, 1957,\n", - " 1958, 1959, 1960, 1961, 1962, 1963, 1964, 1965, 1966, 1967, 1968, 1969,\n", - " 1970, 1971, 1972, 1973, 1974, 1975, 1976, 1977, 1978, 1979, 1980, 1981,\n", - " 1982, 1983, 1984, 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993,\n", - " 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,\n", - " 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014])\n", + "\n", + "array([22, 23, 24, 25, 26])\n", "Coordinates:\n", - " * year (year) int64 1850 1851 1852 1853 1854 ... 2010 2011 2012 2013 2014" + " * day (day) int64 22 23 24 25 26\n", + "Attributes:\n", + " long_name: FORECAST time from 20211222" ] }, - "execution_count": 36, + "execution_count": 45, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "tas_yearly.year" + "cams_daily.day" ] }, { @@ -10278,33 +12435,57 @@ }, { "cell_type": "code", - "execution_count": 37, + "execution_count": 46, + "id": "4d4042aa-2cef-45ba-8c21-1e6159e38e3a", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(\n", + " array(375.96038818),\n", + " \n", + " array(86237.3515625))" + ] + }, + "execution_count": 46, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "cams_AOI.min(), cams_AOI.max()" + ] + }, + { + "cell_type": "code", + "execution_count": 47, "id": "af2544b2", "metadata": {}, "outputs": [], "source": [ - "tas_masked = tas_AOI.where((tas_AOI >= -5.5) & (tas_AOI <= 15))" + "cams_masked = cams_AOI.where((cams_AOI >= 5000) & (cams_AOI <= 20000))" ] }, { "cell_type": "code", - "execution_count": 38, + "execution_count": 48, "id": "74287eb4", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "" + "" ] }, - "execution_count": 38, + "execution_count": 48, "metadata": {}, "output_type": "execute_result" }, { "data": { - "image/png": "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J+LZN2gIITB79mxUqVIFjo6OqFevHn744YdC3Z8VK1agUqVKcHJyQvfu3XH79u1cMZs3b0bDhg3h4OCAKlWqYMqUKcjOzpY/P336NFq2bAkHBwcEBQVh586dBsMfly5dgiRJWLduHUJDQ+Hg4IBvvvkGALB8+XLUrFkTDg4OqFGjBhYtWmRw7mvXrqF3794oW7YsPDw80LVrV1y6dEn+fPfu3WjcuDGcnZ1RpkwZtGjRApcvX1Z07QVd17x581CnTh04OzvD398fI0aMwIMHD+TPL1++jM6dO6Ns2bJwdnZGrVq18PPPP+PSpUto1aoVAKBs2bKQJAmDBg1SlBMRFQ0WLWSRBg0ahMOHD2PTpk3Yv38/hBDo0KEDsrKy5JhHjx5hzpw5WL16Nfbs2YMrV65g/Pjx8uezZs3CmjVrsHz5cvz2229ITU197nyEDRs2wM/PTx6OUTMcMHfuXHz99df46quvsHfvXty5cwexsbEGMR988AGWL1+OxYsX48SJExg7diz69++PhIQE5TcGwO+//44hQ4ZgxIgROHbsGFq1aoVp06YZxGzfvh39+/dHREQETp48iaVLl2LFihWYPn06AECv16Nbt25wcnLC77//jpiYGEyaNCnP87333nuIiIjAqVOnEBYWhmXLlmHSpEmYPn06Tp06hRkzZuDDDz/EypUrATz5vrRq1QouLi7Ys2cP9u7dKxeVmZmZyM7ORrdu3RASEoI//vgD+/fvx5tvvikXic9T0HUBgEajwcKFC/Hnn39i5cqV2LVrFyZOnCh/PnLkSGRkZGDPnj04fvw4Zs2aBRcXF/j7+2P9+vUAgDNnzuDGjRtYsGCBqu8NERnJpK9rJFLo6be+nj17VgAQv/32m/z5rVu3hKOjo1i3bp0QQojly5cLAOL8+fNyzBdffCG8vLzkr728vMQnn3wif52dnS0qVaokunbtmud5hRAiICBAfPrppwa5TZ48WdSrV89g36effioCAgLkr318fMTMmTPlr7OysoSfn598rgcPHggHBwexb98+g3aGDh0q+vbtm+99ySufvn37inbt2hns6927t3B3d5e/fvnll8WMGTMMYlavXi18fHyEEEJs3bpV2Nraihs3bsifx8XFCQAiNjZWCCFEUlKSACDmz59v0I6/v7/49ttvDfZ9/PHHolmzZkIIIb766itRvXp1odfr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\n", + "image/png": "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09olnU7He++9Z1M8liy5SUpKQqvV4ufnZ9a3cuXKJCUlmdoUVwsqKCjIrE3lypXNrvv5+aHVak1tbub6CbZ3332XwYMHs3btWl5//XW++eYbxowZw+TJk4vtGxQUZJY0vfzyy/j7+5u+Tk1Nxdvbu8Tnl8Spb/8NHz6cFi1aMHnyZLp168a+ffuYP3++2UaIo0ePpnv37vznP/+hTZs2xMfHs27dOrZv3+68wIUQQogy4ty5c2YDCLbucWc0GgF44oknGD58OACNGjVi165dzJ07l1atWt20r6qqZm/ZFffGnS1tSnP06NEia6BiY2PNXnq7XqNGjdi9ezcPPvggAFOmTDG7vnPnTho0aGDx82/k1KTqgQceYM2aNYwdO5a3336b8PBwZs6cSa9evUxtnnrqKebOnct7771HXFwctWvXZvXq1Tz88MNOjFwIIYSwj6P2/nPUrExJS2527twJQHBwMLm5uaSmppqNViUnJ9OiRQtTm4sXLxa5/6VLl0yjU8HBwezdu9fsempqKnl5eUVGsIpz7do1PDw88PT0LJJEarVasrOzi+33/fffl3jfBx98sMTksTROL8fasWNH/vjjD3Jycjh27BgDBw4s0qZ///78/fffZGdnc/jw4ZsuQBNCCCHuFM54+68kliy5adKkCW5ubmzatMl0PTExkSNHjpiSqubNm5OWlsa+fftMbfbu3UtaWppZmyNHjphNxW3cuBF3d3eaNGlSaqy1atXCz8+P06dPF1mD9eeff1q1CfL1HnjgAerXr29TX5C9/4QQQohyIyMjg3/++cf09enTpzl8+DD+/v5Ur1691CU3Op2OAQMGMHLkSAICAvD392fUqFFERkby2GOPAQUjW9HR0QwcOJB58+YBMGjQIDp27Ejt2rUBaN++PREREcTGxvLBBx+QkpLCqFGjGDhwYKmjbtu2bTP7ukqVKmZfnzlzptgBmhtduHCBX375heTkZNPUZ6G4uLhS+xfHopIK999/v3U3VRTWrl1rc6boSLfj9VghhBB3h9tZUiEmfqDdJRXWRy+wKtbt27fTpk2bIuf79OnDkiVLAPjss8947733OH/+PLVr12bixIlmM0Q5OTmMHj2alStXkp2dTdu2bfn000/NtnVJSUkhLi6OtWvXAgWlkD7++GOzbegSEhIYMmQIW7duxdPTk549ezJt2jSb14RZY/HixQwePBitVktAQECRtV6nTp2y6b4WJVUajYaRI0fi4+NT6g1VVWXKlCkcPXq0TGwnI0mVEEIIS93OpCpq/SC7k6oNMfPL/e+3/fv3c+zYMRRFoU6dOjRt2rTUPqGhoQwePJixY8ei0ThuJZTF03+jR48u9hXJ4nz44Yc2BySEEEIIUZrz58/z7LPP8ssvv5hGwK5evUqLFi344osvStwQOSsrix49ejg0oQILF6qfPn2aSpUqWXzTo0ePWr0btBBCCFGelLWF6nea/v37k5eXx7Fjx0hJSSElJYVjx46hqioDBgwose+AAQP4+uuvHR6TU7epuR1k+k8IIYSlbuf032P/fQFXb9vXD+Vn6tn8+Lxy+/vN09OTXbt20bhxY7PzBw8epGXLljctqwAFew927NiR7OxsIiMjcXNzM7s+ffp0m2Ky6e2/q1evsm/fvmJXzPfu3dumQIQQQojyxN7RpvI+UlW9enXy8vKKnM/Pzy/1RbnJkyezYcMG09uIpRUltZTVSdW6devo1asXmZmZVKhQoUggklQJIYQQ4lZ7//33GTp0KJ988glNmjRBURT279/PK6+8wrRp00rsO336dD777DP69u3r0Jisnv6rVasWjz/+OJMnT8bLy8uhwdwKMv0nhBDCUrdz+q/1Dy/aPf23veOccvv7zc/Pj6ysLPLz83F1LRgjKvzzjfv3paSkmH0dHBzMzz//TM2aNR0ak9UjVRcuXCAuLu6OSKiEEEKIskqm/+wzc+ZMm/u+8sorzJ49m48++shxAWFDUhUVFcX+/fvLRA0qIYQQQpRPffr0sbnvvn372Lp1Kz/88AP16tUrslD922+/tem+FiVVhRVRATp06MDo0aM5evRosSvmO3fubFMgQgghRHkiI1XOU7FiRbp06eLw+1qUVD355JNFzr399ttFzimKgsFgsDsoIYQQ4m6nqgqqHYmRPX3vdJ9++inffvst/v7+DB48mEcffdR07fLlyzz44IPFbjWTkZGBj48PixcvviVxWVT802g0WnRIQiWEEEKIW+mjjz5i9OjR1KlTB3d3dx5//HHee+8903WDwcDZs2eL7RsYGEhMTAxz5szh33//dXhsVtdnX7ZsGXq9vsj53Nxcli1b5pCghBBCiLudEcXuozyaN28eCxYs4OOPP2b58uVs27aNmTNn8tZbb5Xa9/jx4zz++OOsXr2a8PBwHnjgAd555x1+//13h8RmdVLVr18/0tLSipy/du0a/fr1c0hQQgghxN1OtqmxzenTp2nRooXp6+bNm7N161bmz5/P2LFjS+wbFhbG0KFD2bx5M8nJyYwYMYI///yT//znP4SHh/PKK6+wdetWm2ferE6qVFUtttro+fPn0el0NgUhhBBCCGGJwMBAzp07Z3auXr16bN26lcWLFzN69GiL7qPT6Xj22WdZtWoVly9fZt68eRiNRvr160elSpX4/PPPrY7N4pIKjRs3RlEUFEWhbdu2pkJbUDB/efr0aaKjo60OQAghhCiPZKG6bR5++GFWr17NI488YnY+IiKCLVu20KZNG6vv6erqSvv27Wnfvj2zZ8/m4MGDNo1WWZxUFb4BePjwYaKiovDx8TFd02q11KhRg6efftrqAIQQQojySEoq2Oa1117jwIEDxV6rV68e27Zt45tvvinxHjdbQ6UoCh4eHtSrVw93d+ur3VucVI0fPx6DwUBYWBhRUVFUqVLF6ocJIYQQooCMVNmmQYMGNGjQ4KbX69WrR7169Uq8R6NGjUrcONnNzY3u3bszb948PDw8LI7NqorqLi4uDB48mGPHjlnTTQghhBDC4XJycvj9999JTk7GaDSaziuKQqdOnW7ab82aNbz66quMHj2aBx98EFVV+fXXX/nwww8ZP348+fn5vPbaa7z55pulbs58Pau3qYmMjOTUqVOEh4db21UIIYQQ/6PaOf1XXkeqCsXHx9O7d28uX75c5FppxcgnTZrErFmziIqKMp1r0KAB1apVY9y4cezbtw9vb29GjhxpVVJl9dt/kyZNYtSoUfzwww8kJiaSnp5udgghhBCidCqgqnYczv4ATvbyyy/TtWtXEhMTrS5G/scffxAWFlbkfFhYGH/88QdQMEWYmJhoVUxWj1QVvuHXuXNns/nIwlILUlVdCCGEELdaYZ2pypUrW923Tp06TJkyhfnz56PVagHIy8tjypQp1KlTB4ALFy5YfW+rk6pt27ZZ20UIIYQQNzCioNhRFb28VlQv9Mwzz7B9+3buvfdeq/t+8skndO7cmWrVqtGgQQMUReH333/HYDDwww8/AHDq1CmGDBli1X0VVVXv6hHE9PR0dDodaWlp+Pr6OjscIYQQZdjt+J1R+IwGX4/Cxcv61/YLGbL0/N51Wrn9/ZaVlUXXrl2pVKkSkZGRuLm5mV2Pi4srsX9GRgYrVqzgxIkTqKpKnTp16NmzJxUqVLA5JqtHqgCuXr3KokWLOHbsGIqiEBERQf/+/aWiuhBCCCFui5UrV7JhwwY8PT3Zvn272ZIkRVFKTap8fHwYPHiwQ2OyOqnav38/UVFReHp6ml5DnD59OpMmTWLjxo3cf//9Dg1QCCGEsES0rj/xaZ85OwyLGVUFRYp/2uzNN9/k7bff5rXXXkOjsfq9O06cOMH27duLlGMALNqcuThWJ1XDhw+nc+fOLFiwwLRVTX5+Ps8//zzDhg3jp59+sikQIYQQojwpfIvPnv7lWW5uLt27d7cpoVqwYAEvvvgigYGBBAcHFxnlum1J1f79+80SKijYM2fMmDE0bdrUpiCEEEIIu5X3LKOc6dOnD19++SWvv/661X3fffddJk2axKuvvurQmKxOqnx9fUlISDC9cljo3Llzdi3uEkIIIcoT2abGPgaDgffff58NGzbQoEGDIgvVp0+fftO+qampdO3a1eExWZ1Ude/enQEDBjBt2jRatGiBoijs3LmT0aNH8+yzzzo8QCGEEOJuJEmVff744w8aN24MwJEjR8yulbSvH0DXrl3ZuHGj8xeqT5s2DUVR6N27N/n5+UDBxoMvvvgiU6ZMcWhwQgghhKXUvHxnh2AVWahuH3vqZt53332MGzeOPXv22FSO4WZsrlOVlZXFyZMnUVWV++67Dy8vL5sCuNWkTpUQQpQPUZ6xbMhebtc9bmedqtorX7O7TtXxnlPk9xsFS5AURaFatWoWtS9p/2JFUTh16pRNcdhUpwrAy8uLyMhIW7sLIYQQDmVvQnW7ydt/9snPz2fixIl89NFHZGRkAAW1p4YOHcr48eOLjD5d7/Tp07ckJquTqszMTKZMmcKWLVuKre1ga3YnhBBClCcFSZU9a6ocGMwd6OWXX2bNmjW8//77NG/eHIDdu3czYcIELl++zNy5c297TFYnVc8//zw7duwgNjaWKlWqlLoYTAghhBDC0b744gtWrVpFTEyM6VyDBg2oXr06PXr0KJJUjRgxgnfeeQdvb2+L7j927FhGjx6Nv7+/xTFZnVStX7+eH3/8kZYtW1rbtVgXLlzg1VdfZf369WRnZ1OrVi0WLVpEkyZNirR94YUXmD9/PjNmzGDYsGEOeb4QQgjhDPL2n308PDyoUaNGkfM1atRAq9UWOT9r1izGjh1rcVL1ySefMHDgwFubVPn5+Vn1gJKkpqbSsmVL2rRpw/r16wkKCuLkyZNUrFixSNvvvvuOvXv3EhIS4pBnCyGEEM6k/u+wp3959tJLL/HOO++wePFi3N0LFvzr9XomTZrEyy+/XKS9qqrUqlXL4hm2zMxMq2OyOql65513eOutt1i6dKndb/xNnTqV0NBQFi9ebDpXXNZ54cIFXn75ZTZs2ECHDh3seqYQQggh7nyHDh1iy5YtVKtWjYYNGwLw22+/kZubS9u2benSpYup7bfffmuWa1iqcuXKVrW3Oqn68MMPOXnyJJUrV6ZGjRpFVtcfPHjQ4nutXbuWqKgounbtyo4dO6hatSpDhgxh4MCBpjZGo5HY2FhGjx5NvXr1Sr2nXq9Hr9ebvk5PT7c4HiGEEOJ2kek/+1SsWJGnn37a7FxoaOhN2/fp0+dWh2R9UvXkk0867OGnTp1izpw5jBgxgtdff519+/YRFxeHu7s7vXv3BgpGs1xdXS0uxPXee+8xceJEh8UohBBC3BJOmP/76aef+OCDDzhw4ACJiYmsWbPmpr/Xb7aOWa/XM2rUKL744guys7Np27Ytn376qVmNqNTUVOLi4li7di0AnTt3Zvbs2WbLexISEnjppZfYunUrnp6e9OzZk2nTphW7Hqo4lo48/fLLL+j1etMU4a1kdVI1fvx4i9p98cUXdO7cucQFYUajkaZNmzJ58mQAGjduzJ9//smcOXPo3bs3Bw4cYNasWRw8eNDiOdCxY8cyYsQI09fp6eklZq5CCCGEU9g5UoUNfTMzM2nYsCH9+vUrMspzvZLWMQ8bNox169axatUqAgICGDlyJB07duTAgQO4uLgA0LNnT86fP098fDwAgwYNIjY2lnXr1gEF+/Z16NCBSpUqsXPnTq5cuUKfPn1QVZXZs2db/blKEhMTw+HDh7nnnnscet/i2Fz8szQvvPACzZo1K/FDVKlShYiICLNzdevWZfXq1QD8/PPPJCcnU716ddN1g8HAyJEjmTlzJmfOnClyT3d399uSjQohhBB3mpiYGLMSBMUpaR1zWloaixYtYvny5Tz22GMArFixgtDQUDZv3kxUVBTHjh0jPj6ePXv20KxZMwAWLFhA8+bNOX78OLVr12bjxo0cPXqUc+fOmRK3Dz/8kL59+zJp0iSHVoi3ceMYm2hu1Y0t+RAtW7bk+PHjZudOnDhBWFgYALGxsfz+++8cPnzYdISEhDB69Gg2bNhwS+IWQgghbofCiur2HFAwI3P9cf26YmuVto75wIED5OXl0b59e9O5kJAQ6tevz65du4CCApw6nc6UUAE89NBD6HQ6szb169c3GwmLiopCr9dz4MABm+N3tls2UmWJ4cOH06JFCyZPnky3bt3Yt28f8+fPZ/78+QAEBAQQEBBg1sfNzY3g4GBq167tjJCFEEIIh3DUQvUbl7iMHz+eCRMm2HTP0tYxJyUlodVq8fPzMztfuXJlkpKSTG2CgoKK9A0KCjJrc+ObdX5+fmi1WlObWyU/Px8PDw8OHz5M/fr1HXpvpyZVDzzwAGvWrGHs2LG8/fbbhIeHM3PmTHr16uXMsIQQQog7xrlz58ymy2xdAmPLOuZCqqqa9Smuvy1tbgVXV1fCwsIwGAyOv7fD72iljh070rFjR4vbF7eOSgghhLjjqIpNi83N+gO+vr4OWYNkyTrm4OBgcnNzSU1NNRutSk5OpkWLFgAEBwdz8eLFIve/dOmSaXQqODiYvXv3ml1PTU0lLy/P6tpQpSkuSXvzzTcZO3YsK1ascFhBc7iFa6qEEEIIcXOOWlPlKJasY27SpAlubm5s2rTJ1C8xMZEjR46YkqrmzZuTlpbGvn37TG327t1LWlqaWZsjR46QmJhoarNx40bc3d2L3aau0Nq1a8nLy7PqcxW3xvujjz7i559/JiQkhNq1a3P//febHba6ZSNVYWFhRQqDCiGEEMJ5MjIy+Oeff0xfnz59msOHD+Pv70/16tVLXces0+kYMGAAI0eOJCAgAH9/f0aNGkVkZKTpbcC6desSHR3NwIEDmTdvHlBQUqFjx46m+7Rv356IiAhiY2P54IMPSElJYdSoUQwcOLDEUbennnqKpKQkKlWqhIuLC4mJicWu37retWvXipxzZM3N61mdVJ07dw5FUUxFvvbt28fKlSuJiIhg0KBBpnZHjhxxXJRCCCHE3cYJxT/3799PmzZtTF8X1nXs06cPS5YssegeM2bMwNXVlW7dupmKfy5ZssRUowrg888/Jy4uzvSWYOfOnfn4449N111cXPjxxx8ZMmQILVu2NCv+WZJKlSqxZ88eOnXqZNf6K0trblpLUa0s4PDII4+YinglJSVRu3Zt6tWrx4kTJ4iLi+Ott966JYHaKj09HZ1OR1pamkPrXgghhLj73I7fGYXPqD7/LTReHjbfx5iVQ8Kgt8vV77cJEybw9ttvW5RM3YqF6KWxeqTqyJEjPPjggwB89dVX1K9fn19++YWNGzcyePDgMpdUCSGEEOLuMGHCBHr06ME///xD586dWbx4sdnWNyXx9/fnxIkTBAYG4ufnV2JilpKSYlN8VidVeXl5ptc1N2/eTOfOnQGoU6eO2YIzIRwpyjOWDdnLnR2GsEJ7bU825q50dhhClG23r9j3XaNOnTrUqVOH8ePH07VrV7y8vCzqN2PGDCpUqADAzJkzb0lsVidV9erVY+7cuXTo0IFNmzbxzjvvAPDvv/8WWeAmhBBCiOI5qvhneVW4LurSpUscP34cRVGoVasWlSpVKrZ9nz59iv2zI1ldUmHq1KnMmzeP1q1b8+yzz9KwYUOg4DXHwmlBIYQQQpRCdcBRjmVlZdG/f39CQkL4z3/+wyOPPEJISAgDBgwgKyvL4vtkZ2cX2erHVlaPVLVu3ZrLly+Tnp5uVvhr0KBBFg/BCWEtmfq788jUnxDiVho+fDg7duxg7dq1tGzZEoCdO3cSFxfHyJEjmTNnzk37ZmZm8uqrr/LVV19x5cqVItdtXeRuU/FPVVU5cOAA8+bNM9V/0Gq1klQJIYQQFlMccJRfq1evZtGiRcTExJiqyj/++OMsWLCAb775psS+Y8aMYevWrXz66ae4u7uzcOFCJk6cSEhICMuWLbM5JqtHqs6ePUt0dDQJCQno9XratWtHhQoVeP/998nJyWHu3Lk2ByOEuDvEVB/G+oSZzg5DiLLNCXWq7iZZWVnFbmkTFBRU6vTfunXrWLZsGa1bt6Z///488sgj3HfffYSFhfH555/bvAex1SNVr7zyCk2bNiU1NRVPT0/T+aeeeootW7bYFIQQQgghhDWaN2/O+PHjycnJMZ3Lzs5m4sSJNG/evMS+KSkphIeHAwV7JxaWUHj44Yf56aefbI7J6pGqnTt38ssvv6DVas3Oh4WFceHCBZsDEULcHWKqvIQx9aqzwxCi7JORKrvMmjWL6OhoqlWrRsOGDVEUhcOHD+Ph4WHaq/Bm7rnnHs6cOUNYWBgRERF89dVXPPjgg6xbt87iulfFsTqpMhqNxS7gOn/+vKn+gxBCCCFKoSoFhz39y7H69evz999/s2LFCv766y9UVaVHjx706tXLbCatOP369eO3336jVatWjB07lg4dOjB79mzy8/OZPn26zTFZnVS1a9eOmTNnMn/+fAAURSEjI4Px48fz+OOP2xyIEEIIIYQ1PD09GThwYIltOnTowMKFC6lSpYrp3PDhw01/btOmDX/99Rf79+/n3nvvNZWKsoXVSdWMGTNo06YNERER5OTk0LNnT/7++28CAwP54osvbA5ECHHnigkegpqVjeLtBRV94X/Tf+00Xdlk/Nq5wQlRRqlqwWFPf1G6n376iezs7BLbVK9enerVqxc5HxkZyX//+19CQ0MtepbVSVVISAiHDx/miy++4ODBgxiNRgYMGGDRcJsQQggh/kfWVJV5Z86cIS8vz+L2VidVUDDc1r9/f/r3729LdyHE3cbFBfXe6mAwgKqiaLVE+fRB4+5BO5fuuHh7oRoMbMi0vf6LEEKUdTYV/1y+fDkPP/wwISEhnD17FiiYFvz+++8dGpwQQghx1ypcqG7PIcoUq5OqOXPmMGLECGJiYkhNTTW9Cejn53fLdn0WQpRt6y/MZsOhicT//i6GP0+g5uaiuLmheLijcXNFNRgwlrKmQYjyRlHtP0TZYnVSNXv2bBYsWMAbb7yBq+v/zx42bdqUP/74w6HBCSGEEHct2VD5rmN1UnX69GkaN25c5Ly7uzuZmZkOCUoIIYQQwhFef/11/P39b8uzrF6oHh4ezuHDhwkLCzM7v379eiIiIhwWmBDizrTJ+DXRuv4oWjfUQH80l1MwpmdIaQUhbiTFP+124sQJtm/fTnJyMkaj0ezaW2+9BcDYsWNtvv+8efOK3V/wZqxOqkaPHs1LL71ETk4Oqqqyb98+vvjiC9577z0WLlxo7e2EEEKI8klKKthlwYIFvPjiiwQGBhIcHIyi/H+SqSiKKam6mS1btrBly5ZiE7LPPvsMgJ49e1oVk9VJVb9+/cjPz2fMmDFkZWXRs2dPqlatyqxZs+jRo4e1txNC3GXaa3ui5uexKe0zYqq8BIrChuzlzg5LCHGXeffdd5k0aRKvvvqq1X0nTpzI22+/TdOmTalSpYpZQmYPq5Kq/Px8Pv/8czp16sTAgQO5fPkyRqORoKAghwQjhBBClBsyUmWX1NRUunbtalPfuXPnsmTJEmJjYx0ak1UL1V1dXXnxxRfR6/UABAYGSkIlhBBC2ELe/rNL165d2bhxo019c3NzadGihYMjsmH6r1mzZhw6dKjIQnUhhADYmLvS9GfDlVTUfMu3eBBCCEvdd999jBs3jj179hAZGYmbm5vZ9bi4uJv2ff7551m5ciXjxo1zaExWJ1VDhgxh5MiRnD9/niZNmuDt7W12vUGDBg4LTgghhLhrydt/dpk/fz4+Pj7s2LGDHTt2mF1TFKXEpConJ4f58+ezefNmGjRoUCQhmz59uk0xWZ1Ude/eHTDPABVFQVVVFEUxVVgXQtivXct32fTLm84Oo4goz1iLFp9fP2olhDBnb1X08l5R/fTp0zb3/f3332nUqBEAR44cMbtmz6J1q5Mqez6EEEIIIYSjqWpBhmlpQrRt27ZbEofVFdXDwsJKPIQQjtFe2xPXc5eJqTnG2aGYsXSUSghRClmobrdly5YRGRmJp6cnnp6eNGjQgOXLnffvk9UjVWvXri32vKIoeHh4cN999xEeHm53YEIIIYQQNzN9+nTGjRvHyy+/TMuWLVFVlV9++YXBgwdz+fJlhg8fbta+S5cuLFmyBF9fX7p06VLivb/99lubYrI6qXryySdNa6iud/26qocffpjvvvsOPz8/m4ISQggh7nYKdq6pclgkd6bZs2czZ84cevfubTr3xBNPUK9ePSZMmFAkqdLpdKbpQZ1Od0tisjqp2rRpE2+88QaTJk3iwQcfBGDfvn28+eabjBs3Dp1OxwsvvMCoUaNYtGiRwwMWorwoXOQdHTjIyZGYk6k/IURZkJiYWGytqRYtWpCYmFjk/OLFi4v9c0l++eUXmjZtiru7u0XtrV5T9corrzB9+nTatm1LhQoVqFChAm3btmXatGmMHj2ali1bMnPmTDZt2mTtrYUQQojyo7Ckgj1HOXbffffx1VdfFTn/5ZdfUrNmTYc8IyYmhgsXLljc3uqRqpMnT+Lr61vkvK+vL6dOnQKgZs2aXL582dpbCyGKEX95vrNDEELcCrJNjV0mTpxI9+7d+emnn2jZsiWKorBz5062bNlSbLJlixuXOpXG6pGqJk2aMHr0aC5dumQ6d+nSJcaMGcMDDzwAwN9//021atUsut+FCxd47rnnCAgIwMvLi0aNGnHgwAEA8vLyePXVV4mMjMTb25uQkBB69+7Nv//+a23YQgghhLiLPP300+zdu5fAwEC+++47vv32WwIDA9m3bx9PPfWUU2KyeqRq0aJFPPHEE1SrVo3Q0FAURSEhIYF77rmH77//HoCMjAyLSr+npqbSsmVL2rRpw/r16wkKCuLkyZNUrFgRgKysLA4ePMi4ceNo2LAhqampDBs2jM6dO7N//35rQxdCCCHKDhmpsluTJk1YsWKFs8MwsTqpql27NseOHWPDhg2cOHECVVWpU6cO7dq1Q6MpGPh68sknLbrX1KlTCQ0NNVswVqNGDdOfdTpdkbVZs2fP5sEHHyQhIYHq1atbG74QQghRJkhFdeulp6ebliClp6eX2La4pUq3mtVJFRSUT4iOjqZ169a4u7vbXNJ97dq1REVF0bVrV3bs2EHVqlUZMmQIAwcOvGmftLQ0FEUxjWbdSK/Xo9frTV+X9k0XQgghxJ3Bz8+PxMREgoKCqFixYrH5hyO3zbM2v7E6qTIajUyaNIm5c+dy8eJFTpw4wT333MO4ceOoUaMGAwYMsPhep06dYs6cOYwYMYLXX3+dffv2ERcXh7u7u1ndiUI5OTm89tpr9OzZ86YZ6HvvvcfEiROt/VhCCCHE7SXTf1bbunUr/v7+wK3bauZ61i5Utzqpevfdd1m6dCnvv/++2YhSZGQkM2bMsCqpMhqNNG3alMmTJwPQuHFj/vzzzyLFvKBg0XqPHj0wGo18+umnN73n2LFjGTFihOnr9PR0QkNDLY5JCCGEuC0kqbJaq1atTH8ODw83re2+nqqqnDt3ziHPu3btmlXtrX77b9myZcyfP59evXrh4uJiOt+gQQP++usvq+5VpUoVIiIizM7VrVuXhIQEs3N5eXl069aN06dPs2nTphLnSd3d3fH19TU7hCgrYqq8RJRnrLPDEEKUUz/99BOdOnUiJCQERVH47rvvTNcsfeNer9czdOhQAgMD8fb2pnPnzpw/f96sTWpqKrGxseh0OnQ6HbGxsVy9etWsTUJCAp06dcLb25vAwEDi4uLIzc21+LOEh4ebVSIolJKSUux2eY0bN+b++++36LCV1SNVFy5c4L777ity3mg0kpeXZ9W9WrZsyfHjx83OnThxwmxj5sKE6u+//2bbtm0EBARYG7IQQghR5jhjoXpmZiYNGzakX79+PP3002bXLH3jftiwYaxbt45Vq1YREBDAyJEj6dixIwcOHDANtvTs2ZPz588THx8PwKBBg4iNjWXdunUAGAwGOnToQKVKldi5cydXrlyhT58+qKrK7NmzLfoshWunbpSRkYGHh0eR85a+RGcPq5OqevXq8fPPP5slPgBff/01jRs3tupew4cPp0WLFkyePJlu3bqxb98+5s+fz/z5BcUO8/PzeeaZZzh48CA//PADBoOBpKQkAPz9/dFqtdaGL4QQQpQN9lZFt6FvTEwMMTExxV6z5I37tLQ0Fi1axPLly3nssccAWLFiBaGhoWzevJmoqCiOHTtGfHw8e/bsoVmzZgAsWLCA5s2bc/z4cWrXrs3GjRs5evQo586dIyQkBIAPP/yQvn37MmnSpBJnmQqX+CiKwrhx4/Dy8jJdMxgM7N27l0aNGhXpN378eMu/UTayOqkaP348sbGxXLhwAaPRyLfffsvx48dZtmwZP/zwg1X3euCBB1izZg1jx47l7bffJjw8nJkzZ9KrVy8Azp8/z9q1awGKfIO2bdtG69atrQ1f3CXaabqiuLoB/79H3p1gfeInzg5BCFFWOGhN1Y1vubu7u1u8V11pbnzj/sCBA+Tl5dG+fXtTm5CQEOrXr8+uXbuIiopi9+7d6HQ6U0IF8NBDD6HT6di1axe1a9dm9+7d1K9f35RQAURFRaHX6zlw4ABt2rS5aUyHDh0CCkaq/vjjD7MBFq1WS8OGDRk1apRFn+/AgQMcO3YMRVGIiIiwenDoRlYnVZ06deLLL79k8uTJKIrCW2+9xf3338+6deto166d1QF07NiRjh07FnutRo0aVq+8F0IIIcqTG1/GGj9+PBMmTLD7vsW9cZ+UlIRWq8XPz8+sbeXKlU0zSUlJSQQFBRW5X1BQkFmbypUrm1338/NDq9Wa2txM4Vt//fr1Y9asWTatnU5OTqZHjx5s376dihUroqoqaWlptGnThlWrVlGpUiWr7wk21qmKiooiKirKpgcKUZKY8BEYky+zIXNZie02Gb8myrs3mgo+tNN0ZZPx69sUoRBCOIaj1lSdO3fOLLFwxCiVpW/cF7pxfVNJ9aOsaVOS6wuHW2vo0KGkp6fz559/UrduXQCOHj1Knz59iIuL44svvrDpvjYlVUIIIYSwk4Om/xz9pvv1b9xv3brV7N7BwcHk5uaSmppqNlqVnJxMixYtTG0uXrxY5L6XLl0yjU4FBwezd+9es+upqank5eUVGcEqya+//srXX39NQkJCkTcHv/3225v2i4+PZ/PmzaaECiAiIoJPPvnEbGrTWhaVVPDz88Pf39+iQwh7rD89HQwGYqq8VGrbwtEsjacn7TRdb3VoQghx17v+jfvNmzcXeeO+SZMmuLm5mS1oT0xM5MiRI6akqnnz5qSlpbFv3z5Tm71795KWlmbW5siRIyQmJprabNy4EXd3d5o0aWJRrKtWraJly5YcPXqUNWvWkJeXx9GjR9m6dSs6na7EvkajETc3tyLn3dzcMBqNFj2/OBaNVM2cOdP05ytXrvDuu+8SFRVF8+bNAdi9ezcbNmywaBNlIYQQQgB2Tv/ZMsqVkZHBP//8Y/r69OnTHD58GH9/f0JCQkp9416n0zFgwABGjhxJQEAA/v7+jBo1isjISNPbgHXr1iU6OpqBAwcyb948oKCkQseOHalduzYA7du3JyIigtjYWD744ANSUlIYNWoUAwcOtHjUbfLkycyYMYOXXnqJChUqMGvWLMLDw3nhhReoUqVKiX0fffRRXnnlFb744gvTYvkLFy4wfPhw2rZta9039TqKauVK8Keffpo2bdrw8ssvm53/+OOP2bx5s1khsbIgPT0dnU5HWlqaFAK9Q0R59ELjV9GiN+VigodgvJaBMTtb1lUJIex2O35nFD7jnjcn41JMPSVLGXJyOPXu61bFun379mLfrOvTpw8TJkwotmgmmL9xn5OTw+jRo1m5ciXZ2dm0bduWTz/91GzBfEpKCnFxcaY3+Dt37szHH39stm9vQkICQ4YMYevWrXh6etKzZ0+mTZtm8Zowb29v/vzzT2rUqEFgYCDbtm0jMjKSY8eO8eijj5qNgt3o3LlzPPHEExw5csRUlT0hIYHIyEi+//57qlWrZlEMN7I6qfLx8eHw4cNFCoD+/fffNG7cmIyMDJsCuVUkqbpzxVQazPpLc0tvV3Uo5OZZ1FYIIUpytydVd5PQ0FD++9//EhkZScOGDXnttdd49tln2b17N9HR0aSlpZV6j02bNvHXX3+hqioRERGm0TZbWb1QPSAggDVr1jB69Giz8999951UOxdCCCEsJXv/2eWRRx5h06ZNREZG0q1bN1555RW2bt3Kpk2bLJ7Ca9eunakc1I3b6NjC6qRq4sSJDBgwgO3bt5vWVO3Zs4f4+HgWLlxod0BCmHh6EHPPKNafmlZyO4MBdBWIqRbH+vMf3Z7YhBDCTs7YpuZu8vHHH5OTkwPA2LFjcXNzY+fOnXTp0qXUNd5Tp06lRo0adO/eHYBu3bqxevVqgoOD+e9//0vDhg1tisnqDZX79u3Lrl27qFixIt9++y2rV69Gp9Pxyy+/0LdvX5uCEEIIIYSwVH5+PuvWrUOjKUhjNBoNY8aMYe3atUyfPr1IcdIbzZs3z7QGbNOmTWzatIn169cTExNTZCbOGjbVqWrWrBmff/65zQ8VQgghhLCVq6srL774IseOHbOpf2Jioimp+uGHH+jWrRvt27enRo0aZtvrWMuikaob9xUqzbVr12wKRojrGRKTID+fmFqvEh04qNg2MVWHgqqCmytU8CYmfMRtjlIIIWykOuAox5o1a2baB9Bafn5+nDt3DigoBFq4QF1VVQwGg80xWTRS5efnR2JiYrF7+RSnatWqHD58mHvuucfmwIQQQoi7maypss+QIUMYOXIk58+fp0mTJnh7e5tdb9CgwU37dunShZ49e1KzZk2uXLlCTEwMQLHVDaxhUVKlqioLFy7Ex8fHopvm5eXZHJAQhTbmrSLafyCKi4bTcXWJCR/B+tPTifbthxIUWNDI26tgpCrfwLUGQexcbdnO5MJ27Vy6s8nwpbPDEEKUc4WLzOPi4kznFEUx7R9Y0ojTjBkzqFGjBufOneP999835TeJiYkMGTLE5pgsSqqqV6/OggULLL5pcHBwseXfhRBCCHGdcj7aZI/Tp0/b3NfNzY1Ro4r+T/iwYcPsiMjCpOrMmTN2PUQIW0Tr+oOLC/kJFwj7oSLJj4USU2M4am4ueLmj5BnIq+SD26UMuJyKz6ZLzg65XLh+lEpGrYSwg9SpssvZs2dp0aIFrq7mqUx+fj67du0iLCysxP4nT55k5syZHDt2DEVRqFu3LsOGDbNr6ZLVJRWEEEIIIZytTZs2pKSkFDmflpZW7FY819uwYQMRERHs27ePBg0aUL9+ffbu3UtERITZZtHWsqmkghBCCCHsIwvV7VO4dupGV65cKbJo/UavvfYaw4cPZ8qUKUXOv/rqq6Yq69aSpEo4XZR3bwA2ZC4zO6/46UBRcNVVgGvZ+J51R/X2Qm1ch0sNfdCdzgXAzWBENRjAxeW2xy6EEDaT6T+bdOnSBShYlN63b1+zDZgNBgO///47LVq0KPEex44d46uvvipyvn///sycOdPm2CSpEkIIIcQdQ6fTAQUjVRUqVMDT09N0TavV8tBDDzFw4MAS71GpUiUOHz5MzZo1zc4fPnzY4vJRxZGkSjjdhsxltNf2JOa+0XAtg/UX5wBw6bFQKq37G3S+qG4uuOTko6/miybXiDZDJe0eLXme4FW5Mv5bsjBeKTq3LhwrpupQ1l+YbfpaFqkLYTuZ/rPN4sWLAahRowajRo0qdaqvOAMHDmTQoEGcOnWKFi1aoCgKO3fuZOrUqYwcOdLm2GxKqn7++WfmzZvHyZMn+eabb6hatSrLly8nPDychx9+2OZghBBCiHJDpv/sMn78eJv7jhs3jgoVKvDhhx8yduxYAEJCQpgwYYJZ3StrWf323+rVq4mKisLT05NDhw6h1+uBgq1pJk+ebHMgonyI9u1XsLXMDTbmrmT9Px9gSEklyqcPMVWHUuFcHvn3VsVYwQM0GjR5RgAuNvXgUmPI94SsEJXMygpo3diQI/tR3moyGiiEKCsuXrxIbGwsISEhuLq64uLiYnbcTH5+PsuWLePZZ5/l/PnzpKWlkZaWxvnz53nllVeKXfxuKatHqt59913mzp1L7969WbVqlel8ixYtePvtt20ORAghhChXZKTKLn379iUhIYFx48ZRpUoVi5OhGzdjrlChgsNisjqpOn78OP/5z3+KnPf19eXq1auOiEkIIYS468maKvvs3LmTn3/+mUaNGlndt3Az5tIKhFrL6qSqSpUq/PPPP9SoUcPs/M6dO2UDZVGq+PTFJV7fmFcw+hntPxD3pAwMFTzIr+AOGoW0e9y53MyA32EI2JKPi96IJtedCufzWX96+m2I3jrtNF1xve8eyM5h/blZ1vV16Y6Ln474y/NvUXS2kSlWIRxIRqrsEhoaiqra9k2wZzPmklidVL3wwgu88sorfPbZZyiKwr///svu3bsZNWoUb731lk1BCCGEEEJYY+bMmbz22mvMmzevyEBPaezZjLkkVidVY8aMMZWAz8nJ4T//+Q/u7u6MGjWKl19+2aYghLhRfErBBt4xlV9ErRyA6u6Ga7aW6utAm5aNS2YuWdW88T2Xj/tlvZOjLSo68g0yuj+E3ldDxVPWx7fJ8CUx1Wx/A0UIcQeQkSq7dO/enaysLO699168vLxwc3Mzu17cFjaF7NmMuSQ2lVSYNGkSb7zxBkePHsVoNBIREYGPj4+jYxNCCCHuWrKmyj72VD539FqqQjYX//Ty8qJp06aOjEUIIYQQwiJ9+vSxq//y5cuZO3cup0+fZvfu3YSFhTFz5kzCw8N54oknbLqnRUlV4T47lvj2229tCkSI4qy/OIco794YG9XC+4Iet6s55AZ4cbWRLwZ3BcUA3scuOzvMIvIq+ZBaS0Pw3ly0+/+x6R7rz3/k4KiEEGWKTP/Z7eTJkyxevJiTJ08ya9YsgoKCiI+PJzQ0lHr16t2035w5c3jrrbcYNmwYkyZNMq2hqlixIjNnzrQ5qbKo+KdOpzMdvr6+bNmyhf3795uuHzhwgC1btpj24xFCCCFEyQqn/+w5yrMdO3YQGRnJ3r17+fbbb8nIyADg999/L7Xa+uzZs1mwYAFvvPGGWaHQpk2b8scff9gck0UjVYX77AC8+uqrdOvWjblz55oCMRgMDBkyBF9fX5sDEeJmNmQuI6buWJIfDiL9Xk+q7MrH65IBTa7K5fpuZNUOdHaIRWzZWrDtQZR3b5QKst5QCCEc7bXXXuPdd99lxIgRZgU827Rpw6xZJZexOX36NI0bNy5y3t3dnczMTJtjsnqbms8++4xRo0aZZXYuLi6MGDGCzz77zOZAhBBCiHJFdcBRjv3xxx889dRTRc5XqlSJK1eulNg3PDycw4cPFzm/fv16IiIibI7J6oXq+fn5HDt2jNq1a5udP3bsGEaj0eZAhLiZyJEzcGsdhPaaSp6fkcQWrvj9peKRasAlF5IedCW63hvE/znJ2aEWsSFzmbNDEEKUVbKmyi4VK1YkMTGR8PBws/OHDh2iatWqJfYdPXo0L730Ejk5Oaiqyr59+/jiiy947733WLhwoc0xWZ1U9evXj/79+/PPP//w0EMPAbBnzx6mTJlCv379bA5ECCGEEMJSPXv25NVXX+Xrr79GURSMRiO//PILo0aNonfv3iX27devH/n5+YwZM4asrCx69uxJ1apVmTVrFj169LA5JquTqmnTphEcHMyMGTNITEwECrauGTNmDCNHjrQ5ECGEEKI8Uf532NO/PJs0aRJ9+/alatWqqKpKREQEBoOBnj178uabb5baf+DAgQwcOJDLly9jNBoJCgqyOyar11RpNBrGjBnDhQsXuHr1KlevXuXChQuMGTPGbJ2VpS5cuMBzzz1HQEAAXl5eNGrUiAMHDpiuq6rKhAkTCAkJwdPTk9atW/Pnn39a/Rxx54ny6EVM9WFca6gnPRzcU/MJ+96IYoDMygqKEYIOZOF2DYze7s4OVwghrCNrquzi5ubG559/zt9//81XX33FihUr+Ouvv1i+fLlV+UhgYKBDEiqwo/gnYPfbfqmpqbRs2ZI2bdqwfv16goKCOHnyJBUrVjS1ef/995k+fTpLliyhVq1avPvuu7Rr147jx4+brfYXQggh7iRSUd0x7rnnHu655x6r+33zzTd89dVXJCQkkJuba3bt4MGDNsVi9UhVeHi46QMUd1hj6tSphIaGsnjxYh588EFq1KhB27Ztuffee4GCUaqZM2fyxhtv0KVLF+rXr8/SpUvJyspi5cqV1oYu7iDttT3B1RW8PXE/644mHxQjGDw0eF4Ez8sqRleFq7U80abDxn2ymbcQQpQnzzzzDFOmTCly/oMPPqBr164l9v3oo4/o168fQUFBHDp0iAcffJCAgABOnTpFTEyMzTFZnVQNGzaMV155xXQMGTKE5s2bk5aWxqBBg6y619q1a2natCldu3YlKCiIxo0bs2DBAtP106dPk5SURPv27U3n3N3dadWqFbt27bI2dCGEEKLskOk/u+zYsYMOHToUOR8dHc1PP/1UYt9PP/2U+fPn8/HHH6PVahkzZgybNm0iLi6OtLQ0m2OyevrvlVdeKfb8J598YlZl3RKnTp1izpw5jBgxgtdff519+/YRFxeHu7s7vXv3JikpCYDKlSub9atcuTJnz54t9p56vR69Xm/6Oj093aqYhBBCiNumnCdG9sjIyECr1RY57+bmVurv/oSEBFq0aAGAp6cn165dAyA2NpaHHnqIjz/+2KaYrB6pupmYmBhWr15tVR+j0cj999/P5MmTady4MS+88AIDBw5kzpw5Zu0UxfwdB1VVi5wr9N5775ltqxMaGmrdBxFlgsbHG2rWQL2QxD0fHcfvmMqVum5kB7igb32NSy3zOf90HrqTORycO9zZ4Zaqvbanff3dbH/FVzhfdKO3iKkW5+wwhLir1K9fny+//LLI+VWrVpVawDM4ONhUIDQsLIw9e/YABTNkqmp7pmvXQvXrffPNN/j7+1vVp0qVKkU+eN26dU3JWXBwMABJSUlUqVLF1CY5ObnI6FWhsWPHMmLECNPX6enpklgJIYQoc2Shun3GjRvH008/zcmTJ3n00UcB2LJlC1988QVff/11iX0fffRR1q1bx/3338+AAQMYPnw433zzDfv376dLly42x2R1UtW4cWOzUSJV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DA4OHvSxent72bhxI7lcbgrOTBysGd+pMsawbds2WlpasvIZU2RsbIx58+axefNmWltbp+y4IiPte+hJGx9a0r6H1qFqX2stlUqFvr4+tD5086uazSbRFJQ68n1fOlRHkBk//Ke1PmTfNgBaW1vlA/MQkvY99KSNDy1p30PrULRvuXzok/7mcjnpDM1AklJBCCGEEGIKSKdKCCGEEGIKSKfqAAVBwKc//WmCIJjuU5mRpH0PPWnjQ0va99CS9hVHohk/UV0IIYQQ4nCQSJUQQgghxBSQTpUQQgghxBSQTpUQQgghxBSQTpUQQgghxBSQTtUB+spXvkJ/fz+5XI6zzjqLH/7wh9N9SkelH/zgB7zjHe+gr68PpRTf/va3Jz1ureUzn/kMfX195PN5LrroIp544onpOdmj0E033cQ555xDS0sL3d3d/P7v/z5PPfXUpH2kjQ/crbfeyumnnz6RgHLJkiWsWrVq4nFp26l10003oZTi+uuvn9gmbSyOJNKpOgD/9m//xvXXX8+nPvUpfv7zn/M7v/M7DAwMsGnTpuk+taNOrVbj9a9/PbfccsvLPn7zzTfzxS9+kVtuuYWHH36Y3t5eli5dSqVSOcxnenRav3491113HQ899BDr1q0jSRKWLVtGrVab2Efa+MDNnTuXz3/+8zzyyCM88sgj/O7v/i6XXHLJxB91adup8/DDD3P77bdz+umnT9oubSyOKFa8Zm984xvttddeO2nbySefbP/iL/5ims5oZgDsfffdN3HfGGN7e3vt5z//+YltzWbTlstle9ttt03DGR79du7caQG7fv16a6208aHQ3t5uv/rVr0rbTqFKpWIXLVpk161bZy+88EL70Y9+1For16848kik6jWKoohHH32UZcuWTdq+bNkyHnzwwWk6q5lp48aNDA4OTmrrIAi48MILpa0P0OjoKAAdHR2AtPFUStOUe++9l1qtxpIlS6Rtp9B1113H7/3e7/G2t71t0nZpY3GkmfEFlafa7t27SdOUnp6eSdt7enoYHBycprOamfa258u19Ysvvjgdp3RUs9by8Y9/nAsuuIDXve51gLTxVHj88cdZsmQJzWaTUqnEfffdxymnnDLxR13a9uDce++9/OxnP+Phhx/e7zG5fsWRRjpVB0gpNem+tXa/bWJqSFtPjQ996EP88pe/5IEHHtjvMWnjA3fSSSfx2GOPMTIywre+9S2uvvpq1q9fP/G4tO2B27x5Mx/96EdZu3YtuVzuFfeTNhZHChn+e41mzZqF4zj7RaV27ty537clcXB6e3sBpK2nwIc//GHuv/9+vve97zF37tyJ7dLGB8/3fRYuXMjZZ5/NTTfdxOtf/3q+/OUvS9tOgUcffZSdO3dy1lln4bouruuyfv16/uEf/gHXdSfaUdpYHCmkU/Ua+b7PWWedxbp16yZtX7duHeeff/40ndXM1N/fT29v76S2jqKI9evXS1v/lqy1fOhDH+Lf//3f+e53v0t/f/+kx6WNp561ljAMpW2nwFvf+lYef/xxHnvssYnb2WefzRVXXMFjjz3G8ccfL20sjigy/HcAPv7xj3PllVdy9tlns2TJEm6//XY2bdrEtddeO92ndtSpVqs8++yzE/c3btzIY489RkdHB/Pnz+f666/nxhtvZNGiRSxatIgbb7yRQqHAypUrp/Gsjx7XXXcd99xzD//xH/9BS0vLxDf6crlMPp+fyPkjbXxg/vIv/5KBgQHmzZtHpVLh3nvv5fvf/z6rV6+Wtp0CLS0tE/P/9ioWi3R2dk5slzYWR5TpW3h4dPvHf/xHu2DBAuv7vn3DG94wsURdvDbf+973LLDf7eqrr7bWZkumP/3pT9ve3l4bBIF985vfbB9//PHpPemjyMu1LWDvvPPOiX2kjQ/cNddcM/E50NXVZd/61rfatWvXTjwubTv19k2pYK20sTiyKGutnab+nBBCCCHEjCFzqoQQQgghpoB0qoQQQgghpoB0qoQQQgghpoB0qoQQQgghpoB0qoQQQgghpoB0qoQQQgghpoB0qoQQQgghpoB0qoSYgS666CKuv/766T4NIYQ4pkinSgghhBBiCkinSgghhBBiCkinSogZbnh4mKuuuor29nYKhQIDAwM888wzE49/7Wtfo62tjTVr1rB48WJKpRIrVqxg+/bt03jWQghx9JFOlRAz3B/+4R/yyCOPcP/99/PjH/8Yay1vf/vbieN4Yp96vc7f/u3f8o1vfIMf/OAHbNq0iRtuuGEaz1oIIY4+7nSfgBDi0HnmmWe4//77+dGPfsT5558PwN133828efP49re/zaWXXgpAHMfcdtttnHDCCQB86EMf4rOf/ey0nbcQQhyNJFIlxAy2YcMGXNfl3HPPndjW2dnJSSedxIYNGya2FQqFiQ4VwOzZs9m5c+dhPVchhDjaSadKiBnMWvuK25VSE/c9z5v0uFLqFX9WCCHEy5NOlRAz2CmnnEKSJPzkJz+Z2LZnzx6efvppFi9ePI1nJoQQM490qoSYwRYtWsQll1zCBz7wAR544AF+8Ytf8N73vpc5c+ZwySWXTPfpCSHEjCKdKiFmuDvvvJOzzjqLiy++mCVLlmCt5b//+7/3G/ITQghxcJSViRNCCCGEEAdNIlVCCCGEEFNAOlVCCCGEEFNAOlVCCCGEEFNAOlVCCCGEEFNAOlVCCCGEEFNAOlVCCCGEEFNAOlVCCCGEEFNAOlVCCCGEEFNAOlVCCCGEEFNAOlVCCCGEEFNAOlVCCCGEEFNAOlVCCCGEEFPg/wdSpLH5K7RQAgAAAABJRU5ErkJggg==", "text/plain": [ "
    " ] @@ -10314,7 +12495,7 @@ } ], "source": [ - "tas_masked.isel(time=0).plot()" + "cams_masked.isel(time=0).plot()" ] }, { @@ -10327,33 +12508,33 @@ }, { "cell_type": "code", - "execution_count": 39, + "execution_count": 49, "id": "d8235875", "metadata": {}, "outputs": [], "source": [ - "mask = xr.where((tas_AOI <= -5.5) | (tas_AOI >= 15), 1, 0)" + "mask = xr.where((cams_AOI <= 5000) | (cams_AOI >= 20000), 1, 0)" ] }, { "cell_type": "code", - "execution_count": 40, + "execution_count": 50, "id": "2fc7291e-5c3b-4860-aea0-7a4714889bc7", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "" + "" ] }, - "execution_count": 40, + "execution_count": 50, "metadata": {}, "output_type": "execute_result" }, { "data": { - "image/png": "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sXGpjgx3d3et14HTuMflrbfeQmxsLLp16yaV9e7dG+bm5njttddw7tw5xMTEIDg4WKuAqOLF3/xd7hCIiKgGPA4NANu3b8e2bduQkZGBgoIClX2nT5/W+Hwa97hcvnwZtra2pcptbW2RlpYGAGjatClu376tcTBEREQ1Rg1YOXf58uWYNGkSHBwckJKSgk6dOsHe3h5paWno16+fVufUOHHx8vLCzJkzcevWLans1q1bmDVrFjp27AgAuHTpEho2bKhVQERERFQ9rFixArGxsfj8889hamqKWbNmISEhAWFhYbh3755W59Q4cfnyyy+Rnp6Ohg0b4qWXXkLTpk3RsGFDXLlyBWvXrgUA3L9/H++//75WAREREdUINaDHJSMjQ5paYmFhgby8PADAhAkT8O2332p1To3nuDRv3hypqamIj4/HxYsXIYRAixYt4OfnByOjJ3nQ0KFDtQqGiIiopqgJK+c6OTkhJycHbm5ucHNzw4kTJ9CuXTukp6eXejpZXRonLsCTR5/79u0LX19fmJmZQaEwjAlCREREVHleffVV7NmzBy+//DImT56M6dOnY/v27Th16hSGDx+u1Tk1TlyUSiUWLFiAVatW4e+//8bFixfRuHFjvP/++3B3d8fkyZO1CoSIiKhGqQFL/s+ePRsNGjQAAISEhKBu3bo4cuQIBg0aVHmTc+fPn48NGzZgyZIlMDU1lcrbtGkjzXEhIiKiF6gBc1xeeukl3L17V/o8cuRILF++HOPGjUOLFi20OqfGicvGjRsRGxuLcePGwdjYWCpv27Yt/vzzT62CICIiqmlK5rjoslV15c1juX//PszNzbU6p8ZDRTdu3MBLL71UqlypVKKwsFCrIIiIiKj6iIiIAPBkTuwHH3ygsrx/cXExfv31V7Rv316rc2ucuLRq1Qq//PJLqbdEf/fdd+jQoYNWQRAREdU41Xjl3JSUFABPelzOnj2rMrXE1NQU7dq10/rVQBonLnPmzMGECRNw48YNKJVK7Ny5ExcuXMDGjRvxww8/aBUEERFRjVONJ+cmJiYCACZNmoRly5aVueK+tjSe4zJo0CBs3boVe/fulbqAUlNTsWfPHvj5+ektMCIiIjJs69ev12vSAmi5jktAQAACAgL0GggREVFNUhMWoKsIWiUuREREpKNqPFRUkdRKXOrUqaP26rj//POPTgERERER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\n", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAi4AAAHFCAYAAADVIXIDAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8g+/7EAAAACXBIWXMAAA9hAAAPYQGoP6dpAABfE0lEQVR4nO3deVxUZfs/8M8IMoAKrggoApaauAtmiAZWivtSqeUCiutXDZHUIivUDNTKtEUMNZQ0s3KJTEUsJE3NFZ9KUhMV5IEQF8ANEc7vD38zDwMDzDnMcGb5vF+veSlnzrnnmjNnZq657vvcRyEIggAiIiIiE1BH7gCIiIiIdMXEhYiIiEwGExciIiIyGUxciIiIyGQwcSEiIiKTwcSFiIiITAYTFyIiIjIZTFyIiIjIZDBxISIiIpPBxMUEbdy4EQqFAleuXJE7FBw8eBAKhQIHDx6s9cf+9NNP8dRTT0GpVMLT0xOLFy9GcXGxTtsWFxdj8eLF8PDwgFKpxFNPPYVPP/1Up20nTpwIhUIBhUKBjh071uQpVBAWFqZuu379+pLaOHLkCBYtWoTbt29XuC8gIAABAQE1C9JIXbhwAfPmzYO3tzcaNmyIxo0bw8/PD99//73W9XNzczFx4kQ0bdoU9vb28PX1xc8//6yxTkFBAd5//30EBATA2dkZ9evXR6dOnbB8+XI8ePCgQptvv/02hgwZghYtWkChUGDixIminsO1a9cQFhYGf39/NGzYEAqFAhs3bqywnti4tBGzv3bs2IFXX30VTz75JOzs7ODh4YFx48bh4sWLop4fkT4wcSGT9P7772POnDl48cUXkZiYiJkzZyIqKgqzZs3SafuZM2ciOjoas2bNQmJiIkaOHIk5c+YgKipKp+2dnZ1x9OhRfP311zV5GhXMnTsXR48exaBBgyS3ceTIESxevFhr4rJmzRqsWbOmBhEar/379+Onn37CSy+9hO+++w5btmxBmzZtMGrUKCxZskRj3aKiIjz//PP4+eefsXr1avzwww9o3rw5BgwYgJSUFPV6GRkZWLVqFbp3747Y2FgkJCTg5ZdfxqJFizBkyBCUv2LKxx9/jBs3bmDYsGGwsbER/Rz++ecfbNmyBTY2NlUeA2Lj0kbM/lq+fDnu3buHhQsXYt++fVi6dCnOnDmD7t2746+//hL9PIlqRCCTExcXJwAQLl++LHcoQnJysgBASE5OrrXHzMvLE2xtbYVp06ZpLH///fcFhUIh/PXXX1Vu/+effwoKhUKIiorSWD516lTBzs5OuHHjRpXbBwcHC+7u7pJi11VwcLBQr149Sdt+8MEHRnN81Kbr168LpaWlFZYPHjxYsLe3Fx48eKBe9vnnnwsAhCNHjqiXFRcXC15eXsLTTz+tXnbnzh3hzp07FdpU7eNDhw5pLC8pKVH/v169ekJwcLCo51B2+xMnTggAhLi4uArriY1LGzH7699//62wXlZWllC3bl1h8uTJ1T4WkT6x4mJGDhw4gOeffx4ODg6wt7eHn5+fRul7165dUCgUFcrhABATEwOFQoH//Oc/6mUnT57EsGHD0LhxY9ja2qJbt2749ttva+W5VGXfvn148OABJk2apLF80qRJEAQBu3btqnL7Xbt2QRAErdvfv38f+/btkxybQqHA7NmzERcXh3bt2sHOzg4+Pj44duwYBEHABx98AE9PT9SvXx/PPfcc/vnnH8mPpc2iRYswf/58AICnp6e620nVlVe+q+jKlStQKBT44IMPsHz5cnh4eMDOzg4BAQG4cOECiouL8eabb8LV1RWOjo4YOXIkcnNzKzzutm3b4Ovri3r16qF+/foIDAzEmTNn9PrcqtO0aVMoFIoKy59++mncu3cPN2/eVC/buXMn2rVrB19fX/Uya2trjB8/HsePH0dWVhYAoF69eqhXr57WNgEgMzNTY3mdOjX7SNV1e7FxaSNmfzk5OVVYz9XVFS1bttTpsYj0iYmLmdi8eTP69+8PBwcHbNq0Cd9++y0aN26MwMBAdaIyZMgQODk5IS4ursL2GzduRPfu3dG5c2cAQHJyMvz8/HD79m2sXbsWP/zwA7p27YoxY8Zo7XPXxaNHj3S6CdWUuf/8808AQKdOnTSWu7i4oGnTpur7q9q+WbNmcHZ21liueu7VbV+d3bt3Y/369Vi2bBm2bt2KwsJCDB48GK+//jp+++03fPbZZ4iNjcW5c+fw0ksv6VTW19WUKVPw2muvAXg8LuHo0aM4evQounfvXuV2n3/+OX777Td8/vnnWL9+Pf7++28MHToUkydPxvXr1/Hll19ixYoVOHDgAKZMmaKxbVRUFF599VV4eXnh22+/xVdffYXCwkL06dMH586dqzZmfR0XlUlOTkazZs00vnz//PNP9etdlmpZdd0fv/zyCwCgQ4cOkmIyFH3EpW1/aZOeno6rV68a3T4gCyBnuYekKd9VdPfuXaFx48bC0KFDNdYrKSkRunTpolH6Dg8PF+zs7ITbt2+rl507d04AIHz66afqZU899ZTQrVs3obi4WKPNIUOGCC4uLuqStq5dRZcvXxYA6HSrrq2pU6cKSqVS631t27YV+vfvX+X2/fr1E9q1a6f1PhsbmwpdUOVV1VUEQHB2dtYo4+/atUsAIHTt2lWjNL9q1SoBgPCf//xH62MYoqvI399f8Pf3V/+tel26dOmi0U2him3YsGEa24eFhQkAhPz8fEEQBCEjI0OwtrYWXnvtNY31CgsLBWdnZ2H06NFVxqrP40KbdevWCQCE1atXayyvW7euMH369ArrHzlyRAAgfP3115W2efbsWcHOzk4YOXJklY8tpauorKq6imoSV1Uq21/lFRcXCwEBAYKDg4OQkZEh+fGIpLA2dGJEhnfkyBHcvHkTwcHBePTokcZ9AwYMwIoVK3D37l3Uq1cPISEhWLlyJbZt24Zp06YBAOLi4qBUKjF27FgAjwcI/v333/jwww8BQKPNQYMGYffu3Th//jzat2+vc4yurq44ceKETuu2a9eu2nW0lbh1uU9f21elb9++GmV81X4aOHCgRtuq5VevXq1QPaptgwYN0uimUMU2ePBgjfVUyzMyMtCxY0ckJibi0aNHCAoK0jhObG1t4e/vj+Tk5CofV9/HRVl79+7FrFmz8PLLL6urUGVJOQauXLmCIUOGwM3NDevXrxcVj4ogCCgpKdFYZm1ds4/iquIq/5lgZWWl9flVt79UBEHA5MmTcejQIWzfvh1ubm41ip1ILCYuZuDff/8FALz88suVrnPz5k3Uq1cPHTp0QI8ePRAXF4dp06ahpKQEmzdvxvDhw9G4cWON9ubNm4d58+ZpbS8vL09UjDY2NujatatO61pZWVV5f5MmTfDgwQPcu3cP9vb2GvfdvHkT3t7e1W6fmppaYfndu3fx8OFD9X6Qqvz2qrNLKluu6+mrhiQ1ZtWx0qNHD63tVjdmQ5/HRVmJiYl48cUX0a9fP2zZsqXCF3WTJk1w48aNCtupxnVoOwauXr2Kvn37wtraGj///LPk42TTpk0VxlcJNegurC6uunXravwdFxdX4TTt6vZX2TinTJmCzZs3Y9OmTRg+fLjkuImkYuJiBpo2bQrg8bwmzzzzjNZ1mjdvrv7/pEmTMHPmTKSlpSE9PR3Z2dkaH6Sq9iIiIvDiiy9qbU/sr98rV67A09NTp3WTk5OrnGtEVZ34448/0LNnT/XynJwc5OXlVTu3SqdOnfDNN98gJydHY5zLH3/8AQB6n5vFnKmOle+//x7u7u6it9fncaGSmJiIESNGwN/fH9u3b9d6WnKnTp3Ur3dZlR0DV69eRUBAAARBwMGDB9GyZUudYtZm6NChOleZqqNLXOUfq/z+1mV/Af9LWuLi4rBhwwaMHz9eL8+BSCwmLmbAz88PDRs2xLlz5zB79uxq13/11VcRHh6OjRs3Ij09HS1atED//v3V97dr1w5t2rTB2bNndZ7XpDr67BIYMGAAbG1tsXHjRo3ERTUx34gRI6rcfvjw4Xj77bexadMmvPHGGxrb29nZYcCAATrFaayUSiUA4P79+wZ/rMDAQFhbW+PSpUt46aWXRG+v766i/fv3Y8SIEejduzd27dql3hfljRw5EjNnzsTvv/+uPoYePXqEzZs3o2fPnnB1dVWvm5GRgYCAAJSUlODgwYOSErSymjRpgiZNmtSoDTFx+fj4VNqGrvtLEARMnToVcXFx+OKLLypUjIhqExMXM1C/fn18+umnCA4Oxs2bN/Hyyy/DyckJ169fx9mzZ3H9+nXExMSo12/YsCFGjhyJjRs34vbt25g3b16Fkv4XX3yBgQMHIjAwEBMnTkSLFi1w8+ZNpKWl4fTp0/juu+9ExWhjY1PlB6gYjRs3xttvv4133nkHjRs3Rv/+/XHixAksWrQIU6ZMgZeXl3rd+Ph4hISE4Msvv0RQUBCAx2dcTJ48GZGRkbCyskKPHj2wf/9+xMbGYunSpTXuKjKUiRMnYtOmTbh8+TI8PDwqXU9VkVq9ejWCg4NRt25dtGvXDg0aNNB7TB4eHliyZAkWLlyI9PR0DBgwAI0aNcK///6L48ePo169eli8eHGl2+vzuDh8+DBGjBgBZ2dnvPXWWxW6A728vODg4AAACAkJweeff45Ro0Zh2bJlcHJywpo1a3D+/HkcOHBAvU1ubi769u2L7OxsbNiwAbm5uRqng7ds2VKjypGSkoLr168DAEpKSnD16lX1TLT+/v5o1qxZtc9DtX56ejqAx9MSqGZRVnUHi42rpvsrNDQUGzZsQEhICDp16oRjx46p11MqlejWrVu1z4tIb+QbF0xSVTYBXUpKijB48GChcePGQt26dYUWLVoIgwcPFr777rsKbezfv199tsaFCxe0Ps7Zs2eF0aNHC05OTkLdunUFZ2dn4bnnnhPWrl2rXkeOCehUVq9eLbRt21awsbERWrVqJURGRgoPHz7UWEe1r8qfmfHw4UMhMjJSaNWqlWBjYyO0bdtW+OSTT3R63OrOKpo1a5bGMtWZMx988IHGctW+0/b6aDur6KWXXhLs7OyEW7duVRtjRESE4OrqKtSpU0fj9ansrCJdY1PtzxMnTmgs37Vrl9C3b1/BwcFBUCqVgru7u/Dyyy8LBw4cqDZWfYmMjBR1VlJOTo4QFBQkNG7cWLC1tRWeeeYZISkpSWMd1X6o7BYZGamxvr+/f43Piqrq8aTGVdP95e7uXul6hp6Mkag8hSDocRIJIgswceJEHDx4EP/88w8UCoWoQaPVKS0tRWlpKSZPnozt27fjzp076vucnZ0xYcIEfPDBB3p7PCIiU8MJ6IgkuHr1KurWrYsuXbrotd3w8HDUrVsX8fHxGsv/+usv3Lt3T2NMDhGRJWLFhUikK1euqE8Ht7Oz0+vMoZmZmepTjK2srDh2gIioHCYuREREZDJk7Sry8PBQXwSu7G3WrFkAHp+Ct2jRIri6uqov/MZLqBMREUnz66+/YujQoXB1dYVCoaj2orTA47PlvL29YWtri9atW2Pt2rWGD7QKsiYuJ06cQHZ2tvqWlJQEABg1ahQAYMWKFVi5ciU+++wznDhxAs7OzujXrx8KCwvlDJuIiMgk3b17F126dMFnn32m0/qXL1/GoEGD0KdPH5w5cwZvvfUWQkNDsX37dgNHWjmj6ioKCwvD7t27cfHiRQCPJ6cKCwtTD0gsKipC8+bNsXz5ckyfPl3OUImIiEyaQqHAzp07q5y084033kBCQgLS0tLUy2bMmIGzZ8/i6NGjtRBlRUYzAd3Dhw+xefNmhIeHQ6FQID09HTk5ORozuiqVSvj7++PIkSOVJi5FRUUoKipS/11aWoqbN2+iSZMmNb54HhERmTdBEFBYWAhXV9dqr7VVEw8ePMDDhw9r3I4gCBW+25RKZaWzIIt19OhRje9h4PGM2Rs2bEBxcXGFa2HVBqNJXHbt2oXbt2+rL/6Vk5MDQPMaO6q/r169Wmk70dHRVc7USUREVJ3MzMwaXZOqKg8ePICdnZ1e2qpfv77GfE8AEBkZiUWLFuml/ZycHK3fw48ePUJeXh5cXFz08jhiGE3ismHDBgwcOFDjGiFAxcvLa8suy4qIiEB4eLj67/z8fLRq1Uq/wRIRkVkzxCUyVPRRaVG5c+cOMjMz1ZdnAKC3aouKtu9hbctri1EkLlevXsWBAwewY8cO9TLVVXtzcnI0Mrrc3NwK2V9Z+iyRERGRZaqtL+WaPI4qgXBwcNBIXPTJ2dlZ3QOikpubC2tra71cLFQKo5g5Ny4uDk5OThg8eLB6maenJ5ydndVnGgGPs9SUlBT06tVLjjCJiIj0Rtt0IGJvhubr66vxPQw8vqq4j4+PLONbACNIXEpLSxEXF4fg4GBYW/+vAKRQKBAWFoaoqCjs3LkTf/75JyZOnAh7e3uMHTtWxoiJiIhqTo7E5c6dO0hNTVVfDfzy5ctITU1FRkYGgMfDLYKCgtTrz5gxA1evXkV4eDjS0tLw5ZdfYsOGDZg3b55e9oEkclzZsazExEQBgHD+/PkK95WWlgqRkZGCs7OzoFQqhWeffVb4448/RLWfn59f5RVQeeONN9544638LT8/X19fc5V+L9WpU0ewsrKSfFNd/V1MrJVdWTw4OFgQhMdXpi97BXlBEISDBw8K3bp1E2xsbAQPDw8hJiZGj3tDPKOax8UQCgoK4OjoKHcYRERkQvLz8w02bkT1vWRlZVXjMS4lJSUGjdUYGcXgXCIiIktTW+NUzI3sY1yIiIiIdMWKCxERkQxYcZGGiQsREZEMmLhIw64iIiIiMhmsuBAREcmAFRdpmLgQERHJgImLNOwqIiIiIpPBigsREZEMWHGRhokLERGRDJi4SMPEhYiISAZMXKThGBciIiIyGay4EBERyYAVF2mYuBAREcmAiYs07CoiIiIik8GKCxERkQxYcZGGiQsREZEMmLhIw64iIiIiMhmsuBAREcmAFRdpmLgQERHJgImLNOwqIiIiIpPBigsREZFMalJxEQRBj5GYDiYuREREMqhpV5GldjMxcSEiIpIBExdpOMaFiIiITAYrLkRERDJgxUUaJi5EREQyYOIiDbuKiIiIyGSw4kJERCQDVlykYeJCREQkAyYu0rCriIiIiEwGKy5EREQyYMVFGiYuREREMmDiIg27ioiIiMhksOJCREQkA1ZcpGHiQkREJAMmLtIwcSEiIpIBExdpZB/jkpWVhfHjx6NJkyawt7dH165dcerUKfX9d+7cwezZs9GyZUvY2dmhffv2iImJkTFiIiIikousFZdbt27Bz88Pffv2xd69e+Hk5IRLly6hYcOG6nXmzp2L5ORkbN68GR4eHti/fz9mzpwJV1dXDB8+XL7gicyAIAgALPeXG5GcWHGRRtbEZfny5XBzc0NcXJx6mYeHh8Y6R48eRXBwMAICAgAA06ZNwxdffIGTJ08ycSEiIpPFxEUaWbuKEhIS4OPjg1GjRsHJyQndunXDunXrNNbp3bs3EhISkJWVBUEQkJycjAsXLiAwMFBrm0VFRSgoKNC4ERERkXmQNXFJT09HTEwM2rRpg8TERMyYMQOhoaGIj49Xr/PJJ5/Ay8sLLVu2hI2NDQYMGIA1a9agd+/eWtuMjo6Go6Oj+ubm5lZbT4fI5FjqLzZzIQiC+kamR1VxqcnNEikEGY94Gxsb+Pj44MiRI+ploaGhOHHiBI4ePQoA+PDDD7Fu3Tp8+OGHcHd3x6+//oqIiAjs3LkTL7zwQoU2i4qKUFRUpP67oKCAyQtRFQRBsNgPQFNX9uObr6F+5efnw8HBwSBtFxQUwNHRER4eHqhTR3r9oLS0FFeuXDForMZI1jEuLi4u8PLy0ljWvn17bN++HQBw//59vPXWW9i5cycGDx4MAOjcuTNSU1Px4Ycfak1clEollEql4YMnMgP8pW7aFAoFX0OyOLImLn5+fjh//rzGsgsXLsDd3R0AUFxcjOLi4goZqZWVFUpLS2stTiIiIn3j4FxpZE1c5s6di169eiEqKgqjR4/G8ePHERsbi9jYWACAg4MD/P39MX/+fNjZ2cHd3R0pKSmIj4/HypUr5QydiIioRpi4SCPrGBcA2L17NyIiInDx4kV4enoiPDwcU6dOVd+fk5ODiIgI7N+/Hzdv3oS7uzumTZuGuXPn6vSiqfoSiYiIdFUbY1xat25d4zEu6enpFjfGRfbExdCYuBARkVi1lbhYWVlJbqekpMQiExdeq4iIiEgG7CqShokLERGRDJi4SCP7RRaJiIiIdMWKCxERkQxYcZGGiQsREZEMmLhIw64iIiIiMhmsuBAREcmAFRdpmLgQERHJgImLNOwqIiIiIpPBigsREZEMWHGRhokLERGRDJi4SMOuIiIiIjIZrLgQERHJgBUXaZi4EBERyYCJizRMXIiIiGTAxEUajnEhIiKyIGvWrIGnpydsbW3h7e2NQ4cOVbn+li1b0KVLF9jb28PFxQWTJk3CjRs3ainaipi4EBERyUBVcanJTaxt27YhLCwMCxcuxJkzZ9CnTx8MHDgQGRkZWtc/fPgwgoKCMHnyZPz111/47rvvcOLECUyZMqWmT18yJi5EREQykCNxWblyJSZPnowpU6agffv2WLVqFdzc3BATE6N1/WPHjsHDwwOhoaHw9PRE7969MX36dJw8ebKmT18yJi5EREQmrKCgQONWVFSkdb2HDx/i1KlT6N+/v8by/v3748iRI1q36dWrF65du4Y9e/ZAEAT8+++/+P777zF48GC9Pw9dMXEhIiKSgb4qLm5ubnB0dFTfoqOjtT5eXl4eSkpK0Lx5c43lzZs3R05OjtZtevXqhS1btmDMmDGwsbGBs7MzGjZsiE8//VS/O0MEnlVEREQkA32dVZSZmQkHBwf1cqVSqdN2KoIgVBrHuXPnEBoainfffReBgYHIzs7G/PnzMWPGDGzYsEFy7DXBxIWIiMiEOTg4aCQulWnatCmsrKwqVFdyc3MrVGFUoqOj4efnh/nz5wMAOnfujHr16qFPnz5YunQpXFxcav4ERGJXERERkQxqe3CujY0NvL29kZSUpLE8KSkJvXr10rrNvXv3UKeOZqpgZWUF4HGlRg6suBAREclAjgnowsPDMWHCBPj4+MDX1xexsbHIyMjAjBkzAAARERHIyspCfHw8AGDo0KGYOnUqYmJi1F1FYWFhePrpp+Hq6io59ppg4kJERGQhxowZgxs3bmDJkiXIzs5Gx44dsWfPHri7uwMAsrOzNeZ0mThxIgoLC/HZZ5/h9ddfR8OGDfHcc89h+fLlcj0FKAS5aj21pKCgAI6OjnKHQUREJiQ/P1+ncSNSqL6XvL29YW0tvX7w6NEjnDp1yqCxGiNWXIiIiGTAaxVJw8SFiIhIBkxcpOFZRURERGQyWHEhIiKSASsu0jBxISIikgETF2nYVUREREQmgxUXIiIiGbDiIg0TFyIiIhkwcZGGXUVERERkMlhxISIikgErLtLIXnHJysrC+PHj0aRJE9jb26Nr1644deqUxjppaWkYNmwYHB0d0aBBAzzzzDMa11IgIiIyNbV9dWhzIWvF5datW/Dz80Pfvn2xd+9eODk54dKlS2jYsKF6nUuXLqF3796YPHkyFi9eDEdHR6SlpcHW1la+wImIiEgWsiYuy5cvh5ubG+Li4tTLPDw8NNZZuHAhBg0ahBUrVqiXtW7durZCJCIiMgh2FUkja1dRQkICfHx8MGrUKDg5OaFbt25Yt26d+v7S0lL89NNPaNu2LQIDA+Hk5ISePXti165d8gVNRESkB+wqkkbWxCU9PR0xMTFo06YNEhMTMWPGDISGhiI+Ph4AkJubizt37mDZsmUYMGAA9u/fj5EjR+LFF19ESkqK1jaLiopQUFCgcSMiIjI2TFykkbWrqLS0FD4+PoiKigIAdOvWDX/99RdiYmIQFBSE0tJSAMDw4cMxd+5cAEDXrl1x5MgRrF27Fv7+/hXajI6OxuLFi2vvSRAREVGtkbXi4uLiAi8vL41l7du3V58x1LRpU1hbW1e5TnkRERHIz89X3zIzMw0TPBERUQ2w4iKNrBUXPz8/nD9/XmPZhQsX4O7uDgCwsbFBjx49qlynPKVSCaVSaZiAiYiI9ISDc6WRNXGZO3cuevXqhaioKIwePRrHjx9HbGwsYmNj1evMnz8fY8aMwbPPPou+ffti3759+PHHH3Hw4EH5AiciIiJZyNpV1KNHD+zcuRNbt25Fx44d8d5772HVqlUYN26cep2RI0di7dq1WLFiBTp16oT169dj+/bt6N27t4yRExER1Qy7iqRRCIIgyB2EIRUUFMDR0VHuMIiIyITk5+fDwcHBIG2rvpeee+45WFtL7/h49OgRfvnlF4PGaoxkn/KfiIiISFc6pXrdu3cX1ahCoUBCQgJatGghKSgiIiJzx8G50uiUuKSmpuL1119H/fr1q11XEAQsW7YMRUVFNQ6OiIjIXDFxkUbnzrX58+fDyclJp3U/+ugjyQERERERVUanxOXy5cto1qyZzo2eO3cOrq6ukoMiIiKyBJZaNakJnRKXyiZ7q4ybm5ukYIiIiCwFu4qkkXQe1u3bt3H8+HHk5uaqryekEhQUpJfAiIiIzBkTF2lEJy4//vgjxo0bh7t376JBgwYaO06hUDBxISIiIoMRPY/L66+/jpCQEBQWFuL27du4deuW+nbz5k1DxEhERGR2OHOuNKIrLllZWQgNDYW9vb0h4iEiIrII7CqSRnTFJTAwECdPnjRELERERERV0qnikpCQoP7/4MGDMX/+fJw7dw6dOnVC3bp1NdYdNmyYfiMkIiIyQ6y4SKNT4jJixIgKy5YsWVJhmUKhQElJSY2DIiIiMndMXKTRKXEpf8ozERERkRxEj3GJj4/Xeh2ihw8fIj4+Xi9BERERmTueVSSN6MRl0qRJyM/Pr7C8sLAQkyZN0ktQRERE5o6JizSiExdBELTurGvXrsHR0VEvQRERERFpo/M8Lt26dVNneM8//zysrf+3aUlJCS5fvowBAwYYJEgiIiJzw8G50uicuKjOLEpNTUVgYCDq16+vvs/GxgYeHh546aWX9B4gERGROWLiIo3OiUtkZCRKSkrg7u6OwMBAuLi4GDIuIiIis8bERRpRY1ysrKwwY8YMPHjwwFDxEBEREVVK9ODcTp06IT093RCxEBERWQyeVSSN6MTl/fffx7x587B7925kZ2ejoKBA40ZERETVY+IijeirQ6vOHBo2bJjGTlOdJs0p/4mIiMhQRCcuycnJhoiDiIjIonBwrjSiExd/f39DxEFERGRRmLhIIzpxAYDbt29jw4YNSEtLg0KhgJeXF0JCQjhzLhERERmU6MG5J0+exBNPPIGPP/4YN2/eRF5eHlauXIknnngCp0+fNkSMRERE1RIEQe4QROHgXGlEV1zmzp2LYcOGYd26depp/x89eoQpU6YgLCwMv/76q96DJCIiMjfsKpJGdOJy8uRJjaQFAKytrbFgwQL4+PjoNTgiIiKiskR3FTk4OCAjI6PC8szMTDRo0EAvQREREZk7dhVJIzpxGTNmDCZPnoxt27YhMzMT165dwzfffIMpU6bg1VdfNUSMREREZolJi3iiu4o+/PBDKBQKBAUF4dGjRwCAunXr4v/+7/+wbNkyvQdIRERkjjjGRRrRiYuNjQ1Wr16N6OhoXLp0CYIg4Mknn4S9vb0h4iMiIiJSkzSPCwDY29ujU6dO+oyFiIhIMlOrQLDiIo3oxOXu3btYtmwZfv75Z+Tm5qK0tFTjfl45moiIqHpMXKQRnbhMmTIFKSkpmDBhAlxcXCx2xxEREVHtE5247N27Fz/99BP8/Pz0EkBWVhbeeOMN7N27F/fv30fbtm2xYcMGeHt7V1h3+vTpiI2Nxccff4ywsDC9PD4REZEcWHGRRnTi0qhRIzRu3FgvD37r1i34+fmhb9++2Lt3L5ycnHDp0iU0bNiwwrq7du3C77//DldXV708NhERkZyYuEgjOnF577338O6772LTpk01PpNo+fLlcHNzQ1xcnHqZh4dHhfWysrIwe/ZsJCYmYvDgwTV6TCIiIjJdohOXjz76CJcuXULz5s3h4eGBunXratwv5kKLCQkJCAwMxKhRo5CSkoIWLVpg5syZmDp1qnqd0tJSTJgwAfPnz0eHDh2qbbOoqAhFRUXqvwsKCnSOh4iIqLaw4iKN6MRlxIgRenvw9PR0xMTEIDw8HG+99RaOHz+O0NBQKJVKBAUFAXhclbG2tkZoaKhObUZHR2Px4sV6i5GIiMgQmLhIIzpxiYyM1Gm9rVu3YtiwYahXr16l65SWlsLHxwdRUVEAgG7duuGvv/5CTEwMgoKCcOrUKaxevRqnT5/W+QWKiIhAeHi4+u+CggK4ubnptC0REVFtkStxWbNmDT744ANkZ2ejQ4cOWLVqFfr06VPp+kVFRViyZAk2b96MnJwctGzZEgsXLkRISIhOjxcXF4f69etj1KhRGsu/++473Lt3D8HBwaLiF32tIl1Nnz4d//77b5XruLi4wMvLS2NZ+/bt1RdxPHToEHJzc9GqVStYW1vD2toaV69exeuvv651LAwAKJVKODg4aNyIiIgI2LZtG8LCwrBw4UKcOXMGffr0wcCBA7VePFll9OjR+Pnnn7FhwwacP38eW7duxVNPPaXzYy5btgxNmzatsNzJyUlduBBD8sy51REEodp1/Pz8cP78eY1lFy5cgLu7OwBgwoQJeOGFFzTuDwwMxIQJEzBp0iT9BUtERFTL5Ki4rFy5EpMnT8aUKVMAAKtWrUJiYiJiYmIQHR1dYf19+/YhJSUF6enp6jOKKyscVObq1avw9PSssNzd3b3KhKkyBqu46GLu3Lk4duwYoqKi8M8//+Drr79GbGwsZs2aBQBo0qQJOnbsqHGrW7cunJ2d0a5dOzlDJyIiqpGaXBm6bNJTUFCgcSt7gkpZDx8+xKlTp9C/f3+N5f3798eRI0e0bpOQkAAfHx+sWLECLVq0QNu2bTFv3jzcv39f5+fp5OSE//znPxWWnz17Fk2aNNG5HRVZE5cePXpg586d2Lp1Kzp27Ij33nsPq1atwrhx4+QMi4iIyGS4ubnB0dFRfdNWOQGAvLw8lJSUoHnz5hrLmzdvjpycHK3bpKen4/Dhw/jzzz+xc+dOrFq1Ct9//726wKCLV155BaGhoUhOTkZJSQlKSkrwyy+/YM6cOXjllVd0f6L/n8G6inQ1ZMgQDBkyROf1r1y5YrhgiIiIaom+uooyMzM1xnMqlUqdtlMRBKHSOEpLS6FQKLBlyxY4OjoCeNzd9PLLL+Pzzz+HnZ1dtXEuXboUV69exfPPPw9ra2t1u0FBQcY1xoWIiIgqp6/ERdcTUZo2bQorK6sK1ZXc3NwKVRgVFxcXtGjRQp20AI9PohEEAdeuXUObNm2qfVwbGxts27YN7733Hs6ePQs7Ozt06tRJPZ5VLIN1Fbm7u1eYnI6IiIjkYWNjA29vbyQlJWksT0pKQq9evbRu4+fnh//+97+4c+eOetmFCxdQp04dtGzZUtTjt23bFqNGjcKQIUMkJy2AhIpLZmYmFAqFOuDjx4/j66+/hpeXF6ZNm6Ze788//5QcFBERkbmT46yi8PBwTJgwAT4+PvD19UVsbCwyMjIwY8YMAI/nQsvKykJ8fDwAYOzYsXjvvfcwadIkLF68GHl5eZg/fz5CQkJ06iYCgJKSEmzcuBE///wzcnNzUVpaqnH/L7/8Iuo5iE5cxo4di2nTpmHChAnIyclBv3790KFDB/XENO+++67YJomIiCyOHInLmDFjcOPGDSxZsgTZ2dno2LEj9uzZo66AZGdna5yiXL9+fSQlJeG1116Dj48PmjRpgtGjR2Pp0qU6P+acOXOwceNGDB48GB07dqzxjL8KQZcJV8po1KgRjh07hnbt2uGTTz7Btm3b8Ntvv2H//v2YMWMG0tPTaxSQvhUUFGj0zREREVUnPz/fYBOYqr6XpkyZAhsbG8ntPHz4EOvXrzdorPrQtGlTxMfHY9CgQXppT3TFpbi4WD1i+cCBAxg2bBgA4KmnnkJ2drZegiIqr6pR72Sc+JoRVc1SrlVkY2ODJ598Um/tiR6c26FDB6xduxaHDh1CUlISBgwYAAD473//K2kiGSIiIkukrwnojN3rr7+O1atX6zSjvi5EV1yWL1+OkSNH4oMPPkBwcDC6dOkC4PHsek8//bRegiIiIjJ3llJxOXz4MJKTk7F371506NChwhnHO3bsENWe6MQlICAAeXl5KCgoQKNGjdTLp02bBnt7e7HNEenEVN6g9D98zYgIABo2bIiRI0fqrT1JE9AJgoBTp07h0qVLGDt2LBo0aAAbGxsmLkRERCJYQoIfFxen1/ZEJy5Xr17FgAEDkJGRgaKiIvTr1w8NGjTAihUr8ODBA6xdu1avARKR6eHAXKLqWUpXkcr169dx/vx5KBQKtG3bFs2aNZPUjujBuXPmzIGPjw9u3bqlMfnMyJEj8fPPP0sKgoiIiMzT3bt3ERISAhcXFzz77LPo06cPXF1dMXnyZNy7d090e6ITl8OHD+Ptt9+ucO65u7s7srKyRAdAROZFX2cOEJk7SzmrKDw8HCkpKfjxxx9x+/Zt3L59Gz/88ANSUlLw+uuvi25PdFdRaWkpSkpKKiy/du0aGjRoIDoAIiIiS2QpXUXbt2/H999/j4CAAPWyQYMGwc7ODqNHj0ZMTIyo9kRXXPr164dVq1ap/1YoFLhz5w4iIyP1NiseERERmYd79+5pvfq0k5NT7XQVffzxx0hJSYGXlxcePHiAsWPHwsPDA1lZWVi+fLnoAIjI9AmCoL6VX05E2llKV5Gvry8iIyPx4MED9bL79+9j8eLF8PX1Fd2e6K4iV1dXpKamYuvWrTh9+jRKS0sxefJkjBs3TucrRRIREVk6S+kqWr16NQYMGICWLVuiS5cuUCgUSE1Nha2tLRITE0W3J2keFzs7O4SEhCAkJETK5kRkAVTVlrJVF1P5oCUi/enYsSMuXryIzZs34++//4YgCHjllVckFzwkJS5fffUVvvjiC6Snp+Po0aNwd3fHxx9/jNatW2P48OFSmiQiIrIollJxAR4XPKZOnaqXtkSPcYmJiUF4eDgGDhyIW7duqc8watSokcagXSKyHKbW505kDCxljEt0dDS+/PLLCsu//PJLSWNjRScun376KdatW4eFCxfC2vp/BRsfHx/88ccfogMgIiKyRJaSuHzxxRd46qmnKizv0KGDpNn2RSculy9fRrdu3SosVyqVuHv3rugAiIiIyHzl5OTAxcWlwvJmzZohOztbdHuiExdPT0+kpqZWWL537154eXmJDoCIzEtlvwJN5dchUW2xlIqLm5sbfvvttwrLf/vtN7i6uopuT/Tg3Pnz52PWrFl48OABBEHA8ePHsXXrVkRHR2P9+vWiAyAiIrJEljI4d8qUKQgLC0NxcTGee+45AMDPP/+MBQsW1M6U/5MmTcKjR4+wYMEC3Lt3D2PHjkWLFi2wevVqvPLKK6IDICLzojr9WaFQaPyfiCzTggULcPPmTcycORMPHz4EANja2uKNN95ARESE6PZEJS6PHj3Cli1bMHToUEydOhV5eXkoLS2Fk5OT6AcmIiKyZJZScVEoFFi+fDneeecdpKWlwc7ODm3atIFSqdRY79q1a3B1dUWdOlWPYhGVuFhbW+P//u//kJaWBgBo2rSpyPCJiIgIsJzERaV+/fro0aNHpfd7eXkhNTUVrVu3rrId0YNze/bsiTNnzojdjIgshCkNGiQi46Hrtc1Ej3GZOXMmXn/9dVy7dg3e3t6oV6+exv2dO3cW2yQREZHFsbSKi76ITlzGjBkDAAgNDVUvUw3CUygU6pl0iajmVO8rY6NrXMYYO5GxYOIijejE5fLly4aIg4iIiKhaohMXd3d3Q8RBROWUvbqyMf2yMrZ4iEwVKy6adH0+ohOXhISESh/Q1tYWTz75JDw9PcU2S0REZFGYuGgy2ODcESNGaEwspVJ2nEvv3r2xa9cuNGrUSGzzREREFoGJi6Zz587pdAkA0adDJyUloUePHkhKSkJ+fj7y8/ORlJSEp59+Grt378avv/6KGzduYN68eZICJ6LHjPW0YmOMiYiMj2qWXJVLly4hLCwMgwcPxpQpU3Dq1CmN+93c3GBlZVVtu6IrLnPmzEFsbCx69eqlXvb888/D1tYW06ZNw19//YVVq1YhJCREbNNEREQWxZx/CNjZ2SE7OxtOTk5ITU2Fn58f2rZtix49eiA1NRW9evXCoUOH8PTTT4tqV3TicunSJTg4OFRY7uDggPT0dABAmzZtkJeXJ7ZpItLCnD/YiCyZuXcVlR1S8s4772DQoEH49ttv1XGHhIQgMjISe/fuFdWu6K4ib29vzJ8/H9evX1cvu379OhYsWKCeyvfixYto2bKlTu1lZWVh/PjxaNKkCezt7dG1a1d1+ai4uBhvvPEGOnXqhHr16sHV1RVBQUH473//KzZsIiIikklqairCwsI0kq05c+ZImolfdMVlw4YNGD58OFq2bAk3NzcoFApkZGSgdevW+OGHHwAAd+7cwTvvvFNtW7du3YKfnx/69u2LvXv3wsnJCZcuXULDhg0BAPfu3cPp06fxzjvvoEuXLrh16xbCwsIwbNgwnDx5UmzoRERERsPcKy5ln5+VlVWF3hoHBwfk5+eLbld04tKuXTukpaUhMTERFy5cgCAIeOqpp9CvXz/1FR1HjBihU1vLly+Hm5sb4uLi1Ms8PDzU/3d0dERSUpLGNp9++imefvppZGRkoFWrVmLDJyIiMgrmnrgIgoC2bdtCoVDgzp07+OOPP9CpUyf1/RcvXoSzs7PodkUnLsDjnTVgwAAEBARAqVRK3nkJCQkIDAzEqFGjkJKSghYtWmDmzJmYOnVqpdvk5+dDoVCoqzLlFRUVoaioSP13QUGBpNiIiIhIurJFCQB44oknNP4+duwYRo4cKbpd0YlLaWkp3n//faxduxb//vsvLly4gNatW+Odd96Bh4cHJk+erHNb6enpiImJQXh4ON566y0cP34coaGhUCqVCAoKqrD+gwcP8Oabb2Ls2LFaBwgDQHR0NBYvXiz2aREREdUqc6+4BAcHV3n/u+++K6ld0YNzly5dio0bN2LFihWwsbFRL+/UqRPWr18vqq3S0lJ0794dUVFR6NatG6ZPn46pU6ciJiamwrrFxcV45ZVXUFpaijVr1lTaZkREhHp+mfz8fGRmZoqKiYiIqDaoEpea3ExJbm4uDh06hMOHDyM3N1dyO6ITl/j4eMTGxmLcuHEaE8V07twZf//9t6i2XFxc4OXlpbGsffv2yMjI0FhWXFyM0aNH4/Lly0hKSqq02gIASqUSDg4OGjciYyEIgs7TWhMRmYOCggJMmDABLVq0gL+/P5599lm0aNEC48ePlzQ4V3TikpWVhSeffLLC8tLSUhQXF4tqy8/PD+fPn9dYduHCBY0LOaqSlosXL+LAgQNo0qSJ2JCJiIiMjqVUXKZMmYLff/8du3fvxu3bt5Gfn4/du3fj5MmTVY5prYzoMS4dOnTAoUOHKlwl+rvvvkO3bt1EtTV37lz06tULUVFRGD16NI4fP47Y2FjExsYCAB49eoSXX34Zp0+fxu7du1FSUoKcnBwAQOPGjTW6qoiIiEyJuY9xUfnpp5+QmJiI3r17q5cFBgZi3bp1GDBggOj2RCcukZGRmDBhArKyslBaWoodO3bg/PnziI+Px+7du0W11aNHD+zcuRMRERFYsmQJPD09sWrVKowbNw4AcO3aNfXVqLt27aqxbXJyMgICAsSGT2aibHeLqbx5AdOKlYgMy1ISlyZNmsDR0bHCckdHR0kXYxaduAwdOhTbtm1DVFQUFAoF3n33XXTv3h0//vgj+vXrJzqAIUOGYMiQIVrv8/Dw4HgAIiIiE/b2228jPDwc8fHxcHFxAQDk5ORg/vz5Ok1WW56keVwCAwMRGBgoZVOiKqkS1ep+SSgUCvW6giCYzC8PIiIVS6m4xMTE4J9//oG7u7t64tiMjAwolUpcv34dX3zxhXrd06dPV9uepMSFiIiIasZSEhddZ9PXlU6JS6NGjXTeQTdv3qxRQGTZVJUUXaoorLoQERm/yMhIvbanU+KyatUq9f9v3LiBpUuXIjAwEL6+vgCAo0ePIjExUVJfFRERkSWylIqLvumUuJSdtvell17CkiVLMHv2bPWy0NBQfPbZZzhw4ADmzp2r/yiJiIjMjCUkLj/99BN27tyJxo0bY9KkSWjfvr36vlu3buGll17CL7/8IqpN0RPQJSYmaj3vOjAwEAcOHBDbHFEFqjezLmeUmcIbl4jIEn399dcYPnw4cnJycPToUXTv3h1btmxR3//w4UOkpKSIbld04tKkSRPs3LmzwvJdu3ZxVlsiIiIdmfvMuR9++CE+/vhj7N69G4cOHcJXX32FGTNmYMOGDTVqV/RZRYsXL8bkyZNx8OBB9RiXY8eOYd++faIvskhUHTGDbjlAl4hMibl3FV24cEFjnraXX34ZTZs2xbBhw1BcXIyRI0dKald04jJx4kS0b98en3zyCXbs2AFBEODl5YXffvsNPXv2lBQEERERmRcHBwf8+++/8PT0VC8LCAjAjz/+iCFDhuDatWuS2pU0j0vPnj01+qmIiIhIHHOvuDz99NPYu3cvnnnmGY3l/v7+6uRFCp3GuBQUFIhqtLCwUFIwRNqo5nWp7L6q/iYiMlbmPsZl7ty5sLW11XpfQEAAdu/ejaCgINHt6jwBXXZ2NpycnHRqtEWLFkhNTUXr1q1FB0RERGQJzL3i4u/vD39//0rvDwgIkHSxZJ0SF0EQsH79etSvX1+nRouLi0UHQlRe+VOiVYNvq6qqGPsb2RxwEDQRSZGbm4vc3FyUlpZqLO/cubOodnRKXFq1aoV169bp3KizszPq1q0rKhAiIiJLYwk/Ak6dOoXg4GCkpaVpXEhX9SOopKREVHs6JS5XrlwRHShRTWmrrHAMi/zKftCy+kIknbl3FalMmjQJbdu2xYYNG9C8efMax82rQxMREZHBXL58GTt27MCTTz6pl/ZEz5xLRERENWfuZxWpPP/88zh79qze2mPFhWRXts+TiMhSWEpX0fr16xEcHIw///wTHTt2rDAGdtiwYaLaY+JCREREBnPkyBEcPnwYe/furXCflMG57Coi2al+NVQ10RwZh/Kvj6n84iMyRpbSVRQaGooJEyYgOzsbpaWlGjexSQsgMXE5dOgQxo8fD19fX2RlZQEAvvrqKxw+fFhKc0RERBZHrsRlzZo18PT0hK2tLby9vXHo0CGdtvvtt99gbW2Nrl27inq8GzduYO7cuWjevLmEaCsSnbhs374dgYGBsLOzw5kzZ1BUVATg8TT/UVFRegmKzFdlVZWyb0KplRdT+fVBRCSXbdu2ISwsDAsXLsSZM2fQp08fDBw4EBkZGVVul5+fj6CgIDz//POiH/PFF19EcnKy1JArED3GZenSpVi7di2CgoLwzTffqJf36tULS5Ys0VtgRERE5kyOwbkrV67E5MmTMWXKFADAqlWrkJiYiJiYGERHR1e63fTp0zF27FhYWVlh165doh6zbdu2iIiIwOHDh9GpU6cKg3NDQ0NFtSc6cTl//jyeffbZCssdHBxw+/Ztsc0RERFZJH0lLuUvhKxUKqFUKius//DhQ5w6dQpvvvmmxvL+/fvjyJEjlT5OXFwcLl26hM2bN2Pp0qWi41RdMiglJQUpKSkVnoPBExcXFxf8888/8PDw0Fh++PBhXlSRqlXdm7Rsd5E+25VD2ecgNj5jPUXc2OIhMmX6Slzc3Nw0lkdGRmLRokUV1s/Ly0NJSUmFsSbNmzdHTk6O1se4ePEi3nzzTRw6dAjW1tJORL58+bL6//r4bBM9xmX69OmYM2cOfv/9dygUCvz3v//Fli1bMG/ePMycOVNyIERERCReZmYm8vPz1beIiIgq1y+fNFR26Y6SkhKMHTsWixcvRtu2bWsU44YNG9CxY0fY2trC1tYWHTt2xPr16yW1JTp9WrBgAfLz89G3b188ePAAzz77LJRKJebNm4fZs2dLCoKoPKmVF2NR07iruwo2EZk+fVVcHBwc4ODgUO36TZs2hZWVVYXqSm5urtYzfgoLC3Hy5EmcOXNG/f1eWloKQRBgbW2N/fv347nnnqv2cd955x18/PHHeO211+Dr6wsAOHr0KObOnYsrV66I7n5SCBI/He/du4dz586htLQUXl5eqF+/vpRmDK6goACOjo5yh0ES6Xp4GlsXhj7mO+EFDInkk5+fr1MyIIXqe+nTTz+FnZ2d5Hbu37+P1157TVSsPXv2hLe3N9asWaNe5uXlheHDh1cYnFtaWopz585pLFuzZg1++eUXfP/99/D09ES9evWqfcymTZvi008/xauvvqqxfOvWrXjttdeQl5enU+wqkmfOtbe3h4+Pj9TNiYiIqJaFh4djwoQJ8PHxga+vL2JjY5GRkYEZM2YAACIiIpCVlYX4+HjUqVMHHTt21NjeyclJ3dWjq5KSEq35gre3Nx49eiT6OeiUuLz44os6N7hjxw7RQRBVxpK7TFhtITJvcpwOPWbMGNy4cQNLlixBdnY2OnbsiD179sDd3R0AkJ2dXe2cLmKNHz8eMTExWLlypcby2NhYjBs3TnR7OnUVTZo0Sf1/QRCwc+dOODo6qjOoU6dO4fbt23jxxRcRFxcnOghDYleR6dMlcTG2L3lOjU9k2mqjq+jzzz+vcVfRrFmzDBqrPrz22muIj4+Hm5sbnnnmGQDAsWPHkJmZiaCgII15XconN9roVHEpm4y88cYbGD16NNauXQsrKysAj8tAM2fONOodR6bLFKsupj64mIhIX/788090794dAHDp0iUAQLNmzdCsWTP8+eef6vV0/YEneozLl19+icOHD6uTFgCwsrJCeHg4evXqhQ8++EBsk0RERBZHjq4iOehzun9Awjwujx49QlpaWoXlaWlpKC0t1UtQRGXpUrUw1sqGKV3BlYhql6VcHVrfRFdcJk2ahJCQEPzzzz8afVXLli3TGAtDREREpG+iE5cPP/wQzs7O+Pjjj5GdnQ3g8WUAFixYgNdff13vARIREZkjS+kq0jfRXUV16tTBggULkJWVhdu3b+P27dvIysrCggULNMa96CorKwvjx49HkyZNYG9vj65du+LUqVPq+wVBwKJFi+Dq6go7OzsEBATgr7/+Ev04ZHoEQTDaLiAioppiV5E0ohOXsnSdZrgyt27dgp+fH+rWrYu9e/fi3Llz+Oijj9CwYUP1OitWrMDKlSvx2Wef4cSJE3B2dka/fv1QWFhYk9CJiIhkxcRFGtFdRZ6enlXurPT0dJ3bWr58Odzc3DROty571WlBELBq1SosXLhQPQnepk2b0Lx5c3z99deYPn262PDJRJjD1aGJiEj/RCcuYWFhGn8XFxfjzJkz2LdvH+bPny+qrYSEBAQGBmLUqFFISUlBixYtMHPmTEydOhXA40th5+TkoH///uptlEol/P39ceTIESYuRERk0vijSzzRicucOXO0Lv/8889x8uRJUW2lp6cjJiYG4eHheOutt3D8+HGEhoZCqVQiKChIfQXL8letbN68Oa5evaq1zaKiIhQVFan/LigoEBUTERFRbeDgXGlqNMalrIEDB2L79u2itiktLUX37t0RFRWFbt26Yfr06Zg6dSpiYmI01iv/4lR11dzo6Gg4Ojqqb25ubuKeCJkcU3jz1nSQMQcpmzYONCfSH70lLt9//z0aN24sahsXFxd4eXlpLGvfvr36Ak/Ozs4AoK68qOTm5laowqhEREQgPz9ffcvMzBQVExERUW3g4FxpRHcVdevWTWNnCYKAnJwcXL9+HWvWrBHVlp+fH86fP6+x7MKFC+qrVHp6esLZ2RlJSUno1q0bAODhw4dISUnB8uXLtbapVCqhVCpFxUHGq6pr/pjSm1YfsVZVaSTTwNeQymJXkTSiE5fhw4dr7Kw6deqgWbNmCAgIwFNPPSWqrblz56JXr16IiorC6NGjcfz4ccTGxiI2NhbA4xclLCwMUVFRaNOmDdq0aYOoqCjY29tj7NixYkMnIiIiEyc6cVm0aJHeHrxHjx7YuXMnIiIisGTJEnh6emLVqlUYN26cep0FCxbg/v37mDlzJm7duoWePXti//79aNCggd7iIOPFcQGa+4C/2E2f6vXk60isuEijEER+M1hZWSE7OxtOTk4ay2/cuAEnJyeUlJToNcCaKigogKOjo9xhkEi6HJaW8qYtvy8s5XmbE1Pv6rRE+fn5NZpgtSqq76W4uDjY29tLbufevXuYNGmSQWM1RqIH51b2hVJUVAQbG5saB0RERERUGZ27ij755BMAj38lrF+/HvXr11ffV1JSgl9//VX0GBeisiypW6iyKkrZ5fxFbj4UCoVFHd+kG3YVSaNz4vLxxx8DePzBunbtWo0LKtrY2MDDwwNr167Vf4RERERmiImLNDonLpcvXwYA9O3bFzt27ECjRo0MFhRZDqm/Qk3tDavL8yy/TmXbcHCnaSpfdZFjoDUHdxsXJi7SiD6rKDk52RBxEBEREVVLp8QlPDwc7733HurVq4fw8PAq1125cqVeAiPLUdmvhqqqFKbyy7Gm4xo4NsK8SKm6mMqxTuKx4iKNTonLmTNnUFxcDAA4ffq0xe4sIiIifWHiIo1OiUvZ7qGDBw8aKhYiIiKiKomexyUkJASFhYUVlt+9exchISF6CYqoKsb8K0N1FWCxVwOubiBuVY9Fpqu2j2Vjfu9YIl5kURrRicumTZtw//79Csvv37+P+Ph4vQRFRERk7pi4SKPzWUUFBQXqX3iFhYWwtbVV31dSUoI9e/ZUuAwAkS5Ugw91GYSour/sIEdjePOy8kFEVDt0TlwaNmyozvDatm1b4X6FQoHFixfrNTgiIiJzxcG50uicuCQnJ0MQBDz33HPYvn07GjdurL7PxsYG7u7ucHV1NUiQRERE5oaJizQ6Jy7+/v4AHs+g6+bmhjp1RA+PIapA1eWj6mqprLtI12Vyqcl8K5yrxbJY8uutz2txcX4byyV65lx3d3cAjy+nnZGRgYcPH2rc37lzZ/1ERkREZMZYcZFGdOJy/fp1TJo0CXv37tV6f0lJSY2DotpjDL9atM0mWvY+U1E+Vl1/Vdfk17cp7R/6H0uuuuiLORz7TFykEd3fExYWhlu3buHYsWOws7PDvn37sGnTJrRp0wYJCQmGiJGIiMjs8HRoaURXXH755Rf88MMP6NGjB+rUqQN3d3f069cPDg4OiI6OxuDBgw0RJxlAdeNKapO2X6Byx1RTZePnr2sqT8zxbQzvUX0wh+dA8hNdcbl79656vpbGjRvj+vXrAIBOnTrh9OnT+o2OiIjITLHiIo3oxKVdu3Y4f/48AKBr16744osvkJWVhbVr18LFxUXvARIREZkrJi3iie4qCgsLQ3Z2NgAgMjISgYGB2LJlC2xsbLBx40Z9x0cGZMwDBC35TVmZ8q8X9xGZInPp9iL5iE5cxo0bp/5/t27dcOXKFfz9999o1aoVmjZtqtfgiIiIzBXPKpJGdOJSnr29Pbp3766PWEgGlnrg15aaVrTKvz58vcgcsOryGBMXaXRKXMLDw3VucOXKlZKDISIiIqqKTonLmTNndGrMUrM/IiIisVhxkUanxCU5OdnQcRAZDbnL2Jb6YUSVUw3MNqdjw9yejxRMXKThlRKJiIjIZNR4cC6RodX2LzN9PJaUQbmW+uuJ/ne8VHYVdDHvAWOuZJR/XxhzrLWBFRdpmLgQERHJgImLNExcyOgY25tR7K9dKYztOZM8KjvWxB5/VVVwyHgwcZGGY1yIiIjIZLDiQkREJANWXKRh4kImQc5BfGIeV7WumC4jS/3wof+pyXXDqtpO9b4xlkGwxnx9NDkwcZGGXUVERERkMlhxIaNS1S8IY/nVqAttcZb/pWkqz4Vqhy7ViPLvgerWV61rTMda+edpSu9rfWPFRRomLkRERDJg4iINu4pI7wRBMNgEbObSP26pHzhUteqOC6nHjbG9b8o/D2OLj4ybrInLokWL1Bmn6ubs7Ky+/86dO5g9ezZatmwJOzs7tG/fHjExMTJGTEREpB/lv/+k3CyR7F1FHTp0wIEDB9R/W1lZqf8/d+5cJCcnY/PmzfDw8MD+/fsxc+ZMuLq6Yvjw4XKES0REpBfsKpJG9q4ia2trODs7q2/NmjVT33f06FEEBwcjICAAHh4emDZtGrp06YKTJ0/KGDFVpTZm7DS2srKu8Vj6rySSR9nZdI3pvaOtu6jsjagysicuFy9ehKurKzw9PfHKK68gPT1dfV/v3r2RkJCArKwsCIKA5ORkXLhwAYGBgZW2V1RUhIKCAo0bERGRsWFXkTSyJi49e/ZEfHw8EhMTsW7dOuTk5KBXr164ceMGAOCTTz6Bl5cXWrZsCRsbGwwYMABr1qxB7969K20zOjoajo6O6pubm1ttPR2LZ4hqi6n88jKVOMmyaDsujelYtdQvXhUmLtLImrgMHDgQL730Ejp16oQXXngBP/30EwBg06ZNAB4nLseOHUNCQgJOnTqFjz76CDNnztQYE1NeREQE8vPz1bfMzMxaeS5ERERiMHGRRvbBuWXVq1cPnTp1wsWLF3H//n289dZb2LlzJwYPHgwA6Ny5M1JTU/Hhhx/ihRde0NqGUqmEUqmszbCJiIiolsg+xqWsoqIipKWlwcXFBcXFxSguLkadOpohWllZobS0VHTb+fn5FQZ+lR8Mpu1GVSu7r/T9C6C6a7AQWary7zmx77vKupCM6X1lTLEYCisu0shacZk3bx6GDh2KVq1aITc3F0uXLkVBQQGCg4Ph4OAAf39/zJ8/H3Z2dnB3d0dKSgri4+OxcuVKOcMmIiLSC0tNPmpC1sTl2rVrePXVV5GXl4dmzZrhmWeewbFjx+Du7g4A+OabbxAREYFx48bh5s2bcHd3x/vvv48ZM2bU+LEry+Z5EIkj5/4qe40Tua53Ygm/Csn4aDvWdbnWUVnl3zNyvZerilvb+1rMSQC1MT0D1T5ZE5dvvvmmyvudnZ0RFxdXS9EQERHVHrkmoFuzZg0++OADZGdno0OHDli1ahX69Omjdd0dO3YgJiYGqampKCoqQocOHbBo0aIqpyUxNKMa4yInS+4vNGXlxyzVNh43JKfqrjhe3bFpbONatKns/S22umSM5Bjjsm3bNoSFhWHhwoU4c+YM+vTpg4EDByIjI0Pr+r/++iv69euHPXv24NSpU+jbty+GDh2KM2fO1PTpS6YQjPUV1ZOCggI4OjoiPz8fDg4Ola7HLx/jY6gLNRqCXF1VZNmq6koBdO8+kvvYrS5G1fMo/3x0Scx0Xbe86r4zakL1vZScnIz69etLbufOnTvo27evqFh79uyJ7t27a1z3r3379hgxYgSio6N1aqNDhw4YM2YM3n33XUlx1xQrLkRERDLQV8Wl/GzxRUVFWh/v4cOHOHXqFPr376+xvH///jhy5IhOMZeWlqKwsBCNGzeu2ZOvASYukP/XBtVM2TexXAVEHkMkB9Uxr62yIOaYlLPLSJfHraq7qKrtjf19qa/Exc3NTWPG+MoqJ3l5eSgpKUHz5s01ljdv3hw5OTk6xfzRRx/h7t27GD16dM2efA0Y1QR0REREJE5mZqZGV1F1k7Bq617UJcnbunUrFi1ahB9++AFOTk7SgtUDJi7g+ARjpK0/m4gq0lZ1AaofuKttnao+C435c7Ls54W2AcplJ+yravvapq+zihwcHHQa49K0aVNYWVlVqK7k5uZWqMKUt23bNkyePBnfffddpTPX1xZ2FREREcmgts8qsrGxgbe3N5KSkjSWJyUloVevXpVut3XrVkycOBFff/21+hI8cmLFhYiISAZyzOMSHh6OCRMmwMfHB76+voiNjUVGRoZ6YteIiAhkZWUhPj4ewOOkJSgoCKtXr8YzzzyjrtbY2dnB0dFRcuw1YdGJS9muCM6waBzKlq517Saq7ddO7MydPKbI0Mp+lqmON21/VzbPi7b3ndg5YaTSV5dwdYN0q+ousqT36JgxY3Djxg0sWbIE2dnZ6NixI/bs2aOesT47O1tjTpcvvvgCjx49wqxZszBr1iz18uDgYGzcuLG2wwdg4fO4aHvDWNIBbIxqcjhW1setb0xcyBhJSVzKb1tWbR63+vwaqu456vq8amMel99++63G87j4+fkZNFZjZNEVl/LXuin7L79s5FGTX1/lB/Qaw2toDDGQZaiuQlLVsVjZ+86Y3ku60hZz+YqSsTwfObqKzAEH5xIREZHJsOiKCyB/iZQ01bRkXJu/rIzplxvJwxQrEpWRq/psqNEKZd+f5StKxvK6seIijcUnLkRERHJg4iINu4qIiIjIZLDiUo6lZrByq41ysb6UP42ex4zlsoTZnct2q+j7eDf0vpNypezaxIqLNExciIiIZMDERRp2Ff1/NT2ASLra/NWlL5WdaknSqSYI4/40TpVdobmm7dUWbdUiHm+miRUXIiIiGbDiIg0TF1T89WypB0NtkeMXDse6GLfKJj8zhX1qCjGKoctYEF1fG6mnHRtqPEplbcp1ejQTF2mYuBAREcmAiYs0HONCREREJsPiKy6VXZCMDEPOgXCG6i4yZPvmSJdjgF1wxk/Xz0wp1w+T63NCEAT1BRBrAysu0lh84kJERCQXS00+asLiE5fyExRVdp+2+0m88hWu2mbIX/A8Pqqny+vO/Sg/Me/Tyt5TVV1tmqgmLD5xISIikgO7iqRh4kJERCQDJi7SWHTiUn5gZdmSJ7uJ9IOlYdOmz0HrYo8FDpiXj9guVW2vFV83MhSLTlyIiIjkwoqLNBaduHDwWO2Q+6qscj++KdPHvpNSaeFp5vJT7Xcxr19l1wMi7Zi4SMMJ6IiIiMhkWHTFhWoHf3GZNjl+1fGYMV36qpDJPXVCbWDFRRomLkRERDJg4iINExciIiIZMHGRhmNcdKQ6XZrEk/PNpeuMnpUpe82c8ttp+9ucj5PqnpvU52+pH776IPVYq267mnbTSN1O9bg8JqgqrLgQERHJgBUXaZi4iGCpB0lNlP0FVduVCH0OENTlPnM+Pgx5SrK5Vqhqg5QrL5ddV8x1hsRStS3mvV+2wqkrU57ugImLNLJ2FS1atEj9wqluzs7OGuukpaVh2LBhcHR0RIMGDfDMM88gIyNDpoiJiIhITrJXXDp06IADBw6o/7ayslL//9KlS+jduzcmT56MxYsXw9HREWlpabC1tZUjVCIiIr1hxUUa2RMXa2vrClUWlYULF2LQoEFYsWKFelnr1q1rKzQ1Uy5FGpPanJeh/Myr5Ynt+uAx8D+67Lvq1hFzLFjqh7OupO6fst0yptoNaOrHBhMXaWQ/q+jixYtwdXWFp6cnXnnlFaSnpwMASktL8dNPP6Ft27YIDAyEk5MTevbsiV27dlXZXlFREQoKCjRuREREZB5kTVx69uyJ+Ph4JCYmYt26dcjJyUGvXr1w48YN5Obm4s6dO1i2bBkGDBiA/fv3Y+TIkXjxxReRkpJSaZvR0dFwdHRU39zc3ETFpC0DljJgjCpXW78S9H1qsqX+uimrsv0p9mrqvPKz/hni86mqigBfu5orP8ZTys0SKQQj+ja+e/cunnjiCSxYsACvvPIKWrRogVdffRVff/21ep1hw4ahXr162Lp1q9Y2ioqKUFRUpP67oKAAbm5uyM/Ph4ODQ7UxVFfCttQDRd9qo4Ss61wVVL3yF9yr7kJ61XXVlV2Hr5N+iO3yKbvfK3s9q3qNjKH71BDdzwUFBXB0dNT5O6Mmj3Hx4kU0aNBAcjuFhYVo06aNQWM1RrKPcSmrXr166NSpEy5evIimTZvC2toaXl5eGuu0b98ehw8frrQNpVIJpVIpOQa534ikH3wd9ad8xbG6U2nFtFv+V2N1E9wxiamcPl6Lsm2VT2yM8T1ljDGR4ck+xqWsoqIipKWlwcXFBTY2NujRowfOnz+vsc6FCxfg7u4uU4RERET6wa4iaWStuMybNw9Dhw5Fq1atkJubi6VLl6KgoADBwcEAgPnz52PMmDF49tln0bdvX+zbtw8//vgjDh48KGfYRERENcaziqSRNXG5du0aXn31VeTl5aFZs2Z45plncOzYMXVFZeTIkVi7di2io6MRGhqKdu3aYfv27ejdu7dsMbNcXTPGVNrla1kz+th3Ygbp8rUyDFU3kLbuIm3rqUi9JpUxfQbIjYmLNLImLt98802164SEhCAkJKQWoiEiIiJjZ1SDc8m88ZeW6anpa1bT7S31F2VtKFtpUdHnxIFUPVZcpGHiQkREJBNLTT5qwqjOKiKSg74nqjMnlV05uOwp0pVdUkFfj6ePdvXBHI+RqibcNORjEtUEKy5EREQyYFeRNExciIiIZMDERRp2FVGtMcaJk8yx/K9vlb1W1e07MfvWVF4HU4lTLLHvRynvYXbJkr6w4kJERCQDVlykYeJCsil/jRptgwRr8xopnJBOXrq8zsbw+pjrcSLlVGcp25Tdf5ZegWHiIg27ioiIiMhksOJCREQkA1ZcpGHiAvGXbDfXUrGctO1PXfdxbc9DYWmMZe4Uud9zZbs3zPkzQMrzqmy+H123s9T3LBMXaZi4EBERyYCJizQWP8bFUl94c6L6BayP0y15yqYmY9oXxhKLOXxmGMu+JJKCFRciIiIZsOIijUUnLmVf9No87ZYqp21Mgxz94OY8hkEMY3tfGNPrYkyxyEXqPjDUvjO247U6TFyksfiuIiIiIjIdFl1xISIikgsrLtIwcZFIVY601APHUMqWemtrhs3yM/iW/T9fX+Msv8v92hjjPhFDFX9N92Fl7eiyb9hdxMRFKnYVERERkcmw6IoLqybGRduvpNr45VTVY8j9y14OpvJr1RJfG13psm/0te9qWr3R5/FmKseuCisu0lh04kJERCQXJi7SsKuIiIiITAYrLmWY0qAuc8H9bRx0va6MMbxexjKAurYeV8pzrO19IrW7yBiOJzmx4iINExciIiIZMHGRhl1F5VjqgSAHU/m1xesXPSbXPqjuw93cXxtjGPSqi9r47DS3z2fVsV2TmxRr1qyBp6cnbG1t4e3tjUOHDlW5fkpKCry9vWFra4vWrVtj7dq1kh5XX5i4EBERWYht27YhLCwMCxcuxJkzZ9CnTx8MHDgQGRkZWte/fPkyBg0ahD59+uDMmTN46623EBoaiu3bt9dy5P+jEMz850pBQQEcHR2Rn58PBweHCvdry1jF7BJz+wVQG0z9kDPX19wYX5fKJgesaj36H0ONAaqqXUMfR4aelLK67wx9Psbt27dr9BgFBQVo2LChqFh79uyJ7t27IyYmRr2sffv2GDFiBKKjoyus/8YbbyAhIQFpaWnqZTNmzMDZs2dx9OhRybHXBCsuREREMqjtrqKHDx/i1KlT6N+/v8by/v3748iRI1q3OXr0aIX1AwMDcfLkSRQXF4t7wnpi9oNzVVl5QUGBztuIWZfE4/41Tsb+uhh7fMbIUPusqnZr63Uy9HOrjQpkTZ+Davvy7SiVSiiVygrr5+XloaSkBM2bN9dY3rx5c+Tk5Gh9jJycHK3rP3r0CHl5eXBxcanJU5DE7BOXwsJCAICbm5vO2zg6OhoqHAL3r7Ey9tfF2OMzRobaZ1W1W1uvk6Efp7Cw0GCPYWNjA2dnZ1HfS5WpX79+hXYiIyOxaNGiSrfRdm2pqqo3lV2LSq4uWrNPXFxdXZGZmYkGDRrodScXFBTAzc0NmZmZBusHtWTcv4bHfWxY3L+GZaj9KwgCCgsL4erqqrc2y7O1tcXly5fx8OHDGrelLenQVm0BgKZNm8LKyqpCdSU3N7dCVUXF2dlZ6/rW1tZo0qRJDSKXzuwTlzp16qBly5YGa9/BwYEfSgbE/Wt43MeGxf1rWIbYv7VRNbK1tYWtra3BH6csGxsbeHt7IykpCSNHjlQvT0pKwvDhw7Vu4+vrix9//FFj2f79++Hj44O6desaNN7KcHAuERGRhQgPD8f69evx5ZdfIi0tDXPnzkVGRgZmzJgBAIiIiEBQUJB6/RkzZuDq1asIDw9HWloavvzyS2zYsAHz5s2T6ymYf8WFiIiIHhszZgxu3LiBJUuWIDs7Gx07dsSePXvg7u4OAMjOztaY08XT0xN79uzB3Llz8fnnn8PV1RWffPIJXnrpJbmeAhMXqZRKJSIjIyvtS6Sa4f41PO5jw+L+NSzuX+lmzpyJmTNnar1v48aNFZb5+/vj9OnTBo5Kd2Y/AR0RERGZD45xISIiIpPBxIWIiIhMBhMXIiIiMhlMXIiIiMhkMHGRaM2aNfD09IStrS28vb1x6NAhuUMySb/++iuGDh0KV1dXKBQK7Nq1S+N+QRCwaNEiuLq6ws7ODgEBAfjrr7/kCdYERUdHo0ePHmjQoAGcnJwwYsQInD9/XmMd7mPpYmJi0LlzZ/UkaL6+vti7d6/6fu5b/YqOjoZCoUBYWJh6Gfex5WHiIsG2bdsQFhaGhQsX4syZM+jTpw8GDhyoce476ebu3bvo0qULPvvsM633r1ixAitXrsRnn32GEydOwNnZGf369VNfg4qqlpKSglmzZuHYsWNISkrCo0eP0L9/f9y9e1e9DvexdC1btsSyZctw8uRJnDx5Es899xyGDx+u/uLkvtWfEydOIDY2Fp07d9ZYzn1sgQQS7emnnxZmzJihseypp54S3nzzTZkiMg8AhJ07d6r/Li0tFZydnYVly5aplz148EBwdHQU1q5dK0OEpi83N1cAIKSkpAiCwH1sCI0aNRLWr1/PfatHhYWFQps2bYSkpCTB399fmDNnjiAIPH4tFSsuIj18+BCnTp1C//79NZb3798fR44ckSkq83T58mXk5ORo7GulUgl/f3/ua4ny8/MBAI0bNwbAfaxPJSUl+Oabb3D37l34+vpy3+rRrFmzMHjwYLzwwgsay7mPLRNnzhUpLy8PJSUlFa6k2bx58wpX0KSaUe1Pbfv66tWrcoRk0gRBQHh4OHr37o2OHTsC4D7Whz/++AO+vr548OAB6tevj507d8LLy0v9xcl9WzPffPMNTp8+jRMnTlS4j8evZWLiIlH5y4gLWi4tTvrBfa0fs2fPxn/+8x8cPny4wn3cx9K1a9cOqampuH37NrZv347g4GCkpKSo7+e+lS4zMxNz5szB/v37q7ySMvexZWFXkUhNmzaFlZVVhepKbm5uhayfasbZ2RkAuK/14LXXXkNCQgKSk5PRsmVL9XLu45qzsbHBk08+CR8fH0RHR6NLly5YvXo1960enDp1Crm5ufD29oa1tTWsra2RkpKCTz75BNbW1ur9yH1sWZi4iGRjYwNvb28kJSVpLE9KSkKvXr1kiso8eXp6wtnZWWNfP3z4ECkpKdzXOhIEAbNnz8aOHTvwyy+/wNPTU+N+7mP9EwQBRUVF3Ld68Pzzz+OPP/5Aamqq+ubj44Nx48YhNTUVrVu35j62QOwqkiA8PBwTJkyAj48PfH19ERsbi4yMDMyYMUPu0EzOnTt38M8//6j/vnz5MlJTU9G4cWO0atUKYWFhiIqKQps2bdCmTRtERUXB3t4eY8eOlTFq0zFr1ix8/fXX+OGHH9CgQQP1L1NHR0fY2dmp58TgPpbmrbfewsCBA+Hm5obCwkJ88803OHjwIPbt28d9qwcNGjRQj8dSqVevHpo0aaJezn1sgeQ7ocm0ff7554K7u7tgY2MjdO/eXX16KYmTnJwsAKhwCw4OFgTh8emOkZGRgrOzs6BUKoVnn31W+OOPP+QN2oRo27cAhLi4OPU63MfShYSEqD8HmjVrJjz//PPC/v371fdz3+pf2dOhBYH72BIpBEEQZMqZiIiIiEThGBciIiIyGUxciIiIyGQwcSEiIiKTwcSFiIiITAYTFyIiIjIZTFyIiIjIZDBxISIiIpPBxIXIDAUEBCAsLEzuMIiI9I6JCxEREZkMJi5ERERkMpi4EJm5W7duISgoCI0aNYK9vT0GDhyIixcvqu/fuHEjGjZsiMTERLRv3x7169fHgAEDkJ2dLWPURETaMXEhMnMTJ07EyZMnkZCQgKNHj0IQBAwaNAjFxcXqde7du4cPP/wQX331FX799VdkZGRg3rx5MkZNRKSdtdwBEJHhXLx4EQkJCfjtt9/Qq1cvAMCWLVvg5uaGXbt2YdSoUQCA4uJirF27Fk888QQAYPbs2ViyZIlscRMRVYYVFyIzlpaWBmtra/Ts2VO9rEmTJmjXrh3S0tLUy+zt7dVJCwC4uLggNze3VmMlItIFExciMyYIQqXLFQqF+u+6detq3K9QKCrdlohITkxciMyYl5cXHj16hN9//1297MaNG7hw4QLat28vY2RERNIwcSEyY23atMHw4cMxdepUHD58GGfPnsX48ePRokULDB8+XO7wiIhEY+JCZObi4uLg7e2NIUOGwNfXF4IgYM+ePRW6h4iITIFCYEc2ERERmQhWXIiIiMhkMHEhIiIik8HEhYiIiEwGExciIiIyGUxciIiIyGQwcSEiIiKTwcSFiIiITAYTFyIiIjIZTFyIiIjIZDBxISIiIpPBxIWIiIhMBhMXIiIiMhn/D0luIdCkiSFvAAAAAElFTkSuQmCC", "text/plain": [ "
    " ] @@ -10363,7 +12544,7 @@ } ], "source": [ - "mask.isel(time=0).plot()" + "mask.isel(time=0).plot(cmap=\"binary\")" ] }, { @@ -10376,23 +12557,23 @@ }, { "cell_type": "code", - "execution_count": 41, + "execution_count": 51, "id": "24b735b1-6503-4afa-b210-c6fa1a7249d5", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "[]" + "[]" ] }, - "execution_count": 41, + "execution_count": 51, "metadata": {}, "output_type": "execute_result" }, { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkMAAAHFCAYAAADxOP3DAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/NK7nSAAAACXBIWXMAAA9hAAAPYQGoP6dpAADPTklEQVR4nOydd5zVxNrHfznbgd2FBbbRe2+KNJWi0lSuDUV9r4K9XxW9KhbEyrVjb1fFfi0IKirSURQEBJEiTWkCS2eXpWw7ef84m5zJOTOZTE5ykt2d7+cDu5tMZibJZOaZ53nmGUVVVRUSiUQikUgkNZSA1xWQSCQSiUQi8RIpDEkkEolEIqnRSGFIIpFIJBJJjUYKQxKJRCKRSGo0UhiSSCQSiURSo5HCkEQikUgkkhqNFIYkEolEIpHUaKQwJJFIJBKJpEYjhSGJRCKRSCQ1GikMVRMmT54MRVGwZcsW4Wt//vlnTJgwAYcOHXK8Xjzmz58PRVGo/xYvXmxIq6oqXnjhBbRv3x4pKSnIy8vDDTfcgIMHD1oqq6SkBE899RQ6d+6M2rVrIycnB8OHD8fPP/9set3s2bP1Ou3bt49bzpgxY/T0nTt3tlQ3RVEwYcIES2klznP06FFMmDAB8+fPjzo3YcIEy+++e/fu+rs/++yzbdVlzJgxaN68ua1r/cT06dNx+eWXo0uXLkhKSoKiKMy0999/P84++2w0atQIiqJgzJgxlsuZO3currzySrRv3x61a9dGo0aNcM455+DXX3+NSkt+m+S/9u3bc8vZsmWL4ZrPP/+ce43WdiT+J9HrCki85+eff8ZDDz2EMWPGoG7dup7U4fHHH8egQYMMxyIFiTvvvBOTJk3CnXfeiTPOOANr167F+PHjsXTpUixatAhJSUmmZVxzzTX48MMPMW7cOJx22mk4cOAA/vOf/2DAgAH46aef0KtXr6hriouLcc011yA/Px87d+60fD+5ubmYOnUqatWqZfkaiXccPXoUDz30EABg4MCBtvN5//33ceTIEZx33nkO1azqMnXqVCxevBg9evRASkoKVTjReO6559C1a1f84x//wNtvvy1Uzquvvor9+/fj1ltvRceOHbF3714888wz6NOnD77//nucdtpphvRpaWmYO3du1DGr3H///TjrrLPQtm1boXpK/I0UhiS+oE2bNujTpw/z/I4dO/D888/jpptuwhNPPAEAGDx4MLKzs3HppZdi8uTJuOaaa5jXl5SU4KOPPsKll16KRx99VD9+8sknIz8/Hx9++CFVGLrnnntQr149nHXWWYbreKSkpJjej184evRojRbYVFXF8ePHHcuvS5cuAELvv6bz5ptvIhAIGR9uvvlmU2Ho8OHDetr3339fqJyXX34Z2dnZhmPDhg1D69at8fjjj0cJQ4FAIKZvs1WrVr7/tsvKyqAoChIT5RBvFWkmq8bMmjUL55xzDho3bozU1FS0bt0a1113nUHdP2HCBPz73/8GALRo0UJXAdPMBV6yePFiVFRU4MwzzzQc10wRU6ZMMb0+EAggEAggMzPTcDwjIwOBQACpqalR1/z4449444038N///hcJCQkx3kGIoqIiXHPNNahfvz7q1KmDYcOGYcOGDdS0GzduxKWXXors7GykpKSgQ4cOePnll6PSrVmzBkOGDEGtWrXQsGFD3HTTTfjmm2+i3uPAgQPRuXNn/PDDD+jXrx9q1aqFK6+8Uq/XnXfeiRYtWiA5ORmNGjXCbbfdhiNHjhjKUlUVr7zyCrp37460tDTUq1cPI0eOxF9//WVIt2LFCpx99tl63fPz83HWWWfh77//tvysxowZgzp16mDTpk0488wzUadOHTRp0gR33HEHSkpKDGkPHDiAG2+8EY0aNUJycjJatmyJ++67Lyqdoii4+eab8dprr6FDhw5ISUnBu+++i4YNGwIAHnroIf0biDTV7N69G5dccgkyMzORk5ODK6+8EoWFhZbvJxaOHz+OcePGGd7PTTfdFGXabt68Oc4++2zMmDEDJ5xwAtLS0tC+fXthbYsTaMKN02kjiRSEAKBOnTro2LEjtm/fbjtfUb755ht0794dKSkpaNGiBZ5++mlqOqvfkKqqePzxx9GsWTOkpqaiZ8+emDVrFgYOHGjQXmquBu+//z7uuOMONGrUCCkpKdi0aROAkJn/9NNPR0ZGBmrVqoWTTz4Zc+bMce05VFlUSbXgnXfeUQGomzdv1o+9+uqr6sSJE9WvvvpKXbBggfruu++q3bp1U9u1a6eWlpaqqqqq27dvV2+55RYVgPrFF1+oixYtUhctWqQWFhYyywoGg2pZWZmlfzzmzZunAlCzs7PVhIQENT09XR0yZIj6448/GtJ99NFHKgB17ty5huPHjh1TFUVR8/LyuGXdeuutap06ddSpU6eqhYWF6ubNm9VLLrlErVevnrpx40ZD2qNHj6pt2rRR//3vf6uqqqoPPvigCkDdu3cvt5zRo0erzZo1izoeDAbVQYMGqSkpKepjjz2mzpw5U33wwQfVli1bqgDUBx98UE+7Zs0aNTMzU+3SpYv63nvvqTNnzlTvuOMONRAIqBMmTNDT7dy5U61fv77atGlTdfLkyeq3336rXnbZZWrz5s1VAOq8efP0tAMGDFCzsrLUJk2aqC+++KI6b948dcGCBeqRI0fU7t27qw0aNFCfffZZdfbs2erzzz+vZmZmqqeddpoaDAb1PK655ho1KSlJveOOO9QZM2aoH330kdq+fXs1JydHLSgoUFVVVYuLi9X69eurPXv2VD/99FN1wYIF6ieffKJef/316tq1a7nPj3yOycnJaocOHdSnn35anT17tjp+/HhVURT1oYce0tMdO3ZM7dq1q1q7dm316aefVmfOnKk+8MADamJionrmmWca8gSgNmrUSO3atav60UcfqXPnzlV/++03dcaMGSoA9aqrrtK/gU2bNqmqGn737dq1U8ePH6/OmjVLffbZZ9WUlBT1iiuuoNa9WbNm6llnnWX5XiPvm2w/wWBQHTp0qJqYmKg+8MAD6syZM9Wnn35arV27ttqjRw/1+PHjhnIbN26sduzYUX3vvffU77//Xr3wwgtVAOqCBQu4ZZeXl1v6risqKoTu6aabblKtDje1a9dWR48eLZR/JIcOHVIzMzPV8847z3B89OjRaiAQUHNyctRAIKA2atRIvemmm9T9+/dz89y8ebMKQH3nnXeizs2ePVtNSEhQTznlFPWLL75QP/vsM/Wkk05SmzZtGnXfVr4hVVXVcePGqQDUa6+9Vp0xY4b65ptvqk2bNlXz8vLUAQMG6Om0PrRRo0bqyJEj1a+++kqdPn26un//fvX9999XFUVRzz33XPWLL75Qv/76a/Xss89WExIS1NmzZ4s91GqOFIaqCTRhiEQTYLZu3aoCUL/88kv93FNPPWV6LassK/94LF++XL311lvVqVOnqj/88IP69ttvqx06dFATEhLUGTNm6Ol+++03FYD6yCOPGK6fM2eOCkBNTk7mlhUMBtXx48ergUBAr1/Tpk3VFStWRKW944471JYtW6pHjx5VVdUZYei7775TAajPP/+84fhjjz0WJQwNHTpUbdy4cZRQevPNN6upqanqgQMHVFVV1X//+9+qoijqmjVrDOmGDh1KFYYAqHPmzDGknThxohoIBNSlS5cajn/++ecqAPXbb79VVVVVFy1apAJQn3nmGUO67du3q2lpaepdd92lqqqqLlu2TAWgTps2jfGErDF69GgVgPrpp58ajp955plqu3bt9L9fe+01aronnnhCBaDOnDlTPwZAzczM1J+fxt69e6PegYb27p988knD8RtvvFFNTU01CIsaTgpDmqAWWf4nn3yiAlDfeOMNQ7mpqanq1q1b9WPHjh1Ts7Ky1Ouuu45bdrNmzSx917TnZEa8haH/+7//UxMTE9Vly5YZjj/77LPqs88+q86cOVOdOXOmet9996m1atVS27dvrx4+fNg0TzNhqHfv3mp+fr567Ngx/VhRUZGalZVluG+r39CBAwfUlJQUddSoUYZ02vU0Yah///6GtEeOHFGzsrLUESNGGI5XVFSo3bp1U3v16mV6vzUNaVCsxuzZswfjx4/HN998g507dyIYDOrn/vjjD/zjH/+wle+IESOwdOlSR+rYo0cP9OjRQ//71FNPxXnnnYcuXbrgrrvuwtChQwEA3bp1Q//+/fHUU0+hXbt2GDx4MNauXYvrr78eCQkJltTsjz32GJ5++mlMmDABp556KoqKivDSSy9h8ODBmDlzpl6PJUuWYNKkSZgxY4aQYyWPefPmAQD+7//+z3D80ksvxX333af/ffz4ccyZMwc33HADatWqhfLycv3cmWeeiZdeegmLFy/G8OHDsWDBAnTu3BkdO3Y05HnJJZfg+++/j6pDvXr1onwopk+fjs6dO6N79+6GsoYOHaqb2oYPH47p06dDURT885//NKTLzc1Ft27ddJNc69atUa9ePdx9993YtWsX+vfvH1U/qyiKghEjRhiOde3a1eAAO3fuXNSuXRsjR440pBszZgzuvvtuzJkzB4MHD9aPn3baaahXr55wXSK/l65du+L48ePYs2cPcnJyhPOzinavkWa7Cy+8EFdeeSXmzJlj8Jfr3r07mjZtqv+dmpqKtm3bYuvWrdyyvv766yjTIo38/HyLtY8/DzzwAD788EO8+OKLOPHEEw3nbr/9dsPfgwcPRo8ePTBy5Ei8+eabUeetcOTIESxduhQ33nijwdyenp6OESNG4N1339WPWf2GFi9ejJKSElx00UWGsvr06cNcaXjBBRcY/v75559x4MABjB492lAWEPKpevLJJ3HkyBHUrl1b+J6rI1IYqqYEg0EMGTIEO3fuxAMPPIAuXbqgdu3aCAaD6NOnD44dO2Y776ysrCjfGyepW7cuzj77bLz22ms4duyYLpB89tlnGDNmjN5BJCcn4/bbb8fs2bO5YQH++OMPjB8/Hk8++STuvPNO/fjw4cPRsWNHjB07VhdWrrzySpx//vno2bOnnq/mZFtUVISUlBSkp6cL39f+/fuRmJiI+vXrG47n5uZGpSsvL8eLL76IF198kZqX5ve1f/9+tGjRIuo8a3DOy8uLOrZ7925s2rSJuRpPK2v37t1QVZWZd8uWLQEAmZmZWLBgAR577DHce++9OHjwIPLy8nDNNdfg/vvv5676I6lVq1aUP1dKSorB6Xn//v3Izc2NWsKcnZ2NxMRE7N+/33Cc9gysEPneNCfpWL4lK2jtRvNr0lAUBbm5uVH3F1lPIFRXK/Xs2LEjVFXlpovFx8dNHnroITz66KN47LHHcPPNN1u65rzzzkPt2rWjQnlY5eDBgwgGg1HfMRD9bVv9hrR3Sktn9dvevXs3AERNEkgOHDgghaFKpDBUTVm9ejVWrlyJyZMnY/To0fpxzakuFt59911cccUVltJa6VjNriMHuOzsbHz77bfYs2cPCgoK0KxZM6SlpeGVV14x/eABYOXKlVBVFSeddJLheFJSErp164YFCxbox9asWYM1a9bgs88+i8qnVatW6NatG3777Tfhe6pfvz7Ky8uxf/9+w4BVUFBgSFevXj0kJCTgsssuw0033UTNSxOA6tevr3d6JJF5atBinjRo0ABpaWlMJ9sGDRroPxVFwY8//khdLUUe69KlC/73v/9BVVX8/vvvmDx5Mh5++GGkpaXhnnvuoZZjl/r16+OXX36BqqqG+9uzZw/Ky8v1+mtUtbgvWrvZu3evQSBSVRUFBQVRbToWWrVqZUmD9OCDD/ouLtZDDz2ECRMmYMKECbj33nuFrlVV1baAV69ePSiKQv3mIo9Z/Ya0/oH1bdO0Q5HtWmv3L774InP1m5sazaqGFIaqKdqHEfnBvf7661FpRWe4TprJaBw8eBDTp09H9+7dqau8srOz9RUkL7zwAo4cOcKdBWpq/cWLF2PAgAH68ZKSEixfvhyNGzfWj2kaIpLJkyfj3XffxbRp09CoUSNb9zVo0CA8+eST+PDDD/Gvf/1LP/7RRx8Z0tWqVQuDBg3CihUr0LVrVyQnJzPzHDBgAJ5++mmsXbvWYIr63//+Z7leZ599Nh5//HHUr1+fqmUi0/3nP//Bjh07otT3LBRFQbdu3fDcc89h8uTJWL58ueV6WeX000/Hp59+imnTphni+7z33nv6eR7x0vLY4fTTT8eTTz6JDz74wGDGmTJlCo4cOWLp/qxSVc1kjzzyCCZMmID7778fDz74oNC1n3/+OY4ePWp7uXzt2rXRq1cvfPHFF3jqqaf0Puvw4cP4+uuvDWmtfkO9e/dGSkoKPvnkE5x//vn68cWLF2Pr1q2WgnKefPLJqFu3LtauXWtZS1aTkcJQNaV9+/Zo1aoV7rnnHqiqiqysLHz99deYNWtWVFotNsrzzz+P0aNHIykpCe3atWOagurXr09Vxdvh0ksvRdOmTdGzZ080aNAAGzduxDPPPIPdu3dj8uTJhrRvvvkmgNDs9dChQ/juu+/w1ltv4fHHH8cJJ5xgSJuYmIgBAwboS0hPOeUUnHTSSZgwYQKOHj2K/v37o7CwEC+++CI2b95siG1CC7qn2fJPPvnkKE2DVYYMGYL+/fvjrrvuwpEjR9CzZ0/89NNP1Lgqzz//PE455RSceuqpuOGGG9C8eXMcPnwYmzZtwtdff637kdx22214++23MXz4cDz88MPIycnBRx99hHXr1gGwZs647bbbMGXKFPTv3x+33347unbtimAwiG3btmHmzJm444470Lt3b5x88sm49tprccUVV2DZsmXo378/ateujV27dmHhwoXo0qULbrjhBkyfPh2vvPIKzj33XLRs2RKqquKLL77AoUOHDL47TnH55Zfj5ZdfxujRo7FlyxZ06dIFCxcuxOOPP44zzzwTZ5xxBjeP9PR0NGvWDF9++SVOP/10ZGVloUGDBo5GgtbyEo0SP3jwYAwdOhR33303ioqKcPLJJ+P333/Hgw8+iB49euCyyy5zrI5aX+AEW7du1SdNf/75JwDoUZubN2+Onj176mkXLFiAvXv3AgAqKiqwdetWPe2AAQN0jdjDDz+Mhx9+GHPmzNEnNc888wzGjx+PYcOG4ayzzooyd2lCztatW3HppZfi4osvRuvWraEoChYsWIBJkyahU6dOuPrqq23f6yOPPIJhw4Zh8ODBuOOOO1BRUYEnnngCtWvXxoEDB/R0Vr+hrKwsjB07FhMnTkS9evVw3nnn4e+//8ZDDz2EvLw8S991nTp18OKLL2L06NE4cOAARo4ciezsbOzduxcrV67E3r178eqrr+rP//TTT8f48eMxfvx4PY/IfhQICecLFiyI8kOq8njjty1xGtpqsrVr16qDBw9W09PT1Xr16qkXXnihum3bNupqkHHjxqn5+fn6SityFZKbTJw4Ue3evbuamZmpJiQkqA0bNlTPO+88dcmSJVFpX3/9dbVDhw5qrVq11Dp16qinnnoqc8USIlZcqGpoue19992n55Gdna0OHDhQXy1lhhOrybQ6XHnllWrdunXVWrVqqYMHD1bXrVtHfSebN29Wr7zySrVRo0ZqUlKS2rBhQ7Vfv37qo48+aki3evVq9YwzzlBTU1PVrKws9aqrrlLfffddFYC6cuVKPd2AAQPUTp06UetVXFys3n///Wq7du3U5ORkfVn/7bffbljuq6qq+vbbb6u9e/dWa9euraalpamtWrVSL7/8cn3lzrp169RLLrlEbdWqlZqWlqZmZmaqvXr1UidPnsx9dpHPsXbt2lHHtXdBsn//fvX6669X8/Ly1MTERLVZs2bquHHjDMvOVTXULm666SZqebNnz1Z79OihpqSkqAD0FU2sd2+2gpO2mqxBgwZqnz59eLdNbT/Hjh1T7777brVZs2ZqUlKSmpeXp95www3qwYMHueWqaujdR34PbmO26jRytZi20pH2j+yLtHdBWyXJ+qdx4MAB9bzzzlObN2+upqWlqcnJyWqbNm3Uu+66Sz106BD3fsxWk6mqqn711Vdq165d1eTkZLVp06bqf/7zH2pbVVX+N6SqodWvjz76qNq4cWM1OTlZ7dq1qzp9+nS1W7duhpAB2mqyzz77jFqvBQsWqGeddZaalZWlJiUlqY0aNVLPOussQ3otj8g+iNaPas+7uqGoqk2nDolEQmXMmDGYP38+Nm3aBEVRHAvYKMK1116Ljz/+GPv37zc1s0mcpaKiAqqqonXr1ujcuTOmT58OAFi7di06deqE6dOn46yzzvK4lhI7bNmyBS1atMBbb72Fyy+/HAkJCXH3P9u8eTPat2+PBx98UNgvSmKONJNJJC6wdetWJCUloVOnTli9erWrZT388MPIz89Hy5YtUVxcjOnTp+O///0v7r//fikIxZkT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\n", + "image/png": "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2Lx5M5MmTSItLY1u3brx448/MnXqVP755x/mzJnDihUrGDRokN6Q73PPPce0adPo1asX69ev58svv+T06dN07tyZ2NhYAFJTU+nduzexsbF88cUXbNu2jU8++YQ6deqQnJxcou9ZVlYWgwYNomfPnmzYsIFx48bx8ccf6/Vupqen06NHD3766Sdefvll/v77b5566ikWL17MkCFD8l1z/fr1fPXVVyxYsIAtW7bQqVMngoKCABg/frzuPTB//ny985544gkaNWrEn3/+ydy5c1m1ahXTp08v0esxVHG+7+PGjSMtLY3ffvtN79zExEQ2bNjAU089hbm5OQCLFi1i5MiRNGvWjN9++42VK1eSnJzMQw89xJkzZ0ocX2n+TggNDaVp06Z6fyDB/9+7Bb1X7z3/fu9zyP1D5UG88sorxMXFsWLFCj766CN2797NyJEjeeKJJ1Cr1axevZrZs2ezcuVKXnnllQe6lyglihBl4IcfflAAJSwsrMDntVqtkpWVpVy7dk0BlA0bNuie++CDDwo99373Ks6jKI0bN1asrKwUOzs7ZdGiRcquXbuUxYsXK9bW1kqXLl0UrVarKIqi/PfffwqgrF69Ot81Fi1apADK9evX73ufX375RQGU/fv353tu4sSJioWFhe7r69evKxMmTFB+++035d9//1V++eUXpWPHjgqgfPPNN0W+pqefflrx9vbOd/yff/5RAOXTTz/VO/7OO+8ogLJw4ULdsb59+yq1a9dWNBqNXtvJkycrVlZWSnx8vKIoijJr1ixFpVIpp0+f1mvXt29fBVB27dqlO9atWzcFUHbs2KHX9t1331VMTEyUw4cP6x3/448/FEDZvHmzoiiKsn//fgVQPvroI712ERERirW1tTJ79mxFURTlyJEjCqCsX7/+Pt+h4nn66acVQPntt9/0jj/66KNK48aNdV9//fXXBbZ7//33FUDZunWr7higqNVq3fcvz40bN/L9G+RZuHChAiiLFy/WOz5p0iTFyspK9zN6N29vb2XAgAHFfq13u/fnp7jfd0VRlNatWyudO3fWa/fll18qgHLq1ClFURQlPDxcMTMzU6ZMmaLXLjk5WfHw8FCGDRumO5b32otSmr8TGjZsqPTt2zff8evXryuAsmjRokLPNzc3V5577rl8x/ft26cAyqpVqwo939vbW3n66afzHd+1a5cCKAMHDtQ7Pm3aNAVQpk6dqnd88ODBipOT033vUVo/H6JoMsdLlJu4uDgWLFjA33//zfXr19Fqtbrnzp49y6BBgwy67sCBAzl8+HCpxKjVaklPT2fhwoXMnTsXyB0Ss7CwYNq0aezYsYNevXrp2he2wqo4q6/u1+bu4zVr1mT58uV6zw8dOpQOHTowd+5cxo4dm++v8eLYtWsXAKNHj9Y7PmrUKF599VXd1+np6ezYsYMXXngBGxsbvV6CRx99lKVLl3LgwAH69+/Pnj178PX1pVmzZnrXHDlyJFu2bMkXg6OjI4888ojesU2bNuHr60vLli317tW3b1/dcGX//v3ZtGkTKpWKp556Sq+dh4cHLVq00A1rNmjQAEdHR+bMmUN0dDQPP/xwvviKS6VSMXDgQL1j/v7+7Ny5U/f1zp07sbW15cknn9RrN3bsWObMmcOOHTv0FkU88sgjODo6ljiWe98v/v7+pKenExcXh7u7e4mvV1zF/b5D7nDclClTOH/+PI0bNwbghx9+oF27droVtlu2bCE7O5sxY8boXc/Kyopu3brpfk5LojR/J0DZvc+Le35h7l2N2LRpUwAGDBiQ7/j69etJSUmhRo0aD3RP8WAk8RLlQqvV0qdPH65fv878+fPx8/PD1tYWrVZLx44duX37tsHXdnJyQq1Wl0qczs7OXLx4kb59++od79+/P9OmTdOVj3B2dgbg1q1b+a4RHx+PSqXCwcGh0PsUdr6Tk1OhcZqbmzN8+HDmzp3LxYsXdb9sS+LWrVuYmZnpYslz7wqnW7dukZ2dzeeff87nn39e4LXy5undunULHx+ffM/fLxGoWbNmvmOxsbFcunRJNwx1v3vFxsaiKMp9r12vXj0A1Go1e/bs4Z133uGVV14hISGBmjVrMmHCBF577bX73qcgNjY2WFlZ6R2ztLTUG1a+desWHh4e+T5Q3dzcMDMzy/dvXtD3oDju/XfLmyD9IO+l4iju9x1yk/qZM2eyYsUK3n33Xc6cOcPhw4f1Fq7kDU22a9euwOuZmJR8Rkxp/0643/s0715leX5R7j3fwsKi0OPp6emSeBmZJF6iXISGhnLixAlWrFjB008/rTt+6dKlB772jz/+yDPPPFOstso9JSHu5e/vz4EDB+57Xt6HQP369bG2tubUqVP52p46dYoGDRrk+4C+W95f+6dOneLRRx/Nd35x6m3dG1NJOTs7k52dza1bt/Q+xGNiYvTaOTo6YmpqSmBgIC+++GKB18pLtpydnXUfpHe795p5Cvpr38XFBWtra77//vsCz3FxcdH9V6VS8e+//xa4KuvuY35+fqxZswZFUTh58iQrVqzgzTffxNraWtezWVqcnZ05ePAgiqLovb64uDiys7N18ecxRl2qB1GS77ujoyOPPfYYP/30E2+//TY//PADVlZWutWBedcD+OOPP/D29i6VGEvzd4Kfnx+rV68mOztbr2c5771f1HvVz8/vvr8ninO+qHok8RLlIu/D5d5f1MuWLcvXtqR/uZfmsMITTzzB8uXL+eeff2jVqpXu+ObNmwF0S7rNzMwYOHAga9euZfHixdjZ2QEQHh7Orl27ipzkXKtWLdq3b8/PP//MzJkzdcvRDxw4wPnz55k2bVqh52dlZfHrr7/i4uJCgwYNDHqtPXr0YPHixfzyyy9MnTpVd/ze2kQ2Njb06NGD48eP4+/vr/vLuSDdunXjww8/5MyZM3rDeSUpNhkQEMCiRYtwdnYusPfs7nbvvfceUVFRDBs2rFjXVqlUtGjRgo8//pgVK1Zw7NixYsdVXD179uS3335j/fr1PP7447rjP/30k+75opRX75UhSvp9f+aZZ/jtt9/YvHkzP//8M48//rheb3Dfvn0xMzPj8uXLPPHEE6USY2n+Tnj88cf55ptv+PPPPxk+fLju+I8//oinpycdOnQo8vxJkyZx8OBBXdvs7Gx+/vlnOnTogKenZ6nEKSoPSbxEuWjSpAn169dn7ty5KIqCk5MTf/31F9u2bcvXNq+2zKeffsrTTz+Nubk5jRs31iU393J2ds437GKoPn36MHDgQN58803dMOiRI0d44403CAgIoGvXrrq2b7zxBu3atSMgIIC5c+eSnp7OggULcHFxYcaMGXrXNTMzo1u3bnrVqt9//3169+7N0KFDmTRpEnFxccydOxdfX1+9v9ZffvllsrKy6NKlCx4eHkRERPD5558TEhLCDz/8UGgNoaJe68MPP8zs2bNJTU2lbdu2/Pfff6xcuTJf208//ZSuXbvy0EMP8cILL1C3bl2Sk5O5dOkSf/31l26O07Rp0/j+++/p378/b775Ju7u7qxatYpz584BxeudmzZtGn/++ScPP/ww06dPx9/fH61WS3h4OFu3bmXGjBl06NCBLl26MHHiRJ555hmOHDnCww8/jK2tLdHR0QQHB+Pn58cLL7zApk2b+PLLLxk8eDD16tVDURTWrl1LYmJisQvQlsSYMWP44osvePrpp7l69Sp+fn4EBwezaNEiHn30Ub05gvdjZ2eHt7c3GzZsoGfPnjg5OeHi4lKqFcLzrlXS3SWK+33P06dPH2rXrs2kSZOIiYnJ1xNVt25d3nzzTV599VWuXLlCv379cHR0JDY2lkOHDmFra6u3crY4SvN3Qv/+/enduzcvvPACSUlJNGjQgNWrVxMUFMTPP/+s9/4bP348P/74I5cvX9b13o0bN44vvviCoUOH8t577+Hm5saXX37J+fPn2b59e6nEWBYM/fmA3D8u9uzZozdn78033+TNN99kx44ddOvWDcgtIt2zZ08WLFjAggULSiPsysFYs/pF1VbQqsYzZ84ovXv3Vuzs7BRHR0dl6NChSnh4eIGrt+bNm6d4enoqJiYm+VbDlbW0tDRlzpw5ipeXl2JmZqbUqVNHmTdvnpKenp6v7ZEjR5SePXsqNjY2ir29vTJ48GDl0qVL+doBSrdu3fId37p1q9KxY0fFyspKcXJyUsaMGaPExsbqtfnuu++U9u3bK05OToqZmZni6Oio9O3bV9myZUuxXk9hq44SExOVcePGKQ4ODoqNjY3Su3dv5dy5cwX+m4SFhSnjxo1TatWqpZibmyuurq5K586dlbfffluvXWhoqNKrVy/daxo/frzy448/KoBy4sQJXbtu3bopzZs3LzCulJQU5bXXXlMaN26sWFhYKGq1WvHz81OmT5+uxMTE6LX9/vvvlQ4dOii2traKtbW1Ur9+fWXMmDHKkSNHFEVRlHPnzikjR45U6tevr1hbWytqtVpp3769smLFimJ9/+7+Ptra2uY7XtBKu1u3binPP/+8UrNmTcXMzEzx9vYu8GcIUF588cUC77d9+3alVatWiqWlpQLoVrbl3e/GjRt67QtbSVzQqjUXFxelY8eORb3s+/78FPV9v9srr7yiAIqXl5eSk5NT4H3Wr1+v9OjRQ7G3t1csLS0Vb29v5cknn1S2b9+ua1PcVY2lLTk5WZk6dari4eGhWFhYKP7+/gWuaM5b+Xrvv0FMTIwyZswYxcnJSbGyslI6duyobNu2rVj3LmpV4++//653PO/n4N5Vwff7ucm7R2n+fOStWC7o/nf/Ls97DQWt3q3KVIpSxAC3EKJSGzt2LLt37+bSpUuoVCqDe8gexMSJE1m9ejW3bt0qdKhSlK6cnBwURaFBgwb4+vqyadMmILcuW/PmzXX12ETFVbduXbp168Z3332HiYmJwXM6CyI/H8YhBVSFqAauXbuGubk5LVq0KPN7vfnmm3z77bfs3LmTjRs3MnHiRL799lumT58uSVc5a9OmDebm5ly7dk3v+K5du+jUqZN8qFYSP/30E+bm5npzMUuD/HwYh/R4CVHFXb16VVeCwdramubNm5fp/d59911WrFhBZGQk2dnZNGzYkGeffZaXXnqpQq7g02q1ejXlCmJInbSK4MyZM6SlpQHg4OBg8EIMYTynTp3SbTXl5uZGnTp1Su3a8vNhHJJ4CSGqtbFjx/Ljjz8W2kZ+TQohSoskXkKIau3uHsH7adu2bTlFI4So6iTxEkIIIYQoJzK5XgghhBCinFTOGaNVlFar5fr169jZ2VXISchCCCGEyE9RFJKTk/H09Cyy5IckXhXI9evX8fLyMnYYQgghhDBAREQEtWvXLrSNJF4VSN6WOBEREdjb2xs5GiGEEEIUR1JSEl5eXvfd2u5uknhVIHnDi/b29pJ4CSGEEJVMcaYJyeR6IYQQQohyIomXEEIIIUQ5kcRLCCGEEKKcSOIlhBBCCFFOJPESQgghhCgnkngJIYQQQpQTSbyEEEIIIcpJpU683n33Xdq1a4ednR1ubm4MHjyY8+fP67VRFIXXX38dT09PrK2t6d69O6dPn9Zrk5GRwZQpU3BxccHW1pZBgwYRGRmp1yYhIYHAwEDUajVqtZrAwEASExP12oSHhzNw4EBsbW1xcXFh6tSpZGZmlslrF0IIIUTlU6kTrz179vDiiy9y4MABtm3bRnZ2Nn369CE1NVXXZvHixSxZsoSlS5dy+PBhPDw86N27N8nJybo206ZNY926daxZs4bg4GBSUlIICAggJydH12bUqFGEhIQQFBREUFAQISEhBAYG6p7PyclhwIABpKamEhwczJo1a/jzzz+ZMWNG+XwzhBBCCFHxKVVIXFycAih79uxRFEVRtFqt4uHhobz33nu6Nunp6YparVa+/vprRVEUJTExUTE3N1fWrFmjaxMVFaWYmJgoQUFBiqIoypkzZxRAOXDggK7N/v37FUA5d+6coiiKsnnzZsXExESJiorStVm9erViaWmpaDSaYsWv0WgUoNjthRBCCGF8Jfn8rtQ9XvfSaDQAODk5ARAWFkZMTAx9+vTRtbG0tKRbt27s27cPgKNHj5KVlaXXxtPTE19fX12b/fv3o1ar6dChg65Nx44dUavVem18fX3x9PTUtenbty8ZGRkcPXq0jF6xEEIIISqTKrNXo6IovPzyy3Tt2hVfX18AYmJiAHB3d9dr6+7uzrVr13RtLCwscHR0zNcm7/yYmBjc3Nzy3dPNzU2vzb33cXR0xMLCQtfmXhkZGWRkZOi+TkpKKvbrFUIIIUTlU2V6vCZPnszJkydZvXp1vufu3bRSUZQiN7K8t01B7Q1pc7d3331XN1lfrVbj5eVVaExCCFGRnI9J5lZKRtENhRA6VSLxmjJlChs3bmTXrl3Url1bd9zDwwMgX49TXFycrnfKw8ODzMxMEhISCm0TGxub7743btzQa3PvfRISEsjKysrXE5Zn3rx5aDQa3SMiIqIkL1sIIYxq9h8naPP2draeLrhXXwiRX6VOvBRFYfLkyaxdu5adO3fi4+Oj97yPjw8eHh5s27ZNdywzM5M9e/bQuXNnANq0aYO5ublem+joaEJDQ3VtOnXqhEaj4dChQ7o2Bw8eRKPR6LUJDQ0lOjpa12br1q1YWlrSpk2bAuO3tLTE3t5e7yGEEJVBSkY2oddzp0f41VYbORohKo9KPcfrxRdfZNWqVWzYsAE7Oztdj5Narcba2hqVSsW0adNYtGgRDRs2pGHDhixatAgbGxtGjRqlazt+/HhmzJiBs7MzTk5OzJw5Ez8/P3r16gVA06ZN6devHxMmTGDZsmUATJw4kYCAABo3bgxAnz59aNasGYGBgXzwwQfEx8czc+ZMJkyYIAmVEKLKOXI1nhytQh0nG2qqrY0djhCVRqVOvL766isAunfvrnf8hx9+YOzYsQDMnj2b27dvM2nSJBISEujQoQNbt27Fzs5O1/7jjz/GzMyMYcOGcfv2bXr27MmKFSswNTXVtfnll1+YOnWqbvXjoEGDWLp0qe55U1NT/v77byZNmkSXLl2wtrZm1KhRfPjhh2X06oUQwngOXIkHoIOPk5EjEaJyUSmKohg7CJErKSkJtVqNRqORXjIhRIX2+Jf/cTw8kQ+HtuDJNrWLPkGIKqwkn9+Veo6XEEKI8peWmc2pyNy6idLjJUTJSOIlhBCiRI5eSyBbq1DLwRovJxtjhyNEpSKJlxBCiBI5mDe/q570dglRUpJ4CSGEKJEDV24B0NHH2ciRCFH5SOIlhBCi2G5n5nAiMhGQHi8hDCGJlxBCiGI7Hp5AVo6Ch70VdWR+lxAlJomXEEKIYjsQlju/q2M9pyL3vBVC5CeJlxBCiGI7eGd+V4d6Mr9LCENI4iWEEKJY0rNyOB6RCEj9LiEMJYmXEEKIYgmJSCQzW4urnSU+LrbGDkeISkkSLyGEEMVy8K79GWV+lxCGkcRLCCFEsRwMk/ldQjwoSbyEEEIUKSM7h2PhCQB0kvpdQhhMEi8hhBBFOhmpIT1Li0sNC+q71jB2OEJUWpJ4CSGEKFJeGYn2Mr9LiAciiZcQQogiHQzLm1gv87uEeBCSeAkhhChUVo6Wo9dy53fJ/oxCPBhJvIQQQhTqVJSGtMwcHGzMaeRmZ+xwhKjUJPESQghRqLvrd5mYyPwuIR6EJF5CCCEKdSBvf0aZ3yXEA5PESwghxH1l52g5cvVOj5fM7xLigUniJYQQ4r5OX08iNTMHeyszmnjYGzscISo9SbyEEELcV942Qe19nDCV+V1CPDBJvIQQQtxX3sT6jrI/oxClQhIvIYQQBcrRKhySwqlClCpJvIQQQhTobHQSyRnZ2Fma0cxT5ncJURok8RJCCFGgvDISbes6yvwuIUqJJF5CCCEKpNufUeZ3CVFqJPESQgiRj1ZvfpfU7xKitEjiJYQQIp9zMclobmdha2GKby21scMhO0dr7BCEKBWSeAkhhMgnr35Xm7pOmJsa96MiNimdgUv/Y0NIlFHjEKI0SOIlhBAin7s3xja2Xw9HcDY6iZm/nyD44k1jhyPEA5HESwghhB5FUTh0Na9wqvETr8k9GhDgX5OsHIXnVh4hNEpj7JCEMJgkXkIIIfRcjEshPjUTK3MT/Go5GDscTExUfDSsBZ3qOZOamcPYHw4TfivN2GEJYRBJvIQQQujJq9/VxtsRC7OK8TFhaWbKsjFtaFrTnpspGYz5/iC3UjKMHZYQJVYx3lFCCCEqDN3+jBVsmyB7K3N+fKYdtRysuXorjXErDpOakW3ssIQokUqfeO3du5eBAwfi6emJSqVi/fr1es+npKQwefJkateujbW1NU2bNuWrr77Sa5ORkcGUKVNwcXHB1taWQYMGERkZqdcmISGBwMBA1Go1arWawMBAEhMT9dqEh4czcOBAbG1tcXFxYerUqWRmZpbFyxZCiDKhKIpuRWNFLJzqZm/FT+Pb42hjzolIDS+uOkaWlJoQlUilT7xSU1Np0aIFS5cuLfD56dOnExQUxM8//8zZs2eZPn06U6ZMYcOGDbo206ZNY926daxZs4bg4GBSUlIICAggJydH12bUqFGEhIQQFBREUFAQISEhBAYG6p7PyclhwIABpKamEhwczJo1a/jzzz+ZMWNG2b14IYQoZZdvpHIzJRNLMxNaeBm/fldB6rvW4Lux7bAyN2H3+RvMW3sKRVGMHZYQxaNUIYCybt06vWPNmzdX3nzzTb1jrVu3Vl577TVFURQlMTFRMTc3V9asWaN7PioqSjExMVGCgoIURVGUM2fOKIBy4MABXZv9+/crgHLu3DlFURRl8+bNiomJiRIVFaVrs3r1asXS0lLRaDTFil+j0ShAsdsLIURp+/nAVcV7ziZl+LJ9xg6lSNvPxCj15v2teM/ZpCwOOmvscEQ1VpLP70rf41WUrl27snHjRqKiolAUhV27dnHhwgX69u0LwNGjR8nKyqJPnz66czw9PfH19WXfvn0A7N+/H7VaTYcOHXRtOnbsiFqt1mvj6+uLp6enrk3fvn3JyMjg6NGj5fFShRDigR3Q1e+qeMOM9+rZ1J13H/cD4Itdl/lx31XjBiREMZgZO4Cy9tlnnzFhwgRq166NmZkZJiYmfPvtt3Tt2hWAmJgYLCwscHR01DvP3d2dmJgYXRs3N7d813Zzc9Nr4+7urve8o6MjFhYWujb3ysjIICPj/6tykpKSDH+hQgjxgBRF4eCdFY0dK+D8roIMa+dFbFI6H227wOt/ncbVzpJH/WoaOywh7qvK93h99tlnHDhwgI0bN3L06FE++ugjJk2axPbt2ws9T1EUVCqV7uu7//9B2tzt3Xff1U3WV6vVeHl5FfdlCSFEqbt6K4245AwsTE1oVcfB2OEU2+RHGvBUxzooCkz7NUSXPApREVXpxOv27du88sorLFmyhIEDB+Lv78/kyZMZPnw4H374IQAeHh5kZmaSkJCgd25cXJyuB8vDw4PY2Nh8179x44Zem3t7thISEsjKysrXE5Zn3rx5aDQa3SMiIuKBX7MQQhgqL2Fp6eWAlbmpkaMpPpVKxRuDfOnb3J3MbC3P/nSEczEygiAqpiqdeGVlZZGVlYWJif7LNDU1RavNXX7cpk0bzM3N2bZtm+756OhoQkND6dy5MwCdOnVCo9Fw6NAhXZuDBw+i0Wj02oSGhhIdHa1rs3XrViwtLWnTpk2B8VlaWmJvb6/3EEIIYzkYdmd+VwXYJqikTE1UfDqiFe3qOpKcns3Y7w9zPfG2scMSIp9KP8crJSWFS5cu6b4OCwsjJCQEJycn6tSpQ7du3Zg1axbW1tZ4e3uzZ88efvrpJ5YsWQKAWq1m/PjxzJgxA2dnZ5ycnJg5cyZ+fn706tULgKZNm9KvXz8mTJjAsmXLAJg4cSIBAQE0btwYgD59+tCsWTMCAwP54IMPiI+PZ+bMmUyYMEESKiFEhacoiq5ifWWYWF8QK3NTvh3TjqHL9nEhNoUx3x/ij+c74WBjYezQhPi/B11CmZycrGg0Gr1Hedq1a5cC5Hs8/fTTiqIoSnR0tDJ27FjF09NTsbKyUho3bqx89NFHilar1V3j9u3byuTJkxUnJyfF2tpaCQgIUMLDw/Xuc+vWLWX06NGKnZ2dYmdnp4wePVpJSEjQa3Pt2jVlwIABirW1teLk5KRMnjxZSU9PL/ZrkXISQghjuXYzVfGes0mpP+9vJTUjy9jhPJCohDSlwzvbFe85m5ShX+9TcnK0RZ8kxAMoyee3SlFKXnUuLCyMyZMns3v3btLT0+9O4lCpVHqFR0XxJSUloVar0Wg00ksmhChXvx2JYPYfJ2nj7cifL3Q2djgP7EJsMkO+3EdKRjaLn/RnWFtZvCTKTkk+vw0aahw9ejQA33//Pe7u7vddtSeEEKJyOKir31X55ncVpJG7HS/1bMg7m8/ywZbzPOpXkxqWlX52jagCDPopPHnyJEePHtXNbxJCCFG5VeT9GQ31dOe6rDoUTtjNVL7YdYk5/ZoYOyQhDFvV2K5dOyl9IIQQVURU4m0iE25jaqKijbdj0SdUEhZmJrz6aFMAvvs3jPBbaUaOSAgDe7y+/fZbnn/+eaKiovD19cXc3FzveX9//1IJTgghRNnLq9/lW0td5YbjejZ146GGLvx78SaLNp/l68CCy/sIUV4MeofduHGDy5cv88wzz+iOqVQqmVwvhBCVUN78ro5VZH7X3VQqFfMDmtH/038JOh3D/su36FS/6gynisrHoKHGcePG0apVK/bv38+VK1cICwvT+68QQojK4//zu6pe4gW5E+1Hd6gDwJubzpCjLfFifiFKjUE9XteuXWPjxo00aNCgtOMRQghRjmKT0rl6Kw2VCtp4V83EC2B6r0ZsCLnO2egkfj0cwag7iZgQ5c2gHq9HHnmEEydOlHYsQgghylneNkHNatqjtjYvonXl5WhrwbReDQH4aOt5ktKzjByRqK4M6vEaOHAg06dP59SpU/j5+eWbXD9o0KBSCU4IIUTZOljJtwkqiac6evPLwXAuxaXw+Y6LvDqgmbFDEtWQQZXr7910Wu+CMrneYFK5XghR3nov2cPFuBS+fqoN/Xw9jB1Omdt9Po6xPxzG3FTF1und8HGxNXZIogooyee3QUONWq32vg9JuoQQonK4lZLBxbgUANpXwRWNBene2I0ejV3JylF45+8zxg5HVEMGJV5CCCEqv0N35nc1drfDydbCyNGUn9cCmmFmomL72Tj+vXjD2OGIasbgSnmpqans2bOH8PBwMjMz9Z6bOnXqAwcmhBCibOVNrK8uvV156rvWYEynunz/XxhvbTrD5qkPYWYq/RCifBiUeB0/fpxHH32UtLQ0UlNTcXJy4ubNm9jY2ODm5iaJlxBCVAJ5iVdVrd9VmJd6NmTd8UguxKaw6lA4YzrVNXZIopowKMWfPn06AwcOJD4+Hmtraw4cOMC1a9do06YNH374YWnHKIQQopRp0rI4F5MEVL8eLwC1jTkv924EwJJtF0hMyyziDCFKh0GJV0hICDNmzMDU1BRTU1MyMjLw8vJi8eLFvPLKK6UdoxBCiFJ2+Go8igL1XG1xs7MydjhGMbJ9HRq725GYlsUn2y8aOxxRTRiUeJmbm6NSqQBwd3cnPDwcALVarft/IYQQFZdum6Bq2NuVx8zUhPkBubW8Vh64xsXYZCNHJKoDgxKvVq1aceTIEQB69OjBggUL+OWXX5g2bRp+fn6lGqAQQojSp5vfVQ0Kpxama0MXejV1J0er8NbfZzGgtKUQJWJQ4rVo0SJq1qwJwFtvvYWzszMvvPACcXFxLF++vFQDFEIIUbqS07MIjdIA1XN+171eHdAUc1MVey/cYNf5OGOHI6o4g1Y1tm3bVvf/rq6ubN68ucB2//33H23btsXS0tKw6IQQQpS6o9cS0Crg5WSNp4O1scMxOh8XW57p4sPyvVd4e9NZujZwxcJMykuIsmFwHa/i6N+/PyEhITz55JMlOk+lUrFx40Zq1apVRpEJIUT1JcOM+U1+pAF/Ho3kys1Uftp/lWcfqmfskEQVVaaJV95Yed4qyBo1ahTrnPfee4+MjIyyDE0IIaqt/2+MLcOMeeytzJnZtzHz1p7i0x0XGdyqFi41ZLRGlL4yTbzuNmvWLNzc3IrV9qOPPirjaIQQonq6nZnDycjc+V0d60mP192GtfXi5wPXOH09iYUbTvPF6NbGDklUQeUyiB0WFoarq2ux2585cwZvb+8yjEgIIaqnY+EJZGsVaqqtqO0o87vuZmqi4v0n/DE1UfH3qWg2nbxu7JBEFVQuiZe3t7eu7ldxeHl5YWpqWoYRCSFE9XT3MGNJfi9XF7611LzYowEA89eHciNZpr2I0lWmiVdBb+qcnBy9rw8ePMjevXvJysoqy1CEEEJw9/6MMsx4P5N7NKBpTXsS0rKYvz5UanuJUlWmidfdP6zR0dF07doVS0tLunXrRkJCAgEBAXTq1Inu3bvj6+tLdHR0WYYjhBDVWnpWDscjEgGp31UYCzMTPhzqj5mJiqDTMfx1Uj6bROkp08QrOTmZevVyl+TOmTMHRVFYt24dNWvWJCAggKSkJCIiIrh27Rru7u688847ZRmOEEJUayciEsnM1uJSw5J6LrbGDqdCa+6pZvIjuUOOCzaEEpecbuSIRFVRosTrwoULer1YwcHBDB48mObNm9OrVy82bNhw33O3b9/ORx99xMCBA/nyyy/Zv38/CxcupFatWnh5efHGG2/wzz//GP5KhBBCFOqQbphR5ncVx4s9GtCspj2JaVm8uk6GHEXpKFHi1bRpU27cuAHA7t276datG1qtltGjR+Pg4MCQIUPYsmVLgecmJCToCqI6OTlhY2Ojt3Kxfv36MtQohBBlKG9+V0cZZiwWc1MTPhrWAnNTFdvOxLIhRFY5igdXosTr7mz/7bff5vnnn2fjxo288sor/PHHH8yePZtFixYVeK6bm5teYjV58mScnP7/5k9ISMDWVrq+hRCiLGTlaDl6LQGA9lKxvtia1rRn6iMNAVi48TRxSTLkKB6MwXO8zpw5w5gxY/SOBQYGcvr06QLbt2zZkv379+u+fu+99/QSr+DgYPz9/Q0NRwghRCFORmq4nZWDo405Dd2K3kVE/N/z3evjW8seze0sXll3SoYcxQMpceX65ORkrKyssLa2zrf5tYWFBbdv3y7wvMLmfwG0b9+ebt26lTQcIYQQxZA3v6u9jxMmJjK/qyTMTU34aGhLAj7/l+1n41h3PIohrWsbOyxRSZW4x6tRo0Y4OjoSFhbG0aNH9Z47ffq0wRtbt2vXDl9fX4POFUIIUbiDYbmFU2WY0TCNPeyY1qsRAK9vPE2sDDkKA5Wox2vXrl16X9esWVPv66tXrzJhwoQirxMVFcV///1HXFwcWq1W77mpU6eWJCQhhBBFyM7RcuRq7vwu2RjbcM89XI8tp2M4Galh3tpTfPd0W1kdKkpMpZTzYPUPP/zA888/j4WFBc7Ozno/tCqViitXrpRnOBVKUlISarUajUaDvb29scMRQlQRpyI1DFwajJ2VGSEL+mAqQ40GuxibzIDPgsnM0fLBk/4Mbetl7JBEBVCSz+8Sz/G625EjRzh79iwqlYomTZrQtm3bIs9ZsGABCxYsYN68eZiYlMtWkUIIUa3lDTO2q+skSdcDauhux/TejXg/6BxvbjpD14Yu1FTLZuOi+AzKfCIjI3nooYdo3749L730ElOnTqV9+/Z07dqViIiIQs9NS0tjxIgRpZZ07d27l4EDB+Lp6YlKpWL9+vX52pw9e5ZBgwahVquxs7OjY8eOhIeH657PyMhgypQpuLi4YGtry6BBg4iMjNS7RkJCAoGBgajVatRqNYGBgSQmJuq1CQ8PZ+DAgdja2uLi4sLUqVPJzMwsldcphBCGOnDlTuFUGWYsFRMe8qGllwPJ6dnM/VNWOYqSMSj7GTduHFlZWZw9e5b4+Hji4+M5e/YsiqIwfvz4Qs8dP348v//+u0HBFiQ1NZUWLVqwdOnSAp+/fPkyXbt2pUmTJuzevZsTJ04wf/58rKysdG2mTZvGunXrWLNmDcHBwaSkpBAQEKC3ofeoUaMICQkhKCiIoKAgQkJCCAwM1D2fk5PDgAEDSE1NJTg4mDVr1vDnn38yY8aMUnutQghRUlqtwuGrsjF2aTIzNeHDoS2wMDNhz4Ub/H4ksuiThLjDoDle1tbW7Nu3j1atWukdP3bsGF26dLlvSQnITVACAgK4ffs2fn5+mJub6z2/ZMmSkoajo1KpWLduHYMHD9YdGzFiBObm5qxcubLAczQaDa6urqxcuZLhw4cDcP36dby8vNi8eTN9+/bl7NmzNGvWjAMHDtChQwcADhw4QKdOnTh37hyNGzfmn3/+ISAggIiICDw9PQFYs2YNY8eOJS4urlhztmSOlxCitJ2NTqL/p/9iY2HKyYV9MDOVKR6lZfneyyzafA47SzO2TH8YTwcZcqyuSvL5bdA7sE6dOmRlZeU7np2dXWQ5iUWLFrFlyxZiY2M5deoUx48f1z1CQkIMCee+tFotf//9N40aNaJv3764ubnRoUMHveHIo0ePkpWVRZ8+fXTHPD098fX1Zd++fQDs378ftVqtS7oAOnbsiFqt1mvj6+urS7oA+vbtS0ZGRr6yG3kyMjJISkrSewghRGk6eCV3flcbb0dJukrZ+K71aF3HgeSMbOb8eVKGHEWxGPQuXLx4MVOmTOHIkSO6H7QjR47w0ksv8eGHHxZ67pIlS/j+++85e/Ysu3fvZteuXbrHzp07DQnnvuLi4khJSeG9996jX79+bN26lccff5whQ4awZ88eAGJiYrCwsMDR0VHvXHd3d2JiYnRt3Nzc8l3fzc1Nr427u7ve846OjlhYWOja3Ovdd9/VzRlTq9V4ecnqGCFE6Tp0Z5ixowwzljpTExUfDG2BpZkJ/168ya+HC5/jLAQYmHiNHTuWkJAQOnTogJWVFZaWlnTo0IFjx44xbtw4nJycdI97WVpa0qVLlwcOvDjyaoQ99thjTJ8+nZYtWzJ37lwCAgL4+uuvCz1XUZR8pS5Ko83d5s2bh0aj0T2KWpgghBAloSiKrmK9TKwvG/VdazCrb2MA3tl8VvZyFEUyqJzEJ598YvANX3rpJT7//HM+++wzg69RXC4uLpiZmdGsWTO9402bNiU4OBgADw8PMjMzSUhI0Ov1iouLo3Pnzro2sbGx+a5/48YNXS+Xh4cHBw8e1Hs+ISGBrKysfD1heSwtLfNtuySEEKXl8o0UbqZkYmlmgl9ttbHDqbKe6eLDxhPXORmp4fW/TvPl6DbGDklUYAYlXk8//bTBNzx06BA7d+5k06ZNNG/ePN/k+rVr1xp87XtZWFjQrl07zp8/r3f8woULeHt7A9CmTRvMzc3Ztm0bw4YNAyA6OprQ0FAWL14MQKdOndBoNBw6dIj27dsDcPDgQTQajS4569SpE++88w7R0dG6iv5bt27F0tKSNm3kTSiEKH95ZSRa13HE0szUyNFUXaYmKt4b4s/ApcFsPhXDtjOx9G5W8B/cQjxQAVVDODg4MGTIkFK7XkpKCpcuXdJ9HRYWRkhICE5OTtSpU4dZs2YxfPhwHn74YXr06EFQUBB//fUXu3fvBkCtVjN+/HhmzJiBs7MzTk5OzJw5Ez8/P3r16gXk9pD169ePCRMmsGzZMgAmTpxIQEAAjRvndjH36dOHZs2aERgYyAcffEB8fDwzZ85kwoQJskJRCGEUumHGejLMWNaaedoz4aF6fL3nMvPXh9KxnhN2VuZFnyiqH6WEvvjiC6Vnz57K0KFDlR07dug9d+PGDcXHx6fA85KTk0t6q2LZtWuXAuR7PP3007o23333ndKgQQPFyspKadGihbJ+/Xq9a9y+fVuZPHmy4uTkpFhbWysBAQFKeHi4Xptbt24po0ePVuzs7BQ7Oztl9OjRSkJCgl6ba9euKQMGDFCsra0VJycnZfLkyUp6enqxX4tGo1EARaPRlPj7IIQQd9NqtUr7d7Yp3nM2Kfsu3TR2ONXC7cxs5eHFOxXvOZuU+etPGTscUY5K8vldojpen332GfPmzeOZZ55Bo9Hw+++/s3DhQubNmwdAbGwsnp6eeoVH81hZWdGjRw8GDRrEY489pld2QeSSOl5CiNJy9WYq3T/cjYWpCSdf74OVuQw1lof/Lt1k9LcHUangj+c708bbseiTRKVXZnW8li1bxjfffMPSpUtZuXIlu3bt4pNPPmHBggVFnnv+/HkeffRR/vzzT3x8fGjXrh1vvfUWJ0+eLEkIQgghiiFvmLGFl1qSrnLUpYELT7apjaLAvLUnyczWGjskUcGUKPEKCwvTTSaH3AnlO3fuZPny5bper/vx9vZmypQpbN++nbi4OF5++WVOnz7Nww8/jI+PDy+99BI7d+4ssLdMCCFEyRy4szF2Bx+p31XeXn20Kc62FlyITeHrPZeNHY6oYEqUeLm4uOSrNdW8eXN27tzJDz/8wKxZs4p1HbVazciRI1mzZg03b95k2bJlaLVannnmGVxdXfnll19KEpYQQpRYfGom7/1zjvbvbGfBhlBSM7KNHVKpOnhnRWN7qd9V7hxtLVgwMLeM0dKdl7gUl2LkiERFUqI5XqNGjcLNza3AOl6nT5+mR48e3Lp164F6rY4dO0ZOTg7t2rUz+BqVlczxEqLsadKy+Db4Ct8Hh5Ga+f/fVXWcbPjgSf8qsZF0ZEIaXd/fhamJipML+2BrWe4L2Ks9RVF4ZsVhdp+/Qfu6TqyZ2BETk4KLaYvKrySf3yV6N86dO/e++w42b96cXbt28ccffxR6jfvN6VKpVFhZWdG8eXMpKiqEKHVJ6Vl8HxzGd/+GkXynd6u5pz1PtqnNt/+GER6fxohvDjCuiw+z+jau1POi8uZ3+dVSS9JlJCqVircH+9Ln470cuhrPmsMRjOpQx9hhiQqgRD1epcHExOS+W+gAmJubM3z4cJYtW4aVlVU5RmZ80uMlROlLycjmx31XWb73CprbWQA08bBjWq9G9G3ujkqlIjk9i7c3neXXI7lTKeq52vLR0Ba0qlM5V6TN+eMkvx6J4LmH6zHv0abGDqda+y44jLc2ncHOyowdL3fDzb56fa5VFyX5/DY48UpPT+fkyZPExcXp9kSE3Cx/4MCB9z1vw4YNzJkzh1mzZtG+fXsUReHw4cN89NFHLFy4kOzsbObOncvw4cOL3HC7qpHES4jSk5aZzU/7r7Fsz2US0nITrgZuNZjeqxH9fT0KHPbZeS6WuX+eIi45AxMVPNetPtN6Nax0Vd+7f7CLq7fS+H5sWx5pIhXUjSlHqzDky/84Eamhv68HXz0lO5lURWWeeAUFBTFmzBhu3ryZ/4IqVaFzvNq3b89bb71F37599Y5v2bKF+fPnc+jQIdavX8+MGTO4fLl6rQaRxEuIB5eelcPPB67x9Z7L3EzJBKCeiy0v9WpIgL8npkXMs0lMy+T1jadZH3IdgMbudnw0rAW+tSrHXoexSel0WLQDExWELOyDvVRPN7oz15MYuDSYHK3CssA29G3uYeyQRCkrszpeeSZPnszQoUOJjo5Gq9XqPYqaWH/q1CndPol38/b25tSpUwC0bNmS6OhoQ0ITQlRTSelZ/LjvKg8v3sXbf5/lZkomdZxs+HBoC7ZOf5jHWtYqMukCcLCx4JMRrfj6qTY421pwPjaZwV/8xyfbL5CVU/FrMq0/HgXkbmEjSVfF0MzTnokP1wNgwYZQktKzjByRMCaDZl3m1eFydy95F3aTJk147733WL58ORYWFgBkZWXx3nvv0aRJEwCioqIMurYQonpQFIXIhNscuRbPkasJHL2WwPnYZPL672s5WDO1ZwOGtK6NualBf1/Sz9eDdnUdeW19KP+ExvDJ9otsPxvLR0Nb0tjDrhRfTek5ei2eD7acB2BEO5nIXZG81LMh/5yK5uqtNBYHnePtwX7GDkkYiUGJ15NPPsnu3bupX79+ic/94osvGDRoELVr18bf3x+VSsXJkyfJyclh06ZNAFy5coVJkyYZEpoQogrKytFy5noSR64lcPROshWXnJGvXT0XW8Z19WFYWy8szAxLuO7mXMOSL0e35q+T0SzYEEpoVBIDPw9mWu+GTHyoHmYGJnVl4WZKBpN+OUa2ViHAvyajZQVdhWJlbsqiIX6M+uYgPx8IZ3DLWrStKzXWqiOD5nilpaUxdOhQXF1d8fPzw9xcvzt76tSphZ6fkpLCzz//zIULF1AUhSZNmjBq1Cjs7CrmX5HlReZ4iepMURQysrWkZmSTmpHD5ZspHL2awJFr8ZyI0HA7S38ag7mpiuaeatp6O9K2riOtvR1xsyu7FWNxSenMW3uKHefiAHi4kSs/jG1XrOHLspadoyXwu0Psv3KLBm412PBiFykjUUHN/uMEvx2JpIFbDf6e2rXSLdwQBSvzyfXffvstzz//PNbW1jg7O+uVh1CpVFy5cqXkUQtJvESVo9UqbDxxnUtxKaRkZOcmVZnZpGTkkJKeRWpGTu7xzNznsnLu/+tIbW1OG29H2ng70tbbkRZeDuVea0tRFP44GsmCDae5nZXDrL6NebFHg3KNoSDvB53jq92XsbEwZePkLjRwq95/xFZkiWmZ9Fqyh5spmUzr1ZBpvRoZOyRRCso88fLw8GDq1KnMnTsXE5OSd7VfuHCB3bt35ytFARRrw+2qShIvUZXczsxh+q8hBJ2OKfG5NhamuNtb0bpObm9WW29H6rvWqDCVv38/EsGsP05iZqJi7aTO+Nd2MFosW0/HMHFlbmHrz0e2YmALT6PFIornrxPXmbL6OBamJmx+qaskylVAmSdeTk5OHD582KA5Xt988w0vvPACLi4ueHh45OstO3bsWImvWVVI4iWqirikdJ796QgnIzVYmJrwRJvaONqYY2tpRo07D1vdf02xs8r92tbSDFsLswoxfFcYRVF4cdUxNp+KoZ6LLZumdsXGovyH9q7eTGXg0mCS07N5pktdFg5sXu4xiJJTFIXxPx5h57k4ujVy5cdx7Y0dknhAZZ54TZ8+HVdXV1555ZUSB+ft7c2kSZOYM2dOic+t6iTxElXBmetJPPvjYa5r0nG0MWdZYNsquVFzYlom/T75l5ikdEZ1qMOix8t3ldrtzBwe//I/zsUk09bbkdUTOxq8glOUv6s3U+n+4W5UKjg4r6dUtK/kymyvxjw5OTksXryYLVu24O/vn29y/ZIlS+57bkJCAkOHDjXktkKICm7nuVimrDpOamYO9Vxs+X5sO+q62Bo7rDLhYGPBR8NaMPrbg6w6GE6Pxm70blY+ZXAUReHV9ac4F5OMSw0Llo5qLUlXJVPXxZY23o4cvZbAXyejGd/Vx9ghiXJi0Dv11KlTtGrVChMTE0JDQzl+/LjuERISUui5Q4cOZevWrYbcVghRga34L4xnfzxCamYOneo5s25SlyqbdOXp0sCFCQ/lfmDO+fMkccnp5XLf1YciWHssChMVfDayFR5q6S2pjB5rmTsfb2NIlJEjEeXJoB6vXbt2GXzDBg0aMH/+fA4cOGBQKQohRMWSnaPlzU1n+Gn/NQCGt/XircG+pVJHqzKY2bcxwZducTY6iVm/n2TFM+305q6WthMRiby+8TQAs/s1oXN9lzK7lyhbj/rV5I2/znAiUkPYzVR8qvgfKiKXwZtk54mIiEClUlG7du1itffxuX93anUvRSFzvERlk5yexeRVx9lz4QYqFczp14TnHq5XpolHRXQhNpmBnweTka3ljUHNebpz3TK5T0JqJgGfBxOVeJs+zdxZFtim2n2vq5qnvz/Engs3mN6rES/1amjscISBynyvxuzsbObPn49araZu3bp4e3ujVqt57bXXyMoqfA+qsLCw+z6qc9IlRGUTmZDGk1/tZ8+FG1iZm/DV6DY8361+tUwEGrnbMa9/7pZnizaf5WJscqnfI0er8NKvIUQl3qausw0fDmtRLb/XVU3ecOOGE1E8YD+IqCQM3iR7+fLlLF68WDe3a/HixXz33XdMmTKltGMUQlQwx8MTGPzFf5yPTcbNzpLfnutEP18PY4dlVE93rku3Rq5kZGuZuiaEjOycok8qgc93XmRvXpL7VBvZALuK6NPcA0szE67cSOX09SRjhyPKgUGJ1+rVq1mxYgXPPfcc/v7++Pv789xzz/H999+zevXqfO1ffvllUlNTi339efPmER8fb0hoQogytunkdUYsP8DNlEya1rRn/YtdjFpAtKJQqVR8MNQfJ1sLzkYn8dHWC6V27d3n4/h0x0UAFj3uR9OaMhWhqqhhaUavO6thN8gk+2rBoMTLysqKunXr5jtet25dLCws8h3/9NNPSUtLK/b1v/jiCxITEw0JTQhRRhRF4Ytdl5i86jgZ2VoeaeLG7893wtPB2tihVRhudla8/4Q/AN/8e4V9l24+8DUj4tOY9msIigKjO9RhSOvizacVlcdjd3Yb2HjiOjlaGW6s6gxKvF588UXeeustMjIydMcyMjJ45513mDx5cr72iqLQqFEjnJycivUoSe+YEKJ8/HzgGh9sOQ/AuC4+fDOmLTVkI+Z8ejdzZ2T7OigKvPzbCRLTMg2+VnpWDpN+OUZiWhYtaqtZMLBZKUYqKopujV2xtzIjNimDQ2Ey2lPVGfRb8/jx4+zYsYPatWvTokULAE6cOEFmZiY9e/ZkyJAhurZr167lhx9+KPE93N3LpxChEKJo6Vk5fL7zEgAzejdiSk9ZfVWY+QFNOXjlFldupvLqulCWjmpVoonwEfFprD0WxdrjkVy7lYajjTlfPtUGS7Py3RRclA9LM1Me9avJmsMRbDwRRaf6zsYOSZQhgxIvBwcHnnjiCb1jXl5e923/9NNPG3IbIUQF8duRCOKSM/BUWzGxWz1jh1Ph2ViY8cmIlgz5ch9/n4qmxzE3nmxT+BBhUnoWm09Gs/ZYFIeu/r/Xw87SjM9HtqaWDOlWaYNaerLmcASbT8Xw+qDmkmRXYQYlXsXtwfrvv//IyMjA0tLSkNsIISqAjOwcvtp9GYAXuteXD4Ri8q/twPTejfhgy3kWbgilfV0n6jjb6LXJztHy76WbrD0WxdbTMWRkawFQqaBrAxeGtK5F3+YeRtmAW5SvDj7OuNtbEpuUwd4LN8tt+ylR/sr03dy/f39CQkKoV0/+QhaisvrjaCTRmnTc7S0Z2vb+Pdsiv+e71WfP+RscuhrPtF+P89tznTAzNeHM9STWHotkfch1bqb8f65sA7caPNG6NoNbeVJTLT1c1YmpiYqB/p58GxzGhpAoSbyqsDJNvKQYnBCVW1aOli935fZ2Pd+tPlbm0ttVEqYmKpYMb0H/T/7lWHgik1cd5+qtVM7F/L/AqpOtBYNaePJE69r41rKXoqjV2GMta/FtcBjbz8aSkpEti1eqKPlXFULc17pjUUQl3salhiUj29cxdjiVUm1HG94a7Mu0X0MIOh0DgIWpCb2auTGkVW26NXbF3LR67GspCudby556LrZcuZnKtjMxPN5KSodUReWaeGVnZ2NlZUVISAi+vr7leWshRAll52hZuit3JePz3epJb9cDGNyqFhfjkgmJSKS/b00C/GviYJO/5qGo3lQqFYNaevLJ9otsCLkuiVcVVa6Jl5mZGd7e3uTklO5WGkKI0rch5Drh8Wk421owqoP0dj2oWX2bGDsEUQkMapGbeP178Sa3UjJwriGL06qaMu3fLmiuwmuvvSZbAglRweVoFV1v14SH68mqOiHKST3XGvjVUpOjVdh8KtrY4YgyUOzfphs3bqR///6Ymxd/Y9aCJtd/9tlnXLp0CU9PT7y9vbG1tdV7/tixY8W+vhCibGw6eZ2wm6k42pgT2NHb2OEIUa081tKTU1EaNoRcJ7BTXWOHI0pZsROvxx9/nJiYGFxdXTE1NSU6Oho3N7dCz0lOTs53bPDgwSUOUghRfnK0iq5K/bMP1cNWVlYJUa4C/D15Z/NZjlxLICI+DS8nm6JPEpVGsYcaXV1dOXDgAJDbk2XokueFCxcW+iipvXv3MnDgQDw9PVGpVKxfv/6+bZ977jlUKhWffPKJ3vGMjAymTJmCi4sLtra2DBo0iMjISL02CQkJBAYGolarUavVBAYG5tvIOzw8nIEDB2Jra4uLiwtTp04lM9PwfdqEMIZ/QqO5FJeCvZUZYzpJb5cQ5c1DbUVHn9xtg/46ed3I0YjSVuzE6/nnn+exxx7D1NQUlUqFh4cHpqamBT7KU2pqKi1atGDp0qWFtlu/fj0HDx7E09Mz33PTpk1j3bp1rFmzhuDgYFJSUggICNBbBDBq1ChCQkIICgoiKCiIkJAQAgMDdc/n5OQwYMAAUlNTCQ4OZs2aNfz555/MmDGj9F6sEGVMq1X4fEdub9f4rvWwsyr+1AIhROl5rGXuZ9XGEEm8qppijyG8/vrrjBgxgkuXLjFo0CB++OEHHBwcinWuk5MTFy5cwMXFBUdHx0J7y0o66b5///7079+/0DZRUVFMnjyZLVu2MGDAAL3nNBoN3333HStXrqRXr14A/Pzzz3h5ebF9+3b69u3L2bNnCQoK4sCBA3To0AGAb775hk6dOnH+/HkaN27M1q1bOXPmDBEREbrk7qOPPmLs2LG888472Nvbl+h1CWEMW8/EcD42GTtLM8Z2qWvscISotvr71mT+hlDOxSRzLiaJJh7yGVJVlGjyRpMmTWjSpAkLFy5k6NCh2NgUb9z5448/xs7ODiDfMF9Z02q1BAYGMmvWLJo3b57v+aNHj5KVlUWfPn10xzw9PfH19WXfvn307duX/fv3o1ardUkXQMeOHVGr1ezbt4/GjRuzf/9+fH199XrU+vbtS0ZGBkePHqVHjx757p2RkUFGxv+3C0lKSiqtly1EiSmKwqd3erue6VIXtbX0dglhLGobc7o3dmPbmVg2hlynST9JvKoKg2bN5s3FunHjBufPn0elUtGoUSNcXV0LbP/0008X+P/l4f3338fMzIypU6cW+HxMTAwWFhY4OjrqHXd3dycmJkbXpqCFBG5ubnpt3N3199ZydHTEwsJC1+Ze7777Lm+88UaJX5MQZWH72TjORidha2HKuK4+xg5HiGrvsZaebDsTy4aQ68zq21i2k6oiDKrjlZaWxrhx4/D09OThhx/moYcewtPTk/Hjx5OWllbs69y+fZukpCS9R2k6evQon376KStWrCjxD+y9CwgKOt+QNnebN28eGo1G94iIiChRjEKUFkVR+GzHRQDGdK4rVdWFqAB6NnHH1sKUqMTbHAtPMHY4opQYlHhNnz6dPXv2sHHjRhITE0lMTGTDhg3s2bOnyMnkqampTJ48GTc3N2rUqIGjo6PeozT9+++/xMXFUadOHczMzDAzM+PatWvMmDGDunXrAuDh4UFmZiYJCfo/1HFxcboeLA8PD2JjY/Nd/8aNG3pt7u3ZSkhIICsrK19PWB5LS0vs7e31HkIYw+7zNzgVpcHa3JRnpbdLiArB2sKUvs09gNydJETVYFDi9eeff/Ldd9/Rv39/XcLw6KOP8s033/DHH38Ueu7s2bPZuXMnX375JZaWlnz77be88cYbeHp68tNPPxn0Iu4nMDCQkydPEhISont4enoya9YstmzZAkCbNm0wNzdn27ZtuvOio6MJDQ2lc+fOAHTq1AmNRsOhQ4d0bQ4ePIhGo9FrExoaSnT0/ysNb926FUtLS9q0aVOqr0uI0pQ7tyu3tyuwk7dsUSJEBTLozurGv09Gk5WjNXI0ojQYNMcrLS2twF4cNze3Ioca//rrL3766Se6d+/OuHHjeOihh2jQoAHe3t788ssvjB49ukSxpKSkcOnSJd3XYWFhhISE4OTkRJ06dXB2dtZrb25ujoeHB40bNwZArVYzfvx4ZsyYgbOzM05OTsycORM/Pz/dKsemTZvSr18/JkyYwLJlywCYOHEiAQEBuuv06dOHZs2aERgYyAcffEB8fDwzZ85kwoQJ0pMlKrR/L94kJCIRSzMTJjxUz9jhCCHu0qWBC862FtxKzeS/Szfp3rjwwuWi4jOox6tTp04sXLiQ9PR03bHbt2/zxhtv0KlTp0LPjY+Px8cndyjD3t5eVz6ia9eu7N27t8SxHDlyhFatWtGqVSsAXn75ZVq1asWCBQuKfY2PP/6YwYMHM2zYMLp06YKNjQ1//fWXXk2yX375BT8/P/r06UOfPn3w9/dn5cqVuudNTU35+++/sbKyokuXLgwbNozBgwfz4Ycflvg1CVFe7p7bNbqDN6520tslREVibmrCAP+agNT0qipUSkEbKhYhNDSUfv36kZ6eTosWLVCpVISEhGBlZcWWLVsKLNuQx9/fn88//5xu3brpEpgPP/yQzz77jMWLF+erGF+dJCUloVar0Wg00ksmysW+yzcZ9c1BLMxM+Hd2D9ztrYwdkhDiHkevxfPEV/uxtTDlyGu9sbYo30Llomgl+fw2aKjR19eXixcv8vPPP3Pu3DkURWHEiBGMHj0aa2vrQs995plnOHHiBN26dWPevHkMGDCAzz//nOzsbJYsWWJIOEIIA+X1do1s5yVJlxAVVOs6jtR2tCYy4TY7zsUS4J9/BxZReRjU41VcAwYM4Ntvv6VmzZr3bRMeHs6RI0eoX78+LVq0KKtQKgXp8RLl6eCVWwxffgALUxP2zO5OTXXhfzQJIYxncdA5vtx9md7N3PlmTFtjhyPuUZLPb4PmeBXX3r17uX37dqFt6tSpw5AhQ/IlXX5+flLXSogy9PnO3EUpQ9vWlqRLiArusZa1ANh9Pg5NWpaRoxEPokwTrwdx9epVsrLkh0uIsnD0WjzBl25iZqLihe71jR2OEKIIjT3saOJhR1aOQtDp6KJPEBVWhU28hBBlQ1EUPtxyAYAn29SmtmPx9lwVQhhXXk0vKaZauUniJUQ189fJaPZfuYWlmQkv9mhg7HCEEMU08M6k+v1XbpGYlmnkaIShJPESohpJTs/i7U1nAHixRwO8nKS3S4jKwsvJhrrONigKhEQkGjscYSBJvISoRj7ZfpG45AzqOtsw8WGpUi9EZdOqTu6expJ4VV5lmni98sorODk5leUthBDFdC4miRX7rgLwxmO+WJlLEUYhKpuWXg6AJF6VmUEFVAEuXLjA7t27iYuLQ6vV37gzb7ueefPmGRzYsmXLCtwPUghRcoqiMH99KDlahf6+HnRr5GrskIQQBrg78VIUBZVKZdyARIkZlHh98803vPDCC7i4uODh4aH3D69SqYrcJ3HHjh3s2LGjwKTt+++/B2DUqFGGhCaEKMCfx6I4fDUBGwtT5gc0M3Y4QggDNa1pj4WZCYlpWVy9lYaPi62xQxIlZFDi9fbbb/POO+8wZ86cEp/7xhtv8Oabb9K2bVtq1qwp2boQZUyTlsW7m88CMLVnQzwdpFiqEJWVhZkJvp72HAtPJCQiQRKvSsigxCshIYGhQ4cadMOvv/6aFStWEBgYaND5QoiS+XDreW6lZtLArQbjuvgYOxwhxANq6eWYm3iFJ/J4q9rGDkeUkEGT64cOHcrWrVsNumFmZiadO3c26FwhRMmcitTw88FrALz1mC8WZrKQWYjKrmUdB0Am2FdWBvV4NWjQgPnz53PgwAH8/PwwNzfXe37q1Kn3PffZZ59l1apVzJ8/35BbCyGKSatVeG1DKIoCj7X0pFN9Z2OHJIQoBa3uTLA/E51EelaOrFCuZAxKvJYvX06NGjXYs2cPe/bs0XtOpVIVmnilp6ezfPlytm/fjr+/f76kbcmSJYaEJIS4x5rDEZyISMTO0oxXH21q7HCEEKWktqM1LjUsuJmSyenrSbTxdjR2SKIEDEq8wsLCDL7hyZMnadmyJQChoaF6z8lEeyFKR3xqJou3nANgeu9GuNlbGTkiIURpUalUtPRyYPvZOEIiEiXxqmQMruOVR1EUoPhJ065dux70lkKIIiwOOkdiWhZNa9ozppO3scMRQpSyuxMvUbkYPNP2p59+ws/PD2tra6ytrfH392flypWlGZsQwgDHwhNYczgCgLcHN8fMVCbUC1HVtPTK7eU6Hp5g5EhESRnU47VkyRLmz5/P5MmT6dKlC4qi8N9///H8889z8+ZNpk+frtd+yJAhrFixAnt7e4YMGVLotdeuXWtISEIIIEebW6EeYGib2rTxli27hKiK/L3UqFQQmXCbmykZuNSwNHZIopgMSrw+//xzvvrqK8aMGaM79thjj9G8eXNef/31fImXWq3WDUWq1eoHCFcIUZifD1zj9PUk1NbmzO3fxNjhCCHKiL2VOQ1ca3AxLoWQ8ER6NZMt9ioLgxKv6OjoAmtxde7cmejo6HzHf/jhhwL/vzD//fcfbdu2xdJSsnghiuNGcgYfbj0PwKy+jXGWv4CFqNJaejnkJl4RknhVJgZN/mjQoAG//fZbvuO//vorDRs2fOCgAPr3709UVFSpXEuI6uDdzWdJTs/Gv7aake3rGDscIUQZyyukejxC5nlVJgb1eL3xxhsMHz6cvXv30qVLF1QqFcHBwezYsaPAhMwQeaslhRBFO3jlFmuPR6FS5VaoNzWR0ixCVHUt7xRSPRmhQatVMJH3faVgUI/XE088wcGDB3FxcWH9+vWsXbsWFxcXDh06xOOPP17aMQohCpGVo2X+htwJ9SPb16HFnV/GQoiqrbG7HdbmpiRnZHP5RoqxwxHFZHAdrzZt2vDzzz+XZixCCAOs+O8qF2JTcLK1YHbfxsYORwhRTsxMTfCrreZQWDzHIxJp6G5n7JBEMRS7xyspKUnv/wt7CCHKR0pGNp/uuAjA3H5NcLCxMHJEQojylLdv4/HwRKPGIYqv2D1ejo6OREdH4+bmhoODQ4GV6hVFQaVSkZOT88CByfZBQhRtY8h1UjKyqedqy5Ntahs7HCFEOcub5yUV7CuPYideO3fuxMkptxhjeWz7I5PrhSja6kPhAIxqX0cm1gpRDbWqk1vB/nxMEmmZ2dhYPPBOgKKMFftfqFu3brr/9/HxwcvLK1+vlKIoRERElEpgycnJpXIdIaqq0CgNp6I0WJiaMKS19HYJUR15qK3wsLciJimdU5EaOtRzNnZIoggGpcY+Pj66Yce7xcfH4+Pjk2+osVWrVsUeOjx27JghIQlR7eT1dvX19cDJVuZ2CVFdtfRyIOh0DMcjEiXxqgQMSrzy5nLdKyUlBSsrq3zHBw8ebMhthBD3kZqRzYaQ6wCMbO9l5GiEEMbUsk5u4hUiE+wrhRIlXi+//DKQO/F9/vz52NjY6J7Lycnh4MGDtGzZMt95CxcufLAohRB6Np3MnVRf19mGTvIXrhDVWiuZYF+plCjxOn78OJDb43Xq1CksLP4/vGFhYUGLFi2YOXNmsa519OhRzp49i0qlolmzZrRq1aokoQhRra0+lDuXckT7OrICWIhqzq+2GlMTFTFJ6cRo0vFQ5x95EhVHiRKvvNWMzzzzDJ9++in29vYlvmFcXBwjRoxg9+7dODg4oCgKGo2GHj16sGbNGlxdXUt8TSGqkzPXkwiJSMTcVCUlJIQQ2FiY0cjdjrPRSYREJNBPXdPYIYlCGLRl0A8//GBQ0gUwZcoUkpKSOH36NPHx8SQkJBAaGkpSUhJTp0416JpCVCdrDudOqu/TzAOXGpZGjkYIURG0lEKqlYZBiRfA4cOHmT17NiNGjGDIkCF6j8IEBQXx1Vdf0bRpU92xZs2a8cUXX/DPP/+UOI69e/cycOBAPD09UalUrF+/XvdcVlYWc+bMwc/PD1tbWzw9PRkzZgzXr1/Xu0ZGRgZTpkzBxcUFW1tbBg0aRGRkpF6bhIQEAgMDUavVqNVqAgMDSUxM1GsTHh7OwIEDsbW1xcXFhalTp5KZmVni1yTE/dzOzGHd8SgARsikeiHEHa3qOABwXOZ5VXgGJV5r1qyhS5cunDlzhnXr1pGVlcWZM2fYuXMnarW60HO1Wi3m5ub5jpubm6PVakscS2pqKi1atGDp0qX5nktLS+PYsWPMnz+fY8eOsXbtWi5cuMCgQYP02k2bNo1169axZs0agoODSUlJISAgQK8sxqhRowgJCSEoKIigoCBCQkIIDAzUPZ+Tk8OAAQNITU0lODiYNWvW8OeffzJjxowSvyYh7ufvU9Ekp2fj5WRNl/ouxg5HCFFB5E2wPxWpITun5J+lohwpBvDz81OWLl2qKIqi1KhRQ7l8+bKi1WqVCRMmKAsWLCj03EGDBikPP/ywEhUVpTsWGRmpdOvWTRk8eLAh4egAyrp16wptc+jQIQVQrl27piiKoiQmJirm5ubKmjVrdG2ioqIUExMTJSgoSFEURTlz5owCKAcOHNC12b9/vwIo586dUxRFUTZv3qyYmJjova7Vq1crlpaWikajKVb8Go1GAYrdXlQ/Q778T/Ges0lZuvOisUMRQlQgOTlaxXdBkOI9Z5NyOko+Q8pbST6/Derxunz5MgMGDADA0tKS1NRUVCoV06dPZ/ny5YWeu3TpUpKTk6lbty7169enQYMG+Pj4kJyczOeff25IOCWi0WhQqVQ4ODgAuasrs7Ky6NOnj66Np6cnvr6+7Nu3D4D9+/ejVqvp0KGDrk3Hjh1Rq9V6bXx9ffH09NS16du3LxkZGRw9erTAWDIyMmSDcVFsF2KTOXotAVMTFUNlUr0Q4i4mJir8vXJHnI5HJBg5GlEYgwqoOjk56bb0qVWrFqGhofj5+ZGYmEhaWlqh53p5eXHs2DG2bdvGuXPnUBSFZs2a0atXL0NCKZH09HTmzp3LqFGjdIsDYmJisLCwwNHRUa+tu7s7MTExujb3VukHcHNz02vj7u6u97yjoyMWFha6Nvd69913eeONNx74dYnqIa9Sfa+mbrjZy3JxIYS+Vl6O/HfpFiHhiYzu4G3scMR9GJR4PfTQQ2zbtg0/Pz+GDRvGSy+9xM6dO9m2bRs9e/Ys1jV69+5N7969AfJNUi8LWVlZjBgxAq1Wy5dffllke+We6vwF1UoypM3d5s2bpytKC5CUlISXl0yYFvmlZ+Ww9ljupPqR7esYORohREXUUgqpVgoGDTUuXbqUESNGALnJw8yZM4mNjWXIkCF89913hZ77/vvv8+uvv+q+HjZsGM7OztSqVYsTJ04YEk6RsrKyGDZsGGFhYWzbtk2vFIaHhweZmZkkJOh3zcbFxel6sDw8PIiNjc133Rs3bui1ubdnKyEhgaysrHw9YXksLS2xt7fXewhRkH9Co9HczqKWgzUPNZRad0KI/FreWdl46UYKSelZxg1G3FeJE6/s7Gz++usvTExyTzUxMWH27Nls3LiRJUuW5Buyu9eyZct0vTrbtm1j27Zt/PPPP/Tv359Zs2YZ8BIKl5d0Xbx4ke3bt+PsrL+9Sps2bTA3N2fbtm26Y9HR0YSGhtK5c2cAOnXqhEaj4dChQ7o2Bw8eRKPR6LUJDQ0lOjpa12br1q1YWlrSpk2bUn9donrJq1Q/vJ0XpiZSqV4IkZ9LDUtqO1qjKHAyQmPscMR9lHio0czMjBdeeIGzZ88adMPo6Ghd4rVp0yaGDRtGnz59qFu3rt7k9eJKSUnh0qVLuq/DwsIICQnByckJT09PnnzySY4dO8amTZvIycnR9Uo5OTlhYWGBWq1m/PjxzJgxA2dnZ5ycnJg5cyZ+fn66eWdNmzalX79+TJgwgWXLlgEwceJEAgICaNy4MQB9+vShWbNmBAYG8sEHHxAfH8/MmTOZMGGC9GSJB3IpLoVDYfGYqGBYWxmKFkLcX6s6jkQm3CYkIoGuDaXkTEVk0FBjhw4ddPs2lpSjoyMREbl/vQcFBemSG0VR9OpmFdeRI0do1aqVbq/Hl19+mVatWrFgwQIiIyPZuHEjkZGRtGzZkpo1a+oeeasRAT7++GMGDx7MsGHD6NKlCzY2Nvz111+Ymprq2vzyyy/4+fnRp08f+vTpg7+/PytXrtQ9b2pqyt9//42VlRVdunRh2LBhDB48mA8//NCg75MQedbcmVT/SBN32YNNCFEomedV8Rk0uX7SpEnMmDGDyMhI2rRpg62trd7z/v7+9z13yJAhjBo1ioYNG3Lr1i369+8PQEhICA0aNChxLN27d0dRlPs+X9hzeaysrPj8888LLWfh5OTEzz//XOh16tSpw6ZNm4q8nxDFlZGdw5/HcndRGCmV6oUQRbg78SpscZcwHoMSr+HDhwPo7a2oUql0/8iF9Vx9/PHH1K1bl4iICBYvXkyNGjWA3CHISZMmGRKOEFXWltOxJKRlUVNtRbdGMqleCFG45p72mJuquJmSSWTCbbycbIwdkriHQYlXWFiYwTc0Nzdn5syZ+Y5PmzbN4GsKUVWtPpg7zDisrRdmpgZvrSqEqCaszE1pVtOeE5EajkckSuJVARmUeF27do3OnTtjZqZ/enZ2Nvv27cPbu/DCbZcvX+aTTz7h7NmzqFQqmjZtyrRp06hXr54h4QhRJYXdTGX/lVuoVDCsnQwzCiGKp6WXAyciNYSEJzKohWfRJ4hyZdCf0D169CA+Pj7fcY1GQ48ePQo9d8uWLTRr1oxDhw7h7++Pr68vBw8epFmzZnolHYSo7tYczu3t6t7IlVoO1kaORghRWeTV8wqRrYMqJIN6vO43Ye/WrVv5Jtrfa+7cuUyfPp333nsv3/E5c+boqtkLUZ1lZmv540jepHqpVC+EKL6WXrn1NEOvJ5GZrcXCTKYpVCQlSryGDBkC5E6kHzt2LJaWlrrncnJyOHnypK6g6P2cPXuW3377Ld/xcePG8cknn5QkHCGqrO1nY7mVmombnSWPNMm/T6gQQtxPXWcbHGzMSUzL4mx0Ei3urHQUFUOJ0mC1Wo1arUZRFOzs7HRfq9VqPDw8mDhxYpElF1xdXQkJCcl3PCQkpMCNqIWojvI2xJZJ9UKIklKpVFLPqwIrUY/XDz/8AEDdunWZOXNmkcOKBZkwYQITJ07kypUrdO7cGZVKRXBwMO+//z4zZswo8fWEqGrCb6Xx78WbqFS5WwQJIURJtfRyYPf5G4REJPK0sYMRegya47Vw4UKDbzh//nzs7Oz46KOPmDdvHgCenp68/vrrenXBhKiufj2S29vVtYGLLAUXQhgkr8freLhMsK9oDBrDiI2NJTAwEE9PT8zMzDA1NdV73E92djY//fQTI0eOJDIyEo1Gg0ajITIykpdeekkq7IpqLytHy293JtWPkkn1QggD5SVeV2+lkZCaadxghB6DerzGjh1LeHg48+fPp2bNmsVOmO7dYNvOzs6Q2wtRZe04G8eN5AxcaljSq5m7scMRQlRSDjYW1HOx5crNVEIiE+nRWOZQVxQGJV7BwcH8+++/tGzZssTn5m2wXVSRVSGqo7xJ9U+2qY25TKoXQjyAll4OuYlXuCReFYlBiZeXl1exNp8uyINssC1EVRaVeJu9F28AMEIm1QshHlDLOg6sPR7FcVnZWKEYlHh98sknzJ07l2XLllG3bt0SnfsgG2wLUZVtCY1BUaC9jxN1XUq+YlgIIe7W6k4h1RMRifctfC7Kn0GJ1/Dhw0lLS6N+/frY2Nhgbm6u93xB2wnleZANtoWoynaeiwOgj8ztEkKUgiY17bA0M0FzO4uwm6nUc61h7JAED9DjZSiZ2yVEfsnpWRwMuwVAz6aSeAkhHpy5qQm+tdQcvZZASESiJF4VhEGJ19NPP1g5tpUrV/L1118TFhbG/v378fb25pNPPsHHx4fHHnvsga4tRGX078WbZOUo1HOxxUeGGYUQpaSllwNHryVwPDyRIa1rGzscgYF1vAAuX77Ma6+9xsiRI4mLyx0iCQoK4vTp04We99VXX/Hyyy/z6KOPkpiYqJvT5eDgIHs1imprx9nc95DsyyiEKE2t6jgAsnVQRWJQ4rVnzx78/Pw4ePAga9euJSUlBYCTJ08WWdX+888/55tvvuHVV1/VK7batm1bTp06ZUg4QlRqOVqF3efvJF5NJfESQpSevEKqZ6OTSM+SxWsVgUGJ19y5c3n77bfZtm0bFhYWuuM9evRg//79hZ4bFhZGq1at8h23tLQkNTXVkHCEqNRORCZyKzUTOysz2tV1MnY4QogqpJaDNS41LMnWKoRGaYwdjsDAxOvUqVM8/vjj+Y67urpy69atQs/18fEhJCQk3/F//vmHZs2aGRKOEJXajrOxAHRr5CpFU4UQpUqlUtH6znDjkWuyb2NFYNBveQcHB6Kjo/MdP378OLVq1Sr03FmzZvHiiy/y66+/oigKhw4d4p133uGVV15h1qxZhoQjRKWWN7+rpwwzCiHKQHuf3J70w2H3L/Ukyo9BqxpHjRrFnDlz+P3331GpVGi1Wv777z9mzpzJmDFjCj33mWeeITs7m9mzZ5OWlsaoUaOoVasWn376KSNGjDDoRQhRWUUl3uZcTDImKujeSBIvIUTpy5vCcORaAlqtgomJFFI1JoMSr3feeYexY8dSq1YtFEWhWbNm5OTkMGrUKF577bUiz58wYQITJkzg5s2baLVa3NzkA0dUT3lFU9t4O+Joa1FEayGEKLnmnvbYWJiiuZ3FhbhkmnjYGzukas2gxMvc3JxffvmFt956i2PHjqHVamnVqhUNGzYs0XVcXFwMub0QVUbe/K5HmkjRVCFE2TAzNaF1HUeCL93kcFi8JF5GZlDiladevXrUq1evxOf98ccf/Pbbb4SHh5OZman33LFjxx4kJCEqjbTMbPZdzqtWL72+Qoiy066uE8GXbnLoagKBneoaO5xqzaDJ9U8++STvvfdevuMffPABQ4cOLfTczz77jGeeeQY3NzeOHz9O+/btcXZ25sqVK/Tv39+QcISolP67dIvMbC21Ha1p6CZbeQghyk47n9wNsw+HxaMoipGjqd4MLqA6YMCAfMf79evH3r17Cz33yy+/ZPny5SxduhQLCwtmz57Ntm3bmDp1KhqN1BgR1cfOc7nDjL2auqNSyWRXIUTZaeXliLmpipikdCLibxs7nGrNoMQrJSVFr3BqHnNzc5KSkgo9Nzw8nM6dOwNgbW1NcnIyAIGBgaxevdqQcISodLRaRbYJEkKUG2sLU/xqqQE4dFXKShiTQYmXr68vv/76a77ja9asKbIIqoeHh67Iqre3NwcOHAByK9pL96eoLk5fTyIuOQMbC1M61JNq9UKIstdO6nlVCAZNrp8/fz5PPPEEly9f5pFHHgFgx44drF69mt9//73Qcx955BH++usvWrduzfjx45k+fTp//PEHR44cYciQIYaEI0Sls+POMONDDV2wNDMtorUQQjy49nWdWLbnCoelx8uoDEq8Bg0axPr161m0aBF//PEH1tbW+Pv7s337drp161boucuXL0er1QLw/PPP4+TkRHBwMAMHDuT55583JBwhKp28+l09m0oZCSFE+Wjr7YRKBVdupnIjOQNXO0tjh1QtqZQKOr43adIk3nzzzWpV6yspKQm1Wo1Go8HeXuqsVFWxSel0WLQDgMOv9pJffkKIctPvk72ci0nmq9Gt6e9X09jhVBkl+fx+oB15MzMziYyMJDw8XO9RGn7++eciJ+oLURntutPb1cLLQZIuIUS5yts+SCbYG49BQ40XL15k3Lhx7Nu3T++4oiioVCpycnIeOLAK2hEnxAPbkTfMKKsZhRDlrJ2PEysPXJN5XkZkUOI1duxYzMzM2LRpEzVr1pQaREIUU3pWDsEXbwJSrV4IUf7a3+nxOnM9ieT0LOyszI0cUfVj0FBjSEgIy5Yto3///rRs2ZIWLVroPcrT3r17GThwIJ6enqhUKtavX6/3vKIovP7663h6emJtbU337t05ffq0XpuMjAymTJmCi4sLtra2DBo0iMjISL02CQkJBAYGolarUavVBAYGkpiYqNcmPDycgQMHYmtri4uLC1OnTs23JZKo3vZfucXtrBw87K1oVlPm8QkhypeH2oo6TjZoFTh6LcHY4VRLBiVezZo14+bNm6Udi0FSU1Np0aIFS5cuLfD5xYsXs2TJEpYuXcrhw4fx8PCgd+/eusKtANOmTWPdunWsWbOG4OBgUlJSCAgI0BsyHTVqFCEhIQQFBREUFERISAiBgYG653NychgwYACpqakEBwezZs0a/vzzT2bMmFF2L15UOjvziqY2dZOeYiGEUeTN85LhRiNRDLBjxw6lU6dOyq5du5SbN28qGo1G71EaatSooVy+fLlE5wDKunXrdF9rtVrFw8NDee+993TH0tPTFbVarXz99deKoihKYmKiYm5urqxZs0bXJioqSjExMVGCgoIURVGUM2fOKIBy4MABXZv9+/crgHLu3DlFURRl8+bNiomJiRIVFaVrs3r1asXS0rLY3xONRqMApfY9FBWLVqtVOr+7Q/Ges0nZfibG2OEIIaqpNYeuKd5zNilDv9pn7FCqjJJ8fhvU49WrVy8OHDhAz549cXNzw9HREUdHRxwcHHB0dCz03PDw8AInziuKorci8qmnnnrgkgphYWHExMTQp08f3TFLS0u6deumWxhw9OhRsrKy9Np4enri6+ura7N//37UajUdOnTQtenYsSNqtVqvja+vL56enro2ffv2JSMjg6NHjz7Q6xBVw/nYZKISb2NlbkKXBtWnTIoQomLJ6/EKiUwkI/vBF8OJkjFocv2uXbsMvqGPjw/R0dG4uelPLI6Pj8fHx0c3vPfVV18ZfI88MTExALi76xepdHd359q1a7o2FhYW+RJGd3d33fkxMTH54gVwc3PTa3PvfRwdHbGwsNC1uVdGRgYZGRm6r6V8RtWWtzdjl/ouWJlLtXohhHH4uNjiUsOCmymZnIzU6BIxUT4MSryKqk5fGOVOyYl7paSkYGVlZfB1C3Pv/e4XQ2FtCmpvSJu7vfvuu7zxxhuFxiGqjh1nc7cJekRWMwohjEilUtGurhP/hMZwKCxeEq9yZlDiBZCYmMh3333H2bNnUalUNGvWjHHjxqFWqwts//LLLwO5/+Dz58/HxsZG91xOTg4HDx6kZcuWhoZTIA8PDyC3N6pmzf9X6I2Li9P1Tnl4eJCZmUlCQoJer1dcXBydO3fWtYmNjc13/Rs3buhd5+DBg3rPJyQkkJWVla8nLM+8efN03xfI7fHy8vIy5KWKCu5WSgbHIxIBeETqdwkhjOzuxOvFHsaOpnoxaI7XkSNHqF+/Ph9//DHx8fHcvHmTJUuWUL9+fY4dO1bgOcePH+f48eMoisKpU6d0Xx8/fpxz587RokULVqxY8SCvJR8fHx88PDzYtm2b7lhmZiZ79uzRJVVt2rTB3Nxcr010dDShoaG6Np06dUKj0XDo0CFdm4MHD6LRaPTahIaGEh0drWuzdetWLC0tadOmTYHxWVpaYm9vr/cQVdPu8zdQFGjuaU9NtbWxwxFCVHPtfXJ7uY5dSyBHKwXLy5NBPV7Tp09n0KBBfPPNN5iZ5V4iOzubZ599lmnTprF379585+TNC3vmmWf49NNPSy3JSElJ4dKlS7qvw8LCCAkJwcnJiTp16jBt2jQWLVpEw4YNadiwIYsWLcLGxoZRo0YBoFarGT9+PDNmzMDZ2RknJydmzpyJn58fvXr1AqBp06b069ePCRMmsGzZMgAmTpxIQEAAjRs3BqBPnz40a9aMwMBAPvjgA+Lj45k5cyYTJkyotAmV5nYWpiYqalga3DEq7thxLrfHVKrVCyEqgqY17bGzNCM5I5uz0Un41ip4tEqUAUOWTVpZWSlnz57Nd/z06dOKtbW1IZc02K5duxQg3+Ppp59WFCV3Cf/ChQsVDw8PxdLSUnn44YeVU6dO6V3j9u3byuTJkxUnJyfF2tpaCQgIUMLDw/Xa3Lp1Sxk9erRiZ2en2NnZKaNHj1YSEhL02ly7dk0ZMGCAYm1trTg5OSmTJ09W0tPTi/1aKlI5iYTUDKXNW1uVHh/sUjKzc4wdTqWWkZWjNF8QpHjP2aQcD08wdjhCCKEoiqKM+e6g4j1nk/J98BVjh1LpleTzW6UoJd8U0d3dnZUrV+qVYADYsmULY8aMKXA+VJ7U1FTee+89duzYQVxcHFqtVu/5K1eulDScKqMku5uXtZ8PXOO19aEAfP1Ua/r5yi72hvrv0k1Gf3sQlxqWHHqlJyYmUjhVCGF8X+y6xAdbzvOonwdfji54SowonpJ8fhs0hjR8+HDGjx/Phx9+SOfOnVGpVAQHBzNr1ixGjhxZ6LnPPvsse/bsITAwUPZ5rMDWH4/S/f/qQxGSeD2AvDISjzRxlaRLCFFh5K1mPBSWUKzV/qJ0GJR4ffjhh6hUKsaMGUN2djYA5ubmvPDCC7z33nuFnvvPP//w999/06VLF0NuLcpB+K00jlxLQKUCRYG9F28QmZBGbUebok8WehRF0c3veqRJwatbhRDCGPxrq7EwNeFmSgZXb6Xh42Jr7JCqBYNWNVpYWPDpp5+SkJBASEgIx48fJz4+no8//hhLS8tCz3V0dMTJSWqGVGQbQnJ7u7o2cKFTPWcUBX47ElnEWaIgl2+kcu1WGhamJnRtKNXqhRAVh5W5KS28cifVHw6TfRvLi0GJl0ajIT4+HhsbG/z8/PD398fGxob4+Pgiq6+/9dZbLFiwgLS0NIMCFmVLURTW3Um8BresxYj2uXXFfj8SIUuODbDzTm9Xh3pOsjpUCFHh5A03HpTEq9wYlHiNGDGCNWvW5Dv+22+/MWLEiELP/eijj9iyZQvu7u74+fnRunVrvYcwrlNRGq7cSMXK3IS+vh70be6Bg4050Zp09lyIM3Z4lU7e/K5eTWWYUQhR8eTV8zp8VRKv8mLQn+AHDx5kyZIl+Y53796dV199tdBzBw8ebMgtRTlZd2dSfZ9mHroemiGtavP9f2GsORQh85RKQJOWxZFrCYBUqxdCVExtvB0xUUF4fBqxSem425fN1n3i/wxKvDIyMnST6u+WlZXF7du3Cz134cKFhtxSlIPsHC1/nbgOwOOtaumOj2zvxff/hbHjXBxxSem4yRuzWHZfiCNHq9DIvQZeTrIwQQhR8dhZmdO0pj2nrydxKCyegS08jR1SlWfQUGO7du1Yvnx5vuNff/31fbfHuVtiYiLffvst8+bNIz4+t3vz2LFjREVFFXGmKEv/XrrJzZRMnG0t9CaCN3S3o423Izlahd+PyiT74tp5Lq+MhPQSCiEqrrx5XjLcWD4M6vF655136NWrFydOnKBnz54A7Nixg8OHD7N169ZCzz158iS9evVCrVZz9epVJkyYgJOTE+vWrePatWv89NNPhoQkSkFe7a6BLTwxN9XPyUe08+LotQR+PRzBC93qSz2qImTnaNl9/gYAvZrKMKMQouJq7+PEin1XOSQT7MuFQT1eXbp0Yf/+/Xh5efHbb7/x119/0aBBA06ePMlDDz1U6Lkvv/wyY8eO5eLFi1hZ/X/Iqn///gXu8SjKR0pGNltOxwAw+K5hxjwD/GtiZ2lGeHwa+6/cKu/wKp2j1xLQ3M7CwcacVnUcjR2OEELcV16P1/nYZDS3s4wcTdVnUOIF0LJlS3755RdOnz7NkSNH+P7772nYsKFem/fee4/ExES9Y4cPH+a5557Ld71atWoRExNjaDjiAW09HUN6lhYfF1ta1M6/WaqNhRmPtcod+199KLy8w6t0tp7JLSPRvZErptI7KISowFztLPFxsUVR4Og16fUqawYnXsWxaNEi3RyuPFZWVgXW+jp//jyurq5lGY4oRN5qxsdb1brvthEj2tUBYOvpWOJTM8sttsomR6uw8c4ihQH+MlFVCFHxtZd6XuWmTBOvgvbffuyxx3jzzTfJysrtzlSpVISHhzN37lyeeOKJsgxH3EdcUjr/XboJ5BZNvR/fWmp8a9mTmaNl7TGZZH8/+y7f5EZyBo425nRrJH9MCCEqvnZ59bwk8SpzZZp4FeTDDz/kxo0buLm5cfv2bbp160aDBg2ws7PjnXfeKe9wBLDxxHW0Sm49lzrOhZc9yOv1Wn0ovMDEWsC6Y7m9hwH+nliYlftbTAghSiyvx+tUlIb0rBwjR1O1lfseJvb29gQHB7Nz506OHTuGVquldevW9OrVq7xDEXfkDTMWNKn+Xo+19OSdv89y+UYqR68l0Lau7Lt5t7TMbIIKWaQghBAVkZeTNe72lsQmZXA8PJFO9Z2NHVKVZbTN4x555BEeeeQRY91e3HEhNpnT15MwM1ER4FezyPZ2VuYE+Nfk96ORrD4UIYnXPbadiSUtM4c6Tja0ruNg7HCEEKJYVCoV7eo6selkNIevxkviVYbKJfH67LPPmDhxIlZWVnz22WeFtp06dWp5hCTuyKvd1b2xG462FsU6Z0T7Ovx+NJK/T11nwcBmqK3NyzLESuXu3sP7LVIQQoiKqL3P/xMvUXbKNPF66KGHsLa25uOPP2b06NFYWVnx8ccf37e9SqWSxKscabUKG0LybxFUlNZ1HGjkXoMLsSlsDIkisFPdMoqwcrmRnMG/F3MXKZTk+ymEEBVBXj2vY9cSyM7RYmYqc1TLgkGJ17FjxzA3N8fPzw+ADRs28MMPP9CsWTNef/11LCxye042b94MQFhYmO7cu/9fGNfhq/FEJd7GztKMniWorq5SqRjRrg5vbjrD6kMRPNXRW3p3gE0nr5OjVWjp5YCPi62xwxFCiBJp7G6HvZUZSenZnIlOwr+2g7FDqpIMSmefe+45Lly4AMCVK1cYMWIENjY2/P7778yePbvY11EURVbGGdH6kNxhsf5+HliZm5bo3CGta2FhZsKZ6CRORWnKIrxK5+5aaEIIUdmYmKh0vV6yfVDZMSjxunDhAi1btgTg999/5+GHH2bVqlWsWLGCP//8s8jzv/vuO3x9fbGyssLKygpfX1++/fZbQ0IRBkrPymHTyWgAHm9Vu8TnO9hY0N/XA4DVhyJKNbbK6FJcCicjNZiaqAjwL3qRghBCVER59bwk8So7BiVeiqKg1WoB2L59O48++igAXl5e3Lx5s9Bz58+fz0svvcTAgQP5/fff+f333xk4cCDTp0/ntddeMyQcYYDd5+NITs+mptqKDj6GrUzMq+m1MSSK1Izs0gyv0tlwp/ewWyNXnGtYGjkaIYQwTF6P15FrCTIiVUYMmuPVtm1b3n77bXr16sWePXv46quvgNz5W+7u7oWe+9VXX/HNN98wcuRI3bFBgwbh7+/PlClTePvttw0JSZRQ3rDYYy1rYWLgXoId6zlR19mGq7fS2HTyOsPvJGLVjaIoJaqFJoQQFZVfLTVW5ibEp2Zy+UYKDdzsjB1SlWNQj9cnn3zCsWPHmDx5Mq+++ioNGjQA4I8//qBz586FnpuTk0Pbtm3zHW/Tpg3Z2dW716S8JKZlsvNcHPBg85FUKpUu2VpzuPoONx69lkBkwm1qWJrRu2nhf3gIIURFZmFmQksvBwAOhSUYN5gqyqDEy9/fn1OnTqHRaFi4cKHu+AcffMCPP/5Y6LlPPfWUrofsbsuXL2f06NGGhCNK6O9T0WTlKDStaU9jjwf7a+bJNrUxM1FxPDyR8zHJpRRh5bL2Tm9XP18PrC1KtkhBCCEqmrztg6SeV9kwaKgxIiIClUpF7dq5k7IPHTrEqlWraNasGRMnTszX/uWXX9b9v0ql4ttvv2Xr1q107NgRgAMHDhAREcGYMWMMCUeU0Hrd6jvPB76Wq50lvZq6E3Q6htWHwnl9UPMHvmZlkpGdw9+6RQoyzCiEqPxkgn3ZMqjHa9SoUezatQuAmJgYevfuzaFDh3jllVd4880387U/fvy47nHq1CnatGmDq6srly9f5vLly7i6utK6dWtOnz79YK9GFCkiPo3DVxNQqWBQi9JJFEa09wJy541Vt81Vd5+/geZ2Fu72lnSsJ1tsCCEqv9Z1HDE1URGVeJuoxNvGDqfKMajHKzQ0lPbt2wPw22+/4evry3///cfWrVt5/vnnWbBggV77vCRNGF/e6rvO9Z3xUFuVyjUfauhKLQdrohJvExQaU60mmK+/a5GCqYGLFIQQoiKxtTTD19OeE5EaDofFU6sa/U4vDwb1eGVlZWFpmbtkfvv27QwaNAiAJk2aEB0dXXrRiVKlt/quZem9kUxNVAxrm9vrtfpQeKldt6LT3M5ix9kHX6QghBAVTYc7PfjvB50jVIpklyqDEq/mzZvz9ddf8++//7Jt2zb69esHwPXr13F2luGWiio0KonLN1KxNDOh353ip6VlWLvamKjgYFg8V26klOq1K6p/TkWTmaOliYcdTWvaGzscIYQoNc929aGBWw2iNek8+fU+3VxW8eAMSrzef/99li1bRvfu3Rk5ciQtWrQAYOPGjbohSFHx5PV29WnugZ2Vealeu6bamu6Nc/d7/LWalJZYK7W7hBBVlJu9FWsndaZ7Y1fSs7S8uOoYn2y/gFYrRVUflEGJV/fu3bl58yY3b97k+++/1x2fOHEiX3/9dakFJ0pPdo6WjSeuA6WzmrEgI9rlDjf+eSySzGxtmdyjoohMSONQWPydRQpl8/0UQghjsrcy57un2/FsVx8APtl+kSmrj3M7s3otoiptBiVeAKampjg6Ouodq1u3Lm5ubg8clCh9wZducjMlAydbCx5q6Fom9+jRxA1XO0tupmRW+WXIG0Jyk9iOPs54OlgbORohhCgbpiYqXgtoxuIn/DE3VfH3qWiGLttHtEZWOxrK4MTrjz/+YNiwYXTs2JHWrVvrPUTFk7f6bqB/TcxNDf5nL5S5qYmupMKJyMQyuUdFcPcihcdbyzCjEKLqG9bOi1UTOuJka0FoVBKDlv7H8XCpbG8Igz6BP/vsM5555hnc3Nw4fvw47du3x9nZmStXrtC/f//SjlE8oNSMbLacjgXKfj5Si9pqAEIiEsv0PsZ0+noSl+JSymSRghBCVFTt6jqx4cUuNPGw40ZyBsOXH9D9US+Kz6DE68svv2T58uUsXboUCwsLZs+ezbZt25g6dSoajSw7rWi2nonhdlYOdZ1tdHtwlZUWd65/sgr3eOX1dvVq5o59KS9SEEKIiszLyYY/XuhMr6buZGZrmfZrCIuDzsmk+xIwKPEKDw/XbYZtbW1NcnLuHn2BgYGsXr269KITpcKlhiVdG7gwpHVtVKqyLfLZ3NMeUxMVsUkZxGjSy/RexqC3SKEUa6EJIURlUcPSjOWBbZjUvT4AX+6+zHM/HyUlI9vIkVUOBiVeHh4e3Lp1CwBvb28OHDgAQFhYGIpSsbLe7OxsXnvtNXx8fLC2tqZevXq8+eabaLX/X3WnKAqvv/46np6eWFtb071793zbF2VkZDBlyhRcXFywtbVl0KBBREZG6rVJSEggMDAQtVqNWq0mMDCQxMTE8niZhXqooSs/P9uBKY80KPN72ViY0dCtBlA153ntu3yLG8kZONqY83CjslmkIIQQFZ2JiYrZ/ZrwyfCWWJiZsO1MLE9+tY+I+DRjh1bhGZR4PfLII/z1118AjB8/nunTp9O7d2+GDx/O448/XqoBPqj333+fr7/+mqVLl3L27FkWL17MBx98wOeff65rs3jxYpYsWcLSpUs5fPgwHh4e9O7dW9eTBzBt2jTWrVvHmjVrCA4OJiUlhYCAAHJy/r+sdtSoUYSEhBAUFERQUBAhISEEBgaW6+stTFn3duXJG848UQXneekWKbTwxMKsbBYpCCFEZTG4VS3WTOyISw1LzsUk89gX/3H4atVe1f6gVIoBXVRarRatVouZWe5Wj7///jv//vsvDRo04IUXXsDcvOLMewkICMDd3Z3vvvtOd+yJJ57AxsaGlStXoigKnp6eTJs2jTlz5gC5vVvu7u68//77PPfcc2g0GlxdXVm5ciXDhw8Hcqv0e3l5sXnzZvr27cvZs2dp1qwZBw4coEOHDgAcOHCATp06ce7cORo3blxkrElJSajVajQaDfb2lbcS+qqD4byy7hRdG7jw87MdjB1OqUnLzKbt29tJy8xh7aTOtK7jWPRJQghRDVxPvM2En45w+noSlmYmfDm6NT2buhs7rHJTks9vg/5kNzExITs7m0OHDrFp0yYsLS3p1asXdevWJSgoyKCgy0rXrl3ZsWMHFy5cAODEiRMEBwfz6KOPArnDozExMfTp00d3jqWlJd26dWPfvn0AHD16lKysLL02np6e+Pr66trs378ftVqtS7oAOnbsiFqt1rW5V0ZGBklJSXqPqqCFV+7KxhORiVVqwuXW07GkZebg7WxDqzJepCCEEJWJp4M1vz/fiV5N3cjI1jJx5VFZ8XgfZoacFBQURGBgoG6e191UKpXe8JuxzZkzB41GQ5MmTTA1NSUnJ4d33nmHkSNHAhATEwOAu7t+Zu7u7s61a9d0bSwsLPIVjHV3d9edHxMTU2DxWDc3N12be7377ru88cYbD/YCK6BG7nZYmpmQnJ7N1Vup1HOtYeyQSsXdG4yX17CtEEJUFjYWZnz1VBtm/3GSdcejmPZrCEnpWYzpVNfYoVUoBvV4TZ48mWHDhhEdHa0bdsx7VKSkC+DXX3/l559/ZtWqVRw7dowff/yRDz/8kB9//FGv3b0fpIqiFPnhem+bgtoXdp158+ah0Wh0j4iIqrHHobmpCb61/t/rVRXcSM7g34s3ANmbUQgh7sfc1ISPhrZgbOe6ACzYcJrPd1yscAvvjMmgxCsuLo6XX345Xy9RRTRr1izmzp3LiBEj8PPzIzAwkOnTp/Puu+8CuSs0gXy9UnFxcbrX5+HhQWZmJgkJCYW2iY2NzXf/Gzdu3Pf7ZGlpib29vd6jqvC/U0j1RETVqOv214nraBVoVccBHxdbY4cjhBAVlomJioUDm/FSz4YAfLTtAm//fbZKTT15EAYlXk8++SS7d+8u5VDKRlpaGiYm+i/T1NRUV07Cx8cHDw8Ptm3bpns+MzOTPXv26GqVtWnTBnNzc7020dHRhIaG6tp06tQJjUbDoUOHdG0OHjyIRqPRtalOdCsbq0iP1/qQO1sESW+XEEIUSaVSMb13IxYENAPgu+AwZv95kuwcbRFnVn0GzfFaunQpQ4cO5d9//8XPzy/fKsapU6eWSnClYeDAgbzzzjvUqVOH5s2bc/z4cZYsWcK4ceOA3B+OadOmsWjRIho2bEjDhg1ZtGgRNjY2jBo1CgC1Ws348eOZMWMGzs7OODk5MXPmTPz8/OjVqxcATZs2pV+/fkyYMIFly5YBMHHiRAICAoq1orGq8a/tAORur5OVoy2z/SHLw6W4FE5GajAzUTHAr6axwxFCiEpjXFcf7K3NmfPnSf44GklyehafjmiFlbmpsUMzGoMSr1WrVrFlyxasra3ZvXt3vnlOFSnx+vzzz5k/fz6TJk0iLi4OT09PnnvuORYsWKBrM3v2bG7fvs2kSZNISEigQ4cObN26FTs7O12bjz/+GDMzM4YNG8bt27fp2bMnK1aswNT0/z88v/zyC1OnTtWtfhw0aBBLly4tvxdbgdR1tsHeyoyk9GzOxyTr5nxVRnkrc7o1csW5hqWRoxFCiMrlyTa1sbMyY8qq42w5Hcv4Hw+zLLAtNSwNSkEqPYPqeHl4eDB16lTmzp2bbxhPGK6q1PHKE/jdQf69eJN3HvdldAdvY4djkNSMbLp9sIubKZl8PrIVA1t4GjskIYSolPZdusmEn46QmplDCy8HVoxth6OthbHDKhVlXscrMzOT4cOHS9IlCtXiznBjZa5g/31wGDdTMqnrbEM/Xw9jhyOEEJVW5wYu/DKhIw425pyISGTYsv1Vck/fohiUOT399NP8+uuvpR2LqGLyVjaejKycKxsTUjNZvvcKAC/3aVyp56kJIURF0NLLgd+f64S7vSUX41J48ut9XL2ZauywypVBA6w5OTksXryYLVu24O/vn29y/ZIlS0olOFG55a1svBCbTFpmNjYWlWs8/6s9l0nOyKZZTXsCZFK9EEKUiobudvzxfGee+u4g126l8eTX+1k5vj1Na1b+KTbFYdCf8KdOnaJVq1aYmJgQGhrK8ePHdY+QkJBSDlFUVm72VnjYW6FVIDSqcm2HFK25zYp9VwGY1a8xJiZSqV4IIUqLl5MNvz/fiSYedtxMyWDE8gNcvpFi7LDKhUFdELt27SrtOEQV1cJLTczpdE5EJNLex8nY4RTbZzsukpmtpb2PE90buRo7HCGEqHLc7Kz49blOjPn+ECciEnn2xyOsm9QZB5uqMeH+fmTSiihTefW8QipRIdUrN1L47UgkAHP6NZZ9GYUQooyorc35dkxbajlYE3YzlRd+PkZWFS+yKomXKFN587xOVqLE66NtF8jRKvRq6kYb78rTSyeEEJWRq50l341ti62FKfuv3GLBhtAqvbejJF6iTOUVTo2Iv82tlAwjR1O00CgNf5+MRqWCmX2r344DQghhDE087PlsZCtUKlh9KILvgsOMHVKZkcRLlCm1tTn1XHM3lT4ZVfHLSizech6AwS1r0cSjeqywEUKIiqBnU3defbQp/K+9O4+Lslz/B/4ZlhkWYWQRBgQRNxQXVDBSUbQU6Yup6UlzQeiYSR5Rs1zzF5qJaEZ6yg2PYufkVgpK5a6Au6JCDoIiCm6A5AKDsjPX7w/iiYEBwXRmsOv9es3rxTzP/dz3fTHD/Vw82w1g6b5UHLt6X8s9ejk48WIvXfcm8iDVMzce4nja7zDQE+HjQR203R3GGPvbmeTljPd6OYIICN6WiKs5TeuO+IbgxIu9dE3hQapEhBUHrwIAxnm2QisrEy33iDHG/n5EIhG+GN4Fr7exxNPSCkzacgEPmsBlKo3BiRd76dz+uMD+tzt5OnvB5OGU+0i8nQdjQ31Me6OdtrvDGGN/W2IDPayf4A5na1PcyyvCh/+9gOKyCm1364XhxIu9dJ3szGGgJ8LDp6W4l1ek7e7UUqEkfPXHtV3/9GoNGzMjLfeIMcb+3pqbiLEpwAPmRga4dDsP83Zf1tl/3BuLEy/20hkZ6gtTQfx2R/dON+5JvIfruU8gNTbEh/3bars7jDHGALRp0QzrJrhDX0+EPUlZWBObru0uvRCceDGN+PM6rzztdqSGkvIKhB9OAwB8NKAtpMaGz9iCMcaYpvRtZ40vhncGAKw8lIZ98mwt9+iv48SLaUTVdV5JOnZn4/Zzt3Evrwi25hIE9G6t7e4wxhirYbynE97v2xoAMOvHJJ37B76xOPFiGuH2xyMlku/lo0KpG+fpn5aU49tjlYeup7/ZHsZifS33iDHGmDoL/VwxwKUFisuUmPzfC8jJL9Z2l54bJ15MI9rZNIOJWB9PSyt0Zgb6zScz8PBpKVpbmWC0h6O2u8MYY6wO+noifDu2BzrYNsN9RQk++G8CCkvLtd2t58KJF9MIfT2RMH2QLjxI9fHTUkQcvwkAmOXjAkN9/lNgjDFdZmZkiE0BvWBpKkbyPQVm7fwNSh05g9IYvLdhGlM1YfZvOnB+fl38DRSUlMPVzhxDu9ppuzuMMcYawNHSBBH+7hDr6+HAlRxsPtX05nTkxItpjK48wT47vwhbTmcCAGb7ukBPT6TV/jDGGGs4j9aWCBnmCgD46uA1ZDx4quUeNQ4nXkxjqi6wT81WoKRce08hXn3kOkrLlXjN2RIDOrTQWj8YY4w9n3GvtYJXO2uUlCsxZ1fTOuXIiRfTGAcLY1iailFWQUjNLtBKH278/gQ/XbwLAJjr6wKRiI92McZYUyMSiRA2qitMxfpIyHyM789kartLDcaJF9MYkUgENwftXmAffigNFUrCoE42cHey1EofGGOM/XUOFiaY/3+dAADLD1zFrYdN45QjJ15Mo7r9cbpRGxfY/3D2Fn6VZ0MkAj4d4qLx9hljjL1Y415rhd5trFBcpsScXZebxClHTryYRgl3Nmr4iNfhlPv4fG8yAGDmmx3QUWau0fYZY4y9eHp6Iqz4RzeYiPVxLuMRfjh3S9tdeiZOvJhGVd3ZePPBUyiKyzTSZuLtxwjefglKAsZ4OGL6m+000i5jjLGXz9HSBPPe6ggACNt/FXceFWq5R/XjxItplFUzCRwsjEEEJGvgsRKZD55i0vcXUFymxACXFvjynS58QT1jjL1iJng6wdPZEoWlFZi7+zKIdPeUIydeTOPchOu8Xm7i9fBJCQIiz+PR01J0aWmONeN68hPqGWPsFVR1ytHIUA+nbzzEtvO3td2lOvFeiGmcm+PLv7OxqLQC//z+Am49LISDhTE2B/aCqcTgpbXHGGNMu5ysTDFnSOUpx9BfU3H3sW6ecuTEi2lc1Z2Nl1/SnY3lFUoEb7+E3+7kobmJIb7/52uwMTN6KW0xxhjTHYF9WqNXaws8La3A/Ci5Tp5y5MSLaVzXllLoiYCs/GLkKopfaN1EhM9jruBIai4kBnrYFOCBti2avdA2GGOM6abKU45ukBjo4cT1B9iZcEfbXaqFEy+mcaYSA7SzqUyGXvR1XmvjbmDbudsQiYDV73Xnh6QyxtjfjLO1KWb/8azGpb+mIiuvSMs9UsWJF9MKt5dwujHq0l18dfAaACBkqCt8u9i9sLoZY4w1He/3dUbPVs1RUFKuc6ccOfFiWtHtjwepJr2gC+xPXn+AObsuAwA+7N8GgX2dX0i9jDHGmh79P045ig30EJ/2uzBHry7gxItpRXfhiFf+X/5PJCVLgaAfLqJcSRjazQ7zfDu+gB4yxhhrytrZNMMngzsAAJb8koKc/Bd7TfHz+lskXvfu3cOECRNgZWUFExMTdO/eHRcvXhTWExEWLVoEe3t7GBsbY8CAAbhy5YpKHSUlJQgODoa1tTVMTU0xbNgw3L2rmkE/fvwY/v7+kEqlkEql8Pf3R15eniZCbHJcZGYQ6+shv6gMtx4+/y2/9/KK8P6W83hSUg5PZ0t8PdoNenr8gFTGGGPAB/3awM2xOQqKy7EgWjdOOb7yidfjx4/Rt29fGBoaYv/+/UhJScHXX3+N5s2bC2VWrFiB8PBwfPfdd0hISIBMJsPgwYNRUFAglJk5cyaio6OxY8cOnDx5Ek+ePMHQoUNRUVEhlBk3bhySkpJw4MABHDhwAElJSfD399dkuE2G2EAPrvaV8yU+74TZ+YVlCNx8HvcVJWhv0wwR/h6QGOi/wF4yxhhryvT1RFj5j24Q6+vh2NVcRCfe03aXAHrFzZ07l7y8vOpcr1QqSSaTUVhYmLCsuLiYpFIprV+/noiI8vLyyNDQkHbs2CGUuXfvHunp6dGBAweIiCglJYUA0NmzZ4UyZ86cIQB09erVBvU1Pz+fAFB+fn6jYmyqQvYmk9PcX2hxzJVGb5tfVEqj158mp7m/UK8vD9Pdx4UvoYeMMcZeBWtir5PT3F+oa8gBup9f9MLrb8z++5U/4hUTEwMPDw+8++67sLGxQY8ePbBx40ZhfUZGBnJycuDj4yMsk0gk8Pb2xunTpwEAFy9eRFlZmUoZe3t7dOnSRShz5swZSKVSeHp6CmVef/11SKVSoUxNJSUlUCgUKq+/k6oJsxt7Z+PBKzkYHB6PcxmP0ExigC3vv4aWzY1fQg8ZY4y9Cj7s1wbdHKRQFJdjQXSyVk85vvKJ182bN7Fu3Tq0b98eBw8eRFBQEKZPn47//ve/AICcnBwAgK2trcp2tra2wrqcnByIxWJYWFjUW8bGxqZW+zY2NkKZmpYtWyZcDyaVSuHo6PjXgm1i3P64szE5Kx/lFcpnls/JL8aU/13AlP9dxH1FCZysTPD9P18TTlkyxhhj6hjo6+Grf7jBupkEb3WRabcvWm1dA5RKJTw8PBAaGgoA6NGjB65cuYJ169Zh4sSJQjmRSPWCbCKqtaymmmXUla+vnvnz52PWrFnCe4VC8bdKvpytTGEmMUBBSTnS7j+pM4FSKglbz9/Giv1XUVBSDgM9ET7s3wbT32wPI0O+posxxtizucjMcHLuQK3vN175I152dnZwdXVVWdapUyfcvl05c7lMVpn51jwqlZubKxwFk8lkKC0txePHj+stc//+/Vrt//7777WOplWRSCQwNzdXef2d6OmJ0K1qwuw6Tjem3S/AuxvO4P/tSUZBSTncHJvj52AvzPHtqPU/HsYYY02LLuw3XvnEq2/fvrh27ZrKsrS0NDg5OQEAnJ2dIZPJcPjwYWF9aWkp4uPj0adPHwCAu7s7DA0NVcpkZ2cjOTlZKNO7d2/k5+fj/PnzQplz584hPz9fKMNqq2vC7OKyCoQfuga/f5/AxVuPYSrWx6K3XRH1UR90svt7JaiMMcZeHa/8qcaPP/4Yffr0QWhoKEaPHo3z588jIiICERERACpPD86cOROhoaFo37492rdvj9DQUJiYmGDcuHEAAKlUikmTJuGTTz6BlZUVLC0t8emnn6Jr164YNGgQgMqjaL6+vpg8eTI2bNgAAPjwww8xdOhQuLi4aCf4JqBq6qCkO3/O2Xj25kMsiJbj5u9PAQCDOtngi+FdYM8X0DPGGGviXvnEq1evXoiOjsb8+fPxxRdfwNnZGatWrcL48eOFMnPmzEFRURGmTp2Kx48fw9PTE4cOHYKZmZlQ5ptvvoGBgQFGjx6NoqIivPnmm9iyZQv09f88bLl161ZMnz5duPtx2LBh+O677zQXbBPk9sepxrT7BcjJL8aqI2nY8cds8i3MJFg8rDPe6iJ75vV2jDHGWFMgIm3eU8lUKBQKSKVS5Ofn/22u9yIieIYeRW5BCUzE+igsrXwg7TjPVpjr2xFSY0Mt95AxxhirX2P236/8ES+m20QiEbo5NMeR1PsoLK1A2xamWDayG15zttR21xhjjLEXjhMvpnWjPRyQkpWPdz0cMXVgW572hzHG2CuLEy+mdT6dZfDprN0H2jHGGGOa8Mo/ToIxxhhjTFdw4sUYY4wxpiGceDHGGGOMaQgnXowxxhhjGsKJF2OMMcaYhnDixRhjjDGmIZx4McYYY4xpCCdejDHGGGMawokXY4wxxpiGcOLFGGOMMaYhnHgxxhhjjGkIJ16MMcYYYxrCiRdjjDHGmIZw4sUYY4wxpiEG2u4A+xMRAQAUCoWWe8IYY4yxhqrab1ftx+vDiZcOKSgoAAA4OjpquSeMMcYYa6yCggJIpdJ6y4ioIekZ0wilUomsrCyYmZlBJBK90LoVCgUcHR1x584dmJubv9C6tYVjaho4pqaBY2oaOCbdREQoKCiAvb099PTqv4qLj3jpED09PTg4OLzUNszNzZvsF7suHFPTwDE1DRxT08Ax6Z5nHemqwhfXM8YYY4xpCCdejDHGGGMawonX34REIkFISAgkEom2u/LCcExNA8fUNHBMTQPH1PTxxfWMMcYYYxrCR7wYY4wxxjSEEy/GGGOMMQ3hxIsxxhhjTEM48WKMMcYY0xBOvHRIYGAgRCIRRCIRDA0NYWtri8GDB2Pz5s1QKpUvrd1Hjx4hODgYLi4uMDExQatWrTB9+nTk5+cLZTIzMzFp0iQ4OzvD2NgYbdu2RUhICEpLS5+73bVr18LZ2RlGRkZwd3fHiRMn1JabMmUKRCIRVq1a9cw65XI5vL29YWxsjJYtW+KLL76oNXdWfHw83N3dYWRkhDZt2mD9+vXPHUNN9cX05MkTTJs2DQ4ODjA2NkanTp2wbt06nY3p+PHjePvtt2Fvbw+RSIQ9e/YI68rKyjB37lx07doVpqamsLe3x8SJE5GVlaWz8TwrpiqpqakYNmwYpFIpzMzM8Prrr+P27ds6G9OyZcvQq1cvmJmZwcbGBiNGjMC1a9dUyhARFi1aBHt7exgbG2PAgAG4cuXKM+vWVFy6PPYBwLBhw9CqVSsYGRnBzs4O/v7+Dfquq8Pjnm6PexpBTGcEBASQr68vZWdn0927d+nixYu0dOlSatasGb311ltUVlb2UtqVy+U0cuRIiomJofT0dDp69Ci1b9+eRo0aJZTZv38/BQYG0sGDB+nGjRu0d+9esrGxoU8++eS52tyxYwcZGhrSxo0bKSUlhWbMmEGmpqZ069YtlXLR0dHk5uZG9vb29M0339RbZ35+Ptna2tJ7771Hcrmcdu/eTWZmZrRy5UqhzM2bN8nExIRmzJhBKSkptHHjRjI0NKRdu3Y9VxyNiemDDz6gtm3bUmxsLGVkZNCGDRtIX1+f9uzZo5Mx7du3jz777DPavXs3AaDo6GhhXV5eHg0aNIh27txJV69epTNnzpCnpye5u7vXW6e2P6P6YiIiSk9PJ0tLS5o9ezZdunSJbty4Qb/88gvdv39fZ2MaMmQIRUZGUnJyMiUlJZGfnx+1atWKnjx5IpQJCwsjMzMz2r17N8nlchozZgzZ2dmRQqHQibh0eewjIgoPD6czZ85QZmYmnTp1inr37k29e/dudHs87un+uKcJnHjpkICAABo+fHit5UePHiUAtHHjRiKq3OlNnjyZWrRoQWZmZjRw4EBKSkpS2Wbv3r3k7u5OEomErKys6J133mlUX3788UcSi8X1DngrVqwgZ2fnRtVb5bXXXqOgoCCVZR07dqR58+YJ7+/evUstW7ak5ORkcnJyeuYAtHbtWpJKpVRcXCwsW7ZsGdnb25NSqSQiojlz5lDHjh1VtpsyZQq9/vrrzxVHdc+KqXPnzvTFF1+orO/ZsyctXLiwzjq1HVMVdUlKTefPnycAtXYi1elKPETqYxozZgxNmDChUfXoUkxERLm5uQSA4uPjiYhIqVSSTCajsLAwoUxxcTFJpVJav359nfVoMq6mNvbt3buXRCIRlZaWNqpuHvcqNZVx72XhU41NwBtvvAE3NzdERUWBiODn54ecnBzs27cPFy9eRM+ePfHmm2/i0aNHAIBff/0VI0eOhJ+fHxITE3H06FF4eHg0qs38/HyYm5vDwKDu6Tzz8/NhaWnZ6HhKS0tx8eJF+Pj4qCz38fHB6dOnAVROGO7v74/Zs2ejc+fOausJDAzEgAEDhPdnzpyBt7e3ykP4hgwZgqysLGRmZgplarY7ZMgQXLhwAWVlZY2OpTExeXl5ISYmBvfu3QMRITY2FmlpaRgyZIhOxtRY+fn5EIlEaN68ubCsKcWjVCrx66+/okOHDhgyZAhsbGzg6elZ63SkrsdUdZqs6m8zIyMDOTk5Ku1LJBJ4e3sL301djUsXx75Hjx5h69at6NOnDwwNDRtcL497r+a49zw48WoiOnbsiMzMTMTGxkIul+Onn36Ch4cH2rdvj5UrV6J58+bYtWsXAGDp0qV47733sHjxYnTq1Alubm5YsGBBg9t6+PAhlixZgilTptRZ5saNG/j2228RFBTU6FgePHiAiooK2Nraqiy3tbVFTk4OAGD58uUwMDDA9OnT66zHzs4OrVq1Et7n5OSorbNqXX1lysvL8eDBg0bH0piY/v3vf8PV1RUODg4Qi8Xw9fXF2rVr4eXlpZMxNUZxcTHmzZuHcePGqUxy25Tiyc3NxZMnTxAWFgZfX18cOnQI77zzDkaOHIn4+HihnC7HRESYNWsWvLy80KVLF5U+1PfdBHQ3Ll0Z++bOnQtTU1NYWVnh9u3b2Lt3b6Pi4HHv1Rv3nlfdhzOYTiEiiEQiXLx4EU+ePIGVlZXK+qKiIty4cQMAkJSUhMmTJ6utJzQ0FKGhocL7lJQUlS+8QqGAn58fXF1dERISoraOrKws+Pr64t1338UHH3zw3DGJRCKV99VjXL16NS5dulSrTHXLli1rUJ01lzekzPOqKyagcgA6e/YsYmJi4OTkhOPHj2Pq1Kmws7PDoEGDAOhmTM9SVlaG9957D0qlEmvXrlVZ15TiqbqIe/jw4fj4448BAN27d8fp06exfv16eHt7A9DtmKZNm4bLly/j5MmTDepj9WW6GpeujH2zZ8/GpEmTcOvWLSxevBgTJ07EL7/80ug4edx7Nca9v4ITryYiNTUVzs7OUCqVsLOzQ1xcXK0yVad4jI2N66wnKCgIo0ePFt7b29sLPxcUFMDX1xfNmjVDdHS02sPoWVlZGDhwIHr37o2IiIjnisXa2hr6+voq/20DlUccbG1tceLECeTm5qoMihUVFfjkk0+watUq4VBzTTKZTG2dwJ//LdVVxsDAoNaA/iJjKioqwoIFCxAdHQ0/Pz8AQLdu3ZCUlISVK1cKA5AuxdQQZWVlGD16NDIyMnDs2DGVo13q6HI81tbWMDAwgKurq8ryTp06qU1kquhKTMHBwYiJicHx48fh4OCg0j+g8giBnZ2dSvs1jxhUpytx6crYZ21tDWtra3To0AGdOnWCo6Mjzp49i969ezcoDh73Xp1x76/iU41NwLFjxyCXyzFq1Cj07NkTOTk5MDAwQLt27VRe1tbWACq/2EePHlVbl6Wlpco2VdcxKBQK+Pj4QCwWIyYmBkZGRrW2vXfvHgYMGICePXsiMjISenrP9/URi8Vwd3fH4cOHVZYfPnwYffr0gb+/Py5fvoykpCThZW9vj9mzZ+PgwYN11tu7d28cP35c5REXhw4dgr29PVq3bi2UqdnuoUOH4OHh0ajrNRobU1lZGcrKymr9zvT19eu9XV6bMT1LVdJ1/fp1HDlypEGDnS7HIxaL0atXr1qPYkhLS4OTk1Od22k7JiLCtGnTEBUVhWPHjsHZ2VllvbOzM2QymUr7paWliI+PR58+fXQ2LkB3xr6aqo6slJSUNDgWHvf+1JTHvRdCM9fws4ao75bqoUOHUnl5OSmVSvLy8iI3Nzc6cOAAZWRk0KlTp+izzz6jhIQEIiKKjY0lPT09+vzzzyklJYUuX75My5cvr7NdhUJBnp6e1LVrV0pPT6fs7GzhVV5eTkRE9+7do3bt2tEbb7xBd+/eVSnzPKpuQd60aROlpKTQzJkzydTUlDIzM9WWV3d3z7x588jf3194n5eXR7a2tjR27FiSy+UUFRVF5ubmam9B/vjjjyklJYU2bdr0wm+rrismb29v6ty5M8XGxtLNmzcpMjKSjIyMaO3atToZU0FBASUmJlJiYiIBoPDwcEpMTKRbt25RWVkZDRs2jBwcHCgpKUnl+1BSUqKT8TwrJiKiqKgoMjQ0pIiICLp+/Tp9++23pK+vTydOnNDZmD766COSSqUUFxen8jkUFhYKZcLCwkgqlVJUVBTJ5XIaO3ZsrcdJaDMuXR77zp07R99++y0lJiZSZmYmHTt2jLy8vKht27Yqd901BI97uj/uaQInXjokICCAABAAMjAwoBYtWtCgQYNo8+bNVFFRIZRTKBQUHBxM9vb2ZGhoSI6OjjR+/Hi6ffu2UGb37t3UvXt3EovFZG1tTSNHjqyz3djYWKHdmq+MjAwiIoqMjKyzzPNas2YNOTk5kVgspp49ewq3v6ujbgAKCAggb29vlWWXL1+mfv36kUQiIZlMRosWLRJuP64SFxdHPXr0ILFYTK1bt6Z169Y9dww11RdTdnY2BQYGkr29PRkZGZGLiwt9/fXXKv3TpZjq+l4EBARQRkZGnd+H2NhYnYznWTFV2bRpE7Vr146MjIzIzc2t1vOGdC2muj6HyMhIoYxSqaSQkBCSyWQkkUiof//+JJfLdSYuXR77Ll++TAMHDiRLS0uSSCTUunVrCgoKort37zY6TiIe93R93NMEEVGNR8EyxhhjjLGXgq/xYowxxhjTEE68GGOMMcY0hBMvxhhjjDEN4cSLMcYYY0xDOPFijDHGGNMQTrwYY4wxxjSEEy/GGGOMMQ3hxIsx9rfXunVrrFq1SittL1q0CLa2thCJRNizZ49W+sBefcuWLUOvXr1gZmYGGxsbjBgxotb0WESERYsWwd7eHsbGxhgwYACuXLkirH/06BGCg4Ph4uICExMTtGrVCtOnT0d+fr5KPUuXLkWfPn1gYmIizKP5LHFxcRCJRBCJRNDT04NUKkWPHj0wZ84cZGdn/+X4n2Xjxo3o168fLCwsYGFhgUGDBuH8+fMqZdatW4du3brB3Nwc5ubm6N27N/bv39/otjjxYqwJCgwMFAap6q/09HShzJ07dzBp0iTY29tDLBbDyckJM2bMwMOHD1XqGjBggLC9WCxG27ZtMX/+/Frz0KlrTyQSYceOHUIZIkJERAQ8PT3RrFkzNG/eHB4eHli1ahUKCwtV6rt79y7EYjE6duyoNsbY2FgMHDgQlpaWMDExQfv27REQEIDy8vI646/+UmfLli1qdwQJCQn48MMP6/2dvwypqalYvHgxNmzYgOzsbLz11lsa70NNuraDnjFjBtzd3SGRSNC9e/da6+Pi4jB8+HDY2dnB1NQU3bt3x9atW1XKREVFYfDgwWjRooWww6w5/2FDdrxNWXx8PP71r3/h7NmzOHz4MMrLy+Hj44OnT58KZVasWIHw8HB89913SEhIgEwmw+DBg1FQUAAAyMrKQlZWFlauXAm5XI4tW7bgwIEDmDRpkkpbpaWlePfdd/HRRx81up/Xrl1DVlYWEhISMHfuXBw5cgRdunSBXC7/a7+AZ4iLi8PYsWMRGxuLM2fOoFWrVvDx8cG9e/eEMg4ODggLC8OFCxdw4cIFvPHGGxg+fLjKd79BtPrcfMbYc6k+t526+eVu3LhBNjY25OXlRXFxcXTr1i3at28fde7cmdq3b08PHz4U6vL29qbJkydTdnY23bp1i3bt2kVmZmY0b948lTbxxzQ0NdssKioSyowfP56MjY1p6dKldP78ecrIyKA9e/bQgAEDKDo6WqW+JUuW0Pjx48nR0ZFOnjypsi45OZkkEgnNnj2b5HI5paen0/79+2nSpElUUlJCeXl5Kn1Q1zd1IiMjSSqV/oXf/Iv1888/E4BaU6FUV33uS00YMmQIRUZGUnJyMiUlJZGfnx+1atWKnjx5IpQJCwsjMzMz2r17N8nlchozZozK3I9yuZxGjhxJMTExlJ6eTkePHqX27dvTqFGjVNr6/PPPKTw8nGbNmlXn5xIcHEzfffcd+fv7k5ubW631S5cupYULF9KpU6coPT2dVq9eTXp6ehQTEyOUmTFjBi1fvpzOnz9PaWlpNH/+fDI0NKRLly4JZcaNG0dr1qyhxMRESk1Npffff5+kUulzTw2k63JzcwmAML2PUqkkmUxGYWFhQpni4mKSSqW0fv36Ouv58ccfSSwWU1lZWa11jfl7q5q+6fHjxyrLCwsLycXFhfr27auyfPPmzdSxY0eSSCTk4uJCa9asUVl/584dGjNmDFlYWJCJiQm5u7vT2bNnG9QXIqLy8nIyMzOj77//vt5yFhYW9J///KfB9RLxXI2MNUkBAQE0fPjwOtf7+vqSg4ODykTJRJXzppmYmFBQUJCwzNvbm2bMmKFSbuTIkdSzZ0+VZQBqJU/V7dy5kwDUmtuQqHJQz8vLU3nfpk0bOnDgAM2dO5fef/99lfLffPMNtW7dus62anpW34jUz8sXEhJCRLXnxANA69evJz8/PzI2NqaOHTvS6dOn6fr16+Tt7U0mJib0+uuvU3p6ukobMTEx1LNnT5JIJOTs7EyLFi1Su0MiIgoJCVE772nVZxsaGkp2dnbk5ORERH/OGWhkZESWlpY0efJkKigoEOqr2m7p0qVkY2NDUqlUaP/TTz8lCwsLatmyJW3atKnBv1ci3dlBh4SEqE281Pm///u/Wt+pmlxdXWnx4sV1rm/ojrepun79OgEQ5uy8ceMGAVBJRomIhg0bRhMnTqyzno0bN5K1tbXadS8i8SKqHA8A0P3794mIKCIiguzs7Gj37t108+ZN2r17N1laWtKWLVuIiKigoIDatGlD/fr1oxMnTtD169dp586ddPr06Qb1hahyXlAjIyP6+eef1a4vLy+n7du3k1gspitXrjS4XiIiPtXI2Cvm0aNHOHjwIKZOnQpjY2OVdTKZDOPHj8fOnTtBdUzT+ttvv+HUqVMwNDRsVLtbt26Fi4sLhg8fXmudSCSCVCoV3sfGxqKwsBCDBg2Cv78/fvzxR+F0RlU/s7Ozcfz48Ub1oT59+vTBqlWrYG5ujuzsbGRnZ+PTTz+ts/ySJUswceJEJCUloWPHjhg3bhymTJmC+fPn48KFCwCAadOmCeUPHjyICRMmYPr06UhJScGGDRuwZcsWLF26VG39n376KSIjIwFA6E+Vo0ePIjU1FYcPH8Yvv/yCwsJC+Pr6wsLCAgkJCfjpp59w5MgRlfYB4NixY8jKysLx48cRHh6ORYsWYejQobCwsMC5c+cQFBSEoKAg3Llzp8G/t6rTg5aWlgCAjIwM5OTkwMfHRygjkUjg7e2N06dP11uPubk5DAwMGtz288rPzxf6q45SqURBQUG9ZQoLC1FWVlZvmaaKiDBr1ix4eXmhS5cuAICcnBwAgK2trUpZW1tbYV1NDx8+xJIlSzBlypSX2t+qyxEyMzMBVP5tfv311xg5ciScnZ0xcuRIfPzxx9iwYQMAYNu2bfj999+xZ88eeHl5oV27dhg9ejR69+7d4DbnzZuHli1bYtCgQSrL5XI5mjVrBolEgqCgIERHR8PV1bVxATUqTWOM6YSAgADS19cnU1NT4fWPf/yDiIjOnj1b7xGg8PBwlf8evb29ydDQkExNTUksFhMA0tPTo127dqlsB4CMjIxU2jQ1NaUbN24QEVGnTp1o2LBhDer/uHHjaObMmcJ7Nzc32rhxo/C+vLycAgMDCQDJZDIaMWIEffvtt5Sfn6+2vvrira6u/8DVHfFauHCh8P7MmTMEQOVo0fbt28nIyEh4369fPwoNDVWp93//+x/Z2dnV2Z/o6GiqOQwHBASQra2tyinGiIgIsrCwUDnd9+uvv5Kenh7l5OQI2zk5OVFFRYVQxsXFhfr16ye8Ly8vJ1NTU9q+fXudfapOqVTS22+/TV5eXsKyU6dOEQC6d++eStnJkyeTj4+P2noePHhArVq1os8++0zt+hd5xOunn34isVhMycnJdZZZsWIFWVpaCn8D6kydOpXatm2rcir9VTF16lRycnKiO3fuCMuqPtesrCyVsh988AENGTKkVh35+fnk6elJvr6+VFpaqraduj5XV1dXYfzw9fUlovqPeO3bt48A0Pnz54UjsMbGxirjkEQiIRsbGyIi+uijj6h///5q+3Tr1i2V7ZYuXVqrzPLly8nCwoJ+++23WutKSkro+vXrlJCQQPPmzSNra+tGH/F6+f96MMZeioEDB2LdunXCe1NT0wZtR38c6ap+Afr48ePx2WefQaFQYPny5TA3N8eoUaNqbfvNN9/U+g/Q0dFRqLeui9qry8vLQ1RUFE6ePCksmzBhAjZv3owPPvgAAKCvr4/IyEh8+eWXOHbsGM6ePYulS5di+fLlOH/+POzs7BoU61/RrVs34eeqowBdu3ZVWVZcXAyFQgFzc3NcvHgRCQkJKke4KioqUFxcjMLCQpiYmDS47a5du0IsFgvvU1NT4ebmpvIZ9+3bF0qlEteuXRP617lzZ+jp/Xkiw9bWVjiiAVT+Xq2srJCbm9ugfkybNg2XL19W+ayq1Pys6/r8FQoF/Pz84OrqipCQkAa1+7zi4uIQGBiIjRs3onPnzmrLbN++HYsWLcLevXthY2OjtsyKFSuwfft2xMXFwcjI6GV2WeOCg4MRExOD48ePw8HBQVguk8kAVB75qv73lZubW+soWEFBAXx9fdGsWTNER0c3+uj4vn37UFZWBgC1jsqrk5qaCqDy7mOlUgmg8mYIT09PlXL6+vrPrNPe3h5JSUnC+5pHNFeuXInQ0FAcOXJEZQyoIhaL0a5dOwCAh4cHEhISsHr1auFoW0Nw4sVYE2VqaioMANW1a9cOIpEIKSkpGDFiRK31V69ehYWFBaytrYVlUqlUqOuHH35A586dsWnTplp3K8lkMrVtAkCHDh2EAbI+27ZtQ3FxscqgSURQKpVISUlROWzfsmVL+Pv7w9/fH19++SU6dOiA9evXY/Hixc9s56+qvjOpSijULavaESiVSixevBgjR46sVVdjd941k+j6ktrqy2vuAEUikdplVX2ujy7soBsjPj4eb7/9NsLDwzFx4kS1ZXbu3IlJkybhp59+qvUPRJVn7XibKiJCcHAwoqOjERcXB2dnZ5X1zs7OkMlkOHz4MHr06AGg8u7E+Ph4LF++XCinUCgwZMgQSCQSxMTEPFdi6uTk1OCyRUVFiIiIQP/+/dGiRQsAlePCzZs3MX78eLXbdOvWDf/5z3/w6NGjWomVgYFBnWPYV199hS+//BIHDx6Eh4dHg/pHRLXuAH8WvsaLsVeMlZUVBg8ejLVr16KoqEhlXU5ODrZu3YoxY8bUuSM3NDTEggULsHDhwlqPgKjPuHHjkJaWhr1799ZaR0TCtUKbNm3CJ598gqSkJOH122+/YeDAgdi8eXOd9VtYWMDOzk7l9vfGEovFqKioeO7t69OzZ09cu3YN7dq1q/WqfhTqebi6uiIpKUkl9lOnTkFPTw8dOnT4q11XQUSYNm0aoqKicOzYsXp30FWqdtB9+vQRlikUCvj4+EAsFj/3Drqh4uLi4Ofnh7CwsDofC7J9+3YEBgZi27Zt8PPzU1vmq6++wpIlS3DgwIEG73ibin/961/44YcfsG3bNpiZmSEnJwc5OTnCGCESiTBz5kyEhoYiOjoaycnJCAwMhImJCcaNGwegMpGuegTFpk2boFAohHqq/13dvn0bSUlJuH37NioqKoS/8ydPnjyzn7m5ucjJycH169exY8cO9O3bFw8ePFA5ur9o0SIsW7YMq1evRlpaGuRyOSIjIxEeHg4AGDt2LGQyGUaMGIFTp07h5s2b2L17N86cOVNnuytWrMDChQuxefNmtG7dWoirep8XLFiAEydOIDMzE3K5HJ999hni4uLqTADr1KgTk4wxnfCsuxrT0tLI2tqa+vXrR/Hx8XT79m3av38/denSRe3jJGre1VhSUkJ2dnb01VdfCctQx+Mkqq47UiqVNGbMGDI2NqbQ0FBKSEigzMxM+vnnn+mNN96g6OhoSkxMJACUmppaq88RERHUokULKi0tpfXr11NQUBAdPHiQ0tPTKTk5mebMmUN6enoUFxdXa1s08BqvqutYjhw5Qr///js9ffqUiNRf41W9voyMDAJAiYmJwrKa16QcOHCADAwMKCQkhJKTkyklJYV27NhR53VNRHVf41Xzs3369CnZ2dnRqFGjSC6X07Fjx6hNmzYUEBBQ73bqPtuasdb00UcfkVQqpbi4OJXPufodsmFhYSSVSikqKorkcjmNHTtW5XESCoWCPD09qWvXrpSenq72kSdEldfbJCYm0uLFi6lZs2aUmJhIiYmJKndrXr9+nRITE2nKlCnUoUMHoUzVNXCxsbFkYmJC8+fPV2mn+nd827ZtZGBgQGvWrFEpU/1O2+XLl5NYLKZdu3aplKnel6YMNe6grXpFRkYKZZRKJYWEhJBMJiOJREL9+/cX7nokUn9ncNUrIyNDKBcQEKC2TGxsbJ39q163SCQiMzMzcnNzo9mzZ6t9PMzWrVupe/fuJBaLycLCgvr3709RUVHC+szMTBo1ahSZm5uTiYkJeXh40Llz5+ps38nJSW2fq+58JiL65z//SU5OTiQWi6lFixb05ptv0qFDh+r/xavBiRdjTdCzEi+iyoEnMDCQZDIZGRoakqOjIwUHB9ODBw9UyqnbORNVPh+pRYsWwo6nrgF32bJlwjYVFRW0bt066tWrF5mYmJC5uTm5u7vT6tWrqbCwkKZNm0aurq5q+5ubm0v6+vq0e/duunTpEk2YMIGcnZ1JIpGQlZUV9e/fX+XZTNU1NPEiIgoKCiIrK6tnPk6isYkXUWXy1adPHzI2NiZzc3N67bXXKCIios6+NDTxImr44ySqe57ES9d20N7e3vXWU1cd3t7ez6yjeuLakB0vYy+CiKiOe8oZY4wxxtgLxdd4McYYY4xpCCdejDHGGGMawokXY4wxxpiGcOLFGGOMMaYhnHgxxhhjjGkIJ16MMcYYYxrCiRdjjDHGmIZw4sUYY4wxpiGceDHGGGOMaQgnXowxxhhjGsKJF2OMMcaYhnDixRhjjDGmIf8fygnTBUrb0noAAAAASUVORK5CYII=", "text/plain": [ "
    " ] @@ -10402,7 +12583,7 @@ } ], "source": [ - "tas_masked.sel(lat=60., lon=10.75, method='nearest').plot()" + "cams_masked.sel(lat=60., lon=10.75, method='nearest').plot()" ] }, { @@ -10419,7 +12600,7 @@ }, { "cell_type": "code", - "execution_count": 42, + "execution_count": 52, "id": "7f1d1630", "metadata": { "collapsed": false, @@ -10429,7 +12610,7 @@ }, "outputs": [], "source": [ - "tas_masked.to_netcdf('tas_Nordic_masked.nc')" + "cams_masked.to_netcdf('cams_Nordic_masked.nc')" ] }, { @@ -10447,7 +12628,7 @@ }, { "cell_type": "code", - "execution_count": 43, + "execution_count": 53, "id": "bb83939f", "metadata": { "collapsed": false, @@ -10457,9 +12638,9 @@ }, "outputs": [], "source": [ - "tas_masked.to_netcdf('tas_Nordic_mcs.nc',\n", + "cams_masked.to_netcdf('cams_Nordic_mcs.nc',\n", " engine='netcdf4',\n", - " encoding={'tas':{\"dtype\": np.float32,\n", + " encoding={'pm2p5_conc':{\"dtype\": np.float32,\n", " 'zlib': True, 'complevel':4}\n", " }\n", " )" @@ -10544,7 +12725,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.13" + "version": "3.11.7" } }, "nbformat": 4, diff --git a/docs/references.bib b/docs/references.bib index bb2fe06..3e472ce 100644 --- a/docs/references.bib +++ b/docs/references.bib @@ -296,3 +296,15 @@ @misc{c-intake-esm year = {2022}, copyright = {Open Access} } + +@misc{cmcrameri-crameri2018, + doi = {10.5281/ZENODO.1243862}, + url = {https://zenodo.org/record/1243862}, + author = {Crameri, Fabio}, + keywords = {scientific colour maps, scientific colormap, batlow, scientific colourmap, colormap, perceptually uniform, colour vision deficiency, color map, colour palettes, colour schemes, color gradient, color palette, color scheme, CVD, visualisation, scientific visualisation, color perception, data representation, visualization}, + language = {en}, + title = {Scientific colour maps}, + publisher = {Zenodo}, + year = {2023}, + copyright = {MIT License} +}