Vermont Energy Control Systems

Practical monitoring and control for the real world

Forecast Data

If the Vesta is connected to the Internet and is in the United States, it can obtain NOAA (National Oceanic and Atmospheric Administration) forecast data. This data is available in three hour increments for 48 hours into the future, and it's updated hourly. In addition to the raw NOAA data, the Vesta can also provide averaged values for various intervals as well as calculated insolation (solar energy).

Forecast data is a special class of Network I/O. To obtain forecast data, create remote data elements as described on the previous page, but with a serial number and remote IP of 'forecast'. The remote port is 80, and the remote element is chosen from the table at the end of this page to specify the desired forecast data. In the example below, forecast data is being obtained for humidity 3 hours in the future and temperature 12 hours in the future. A new data element is being created that will obtain the maximum temperature for tomorrow (remote element 169).

A screenshot of forecast elements added to the Network I/O tab

Figure 15.2: Forecast Data Elements in Network I/O Tab

Available Data

The following data is available:

  • Temperature in degrees Fahrenheit
  • Relative Humidity in percent
  • Wind Speed in miles per hour
  • Cloud Cover in percent
  • Insolation (described below)

Each of these parameters is available for every three hour period in the next 48 hours. Average or total values are also available for selected intervals.


It's often useful to know how much sunlight to expect. Insolation is a sunlight intensity forecast for each three hour period of the day based on cloud cover and the sun's average altitude during that period. Sun altitude is calculated from time of day, day of the year, and latitude. Sun altitude (and resulting insolation) is higher in the middle of the day than in the morning or evening, and higher in summer than winter.

A single insolation value can't precisely predict the effect of sunlight in any specific situation. Sunlight may be of interest for solar PV panels, solar hot water panels, crops, greenhouses, building heat loads, and many other purposes. Each application responds differently to sunlight at different angles or with differing amounts of cloud cover. For this reason, insolation values enable comparing one period to another, but they do not provide a basis for numeric performance prediction.

Insolation is calculated by taking expected intensity based on sun angle and reducing that value based on cloud cover. For example, if the sun angle would be expected to provide 20 units of insolation, a cloud cover of 10% would result in 18 units. An implication of this is that 100% cloud cover results in an insolation value of 0.

Units for insolation are roughly the percentage of maximum possible daily total for the summer solstice at 44 degrees North latitude. This is an arbitrary value, of course, but it provides a reasonable basis for comparing sunlight intensity from one period to another. It doesn't make sense to average insolation values, so they're instead available as totals for the selected period.

Here's sample insolation values for each three hour period for a clear day near 44 degrees North Latitude on the summer solstice. Note that the 11:00 to 14:00 period contributes more than 30 units out of a total of 98 for the day.

Start Time Insolation
2:00 0.0
5:00 7.0
8:00 22.9
11:00 30.7
14:00 25.9
17:00 11.3
20:00 0.0
23:00 0.0

Here's the same table for the winter solstice. Note the shorter day and the effect of the lower sun angles. The total for the day is less than a quarter of the amount on the summer solstice.

Start Time Insolation
2:00 0.0
5:00 0.0
8:00 8.5
11:00 12.2
14:00 3.3
17:00 0.0
20:00 0.0
23:00 0.0

Time Periods

The raw NOAA data contains average values for each three hour interval in the next 48 hours. The first available interval starts between 0 and 3 hours from the present. You can request data for any future period within the 48 hour window.

Current NOAA practice is that the starting hour for the data set will always be one of 02:00, 05:00, 08:00, 11:00, 14:00, 17:00, 20:00, or 23:00.

The Vesta can also obtain averages for other periods (or in the case of insolation, sums for selected periods). In addition to the three hour blocks, there are several other available time periods:

Six Hour Blocks

In this case, the Vesta will provide average values for each six hour block starting with the first available data. You may specify the first or any subsequent six hour block. Note that these blocks will not start at the same time of day. Instead, they start with the first available data. Each subsequent block starts six hours later.

12 and 24 Hour Blocks

These follow the same format as the six hour blocks.

Rest of Today/Tomorrow (midnight)

Unlike the 6/12/24 hour blocks, this interval is based on time of day. Because the NOAA data does not align with midnight, days for this purpose start and end at 23:00 (11:00 PM). Thus, 'today' means every 3 hour period between the current time up to (but not including) the period starting at 23:00. 'Tomorrow' means the period between the 23:00 tonight up to (but not including) the period starting at 23:00 tomorrow night.

For example, if it's 9:00 AM on January 11, here's what you would get for 'rest of today' and 'tomorrow'.

Rest of Today - Average (or sum) of the following periods:

Date Start Time
January 11 11:00
January 11 14:00
January 11 17:00
January 11 20:00

Tomorrow - Average(or sum) of the following periods:

Date Start Time
January 11 23:00
January 12 02:00
January 12 05:00
January 12 08:00
January 12 11:00
January 12 14:00
January 12 17:00
January 12 20:00

Rest of Today/Tonight (day/night)

As with the previous example, these intervals are based on time of day. In this case, the day is divided into day and night periods. Due to the structure of the NOAA data, the day/night boundaries are 8:00 AM and 8:00 PM. The first choice in this section will give you each 3 hour period from the current time up to (but not including) 8:00 AM or PM. Each subsequent interval is the next 12 hour day or night.

Element IDs for Forecast Data

The table below shows the element IDs that correspond to different forecast data. To use this table, find the column for the type of data you want (Maximum Temperature or Average Cloud Cover, for instance). Then find the row for the time period you want. The element ID in the selected row and column will provide the data that you want.

For example, maximum temperature for tomorrow would be element 169.

A chart of element IDs corresponding to forecast data

Figure 15.3: Forecast Data Element Table