{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Basic Radiative Transfer Calculation with MC\n", "\n", "In this example we perform a full radiative transfer calculation using the MC model. The example illustrates how the calculation can be truncated either by reaching a maximum number of samples or by reaching a target precision." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "%matplotlib inline" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "import sasktran as sk\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "from sasktran.geometry import VerticalImage\n", "\n", "tanalts_km = np.linspace(10, 50, 9)\n", "\n", "# First recreate our geometry and atmosphere classes\n", "geometry = VerticalImage()\n", "geometry.from_sza_saa(sza=60, saa=60, lat=0, lon=0, tanalts_km=tanalts_km, mjd=54372, locallook=0,\n", " satalt_km=600, refalt_km=20)\n", "\n", "atmosphere = sk.Atmosphere()\n", "atmosphere['ozone'] = sk.Species(sk.O3OSIRISRes(), sk.Labow())\n", "atmosphere['air'] = sk.Species(sk.Rayleigh(), sk.MSIS90())\n", "atmosphere.brdf = 1.0\n", "\n", "# And now make the engine\n", "engine = sk.EngineMC(geometry=geometry, atmosphere=atmosphere)\n", "\n", "engine.max_photons_per_los = 300 # cap the calculation at 300 rays per line of sight\n", "engine.target_std = 0.05 # stop if 5% precision is achieved\n", "engine.solar_table_type = 0 # calculate single scatter source terms on the fly; no cache\n", "engine.debug_mode = 1234 # disable multi-threading, fix rng seed for reproducibility\n", "\n", "# Choose some wavelengths to do the calculation at\n", "engine.wavelengths = [600, 340]\n", "\n", "# And do the calculation\n", "engine_output = engine.calculate_radiance()" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYgAAAEGCAYAAAB/+QKOAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8vihELAAAACXBIWXMAAAsTAAALEwEAmpwYAABNfklEQVR4nO29d3ycd5Xv/z7qvVdLlmVb7r3EcQqpJCQhJCGELEu5piyBhV0WFjYL7P5uAlyWAIGFy8JeIJSEsiGBACGB9DiFOHHce6+yZPVep3x/f5xHtuLI0qiMZiSd9+s1L80885QzY8985nuqOOcwDMMwjHOJibQBhmEYRnRiAmEYhmEMiAmEYRiGMSAmEIZhGMaAmEAYhmEYAxIXaQNCIS8vz5WXl0faDMMwjAnF5s2b651z+SM9fkIIRHl5OZs2bYq0GYZhGBMKETk+muPNxWQYhmEMiAmEYRiGMSAmEIZhGMaATIgYhGEYUxefz0dlZSXd3d2RNiVqSUpKorS0lPj4+DE9rwmEYRhRTWVlJenp6ZSXlyMikTYn6nDO0dDQQGVlJTNnzhzTc4fVxSQix0Rkp4hsE5FN3rYcEXlaRA56f7PDaYNhGBOb7u5ucnNzTRzOg4iQm5sblhXWeMQgrnTOLXfOrfYefx541jk3B3jWe2wYhnFeTBwGJ1zvTySC1DcD93v37wduCdeFXj5Yz3eeORDazjt/C1t/GS5TDMMwJhzhFggHPCUim0XkDm9boXOuGsD7WzDQgSJyh4hsEpFNdXV1I7r4hiP1fO/Zg9S2hbD02vQT+PPn4OCzI7qWYRiTj+7ubtasWcOyZctYtGgRd91115v2uffeexER6uvrz2z72te+RkVFBfPmzePJJ58cT5PHlHALxCXOuZXA9cAnReSyUA90zv3IObfaObc6P39kleIJsbEEHByqbR9657WfAF8XPPdl6G4d0fUMw5hcJCYm8txzz7F9+3a2bdvGE088wauvvnrm+ZMnT/L0009TVlZ2ZtuePXt48MEH2b17N0888QSf+MQnCAQCkTB/1IRVIJxzVd7fWuD3wBqgRkSKAby/teG6fkKcvrzOnhD+cebfCPnzoWYX7PljuEwyDGMCISKkpaUBmm7r8/ne4O//zGc+wze+8Y03bPvjH//Ie97zHhITE5k5cyYVFRVs3LjxTecuLy/nrrvuYuXKlSxZsoR9+/YBcPfdd7Nu3TquvfZaysvLeeSRR7jzzjtZsmQJ1113HT6fL8yv+ixhS3MVkVQgxjnX5t2/Fvgy8CiwDrjH+xu2b+M+gejy+YfeWQSu+v/gN++D134I826A1NxwmWYYxgj40p92s6dqbFf4C6dlcNc7Fp33+UAgwKpVqzh06BCf/OQnufDCCwF49NFHKSkpYdmyZW/Y/9SpU6xdu/bM49LSUk6dOjXgufPy8tiyZQs/+MEPuPfee7nvvvsAOHz4MM8//zx79uzhoosu4ne/+x3f+MY3eOc738njjz/OLbfcMspXHRrhXEEUAi+LyHZgI/C4c+4JVBiuEZGDwDXe47CQEKuq3hHKCgJg/tt1FVG3F3Y+FC6zDMOYQMTGxrJt2zYqKyvZuHEju3btorOzk69+9at8+ctfftP+zrk3bTtfltGtt94KwKpVqzh27NiZ7ddffz3x8fEsWbKEQCDAddddB8CSJUvesF+4CdsKwjl3BFg2wPYG4OpwXbc/Z1YQvSEKhAhc9e/wm/fDlvthwU2QWRJGCw3DGA6D/dIPN1lZWVxxxRU88cQTvO1tb+Po0aNnVg+VlZWsXLmSjRs3UlpaysmTJ88cV1lZybRp0wY8Z2JiIqAi5Pf737Q9JiaG+Pj4MwITExPzhv3CzaTuxXQmBuEbRoBo3tshfwHUHYCtv4YBfg0YhjE1qKuro7m5GYCuri6eeeYZ5s+fz5IlS6itreXYsWMcO3aM0tJStmzZQlFRETfddBMPPvggPT09HD16lIMHD7JmzZrIvpARMqlbbSTExgLQPRyBiIk5u4rY9TAsuRVyZ4fJQsMwopnq6mrWrVtHIBAgGAxy++23c+ONNw56zKJFi7j99ttZuHAhcXFxfP/73yfW+y6aaMhA/rJoY/Xq1W4kA4Oe3lPDRx/YxN9dWs6/3ziMpWkwAP99CdQfgIv+Aa75krqfDMMYd/bu3cuCBQsibUbUM9D7JCKb+3WxGDZTwsXU1Rsc3oExsbqKcEHY/xeo2R0G6wzDMKKbyS0QsX0xiBEEdeZeBwULoPEQbP65rioMwzCmEJNbILwVhM8/AjdabBxc/gW9f+R5OLVlDC0zDMOIfia1QCT2CURwmC6mPuZfr3URjUd0FeHvHTvjDMMwopxJLRB9K4hAcISB+Nh4uPxf9f6JDXDilTGyzDAMI/qZ3AIRO0qBAJh3vdZFNB6BLb+E3o4xss4wDCO6mdwCMdoVBEBcIlz2WZAYOLUJjrwwRtYZhjERaG5u5rbbbmP+/PksWLCADRs2ANDY2Mg111zDnDlzuOaaa2hqajpzjLX7ngDE960gRlvrMe8GKJgPTcdg+2+gq3nUthmGMTH4p3/6J6677jr27dvH9u3bz9Qa3HPPPVx99dUcPHiQq6++mnvu0bZy1u57gjAmKwiA+GS45J+1yvr0Njj41OiNMwwj6mltbeXFF1/kIx/5CAAJCQlkZWUB2tZ73bp1AKxbt44//OEPZ7Zbu+8JQF8WU3C0AgFeRtOCs/MiZl0BaQMOwzMMI1z85fNweufYnrNoCVw/cFPpI0eOkJ+fz4c+9CG2b9/OqlWr+O53v0tqaio1NTUUFxcDUFxcTG2tjraxdt8ThDEJUp85WSpc/CmIidP/oPv+PPpzGoYR1fj9frZs2cLf//3fs3XrVlJTU8+4ks6HtfueIMTECLEio49B9DH/BtiwQAXiwF+g4mrImj425zYMY2jO80s/XJSWllJaWnpmSNBtt912RiAKCwuprq6muLiY6upqCgoKzhxj7b4nCPGxMjYrCIDEdFj7SYiJh9o96mqaAM0ODcMYGUVFRUyfPp39+/cD8Oyzz7Jw4UIAbrrpJu6//34A7r//fm6++eYz263dd4iISCywCTjlnLtRRO4GPgrUebt80TkXNn9NfFzM2AkEaF1EwQI4vUNTXue+DfLmjN35DcOIKr73ve/xvve9j97eXmbNmsXPfvYzAD7/+c9z++2385Of/ISysjIefvhhwNp9D+8CIv8MrAYy+glEu3Pu3lDPMdJ23wArv/I0+ekJPPnpy0d0/IBseQAe/yykFcKK98Nld2qGk2EYY461+w6NCdfuW0RKgbcD94XzOoOREBdDYIStmM7L/BuhYCG0nISTG6FmjLMqDMMwooBw/+z9DnAncO5X9D+IyA4R+amIZA90oIjcISKbRGRTXV3dQLuERHJ8LP5AcMDMghGTkgOrPgTxKVpdvfVX0Ns5duc3DMOIAsImECJyI1DrnNt8zlP/DcwGlgPVwLcGOt459yPn3Grn3Or8/PwR25GWGIcvEMQ/lnEIgCXvgtlXQXcLHHkOdj5kAWvDCBMTYfJlJAnX+xPOFcQlwE0icgx4ELhKRH7pnKtxzgWcc0Hgx0BYw/upiXH4Ao5e/xj7mRLTtdNr3lyoPwi7fgeVr4/tNQzDICkpiYaGBhOJ8+Cco6GhgaSkpDE/d9iymJxzXwC+ACAiVwCfc869X0SKnXPV3m7vBHaFywaAjCRdQfT6g6QmjvHJi5bA6r+D9V+Fys3w+n2QXW4V1oYxhpSWllJZWcloXM2TnaSkJEpLS8f8vJEolPuGiCwHHHAM+Fg4L5buCUTPWK8gAERg+XvgxF9h7580YL3xPrj8X3SWhGEYoyY+Pp6ZM2dG2owpybgIhHNuPbDeu/+B8bhmH2mJcfT6He09Yao+TMqEiz8NDUc0m+nYi1C4ABa9MzzXMwzDGCcmffJ+qhekbu8OYwfEkhWw/H2Qmg9VW2DnI1C7N3zXMwzDGAemhEA4oKkzjALR52oqvwyCQajeAq//xOZGGIYxoZn0ApGepF60+vae8F4oORsu/BgUL4WWSqjepvURwTDEPgzDMMaBSS8QqQkqEE2dveG/2PQ1sPBWyCiBqq1w7CU4sj781zUMwwgDk18gElUgGsK9ggB1Na14L8y4WOdGVG3RArqm4+G/tmEYxhgz6QUiLbFvBTFOY/pScmDVh2HaSmivgbr9Wh9hrTgMw5hgTH6B8GIQrV3jN2SDsrXaBjxntrqa6vbBzoetFYdhGBOKST1RDiAtUfuw9/gD43fRmBhNe63bC+212oIjIV07wE6/YPzsMAzDGAWTfgXRF4MISyX1YKTlw7L3Qulq6GqChoOw9RcqGIZhGBOAKSMQvvEWCIDyS/VWsEgn0LWdhk0/g8A4xUMMwzBGweQXCC/NtXfMpwaFQEwsrPiA1kYk58Dxv2o8Yl/YJqwahmGMGZM+BhEbIyTFxeCPhEAApBfCktuhowEOPwO1eyA2AfLnQcH8yNhkGIYRApN+BQGQnBCLb6wHBg2HmZdpLKJ4ua4gOhtg00902JBhGEaUMiUEIjUxjl5/kECkRCI2DlZ+QFcN6cXa8bWj0VpxGIYR1UwZgfAFHL5IuZkAMqZpC/BpK1UUTm3SGokjL0TOJsMwjEGYEgKRlhAbvqFBw2H2VVC4CErXQPMx6KiDXQ9D84nI2mUYhjEAYRcIEYkVka0i8pj3OEdEnhaRg97f7HDbkJYUf2bsaESJjYeV/wuyyiB7pjbz8/u0FYevK7K2GYZhnMN4rCD+Ceg/PefzwLPOuTnAs97jsJKeFIc/4CKT6nouWdNhwY1QtFQb+h1/SYvndv7WWnEYhhFVhFUgRKQUeDtwX7/NNwP3e/fvB24Jpw0AGUnx9AaC9PjGsd3GYMy5FnJnw4xLoK0aKjfBoWf1r2EYRpQQ7hXEd4A7gf4/3Qudc9UA3t+CgQ4UkTtEZJOIbKqrqxuVEcWZSfT4g9S0do/qPGNGXAKs/jDkzIKSC6DxsNZIrP8a7HnUKq0Nw4gKwiYQInIjUOuc2zyS451zP3LOrXbOrc7Pzx+VLdNzUgDYdjKK6g6ypsOVX4S518Lsq4EYOPI8vHQvvPANbcthGIYRQcJZSX0JcJOI3AAkARki8kugRkSKnXPVIlIMhL173fScZAB2n4oigQCdHXHJp2HP7yEhDWp2QvV26KiHxqOw6oPe8KEpkWxmGEaUEbZvHufcF5xzpc65cuA9wHPOufcDjwLrvN3WAX8Mlw19TM/WFURtW5S4mPoTl6CtOC76BExf68UlTsP+P8OL34SNP7SKa8MwIkIkejHdAzwkIh8BTgDvDvcF89MTiY8VWrvHcWjQcBDRedYZJfDa/4OkLDixAY6+AF2NUH9QYxZFiyNtqWEYU4hxEQjn3HpgvXe/Abh6PK7bh4hQlJFEe4+fHn+AxLjY8bx86GSWwBWfhy2/hLhE7dt0eoe6nDpqYd6NsOgWiE+KtKWGYUwBJn031z5Ks1PYe7qVli4fBelRKhAACamw5qOQMxN2/U57Nx19EQ4+Az1tOqVu9Yche0akLTUMY5IzZQRiRm4Km4430trloyA9yn+Bx8RodlP2DNj4I0jMgOMvw5H10NmoMYrF74KKq3XmhGEYRhiYMgIxMy8VX8BxtL6DioL0SJsTGvnz4Mp/g40/hthYqDsIp7eru6m3HU7vhFXrIDUv0pYahjEJmTL5k2VeLcTWE82RNWS4pOTApZ/R6uuC+TD3BuhsgoNPq+vp2S/DyY3WpsMwjDFnyqwg+orl9lW3RtiSEdCXCps9E7Y8oG3Dj74AR9dD1xLo7YDTu2Dp7ZCYFmlrDcOYJEwdgfBqIZq6JmgbizOpsNM0FXbm5dqio/J1aKsBfw/U74fVH4H8uZG21jCMScCUcTFlpsSTkhBLa5ePYCTHj46WzFK44gs6eChnFix8p2Y3HXgC6g7AS9+C3X8Af2+kLTUMY4IzZQQCoCgziY4eP23RWjAXKn2psItvg/hEdT+lF8GR57Rdx97HtAq7tTrSlhqGMYGZUgJRmp1CR0+A5q5J8Ou6LxX2ks9AXDzMuhLKLoaa3SoU9Qfhuf+jI01t7rVhGCNgSglEeW4KHb1+mjsngUD0UTBfU2EzS7VuYsnt4O+GvY9CaxVs/SW8+gPoaoq0pYZhTDCmlEDMyksl6OBQbXukTRlb+lJhZ16hweyl79Oxpkee0+6wNbvg2a9A1XZLhzUMI2SmlECU5Xq1ECebI2tIOIhLgGV/o1lMgS6Y/VYVjPoD2hm2pxU2fB+2/9rmXxuGERJTSiD6Ul2P1XdE2JIwIQJlF2rDv4Qkbf637L26atj1O2ivgSMvwfP/AU3HIm2tYRhRzqB1ECKyI4Rz1DnnxrU760gp9QSiudOHcw4RibBFYSKzFC7/vMYfqrbA8vfDoae1sC7Hm4W9/h5YeAtUvBVip0w5jGEYw2Cob4ZY4IZBnhd0ANCEIDkhlszkeFq7/XT7giQnTOJGd4lpsOYOFYbdj0DFNZBdDoefg/ZamHeDbq/ZBSvXQdroxroahjH5GMrF9DHn3PFBbseATwx0oIgkichGEdkuIrtF5Eve9rtF5JSIbPNugwnQmFOUmURnr39ypLoORUwMzH2bpsIGe9XltOIDumLY+RC0VEHzCXjuK3DiNQtgG4bxBgYVCOfcy0OdYJB9eoCrnHPLgOXAdSKy1nvuP51zy73bn4dj8GiZnp1MR0+AlonacmMkFMyHK74I6dMg0APL/xcULITjL2kL8Zh4eP0n8PpPtSrbMAyDEIPUInKjiGwVkUYRaRWRNhEZtOudU/rySeO9W8R/opbnptLtC9DQNgVWEP1JzT2bCttxWrOc5t0Arac0synog6rNWlxXuy/S1hqGEQWEmsX0HWAdkOucy3DOpTvnMoY6SERiRWQbUAs87Zx7zXvqH0Rkh4j8VESyz3PsHSKySUQ21dXVhWjm0MwuSMMBu6tbxuycE4b+qbDdjZBaACvWaeuO3Y/A4eeh6QS89G3Y8bAOJzIMY8oSqkCcBHY5NzwntXMu4JxbDpQCa0RkMfDfwGzU7VQNfOs8x/7IObfaObc6P3/sAqgVBdoOe8LNhRgr+lJhr/yiDiTyd+qMiYq3ga8DDvwZjjyvbcWf/DfY8gvr6WQYU5RQ8xvvBP4sIi+gsQUAnHPfDuVg51yziKwHrnPO3du3XUR+DDwWurmjZ3a+CkR1c9fkTnUdioxpsPbvtR5i758g2AML3wXtp+HkBjj2IqTkahD72EswbYUOLcqZpSJjGMakJ1SB+CrQDiQBCaEcICL5gM8Th2TgrcDXRaTYOdf3k/SdwK5h2jwqclITSE2IpanTR0dvgLTEKVwDIAI5M+Hif4TGI7Dnj7qiWHSrpsKe2KCzsJOyoOUUVG2F3AqNXRQs1CwpwzAmLaF+O+Y4564d5rmLgftFJBZ1ZT3knHtMRH4hIsvRgPUx4GPDPO+omZ6TQk1rN43tvVNbIPoQgdzZGsSuPwh7/qDupkW36vzrPqFIzICipbpPejHMvxGmLdfYhmEYk45Qvx2fEZFrnXNPhXpi59wOYMUA2z8Q6jnCxcy8VI7Ud9DQ0XOmP5OBCkX+XLjsX6B2rwpFTyssuAW6GuD4KyoUCWlQvAzaqiA5W1cU0y+EBHsvDWMyEapAfBK4U0R6AB9aQe1CyWSKRuYWpvOXXac5XNvOirIBk6imNiJQuBDy50Ptbp1Q19MCC26C7mY4/le9xadobKKrSd1TFW+F8kshOSvCL8AwjLEgJIFwzqWfu00mcHR30TTVtW0nm7lt9fQIWxPFxMRA0RIoWASnd8Du30OPqFB0NcOJV1Qo4pJUKHraYf9fVCRmXwXphZF+BYZhjIKQBEJEvuyc+9/9HscAvwDeFy7DwklfquvByTYXIlzExGisoWgJVG2DPb8HgjDv7eqCOvGKxiliE1UoAj1w9EUoWQlzroGsGZb5ZBgTkFBdTGUi8gXn3NdEJBF4GNgSRrvCyvScFGIEGjt66eoNTO6mfWNJTCyUrtL4w6ktGqMI+mDu9dDbrjGKk6/Cqc0qKEG/3s+bo3GKvHmW+WQYE4hQBeJDwK9E5AvAlcBfnHP/GT6zwkt8bAyFGUm0dPlo6Oih1IKrwyM2DsrWQMkKqHzdS4/t1saA5W/R1UTlJk2LLVqm+Wr139VeUAtu1EwoazFuGFHPUPMgVvZ7+F3gh8BfgRdEZKVzbsKuImbkprCjsoWmDh+lFqceGbHxMONiKFkNJ1/TOdi+zrPB6hMboHqr3gqXADGw8UdaVzH/7VC6GuKTI/0qDMM4D0P9jDu3DUYTsNDb7oCrwmHUeDA7P43XjjRS2dzJktLMSJszsYlLgJlvgdILVBT2PQa9nRqonnGJup2qd2igu3ARFC+Hbb+CXY9odXb5JZA0IRPiDGNSM6hAOOeuHC9Dxpv5Rek4YFdlM9cvLo60OZOD+CSYfSWUrYVjf4V9j0OgWzvIll2sq4zqbTqkKH8BlKyCfY/C/sdh1uUw60pIzYvwizAMo4+hXEw3OucG7ZUUyj7RSF+q655qm38w5sQnw5y3woyL4OhLcOAvEOiFmZdB2UUat6jaAnV7IW8ulK6BIy/otLuSC7zMJ0s/NoxIM5SL6ZsicgotjDsf/8E4N9wbC2bna2lHbVsPPf4AiXGWyTTmJKTCvOvUhXTkBTj4lGY2zbhEK69PbdJgdv0BnZU9/UJdYVRuhIIFmh2VN8dSZA0jQgwlEDXAUB1bD46RLeNKZko8aYlxNHf20tjRS3GmBUvDRmK6Zi/NvExnThx6GlxQVxOlF2jKbOXrOrgoa4a6oxqPw0vfgqwyDWgXLrbMJ8MYZ4aKQVwxTnZEhJLsZKqbu0wgxoukDFh0s8YbDj2rYgEwfY1mNFVthZMbYcf/QEapCkhXC7z2/yAlR5sDlqyCuMTIvg7DmCJM6aqlWXmpdPYGqG3tGXpnY+xIzoIl74Jrv6zZT22noaNe02Uv/DhUXKO9n3Y9rEFsf6/mzG15AJ78Ihx4ymZnG8Y4MKUFoqIgDX/Qse/0oOO1jXCRkqMjUK/5kmY+tVVBR52mwa75OMy9Tusqdv8Odj4Evi6IS9WeUE9+UdNkbSyqYYSNKe3UXTRN6x/2WiZTZEnNgxXv0+yl/X/RuomYeK24LloKNbu1vmLPH3TKXdlFkDtH3VSHnoHpazVrKmNapF+JYUwqQm3WlwJ8Fihzzn1UROYA8yZiemt/FhZrqmtlUye+QJD42Cm9oIo8aQWwap0Wz+3/swauYxO1uK5wEdTt18aA+x7Tauyyi7Se4tTrur1oia46bCyqYYwJoX4j/gydRX2R97gS+D+DHSAiSSKyUUS2i8huEfmStz1HRJ4WkYPe34g1uijJTiY2Rmjs7KWpszdSZhjnklEMF3wErvp3nUvRclJdT/nzYdWHddJdXJLWV2y6D1pP64S7+kPw4jfhha/D6Z0QDET6lRjGhCZUgZjtnPsGOiwI51wXg9dGgArKVc65ZcBy4DoRWQt8HnjWOTcHeNZ7HBFiY4T89ETauvw0dphARB2ZpXDhx+CKL2g9RJ9Q5M6Bletg8bs1hfbQU9rjqfkYpBVpXGLD9+GZu+HEaxrkNgxj2IQqEL0ikozmkiAis1EBOC9O6Ru4EO/dHHAzcL+3/X7glmHaPKbMyEmho9dPXZtlMkUt2TNg7Sfg8jshuxxaTkBng7qSlr8flr5HA96Hn4ONP9SYRXKOriA2/wye/Dd9rrcj0q/EMCYUoQrEXcATwHQR+RX6y//OoQ4SkVgR2QbUAk87514DCp1z1QDe34LzHHuHiGwSkU11dXUhmjl8Fk3LoNsXZPvJ5rBdwxgDRCBnJlzyKZ2ZnVGsK4r2GsicDsveq2KRXqRzs1/9gVeQ59QdteNheOKLsP030HxCtxuGMSjiQvygiEgusBZ1Lb3qnKsP+SIiWcDvgX8EXnbOZfV7rsk5N2gcYvXq1W7Tpk2hXm5Y7Khs5qb/+isry7J48I6LSIizQPWEwDloOqbFdqc2Aw5S81UMupp08t3pHeDvguRsTZ3Nn6+DjYIBFZjZV+vwo8S0yL4WwwgTIrLZObd6xMcPJhDnzIN4E8OZByEidwEdwEeBK5xz1SJSDKx3zs0b7NhwCoRzjpVfeRoR4cE71jK38E3jt41op7MRTryqKa++LkjKhMQMcAGo26cV2q2nQGK1x1PxckhIh55mb0rehdovKnumTbwzJhWjFYhQ50EkAauB7egKYinwGnDpIIblAz7nXLMXv3gr8HXgUWAdcI/3948jNX4sEBEuqcjj8R3VbDjSYAIxEUnJgfk3QMXVOnfiwBPqfopNgIKF2sepvVYHF9Xs1nbjqQU6Pzt/nq5ATm7QuMXsq3SWdrJNkTKMkFxMIvIg8FXn3E7v8WLgc865Dw5yzFI0CB2Lxjoecs592XNVPQSUASeAdzvnBi2HDecKAuCpPae544HNXFKRy88/tMbqISY6zkHjEXU/VXmL3NQC7eHk74HaPbqq6KhVESlcBMUrtPtsVwMgWqA38zJtR25NAo0JSrhXEH3M7xMHAOfcLhFZPtgBzrkdwIoBtjcAVw/HyHBz1bwCkuJjOFLXwfGGTioKzCc9oRGB3Nl662yE469oFlN7lxbYFS/XW2uVNxJ1hwpGRilMW66iUH9AW48npMPsK7TrbNqA+RSGMWkJVSD2ish9wC/RVNX3A3vDZtU4Excbw4rpWWw81sSW440mEJOJlBxtNT7nGqjaftb9FJeogerMEg1Wn96hgrDvMYhL1hXEtOV6f9+fYe9jkFcBs67S4j3rKGtMAUJ1MSUBfw9c5m16Efhv51x3GG07Q7hdTAC/2HCM/++Pu7l6fj4//MBq4szNNDnpcz8delYFAfGynxL1uebj6paqPwg4DVxPW6EDjbpbNAsqLhHKL9UGgxkl1tbDiFrCmsUULYyHQLR0+lj5f56mLCeZn35wDTPzUsN6PSMK6Kj33E/Pg79b25Anan8uetqgerveetvU1VS8TG9xiVrRHQxotffsq6F4icYwDCOKGJcYhIgcxaui7o9zbtZILxxtZKbEM6cgjaP1HeyobDaBmAqk5sHCm7Q5YNU2dT81n9BaitQ8XSXMuBgaDmmM4vjLcPyv2vajeIVOv+tpg633w7ZYHXw0w9JljclDqDGI/gqUBLwbyBl7cyLLNQsL+d5zh3h692luXDqN2BhzHUwJ4pNgxlr9gm88rO6n09uBGA1M583VW1eTuqVO79Agdl8BXtFSiI3X+donNkBKnq4qSlZoTYZhTFBG7GISkZedc+etgxhLxsPFBHCsvoMr7l3P/KJ0fvSB1ZTlpoT9mkaU0l6nq4Uj6zU1NjlbGwMCBP3aerxqK7RWegV486F4pc6k8HVAVyMgKiAzL9NVR0xsBF+QMRUZLxdT/4rqGHRFMekqysrzUpmWlcSppi52VTWbQExl0vJh0S0w920qBAeeVPdTfLIOLeqbUdFeq6uKml1ahNdXgFewEGLioHavHp+YDrOuhOkXqPvKMCYAoWYxPd/voR84CnzLObc/XIb1Z7xWEACf/90OHnz9JO9eVcLX37WMGHMzGQDBoMYiDj0Np3fpaiA1XwvtAAK9ULMHqreoaMQmQMEiFYu0Am0B0lmvmVL582DWFSoicQkRfVnG5Ga8CuU+4pw7cs6FZ470otHMO1eU8ODrJzlQ005VSxel2baKMNCgc/5cvbXXwrGX1f0U6IXkXG34N225Zjm1VWuqbM1OLcTLKPHaesxXd1RLJbz2Qw2Gz3yLpsumF1u6rBF1hLqC2OKcW3nOts3OuVVhs6wf47mCCAa1eV9sjPC1W5dw7aKicbmuMQHp7fTcT09o2mt8irqfxMtg8nXpZLvqrRrgjkvWsajTVmhMw9+jqbbOrxlRs6/S5xPsR4kxNoR1BSEi84FFQKaI3NrvqQw0m2nSERMjrJqRzbP7annxQB3XLCxE7JedMRAJKdoFtuwizWo69LS6mWJiNRYRn6yZUaUXeAV4W3XOduVGHXw0bYVOx0Oguxk2/1z7Pk1fq+m12eW2qjAiylAupnnAjUAW8I5+29vQtt2Tkncsm8az+2rZd7qN063dFGcmR9okI5qJidEspoL50HZa3U9HX1T3U0ouJKTpl312udZN9LX12P17fa54mWY7ZZVBwAcnX9Oai5R8qHiruq6SMiL6Eo2pSagupouccxvGwZ4BGU8XE0BHt5/VX32G7JR4vnLLYq5eUDhu1zYmCb0dcGqLup86GyA+1XM/eSsCF4SGw7qqaDoCCORWwLSVKiSgbT26m/W5aSs0XpFbYemyRsiE28V0p3PuG8B7ReRvz33eOfepkV44mklNimN+UTo7TrWw4XADV80vMDeTMTwSUvULfcbFWjNx6GlNeY2JU/dTbLzWRuTNga5mrwBvOzQc1I6z01ZoPCJzurb0qNmlcyuSMmH2leq2Spl0tapGlDGUi6mvY+v4/XyPEq5bVMTWk83sqW6hrq2HgoxJGXIxwk1MrHZ/LVwIrdXqejr2sgamk3NVSJKzNO21/NKzBXhHntd98+erWPQ1BfR1wp4/6q1gAcy8XP/Gxkf6lRqTkEEFwjn3J+9up3Pu4f7Pici7w2ZVFPCO5dP45lP7qWruZu/pVhMIY/RkFMOyv4H5b9fVwIEnNXidkKbT7GLizhbgddSpUNTsgtrdWnMxbYXWVmROVxdV4zENiscnq1BMXwPpRRbYNsaM0aS5vmnbOc9PBx4AioAg8CPn3HdF5G40wF3n7fpF59yfB7v+eMcgQGdVX/2tF6hq7uLDl5bzL2+bb24mY2wJBtTtdOhpXTnExHvFd/1WA4HesxPw2mvOjlGdtgLSvNiYv0eL8IJ+yJmpfaAKF6lwGFOacMcgrgduAEpE5P/2eyoDrageDD/wWefcFhFJBzaLyNPec//pnLt3pEaPByLC5fPy+Nlfj7OnqpWGjl7y0mxIjDGGxMRC0WK9tVaddT8FA9rwLyFFBaF4ORT1FeB5q4rqbep2Kl6uLqaMEq3S7miE13+iIjPjYk3BzSqzVYUxIoaKQVQBm4GbvL99tAGfGexA51w1UO3dbxORvUDJyE0df965opSfv3Kc441d7Ktu5dI5+ZE2yZisZEyDZe9R91PlpnPcT9lafJcxTW+zr9Iq7aptsP9xOPwM5FRox9mcmRrTCPjg2F/hyAvqduqbWWHdZY1hEKqLKc45N9SKYbDjy9EpdIuBfwY+CLSiwe/POueaBjjmDuAOgLKyslXHjx8f6eVHjC8Q5Ob/epk91W1cu7CQb//NctISbYC9MQ4E/FC3Fw49o9PtnPPEIutspXbfBLyaXdonyt+tcYzsck8sKtTN1NsO3U2AaMX29DXaD8rae0x6wjpRTkR2MsCgIEAA55xbGoKBacALwFedc4+ISCFQ7533K0Cxc+7Dg50jEjGIPrafbOL9P9mIzx/kE1dW8A9XVlgDP2N86WqG2n06a6LhoAaoE9LPEYsgNJ+EhgMqKD2tgOjEu7w5kDtXVw89rdDTos8lZkDpap1nkV1ujQMnIeEWiBmDHeycG/RnvYjEA48BTzrnvj3A8+XAY865xYOdJ5IC4Zzju88e5P8+e5CC9CS+dutirpxvhXNGhOhuhTpPLOr2eyuL1LNuKNBt7TXa/qPhoGZEgdZf5M3R1UVqga44upo05TYmXgPbJau0GC85K2Iv0Rg7IjKTWkQuAd7rnPvkIPsIcD/Q6Jz7dL/txV58AhH5DHChc+49g10vkgIB0Nnr54M/3cjGY02smJ7Ft25fxqz8tIjZYxiAtu2o269iUbtXhSE+RcWif7V1V5OuKuoP6IAj0NVEricWmaW6AulqBn8nuvKY3s8VNc1GqE5Qxk0gRGQ58F7gdnQexCPOue8Nsv+lwEvATjTNFeCLwN8Cy1EX0zHgY32CcT4iLRAAe6pa+ODPXqeho5d3LC3my7csJiPJipOMKKGn3ROLVzUt1gUHFoveDo1X1B+ApmPgAtplNtcLcmeXaxyjpw26W9SZnJCmK4viZRoEj7NsvolCuF1Mc4H3oF/qDcBvgM855wZ1PY010SAQzjl+8vJRvvHEflISY/nYZbO447LZNrfaiD56O1QsTr6mw40Iqggk57xRLPw90HRUVxcNhyDQo66mnJm6usj1gtz+buhs1DqL2DhNqy1Zre6q5OyIvUxjaMItEEF0FfAR59whb9sR59yskV5wJESDQIC6mv7h11t5bl8tcwrSuPO6eVyz0OZFGFFMbyfU74eTG3U2RTCgg4pSvMrtPoIBHana4LmietvRrKeyfkHuDN2vu1lFSND6i9I12sk2o9RcUVFGuAXinegK4mLgCeBB4D7n3LhOk4sWgQDYV93Kx3+5mWMNnVxakctd71jEnMJJN57bmIz0duqXf+XrUL1dx6jGJb5ZLJzTtuUNB3T/zgbdnlZ0Nsid4s3V7m1XVxROO9aWrPRcUbMg3trTRJpxiUGISCpwC+pqugoNPv/eOffUSC88HKJJIJxz/Oq1E3z9L/sIOMeNS4v5txsWkpli8QhjAuHr8sRik1ZlB/yeWOS+USxABaIvyN1WpduSslQo8uZq8Z7EqMuqy3NFSYwGuEsu0DGt1nk2Iox7FpOI5ADvBv7GOXfVSC88HKJJIEBdTf/62x08vrOaaVnJvHfNdO64bDZxsba8NiYgvm6NQVRu1OrsgE9bfKTkvrlLbE+754Y6CM3HzgbD+zKismeowPS5onwdmo6SXgzTL9A+UpmlNtNinIhImut4E20CAepq+uzD29ld1cqKsiw+dtlsrlts8QhjguPv8cRik3acHUws/N3QeETFovGwNhaMTVD3Uu4cyJ2t8Q7nNGbR3Yy6opJ1MFKfK8pmcIcNE4gI4ZzjN5tO8u2nDtDY0cuV8wr47LVzmV9soyGNSYK/V7/4K1/3xKIXYhLUXRR7TtV10K9B7nqvktvXoW6mrBlekHsOJHqxOn+P1mYEfYB4rqjVniuq39Q9Y9SYQESQzl4/d/9xN3/YXkVGUhzXLijkX66bT3aqtSwwJhn+Xl0tnNoElZu9vk/xkJr7ZrFwTrvT9gW5u7xWa+nT+gW5c3VbMKBBbl+7uqLSCmD6hZpKm1VmrqhRYgIRYfZVt/K/H93NxqONLCzO4PolRXz88tnEWzzCmKwEfJ5YbIaTr2v9hMTql/65RXTOeUFur+1Hm1cTm5xzNsjd1zTQOV15dDUDTt1T05ZrS/Pc2dpSxBgWYZ0HYQzNvKJ0bltVSl1bN3uqW8lLS2BmXio3Lp0WadMMIzzExqtbKH8eLLldxaJqi9ZadHS/USxEIDVPbzMu1l5SfUHuyo1w8lWt1O4LcmeVQabXxibQC6e2aCsRRPcp9bKiUvPNFTUO2ApiDOjs9fMfj+/l0e1VBB1cPjePT1xRwaIS671vTCECfm3fUbVFq7h9XRqHSMnV1cC5+Lo1xlF/QEUm6IPYRF0t5M7RAHbfisQF1RXV06aPU/O0V1TBQo1zxNpv3YEwF1OUsK+6lXv+so8XD9ZRnpvKhTNz+Nzb5pFrU+iMqUgw4InFVu0P5escXCwCPp1t0eeK8nXpSiS7/GyQu8/F5Jyer6sJcN7UvWU6hjW3AhKtkWYfJhBRgnOOhzdX8sCGY+w61craWTmsnZnLJ66sICHO4hHGFKZPLKq3q7uot12//JNzB662dkFoOXU2yN3dotszSs8Gufv3gAr4tEAv0KuPc2Zp+4/8eRr0nsKuKBOIKKKz18/X/7KPJ3afprGjl6vmF3D9kmJuXjYNmcL/SQ3jDH09n/rEoqcNEF1ZxCe/eX/ndJ5F38qivUa3p+SdDXKnFZ4VARfUOEevNzApOVvFonCRFvGdW8sxyTGBiDL2Vbfy7WcOsH5/Hdkp8aydlcNHLpnF0ulZkTbNMKKLYBBaTkD1Djj+ytkpeCk5Wp09EN0tZ2stWk4CTusrzsy2mH42NdY58Hd5Q5GCKg5Fnisqr+JsXcYkxgQiyuhzNT2ypZJXjzSysiyLeYXpfObauRSkW/MywxiQYFC/8E97YtHVrDGL5JzzV1r7OqHBC3I3HdVivbgkL8g9V9uW96/RCPhULPw92ok2ewaUXugNRSqalK6oqBUIEZkOPAAUoQODfuSc+67Xy+k3QDk6MOh251zTYOeaSAIB6mr65hP7eelgHYfrOnjrgkIWFKfzyasqSIyzwh/DGBTnoKXyrFh0NuqXd7K3shjoizzg82ZbHNBWIf5u7QmVXa4ri5yKNwqNczqbu7tVz5eUqSm0hYsn1XzuaBaIYqDYObdFRNKBzWhH2A+iY0jvEZHPA9nOuX8d7FwTTSBAXU3fe/4QLx3QecBXzMvnsrn5vGtlqcUjDCNUnIPWU1C9E47/VYvuxIstxKcOLBYuCM0nvSD3wbOuq8xSFYvcOW+eue3rUiEiqMJStET7ReVVqHhMUKJWIN50IZE/Av/l3a5wzlV7IrLeOTdvsGMnokD0uZqe2FXN8/vrmFuQxoLidNZdPJMVZTaFyzCGjXNaid0Xs+isA+eJRcL5xMJpYLsvyN2hP9hILdCMqIJFb25FHvSrK8rXpY+zy6F0NeTP91qbT5wfeBNCIESkHHgRWAyccM5l9XuuyTn3pm9MEbkDuAOgrKxs1fHjx8Nu51jT52racqKJ7ZUt5KUlML8og7vesZCKgjRbSRjGSOkbanR6l64sOmoA0Ql3MkhaeVfT2dkWrZW6Wlj4To1bnO86Pa3qjkI0sF26GmZfPSFmXES9QIhIGvAC8FXn3CMi0hyKQPRnIq4g+jjZ2MH/vHaC1442cqC2nbZuP1kp8VwxJ587Lp/J/KJMYmyutWGMnL5VwoEndGWRNWNwkeijpw12/Q46amHBTbpCGApfN3TW6/jViz8FGcWjtz+MRLVAiEg88BjwpHPu2962/UwBF1N/AkHHjpPN/GHrKXZVt3CgRoVC02Bz+eilM1kyPcsa/BnGaAgGYNuv4djL2tMpFJHwd8PO32qcY971ULQ0tGt1Nmis4+J/1GypKCVqBULUf3I/GpD+dL/t3wQa+gWpc5xzdw52rokuEH30+AO8eriRP++s4nBdB/tr2s4IxeoZ2Xzw4nJWleeQFG+ZToYxIoIB2P5rODoMkQj0wu5HtNq74hooWRXatbpbtCp87SegcOGozA4X0SwQlwIvATvRNFeALwKvAQ8BZcAJ4N3OucbBzjVZBKKPtm4f6/fXsX5/LccbOs8IRU5KPMumZ/G3a6Zz0ew80pOmVtWnYYwJwQBs/x84+lLoIhH0w54/aiB75hVQtja0a/V2qMtp9Ye1eWCUEbUCMZZMNoHoo6G9hyd3n2bjkUaqWrrZW91KW4+fnNQElkzL4J0rS3jLnHxr+GcYw2VEIhGA/Y9D7R4ouxjK3xJaxpK/W7OrltwOFVdHVZaTzYOYwOSmJfLeC2fwljn5PLajimmZSdS09bDzVAsvHKxnV1UrC4tPcf3iIq5cUEBx5gC9agzDeDMxsbDsb/X+0RdDC1zHxML8G3VS3olX1PU0O4Qv/LgkzZ7a8RvNeFp4C8RMjniirSCiBOccB2raeHRbFZVNXdS197CjsoX2Hj95aQksKErnsrn5vHVhEeW5KZYiaxihEAzAjgfhyAuhZzc5B4ef1fGqRUth7nWhr0BaTsCMS2H530ZFY0BzMU0y+jKeHt1eRVNnL/XtPWw92UxHT4D89ETmF6VzwYwcrllUwLzCDEuRNYyhOCMSL4bubnIOjr2kK4n8Bd7KIoTkEef1lCpaqnGJgdqZjyMmEJOUvoynJ3ZX0+MLUtfWw5YTTXT0BijMSGRuYTqLpmXwtoVFLC7NtBRZwxiMYEBdQEfWh76SAJ2Md+R5HUS08BYtrBsK57QIL3smrP14RLvGmkBMctp7/Dy/r5YXD9bhglDb1s2m40109gYoykhibmEas/PTuGZhIStnZFuKrGGcj2DQW0msH55InNoCh57SYxa/640dYs9HX1uQ1FwtqItQ1bUJxBShL+Np8/EmYmOE6pZuNntCMS0ziTmFaZRmp3DFvHzWzsq1FFnDGIiRisTpnbD/z9qLacm7Bx6bOhDtNTpX+5J/0mPHGROIKUZlUyd/2l7FwZp2UhJiOd7YeUYoSrKSmVOYRmF6IhdX5HFpRZ6lyBrGuQSDnrvp+eGJRN0+2PsopObD0r85/1Cjc+lsABeAi/4RcmeN3O4RYAIxBemf8VTd0k1GUhyH6zrYdLyJLl+A6dnJVBSkkZuayKoZ2VwxP99SZA2jP30icfh5DVyHEoAGHVC05/eQlKUiEWp8obtFez9d+HEoXjJis4eLCcQUpn/GU2u3j6yUePafbmdzP6GYV5ROZnI8C4ozuHpBoaXIGkYf/VcSmcMQiebj2uQvPgWWvUfFIhT6qq5XroMZF43Y7OFgAmG8IePJH3Bkp8Szu7qVLceb6fIFKMtJYX5ROulJcczISbUUWcPoIxiEHQ/BkeeGJxKtVbDzNxqwXvoeSMkN7bi+quvFt8Gca8JedW0CYZyhf8ZTDEJWcjy7qlrYfKKJbl+Q8twUFk7LICk+loL0REuRNQxQkdj5EBwepki01+gKBFQk0gpCOy7g0zTYOdfColvDWnVtAmG8if4ZT0nxsaQnxrHjVAtbjjfR7VehWFqSSXxcDOlJcVy7sMhSZI2pzUhForMBtj8IQZ/2Ygo1UykY0IK6GRfB8veFreraBMI4L/0znjKS40mOj2VbZTNbjjfR4w8yMy+VZaWZxMYISfGxliJrTG1GKhJdzZo66+tU11FWWWjHuSA0n9D51xd8BOLHPpHEBMIYlHMznnJSE4iLFbafbGHLCRWKWXmprCzLAhFiBUuRNaYuwSDsehgOPTs8kehpU5HoblG3UU6I6ax9VddZZTpXIilj5LYPgAmEERLnZjzlp+uX/7aTzWw90UyPP8js/FRWlWXj0P+3liJrTEn6ROLgs8NLge3t1MB1R13oI0z7aKuG5GydUJeaNzK7B8AEwhgW52Y8FaQnEgg6tp5sZuvJZno9obigXFsD+AJBS5E1ph4jFQl/N+x8WLOc5r8dCheHfs2OWs2KuvhTkFkyMrvPIWoFQkR+CtwI1DrnFnvb7gY+CtR5u33ROffnoc5lAjH2tPf4Wb+/lhcOaMZTQXoivkCQLSeb2Xaimd5AkIr8NC6YmY0g9PgDliJrTC2CQa13OPj08EQi0KvHNR+HOW+DaStCv2ZnIwR7teo6r2JkdvcjmgXiMqAdeOAcgWh3zt07nHOZQISPczOeclMT6PEH2XqimW0nPaEoSOPC8mxiY2No7/FbiqwxdRipSAT9sPv30HgYZl0J0y8M/Zo9rdDdCmvugGnLRma3R9QKBICIlAOPmUBEP+dmPGUmx9PtC7DlRBPbTjbjCzjmFKSxoiyL1IRYWrv9liJrTA36ROLQ08MLXAcDsO9P2sNp5uVQNozq6d5OdTmtXAflF4/MbiamQHwQaAU2AZ91zjWd59g7gDsAysrKVh0/fjxsdhrKGzKeWrtJS4wjKzmebn+QrSea2H6yhd5AkPz0RJaWZDI9J5m2bj9J8bFcWpHHqhnZFGREdkCKYYSFYBA2/xxOvqpzHkLl1GYVlqwZZ0eghoq/W9NgL/0MFC8d3rEeE00gCoF6wAFfAYqdcx8e6jy2ghhfAkHHvtOtrN9Xx5H6duJihbzURIIO9p1uZcepFhrae0mIjWFBcTrzitJxDoLOMSsvjbfMzWNeUTqJcbaqMCYJJ15TgUjOgsQQUlGDATj0DFRvhZzZsOAdobcIh7PV1tNWwcr3Q0LqiMyeUAIR6nPnYgIRGZxzVLd088rhel4/2kggCNmpWnBX3dLNjsoWDtW2E3COkqxklpRkkJuWSLcvQGJ8LBfNymV1eTZFGUmW/WRMTIJBnQOx91FIKw5thGhvp3Z8bTkJ09fCzMtCbykOWlPR2aD1FHOuGVUrjgklECJS7Jyr9u5/BrjQOfeeoc5jAhF52nv8bD3RxPP7amnp8pHquZ+6fAH2VLWy81QLrd1+UhJiWTQtg3mF6fT4gwSdoywnhcvm5LPA6wNlGBMCfy9s/zUcewUyS0Nrh9FeC7t+q51b590AhYuGd832GhWTNR+FggUjs7sfUSsQIvI/wBVAHlAD3OU9Xo66mI4BH+sTjMEwgYge/IEg+2vazrifYmOE/LREYmOE4w2d7DjVwtH6DgQoz0tlSUkG2SkJtPcESIgTLpyZw+ryHEqykm1VYUQvPW2w8cdQfwAyp4e2AqjbD/se0wlyi94FGcWhX88FocWrqF5zh44qHQOiViDGEhOI6MM5x+nWbl451MDGo40Ego7s1HhSEuJo7fKxq6qFXada6fIFyEiKY0lpJnML0uno9RMIOqZlJXP53HwWTcskOcFWFUYU0V4LG/4LOpsgvXjoltzOwfG/wvGXIX2auoYS00K/Xl8L8JmXeeNMx67FjQmEEXHe5H5KiCMrJZ6gg8N17eyobOFUcxexIlQUprG0JIPUhDjaevzEx8awujybNeW5TM+xVYURYRoOw4bv6/3U/KH3D/TCvsehfr9WTc+9DmLiQr9eVxP0tsPy92tn1zH+/28CYUQN/kCQAzVtPL+/jiN1Z91PcbExNLT3sPNUC3ur2+gNBMlLS2BJSSYV+Wm09vjxB4IUZiRx+dx8Fpdkkpo4jA+ZYYwFlZtg0081Sykpc+j9u5u1PqKjXovhSi8I/QveOV01JKbpGNLsGaMy/XyYQBhRSXVLF68cbuC1I+p+yvHcT71+jWHsrGyhrr2HhNgY5hWls6REA9gtXT5iY4SVZdmsnZVLWU6KtfUwwotzcOBJ2P0IpBWF1na7+YRmKgWDsPDm0Lu3glZZt1TqimPVujHv4NofEwgjqmnv8bPtRBPPneN+Ajjd2s3OyhYO1LZrXCIziSWlmczMS6W504cvECQ3LZHL5+axtDTL5lQYY0/ApwN/jr6owehQMpWqtsGhp3QW9eJ3hT5uFDS7qaMO5t8I828IvSp7hJhAGBOCPvfT+v11HD7H/dQ/Vbaly0dyvKbKLinRYUbNnT5EYNn0LC6ancvM3FRbVRijp6cdXr9PW2GEkqkUDMDhZ6FqC2TPgoU3Da/4rb0WCMKqD4+6x1KomEAYE47qli42HG7g1XPcT845TjR2sqNSU2UdUJ6bwpLSTKZnp9DU2YvP78hMiePyuQUsK80iM8VWFcYIaK+DV7+v8YP0aUPHDnydsOcP6loqXQOzrgi9+M0FofUUpBfBmo9BeuForQ8ZEwhjwtLhZT+d634SEdq6few61cquqhY6ewOkJ8WxpCSTRdPUX9vU2YsAi0oyuWR2HrPy04i1VYURCg1HVBycCy1TqaNOi9962jVLqWhJ6Nfy90DbKSi7GJa9JyxjRQfDBMKY8ASCjgM1razfX8eh2nbiYmLIS0sgLjaGQNBxpK6dHadaqGzqIkagoiCNpSVZFGUk0tjpo8cfJCMpjrfMzWPF9GyyUxMi/ZKMaOXUVth0HySkh5apVH9Ai99iE7S+IWNa6NfqbtHbsr/Rbq4RSOE2gTAmFae93k+v9RXfpaj7CaCxo5edp1rYU91Krz9Ibqqmys4vTicYhMbOXnAwvzidSypymVOQTpzNqzBAVwsHn9aVQCiZSs7BiVfg2EtaLLfoVkhMD/1abachPlFTWHNnj97+EWICYUxKOnr8bD3ZxHN7a2n23E/ZnvvJFzibKlvb1kN8rDCvMJ2lpVnkpiXQ1NFLly9AamIcb5mTx4qybPLSxq461ZhgBHyw8yE4sh4yQshUCvRqg766fVCwSN1KoWQ3gQayWyshby6s/pDOmY4gJhDGpOaM++lAPYdq2omLkTPuJ9BU2R2VzRyo0VTZ4swklpRkMqcgDX/Q0djRS9DBnMI03lKRx9yidJuCN5Xo7YDXfwq1u0PLVOpu0XqI9hqv+G1N6K4hXxe0n4Y512ptRKiiEkZMIIwpw+mWbjYcqefVI434A0FyUhPOuJ+6fQH2VGuqbHOnj6T4GBYVZ7K4JIPM5HiaOn10+XS40SWz81hVnk1Bug03mtR01MOrP1B3T0bp0F/0LSd1TGgwAAtuGp5rqLNBeyqt+hCUrIxIvGEgTCCMKcdg7ifnHCebuthZ2cLh+nacgxk5mio7MzcVXzBIQ3uvDTea7DQd055KAT+kFQy9f/V2OPikBq4X3xZ68ZtzmsKamqvxhuEEsccBEwhjynKu+0mL7866n9q7/dpVtqqFjp4AaYlnU2VTEmJp7vLR0eM/M9zogvIcCjMSrWHgRKdqO7z+Y4hP1Qlwg+GCWvx2arOOEl1wc2hDgeDs1LeSVbBi5FPfwokJhGGg7qdXj9SzwXM/ZacknGn4Fwg6jtZ3sONUMycbNVV2dn4aS0szKclKxhdw1Lf32HCjiY5zcOg5DUinFkBCyuD7+7q84rfj2mhv1pWhF7/1tEFXg859qHjrqKa+hRMTCMPoR0ePn20ntfiuudNHSj/3E2iB3c5TLeypaqXHHyQnJYElpZksKEonIS6G1m4/bd3+M8ONLpiZy7RMG5ka9QT8sPO3cOQ5yCjRuoXB6KjTTqw9bTD3bVC0NPRrtddoD6ULPgoF80dnd5iJWoEQkZ8CNwK1/UaO5gC/AcrRiXK3O+eahjqXCYQxXAJBx8GaNtYfqOPgAO4n7Q3Vzo5TzdS09hAXI8wrSmdpSSYFGUn4AkHq23tsuNFEoLcTNv0MTu/QTKWhGuDVH4R9f4KYeK1vyCwJ7TouqIHs7HIVhzGa+hZOolkgLgPagQf6CcQ3gEbn3D0i8nkg2zn3r0OdywTCGA01rd1sOKzZT75z3E8Ata3d7DjVwv7TbfiDjsKMRJaWZjG3QNt3tHX7ae32nRludOHMXEqzbbhRVNDZqJlKrVVDZyo5BydfhaMvaLHc4lt19kMo9E19m3WFBrHjJka1ftQKBICIlAOP9ROI/cAVzrlqESkG1jvn5g11HhMIYyzo7PWz7UQzz+6rOeN+Sk86KxQ9vgD7a9rYVdVKc6ePxLgYLpuTx5xCraD1Bx0N7T34Ao7S7GQbbhRpmk/AK9/TFcRQmUrOwYG/aPFb/jyouDb0OoWedm3Wt+L9ULY2alJYQ2G0AjHe/7MLnXPVAJ5InPdfVUTuAO4AKCsrGyfzjMlMSkIcF1fkceGsXA7WtPHCgTpONXe9YZ9Z+WnMzEulprWH/TVtxMYK7T3+M8/3iUF7j5+n99RwuqWbm1eE6KIwxpZDz4ID4lP0S3wo4lO18K1omTbR8/eEdp2kDLjkHyFr6n0PjfcKotk5l9Xv+Sbn3JC16LaCMAzDGD6jXUGMd25WjedawvtbO87XNwzDMEJkvAXiUWCdd38d8Mdxvr5hGIYRImETCBH5H2ADME9EKkXkI8A9wDUichC4xntsGIZhRCFhC1I75/72PE9dHa5rGoZhGGNHdNaHG4ZhGBHHBMIwDMMYEBMIwzAMY0BMIAzDMIwBmRDdXEWkDjg+gkPzgPoxNmcsMftGRzTbF822gdk3WiaKfTOcc/kjPcmEEIiRIiKbRlNFGG7MvtERzfZFs21g9o2WqWKfuZgMwzCMATGBMAzDMAZksgvEjyJtwBCYfaMjmu2LZtvA7BstU8K+SR2DMAzDMEbOZF9BGIZhGCPEBMIwDMMYkAkrECJynYjsF5FD3nzrc58XEfm/3vM7RGRlqMdGyjYRmS4iz4vIXhHZLSL/NNa2jca+fs/HishWEXks2uwTkSwR+a2I7PPex4uizL7PeP+2u0Tkf0QkKQL2zReRDSLSIyKfG86xkbItij4b533vvOcj/dkY7N92+J8N59yEuwGxwGFgFpAAbAcWnrPPDcBfAAHWAq+FemwEbSsGVnr304EDY2nbaO3r9/w/A79GpwVGzb+t99z9wN959xOArGixDygBjgLJ3uOHgA9GwL4C4ALgq8DnhnNsBG2Lls/GgPZF0WfjvPaN5LMxUVcQa4BDzrkjzrle4EHg5nP2uRl4wCmvAlmiU+xCOTYitjnnqp1zWwCcc23AXvRLZSwZzXuHiJQCbwfuG2O7Rm2fiGQAlwE/AXDO9TrnmqPFPu+5OCBZROKAFKBqvO1zztU6514HfMM9NlK2RctnY5D3Lio+G+ezb6SfjYkqECXAyX6PK3nzf5bz7RPKsZGy7Qyi87xXAK+NoW1jYd93gDuB4BjbNRb2zQLqgJ95y/z7RCQ1Wuxzzp0C7gVOANVAi3PuqQjYF45jx+38Ef5sDMZ3iPxn43yM6LMxUQVCBth2br7u+fYJ5djRMBrb9EmRNOB3wKedc61jaNuQ1x5sHxG5Eah1zm0eY5uGvHaI+8QBK4H/ds6tADqAsfajj+b9y0Z/8c0EpgGpIvL+CNgXjmPH5fxR8NkY+MDo+WycjxF9NiaqQFQC0/s9LuXNS/Xz7RPKsZGyDRGJRz8Av3LOPTKGdo2FfZcAN4nIMXR5e5WI/DKK7KsEKp1zfb8sf4t+KKLFvrcCR51zdc45H/AIcHEE7AvHsWE/f5R8Ns5HtHw2Bjt2+J+NsQ6kjMcNVcMj6C+xvmDNonP2eTtvDBRuDPXYCNomwAPAd6LxvTtnnysITyBuVPYBLwHzvPt3A9+MFvuAC4HdaOxB0KDhP463ff32vZs3BoIj/tkYxLao+Gycz75znovYZ2Mw+0by2QjLGz0eNzRT5AAa1f83b9vHgY/3+w/1fe/5ncDqwY6NBtuAS9El4w5gm3e7IVrsO+ccYfkQjMG/7XJgk/ce/gHIjjL7vgTsA3YBvwASI2BfEfqLshVo9u5nRMlnY0Dbouizcd73Lko+G4P92w77s2GtNgzDMIwBmagxCMMwDCPMmEAYhmEYA2ICYRiGYQyICYRhGIYxICYQhmEYxoCYQBijRkT+zeuwuUNEtonIhWN03mMi8rt+j28TkZ+PxbmHYcPPReQ27/59IrJwlOcrF5Fd59ne5b1/e0TkAa8wbDjnPiYied79V0Zjp2GAFl4YxojxWgbfiHba7PG+oBLG8BKrRWSRc273CGyLc875x8oQ59zfjdW5zsNh59xyEYkFngZuB341khM558a6QtuYgtgKwhgtxUC9c64HwDlX75zraxvS/xftahFZ792/W0R+KiLrReSIiHxqkPPfC3zx3I0ikiMif/BWLa+KyNJ+5/6RiDwFPOA9vl9EnvLsuVVEviEiO0Xkib5f6SLyv0XkddE5DT8SkTf1vfHsXS0iN3m/9Ld5vfmPes+vEpEXRGSziDzZrwPuKhHZLiIbgE8O9YY65wLARrxGbCLyDhF5zWuy9oyIFHrbc73XtVVEfki/Xj0i0u79TRORZ0Vki/eab/a2l3szAX7srf6eEpFk77kK7zrbveNme9v/xXuPdojIl4Z6HcbExwTCGC1PAdNF5ICI/EBELg/xuPnA29AWxncN4k55CFgpIhXnbP8SsNU5txQVkAf6PbcKuNk5917v8Wy0/cXNwC+B551zS4AubzvAfznnLnDOLQaS0VXRgDjnHnXOLXfOLUfbHdzr2f894Dbn3Crgp2hPfoCfAZ9yzoU0vEh0iNCFwBPeppeBtU6brD2IdgwFuAt42dv+KFA2wOm6gXc651YCVwLf6id+c4DvO+cWoVW37/K2/8rbvgztFVUtItd6+69BK3JXichlobweY+JiAmGMCudcO/qFfAfaTvg3IvLBEA593DnX45yrB2qBwvPsFwC+CXzhnO2Xoq0qcM49B+SKSKb33KPOua5++/7FaXO8nejQlb4v3p1AuXf/Su9X+k7gKmDRUC9ARO4Eupxz3wfmAYuBp0VkG/DvQKlnU5Zz7gXvsF8McsrZ3rENwAnn3A5veynwpGfbv/Sz7TJU8HDOPQ40DWQm8B8isgN4Bl2V9L3XR51z27z7m4FyEUlHW5P/3jtvt3OuE7jWu20FtqACP2fwd8iY6FgMwhg1nktkPbDe+xJbB/wc8HP2R8i5ozV7+t0PMPj/xV+gAtE/DjFY6+OOga7lnAuKiM+d7S8TBOK8X+w/QHsmnRSRuwew9w2IyNXAu9Ev6T57dp+7ShCRLEJvydwXgyhG38ubnHOPoiuTbzvnHhWRK9BGa30Mde73AfnAKuecT7TbaN9rO/ffIJmB31e87V9zzv0wxNdiTAJsBWGMChGZJyL9f0kuB45794+hqws4674YNt6v//8EPt1v84volx/el2a9G/l8gL4vzHrReQO3DbaziMxABeX2fiuV/UC+F7RHROK94Hoz0CIil3r7vW8oY5xz1Wiv/r5VUyZwyru/rt+u/d+D64HsAU6Xic4p8InIlcCMIa7dClSKyC3eeRNFJAV4Eviw9/4gIiUiUjDUazEmNiYQxmhJA+4XTc3cASzk7C/cLwHfFZGX0F+oo+EnvHGVcTea4bQDuIc3fnEOC+9L/Meoy+kPwOtDHPJBIBf4vReo/rPTEZC3AV8Xke1ot9G+TKIPAd/3gtRdA5xvIP4ApIjIW9DX+rD3Ptb32+dLwGUisgV1/5wY4Dy/Qt+nTaiY7Avh2h8APuW9t68ARU4n3/0a2OCtEn+LzoY2JjHWzdUwDMMYEFtBGIZhGANiAmEYhmEMiAmEYRiGMSAmEIZhGMaAmEAYhmEYA2ICYRiGYQyICYRhGIYxIP8/DPAcq6CsyOIAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "rad = engine_output.radiance\n", "stdev = np.sqrt(engine_output.radiance_variance)\n", "for i in range(2):\n", " plt.plot(rad[i], tanalts_km, f'C{i}')\n", " plt.fill_betweenx(tanalts_km, rad[i] - stdev[i], rad[i] + stdev[i], color=f'C{i}', alpha=0.5)\n", "\n", "plt.xlabel('Sun Normalized Radiance')\n", "plt.ylabel('Altitude [km]')\n", "plt.legend(['340 nm', '600 nm'])\n", "\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "rad = engine_output.radiance\n", "stdev = np.sqrt(engine_output.radiance_variance)\n", "\n", "# lower altitudes at 340 nm reached 300 samples before 5% precision\n", "plt.plot(100 * stdev[0] / rad[0], tanalts_km, f'C{0}')\n", "# all altitudes at 600 nm reached 5% precision before 300 samples\n", "plt.plot(100 * stdev[1] / rad[1], tanalts_km, f'C{1}')\n", "\n", "plt.plot([5, 5], [10, 50], 'k')\n", "plt.xlabel('Sun Normalized Radiance Standard Deviation [%]')\n", "plt.ylabel('Altitude [km]')\n", "plt.legend(['340 nm', '600 nm'])\n", "\n", "plt.show()" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.5" } }, "nbformat": 4, "nbformat_minor": 2 }