Tools - Edge Seal Oxygen Ingress Calculator tool

Tools - Edge Seal Oxygen Ingress Calculator tool#

Calculation of oxygen ingress profile through an edge seal and into the encapsulant.

Requirements:

  • Local weather data file or site longitude and latittude.

  • Properties and dimensions of the edge seal.

Objectives:

  1. Import weather data.

  2. Set up the calculations.

  3. Calculate oxygen ingress into an edge seal.

  4. Incorporate an oxygen consumption model.

  5. Plot the data.

Background:

This performs a 1-D finite difference model for oxygen ingress through an edge seal and into an encapsulant. This is effectively an infinitely long module with a prescribed width.The output is then displayed graphically.

# if running on google colab, uncomment the next line and execute this cell to install the dependencies 
# and prevent "ModuleNotFoundError" in later cells:
!pip install pvdeg==0.4.2
Collecting pvdeg==0.4.2
  Downloading pvdeg-0.4.2-py3-none-any.whl.metadata (6.8 kB)
Requirement already satisfied: aiohttp==3.9.5 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from pvdeg==0.4.2) (3.9.5)
Requirement already satisfied: numpy==1.26.4 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from pvdeg==0.4.2) (1.26.4)
Requirement already satisfied: pvlib==0.10.3 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from pvdeg==0.4.2) (0.10.3)
Requirement already satisfied: scipy<1.14.0 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from pvdeg==0.4.2) (1.13.1)
Requirement already satisfied: NREL-rex in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from pvdeg==0.4.2) (0.2.90)
Requirement already satisfied: cartopy in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from pvdeg==0.4.2) (0.23.0)
Requirement already satisfied: dask[dataframe] in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from pvdeg==0.4.2) (2024.9.0)
Requirement already satisfied: dask-jobqueue in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from pvdeg==0.4.2) (0.9.0)
Requirement already satisfied: bokeh in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from pvdeg==0.4.2) (3.5.2)
Requirement already satisfied: h5netcdf in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from pvdeg==0.4.2) (1.3.0)
Requirement already satisfied: h5py in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from pvdeg==0.4.2) (3.11.0)
Requirement already satisfied: jupyterlab in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from pvdeg==0.4.2) (4.2.5)
Requirement already satisfied: matplotlib in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from pvdeg==0.4.2) (3.9.2)
Requirement already satisfied: netCDF4 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from pvdeg==0.4.2) (1.7.1.post2)
Requirement already satisfied: notebook in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from pvdeg==0.4.2) (7.2.2)
Requirement already satisfied: numba in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from pvdeg==0.4.2) (0.60.0)
Requirement already satisfied: openpyxl in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from pvdeg==0.4.2) (3.1.5)
Requirement already satisfied: pandas in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from pvdeg==0.4.2) (2.2.2)
Requirement already satisfied: photovoltaic in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from pvdeg==0.4.2) (0.1.9)
Requirement already satisfied: python-dateutil in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from pvdeg==0.4.2) (2.9.0.post0)
Requirement already satisfied: pytz in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from pvdeg==0.4.2) (2024.2)
Requirement already satisfied: seaborn in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from pvdeg==0.4.2) (0.13.2)
Requirement already satisfied: tables in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from pvdeg==0.4.2) (3.10.1)
Requirement already satisfied: tqdm in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from pvdeg==0.4.2) (4.66.5)
Requirement already satisfied: xarray in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from pvdeg==0.4.2) (2024.9.0)
Requirement already satisfied: pre-commit in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from pvdeg==0.4.2) (3.8.0)
Requirement already satisfied: sympy in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from pvdeg==0.4.2) (1.13.2)
Requirement already satisfied: aiosignal>=1.1.2 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from aiohttp==3.9.5->pvdeg==0.4.2) (1.3.1)
Requirement already satisfied: attrs>=17.3.0 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from aiohttp==3.9.5->pvdeg==0.4.2) (24.2.0)
Requirement already satisfied: frozenlist>=1.1.1 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from aiohttp==3.9.5->pvdeg==0.4.2) (1.4.1)
Requirement already satisfied: multidict<7.0,>=4.5 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from aiohttp==3.9.5->pvdeg==0.4.2) (6.1.0)
Requirement already satisfied: yarl<2.0,>=1.0 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from aiohttp==3.9.5->pvdeg==0.4.2) (1.11.1)
Requirement already satisfied: requests in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from pvlib==0.10.3->pvdeg==0.4.2) (2.32.3)
Requirement already satisfied: tzdata>=2022.7 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from pandas->pvdeg==0.4.2) (2024.1)
Requirement already satisfied: six>=1.5 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from python-dateutil->pvdeg==0.4.2) (1.16.0)
Requirement already satisfied: Jinja2>=2.9 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from bokeh->pvdeg==0.4.2) (3.1.4)
Requirement already satisfied: contourpy>=1.2 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from bokeh->pvdeg==0.4.2) (1.3.0)
Requirement already satisfied: packaging>=16.8 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from bokeh->pvdeg==0.4.2) (24.1)
Requirement already satisfied: pillow>=7.1.0 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from bokeh->pvdeg==0.4.2) (10.4.0)
Requirement already satisfied: PyYAML>=3.10 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from bokeh->pvdeg==0.4.2) (6.0.2)
Requirement already satisfied: tornado>=6.2 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from bokeh->pvdeg==0.4.2) (6.4.1)
Requirement already satisfied: xyzservices>=2021.09.1 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from bokeh->pvdeg==0.4.2) (2024.9.0)
Requirement already satisfied: shapely>=1.7 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from cartopy->pvdeg==0.4.2) (2.0.6)
Requirement already satisfied: pyshp>=2.3 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from cartopy->pvdeg==0.4.2) (2.3.1)
Requirement already satisfied: pyproj>=3.3.1 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from cartopy->pvdeg==0.4.2) (3.6.1)
Requirement already satisfied: cycler>=0.10 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from matplotlib->pvdeg==0.4.2) (0.12.1)
Requirement already satisfied: fonttools>=4.22.0 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from matplotlib->pvdeg==0.4.2) (4.53.1)
Requirement already satisfied: kiwisolver>=1.3.1 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from matplotlib->pvdeg==0.4.2) (1.4.7)
Requirement already satisfied: pyparsing>=2.3.1 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from matplotlib->pvdeg==0.4.2) (3.1.4)
Requirement already satisfied: distributed>=2022.02.0 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from dask-jobqueue->pvdeg==0.4.2) (2024.9.0)
Requirement already satisfied: click>=8.1 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from dask[dataframe]->pvdeg==0.4.2) (8.1.7)
Requirement already satisfied: cloudpickle>=3.0.0 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from dask[dataframe]->pvdeg==0.4.2) (3.0.0)
Requirement already satisfied: fsspec>=2021.09.0 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from dask[dataframe]->pvdeg==0.4.2) (2024.9.0)
Requirement already satisfied: partd>=1.4.0 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from dask[dataframe]->pvdeg==0.4.2) (1.4.2)
Requirement already satisfied: toolz>=0.10.0 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from dask[dataframe]->pvdeg==0.4.2) (0.12.1)
Requirement already satisfied: importlib-metadata>=4.13.0 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from dask[dataframe]->pvdeg==0.4.2) (8.5.0)
Requirement already satisfied: dask-expr<1.2,>=1.1 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from dask[dataframe]->pvdeg==0.4.2) (1.1.14)
Requirement already satisfied: async-lru>=1.0.0 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from jupyterlab->pvdeg==0.4.2) (2.0.4)
Requirement already satisfied: httpx>=0.25.0 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from jupyterlab->pvdeg==0.4.2) (0.27.2)
Requirement already satisfied: ipykernel>=6.5.0 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from jupyterlab->pvdeg==0.4.2) (6.29.5)
Requirement already satisfied: jupyter-core in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from jupyterlab->pvdeg==0.4.2) (5.7.2)
Requirement already satisfied: jupyter-lsp>=2.0.0 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from jupyterlab->pvdeg==0.4.2) (2.2.5)
Requirement already satisfied: jupyter-server<3,>=2.4.0 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from jupyterlab->pvdeg==0.4.2) (2.14.2)
Requirement already satisfied: jupyterlab-server<3,>=2.27.1 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from jupyterlab->pvdeg==0.4.2) (2.27.3)
Requirement already satisfied: notebook-shim>=0.2 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from jupyterlab->pvdeg==0.4.2) (0.2.4)
Requirement already satisfied: setuptools>=40.1.0 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from jupyterlab->pvdeg==0.4.2) (65.5.0)
Requirement already satisfied: traitlets in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from jupyterlab->pvdeg==0.4.2) (5.14.3)
Requirement already satisfied: cftime in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from netCDF4->pvdeg==0.4.2) (1.6.4)
Requirement already satisfied: certifi in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from netCDF4->pvdeg==0.4.2) (2024.8.30)
Requirement already satisfied: h5pyd>=0.18.0 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from NREL-rex->pvdeg==0.4.2) (0.18.0)
Requirement already satisfied: psutil>=5.6 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from NREL-rex->pvdeg==0.4.2) (6.0.0)
Requirement already satisfied: scikit-learn>=1.3 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from NREL-rex->pvdeg==0.4.2) (1.5.2)
Requirement already satisfied: toml>=0.10.0 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from NREL-rex->pvdeg==0.4.2) (0.10.2)
Requirement already satisfied: llvmlite<0.44,>=0.43.0dev0 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from numba->pvdeg==0.4.2) (0.43.0)
Requirement already satisfied: et-xmlfile in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from openpyxl->pvdeg==0.4.2) (1.1.0)
Requirement already satisfied: cfgv>=2.0.0 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from pre-commit->pvdeg==0.4.2) (3.4.0)
Requirement already satisfied: identify>=1.0.0 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from pre-commit->pvdeg==0.4.2) (2.6.1)
Requirement already satisfied: nodeenv>=0.11.1 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from pre-commit->pvdeg==0.4.2) (1.9.1)
Requirement already satisfied: virtualenv>=20.10.0 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from pre-commit->pvdeg==0.4.2) (20.26.4)
Requirement already satisfied: mpmath<1.4,>=1.1.0 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from sympy->pvdeg==0.4.2) (1.3.0)
Requirement already satisfied: numexpr>=2.6.2 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from tables->pvdeg==0.4.2) (2.10.1)
Requirement already satisfied: py-cpuinfo in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from tables->pvdeg==0.4.2) (9.0.0)
Requirement already satisfied: blosc2>=2.3.0 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from tables->pvdeg==0.4.2) (2.7.1)
Requirement already satisfied: typing-extensions>=4.4.0 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from tables->pvdeg==0.4.2) (4.12.2)
Requirement already satisfied: ndindex>=1.4 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from blosc2>=2.3.0->tables->pvdeg==0.4.2) (1.8)
Requirement already satisfied: msgpack in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from blosc2>=2.3.0->tables->pvdeg==0.4.2) (1.1.0)
Requirement already satisfied: pyarrow>=14.0.1 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from dask-expr<1.2,>=1.1->dask[dataframe]->pvdeg==0.4.2) (17.0.0)
Requirement already satisfied: locket>=1.0.0 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from distributed>=2022.02.0->dask-jobqueue->pvdeg==0.4.2) (1.0.0)
Requirement already satisfied: sortedcontainers>=2.0.5 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from distributed>=2022.02.0->dask-jobqueue->pvdeg==0.4.2) (2.4.0)
Requirement already satisfied: tblib>=1.6.0 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from distributed>=2022.02.0->dask-jobqueue->pvdeg==0.4.2) (3.0.0)
Requirement already satisfied: urllib3>=1.26.5 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from distributed>=2022.02.0->dask-jobqueue->pvdeg==0.4.2) (2.2.3)
Requirement already satisfied: zict>=3.0.0 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from distributed>=2022.02.0->dask-jobqueue->pvdeg==0.4.2) (3.0.0)
Requirement already satisfied: requests-unixsocket in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from h5pyd>=0.18.0->NREL-rex->pvdeg==0.4.2) (0.3.0)
Requirement already satisfied: pyjwt in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from h5pyd>=0.18.0->NREL-rex->pvdeg==0.4.2) (2.9.0)
Requirement already satisfied: anyio in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from httpx>=0.25.0->jupyterlab->pvdeg==0.4.2) (4.4.0)
Requirement already satisfied: httpcore==1.* in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from httpx>=0.25.0->jupyterlab->pvdeg==0.4.2) (1.0.5)
Requirement already satisfied: idna in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from httpx>=0.25.0->jupyterlab->pvdeg==0.4.2) (3.10)
Requirement already satisfied: sniffio in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from httpx>=0.25.0->jupyterlab->pvdeg==0.4.2) (1.3.1)
Requirement already satisfied: h11<0.15,>=0.13 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from httpcore==1.*->httpx>=0.25.0->jupyterlab->pvdeg==0.4.2) (0.14.0)
Requirement already satisfied: zipp>=3.20 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from importlib-metadata>=4.13.0->dask[dataframe]->pvdeg==0.4.2) (3.20.2)
Requirement already satisfied: comm>=0.1.1 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from ipykernel>=6.5.0->jupyterlab->pvdeg==0.4.2) (0.2.2)
Requirement already satisfied: debugpy>=1.6.5 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from ipykernel>=6.5.0->jupyterlab->pvdeg==0.4.2) (1.8.5)
Requirement already satisfied: ipython>=7.23.1 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from ipykernel>=6.5.0->jupyterlab->pvdeg==0.4.2) (8.27.0)
Requirement already satisfied: jupyter-client>=6.1.12 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from ipykernel>=6.5.0->jupyterlab->pvdeg==0.4.2) (8.6.2)
Requirement already satisfied: matplotlib-inline>=0.1 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from ipykernel>=6.5.0->jupyterlab->pvdeg==0.4.2) (0.1.7)
Requirement already satisfied: nest-asyncio in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from ipykernel>=6.5.0->jupyterlab->pvdeg==0.4.2) (1.6.0)
Requirement already satisfied: pyzmq>=24 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from ipykernel>=6.5.0->jupyterlab->pvdeg==0.4.2) (26.2.0)
Requirement already satisfied: MarkupSafe>=2.0 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from Jinja2>=2.9->bokeh->pvdeg==0.4.2) (2.1.5)
Requirement already satisfied: platformdirs>=2.5 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from jupyter-core->jupyterlab->pvdeg==0.4.2) (4.3.3)
Requirement already satisfied: argon2-cffi>=21.1 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from jupyter-server<3,>=2.4.0->jupyterlab->pvdeg==0.4.2) (23.1.0)
Requirement already satisfied: jupyter-events>=0.9.0 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from jupyter-server<3,>=2.4.0->jupyterlab->pvdeg==0.4.2) (0.10.0)
Requirement already satisfied: jupyter-server-terminals>=0.4.4 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from jupyter-server<3,>=2.4.0->jupyterlab->pvdeg==0.4.2) (0.5.3)
Requirement already satisfied: nbconvert>=6.4.4 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from jupyter-server<3,>=2.4.0->jupyterlab->pvdeg==0.4.2) (7.16.4)
Requirement already satisfied: nbformat>=5.3.0 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from jupyter-server<3,>=2.4.0->jupyterlab->pvdeg==0.4.2) (5.10.4)
Requirement already satisfied: overrides>=5.0 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from jupyter-server<3,>=2.4.0->jupyterlab->pvdeg==0.4.2) (7.7.0)
Requirement already satisfied: prometheus-client>=0.9 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from jupyter-server<3,>=2.4.0->jupyterlab->pvdeg==0.4.2) (0.20.0)
Requirement already satisfied: send2trash>=1.8.2 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from jupyter-server<3,>=2.4.0->jupyterlab->pvdeg==0.4.2) (1.8.3)
Requirement already satisfied: terminado>=0.8.3 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from jupyter-server<3,>=2.4.0->jupyterlab->pvdeg==0.4.2) (0.18.1)
Requirement already satisfied: websocket-client>=1.7 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from jupyter-server<3,>=2.4.0->jupyterlab->pvdeg==0.4.2) (1.8.0)
Requirement already satisfied: babel>=2.10 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from jupyterlab-server<3,>=2.27.1->jupyterlab->pvdeg==0.4.2) (2.16.0)
Requirement already satisfied: json5>=0.9.0 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from jupyterlab-server<3,>=2.27.1->jupyterlab->pvdeg==0.4.2) (0.9.25)
Requirement already satisfied: jsonschema>=4.18.0 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from jupyterlab-server<3,>=2.27.1->jupyterlab->pvdeg==0.4.2) (4.23.0)
Requirement already satisfied: charset-normalizer<4,>=2 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from requests->pvlib==0.10.3->pvdeg==0.4.2) (3.3.2)
Requirement already satisfied: joblib>=1.2.0 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from scikit-learn>=1.3->NREL-rex->pvdeg==0.4.2) (1.4.2)
Requirement already satisfied: threadpoolctl>=3.1.0 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from scikit-learn>=1.3->NREL-rex->pvdeg==0.4.2) (3.5.0)
Requirement already satisfied: distlib<1,>=0.3.7 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from virtualenv>=20.10.0->pre-commit->pvdeg==0.4.2) (0.3.8)
Requirement already satisfied: filelock<4,>=3.12.2 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from virtualenv>=20.10.0->pre-commit->pvdeg==0.4.2) (3.16.0)
Requirement already satisfied: argon2-cffi-bindings in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from argon2-cffi>=21.1->jupyter-server<3,>=2.4.0->jupyterlab->pvdeg==0.4.2) (21.2.0)
Requirement already satisfied: decorator in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from ipython>=7.23.1->ipykernel>=6.5.0->jupyterlab->pvdeg==0.4.2) (5.1.1)
Requirement already satisfied: jedi>=0.16 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from ipython>=7.23.1->ipykernel>=6.5.0->jupyterlab->pvdeg==0.4.2) (0.19.1)
Requirement already satisfied: prompt-toolkit<3.1.0,>=3.0.41 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from ipython>=7.23.1->ipykernel>=6.5.0->jupyterlab->pvdeg==0.4.2) (3.0.47)
Requirement already satisfied: pygments>=2.4.0 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from ipython>=7.23.1->ipykernel>=6.5.0->jupyterlab->pvdeg==0.4.2) (2.18.0)
Requirement already satisfied: stack-data in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from ipython>=7.23.1->ipykernel>=6.5.0->jupyterlab->pvdeg==0.4.2) (0.6.3)
Requirement already satisfied: pexpect>4.3 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from ipython>=7.23.1->ipykernel>=6.5.0->jupyterlab->pvdeg==0.4.2) (4.9.0)
Requirement already satisfied: jsonschema-specifications>=2023.03.6 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from jsonschema>=4.18.0->jupyterlab-server<3,>=2.27.1->jupyterlab->pvdeg==0.4.2) (2023.12.1)
Requirement already satisfied: referencing>=0.28.4 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from jsonschema>=4.18.0->jupyterlab-server<3,>=2.27.1->jupyterlab->pvdeg==0.4.2) (0.35.1)
Requirement already satisfied: rpds-py>=0.7.1 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from jsonschema>=4.18.0->jupyterlab-server<3,>=2.27.1->jupyterlab->pvdeg==0.4.2) (0.20.0)
Requirement already satisfied: python-json-logger>=2.0.4 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from jupyter-events>=0.9.0->jupyter-server<3,>=2.4.0->jupyterlab->pvdeg==0.4.2) (2.0.7)
Requirement already satisfied: rfc3339-validator in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from jupyter-events>=0.9.0->jupyter-server<3,>=2.4.0->jupyterlab->pvdeg==0.4.2) (0.1.4)
Requirement already satisfied: rfc3986-validator>=0.1.1 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from jupyter-events>=0.9.0->jupyter-server<3,>=2.4.0->jupyterlab->pvdeg==0.4.2) (0.1.1)
Requirement already satisfied: beautifulsoup4 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from nbconvert>=6.4.4->jupyter-server<3,>=2.4.0->jupyterlab->pvdeg==0.4.2) (4.12.3)
Requirement already satisfied: bleach!=5.0.0 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from nbconvert>=6.4.4->jupyter-server<3,>=2.4.0->jupyterlab->pvdeg==0.4.2) (6.1.0)
Requirement already satisfied: defusedxml in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from nbconvert>=6.4.4->jupyter-server<3,>=2.4.0->jupyterlab->pvdeg==0.4.2) (0.7.1)
Requirement already satisfied: jupyterlab-pygments in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from nbconvert>=6.4.4->jupyter-server<3,>=2.4.0->jupyterlab->pvdeg==0.4.2) (0.3.0)
Requirement already satisfied: mistune<4,>=2.0.3 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from nbconvert>=6.4.4->jupyter-server<3,>=2.4.0->jupyterlab->pvdeg==0.4.2) (3.0.2)
Requirement already satisfied: nbclient>=0.5.0 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from nbconvert>=6.4.4->jupyter-server<3,>=2.4.0->jupyterlab->pvdeg==0.4.2) (0.10.0)
Requirement already satisfied: pandocfilters>=1.4.1 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from nbconvert>=6.4.4->jupyter-server<3,>=2.4.0->jupyterlab->pvdeg==0.4.2) (1.5.1)
Requirement already satisfied: tinycss2 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from nbconvert>=6.4.4->jupyter-server<3,>=2.4.0->jupyterlab->pvdeg==0.4.2) (1.3.0)
Requirement already satisfied: fastjsonschema>=2.15 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from nbformat>=5.3.0->jupyter-server<3,>=2.4.0->jupyterlab->pvdeg==0.4.2) (2.20.0)
Requirement already satisfied: ptyprocess in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from terminado>=0.8.3->jupyter-server<3,>=2.4.0->jupyterlab->pvdeg==0.4.2) (0.7.0)
Requirement already satisfied: webencodings in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from bleach!=5.0.0->nbconvert>=6.4.4->jupyter-server<3,>=2.4.0->jupyterlab->pvdeg==0.4.2) (0.5.1)
Requirement already satisfied: parso<0.9.0,>=0.8.3 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from jedi>=0.16->ipython>=7.23.1->ipykernel>=6.5.0->jupyterlab->pvdeg==0.4.2) (0.8.4)
Requirement already satisfied: fqdn in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.9.0->jupyter-server<3,>=2.4.0->jupyterlab->pvdeg==0.4.2) (1.5.1)
Requirement already satisfied: isoduration in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.9.0->jupyter-server<3,>=2.4.0->jupyterlab->pvdeg==0.4.2) (20.11.0)
Requirement already satisfied: jsonpointer>1.13 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.9.0->jupyter-server<3,>=2.4.0->jupyterlab->pvdeg==0.4.2) (3.0.0)
Requirement already satisfied: uri-template in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.9.0->jupyter-server<3,>=2.4.0->jupyterlab->pvdeg==0.4.2) (1.3.0)
Requirement already satisfied: webcolors>=24.6.0 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.9.0->jupyter-server<3,>=2.4.0->jupyterlab->pvdeg==0.4.2) (24.8.0)
Requirement already satisfied: wcwidth in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from prompt-toolkit<3.1.0,>=3.0.41->ipython>=7.23.1->ipykernel>=6.5.0->jupyterlab->pvdeg==0.4.2) (0.2.13)
Requirement already satisfied: cffi>=1.0.1 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from argon2-cffi-bindings->argon2-cffi>=21.1->jupyter-server<3,>=2.4.0->jupyterlab->pvdeg==0.4.2) (1.17.1)
Requirement already satisfied: soupsieve>1.2 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from beautifulsoup4->nbconvert>=6.4.4->jupyter-server<3,>=2.4.0->jupyterlab->pvdeg==0.4.2) (2.6)
Requirement already satisfied: executing>=1.2.0 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from stack-data->ipython>=7.23.1->ipykernel>=6.5.0->jupyterlab->pvdeg==0.4.2) (2.1.0)
Requirement already satisfied: asttokens>=2.1.0 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from stack-data->ipython>=7.23.1->ipykernel>=6.5.0->jupyterlab->pvdeg==0.4.2) (2.4.1)
Requirement already satisfied: pure-eval in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from stack-data->ipython>=7.23.1->ipykernel>=6.5.0->jupyterlab->pvdeg==0.4.2) (0.2.3)
Requirement already satisfied: pycparser in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from cffi>=1.0.1->argon2-cffi-bindings->argon2-cffi>=21.1->jupyter-server<3,>=2.4.0->jupyterlab->pvdeg==0.4.2) (2.22)
Requirement already satisfied: arrow>=0.15.0 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from isoduration->jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.9.0->jupyter-server<3,>=2.4.0->jupyterlab->pvdeg==0.4.2) (1.3.0)
Requirement already satisfied: types-python-dateutil>=2.8.10 in /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages (from arrow>=0.15.0->isoduration->jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.9.0->jupyter-server<3,>=2.4.0->jupyterlab->pvdeg==0.4.2) (2.9.0.20240906)
Downloading pvdeg-0.4.2-py3-none-any.whl (2.7 MB)
?25l   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0/2.7 MB ? eta -:--:--
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.7/2.7 MB 38.1 MB/s eta 0:00:00
?25h
Installing collected packages: pvdeg
  Attempting uninstall: pvdeg
    Found existing installation: pvdeg 0.1.dev1+g4f38099
    Uninstalling pvdeg-0.1.dev1+g4f38099:
      Successfully uninstalled pvdeg-0.1.dev1+g4f38099
Successfully installed pvdeg-0.4.2
import os
from pathlib import Path
import pvdeg
import pandas as pd
from pvdeg import DATA_DIR
import matplotlib.pyplot as plt
import numpy as np
import seaborn as sns
import json
# This information helps with debugging and getting support :)
import sys, platform
print("Working on a ", platform.system(), platform.release())
print("Python version ", sys.version)
print("Pandas version ", pd.__version__)
print("pvdeg version ", pvdeg.__version__)
Working on a  Linux 6.5.0-1025-azure
Python version  3.11.9 (main, Jul 15 2024, 21:50:21) [GCC 11.4.0]
Pandas version  2.2.2
pvdeg version  0.4.2

1. Import Weather Data#

The function has these minimum requirements when using a weather data file:

  • Weather data containing (at least) DNI, DHI, GHI, Temperature, RH, and Wind-Speed data at module level.

  • Site meta-data containing (at least) latitude, longitude, and time zone

Alternatively one may can get meterological data from the NSRDB or PVGIS with just the longitude and latitude. This function for the NSRDB (via NSRDB ‘PSM3’) works primarily for most of North America and South America. PVGIS works for most of the rest of the world (via SARAH ‘PVGIS’). See the tutorial “Weather Database Access.ipynb” tutorial on PVdeg or Jensen et al. https://doi.org/10.1016/j.solener.2023.112092 for satellite coverage information.

# Get data from a supplied data file (Do not use the next box of code if using your own file)
weather_file = os.path.join(DATA_DIR, 'psm3_demo.csv')
weather_df, meta = pvdeg.weather.read(weather_file,'csv')
print(meta)
{'Source': 'NSRDB', 'Location ID': 145809.0, 'City': '-', 'State': '-', 'Country': '-', 'Clearsky DHI Units': 'w/m2', 'Clearsky DNI Units': 'w/m2', 'Clearsky GHI Units': 'w/m2', 'Dew Point Units': 'c', 'DHI Units': 'w/m2', 'DNI Units': 'w/m2', 'GHI Units': 'w/m2', 'Solar Zenith Angle Units': 'Degree', 'Temperature Units': 'c', 'Pressure Units': 'mbar', 'Relative Humidity Units': '%', 'Precipitable Water Units': 'cm', 'Wind Direction Units': 'Degrees', 'Wind Speed Units': 'm/s', 'Cloud Type -15': 'N/A', 'Cloud Type 0': 'Clear', 'Cloud Type 1': 'Probably Clear', 'Cloud Type 2': 'Fog', 'Cloud Type 3': 'Water', 'Cloud Type 4': 'Super-Cooled Water', 'Cloud Type 5': 'Mixed', 'Cloud Type 6': 'Opaque Ice', 'Cloud Type 7': 'Cirrus', 'Cloud Type 8': 'Overlapping', 'Cloud Type 9': 'Overshooting', 'Cloud Type 10': 'Unknown', 'Cloud Type 11': 'Dust', 'Cloud Type 12': 'Smoke', 'Fill Flag 0': 'N/A', 'Fill Flag 1': 'Missing Image', 'Fill Flag 2': 'Low Irradiance', 'Fill Flag 3': 'Exceeds Clearsky', 'Fill Flag 4': 'Missing CLoud Properties', 'Fill Flag 5': 'Rayleigh Violation', 'Surface Albedo Units': 'N/A', 'Version': '3.0.6', 'latitude': 39.73, 'longitude': -105.18, 'tz': -7.0, 'altitude': 1820.0}
# This routine will get a meteorological dataset from anywhere in the world where it is available 
#weather_id = (24.7136, 46.6753) #Riyadh, Saudi Arabia
#weather_id = (35.6754, 139.65) #Tokyo, Japan
#weather_id = (-43.52646, 172.62165) #Christchurch, New Zealand
#weather_id = (64.84031, -147.73836) #Fairbanks, Alaska
#weather_id = (65.14037, -21.91633) #Reykjavik, Iceland
weather_id = (33.4152, -111.8315) #Mesa, Arizona
weather_df, meta = pvdeg.weather.get_anywhere(id=weather_id)
print(meta)
 Column "relative_humidity" not found in DataFrame. Calculating...
                                                                     
{'Source': 'NSRDB', 'Location ID': '77855', 'City': '-', 'State': '-', 'Country': '-', 'Dew Point Units': 'c', 'DHI Units': 'w/m2', 'DNI Units': 'w/m2', 'GHI Units': 'w/m2', 'Temperature Units': 'c', 'Pressure Units': 'mbar', 'Wind Direction Units': 'Degrees', 'Wind Speed Units': 'm/s', 'Surface Albedo Units': 'N/A', 'Version': '3.2.0', 'latitude': 33.41, 'longitude': -111.82, 'altitude': 381, 'tz': -7, 'wind_height': 2}
#This computes a module temperature. Here the default is an open rack system, but other options include: 
#       'open_rack_glass_glass', 
#       'close_mount_glass_glass',
#       'insulated_back_glass_polymer'

temperature = pvdeg.temperature.temperature(
    weather_df=weather_df,
    meta=meta,
    cell_or_mod="module", 
    temp_model="sapm",
    conf="open_rack_glass_polymer",
)

temperature = pd.DataFrame(temperature, columns = ['module_temperature'])
temperature['time'] = list(range(8760))
The array tilt angle was not provided, therefore the latitude tilt of 33.4 was used.
The array azimuth was not provided, therefore an azimuth of 180.0 was used.

2. Set up the Calculations#

There is a library of some materials and the relevant oxygen ingress parameters that can be used.

es = 'OX005'    #This is the number for the edge seal in the json file
enc = 'OX003'   #This is the number for the encapsulant in the json file
esw = 1.5   #This is the edge seal width in [cm]
encw = 10   #This is the encapsulant width in [cm]
sn = 20     #This is the number of edge seal nodes to use
en = 50     #This is the number of encapsulant nodes to use
pressure = 0.2109 * (1 - 0.0065 * meta.get('altitude') / 288.15) ** 5.25588

3. Run the Calculations#

This runs the calculations for diffusion using a simple 1-D finite difference calculation. The first set of calculations is just for diffusion, then the next two include some consumption of oxygen. In typical PV applications, it is common for oxygen ingress distance to be limited by its consumption rate in the encapsulant.

oxygen_profile = pvdeg.diffusion.esdiffusion(
    temperature=temperature, 
    edge_seal=es, 
    encapsulant=enc, 
    edge_seal_width=esw, 
    encapsulant_width=encw, 
    seal_nodes=sn, 
    encapsulant_nodes=en, 
    press=pressure, 
    repeat=2
)
The edge seal is Helioseal_101_dry .
The encapsulant is EVA .
n_lines=10
for index in range(1,n_lines):
    plt.plot(oxygen_profile.iloc[int(np.trunc(index*(len(oxygen_profile)-1)/n_lines))], label=np.round(index*((len(oxygen_profile)-1)/n_lines)/8760,3))
plt.legend(title='Time [year]')
plt.ylabel('Oxygen Concentration [g/cm³]')
plt.xlabel('Distance From Edge [cm]')
plt.ticklabel_format(axis='y', style='plain')
plt.show()
../_images/d83ae6678d2446a108264cf154d0a66fa2f4e715e736f6221e1adcedf69b6883.png
print(oxygen_profile)
         0.000000      0.076923      0.153846      0.230769      0.307692   \
0.0       0.000048  0.000000e+00  0.000000e+00  0.000000e+00  0.000000e+00   
1.0       0.000048  4.002707e-07  0.000000e+00  0.000000e+00  0.000000e+00   
2.0       0.000049  7.675650e-07  3.102246e-09  0.000000e+00  0.000000e+00   
3.0       0.000048  1.133281e-06  9.003071e-09  2.404356e-11  0.000000e+00   
4.0       0.000048  1.491315e-06  1.764705e-08  9.344800e-11  1.863464e-13   
...            ...           ...           ...           ...           ...   
17514.0   0.000047  4.141518e-05  3.954121e-05  3.779313e-05  3.603471e-05   
17515.0   0.000048  4.145754e-05  3.954258e-05  3.779302e-05  3.603444e-05   
17516.0   0.000048  4.150141e-05  3.954426e-05  3.779293e-05  3.603420e-05   
17517.0   0.000048  4.154158e-05  3.954623e-05  3.779286e-05  3.603398e-05   
17518.0   0.000048  4.158068e-05  3.954838e-05  3.779281e-05  3.603377e-05   

         0.384615   0.461538   0.538462   0.615385   0.692308   ...  \
0.0       0.000000   0.000000   0.000000   0.000000   0.000000  ...   
1.0       0.000000   0.000000   0.000000   0.000000   0.000000  ...   
2.0       0.000000   0.000000   0.000000   0.000000   0.000000  ...   
3.0       0.000000   0.000000   0.000000   0.000000   0.000000  ...   
4.0       0.000000   0.000000   0.000000   0.000000   0.000000  ...   
...            ...        ...        ...        ...        ...  ...   
17514.0   0.000034   0.000032   0.000031   0.000029   0.000027  ...   
17515.0   0.000034   0.000032   0.000031   0.000029   0.000027  ...   
17516.0   0.000034   0.000032   0.000031   0.000029   0.000027  ...   
17517.0   0.000034   0.000032   0.000031   0.000029   0.000027  ...   
17518.0   0.000034   0.000032   0.000031   0.000029   0.000027  ...   

         9.681818   9.883838   10.085859  10.287879  10.489899  10.691919  \
0.0       0.000000   0.000000   0.000000   0.000000   0.000000   0.000000   
1.0       0.000000   0.000000   0.000000   0.000000   0.000000   0.000000   
2.0       0.000000   0.000000   0.000000   0.000000   0.000000   0.000000   
3.0       0.000000   0.000000   0.000000   0.000000   0.000000   0.000000   
4.0       0.000000   0.000000   0.000000   0.000000   0.000000   0.000000   
...            ...        ...        ...        ...        ...        ...   
17514.0   0.000008   0.000007   0.000007   0.000007   0.000007   0.000007   
17515.0   0.000008   0.000007   0.000007   0.000007   0.000007   0.000007   
17516.0   0.000008   0.000007   0.000007   0.000007   0.000007   0.000007   
17517.0   0.000008   0.000007   0.000007   0.000007   0.000007   0.000007   
17518.0   0.000008   0.000007   0.000007   0.000007   0.000007   0.000007   

         10.893939  11.095960  11.297980  11.500000  
0.0       0.000000   0.000000   0.000000   0.000000  
1.0       0.000000   0.000000   0.000000   0.000000  
2.0       0.000000   0.000000   0.000000   0.000000  
3.0       0.000000   0.000000   0.000000   0.000000  
4.0       0.000000   0.000000   0.000000   0.000000  
...            ...        ...        ...        ...  
17514.0   0.000007   0.000007   0.000007   0.000007  
17515.0   0.000007   0.000007   0.000007   0.000007  
17516.0   0.000007   0.000007   0.000007   0.000007  
17517.0   0.000007   0.000007   0.000007   0.000007  
17518.0   0.000007   0.000007   0.000007   0.000007  

[17519 rows x 72 columns]