WRF vs Initialization Data

As a sanity check, it was desirable to see if and by how much my implementation of WRF was improving the forecast compared to the data used to initialize WRF. Rather than write more computer code to go through the initialization data, which is not in NetCDF format, I captured the initialization data after it had be processed by the WRF Preprocessing System. This created MetGrid files which are NetCDF format. At this point the RUC and NAM data has been interpolated to the 1 km grid cells for input to WRF, but I believe all vertical interpolation is delayed until real.exe is run. Anyway, programs I had already written could read the MetGrid output and interpolate to the sodar location. So I end up using interpolations of interpolations, but this way did not take a lot of extra coding. The results are below.

This graph shows the mean absolute error (MAE) of the RUC initialization data and of the NAM initialization data. To see how my WRF model was doing, WRF was run using this initialization data. The WRF runs used what I call the standard grid, which is further described elsewhere. They also use the MYJ/ETA planetary boundary layer and surface layer scheme combination that has shown good results so far. See the Comparing WRF Physics Options page for more details of this combination and comparisons to other combinations. Only 9 hours of forecast are shown.

Obviously, the RUC initialization data, shown in red, has a substantial error. The WRF model runs using that data, shown in blue, show a great improvement. The NAM initialization data, shown in yellow, is pretty good quality. Though NAM data is created at 12 km resolution, it is about as good as the WRF runs done at 1 km resolution. At different times, the WRF run based on the NAM data is either a little better or a little worse, depending on the forecast hour.

The RUC and NAM initialization data are shown going back to zero forecast hour, but the WRF runs only go back to the first forecast hour. The initialization data uses the instantaneous wind speeds at the hour which is compared to a ten minute average wind speed, at the hour, from the sodar used for verification. The WRF runs use an average based on the instantaneous speed at each WRF time step in the preceding ten minutes. There is not a preceding ten minutes before the zero forecast hour. I could use the following ten minutes. But even that is irrelevant because it take approximately an hour to get the RUC, longer for NAM, before I can start the forecast. The first forecast hour is already over and can't be used, so I don't care.

This graph is really interesting to me. This show the mean absolute bias corrected error. Basically, any identified bias is removed before the MAE is calculated. If you want a little more info about this method, I explain a little more about why, how, and the problems with it at this page: Comparing WRF Physics Options. Notice that the RUC and NAM data suddenly becomes quite good, especially the NAM initialization data. One test that needs to be run at this point is too extend the forecast length. The bias corrected NAM data is trending up, showing more error as forecast hour progresses. The WRF runs based on the NAM data may or may not be trending up as much. WRF may be better farther out. Or not.

The RUC data and WRF runs based on the RUC runs came from 396 forecasts. The NAM and WRF based on NAM came from 155 forecasts. Lack of sodar data reduced these to about 370 and 140 respectively. And the NAM line only has 4 points because NAM data is only provided in three hour increments.