{ "cells": [ { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [ "# Utils\n", "Utility functions for PyrNet" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "ExecuteTime": { "end_time": "2024-02-14T13:46:59.723941300Z", "start_time": "2024-02-14T13:46:58.937386200Z" }, "collapsed": false, "tags": [ "remove-cell" ] }, "outputs": [], "source": [ "#|hide\n", "#|default_exp utils" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "ExecuteTime": { "end_time": "2024-02-14T13:47:00.451536500Z", "start_time": "2024-02-14T13:46:58.953548500Z" }, "collapsed": false }, "outputs": [], "source": [ "#|export\n", "from numpy.typing import ArrayLike, NDArray\n", "import numpy as np\n", "from scipy.signal.windows import gaussian\n", "import jstyleson as json\n", "from addict import Dict as adict\n", "from operator import itemgetter\n", "from toolz import keyfilter\n", "import pyproj\n", "\n", "# python -m pip install git+https://github.com/hdeneke/trosat-base.git#egg=trosat-base\n", "import trosat.sunpos as sp" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "ExecuteTime": { "end_time": "2024-02-14T13:47:02.243576200Z", "start_time": "2024-02-14T13:47:00.453931Z" }, "collapsed": false }, "outputs": [], "source": [ "# extra imports for demonstration\n", "import sys,os\n", "import pandas as pd\n", "import matplotlib.pyplot as plt\n", "import datetime as dt\n", "#import pkg_resources as pkg_res\n", "import importlib.resources\n", "\n", "import pyrnet" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [ "## Representation of Time\n", "Unifying various representations of time to numpy.datetime64 comes in handy when handling user inputs." ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "ExecuteTime": { "end_time": "2024-02-14T13:47:02.275256Z", "start_time": "2024-02-14T13:47:02.247565700Z" }, "collapsed": false }, "outputs": [], "source": [ "#|export\n", "EPOCH_JD_2000_0 = np.datetime64(\"2000-01-01T12:00\")\n", "def to_datetime64(time, epoch=EPOCH_JD_2000_0):\n", " \"\"\"\n", " Convert various representations of time to datetime64.\n", "\n", " Parameters\n", " ----------\n", " time : list, ndarray, or scalar of type float, datetime or datetime64\n", " A representation of time. If float, interpreted as Julian date.\n", " epoch : np.datetime64, default JD2000.0\n", " The epoch to use for the calculation\n", "\n", " Returns\n", " -------\n", " datetime64 or ndarray of datetime64\n", " \"\"\"\n", " jd = sp.to_julday(time, epoch=epoch)\n", " jdms = np.int64(86_400_000*jd)\n", " return epoch + jdms.astype('timedelta64[ms]')" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "ExecuteTime": { "end_time": "2024-02-14T13:47:02.276253800Z", "start_time": "2024-02-14T13:47:02.262884200Z" }, "collapsed": false }, "outputs": [], "source": [ "# testing to_datetime64\n", "date_jd = 5203.5 # 2014-04-01T00:00\n", "date_dt = dt.datetime(2014,4,1,12,10)\n", "date_pd = pd.date_range(\"2014-04-01\",\"2014-04-03\",freq='1d')\n", "date_list = [dt.date(2014,4,1), dt.date(2014,4,2)]\n", "assert np.datetime64(\"2014-04-01T00:00\")==to_datetime64(date_jd)\n", "assert np.datetime64(\"2014-04-01T12:10\")==to_datetime64(date_dt)\n", "assert np.array_equal(\n", " np.array([np.datetime64(\"2014-04-01\"),\n", " np.datetime64(\"2014-04-02\"),\n", " np.datetime64(\"2014-04-03\")]\n", " ).astype(\"datetime64[ms]\"),\n", " to_datetime64(date_pd))\n", "assert np.array_equal(\n", " np.array([np.datetime64(\"2014-04-01\"),\n", " np.datetime64(\"2014-04-02\")]\n", " ).astype(\"datetime64[ms]\"),\n", " to_datetime64(date_list))" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [ "## Json netcdf config tools\n", "The netCDF attributes and encoding variables are stored in [CF-Compliance](https://cfconventions.org/) json files. The following utility functions are used to parse the json and return attribute and encoding dictionary's to be used with xarray." ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "ExecuteTime": { "end_time": "2024-02-14T13:47:02.334582700Z", "start_time": "2024-02-14T13:47:02.277251500Z" }, "collapsed": false }, "outputs": [], "source": [ "#|export\n", "def read_json(fpath: str, *, object_hook: type = adict, cls = None) -> dict:\n", " \"\"\" Parse json file to python dict.\n", " \"\"\"\n", " with open(fpath,\"r\") as f:\n", " js = json.load(f, object_hook=object_hook, cls=cls)\n", " return js\n", "\n", "def pick(whitelist: list[str], d: dict) -> dict:\n", " \"\"\" Keep only whitelisted keys from input dict.\n", " \"\"\"\n", " return keyfilter(lambda k: k in whitelist, d)\n", "\n", "def omit(blacklist: list[str], d: dict) -> dict:\n", " \"\"\" Omit blacklisted keys from input dict.\n", " \"\"\"\n", " return keyfilter(lambda k: k not in blacklist, d)\n", "\n", "def get_var_attrs(d: dict) -> dict:\n", " \"\"\"\n", " Parse cf-compliance dictionary.\n", "\n", " Parameters\n", " ----------\n", " d: dict\n", " Dict parsed from cf-meta json.\n", "\n", " Returns\n", " -------\n", " dict\n", " Dict with netcdf attributes for each variable.\n", " \"\"\"\n", " get_vars = itemgetter(\"variables\")\n", " get_attrs = itemgetter(\"attributes\")\n", " vattrs = {k: get_attrs(v) for k,v in get_vars(d).items()}\n", " for k,v in get_vars(d).items():\n", " vattrs[k].update({\n", " \"dtype\": v[\"type\"],\n", " \"gzip\":True,\n", " \"complevel\":6\n", " })\n", " return vattrs\n", "\n", "def get_attrs_enc(d : dict) -> (dict,dict):\n", " \"\"\" Split variable attributes in attributes and encoding-attributes.\n", " \"\"\"\n", " _enc_attrs = {\n", " \"scale_factor\",\n", " \"add_offset\",\n", " \"_FillValue\",\n", " \"dtype\",\n", " \"zlib\",\n", " \"gzip\",\n", " \"complevel\",\n", " \"calendar\",\n", " }\n", " # extract variable attributes\n", " vattrs = {k: omit(_enc_attrs, v) for k, v in d.items()}\n", " # extract variable encoding\n", " vencode = {k: pick(_enc_attrs, v) for k, v in d.items()}\n", " return vattrs, vencode" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [ "### Usage:" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "ExecuteTime": { "end_time": "2024-02-14T13:47:02.347116900Z", "start_time": "2024-02-14T13:47:02.287685700Z" }, "collapsed": false, "tags": [ "hide-output" ] }, "outputs": [ { "data": { "text/plain": [ "{'Title': 'TROPOS pyranometer network (PyrNet) observations',\n", " 'Institution': 'Leibniz Institute for Tropospheric Research (TROPOS)',\n", " 'Department': 'Remote Sensing of Atmospheric Processes',\n", " 'Department_team': 'Clouds, Aerosol and Radiation',\n", " 'Address': 'Permoser Str. 15, 04318 Leipzig, Germany',\n", " 'Source': 'TROPOS pyranometer network (PyrNet)',\n", " 'Contact_person': 'Andreas Macke and the clouds, aerosol and radiation team of the remote sensing department, mailto:andreas.macke@tropos.de',\n", " 'Contributor_name': 'Jon Doe; Roger Rogers',\n", " 'Contributor_role': 'Set-up; Tear-down',\n", " 'Authors_software': 'Hartwig Deneke, Jonas Witthuhn, mailto:deneke@tropos.de',\n", " 'Creator_name': 'Adam Alpha',\n", " 'Project': 'Notebook Example',\n", " 'References': 'https://doi.org/10.5194/amt-9-1153-2016',\n", " 'Standard_name_vocabulary': 'CF Standard Name Table v81',\n", " 'Conventions': 'CF-1.10, ACDD-1.3',\n", " 'License': 'CC-BY-SA 3.0'}" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#|dropout\n", "fn = os.path.join(importlib.resources.files(\"pyrnet\"), \"share/pyrnet_cfmeta.json\")\n", "\n", "config = dict(\n", " contributor_name = \"Jon Doe; Roger Rogers\",\n", " contributor_role = \"Set-up; Tear-down\",\n", " project = \"Notebook Example\",\n", " creator_name = \"Adam Alpha\",\n", " dt = np.datetime64(\"now\").item(),\n", " sdate = dt.datetime(2014,4,1,12,0),\n", " edate = dt.datetime(2014,4,2,18,0),\n", " notes = \"This is just an example.\",\n", ")\n", "\n", "# parse the json file\n", "cfdict = read_json(fn)\n", "\n", "# get global attributes:\n", "gattrs = cfdict['attributes']\n", "\n", "# apply config\n", "gattrs = {k:v.format_map(config) for k,v in gattrs.items()}\n", "\n", "gattrs" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "ExecuteTime": { "end_time": "2024-02-14T13:47:02.348113900Z", "start_time": "2024-02-14T13:47:02.311578600Z" }, "collapsed": false, "tags": [ "hide-output" ] }, "outputs": [ { "data": { "text/plain": [ "({'ta': {'units': 'K',\n", " 'long_name': 'air temperature',\n", " 'standard_name': 'air_temperature',\n", " 'valid_range': [0, 10000]},\n", " 'rh': {'units': '1',\n", " 'long_name': 'air relative humidity',\n", " 'standard_name': 'relative_humidity',\n", " 'valid_range': [0, 10000]},\n", " 'battery_voltage': {'units': 'V',\n", " 'standard_name': 'battery_voltage',\n", " 'valid_range': [0, 6400]},\n", " 'ghi': {'units': 'W m-2',\n", " 'long_name': 'downwelling shortwave flux',\n", " 'standard_name': 'downwelling_shortwave_flux_in_air',\n", " 'valid_range': [0, 60000]},\n", " 'gti': {'units': 'V',\n", " 'long_name': 'downwelling shortwave flux measured on secondary platform, might be tilted',\n", " 'standard_name': 'downwelling_shortwave_flux_in_air',\n", " 'valid_range': [0, 60000]},\n", " 'station': {'units': '-', 'long_name': 'PyrNet unit box number'},\n", " 'szen': {'standard_name': 'solar_zenith_angle',\n", " 'units': 'degree',\n", " 'valid_range': [0, 36000]},\n", " 'sazi': {'standard_name': 'solar_azimuth_angle',\n", " 'units': 'degree',\n", " 'valid_range': [0, 36000]},\n", " 'esd': {'standard_name': 'earth_sun_distance',\n", " 'units': 'AU',\n", " 'valid_range': [0, 40000]},\n", " 'maintenance_flag_ghi': {'standard_name': 'quality_flag',\n", " 'long_name': 'Maintenance quality control flags for main pyranometer',\n", " 'note': 'Soiling describes subjectively the coverage of the pyranometer dome with dirt. The level flag is problematic if the bubble of the spirit level touches the reference ring, and bad if it is outside.',\n", " 'valid_range': [0, 11],\n", " 'flag_masks': [3, 3, 3, 12, 12],\n", " 'flag_values': [1, 2, 3, 4, 8],\n", " 'flag_meanings': 'soiling_light soiling_moderate soiling_heavy level_problematic level_bad'},\n", " 'maintenance_flag_gti': {'standard_name': 'quality_flag',\n", " 'long_name': 'Maintenance quality control flags for secondary pyranometer',\n", " 'note': 'Soiling describes subjectively the coverage of the pyranometer dome with dirt. The level flag is problematic if the bubble of the spirit level touches the reference ring, and bad if it is outside.',\n", " 'valid_range': [0, 11],\n", " 'flag_masks': [3, 3, 3, 12, 12],\n", " 'flag_values': [1, 2, 3, 4, 8],\n", " 'flag_meanings': 'soiling_light soiling_moderate soiling_heavy level_problematic level_bad'},\n", " 'lat': {'standard_name': 'latitude',\n", " 'units': 'degree_north',\n", " 'valid_range': [0, 180000000]},\n", " 'lon': {'standard_name': 'longitude',\n", " 'units': 'degree_east',\n", " 'valid_range': [0, 360000000]},\n", " 'iadc': {'standard_name': 'index',\n", " 'comment': 'index to map gps to adc records',\n", " 'units': '-'},\n", " 'adctime': {'standard_name': 'time'},\n", " 'time': {'standard_name': 'time'}},\n", " {'ta': {'scale_factor': 0.0001,\n", " 'add_offset': 253.15,\n", " '_FillValue': 65535,\n", " 'zlib': True,\n", " 'dtype': 'u2',\n", " 'gzip': True,\n", " 'complevel': 6},\n", " 'rh': {'scale_factor': 0.0001,\n", " 'add_offset': 0.0,\n", " '_FillValue': 65535,\n", " 'zlib': True,\n", " 'dtype': 'u2',\n", " 'gzip': True,\n", " 'complevel': 6},\n", " 'battery_voltage': {'scale_factor': 0.001,\n", " 'add_offset': 0.0,\n", " '_FillValue': 65535,\n", " 'zlib': True,\n", " 'dtype': 'u2',\n", " 'gzip': True,\n", " 'complevel': 6},\n", " 'ghi': {'scale_factor': 0.025,\n", " 'add_offset': 0.0,\n", " '_FillValue': 65535,\n", " 'zlib': True,\n", " 'dtype': 'u2',\n", " 'gzip': True,\n", " 'complevel': 6},\n", " 'gti': {'scale_factor': 0.025,\n", " 'add_offset': 0.0,\n", " '_FillValue': 65535,\n", " 'zlib': True,\n", " 'dtype': 'u2',\n", " 'gzip': True,\n", " 'complevel': 6},\n", " 'station': {'_FillValue': 255,\n", " 'zlib': True,\n", " 'dtype': 'u1',\n", " 'gzip': True,\n", " 'complevel': 6},\n", " 'szen': {'scale_factor': 0.005,\n", " 'add_offset': 0.0,\n", " '_FillValue': 65535,\n", " 'zlib': True,\n", " 'dtype': 'u2',\n", " 'gzip': True,\n", " 'complevel': 6},\n", " 'sazi': {'scale_factor': 0.01,\n", " 'add_offset': 0.0,\n", " '_FillValue': 65535,\n", " 'zlib': True,\n", " 'dtype': 'u2',\n", " 'gzip': True,\n", " 'complevel': 6},\n", " 'esd': {'scale_factor': 1e-06,\n", " 'add_offset': 0.98,\n", " '_FillValue': 65535,\n", " 'zlib': True,\n", " 'dtype': 'u2',\n", " 'gzip': True,\n", " 'complevel': 6},\n", " 'maintenance_flag_ghi': {'_FillValue': 255,\n", " 'zlib': True,\n", " 'dtype': 'u1',\n", " 'gzip': True,\n", " 'complevel': 6},\n", " 'maintenance_flag_gti': {'_FillValue': 255,\n", " 'zlib': True,\n", " 'dtype': 'u1',\n", " 'gzip': True,\n", " 'complevel': 6},\n", " 'lat': {'scale_factor': 1e-06,\n", " 'add_offset': -90,\n", " '_FillValue': 4294967295,\n", " 'zlib': True,\n", " 'dtype': 'u4',\n", " 'gzip': True,\n", " 'complevel': 6},\n", " 'lon': {'scale_factor': 1e-06,\n", " 'add_offset': -180,\n", " '_FillValue': 4294967295,\n", " 'zlib': True,\n", " 'dtype': 'u4',\n", " 'gzip': True,\n", " 'complevel': 6},\n", " 'iadc': {'_FillValue': 4294967295,\n", " 'zlib': True,\n", " 'dtype': 'u4',\n", " 'gzip': True,\n", " 'complevel': 6},\n", " 'adctime': {'_FillValue': 4294967295,\n", " 'zlib': True,\n", " 'dtype': 'u4',\n", " 'gzip': True,\n", " 'complevel': 6},\n", " 'time': {'zlib': True, 'dtype': 'f8', 'gzip': True, 'complevel': 6}})" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#|dropout\n", "# get variable attributes\n", "d = get_var_attrs(cfdict)\n", "\n", "# split encoding attributes\n", "vattrs, vencode = get_attrs_enc(d)\n", "\n", "vattrs, vencode" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [ "## Euclidian distances of stations" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "ExecuteTime": { "end_time": "2024-02-14T13:47:02.383890200Z", "start_time": "2024-02-14T13:47:02.326780500Z" }, "collapsed": false }, "outputs": [], "source": [ "#|export\n", "def get_xy_coords(lon, lat, lonc=None, latc=None):\n", " \"\"\"\n", " Calculate Cartesian coordinates of network stations, relative to the mean\n", " lon/lat of the stations\n", " \"\"\"\n", " GEOD = pyproj.Geod(ellps='WGS84')\n", "\n", " n = len(lon)\n", " if lonc is None:\n", " lonc = lon.mean()\n", " if latc is None:\n", " latc = lat.mean()\n", "\n", " az, _, d = np.array([GEOD.inv(lonc, latc, lon[i], lat[i]) for i in range(n)]).T\n", " x = d*np.sin(np.deg2rad(az))\n", " y = d*np.cos(np.deg2rad(az))\n", " return x,y" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "ExecuteTime": { "end_time": "2024-02-14T13:47:02.384887800Z", "start_time": "2024-02-14T13:47:02.339568700Z" }, "collapsed": false }, "outputs": [], "source": [ "#|export\n", "def pairwise_distance_matrix( x: ArrayLike, y: ArrayLike ) -> NDArray:\n", " \"\"\"\n", " Get square matrix with Euclidian distances of stations\n", "\n", " Parameters\n", " ----------\n", " x: array_like\n", " X coordinates\n", " y: array_like\n", " Y coordinates\n", "\n", " Returns\n", " -------\n", " ndarray\n", " A square matrix with Euclidian distances of stations\n", " \"\"\"\n", " x = np.array(x)\n", " y = np.array(y)\n", " return np.sqrt( (x[None,:]-x[:,None])**2+(y[None,:]-y[:,None])**2 )" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "ExecuteTime": { "end_time": "2024-02-14T13:47:02.448188Z", "start_time": "2024-02-14T13:47:02.350617300Z" }, "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[0. 1. 2.]\n", " [1. 0. 1.]\n", " [2. 1. 0.]]\n" ] } ], "source": [ "x = [0, 1, 2]\n", "y = [0, 0, 0]\n", "dist = pairwise_distance_matrix(x,y)\n", "print(dist)\n", "assert dist[0,0]==dist[1,1]==dist[2,2]==0\n", "assert dist[0,1]==dist[1,0]==1\n", "assert dist[0,2]==dist[2,0]==2" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [ "## Fourier utility\n", "\n", "### Create a gaussian window\n", "Convert a scale parameter *J* to FWHM of a normal distribution\n", "\n", "$\\mathrm{FWHM} = 2 \\sqrt{2 \\ln 2} \\sigma = f \\sigma$\n", "\n", "define FWHM with scale parameter *J*, so that :\n", "$\\mathrm{FWHM} = 60*2^J$\n", "\n" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "ExecuteTime": { "end_time": "2024-02-14T13:47:02.569650500Z", "start_time": "2024-02-14T13:47:02.365465700Z" }, "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "J = -2 -> FWHM(J) = 15.0\n", "J = -1 -> FWHM(J) = 30.0\n", "J = 0 -> FWHM(J) = 60.0\n", "J = 1 -> FWHM(J) = 120.0\n", "J = 2 -> FWHM(J) = 240.0\n", "J = 3 -> FWHM(J) = 480.0\n" ] } ], "source": [ "for J in range(-2,4):\n", " print(f\"J = {J:2d} -> FWHM(J) = {60.*2**J}\")" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "ExecuteTime": { "end_time": "2024-02-14T13:47:02.867036400Z", "start_time": "2024-02-14T13:47:02.381511200Z" }, "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "sum of distribution density: 1.000\n" ] }, { "data": { "image/png": "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oXPnzjg7O+Pn58fo0aOBiqGq1NRU3n33XVQqFSqVyrT1jUqlYv369URHR6PVatmyZUutw0+vv/46/v7+hISEMGnSJHQ6nemxmnovbrvtNlOe7du3B2DkyJGoVCrT9zdey2g0MmfOHIKCgtBqtdx2222sW7fO9PjJkydRqVR8/fXXDBo0CFdXV3r16kVaWlqdr+fx48fp378/zs7OREREVNsbEeDs2bOMHTuW1q1b06ZNGx566CFOnjxpevxPf/oTTzzxBO+88w4BAQG0adOG5557rsodVbW9B1D1/Ro4cCCnTp1i2rRppvekqKgIT09Pvvrqqypxfffdd7i5uVFYWFhnjuZy1lQUP/27tKVEb2D8yp1s/lXm/LR0UviIFqFEZ+Avn6bzw/5sNGoVix+/nYdvb9yiR1EUinXljfpVojPctI25i6fHx8fzyy+/8O2335KSksKWLVvYs2dPlTY6nY6///3v7Nu3j2+++YbMzEzGjx9v1nWeeOIJgoKC2LVrF+np6UyfPt20Mutzzz1HWVkZmzdv5sCBA8ybNw9395onlpeWlhIVFcX333/PwYMH+fOf/8y4cePYsWNHlXYff/wxbm5u7Nixg7fffps5c+bU+Mu30jvvvGPa+2/r1q1cvHiRtWvX1tp+9+7dvPjii8yZM4djx46xbt06+vfvD8C7775LTEwMzzzzDNnZ2WRnZxMcHGx67ssvv8zcuXM5cuQIPXv2rPH8P/30E0eOHOGnn37igw8+4JtvvuH111+vNZ4b7dq1C4CVK1eSnZ1t+v5G7777Lu+88w7z589n//79DB06lAcffJDjx49XaTdz5kxeeukl9u7dS5cuXXjssccoLy+v8ZxGo5FRo0ahVqvZvn07y5Yt45VXXqnSpri4mEGDBuHu7s7mzZvZunUr7u7u3HfffVUKvC1btvD777+zceNGPv74Yz766CM++ugjoO734EZff/01QUFBpm2KsrOzcXNz4w9/+AMrV66s0nblypWMHj26SXqLnDVq3h8XxcCubSnVG3n6412yqWkLJwsYCquXd7WMiR/vZu/py2gdHVg2LopBTTCnp0RvIOL/rW/0897M4TlD672JamFhIR9//DGff/45Q4YMASo+9AMDA6u0mzBhgun/O3TowMKFC+ndu7dpVd36yMrK4m9/+xvdunUDoHPnzlUee+SRR+jRo4fpGrVp165dlU2JX3jhBdatW8eXX35ZZT++nj178tprr5mutWjRIn766SdiY2NrPG9iYiIJCQmmff+WLVvG+vW1v39ZWVm4ubnxwAMP4OHhQWhoKLfffjsAXl5eODk54erqir9/9aHTOXPm1BpHJScnJ1asWIGzszPBwcHMnj2bV155hb///e/1Wsyvbdu2wP+2WKjN/PnzeeWVV/jDH/4AwLx589i4cSOJiYksXrzY1O6ll17i/vvvByp6orp3785vv/1mej+vt2HDBo4cOcLJkycJCgoC4M0332TYsGGmNqtWrcLBwYEPP/zQ1DO4cuVKWrVqxaZNm4iLizPF/69//QuNRkO3bt24//77+emnn3jmmWfqfA9u5O3tjVqtNvVaVpo4cSJ9+/bl3LlzBAYGkpeXx/fff19nkXyrKoqfaP765T6+23eOKav2kn9Vx4R7wprsmqLpSI+PsGonLlxl1JJt7D19GS8XDf9+uk+TFD0txYkTJ9Dr9fTu3dt0zMvLi65du1Zpl5GRwUMPPURoaCgeHh4MHDgQoMoGwjcTHx/PxIkTuffee3nrrbf4/fffTY+9+OKL/OMf/+Duu+/mtddeY//+/bWex2Aw8MYbb9CzZ0/atGmDu7s7ycnJ1WK5sSclICCgyvDc9a5cuUJ2djYxMTGmY46OjkRHR9caR2xsLKGhoXTo0IFx48bx2WefUVxcXOdrUKmu81bq1atXlQUxY2JiuHr1KqdPn67XNeqjoKCAc+fOcffdd1c5fvfdd3PkyJEqx65/PSu3a6jt9Txy5AghISGmogeo8toCpKen89tvv+Hh4YG7uzvu7u54e3tTWlpa5d9Gt27dqqyQfP37eCvvQaXevXvTvXt3PvnkEwD+/e9/ExISUmvPUWNxcnTg3bG3Mb5vewDmfH+Yf3x/mHKDsUmvKxqf9PgIq7Xttzye+3wPl4r1BHu78NGfetOxCdfpcdGoOTxnaKOdz2g0UlhQiIenR51/8bto6r8hYuWw2I0Th68fLisqKiIuLo64uDg+/fRT2rZtS1ZWFkOHDjUNSTg4OFQbYrtxZdvZs2fz+OOP88MPP/Djjz/y2muvsWrVKkaOHMnEiRMZOnQoP/zwA8nJycydO5d33nmHF154oVrM77zzDv/85z9JTEykR48euLm5MXXq1CrDI0C1DQ5VKhVGY+P9UvHw8GDPnj1s2rSJ5ORk/t//+3/Mnj2bXbt2VZvvdCM3N7cGX7fyvarPa27uOSspilLt2PWvZ+Vjtb2eNQ233ng+o9FIVFQUn332WbW2lb1VN1638jyV172V9+B6EydOZNGiRUyfPp2VK1fypz/9qVkm0zs4qHhtRARtPbT83/pjfLg1k19zr/LP0ZFNfm3ReKTHR1gdRVH4cMsJ/rh8B5eK9fQK8uLrv9zdpEUPVHxAuzo5NuqXi5P6pm3M+cDu2LEjGo2GnTt3mo4VFBRUmd9x9OhR8vLyeOutt+jXrx/dunWr9pd+27ZtKSwspKioyHRs79691a7XpUsXpk2bRnJyMqNGjaoytyI4OJhJkybx9ddf89e//pUPPvigxpi3bNnCQw89xB//+Ed69epFhw4dqs1HMZeXlxcBAQFs377ddKy8vJz09PQ6n+fo6Mi9997L22+/zf79+zl58iQ///wzUDFUZTAYGhzTvn37KCkpMX2/fft23N3dTb0obdu2JTv7fysBFxQUkJmZWeUcGo2mzhg8PT0JDAxk69atVY5v27aN8PDwBsceERFBVlYW586dMx27cTL0HXfcwfHjx/H19aVTp05Vvry8vOp9rbregxvV9p788Y9/JCsri4ULF3Lo0CGeeuqpel//VqlUKp4b1InFj9+Bs8aBzb9eYPR7OzhfcvPnCusghY+wKsW6cqat3ss/fjiCUYFRt7dj9bMxZm1DYcs8PDx46qmn+Nvf/sbGjRs5dOgQEyZMwMHBwVRAhYSE4OTkxL/+9S9OnDjBt99+W20tmz59+uDq6sqMGTP47bff+Pzzz00TUAFKSkp4/vnn2bRpE6dOneKXX35h165dpl+uU6dOZf369WRmZrJnzx5+/vnnWn/xdurUiZSUFLZt28aRI0d49tlnycnJueXXYsqUKbz11lusXbuWo0ePMnnyZC5fvlxr+++//56FCxeyd+9eTp06xSeffILRaDQNE7Zv354dO3Zw8uRJ8vLyzO5t0ul0PP300xw+fJiUlBRef/11nn/+eVNv3+DBg/n3v//Nli1bOHjwIE899VS1TTPbt2/PTz/9RE5ODpcuXarxOn/729+YN28eq1ev5tixY0yfPp29e/cyZcoUs+K93r333kvXrl158skn2bdvH1u2bGHmzJlV2jzxxBP4+Pjw0EMPsWXLFjIzM0lNTWXKlCmcOXOmXte52Xtwo/bt27N582bOnj1LXl6e6Xjr1q0ZNWoUf/vb34iLi6syRNdc7u8ZwFeT+hLo5UxmfjH/PKBm3aHzzR6HMJ8UPsJqHDx7hQcWbuWbvedQX+tSfmdML5zNGAqyBwsWLCAmJoYHHniAe++9l7vvvpvw8HCcnZ2Bip6Fjz76iC+//JKIiAjeeust5s+fX+Uc3t7efPrppyQlJZluL7/+9nG1Wk1+fj5PPvkkXbp0YcyYMQwbNsx0l5LBYOC5554jPDyc++67j65du7JkyZIa4501axZ33HEHQ4cOZeDAgfj7+zfKKsd//etfefLJJxk/fjwxMTF4eHgwcuTIWtu3atWKr7/+msGDBxMeHs6yZcv44osv6N69O1AxGVitVhMREWEaHjTHkCFD6Ny5MwMHDmTChAk88MADVV7ThIQE+vfvzwMPPMDw4cN5+OGH6dixY5VzvPPOO6SkpBAcHFzrpN8XX3yRv/71r/z1r3+lR48erFu3jm+//bbK5HNzOTg4sHbtWsrKyujduzcTJ07kjTfeqNLG1dWVzZs3ExISwqhRowgPD2fChAmUlJTUe7HKm70HN5ozZw4nT56kY8eOVYbTAJ5++ml0Ol2VifzNLbKdF/99/h6iQlpRYlDxwqp9vPrNAUr1De85FE1PpZh7L60NKygowMvLiytXrjT6qrN6vZ6kpCSGDx9ebQzc1t0sd6NRYfnWTN5efxS9QcHf05nEP9zGXR2abtG20tJSMjMzCQsLMxUMjc1oNFJQUICnp2e97uppqKKiItq1a8c777zD008/3WTXMUdz5W6NJPfmyf2zzz5jypQpnDt3Dicnp1rbNcfPenFpGS+8n8xP5ypy7ubvwb8eu53OftaxGGNTspbfbeb8/ravn0phdU5fLObJFTt5I+kIeoPC0O5+/DilX5MWPS1dRkYGX3zxBb///jt79uzhiSeeAOChhx6ycGRCNL3i4mIOHTrE3LlzefbZZ+ssepqLRu3Ag6FGVjx1Bz7uThzNKeSBf23lvdTf5a4vKySFj7AIg7FiAnPcPzez9bc8nDUOvDmyB8v+GEVrN8t/kFm7+fPn06tXL+69916KiorYsmULPj4+lg5LiCb39ttvc9ttt+Hn50dCQoKlw6miXycfkqb0o3+XtpSVG5n741FGLd3GkewCS4cmriO3s4tmd+jcFWZ8fYB9Zyq2NOgd5s3cUT2a/K4tW3H77bff9O4lIWzV7Nmzb7qdiSX5ejjz8Z/u5Mv0M/zj+8PsP3OFEf/ayrMDOjB5YCfctPJr19LkHRDN5kJhGQs3HmH17tMoCng4OzJjeDhjo4NxcLD8hpZCCNEYVCoVY6KDGdilLa9+c5Dkw+dZvPF3vko/wyv3dePh29rJZ54FyVCXaHKlegPJZ1TEJm5l1a6Kouf+ngH8FD+Ax3qHyAeAEMIm+Xo68964KN4bF0WItyvnC8qI/88+Ri3dxs7Mi5YOz25Jj49oMiU6A5/tOMV7qb9z4aoaMNAruBX/74FwokK9LR2eEEI0OZVKxdDu/gzo0pYVv2Sy+Off2Hv6MmPeS6NfZx+m3tuFqNDWlg7TrkjhIxpdUVk5X+zMYlnqCfKulgHgrVWYOaInI++QYS0hhP1x1qiZPLATo+8IIvGn43y5+zRbjuex5XgeA7q05S8DO9InzLtZtt6wd1L4iEZz+mIxn6SdZNWu0xSWlgMQ1NqFv/QPwzlnPw/2CpCiRwhh13w9nXlzZA/+MqAjizf+xpfpZ0j99QKpv14gsp0nE+/pwP09A9CoZSZKU5HCR9yScoORzccvsHrXaVIOn8d4bTnMDj5u/Ll/Bx6JCgKjgaSk2nfvFkIIexPs7cpbj/TkLwM78sGWE3yVfoaDZwuYunovbyYdYXRUEGOig2nv0/ANckXNpPARDXL8fCFfpZ/h64yzXCgsMx3v19mHCXeHMaBLW1Pvjt4oy7cLIURNQtu48Y+HexAf25XPd5zio22nyC0sY8mm31my6Xf6hHkzJjqYoZH+uMut8I1C+tJEvSiKwtGcAhI3/Mp9iZuJ/edm3tt8gguFZXi7OTHh7jCSp/Xn30/3YVA3XxnSakLjx49HpVJV+1q0aBEeHh6Ul5eb2l69ehWNRkO/fv2qnGPLli2oVCp+/fVXoGIzyMTExGrXmj17NrfddluV71UqFffdd1+1tm+//TYqlYqBAwc2KC+9Xs8rr7xCjx49cHNzIzAwkCeffLLKjuHXUxSFYcOGoVKp+Oabb6o8dunSJcaNG4eXlxdeXl6MGzeuzg1MhbA0bzcnnh/cmW3TB7PkiTsY0KUtKhXsyLzIX7/cxx1/T+GZT3bzTcZZCkr1lg63RZPyUdSqRGdg58mLbD1+gZTD5zmZX2x6zNFBxcCuvjwaHcSgrr44OUoN3Zzuu+8+Vq5cWeXYlStXeOGFF9i9ezd33XUXUFHg+Pv7s2vXLoqLi3F1dQVg06ZNBAYG0qVLF7OvHRAQwMaNGzlz5kyVXbFXrlxJSEhIg3MqLi5mz549zJo1i169enHp0iWmTp3Kgw8+yO7du6u1T0xMrHUi6OOPP86ZM2dYt24dAH/+858ZN24c3333XYPjE6I5ODk6MLxHAMN7BHDucglrrvWsZ+YVkXL4PCmHz+OkdiCmYxv6d2nLgC4+dGzrLpOizSCFjzApKzdw6FwBab/ns/V4HumnLqG7bp8ZJ0cH+nf24b7IAO4N96WVq2wtYSlarRZ/f/8qx/z9/QkMDGTTpk2mwmfTpk089NBDbNy4kW3btnHvvfeajg8aNKhB1/b19SUqKoqPP/6YmTNnArBt2zby8vJ49NFHOXz4cIPO6+XlRUpKSpVj//rXv+jduzdZWVlViqp9+/axYMECdu3aRUBAQJXnHDlyhHXr1rF9+3b69OkDwAcffEBMTAzHjh2ja9euDYpPiOYW2MqFF4Z05vnBnTiaU8iPB7L54UA2v18oMk2I/jsQ6OVMv85tuTPMmzvbtybE21UKoTpI4WOnjEaFM5dK2H/2MhlZl9mTdYlDZwuqFDpQ8QN1T2cf+ndpy8CuvnYxxlxUVNQo5zEajRQVFaFWq2vdqdrNrXEnLg4cOJCNGzcyffp0ADZu3MjLL7+M0Whk48aN3Hvvveh0OtLS0vjXv/7V4OtMmDCBl19+2VT4rFixwrRZ6vU+++wz/vKXv9R5rvfee6/G50JFL5ZKpaJVq1amY8XFxTz22GMsWrSoWvEHkJaWhpeXl6noAbjrrrvw8vJi27ZtUviIFkelUhEe4El4gCfxcV05fr6QTccusPn4BXZkXuTclVJW7z7N6t2nAfBx1xId2pqo0NZ0b+dJRICn/KF6Hdv/LWbnFEXhQmEZJ/KKOJZTyNGcAo7mFPJrTiFFuuqTjr3dnIgKbU2/zj7c08mHMB83u/vLwd29+fYMUxSlQc/7/vvvq8Q5bNgwvvzySwYOHMi0adMoLy+npKSEjIwM+vfvj8FgYOHChQBs376dkpKSaj0+r7zyCq+++mqVYzqdjoiIiGrXf+CBB5g0aRKbN28mKiqK//znP2zdupUVK1ZUaffggw8SExNTZy5+fn41Hi8tLWX69Ok8/vjjeHp6mo5PmzaNvn371robfU5ODr6+vtWO+/r6kpOTU2csQrQEnf086OznwTP9O1CiM7A9M5/tv+ez+9QlDpy5Qt7VMtYdymHdof/9ew/0ciYisKII6uLvQZiPG+3buNnl3mENynjJkiX83//9H9nZ2XTv3p3ExMRqkyevl5qaSnx8PIcOHSIwMJCXX36ZSZMmVWmzZs0aZs2axe+//07Hjh154403GDlypFnXVRSF119/nffff59Lly7Rp08fFi9eTPfu3RuSZotgNCpcKtaRU1BKbkEZZy6XkJVfxKn8Yk7lF5N1sZgSfc13VTmpHeji784dIa25I6Q1t4e0ki7SFmLQoEEsXbrU9H1lz9GgQYMoKipi165dXLp0iS5duuDr68uAAQMYN24cRUVFbNq0iZCQEDp06FDlnH/7298YP358lWMLFy5k8+bN1a6v0Wj44x//yMqVKzlx4gRdunShZ8+e1dp5eHjg5eVldn56vZ4//OEPGI1GlixZYjr+7bff8vPPP5ORkVHn82v6N6woivzbFjbHxUnNoK6+DOpaUeyX6g0cOHuF3Scvsff0JY5kF5J1sZhzV0o5d6WUDUdyqzzfz1NL+zZuhPm40a6VCwGtXAj0csbfy5kALxdcnNSWSKtJmV34rF69mqlTp7JkyRLuvvtu3nvvPYYNG8bhw4drnNiYmZnJ8OHDeeaZZ/j000/55ZdfmDx5Mm3btuWRRx4BKrqmx44dy9///ndGjhzJ2rVrGTNmDFu3bjV1V9fnum+//TYLFizgo48+okuXLvzjH/8gNjaWY8eO4eHhcSuvU7MpNxgpLC3nUrGOS8V6LhfruFys59K1/14u0ZF/Vcf5glLOF5SRW1iK3lB3r4GDCtq1dqGrnwdd/T3o5u9JN38P2vu4ySJZNbh69WqjnMdoNFJQUICnp2etQ10N5ebmRqdOnaod79SpE0FBQWzcuJFLly4xYMAAoGL+T1hYGL/88gsbN25k8ODB1Z7r4+NT7Zze3rVvLTJhwgT69OnDwYMHmTBhQo1tGjLUpdfrGTNmDJmZmfz8889Vent+/vlnfv/99ypDXwCPPPII/fr1Y9OmTfj7+3P+/Plq17lw4UKtvUtC2ApnjZo723tzZ/v//ewWlOo5ml3I4XNXOJxdwO8XisjMK+JikY7zBWWcLyhjRy17h7Vy1eDv6YyPuxZvN6dqX55aB84VwdnLJbR2AzetGkcr/71iduGzYMECnn76aSZOnAhU3Fmxfv16li5dyty5c6u1X7ZsGSEhIaZbZcPDw9m9ezfz5883FT6JiYnExsaSkJAAQEJCAqmpqSQmJvLFF1/U67qKopCYmMjMmTMZNWoUAB9//DF+fn58/vnnPPvss+am2mhK9Qbmr/+VIycc+PmrA5TojRTrDBTpyikuu/ZfnYGrZeXoyo03P2ENfNyd8PVwJrCVMyHeboS2cSWkjSvt21RU8XLXVf011rwbo9GIwWDAzc2t0QufugwaNIhNmzZx6dIl/va3v5mODxgwgPXr17N9+3b+9Kc/3fJ1unfvTvfu3dm/fz+PP/54jW3MHeqqLHqOHz/Oxo0badOmTZW206dPN30GVOrRowf//Oc/GTFiBAAxMTFcuXKFnTt30rt3bwB27NjBlStX6Nu3r9l5CtHSeTpr6B3mTe+wqn/IXCnWk5lfRGbeVTLzism+XEJOQSnnLpeQfaWUYp2h4g/uYj1QWMcVHJm3f4vpO1cnNe5aR9ydHfG49l8XjSOuTmpcNGpcnNS8NiLCYj2wZhU+Op2O9PR008TJSnFxcWzbtq3G56SlpREXF1fl2NChQ1m+fDl6vR6NRkNaWhrTpk2r1qayWKrPdTMzM8nJyalyLa1Wy4ABA9i2bVuNhU9ZWRllZf9bfK+goACo+PDV6xtvnQRDuZEPt54EHOB8dr2e4651pJWrhlYuGlq5avBy0dD6uv/6eTrj56nFz0OLj7u27sJGMaCvZbirOVS+lo35mt4qvV6PoigYjUaMxoYVmzdTOX+n8jqNed66zjlgwABeeOEF9Ho9/fr1M7Xr168fzz33HKWlpQwYMKDa82s6Z2UOlcdv/H7Dhg3o9Xo8PT0xGo1VcoaK+VL16W01Go2Ul5czevRoMjIy+Pbbb9Hr9aY1fLy9vXFycsLX17fG+TtBQUGEhoZiNBrp2rUrQ4cO5ZlnnjENB06aNIn777+fzp07N9n7Xamp3veWwBpzr/x3qdfrUaubZtjGGj/j6sNVA9393ejuX/2PPUVRKCwtJ6eglJyCMi4WVYxCXCzSVfn//KIy8gqK0RnVpptjinUGinUGcq9b3PZ6To4OzBxm/lIadTHntTer8MnLy8NgMFTrLvbz86t10mBOTk6N7cvLy8nLyyMgIKDWNpXnrM91K/9bU5tTp07VGNvcuXN5/fXXqx1PTk42rXfSWAYHOuDkoKBVU/HlwHX/X3Hc6dpxZzWoHcqB0uonKqv4Ml6CbCq+Woobb1W2JEdHR/z9/bl69So6na5Jr1VYWNdfSubT6/WUl5ebCvUb3XnnnZSUlNClSxdcXFxM7e644w4KCwsJCwvDy8uryvONRiOlpaXVzllWVobBYDAdv/F7AAcHB9P3Op2O8vJyU87m5J6VlWVaZ+eOO+6o8th3333HPffcU+tzS0pKqsS0dOlSXnnlFdNCi/fddx//93//V+tr1hQa+31vSawpd51OR0lJCZs3b66yuGdTsKbPuMbmBPhd+8Lp2ler61sYKDdCqeHGLxWl5aAzXvsygIKBpKSkRo2vuLj45o2uadDk5hu7p242abCm9jcer885G6tNpYSEBOLj403fFxQUEBwcTFxcXJV5BY0hVq8nJSWF2NhYNBpNo57b2umtMPfS0lJOnz6Nu7s7zs7OTXINRVEoLCzEw8OjUbt0P/300zofj4yMxGCo3sPn6elZ43GAkydP1nj8zTff5M0336z1+xstXrwYaFjutcV9M7XlumrVKrPP1Ria6n1vCawx99LSUlxcXOjfv3+T/axb42dcc7GW3M35o8aswsfHxwe1Wl2tdyc3N7fWSYP+/v41tnd0dDSN39fWpvKc9blu5XoeOTk5VRY0qys2rVaLVqutdlyj0TTZG9iU57Z21pS7wWBApVLh4ODQZPNvKrv6K69jTyR3yd1acndwcEClUjXL5481fcY1N0vnbs61zfqX6eTkRFRUVLXuvJSUlFonDcbExFRrn5ycTHR0tCnQ2tpUnrM+1w0LC8Pf379KG51OR2pqqkxoFEIIIQTQgKGu+Ph4xo0bR3R0NDExMbz//vtkZWWZ1uVJSEjg7NmzfPLJJ0DFpMJFixYRHx/PM888Q1paGsuXLzfdrQUwZcoU+vfvz7x583jooYf473//y4YNG9i6dWu9r6tSqZg6dSpvvvkmnTt3pnPnzrz55pu4urrWeseJEEIIIeyL2YXP2LFjyc/PZ86cOWRnZxMZGUlSUhKhoaEAZGdnk5WVZWofFhZGUlIS06ZNY/HixQQGBrJw4ULTrewAffv2ZdWqVbz66qvMmjWLjh07snr16ipLzt/sugAvv/wyJSUlTJ482bSAYXJycotZw0cIIYQQTUulNHTNfBtUUFCAl5cXV65cafTJzXq9nqSkJIYPH253Y8DWmHtpaSmZmZmEhYU12YTHplzA0NpJ7pK7teTeHD/r1vgZ11ysJXdzfn9bx79MISzEWtYaEUI0DfkZFzeyv93JhKBiwryDgwPnzp2jbdu2ODk5Nfrtt0ajEZ1OR2lpqdX89dtcJHfJ3dK5K4qCTqfjwoULODg44OQku5OLClL4CLvk4OBAWFgY2dnZptWBG5uiKJSUlODi4mI1a5o0F8ldcreW3F1dXQkJCbF4ISashxQ+wm45OTkREhJCeXl5gxbOuxm9Xs/mzZvp37+/XY77S+6Su6Wp1WocHR2tpggT1kEKH2HXmnJhM7VaTXl5Oc7OzlbxS6A5Se6Su73lLloO6fsTQgghhN2QwkcIIYQQdkMKHyGEEELYDZnjc53KtRzN2eW1vvR6PcXFxRQUFNjd2Le95m6veYPkLrnbV+72mjdYT+6Vv7frsyazFD7XKSwsBCA4ONjCkQghhBDCXIWFhXh5edXZRrasuI7RaOTcuXN4eHg0+u2PBQUFBAcHc/r06UbfDsPa2Wvu9po3SO6Su33lbq95g/XkrigKhYWFBAYG3nTNJunxuY6DgwNBQUFNeg1PT0+7+8GoZK+522veILlL7vbFXvMG68j9Zj09lWRysxBCCCHshhQ+QgghhLAbUvg0E61Wy2uvvYZWq7V0KM3OXnO317xBcpfc7St3e80bWmbuMrlZCCGEEHZDenyEEEIIYTek8BFCCCGE3ZDCRwghhBB2QwofIYQQQtgNKXyawZIlSwgLC8PZ2ZmoqCi2bNli6ZBu2ebNmxkxYgSBgYGoVCq++eabKo8risLs2bMJDAzExcWFgQMHcujQoSptysrKeOGFF/Dx8cHNzY0HH3yQM2fONGMW5ps7dy533nknHh4e+Pr68vDDD3Ps2LEqbWw196VLl9KzZ0/TQmUxMTH8+OOPpsdtNe8bzZ07F5VKxdSpU03HbDX32bNno1Kpqnz5+/ubHrfVvCudPXuWP/7xj7Rp0wZXV1duu+020tPTTY/bav7t27ev9r6rVCqee+45wAbyVkSTWrVqlaLRaJQPPvhAOXz4sDJlyhTFzc1NOXXqlKVDuyVJSUnKzJkzlTVr1iiAsnbt2iqPv/XWW4qHh4eyZs0a5cCBA8rYsWOVgIAApaCgwNRm0qRJSrt27ZSUlBRlz549yqBBg5RevXop5eXlzZxN/Q0dOlRZuXKlcvDgQWXv3r3K/fffr4SEhChXr141tbHV3L/99lvlhx9+UI4dO6YcO3ZMmTFjhqLRaJSDBw8qimK7eV9v586dSvv27ZWePXsqU6ZMMR231dxfe+01pXv37kp2drbpKzc31/S4reatKIpy8eJFJTQ0VBk/fryyY8cOJTMzU9mwYYPy22+/mdrYav65ublV3vOUlBQFUDZu3KgoSsvPWwqfJta7d29l0qRJVY5169ZNmT59uoUianw3Fj5Go1Hx9/dX3nrrLdOx0tJSxcvLS1m2bJmiKIpy+fJlRaPRKKtWrTK1OXv2rOLg4KCsW7eu2WK/Vbm5uQqgpKamKopiX7kriqK0bt1a+fDDD+0i78LCQqVz585KSkqKMmDAAFPhY8u5v/baa0qvXr1qfMyW81YURXnllVeUe+65p9bHbT3/602ZMkXp2LGjYjQabSJvGepqQjqdjvT0dOLi4qocj4uLY9u2bRaKqullZmaSk5NTJW+tVsuAAQNMeaenp6PX66u0CQwMJDIyskW9NleuXAHA29sbsJ/cDQYDq1atoqioiJiYGLvI+7nnnuP+++/n3nvvrXLc1nM/fvw4gYGBhIWF8Yc//IETJ04Atp/3t99+S3R0NI8++ii+vr7cfvvtfPDBB6bHbT3/Sjqdjk8//ZQJEyagUqlsIm8pfJpQXl4eBoMBPz+/Ksf9/PzIycmxUFRNrzK3uvLOycnBycmJ1q1b19rG2imKQnx8PPfccw+RkZGA7ed+4MAB3N3d0Wq1TJo0ibVr1xIREWHzea9atYo9e/Ywd+7cao/Zcu59+vThk08+Yf369XzwwQfk5OTQt29f8vPzbTpvgBMnTrB06VI6d+7M+vXrmTRpEi+++CKffPIJYNvv+/W++eYbLl++zPjx4wHbyFt2Z28GKpWqyveKolQ7ZosakndLem2ef/559u/fz9atW6s9Zqu5d+3alb1793L58mXWrFnDU089RWpqqulxW8z79OnTTJkyheTkZJydnWttZ4u5Dxs2zPT/PXr0ICYmho4dO/Lxxx9z1113AbaZN4DRaCQ6Opo333wTgNtvv51Dhw6xdOlSnnzySVM7W82/0vLlyxk2bBiBgYFVjrfkvKXHpwn5+PigVqurVbi5ubnVqmVbUnnXR115+/v7o9PpuHTpUq1trNkLL7zAt99+y8aNGwkKCjIdt/XcnZyc6NSpE9HR0cydO5devXrx7rvv2nTe6enp5ObmEhUVhaOjI46OjqSmprJw4UIcHR1Nsdti7jdyc3OjR48eHD9+3Kbfc4CAgAAiIiKqHAsPDycrKwuw/Z91gFOnTrFhwwYmTpxoOmYLeUvh04ScnJyIiooiJSWlyvGUlBT69u1roaiaXlhYGP7+/lXy1ul0pKammvKOiopCo9FUaZOdnc3Bgwet+rVRFIXnn3+er7/+mp9//pmwsLAqj9ty7jVRFIWysjKbznvIkCEcOHCAvXv3mr6io6N54okn2Lt3Lx06dLDZ3G9UVlbGkSNHCAgIsOn3HODuu++utlTFr7/+SmhoKGAfP+srV67E19eX+++/33TMJvJu7tnU9qbydvbly5crhw8fVqZOnaq4ubkpJ0+etHRot6SwsFDJyMhQMjIyFEBZsGCBkpGRYbpN/6233lK8vLyUr7/+Wjlw4IDy2GOP1Xi7Y1BQkLJhwwZlz549yuDBg63mdsfa/OUvf1G8vLyUTZs2Vbnds7i42NTGVnNPSEhQNm/erGRmZir79+9XZsyYoTg4OCjJycmKothu3jW5/q4uRbHd3P/6178qmzZtUk6cOKFs375deeCBBxQPDw/T55et5q0oFUsXODo6Km+88YZy/Phx5bPPPlNcXV2VTz/91NTGlvM3GAxKSEiI8sorr1R7rKXnLYVPM1i8eLESGhqqODk5KXfccYfp1ueWbOPGjQpQ7eupp55SFKXiVs/XXntN8ff3V7RardK/f3/lwIEDVc5RUlKiPP/884q3t7fi4uKiPPDAA0pWVpYFsqm/mnIGlJUrV5ra2GruEyZMMP07btu2rTJkyBBT0aMotpt3TW4sfGw198r1WTQajRIYGKiMGjVKOXTokOlxW8270nfffadERkYqWq1W6datm/L+++9XedyW81+/fr0CKMeOHav2WEvPW6UoimKRriYhhBBCiGYmc3yEEEIIYTek8BFCCCGE3ZDCRwghhBB2QwofIYQQQtgNKXyEEEIIYTek8BFCCCGE3ZDCRwghhBB2QwofIYQQQtgNKXyEEEIIYTek8BFCCCGE3ZDCRwghhBB2QwofIYQQQtiN/w8vLtzFrgChKQAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "J=2\n", "f = 2.0*np.sqrt(2*np.log(2))\n", "sig = (60.0/f)*2**J\n", "\n", "# FWHM from scale parameter\n", "FWHM = 60*2**J\n", "\n", "# normalized gaussian distribution\n", "g = gaussian(3*FWHM, sig, sym=False)\n", "# distribution density (sums up to 1)\n", "gd = g/(np.sqrt(2*np.pi)*sig)\n", "print(f\"sum of distribution density: {np.sum(gd):.3f}\")\n", "\n", "x0 = np.argmax(gd)\n", "x1, x2 = x0-.5*FWHM, x0+.5*FWHM\n", "plt.figure()\n", "_ = plt.plot(g/np.sqrt(2*np.pi)/sig, label='gaussian distribution density')\n", "_ = plt.hlines(.5*np.max(gd),x1,x2,color='k', label=f'FWHM={FWHM}')\n", "_ = plt.grid()\n", "_ = plt.legend()\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "ExecuteTime": { "end_time": "2024-02-14T13:47:03.512453300Z", "start_time": "2024-02-14T13:47:02.875075900Z" }, "collapsed": false }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/home/jonas/miniconda3/envs/pyrnet/lib/python3.11/site-packages/matplotlib/cbook/__init__.py:1335: ComplexWarning: Casting complex values to real discards the imaginary part\n", " return np.asarray(x, float)\n" ] }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# shift array, so that it starts with the maxima\n", "gd_rolled = np.roll(gd, np.floor_divide(3*FWHM, 2))\n", "\n", "# calculate the frequency response of the Gaussian window\n", "gd_fft = np.fft.fft(gd_rolled)\n", "fft_freq = np.fft.fftfreq(gd_rolled.shape[0])\n", "\n", "fig, axs = plt.subplots(2,1)\n", "_ = axs[0].set_title(\"Gaussian distribution density\")\n", "_ = axs[0].plot(gd_rolled)\n", "_ = axs[0].grid(True)\n", "_ = axs[0].set_xlabel('Sample')\n", "_ = axs[0].set_ylabel('Amplitude')\n", "\n", "_ = axs[1].set_title(\"Frequency response of the Gaussian window\")\n", "_ = axs[1].plot(fft_freq,gd_fft,'b.')\n", "_ = axs[1].set_xlabel('normalized frequency (cycles per sample)')\n", "_ = axs[1].set_ylabel('normalized magnitude (dB)')\n", "_ = axs[1].set_xlim([-.05,.05])\n", "fig.tight_layout()" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "ExecuteTime": { "end_time": "2024-02-14T13:47:03.580391Z", "start_time": "2024-02-14T13:47:03.512453300Z" }, "collapsed": false }, "outputs": [], "source": [ "#|export\n", "def gauss_fwin_fwhm(fwhm: float, N: int = 86400) -> NDArray:\n", " \"\"\"\n", " Convert scale parameter to FWHM of Normal distribution see\n", " [https://en.wikipedia.org/wiki/Full_width_at_half_maximum#Normal_distribution]\n", "\n", " Parameters\n", " ----------\n", " fwhm: float\n", " FWHM of the gaussian distribution\n", " N: int\n", " Number of points in the output window. If zero, an empty array is returned. An exception is thrown when it is negative.\n", " The default is 86400 (seconds per day).\n", "\n", " Returns\n", " -------\n", " ndarray\n", " Frequency response of the gaussian window\n", " \"\"\"\n", " f = 2.0*np.sqrt(2*np.log(2))\n", " sig = fwhm/f\n", " g = gaussian(N, sig, sym=False)/np.sqrt(2*np.pi)/sig\n", " return np.fft.fft(np.roll(g, np.floor_divide(N, 2)))\n", "\n", "def gauss_fwin(J: float, N: int=86400) -> NDArray:\n", " \"\"\"\n", " Convert scale parameter to FWHM of Normal distribution see\n", " [https://en.wikipedia.org/wiki/Full_width_at_half_maximum#Normal_distribution]\n", "\n", " Parameters\n", " ----------\n", " J: float\n", " scale parameter for FWHM, with FWHM=60*2**J\n", " N: int\n", " Number of points in the output window. If zero, an empty array is returned. An exception is thrown when it is negative.\n", " The default is 86400 (seconds per day).\n", "\n", " Returns\n", " -------\n", " ndarray\n", " Frequency response of the gaussian window\n", " \"\"\"\n", " fwhm = 60.*2**J\n", " return gauss_fwin_fwhm(fwhm, N=N)\n", "\n" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [ "### Smoothing Data by convolution" ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "ExecuteTime": { "end_time": "2024-02-14T13:47:03.613645500Z", "start_time": "2024-02-14T13:47:03.527480200Z" }, "collapsed": false }, "outputs": [], "source": [ "#|export\n", "def smooth_fwhm(y: ArrayLike, fwhm: float, axis: int = 0) -> NDArray:\n", " \"\"\"\n", " Smooth data with gaussian window by convolution\n", "\n", " Parameters\n", " ----------\n", " y: array_like\n", " Input array.\n", " fwhm: float\n", " FWHM of the gaussian window to be convolved with the input array.\n", " axis: int, optional\n", " Axis over which to smoothing is applied.\n", "\n", " Returns\n", " -------\n", " ndarray\n", " Smoothed array of the same shape as the input array `y`.\n", " \"\"\"\n", " Y = np.fft.fft(y, axis=axis)\n", " W = gauss_fwin_fwhm(fwhm, y.shape[axis])\n", " if y.ndim > 1:\n", " W = np.expand_dims(W, axis=axis).T\n", " return np.fft.ifft(Y * W, axis=axis).real\n", "\n", "def smooth(y: ArrayLike, J: float, axis: int = 0) -> NDArray:\n", " \"\"\"\n", " Smooth data with gaussian window by convolution\n", "\n", " Parameters\n", " ----------\n", " y: array_like\n", " Input array.\n", " J: float\n", " Scale parameter for the FWHM (FWHM=60*2**J) of the\n", " gaussian window to be convolved with the input array.\n", " axis: int, optional\n", " Axis over which to smoothing is applied.\n", "\n", " Returns\n", " -------\n", " ndarray\n", " Smoothed array of the same shape as the input array `y`.\n", " \"\"\"\n", " fwhm = 60.*2**J\n", " return smooth_fwhm(y, fwhm, axis=axis)\n" ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "ExecuteTime": { "end_time": "2024-02-14T13:47:03.994147100Z", "start_time": "2024-02-14T13:47:03.601571900Z" }, "collapsed": false }, "outputs": [ { "data": { "image/png": "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hQsX8r//+79kZGQwduzYRj//u+++y7333stjjz1GVlYWv/vd79i+fTudO3cG4PLLL+cf//gHr732GgMGDGDt2rU8/fTTDT5mbGwsc+fOZfDgwQwZMoQjR46wevVqn1oaTXx8PJ988gm5ubkMGDCAGTNmMHPmTACfOpLzeeWVV0hKSuKKK65gzJgxjBo1iksvvbTR5weCooZANZTVaiUhIYHi4mLi42VapGjbfjr3E2P/M5aEyAS+uusrAL5dt5r1//g7PYZcztjHG/5jJISqqrxy91hU1c3/7433iU1qx+4Tuxm3ZhyD2g1iWo9pdOvWza8PHHFhWLJkCffddx/FxcVE+VHT0xyVlZUcPny4zmuysZ/fUjMiRIBpG+UZqiUeK70LO0VGxwalTyK0KIpCZHQ0lWWl2MrKiE1qV1V0qMpGeaLK+++/T/fu3enYsSPffvst06ZN44477mi1QCRQJBgRIsDqWg7eXu4NRqpNQRSiIZExMZ5gxHvtyN40oi6FhYXMnDmTwsJC0tPTuf3223n++eeD3S2/STAiRIDV9WGhfaBERkswIhrHk0U7URWMKBKMiNqmTp3K1KlTg92NZpMCViECrK6pvVXDNBKMiMaJ9E7VtXmLn2vudSREOJFgRIgWIsM0ojm0a8VWXg6E/tReIRoiwYgQAVbn1F4JRoSftGJnGaYRFwIJRoQIsLqGaWzaME2UBCOiceobppFgRIQjCUaECDA3nqmXMkwjmqPmMI0W28rUXhGOJBgRItC01eCV2sM0FglGRCPVGqaRmhERxvwKRl5//XX69etHfHw88fHxDB06lM8++6zBczZu3MigQYOwWCx0796dN954o1kdFqKtq1kz4nI6cNo8S3pHyGwa0Ug1h2ka2rVXBN748eO56aabAv64ixcvrnOfmcZSFIWPP/44YP1prMzMTBYsWNBij+9XMNKpUydefPFFdu7cyc6dO7nmmmsYO3Ys3333XZ3tDx8+zOjRo7nyyivZs2cPTz31FJMnT2b58uUB6bwQbVHNmhE9zQ5ERrX9nVVF26AN01TKomct6siRIyiKQm5ubrC70igFBQXN2s+nrfJr0bMxY8b43H7++ed5/fXX2bZtG3379q3V/o033qBLly56NNW7d2927tzJvHnzuPXWW5veayHasJorsGpp9oioKAxGY9D6JUKLNkxjrxbMAjJMc4FLS0sLdhdaRJNrRlwuF0uXLqWsrIyhQ4fW2ebrr79m5MiRPsdGjRrFzp07cTgc9T62zWbDarX6/AgRKmp+c7XJvjSiCfQCVm02TRhM7V22bBnZ2dlERUWRnJzMtddeS5n390MbFnnhhRdITU0lMTGR2bNn43Q6eeKJJ2jXrh2dOnXinXfe8XnMffv2cc011+iP+cADD1BaWqrf73a7eeaZZ+jUqRORkZEMGDCANWvW6Pd369YNgIEDB6IoCldffbXP48+bN4/09HSSk5N56KGHfD677HY7U6dOpWPHjsTExPCrX/2KnJwcn/MXL15Mly5diI6O5uabb+b06dMNvkd2u51JkyaRnp6OxWIhMzOTOXPm6PfXHKbZunUrAwYMwGKxMHjwYD7++GOfTE9OTg6KovDFF18wePBgoqOjueKKK8jLy9Mf49ChQ4wdO5bU1FRiY2MZMmQI69evb7CfgeZ3MLJv3z5iY2OJjIxk4sSJrFy5kj59+tTZtrCwkNTUVJ9jqampOJ1OTp06Ve9zzJkzh4SEBP1H245ZiFBQa5hGD0ZkiEY0nrZab61hmjo2WldVFYfN1eo//mz6XlBQwN13382ECRPYv38/OTk53HLLLT6P8eWXX3L8+HE2bdrEyy+/zKxZs7jxxhtJSkpi+/btTJw4kYkTJ3L06FEAysvLue6660hKSmLHjh189NFHrF+/nkmTJumP+eqrrzJ//nzmzZvH3r17GTVqFL/73e84ePAgAN988w0A69evp6CggBUrVujnbtiwgUOHDrFhwwbee+89Fi9ezOLFi/X777vvPrZs2cLSpUvZu3cvt99+O9ddd53+2Nu3b2fChAk8+OCD5Obm8pvf/Ibnnnuuwfdp4cKFrFq1in//+9/k5eXxwQcfkJmZWWfbkpISxowZQ3Z2Nrt37+bZZ59l2rRpdbadMWMG8+fPZ+fOnZhMJiZMmKDfV1payujRo1m/fj179uxh1KhRjBkzhvz8/Ab7Gkh+702TlZVFbm4u586dY/ny5YwbN46NGzfWG5BUn1EA1f5QK/UvbTx9+nSmTJmi37ZarRKQiJChfXPVCg5tFTKtV/hPu16cNhsup7PBmhGn3c2bj2xs1f4BPPDqcMyRjRt6LCgowOl0csstt9C1a1cAsrOzfdq0a9eOhQsXYjAYyMrK4qWXXqK8vJynnnoK8Hw2vPjii2zZsoW77rqLJUuWUFFRwfvvv0+M9/1atGgRY8aMYe7cuaSmpjJv3jymTZvGXXfdBcDcuXPZsGEDCxYs4G9/+xsdOnQAIDk5udYQSFJSEosWLcJoNNKrVy9uuOEGvvjiC+6//34OHTrEv/71L3755RcyMjIAePzxx1mzZg3vvvsuL7zwAq+++iqjRo3iySefBKBnz55s3brVJzNTU35+PhdffDG//vWvURRFf6/qsmTJEhRF4a233sJisdCnTx+OHTvG/fffX6vt888/z/DhwwF48sknueGGG6isrMRisdC/f3/69++vt33uuedYuXIlq1at8gnsWpLfmZGIiAh69OjB4MGDmTNnDv379+fVV1+ts21aWhqFhYU+x4qKijCZTCQnJ9f7HJGRkfqMHe1HiFBRM+C2yb40ogmqFzvbystCfpimf//+jBgxguzsbG6//Xbeeustzp4969Omb9++GAxVH0upqak+AYvRaCQ5OZmioiIA9u/fT//+/fVABGDYsGG43W7y8vKwWq0cP36cYcOG+TzPsGHD2L9//3n73LdvX4zV6rzS09P15969ezeqqtKzZ09iY2P1n40bN3Lo0CG9fzXLGOora9CMHz+e3NxcsrKymDx5MmvXrq23bV5eHv369cNisejHLrvssjrb9uvXz+d1APprKSsrY+rUqfTp04fExERiY2M5cOBA286M1KSqKjbvtMWahg4dyieffOJzbO3atQwePBiz2dzcpxaiTao5tVcb85dgRPjDYDRitkThqKzwBCNR9Q/TmCIMPPDq8NbuIqaIxn+fNRqNrFu3jq1bt7J27Vpee+01ZsyYwfbt2/W6jZqfC4qi1HnM7fYs/Kaqar1Z9urH68rQN5Sd1zT03G63G6PRyK5du3wCFoDY2Fj9efx16aWXcvjwYT777DPWr1/PHXfcwbXXXsuyZctqta3rddT3nNVfi3aO9lqeeOIJPv/8c+bNm0ePHj2Iioritttuw263+93/pvIrM/LUU0+xefNmjhw5wr59+5gxYwY5OTncc889gCeFdu+99+rtJ06cyM8//8yUKVPYv38/77zzDm+//TaPP/54YF+FEG1IzT8GtgrPbAgZphH+0q4Ze3l5g7v2KoqCOdLY6j+N+UCv2c9hw4Yxe/Zs9uzZQ0REBCtXrmzy+9OnTx9yc3P1IliALVu2YDAY6NmzJ/Hx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7XaraWlp6osvvqgfq6ysVBMSEtQ33nijlXrYNgDqypUr9duNeW/OnTunms1mdenSpXqbY8eOqQaDQV2zZk2r9T0Yar5fqqqq48aNU8eOHVvvORfy+1VUVKQC6saNG1VVleurITXfK1WVa+t8kpKS1H/84x9t6rq6IDMjdrudXbt2MXLkSJ/jI0eOZOvWrUHqVdtx8OBBMjIy6NatG3fddRc//fQTAIcPH6awsNDnfYuMjGT48OEX/PvWmPdm165dOBwOnzYZGRlccsklF+z7l5OTQ0pKCj179uT++++nqKhIv+9Cfr+Ki4sBaNeuHSDXV0NqvlcaubZqc7lcLF26lLKyMoYOHdqmrqsLMhg5deoULpeL1NRUn+OpqakUFhYGqVdtw69+9Svef/99Pv/8c9566y0KCwu54oorOH36tP7eyPtWW2Pem8LCQiIiIkhKSqq3zYXk+uuvZ8mSJXz55ZfMnz+fHTt2cM0112Cz2YAL9/1SVZUpU6bw61//mksuuQSQ66s+db1XINdWTfv27SM2NpbIyEgmTpzIypUr6dOnT5u6rkJi196WoiiKz21VVWsdu9Bcf/31+r+zs7MZOnQoF110Ee+9955eACbvW/2a8t5cqO/fnXfeqf/7kksuYfDgwXTt2pVPP/2UW265pd7zwv39mjRpEnv37uWrr76qdZ9cX77qe6/k2vKVlZVFbm4u586dY/ny5YwbN46NGzfq97eF6+qCzIy0b98eo9FYK6orKiqqFSFe6GJiYsjOzubgwYP6rBp532przHuTlpaG3W7n7Nmz9ba5kKWnp9O1a1cOHjwIXJjv18MPP8yqVavYsGEDnTp10o/L9VVbfe9VXS70aysiIoIePXowePBg5syZQ//+/Xn11Vfb1HV1QQYjERERDBo0iHXr1vkcX7duHVdccUWQetU22Ww29u/fT3p6Ot26dSMtLc3nfbPb7WzcuPGCf98a894MGjQIs9ns06agoID//ve/F/z7B3D69GmOHj1Keno6cGG9X6qqMmnSJFasWMGXX35Jt27dfO6X66vK+d6rulzI11ZdVFXFZrO1resqYKWwIWbp0qWq2WxW3377bfX7779XH330UTUmJkY9cuRIsLsWVI899piak5Oj/vTTT+q2bdvUG2+8UY2Li9PflxdffFFNSEhQV6xYoe7bt0+9++671fT0dNVqtQa55y2vpKRE3bNnj7pnzx4VUF9++WV1z5496s8//6yqauPem4kTJ6qdOnVS169fr+7evVu95ppr1P79+6tOpzNYL6vFNPR+lZSUqI899pi6detW9fDhw+qGDRvUoUOHqh07drwg368//elPakJCgpqTk6MWFBToP+Xl5Xobub48zvdeybXla/r06eqmTZvUw4cPq3v37lWfeuop1WAwqGvXrlVVte1cVxdsMKKqqvq3v/1N7dq1qxoREaFeeumlPlPDLlR33nmnmp6erprNZjUjI0O95ZZb1O+++06/3+12q3/961/VtLQ0NTIyUr3qqqvUffv2BbHHrWfDhg0qUOtn3Lhxqqo27r2pqKhQJ02apLZr106NiopSb7zxRjU/Pz8Ir6blNfR+lZeXqyNHjlQ7dOigms1mtUuXLuq4ceNqvRcXyvtV1/sEqO+++67eRq4vj/O9V3Jt+ZowYYL+OdehQwd1xIgReiCiqm3nulJUVVUDl2cRQgghhPDPBVkzIoQQQoi2Q4IRIYQQQgSVBCNCCCGECCoJRoQQQggRVBKMCCGEECKoJBgRQgghRFBJMCKEEEKIoJJgRAghhBBBJcGIEEIIIYJKghEhhBBCBJUEI0IIIYQIKglGhBBCCBFU/3/UreLGAZGU0wAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "axis=0\n", "sig = np.repeat([0., 1., 0.], 100)\n", "sig2 = np.vstack((sig*2,sig*4))\n", "\n", "fwhm = 10\n", "filtered = smooth_fwhm(sig, fwhm, axis=0)\n", "filtered2 = smooth_fwhm(sig2, fwhm, axis=1)\n", "\n", "\n", "fig, ax = plt.subplots(1,1)\n", "_ = ax.plot(sig, label='signal')\n", "_ = ax.plot(sig2.T, label='signal')\n", "_ = ax.plot(filtered, label='smoothed signal')\n", "_ = ax.plot(filtered2.T, label='smoothed signal')\n", "_ = ax.legend()\n", "fig.show()" ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "ExecuteTime": { "end_time": "2024-02-14T13:47:03.995141300Z", "start_time": "2024-02-14T13:47:03.986935600Z" }, "collapsed": false }, "outputs": [], "source": [ "# from pyrnet import pyrnet\n", "# date = dt.datetime(2013,7,15)\n", "# pyr = pyrnet.read_pyrnet(date, 'hope_juelich')\n", "# \n", "# z0 = pyr.ghi.data[:,0]\n", "# z1 = smooth(pyr.ghi.data, 0, axis=0)\n", "# z2 = smooth(pyr.ghi.data.T, 5, axis=-1)\n", "# \n", "# fig, ax = plt.subplots(1,1)\n", "# _ = ax.plot(z0,'k')\n", "# _ = ax.plot(z1[:,0],'g')\n", "# _ = ax.plot(z2[0,:],'r')\n", "# _ = ax.grid(True)\n", "# fig.show()" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [ "# Tilted Pyranometer Utils\n", "Functions to calculate apparent zenith angle and simple correction to horizontal irradiance." ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "ExecuteTime": { "end_time": "2024-02-14T13:47:04.101337100Z", "start_time": "2024-02-14T13:47:04.002147400Z" }, "collapsed": false, "tags": [ "hide-input" ] }, "outputs": [], "source": [ "#|export\n", "#|dropcode\n", "def make_iter(x):\n", " \"\"\"Check if x is an iterable, if not make it so and return np.array(x).\n", " \"\"\"\n", " if isinstance(x, str):\n", " x = [x]\n", " try:\n", " iter(x)\n", " except:\n", " x = [x]\n", " return np.array(x)\n", "\n", "def check_tilted(x):\n", " \"\"\"\n", " Check x attrs 'hangle' and 'vangle' if available and >0.1 degree.\n", " \n", " Parameters\n", " ----------\n", " x: xr.DataArray\n", "\n", " Returns\n", " -------\n", " list of bools\n", " True if vangle attribute > 0.1 degree. Same length as 'x.vangle'.\n", " \"\"\"\n", " is_tilted = np.full(x.shape[1], False)\n", " # check if this is a tilted irradiance measurement\n", " if \"vangle\" in x.attrs:\n", " vangle = make_iter(x.attrs[\"vangle\"])\n", " hangle = make_iter(x.attrs[\"hangle\"])\n", " try:\n", " assert len(vangle)==len(is_tilted)\n", " except:\n", " raise Exception(f\"Attribute vangle and hangle of {var} should have the same length as the station dimension.\")\n", " is_tilted = np.abs(vangle)>0.1\n", " return is_tilted" ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "ExecuteTime": { "end_time": "2024-02-14T13:47:04.104561300Z", "start_time": "2024-02-14T13:47:04.019733300Z" }, "collapsed": false }, "outputs": [], "source": [ "#|export\n", "def calc_apparent_coszen(pitch,yaw,zen,azi):\n", " \"\"\"\n", " Calculate cosine of apparent zenith angle\n", "\n", " Parameters:\n", " -----------\n", " pitch: float, array of float\n", " Platform pitch angle (degrees) - Angle between vertical and platfrom normal vector, e.g. platform zenith angle\n", " yaw: float, array of float\n", " Platform yaw angle (degrees) - Angle positive clockwise from north, e.g. platfrom azimuth angle\n", " zen: flaot, array of float\n", " Solar zenith angle (degrees)\n", " azi: float, array of float\n", " Solar azimuth angle (degrees)\n", "\n", " Returns:\n", " --------\n", " coszen: float, array of float\n", " The cosine of the platform apparent zenith angle (angle between solar and platform normal vector)\n", " \"\"\"\n", " #calculate the angle between radiometer normal to sun position vector\n", " p = np.deg2rad(-1.*pitch)\n", " z = np.deg2rad(zen)\n", " g = np.deg2rad(azi - yaw) \n", " coszen = -np.sin(z)*np.sin(p)*np.cos(g) + np.cos(z)*np.cos(p)\n", " return coszen # cos of angle between radiometer normal and solar vector\n", "\n", "def tilt_correction_factor(dp, dy, szen, sazi):\n", " tczen = calc_apparent_coszen(dp, dy, szen, sazi)\n", " return np.cos(np.deg2rad(szen))/tczen\n", "\n", "def bias_optimize_pitch(vals,ghi,ghi_t,zen,azi,dp):\n", " dy = vals\n", " F = ghi_t*tilt_correction_factor(dp,dy,zen,azi)\n", " return np.nanmean(np.abs(ghi-F))\n", "\n", "def bias_optimize_yaw(vals,ghi,ghi_t,zen,azi,dy):\n", " dp = vals\n", " F = ghi_t*tilt_correction_factor(dp,dy,zen,azi)\n", " return np.nanmean(np.abs(ghi-F))\n", "\n", "def bias_optimize(vals,ghi,ghi_t,zen,azi):\n", " dp, dy = vals\n", " F = ghi_t*tilt_correction_factor(dp, dy, zen, azi)\n", " return np.nanmean(np.abs(ghi-F))" ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "ExecuteTime": { "end_time": "2024-02-14T13:47:04.105557200Z", "start_time": "2024-02-14T13:47:04.035130200Z" }, "collapsed": false }, "outputs": [], "source": [ "assert 10==np.round(np.rad2deg(np.arccos(calc_apparent_coszen(20,180,30,180))),3)\n", "assert 60==np.round(np.rad2deg(np.arccos(calc_apparent_coszen(30,0,30,180))),3)\n", "assert tilt_correction_factor(30,180,20,180)<1 # zenith distance from tilted to sun is shorter than horizontal to sun\n", "assert tilt_correction_factor(40,180,20,180)==1 # zenith distance from tilted to sun is equal horizontal to sun\n", "assert tilt_correction_factor(41,180,20,180)>1 # zenith distance from tilted to sun is longer than horizontal to sun" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [] }, { "cell_type": "code", "execution_count": 22, "metadata": { "ExecuteTime": { "end_time": "2024-02-14T13:47:05.392671400Z", "start_time": "2024-02-14T13:47:04.049748700Z" }, "collapsed": false, "tags": [ "remove-cell", "hide-input", "hide-output" ] }, "outputs": [], "source": [ "#|hide\n", "# Export module\n", "# Requires *nbdev* to export and update the *../lib/utils.py* module\n", "import nbdev.export\n", "import nbformat as nbf\n", "name = \"utils\"\n", "\n", "# Export python module\n", "nbdev.export.nb_export( f\"{name}.ipynb\" ,f\"../../src/pyrnet\")\n", "\n", "# Export to docs\n", "ntbk = nbf.read(f\"{name}.ipynb\", nbf.NO_CONVERT)\n", "\n", "text_search_dict = {\n", " \"#|hide\": \"remove-cell\", # Remove the whole cell\n", " \"#|dropcode\": \"hide-input\", # Hide the input w/ a button to show\n", " \"#|dropout\": \"hide-output\" # Hide the output w/ a button to show\n", "}\n", "for cell in ntbk.cells:\n", " cell_tags = cell.get('metadata', {}).get('tags', [])\n", " for key, val in text_search_dict.items():\n", " if key in cell['source']:\n", " if val not in cell_tags:\n", " cell_tags.append(val)\n", " if len(cell_tags) > 0:\n", " cell['metadata']['tags'] = cell_tags\n", " nbf.write(ntbk, f\"../../docs/source/nbs/{name}.ipynb\")" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [] }, { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.6" } }, "nbformat": 4, "nbformat_minor": 0 }