menu
Kevin Cronin
Jan. 11, 2022
8:19 a.m. PST

Uploading probabilistic forecasts

I have two topics related to uploading probabilistic forecasts.
1. Will we have to gather 100 UUIDs (10 sites x 10 probabilities)? Is there an easier way using the api then using the Solar Forecast Arbiter webpage?
2. Will we be able to upload test forecasts to see if it's posting correctly to Solar Forecast Arbiter before the contest period?

Thanks for your time
3 Replies

Adam Wigington
Jan. 20, 2022
1:18 p.m. PST
HI Kevin.

Thanks for your questions.

1. We highly encourage you to use the API instead of going through the webpage. You can use any language that can make HTTP request, but as SFA is built in Python it is readily able to use its API to create sessions, grab the UUIDs and upload. Please also be sure to use one token at a time (outside your for loop) when uploading. You do have to have a UUID per probabilistic constant value in order that they get mapped correctly. But, you can get each of these after you pull the Probabilistic Forecast object.

2. Yes, you can upload test forecasts ahead of time to check. Just be sure to have the forecast you want to use uploaded at the the submittal time, which is 10.a.m local time for each of the ten sites.

Thank you

Kevin Cronin
Jan. 24, 2022
10:58 a.m. PST
Thanks Leland. I have a few more comments/questions.

1.When will you create the probabilistic forecast groups for all sites for our captain's account? I noticed that there wasn't a group to upload yet for Goodwin Creek MS for example.

2.I noticed that solarforecastarbiter.io.api.APISession.list_probabilistic_forecasts() provides UUIDs for each site where you are registered. Since we are using our captain's account it lists too many sites instead of the ones we need. Also it lists the forecast ids but not the forecast ids of each probability for each site.

Thanks again,

Kevin

David Larson
Jan. 25, 2022
12:32 p.m. PST
> 1.When will you create the probabilistic forecast groups for all sites for our captain's account? I noticed that there wasn't a group to upload yet for Goodwin Creek MS for example.
The Probabilistic Forecasts (specific to the competition) will be created 1 week before the start of the competition. In the meantime, you can create Probabilistic Forecasts using the SFA Dashboard or SFA API for your own testing.

> 2.I noticed that solarforecastarbiter.io.api.APISession.list_probabilistic_forecasts() provides UUIDs for each site where you are registered. Since we are using our captain's account it lists too many sites instead of the ones we need. Also it lists the forecast ids but not the forecast ids of each probability for each site.
Correct; solarforecastarbiter.io.api.APISession.list_probabilistic_forecasts() will return all Probabilistic Forecasts that the user has access to (as a list of datamodel.ProbabilisticForecast objects), which can include reference forecasts and forecasts for sites not involved in the competition. You can use the “provider” parameter of a Probabilistic Forecast to filter forecasts returned by the API or you could instead look up the forecasts in the SFA Dashboard. Note: forecasts for the competition can be identified by their provider (“Forecasting Prize Competition”) and the UUIDs will not change during the competition.

To get the UUID of each probability in a Probabilistic Forecast, you can use the “constant_values” parameter of a datamodel.ProbabilisticForecast object, which will return a list of datamodel.ProbabilisticForecastConstantValue (the data model object for the individual probabilities). Then you can iterate through the list to get the UUID of each datamodel.ProbabilisticForecastConstantValue (and other metadata available via the object’s parameters). Alternatively, you can look up the UUID via the SFA Dashboard (select a Probabilistic Forecast, then select a probability (e.g., 10%) and copy the listed UUID value).

Lastly, as mentioned during the SFA tutorial last week, many users may find it preferable to look up all the UUID values beforehand and hard-code the values into their submission scripts.

Links:
- APISession.list_probabilistic_forecasts(): https://solarforecastarbiter-core.readthedocs.io/en/latest/generated/solarforecastarbiter.io.api.APISession.list_probabilistic_forecasts.html
- datamodel.ProbabilisticForecast: https://solarforecastarbiter-core.readthedocs.io/en/latest/generated/solarforecastarbiter.datamodel.ProbabilisticForecast.html
- datamodel.ProbabilisticForecastConstantValue: https://solarforecastarbiter-core.readthedocs.io/en/latest/generated/solarforecastarbiter.datamodel.ProbabilisticForecastConstantValue.html
Post Your Reply