{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Solar components\n", "\n", "* File name: solar_components.ipynb\n", "* Last edited: 2020-06-30\n", "* Created by: Stefan Bruche (TU Berlin)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "\n", "**Note:** \n", " \n", "The solar classes require the availability of the Python module *pvlib*. The module is not provided with the standard installation of *aristopy*. If you want to use the solar classes, consider installing the module in your current environment, e.g. via:\n", " \n", "```python\n", ">> pip install pvlib \n", "```\n", " \n", "For further information and an installation guide, users are referred to the [pvlib documentation](https://pvlib-python.readthedocs.io/en/stable/).\n", "\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "```python\n", "import pandas as pd\n", "import aristopy as ar\n", "\n", "# Get data from csv-file\n", "data = pd.read_csv('testdata.csv', sep=';', decimal='.', index_col=[0])\n", "\n", "# Convert index to type DateTimeIndex and add required information about the time zone.\n", "data.index = pd.to_datetime(\n", " data.index, format=\"%d.%m.%Y %H:%M\").tz_localize(tz='UTC')\n", "\n", "# Create a SolarData class instance with global (GHI) and diffuse (DHI)\n", "# horizontal irradiation data for the location Potsdam/Germany.\n", "solar = ar.SolarData(ghi=data['GHI [W/m2]'], dhi=data['DHI [W/m2]'],\n", " latitude=52.3822, longitude=13.0622, altitude=81)\n", "\n", "\n", "# Photovoltaic\n", "# ------------\n", "# Calculate the direct normal irradiation (DNI) from GHI, DHI and the solar positions\n", "df_solar = solar.get_irradiance_dataframe()\n", "\n", "# Append ambient temperature data (and wind speed if available)\n", "df_solar['temp_air'] = data['T_amb [C]']\n", "\n", "# Create a PV System (consisting of a module and an inverter).\n", "pv_system = ar.PVSystem(module='Canadian_Solar_Inc__CS6X_300P',\n", " inverter='Canadian_Solar_Inc___CSI_60KTL_CT__480V_')\n", "\n", "# Calculate the feed-in of the PV system for specified conditions at a site \n", "# (irradiation, temperature, collector tilt and azimuth).\n", "pv_feed_in = pv_system.get_feedin(\n", " weather=df_solar, location=solar.location,\n", " surface_tilt=30, surface_azimuth=180, # South\n", " modules_per_string=20, strings_per_inverter=10, scaling='peak_power') # [W/Wp]\n", "\n", "\n", "# Solar thermal collector\n", "# -----------------------\n", "# Calculate the irradiance components on the solar-thermal collector array.\n", "poa = solar.get_plane_of_array_irradiance(surface_tilt=45, surface_azimuth=180)\n", "\n", "# Set up a solar collector array (type: evacuated tube collectors).\n", "solar_collector_data = ar.SolarThermalCollector(\n", " optical_efficiency=0.80, thermal_loss_parameter_1=1.1,\n", " thermal_loss_parameter_2=0.008, irradiance_data=poa['poa_global'],\n", " t_ambient=data['T_amb [C]'], t_collector_in=60, t_collector_out=90)\n", "\n", "# Calculate heat output of the solar-thermal collector\n", "solar_heat = solar_collector_data.get_collector_heat_output()\n", "\n", "\n", "# Solar components in the model\n", "# -----------------------------\n", "# Create energy system instance\n", "es = ar.EnergySystem()\n", "\n", "# Add a photovoltaic component (electricity source)\n", "pv = ar.Source(\n", " ensys=es, name='pv', outlet=ar.Flow('Elec', 'elec_sink'),\n", " time_series_data=ar.Series('pv_feed_in', pv_feed_in), # [MW/MWp]\n", " capacity=100, capex_per_capacity=700e3, opex_per_capacity=0.025*700e3, # [MWp]\n", " user_expressions='Elec == CAP * pv_feed_in')\n", "\n", "# Add a Solar-thermal collector component (heat source)\n", "solar_collector = ar.Source(\n", " ensys=es, name='solar_collector', outlet=ar.Flow('Heat', 'heat_sink'),\n", " basic_variable='Area', additional_vars=ar.Var('Area', has_time_set=False),\n", " time_series_data=ar.Series('collector_feedin', solar_heat / 1e6), # [MW/m²]\n", " user_expressions='Heat == collector_feedin * Area',\n", " capacity=1e5, capex_per_capacity=300, opex_per_capacity=300*0.01) # [m²], [EUR/m²]\n", "\n", "# Add sinks for electricity and heat\n", "elec_sink = ar.Sink(ensys=es, name='elec_sink', inlet=ar.Flow('Elec'))\n", "heat_sink = ar.Sink(ensys=es, name='heat_sink', inlet=ar.Flow('Heat'))\n", "\n", "# Run the optimization\n", "es.optimize()\n", "```" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### SolarData class\n", "\n", "Read the input data from a csv-file for one year in hourly resolution (8760 time steps) with pandas." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "# Import the required packages (jupyter magic only required for jupyter notebooks)\n", "%reload_ext autoreload\n", "%autoreload 2\n", "%matplotlib inline\n", "\n", "import pandas as pd\n", "import matplotlib.pyplot as plt\n", "import aristopy as ar\n", "\n", "# Get data from csv-file\n", "data = pd.read_csv('testdata.csv', sep=';', decimal='.', index_col=[0])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The index of the solar data needs be of type DateTimeIndex and must contain information about the time zone. The Data from the reference \"Deutscher Wetterdienst\" ([DWD](https://opendata.dwd.de/climate_environment/CDC/)) is provided with a UTC timestamp. The same is true for the Photovoltaic Geographical Information System ([PVGIS](http://re.jrc.ec.europa.eu/pvgis/)) data of the JRC. So, we convert the index to a datetime and localize it to the UTC time zone. Alternatively, we could use the pandas method ```date_range``` to create a new index with time zone information included." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "data.index = pd.to_datetime(\n", " data.index, format=\"%d.%m.%Y %H:%M\").tz_localize(tz='UTC')" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# print the time zone of the data index\n", "data.index.tz" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
T_amb [C]DHI [W/m2]GHI [W/m2]
2018-01-01 00:00:00+00:0011.30.00.0
2018-01-01 01:00:00+00:0010.90.00.0
2018-01-01 02:00:00+00:0011.10.00.0
\n", "
" ], "text/plain": [ " T_amb [C] DHI [W/m2] GHI [W/m2]\n", "2018-01-01 00:00:00+00:00 11.3 0.0 0.0\n", "2018-01-01 01:00:00+00:00 10.9 0.0 0.0\n", "2018-01-01 02:00:00+00:00 11.1 0.0 0.0" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# print first rows\n", "data.head(3)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "A SolarData class instance is created with provided specifications for the location and irradiance data. The global (GHI) and diffuse (DHI) horizontal irradiation time series are required input arguments. The direct normal (beam) irradiation (DNI) can also be specified or is internally calculated based on GHI, DHI, and solar positions. The selected location is Potsdam/Germany. \n", "Later, the SolarData instance is used to calculate and return values for all irradiance time series ```get_irradiance_dataframe```, and the plane of array irradiance (POA) ```get_plane_of_array_irradiance```." ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "solar = ar.SolarData(ghi=data['GHI [W/m2]'], dhi=data['DHI [W/m2]'],\n", " latitude=52.3822, longitude=13.0622, altitude=81)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### PVSystem class\n", "\n", "First, we calculate the direct normal irradiation (DNI) from GHI, DHI, and solar positions of the respective location, and return the data in a pandas DataFrame. " ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "df_solar = solar.get_irradiance_dataframe()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "If available, ambient temperature and wind speed data can be appended to the DataFrame. In this case, *pvlib* requires the column names: 'temp_air' and 'wind_speed'. This step is optional. Default values 20°C and 0 m/s are used, if no values are provided." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "df_solar['temp_air'] = data['T_amb [C]']" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
ghidhidnitemp_air
2018-01-01 07:00:00+00:000.0000000.000000-0.0000008.7
2018-01-01 08:00:00+00:0025.00000022.22222238.9885467.8
2018-01-01 09:00:00+00:0088.88888958.333333185.7679007.7
2018-01-01 10:00:00+00:00147.22222280.555556293.9407488.0
2018-01-01 11:00:00+00:00205.55555672.222222526.9920078.4
2018-01-01 12:00:00+00:00180.55555697.222222345.5323819.1
2018-01-01 13:00:00+00:0066.66666761.11111128.9109018.6
2018-01-01 14:00:00+00:0058.33333344.444444126.5485037.9
2018-01-01 15:00:00+00:0022.22222219.4444440.0000007.3
2018-01-01 16:00:00+00:000.0000000.000000-0.0000007.5
\n", "
" ], "text/plain": [ " ghi dhi dni temp_air\n", "2018-01-01 07:00:00+00:00 0.000000 0.000000 -0.000000 8.7\n", "2018-01-01 08:00:00+00:00 25.000000 22.222222 38.988546 7.8\n", "2018-01-01 09:00:00+00:00 88.888889 58.333333 185.767900 7.7\n", "2018-01-01 10:00:00+00:00 147.222222 80.555556 293.940748 8.0\n", "2018-01-01 11:00:00+00:00 205.555556 72.222222 526.992007 8.4\n", "2018-01-01 12:00:00+00:00 180.555556 97.222222 345.532381 9.1\n", "2018-01-01 13:00:00+00:00 66.666667 61.111111 28.910901 8.6\n", "2018-01-01 14:00:00+00:00 58.333333 44.444444 126.548503 7.9\n", "2018-01-01 15:00:00+00:00 22.222222 19.444444 0.000000 7.3\n", "2018-01-01 16:00:00+00:00 0.000000 0.000000 -0.000000 7.5" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Print data of the first day \n", "df_solar.iloc[7:17]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The next step is to create an instance of class PVSystem by selecting a type module and inverter from the pvlib's database. The full database currently consists of more than 20,000 modules and 3,000 inverters. To see the database you can either go through the CSV-files in the \"data\" directory of your pvlib installation, or use the method ```retrieve_sam```." ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
A10Green_Technology_A10J_S72_175A10Green_Technology_A10J_S72_180A10Green_Technology_A10J_S72_185A10Green_Technology_A10J_M60_220A10Green_Technology_A10J_M60_225A10Green_Technology_A10J_M60_230A10Green_Technology_A10J_M60_235A10Green_Technology_A10J_M60_240A2Peak_Power_POWER_ON_P220_6x10Aavid_Solar_ASMS_165P...Zytech_Solar_ZT275PZytech_Solar_ZT280PZytech_Solar_ZT285PZytech_Solar_ZT290PZytech_Solar_ZT295PZytech_Solar_ZT300PZytech_Solar_ZT305PZytech_Solar_ZT310PZytech_Solar_ZT315PZytech_Solar_ZT320P
TechnologyMono-c-SiMono-c-SiMono-c-SiMulti-c-SiMulti-c-SiMulti-c-SiMulti-c-SiMulti-c-SiMulti-c-SiMulti-c-Si...Multi-c-SiMulti-c-SiMulti-c-SiMulti-c-SiMulti-c-SiMulti-c-SiMulti-c-SiMulti-c-SiMulti-c-SiMulti-c-Si
Bifacial0000000000...0000000000
STC175.091179.928184.702219.876224.986230.129235.008240.538219.978164.85...275.014280.329285.326290.036295.066300.003305.056310.144315.094320.42
PTC151.2155.7160.2189.1193.5204.1208.7213.3195146.3...248252.6257.3261.9266.5271.2275.8280.5285.1289.8
A_c1.31.31.31.6241.6241.6241.6241.6241.6331.301...1.9311.9311.9311.9311.9311.9311.9311.9311.9311.931
Length1.5761.5761.5761.6321.6321.6321.6321.6321.6331.575...1.951.951.951.951.951.951.951.951.951.95
Width0.8250.8250.8250.9950.9950.9950.9950.99510.826...0.990.990.990.990.990.990.990.990.990.99
N_s72727260606060606072...72727272727272727272
I_sc_ref5.175.315.437.958.048.18.238.327.985.25...8.318.48.488.558.648.718.878.99.019.12
V_oc_ref43.9944.0644.1436.0636.2436.4236.7236.8436.7243.5...45.145.2545.4345.5945.7545.9646.1246.2846.4446.6
I_mp_ref4.784.95.037.37.447.587.687.837.264.71...7.767.877.978.078.168.268.368.468.568.66
V_mp_ref36.6336.7236.7230.1230.2430.3630.630.7230.335...35.4435.6235.835.9436.1636.3236.4936.6636.8137
alpha_sc0.0021460.0022040.0022530.0043570.0044060.0078570.0079830.008070.003990.001575...0.0040140.0040570.0040960.004130.0041730.0042070.0042840.0042990.0043520.004405
beta_oc-0.159068-0.159321-0.15961-0.130681-0.131334-0.130748-0.131825-0.132256-0.12852-0.170955...-0.144275-0.144755-0.145331-0.145842-0.146354-0.147026-0.147538-0.14805-0.148562-0.149073
T_NOCT49.949.949.950.250.246.446.446.447.945...46.446.446.446.446.446.446.446.446.446.4
a_ref1.98171.988411.984821.673091.671781.680481.696981.694231.597031.96463...1.810271.814851.82011.822781.831251.844411.849151.85741.865021.87378
I_L_ref5.17575.316155.435687.959068.047218.103618.234648.321778.000235.27415...8.323778.410158.48678.551968.641548.805318.874028.99489.106619.21845
I_o_ref1.14916e-091.22524e-091.16164e-093.34415e-093.01424e-093.09549e-093.24284e-092.97878e-097.85133e-101.19571e-09...1.24062e-101.2341e-101.21696e-101.17172e-101.21851e-101.31413e-101.30106e-101.34888e-101.38664e-101.44659e-10
R_s0.3166880.2999190.3119620.1403930.147370.1520580.1515040.1500770.2296440.595855...0.5664930.5525840.5435360.5384990.5211340.5157350.5066110.4959040.4883760.475581
R_sh_ref287.102259.048298.424123.168164.419340.983268.701706.2790.5774129.523...341.758457.468687.5612348.682917.76552.4551119.07767.958682.292604.221
Adjust16.057116.41915.688221.875220.698421.554421.871920.88112.21727.16388...5.421785.274645.065094.660514.90135.415555.241555.446345.578745.83833
gamma_r-0.5072-0.5072-0.5072-0.5196-0.5196-0.493-0.493-0.493-0.46-0.519...-0.4308-0.4308-0.4308-0.4308-0.4308-0.4308-0.4308-0.4308-0.4308-0.4308
BIPVNNNNNNNNNN...NNNNNNNNNN
VersionSAM 2018.11.11 r2SAM 2018.11.11 r2SAM 2018.11.11 r2SAM 2018.11.11 r2SAM 2018.11.11 r2SAM 2018.11.11 r2SAM 2018.11.11 r2SAM 2018.11.11 r2SAM 2018.11.11 r2SAM 2018.11.11 r2...SAM 2018.11.11 r2SAM 2018.11.11 r2SAM 2018.11.11 r2SAM 2018.11.11 r2SAM 2018.11.11 r2SAM 2018.11.11 r2SAM 2018.11.11 r2SAM 2018.11.11 r2SAM 2018.11.11 r2SAM 2018.11.11 r2
Date1/3/20191/3/20191/3/20191/3/20191/3/20191/3/20191/3/20191/3/20191/3/20191/3/2019...1/3/20191/3/20191/3/20191/3/20191/3/20191/3/20191/3/20191/3/20191/3/20191/3/2019
\n", "

25 rows × 21535 columns

\n", "
" ], "text/plain": [ " A10Green_Technology_A10J_S72_175 A10Green_Technology_A10J_S72_180 \\\n", "Technology Mono-c-Si Mono-c-Si \n", "Bifacial 0 0 \n", "STC 175.091 179.928 \n", "PTC 151.2 155.7 \n", "A_c 1.3 1.3 \n", "Length 1.576 1.576 \n", "Width 0.825 0.825 \n", "N_s 72 72 \n", "I_sc_ref 5.17 5.31 \n", "V_oc_ref 43.99 44.06 \n", "I_mp_ref 4.78 4.9 \n", "V_mp_ref 36.63 36.72 \n", "alpha_sc 0.002146 0.002204 \n", "beta_oc -0.159068 -0.159321 \n", "T_NOCT 49.9 49.9 \n", "a_ref 1.9817 1.98841 \n", "I_L_ref 5.1757 5.31615 \n", "I_o_ref 1.14916e-09 1.22524e-09 \n", "R_s 0.316688 0.299919 \n", "R_sh_ref 287.102 259.048 \n", "Adjust 16.0571 16.419 \n", "gamma_r -0.5072 -0.5072 \n", "BIPV N N \n", "Version SAM 2018.11.11 r2 SAM 2018.11.11 r2 \n", "Date 1/3/2019 1/3/2019 \n", "\n", " A10Green_Technology_A10J_S72_185 A10Green_Technology_A10J_M60_220 \\\n", "Technology Mono-c-Si Multi-c-Si \n", "Bifacial 0 0 \n", "STC 184.702 219.876 \n", "PTC 160.2 189.1 \n", "A_c 1.3 1.624 \n", "Length 1.576 1.632 \n", "Width 0.825 0.995 \n", "N_s 72 60 \n", "I_sc_ref 5.43 7.95 \n", "V_oc_ref 44.14 36.06 \n", "I_mp_ref 5.03 7.3 \n", "V_mp_ref 36.72 30.12 \n", "alpha_sc 0.002253 0.004357 \n", "beta_oc -0.15961 -0.130681 \n", "T_NOCT 49.9 50.2 \n", "a_ref 1.98482 1.67309 \n", "I_L_ref 5.43568 7.95906 \n", "I_o_ref 1.16164e-09 3.34415e-09 \n", "R_s 0.311962 0.140393 \n", "R_sh_ref 298.424 123.168 \n", "Adjust 15.6882 21.8752 \n", "gamma_r -0.5072 -0.5196 \n", "BIPV N N \n", "Version SAM 2018.11.11 r2 SAM 2018.11.11 r2 \n", "Date 1/3/2019 1/3/2019 \n", "\n", " A10Green_Technology_A10J_M60_225 A10Green_Technology_A10J_M60_230 \\\n", "Technology Multi-c-Si Multi-c-Si \n", "Bifacial 0 0 \n", "STC 224.986 230.129 \n", "PTC 193.5 204.1 \n", "A_c 1.624 1.624 \n", "Length 1.632 1.632 \n", "Width 0.995 0.995 \n", "N_s 60 60 \n", "I_sc_ref 8.04 8.1 \n", "V_oc_ref 36.24 36.42 \n", "I_mp_ref 7.44 7.58 \n", "V_mp_ref 30.24 30.36 \n", "alpha_sc 0.004406 0.007857 \n", "beta_oc -0.131334 -0.130748 \n", "T_NOCT 50.2 46.4 \n", "a_ref 1.67178 1.68048 \n", "I_L_ref 8.04721 8.10361 \n", "I_o_ref 3.01424e-09 3.09549e-09 \n", "R_s 0.14737 0.152058 \n", "R_sh_ref 164.419 340.983 \n", "Adjust 20.6984 21.5544 \n", "gamma_r -0.5196 -0.493 \n", "BIPV N N \n", "Version SAM 2018.11.11 r2 SAM 2018.11.11 r2 \n", "Date 1/3/2019 1/3/2019 \n", "\n", " A10Green_Technology_A10J_M60_235 A10Green_Technology_A10J_M60_240 \\\n", "Technology Multi-c-Si Multi-c-Si \n", "Bifacial 0 0 \n", "STC 235.008 240.538 \n", "PTC 208.7 213.3 \n", "A_c 1.624 1.624 \n", "Length 1.632 1.632 \n", "Width 0.995 0.995 \n", "N_s 60 60 \n", "I_sc_ref 8.23 8.32 \n", "V_oc_ref 36.72 36.84 \n", "I_mp_ref 7.68 7.83 \n", "V_mp_ref 30.6 30.72 \n", "alpha_sc 0.007983 0.00807 \n", "beta_oc -0.131825 -0.132256 \n", "T_NOCT 46.4 46.4 \n", "a_ref 1.69698 1.69423 \n", "I_L_ref 8.23464 8.32177 \n", "I_o_ref 3.24284e-09 2.97878e-09 \n", "R_s 0.151504 0.150077 \n", "R_sh_ref 268.701 706.27 \n", "Adjust 21.8719 20.881 \n", "gamma_r -0.493 -0.493 \n", "BIPV N N \n", "Version SAM 2018.11.11 r2 SAM 2018.11.11 r2 \n", "Date 1/3/2019 1/3/2019 \n", "\n", " A2Peak_Power_POWER_ON_P220_6x10 Aavid_Solar_ASMS_165P ... \\\n", "Technology Multi-c-Si Multi-c-Si ... \n", "Bifacial 0 0 ... \n", "STC 219.978 164.85 ... \n", "PTC 195 146.3 ... \n", "A_c 1.633 1.301 ... \n", "Length 1.633 1.575 ... \n", "Width 1 0.826 ... \n", "N_s 60 72 ... \n", "I_sc_ref 7.98 5.25 ... \n", "V_oc_ref 36.72 43.5 ... \n", "I_mp_ref 7.26 4.71 ... \n", "V_mp_ref 30.3 35 ... \n", "alpha_sc 0.00399 0.001575 ... \n", "beta_oc -0.12852 -0.170955 ... \n", "T_NOCT 47.9 45 ... \n", "a_ref 1.59703 1.96463 ... \n", "I_L_ref 8.00023 5.27415 ... \n", "I_o_ref 7.85133e-10 1.19571e-09 ... \n", "R_s 0.229644 0.595855 ... \n", "R_sh_ref 90.5774 129.523 ... \n", "Adjust 12.2172 7.16388 ... \n", "gamma_r -0.46 -0.519 ... \n", "BIPV N N ... \n", "Version SAM 2018.11.11 r2 SAM 2018.11.11 r2 ... \n", "Date 1/3/2019 1/3/2019 ... \n", "\n", " Zytech_Solar_ZT275P Zytech_Solar_ZT280P Zytech_Solar_ZT285P \\\n", "Technology Multi-c-Si Multi-c-Si Multi-c-Si \n", "Bifacial 0 0 0 \n", "STC 275.014 280.329 285.326 \n", "PTC 248 252.6 257.3 \n", "A_c 1.931 1.931 1.931 \n", "Length 1.95 1.95 1.95 \n", "Width 0.99 0.99 0.99 \n", "N_s 72 72 72 \n", "I_sc_ref 8.31 8.4 8.48 \n", "V_oc_ref 45.1 45.25 45.43 \n", "I_mp_ref 7.76 7.87 7.97 \n", "V_mp_ref 35.44 35.62 35.8 \n", "alpha_sc 0.004014 0.004057 0.004096 \n", "beta_oc -0.144275 -0.144755 -0.145331 \n", "T_NOCT 46.4 46.4 46.4 \n", "a_ref 1.81027 1.81485 1.8201 \n", "I_L_ref 8.32377 8.41015 8.4867 \n", "I_o_ref 1.24062e-10 1.2341e-10 1.21696e-10 \n", "R_s 0.566493 0.552584 0.543536 \n", "R_sh_ref 341.758 457.468 687.561 \n", "Adjust 5.42178 5.27464 5.06509 \n", "gamma_r -0.4308 -0.4308 -0.4308 \n", "BIPV N N N \n", "Version SAM 2018.11.11 r2 SAM 2018.11.11 r2 SAM 2018.11.11 r2 \n", "Date 1/3/2019 1/3/2019 1/3/2019 \n", "\n", " Zytech_Solar_ZT290P Zytech_Solar_ZT295P Zytech_Solar_ZT300P \\\n", "Technology Multi-c-Si Multi-c-Si Multi-c-Si \n", "Bifacial 0 0 0 \n", "STC 290.036 295.066 300.003 \n", "PTC 261.9 266.5 271.2 \n", "A_c 1.931 1.931 1.931 \n", "Length 1.95 1.95 1.95 \n", "Width 0.99 0.99 0.99 \n", "N_s 72 72 72 \n", "I_sc_ref 8.55 8.64 8.71 \n", "V_oc_ref 45.59 45.75 45.96 \n", "I_mp_ref 8.07 8.16 8.26 \n", "V_mp_ref 35.94 36.16 36.32 \n", "alpha_sc 0.00413 0.004173 0.004207 \n", "beta_oc -0.145842 -0.146354 -0.147026 \n", "T_NOCT 46.4 46.4 46.4 \n", "a_ref 1.82278 1.83125 1.84441 \n", "I_L_ref 8.55196 8.64154 8.80531 \n", "I_o_ref 1.17172e-10 1.21851e-10 1.31413e-10 \n", "R_s 0.538499 0.521134 0.515735 \n", "R_sh_ref 2348.68 2917.76 552.455 \n", "Adjust 4.66051 4.9013 5.41555 \n", "gamma_r -0.4308 -0.4308 -0.4308 \n", "BIPV N N N \n", "Version SAM 2018.11.11 r2 SAM 2018.11.11 r2 SAM 2018.11.11 r2 \n", "Date 1/3/2019 1/3/2019 1/3/2019 \n", "\n", " Zytech_Solar_ZT305P Zytech_Solar_ZT310P Zytech_Solar_ZT315P \\\n", "Technology Multi-c-Si Multi-c-Si Multi-c-Si \n", "Bifacial 0 0 0 \n", "STC 305.056 310.144 315.094 \n", "PTC 275.8 280.5 285.1 \n", "A_c 1.931 1.931 1.931 \n", "Length 1.95 1.95 1.95 \n", "Width 0.99 0.99 0.99 \n", "N_s 72 72 72 \n", "I_sc_ref 8.87 8.9 9.01 \n", "V_oc_ref 46.12 46.28 46.44 \n", "I_mp_ref 8.36 8.46 8.56 \n", "V_mp_ref 36.49 36.66 36.81 \n", "alpha_sc 0.004284 0.004299 0.004352 \n", "beta_oc -0.147538 -0.14805 -0.148562 \n", "T_NOCT 46.4 46.4 46.4 \n", "a_ref 1.84915 1.8574 1.86502 \n", "I_L_ref 8.87402 8.9948 9.10661 \n", "I_o_ref 1.30106e-10 1.34888e-10 1.38664e-10 \n", "R_s 0.506611 0.495904 0.488376 \n", "R_sh_ref 1119.07 767.958 682.292 \n", "Adjust 5.24155 5.44634 5.57874 \n", "gamma_r -0.4308 -0.4308 -0.4308 \n", "BIPV N N N \n", "Version SAM 2018.11.11 r2 SAM 2018.11.11 r2 SAM 2018.11.11 r2 \n", "Date 1/3/2019 1/3/2019 1/3/2019 \n", "\n", " Zytech_Solar_ZT320P \n", "Technology Multi-c-Si \n", "Bifacial 0 \n", "STC 320.42 \n", "PTC 289.8 \n", "A_c 1.931 \n", "Length 1.95 \n", "Width 0.99 \n", "N_s 72 \n", "I_sc_ref 9.12 \n", "V_oc_ref 46.6 \n", "I_mp_ref 8.66 \n", "V_mp_ref 37 \n", "alpha_sc 0.004405 \n", "beta_oc -0.149073 \n", "T_NOCT 46.4 \n", "a_ref 1.87378 \n", "I_L_ref 9.21845 \n", "I_o_ref 1.44659e-10 \n", "R_s 0.475581 \n", "R_sh_ref 604.221 \n", "Adjust 5.83833 \n", "gamma_r -0.4308 \n", "BIPV N \n", "Version SAM 2018.11.11 r2 \n", "Date 1/3/2019 \n", "\n", "[25 rows x 21535 columns]" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import pvlib\n", "\n", "pvlib.pvsystem.retrieve_sam(name='cecmod') # for inverters: name='cecinverter' " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In this example modules and inverter from the manufacturer Canadian Solar are applied. The modules (CS6X-P) use multi-c-Si technololgy and have a nominal power of 300 Wp (STC) and an efficiency of 15.6%. 200 modules are connected to a central inverter that has a nominal AC power of 60 kW." ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [], "source": [ "pv_system = ar.PVSystem(module='Canadian_Solar_Inc__CS6X_300P',\n", " inverter='Canadian_Solar_Inc___CSI_60KTL_CT__480V_')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To get the PV plant's electrical power output, we need to provide the irradiance data determined above and the specifications for the orientation of the modules (tilt and azimuth). An azimuth value of 180 represents a surface facing south, a tilt of 0 implies a horizontal module alignment. Furthermore, the electrical output is scaled to its peak power [W/Wp]." ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [], "source": [ "pv_feed_in = pv_system.get_feedin(\n", " weather=df_solar, location=solar.location,\n", " surface_tilt=30, surface_azimuth=180, # South\n", " modules_per_string=20, strings_per_inverter=10, scaling='peak_power') # [W/Wp]" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Plot the PV feed-in (scaled to peak power)\n", "pv_feed_in.plot()\n", "plt.ylabel('Scaled PV Feed-in [W/Wp]')\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### SolarThermalCollector class\n", "\n", "The solar-thermal collector requires data for the plane of array irradiance (POA). The POA combines the direct normal (DNI) irradiance with sky diffuse and ground-reflected irradiance components and is returned as an OrderedDict or DataFrame via method ```get_plane_of_array_irradiance```. The method needs information about the array's orientation (tilt and azimuth) as input arguments. Additional keyword arguments (e.g., \"albedo\") can be specified via kwargs. " ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [], "source": [ "poa = solar.get_plane_of_array_irradiance(\n", " surface_tilt=45, surface_azimuth=180)" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
poa_globalpoa_directpoa_diffusepoa_sky_diffusepoa_ground_diffuse
2018-01-01 07:00:00+00:000.000000-0.0000000.0000000.0000000.000000
2018-01-01 08:00:00+00:0041.91667222.03352719.88314418.9678530.915291
2018-01-01 09:00:00+00:00186.436000133.39101653.04498449.7906143.254369
2018-01-01 10:00:00+00:00315.071214240.92269774.14851668.7584685.390049
2018-01-01 11:00:00+00:00523.571366454.40011569.17125161.6455237.525729
2018-01-01 12:00:00+00:00380.848212291.25341789.59479582.9843576.610437
2018-01-01 13:00:00+00:0076.66032322.05795054.60237352.1615962.440777
2018-01-01 14:00:00+00:00119.56481579.49342940.07138637.9357062.135680
2018-01-01 15:00:00+00:0017.4104640.00000017.41046416.5968710.813592
2018-01-01 16:00:00+00:000.000000-0.0000000.0000000.0000000.000000
\n", "
" ], "text/plain": [ " poa_global poa_direct poa_diffuse \\\n", "2018-01-01 07:00:00+00:00 0.000000 -0.000000 0.000000 \n", "2018-01-01 08:00:00+00:00 41.916672 22.033527 19.883144 \n", "2018-01-01 09:00:00+00:00 186.436000 133.391016 53.044984 \n", "2018-01-01 10:00:00+00:00 315.071214 240.922697 74.148516 \n", "2018-01-01 11:00:00+00:00 523.571366 454.400115 69.171251 \n", "2018-01-01 12:00:00+00:00 380.848212 291.253417 89.594795 \n", "2018-01-01 13:00:00+00:00 76.660323 22.057950 54.602373 \n", "2018-01-01 14:00:00+00:00 119.564815 79.493429 40.071386 \n", "2018-01-01 15:00:00+00:00 17.410464 0.000000 17.410464 \n", "2018-01-01 16:00:00+00:00 0.000000 -0.000000 0.000000 \n", "\n", " poa_sky_diffuse poa_ground_diffuse \n", "2018-01-01 07:00:00+00:00 0.000000 0.000000 \n", "2018-01-01 08:00:00+00:00 18.967853 0.915291 \n", "2018-01-01 09:00:00+00:00 49.790614 3.254369 \n", "2018-01-01 10:00:00+00:00 68.758468 5.390049 \n", "2018-01-01 11:00:00+00:00 61.645523 7.525729 \n", "2018-01-01 12:00:00+00:00 82.984357 6.610437 \n", "2018-01-01 13:00:00+00:00 52.161596 2.440777 \n", "2018-01-01 14:00:00+00:00 37.935706 2.135680 \n", "2018-01-01 15:00:00+00:00 16.596871 0.813592 \n", "2018-01-01 16:00:00+00:00 0.000000 0.000000 " ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Print the components of POA data \n", "poa.iloc[7:17]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Set up a solar collector array (type: evacuated tube collectors).\n", "The internal procedure to calculate the collector thermal energy output is adopted from reference:
\n", "*V.Quaschning, 'Regenerative Energiesysteme', 10th edition, Hanser, 2019, p.131ff.*
\n", "Characteristic values for the parametrization of different collector types are also indicated in this reference." ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [], "source": [ "solar_collector_data = ar.SolarThermalCollector(\n", " optical_efficiency=0.80, thermal_loss_parameter_1=1.1,\n", " thermal_loss_parameter_2=0.008, irradiance_data=poa['poa_global'],\n", " t_ambient=data['T_amb [C]'], t_collector_in=60, t_collector_out=90)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The thermal energy output of the solar collector is calculated and returned by method ```get_collector_heat_output```." ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [], "source": [ "solar_heat = solar_collector_data.get_collector_heat_output()" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "2018-01-01 07:00:00+00:00 0.000000\n", "2018-01-01 08:00:00+00:00 0.000000\n", "2018-01-01 09:00:00+00:00 38.884480\n", "2018-01-01 10:00:00+00:00 142.444971\n", "2018-01-01 11:00:00+00:00 310.112613\n", "2018-01-01 12:00:00+00:00 197.446090\n", "2018-01-01 13:00:00+00:00 0.000000\n", "2018-01-01 14:00:00+00:00 0.000000\n", "2018-01-01 15:00:00+00:00 0.000000\n", "2018-01-01 16:00:00+00:00 0.000000\n", "dtype: float64" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "solar_heat[7:17]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The data section above shows that despite present irradiation on the collector in the hours 1 pm to 3 pm, no useful thermal energy is released. That is explainable by the high share of heat losses at large temperature differences and a low total irradiance. The following figure shows that depending on the outside temperature, the collector efficiency can even drop to zero. Thus, no further thermal energy is extracted." ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.scatter(poa['poa_global'], solar_collector_data.collector_efficiency*100)\n", "plt.xlabel('Global POA [W/m²]'), plt.ylabel('Solar collector efficiency [%]')\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Plot the specific solar-thermal heat output\n", "solar_heat.plot()\n", "plt.ylabel('Solar-thermal heat output [W/m²]')\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Simple solar model\n", "\n", "The following simple model exemplarily shows how to use the generated feed-in time series of the PVSystem and the SolarThermalCollector classes in an *aristopy* model. The model could easily be extended, e.g., by adding a heat pump or a (seasonal) thermal storage system. " ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [], "source": [ "# Create energy system instance\n", "es = ar.EnergySystem()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The feed-in time series of the PV system can be introduced directly to the model with an electricity providing instance of the Source class. Since the applied time series is scaled to the peak power value, we need to multiply this relative value with the overall capacity of the PV plant in a user expression. " ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [], "source": [ "# Add a photovoltaic component (electricity source)\n", "pv = ar.Source(\n", " ensys=es, name='pv', outlet=ar.Flow('Elec', 'elec_sink'),\n", " time_series_data=ar.Series('pv_feed_in', pv_feed_in), # [MW/MWp]\n", " capacity=100, capex_per_capacity=700e3, opex_per_capacity=0.025*700e3, # [MWp]\n", " user_expressions='Elec == CAP * pv_feed_in')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The Source class is also used to impose the solar-thermal heat output. \n", "The available time-series provides area-specific data, so the delivered thermal energy is calculated as the product of the time series values and the collector area. The area is introduced as an additional variable without time dependency via the \"additional_vars\" keyword. Since also the costs of the plant are area-related [EUR/m²], the Area varibale is defined as the basic variable of the component (see [Component class API](component.rst))." ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [], "source": [ "# Add a Solar-thermal collector component (heat source)\n", "solar_collector = ar.Source(\n", " ensys=es, name='solar_collector', outlet=ar.Flow('Heat', 'heat_sink'),\n", " basic_variable='Area', additional_vars=ar.Var('Area', has_time_set=False),\n", " time_series_data=ar.Series('collector_feedin', solar_heat / 1e6), # [MW/m²]\n", " user_expressions='Heat == collector_feedin * Area',\n", " capacity=1e5, capex_per_capacity=300, opex_per_capacity=300*0.01) # [m²], [EUR/m²]\n", "\n", "# Add sinks for electricity and heat\n", "elec_sink = ar.Sink(ensys=es, name='elec_sink', inlet=ar.Flow('Elec'))\n", "heat_sink = ar.Sink(ensys=es, name='heat_sink', inlet=ar.Flow('Heat'))\n", "\n", "# Run the optimization\n", "es.optimize(tee=False)" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAt4AAAG+CAYAAACkiAOYAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAgAElEQVR4nO3deZhcdZ3v8feXAErYl4Asow3KEAXDliCL12FwJCgMuMANi8qAPoxXhkUGJHodmGFQ0Yu4CzKALG5hkG0mKIgSfVhEgkHWSBiMgCKgLAFEIMn3/lGnYyfprj6d9DlVdfr9ep56us5SVd86ferUp371q9+JzESSJElStVbpdAGSJEnSWGDwliRJkmpg8JYkSZJqYPCWJEmSamDwliRJkmpg8JYkSZJqsGqnCyhjo402yr6+vk6XIUmSJLV1++23/yEzJwy2rCeCd19fH7Nnz+50GZIkSVJbEfGboZbZ1USSJEmqgcFbkiRJqoHBW5IkSapBT/TxliRJqtrjjz/OiSeeyNy5c1m8eHGny1EXW2WVVZg4cSJnnnkmG2+8cenbGbwlSZKAE088kb/927/l/PPPZ7XVVut0OepiL7/8MpdccgknnngiF198cenb2dVEkiQJmDt3Lu9973sN3RrWaqutxvve9z7mzp07otsZvCVJkoDFixcbulXaaqutNuIuSQZvSZIkqQb28ZYkSRpE3/SZo3p/88/Yd1TvrxP23HNPzjzzTCZPnlzZY+y+++7cfPPNbdfpP7niRhttNOQ6F154ISeddBKbb775knnf/va3GT9+PPvttx933333qNVclsFbkiSpRyxatIhx48Z1uoxKDRe6R2LatGl85StfWWre/PnzR+3+R8quJpIkSV3ine98JzvvvDPbbrst5557LgBrrbUWp5xyCm9605u45ZZbuO2229h9993Zfvvt2WWXXXj22WeXu58999yT448/nt13353tttuOn//85yxevJi+vj6efvrpJeu97nWv47HHHlvu9tdddx277bYbO+20EwcddBDPPfdc6XXK1Adwzz33sMsuu7DDDjswadIk5s2bt+T5AsyaNYs999yTAw88kIkTJ3LYYYeRmUvdxwsvvMA+++zDf/zHf5TZvMtZtGgRJ510ElOmTGHSpEl8/etfX7Lss5/9LG984xvZfvvtmT59+grd/7Js8ZYkSeoSF1xwARtssAEvvPACU6ZM4T3veQ/PP/882223HaeddhovvfQSEydOZMaMGUyZMoUFCxawxhprDHpfzz//PDfffDM//elPOfLII7n77rs54IADuOKKKzjiiCO49dZb6evrY5NNNlnqdn/4wx84/fTTuf7661lzzTX5zGc+w1lnncUpp5wy7DrTp09n2rRppeo755xzOO644zjssMN46aWXWLRo0XLrzJkzh3vuuYfNNtuMPfbYg5tuuok3v/nNADz33HMcfPDBvP/97+f973//oI8xY8YMbrzxxiXTt9xyy1LLzz//fNZdd11uu+02XnzxRfbYYw/23ntv5s6dy5VXXsmtt97K+PHjefLJJwe9/5EyeEuSJHWJL33pS1xxxRUAPPzww8ybN49x48bxnve8B4Bf/epXbLrppkyZMgWAddZZZ8j7OuSQQwB4y1vewoIFC3j66aeZNm0ap512GkcccQTf/e53mTZt2nK3+9nPfsa9997LHnvsAcBLL73EbrvtVmqdkdS322678clPfpJHHnmEd7/73Wy99dbLrbPLLruwxRZbALDDDjswf/78JcH7gAMO4KMf/SiHHXbYkI8xWFeTga677jruvPNOLrvsMgCeeeYZ5s2bx/XXX88RRxzB+PHjAdhggw2GvI+RMHhLkiR1gVmzZnH99ddzyy23MH78ePbcc0/+/Oc/88pXvnJJv+7MJCKWu+0RRxzBnDlz2GyzzbjmmmsAllsvIthtt9144IEHeOKJJ7jyyiv5xCc+waJFi9h5550B2H///ZkyZQpve9vb+M53vjNkrZk56Dp33nnnoPUN5tBDD+VNb3oTM2fOZOrUqZx33nnstddeS63zile8Ysn1cePGsXDhwiXTe+yxB9///vc59NBDiQi++tWvLuly0r8NhpOZfPnLX2bq1KlLzf/BD35Q+nmMhH28JUmSusAzzzzD+uuvz/jx45k7dy4/+9nPlltn4sSJ/O53v+O2224D4Nlnn2XhwoV84xvf4I477lgqcM6YMQOAG2+8kXXXXZd1112XiOBd73oXJ5xwAq9//evZcMMNGTduHHfccQd33HEHp512Grvuuis33XQTDzzwAAB/+tOfuP/++5eqY6h1hqpvMA8++CBbbbUVxx57LPvvvz933nnniLbXaaedxoYbbsiHP/xhAI4++uglz2Oz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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Plot PV feed-in to electricity sink\n", "plotter = ar.Plotter(json_file='results.json')\n", "plotter.plot_operation('elec_sink', 'Elec', show_plot=True, \n", " ylabel='Photovoltaic electricity production [MWh]')" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Capacity PV system: 100.0 MW\n", "Electricity PV system: 133830.5074627531 MWh/a\n" ] } ], "source": [ "print(f'Capacity PV system: {pv.block.CAP.value} MW')\n", "print(f'Electricity PV system: {sum(pv.block.Elec.get_values().values())} MWh/a')" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAt4AAAG+CAYAAACkiAOYAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAgAElEQVR4nO3de7hVdb33/fcXxGO5FUXzkIGF4gkBgVDbpmJi21QeD7eaKR7Z3p7SNil73882t49dDxlmWzONPKFZWViJWp7wUJ7agqKmorgVD1sTizyjiHzvP+ZgtYR1mAsZY6011/t1XfOacxzndy4GY33Wb/7Gb0RmIkmSJKlcvTq7AEmSJKknMHhLkiRJFTB4S5IkSRUweEuSJEkVMHhLkiRJFTB4S5IkSRVYpbMLqMf666+f/fv37+wyJEmSpDbNmjXrL5nZr6Vl3SJ49+/fn5kzZ3Z2GZIkSVKbIuL51pbZ1USSJEmqgMFbkiRJqoDBW5IkSapAt+jjLUmSyjV//nwmTJjAnDlzWLJkSWeXI3VpvXr1YtCgQUyePJkNNtig7u0M3pIkiQkTJrDbbrtx2WWX0adPn84uR+rSPvjgA66++momTJjAVVddVfd2djWRJEnMmTOHr33ta4ZuqQ59+vTh8MMPZ86cOR3azuAtSZJYsmSJoVvqgD59+nS4W5bBW5IkSaqAfbwlSdJy+k+8aaXub96kvVfq/lamK6+8kpkzZ/KDH/yg0vfdddddmTx5MsOHD2+6WeD666/foX3cddddrLrqquy0004fq5YVff9lzZs3j/vuu4+vfvWrHd52p5124r777mtznXrqbOnfs/nPuqOuvPJK9txzTzbeeOMOb7ssW7wlSVK38eGHH3Z2CSxevLizS2hy1113tRtWl1Vm/fPmzeOnP/3pCm3b0c9RlSuvvJKXX355pezL4C1JkrqMsWPHssMOO7DNNtswZcoUAD7xiU9w5pln8vnPf57777+fBx98kJ122ontt9+ekSNH8tZbby23nwsuuICtt96awYMHc8ghhwCwYMECxo4dy+DBgxk1ahSPPvroctvdcMMNfP7zn2fo0KHssccevPrqqwCcddZZjB8/nj333JMjjjiixdo//PBDJkyYwHbbbcfgwYO58MILAZgxYwZDhw5lu+224+ijj+b9999v82fwk5/8hJEjRzJkyBD++Z//uemPjZtvvplhw4ax/fbbM3r0aObNm8cll1zC+eefz5AhQ/jDH/7A888/z+jRoxk8eDCjR4/mhRdeAODII4/kG9/4BrvtthtnnHFGi+974YUXMmzYMLbbbrumiwbfeecdjj76aEaMGMHQoUO5/vrrgVrA/sd//EeGDRvGsGHDmkLzxIkT+cMf/sCQIUM4//zzW3yfxx9/vOnzDR48mLlz5wK1f2eo/TGx6667cuCBBzJo0CAOO+wwMvMj+1i4cCF77bUXP/7xj9v8Wbbk1ltvZccdd2TYsGEcdNBBvP322wCcffbZjBgxgm233Zbx48eTmUybNo2ZM2dy2GGHMWTIEBYuXNjh92vOriaSJKnLuPzyy+nbty8LFy5kxIgRHHDAAbzzzjtsu+22nH322SxatIhBgwZx7bXXMmLECN58803WWGON5fYzadIknnvuOVZbbTVef/11AL71rW8xdOhQfvOb33DHHXdwxBFHMHv27I9s94UvfIEHHniAiODSSy/l3HPP5bzzzgNg1qxZ3HPPPS2+H8CUKVN47rnnePjhh1lllVVYsGAB7733HkceeSQzZsxgiy224IgjjuDiiy/m1FNPbXEfTz75JNdeey333nsvffr04YQTTuCaa67hy1/+Mscddxy///3vGTBgAAsWLKBv374cf/zxfOITn2DChAkA7LPPPhxxxBGMGzeOyy+/nFNOOYXf/OY3ADz99NPcfvvt9O7du8X3Xn/99XnooYf44Q9/yOTJk7n00kv59re/ze67787ll1/O66+/zsiRI9ljjz3YYIMNuO2221h99dWZO3cuhx56KDNnzmTSpElMnjyZG2+8sdV/40suuYSvf/3rHHbYYSxatKjFbzEefvhhHn/8cTbeeGN23nln7r33Xr7whS8A8Pbbb3PIIYdwxBFHtPpH0LXXXss999zTNP3MM88A8Je//IVzzjmH22+/nbXWWovvfOc7fO973+PMM8/kpJNO4swzzwTg8MMP58Ybb+TAAw/kBz/4wQp3U1mWwVuSJHUZF1xwAb/+9a8BePHFF5k7dy69e/fmgAMOAOCpp55io402YsSIEQCsvfbaLe5n8ODBHHbYYYwdO5axY8cCcM8993DdddcBsPvuu/PXv/6VN9544yPbvfTSSxx88MG88sorLFq0iAEDBjQt23fffVsN3QC33347xx9/PKusUotXffv25ZFHHmHAgAFsscUWAIwbN46LLrqo1eA9Y8YMZs2a1fT5Fi5cyAYbbMADDzzALrvs0lRP3759W9z+/vvv51e/+hVQC4+nn35607KDDjqo1dANsP/++wOwww47NO3j1ltvZfr06UyePBmA9957jxdeeIGNN96Yk046idmzZ9O7d2+efvrpVve7rB133JFvf/vbvPTSS+y///4MHDhwuXVGjhzJpptuCsCQIUOYN29eU/Deb7/9OP300znssMNafY+DDz54uT7eAA888ABPPPEEO++8MwCLFi1ixx13BODOO+/k3HPP5d1332XBggVss8027LPPPnV/rnrY1USSJHUJd911F7fffjv3338/jzzyCEOHDuW9995j9dVXbwqMmUlELLftUUcdxZAhQ/inf/onAG666SZOPPFEZs2axQ477MDixYuX664ALLevk08+mZNOOonHHnuMH/3oR7z33ntNy9Zaa60262+ptpbes719jBs3jtmzZzN79myeeuopzjrrrFY/d3uab9O8/jFjxjBkyBCOPfbYpnmrrbYaAL17927qB56ZXHfddU31vPDCC2y11Vacf/75bLjhhjzyyCPMnDmTRYsW1V3TV7/6VaZPn84aa6zBmDFjuOOOO5ZbZ2kty9YDsPPOO/O73/2u6Wd70UUXMWTIEIYMGdJuX+zM5Etf+lLT53niiSe47LLLeO+99zjhhBOYNm0ajz32GMcdd9xH/u1XFoO3JEnqEt544w3WXXdd1lxzTebMmcMDDzyw3DqDBg3i5Zdf5sEHHwTgrbfeYvHixVxxxRXMnj2b3/72tyxZsoQXX3yR3XbbjXPPPZfXX3+dt99+m1122YVrrrkGqIX89ddff7kW8zfeeINNNtkEgKlTp3ao/j333JNLLrmkKSQuWLCAQYMGMW/evKauDldffTVf/OIXW93H6NGjmTZtGvPnz2/ax/PPP8+OO+7I3XffzXPPPdc0H+CTn/zkR/q477TTTvz85z8H4JprrmlqJV7WLbfcwuzZs7n00kvb/ExjxozhwgsvbAq5Dz/8MFD7OW200Ub06tWLq6++uqm7yLL1tOTZZ59l880355RTTmHfffdtsa99W84++2zWW289TjjhBABOPPHEpiDd3sgjo0aN4t57723693j33Xd5+umnm0L2+uuvz9tvv820adOa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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Plot solar collector feed-in to heat sink\n", "plotter.plot_operation('heat_sink', 'Heat', show_plot=True, \n", " ylabel='Solar-thermal heat production [MWh]')" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Area solar collector: 100000.0 m²\n", "Heat solar collector: 78976.54196102788 MWh/a\n" ] } ], "source": [ "print(f'Area solar collector: {solar_collector.block.Area.value} m²')\n", "print(f'Heat solar collector: {sum(solar_collector.block.Heat.get_values().values())} MWh/a')" ] } ], "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.7.1" } }, "nbformat": 4, "nbformat_minor": 4 }