Package: gsee
GSEE: Global Solar Energy EstimatorGSEEis a solar energy simulation library designed for rapid calculations and ease of use.Renewables.ninjausesGSEE.RequirementsWorks only with Python 3. Required libraries:joblibnumpypandaspyephemscipyxarrayInstallationSimply install withpip:pip install gseeThe recommended way to install the required scientific libraries is to use theAnaconda Python distribution.Known issue: If you do not already havenumpyinstalled, you will get a compiler error when pip tries to build toclimatedata_interfaceCython extension.FunctionalityThe following submodules are available:brl_model: an implementation of the BRL model, a method to derive the diffuse fraction of irradiance, based on Ridley et al. (2010)climatedata_interface: an interface to use GSEE with annual, seasonal, monthly or daily data. Seedocs/climatedata_interfacefor details.pv: electric output from PV a paneltrigon: functions to calculate irradiance on an inclined planeA model can be imported like this:import gsee.pvA plant simulation model implements a model class (e.g.PVPlant) with the relevant settings, and arun_model()function that take time series data (a pandas Series) and runs a default instance of the model class, but can also take amodelargument to specify a custom-configured model instance.ExamplesPower output from a PV system with fixed panelsIn this example,datamust be a pandas.DataFrame with columnsglobal_horizontal(in W/m2),diffuse_fraction, and optionally atemperaturecolumn for ambient air temperature (in degrees Celsius).result=gsee.pv.run_model(data,coords=(22.78,5.51),# Latitude and longitudetilt=30,# 30 degrees tilt angleazim=180,# facing towards equator,tracking=0,# fixed - no trackingcapacity=1000,# 1000 W)Aperture irradiance on a panel with 2-axis trackinglocation=(22.78,5.51)plane_irradiance=gsee.trigon.aperture_irradiance(data['direct_horizontal'],data['diffuse_horizontal'],location,tracking=2)Climate data InterfaceExample use directly reading NetCDF files with GHI, diffuse irradiance fraction, and temperature data:fromgsee.climatedata_interface.interfaceimportrun_interfacerun_interface(ghi_data=('ghi_input.nc','ghi'),# Tuple of (input file path, variable name)diffuse_data=('diffuse_fraction_input.nc','diff_frac'),temp_data=('temperature_input.nc','t2m'),outfile='output_file.nc',params=dict(tilt=35,azim=180,tracking=0,capacity=1000),frequency='detect')Tilt can be given as a latitude-dependent function instead of static value:params=dict(tilt=lambdalat:0.35396*lat+16.84775,...)Instead of letting the climate data interface read and prepare data from NetCDF files, anxarray.Datasetcan also be passed directly (e.g. when using the module in combination with a larger application):fromgsee.climatedata_interface.interfaceimportrun_interface_from_datasetresult=run_interface_from_dataset(data=my_dataset,# my_dataset is an xarray.Datasetparams=dict(tilt=35,azim=180,tracking=0,capacity=1000))By default, a built-in file with monthly probability density functions is automatically downloaded and used to generate synthetic daily irradiance.For more information, see theclimate data interface documentation.DevelopmentTo install the latest development version directly from GitHub:pip install -e git+https://github.com/renewables-ninja/gsee.git#egg=gseeTo build theclimatedata_interfacesubmoduleCython >= 0.28.5is required.Credits and contactContactStefan Pfenningerfor questions aboutGSEE.GSEEis also a component of theRenewables.ninjaproject, developed by Stefan Pfenninger and Iain Staffell. Use thecontact pagethere if you want more information about Renewables.ninja.CitationIf you useGSEEor code derived from it in academic work, please cite:Stefan Pfenninger and Iain Staffell (2016). Long-term patterns of European PV output using 30 years of validated hourly reanalysis and satellite data.Energy114, pp. 1251-1265.doi: 10.1016/j.energy.2016.08.060LicenseBSD-3-Clause