-
Notifications
You must be signed in to change notification settings - Fork 13
/
Copy pathconfig.ini
138 lines (121 loc) · 12.7 KB
/
config.ini
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
# Usage note: replace values <xx> with legal values (NOT repeating the angle-brackets <>)
# outcommented keys contain default values
[DEFAULT]
# ----------------------------------------------------- Storage locations
storePath = ./temp/ # storage location for files (.csv, .kml, ..._ and SQLite database)
# following parameters could be overwritten for individual forecast providers
storeDB = 0 # store to SQLite database (see [DBRepo] for name)
storeCSV = 0 # store .csv files (mainly for debugging)
storeInflux = 1 # store DC power output estimates in Influx (see [Influx] for name)
# dropWeather = 1 # drop weather parameters irrelevant for PV forecasting for 'storeDB', 'storeCSV'
# force = 0 # force downloading of new data
# ----------------------------------------------------- Location of PV system
Latitude = <latitude_of_your_system>
Longitude = <longitude_of_your_system>
# Altitude = 0 # altitude of system (meters above sea level)
[Forecasts] # enable / disable certain forecasts
# ----------------------------------------------------- PV output power forecast sources
Solcast = 1 # Solcast.com
VisualCrossing = 0 # VisualCrossing.com
MOSMIX_L = 0 # single station file, updated every 6h
MOSMIX_S = 0 # all stations, updated hourly download
OWM = 0 # OpenWeatherMap.org - based on cloud coverage only
# ----------------------------------------------------- CO2 intensity related
Entso-E = 0 # CO2 intensity forecast based on transparency.entsoe.eu data
CO2signal = 0 # actual CO2 intensity, from electricitymaps.com
# ----------------------------------------------------- other
FileInput = 0 # file input for weather data (for debugging)
[SolCast] # register free rooftop site at https://solcast.com/pricing/
resource_id = <resource_id_from_solcast.com>
# resource_id_2 = <second_resource_id_from_solcast.com> # for dual-array systems
api_key = <api_id_from_solcast.com>
# interval = 0 # interval at which SolCast is read (during daylight only):
# positive number: minutes between API calls
# 0, early, late: 15min intervals where possible, stretching intervals to 30m where needed
# See readme.md for details. (30min / 60min respectively for dual-array systems)
# hours = 168 # forecast period defaults to 7 days, up to 14 days (336h)
# apiCalls = 50 # number of API calls supported by SolCast
# optimal = 15 # optimal time interval to call SolCast, in minutes
[VisualCrossing] # register for free API access at https://www.visualcrossing.com/weather-data-editions
api_key = <api_id_from_visualcrossing.com>
# Irradiance = disc # irrandiance model (for VisualCrossing) - one of below, or comma separated list of below; default 'disc'
# 'all' all below
# 'disc', 'dirint', 'dirindex', 'erbs' GHI decomposition models - needs a station which supports Rad1h
# 'clearsky' clear sky model
[OpenWeatherMap] # register free API access at https://openweathermap.org/price
api_key = <api_id_from_openweathermap.org>
# Irradiance = clearsky_scaling # irrandiance model (for OWM) - one of below, or comma separated list of below; default 'clearsky_scaling'
# 'all' all below
# 'campbell_norman', 'clearsky_scaling' cloud coverage to irradiance
# 'clearsky' clear sky model
[DWD] # Deutscher Wetterdienst, https://www.dwd.de/DE/leistungen/met_verfahren_mosmix/met_verfahren_mosmix.html
DWDStation = <station_number> # Station number, select from https://wettwarn.de/mosmix/mosmix.html
# DWD_URL_L = https://opendata.dwd.de/weather/local_forecasts/mos/MOSMIX_L/single_stations/
# DWD_URL_S = https://opendata.dwd.de/weather/local_forecasts/mos/MOSMIX_S/all_stations/kml/
# storeKMZ = 0 # store downloaded .kmz files (.kml compressed as .zip)
# keepKMZ_S = 0 # keep MOSMIX_S original file after downloading
# Irradiance = disc # irrandiance model (for MOSMIX) - one of below, or comma separated list of below; default 'disc'
# 'all' all below
# 'disc', 'dirint', 'dirindex', 'erbs' GHI decomposition models - needs a station which supports Rad1h
# 'campbell_norman', 'clearsky_scaling' cloud coverage to irradiance
# 'clearsky' clear sky model
[Entso-E]
api_key = <api_from_Entso-E>
zones = DE, DE_AMPRION # comma separated list of zones to be analyzed
# resolution = 60T # some countries offer bidding prices for different time intervals, typically 15T and 60T
# verbose = 0 # verbosity level: 0=default, 1=basic, 2=max; forced =2 if start/end date are given
# keepRaw = 0 # default 0, together with start/end can be used to dump Entso-E data to .csv
# start = 2023-01-01T23:00Z # - see User's Guid
# end = 2023-02-18T23:00Z # -
# loop = 0 # -
# modelDays = 7 # number of days used to model correlation between actual and forecasted CO2
[CO2signal]
api_key = <api_from_www.co2signal.com> # register free API access at https://www.co2signal.com/
zones = DE # comma separated list of zones to be downloaded
[FileInput] # this is mainly for debugging - refer to code for details (ForecastManager.processFileInput)
type = kml # kml, csv
file = ./temp/mosmix_export.csv.gz # file or directory to process: file can be .csv(.gz|.zip) or .kml(.gz|.zip)
# directory can contain files (.gz|.zip) with .kml files inside
extension = zip # extension to process, if 'file' refers to a directory
# Irradiance = disc, clearsky_scaling # ... for .csv files; .kml files are treated as described in section [DWD]
[PVSystem] # PV system to be modeled (for DWD, OpenWeatherMap based forecasts)
# Model = PVWatts # modeling strategy for PV: 'PVWatts' or 'CEC'
# TemperatureModel = open_rack_glass_glass # https://pvlib-python.readthedocs.io/en/stable/generated/pvlib.temperature.sapm_cell.html
# clearsky_model = simplified_solis # model in pvlib.location.get_clearsky (note: 'haurwitz' not supported)
# ----------------------------------------------------- physical definition of PV System, using CEC database
# based on .csv files at ~/.local/lib/python3.8/site-packages/pvlib/data, special characters to be replaced by '_'
ModuleName = LG_Electronics_Inc__LG325N1W_V5 # select your panel (or same Wp as yours, eg. 325Wp)
InverterName = SMA_America__SB10000TL_US__240V_ # select an inverter comparable name plate power (eg. 10kW)
NumStrings = 2 # number of strings
NumPanels = 15 # number of panels per string
# ----------------------------------------------------- PVWatts definition
InverterPower = 10000 # name-plate inverter max. power
NominalEfficiency = 0.965 # nominal European inverter efficiency
SystemPower = 9750 # system power [Wp]
TemperatureCoeff = -0.0036 # temperature coefficient (efficiency loss per 1C)
# ----------------------------------------------------- orientation of solar panels
# location (Latitude, Longitude) defined in [DEFAULT] section above
Tilt = 30
Azimuth = 127 # 270=West, 180=South, 90=East
[DBRepo]
dbName = pvforecasts.db # SQLite database name (at 'storePath')
# database tables are created on-the-fly as needed (but not altered if more/less fields appear:
# - new, additional fields after inital table creation) are supporessed with a warning
# - missing fields are left empty)
# table names: dwd weather fields and forecast from MOSMIX_L
# dwd_s weather fields and forecast from MOSMIX_S
# owm weather fields and forecast from OpenWeatherMap
# visualcrossing weather fields and forecast from VisualCrossing
# solcast Solcast estimates
# older (long-range) forecasts are kept in database. Differentiation is by field IssueTime
# Depending on how many forecasts are downloaded and calculated, this database can grow at
# up to 120MByte/month
[Influx]
host = <your_hostname> # can be localhost
# port = 8086
database = <your_influx_db_name> # older (long-range) forecasts are overwritten with newer (short-range) forecasts as they become available
# ----------------------------------------------------- in case Influx 2.x is used (default is Influx 1.x)
# influx_V2 = 0 # enable, if Influx 2.x is used
# token = <token_for_Influx_2.x> # to be generated in Influx GUI
# org = <your_org> # as Influx 2.x is setup
# bucket = <your_influx_db_name> # fall-back is `database`