<p>The GFS is a model, and the model have a given time-step equal or smaller than the time-step of the output, that in this case is 3 hours. Different processes can be computed using different or even multiple time-steps.</p>

<p>Some of the reported variables are instantaneous, others are cumulative, and others are time averaged.</p>

<p>According to the documentation for the <a href="https://dtcenter.org/GMTB/gfs_phys_doc_dev/group__module__radiation__driver.html" rel="nofollow noreferrer">GFS radiation driver module</a> in the <a href="https://dtcenter.org/GMTB/gfs_phys_doc_dev/index.html" rel="nofollow noreferrer">GFS Operational Physics Documentation</a>, the Downwards shortwave radiation flux correspond to a time averaged output quantity, meaning that for each model grid cell, its value is stored every internal time step (<em>deltim</em>) to then report the time-weighted average of all stored values, which is what you get in the 3-hour output.
However, I don't know what is the exact value used for <em>deltim</em> or how the time weights are computed.</p>

<p>Therefore, what you said seem to be pretty much the case. This is that the value reported for timestamp <em>hour</em> is the average of all the intermediate values computed between <em>hour-3+deltim</em> and <em>hour</em> using some time weights schema that is unclear to me.</p>

<p>In the link above, you can find all the source code for GFS, so it seem that to figure our the details of the time averaging you might need to search in the code where the values of the array <em>fluxr</em> (that store the intermediate time-step radiation flux values) is averaged and see there how it is done.</p>

CC BY-SA 3.0
2018-01-18T09:23:36.797Z
We have found following text in a paper titled "Evaluation of numerical weather prediction for intra‐day solar forecasting in the continental 
United States" by Patrick Mathiesen:   
_Temporally, the GFS forecast is published at 00, 06, 12, and 18 UTC, at an average time‐step of 3 hours up to 180 hours (7.5 days) ahead.  GFS forecasts are reported as alternating 3 (1st, 3rd, etc. forecasts in a series) and 6‐hour (2nd, 4th, etc.) averages.  Consistent 3‐hour resolution forecasts are calculated from the raw data._
It is not saying the same thing as you have explained.
Amrit Gill
CC BY-SA 3.0
2018-01-18T11:13:33.767Z
To be picky, the model time step is more likely to be ~10 mins, with fields only being archived every 3 h.  Radiation might be on a longer step (e.g., 1-3 h) if it's expensive to calculate.  Fluxes are probably reported as means or accumulations so that budgets can be calculated from the archived 3h fields, but you'd need to look at the manual/metadata to be sure.
Deditos
CC BY-SA 3.0
2018-01-18T13:32:28.763Z
I agree with @Deditos time step inside the model is smaller and different from the time step of the output. 3-hour average would be a meaningful way to output, but not all are smart enough to do so.
Communisty
CC BY-SA 3.0
2018-01-18T17:52:37.513Z
Fair point by @Deditos, my answer was an oversimplification as a model can have multiple time steps for different variables and even two or three time-levels for a single variable to resolve different processes.
The point about fluxes reported as means to compute fluxes made sense, so I checked and it is the case indeed. I've updated my answers above accordingly.
Camilo Rada
CC BY-SA 3.0
2018-01-17T19:14:13.273Z
2018-01-18T18:05:46.963Z
2018-01-18T18:05:46.963Z
Camilo Rada
<p>We have downloaded grib2 files for <a href="https://nomads.ncdc.noaa.gov/data/gfs4/" rel="nofollow noreferrer">GFS model from NOAA</a> and extracted irradiance (Downwards shortwave radiation flux) data. Following is a sample output for cordinates at [52.0,4.0]:</p>

<pre><code>|      Timestamp      | Value |
| 2017-01-01T03:00:00 |   00  |
| 2017-01-01T06:00:00 |   00  |
| 2017-01-01T09:00:00 |   00  |
| 2017-01-01T12:00:00 |   40  |
| 2017-01-01T15:00:00 |   50  |
| 2017-01-01T18:00:00 |   20  |
| 2017-01-01T21:00:00 |   00  |
</code></pre>

<p>We know that the values are averaged. We doubt that the averaging is performed over a window of 3 hours such as the values between $hour$ and $(hour-3)$ are averaged and assigned to the timestamp at $hour$.</p>

<p>We haven't found any documentation explaining this fact. Can you please explain the principle behind averaging and timestamping? A reference will be very helpful.</p>

CC BY-SA 3.0
2018-01-18T18:06:18.957Z
I've substantially edited my answer  below, have a look now
Camilo Rada
<meteorology><climate><climatology><gfs>
How averaging works in GFS model from NOAA?
Amrit Gill
# How averaging works in GFS model from NOAA?

(Asked by: username_0 on 2018-01-17)

We have downloaded grib2 files for [GFS model from NOAA](https://nomads.ncdc.noaa.gov/data/gfs4/) and extracted irradiance (Downwards shortwave radiation flux) data. Following is a sample output for cordinates at [52.0,4.0]:

```
|      Timestamp      | Value |
| 2017-01-01T03:00:00 |   00  |
| 2017-01-01T06:00:00 |   00  |
| 2017-01-01T09:00:00 |   00  |
| 2017-01-01T12:00:00 |   40  |
| 2017-01-01T15:00:00 |   50  |
| 2017-01-01T18:00:00 |   20  |
| 2017-01-01T21:00:00 |   00  |

```

We know that the values are averaged. We doubt that the averaging is performed over a window of 3 hours such as the values between $hour$ and $(hour-3)$ are averaged and assigned to the timestamp at $hour$.

We haven't found any documentation explaining this fact. Can you please explain the principle behind averaging and timestamping? A reference will be very helpful.

**Tags:** meteorology, climate, climatology, gfs

> **Comments:**
> **username_1**: I've substantially edited my answer  below, have a look now  

---

## 1 answers

### Answer by username_1 on 2018-01-17. Score: 5 | Accepted answer

The GFS is a model, and the model have a given time-step equal or smaller than the time-step of the output, that in this case is 3 hours. Different processes can be computed using different or even multiple time-steps.

Some of the reported variables are instantaneous, others are cumulative, and others are time averaged.

According to the documentation for the [GFS radiation driver module](https://dtcenter.org/GMTB/gfs_phys_doc_dev/group__module__radiation__driver.html) in the [GFS Operational Physics Documentation](https://dtcenter.org/GMTB/gfs_phys_doc_dev/index.html), the Downwards shortwave radiation flux correspond to a time averaged output quantity, meaning that for each model grid cell, its value is stored every internal time step (*deltim*) to then report the time-weighted average of all stored values, which is what you get in the 3-hour output.
However, I don't know what is the exact value used for *deltim* or how the time weights are computed.

Therefore, what you said seem to be pretty much the case. This is that the value reported for timestamp *hour* is the average of all the intermediate values computed between *hour-3+deltim* and *hour* using some time weights schema that is unclear to me.

In the link above, you can find all the source code for GFS, so it seem that to figure our the details of the time averaging you might need to search in the code where the values of the array *fluxr* (that store the intermediate time-step radiation flux values) is averaged and see there how it is done.

> **Comments:**
> **username_0**: We have found following text in a paper titled "Evaluation of numerical weather prediction for intra‐day solar forecasting in the continental  United States" by Patrick Mathiesen:    _Temporally, the GFS forecast is published at 00, 06, 12, and 18 UTC, at an average time‐step of 3 hours up to 180 hours (7.5 days) ahead.  GFS forecasts are reported as alternating 3 (1st, 3rd, etc. forecasts in a series) and 6‐hour (2nd, 4th, etc.) averages.  Consistent 3‐hour resolution forecasts are calculated from the raw data._ It is not saying the same thing as you have explained.  
> **username_2**: To be picky, the model time step is more likely to be ~10 mins, with fields only being archived every 3 h.  Radiation might be on a longer step (e.g., 1-3 h) if it's expensive to calculate.  Fluxes are probably reported as means or accumulations so that budgets can be calculated from the archived 3h fields, but you'd need to look at the manual/metadata to be sure.  
> **username_3**: I agree with @username_2 time step inside the model is smaller and different from the time step of the output. 3-hour average would be a meaningful way to output, but not all are smart enough to do so.  
> **username_1**: Fair point by @username_2, my answer was an oversimplification as a model can have multiple time steps for different variables and even two or three time-levels for a single variable to resolve different processes. The point about fluxes reported as means to compute fluxes made sense, so I checked and it is the case indeed. I've updated my answers above accordingly.  

---

