NOAA-GFDL/SHiELD_physics

GFS physics radiation: solar hour incorrect if model initialized not on the hour

Opened this issue · 3 comments

The GFS physics radiation routine sets the solar hour (Model%solhr) used to determine cosine of the solar zenith angle and thus radiative fluxes. The way in which it is computed will result in the solar hour being rounded backwards by a fraction of an hour if the model's initialization time is not on the hour (i.e, minutes and seconds are 0 in the initial date). This is because solar hour is computed as the sum of the fractional hour since initialization plus the integer hour of initialization. There is not any problem if the model is initialized on the hour, but if initialized off the hour, the physics will use a solar hour that is shifted by the sub-hourly amount. Thus any forecasts outputs and diagnostics involving time and solar diurnal cycle will be nominally incorrect (the internal dynamics and physics of the model presumably aren't affected).

To Reproduce
Initialize SHiELD with a not-on-the-hour initialization time; the peak downward shortwave flux will not be at 0° longitude at 12Z, for example (neglecting eq. of time), but will instead be shifted east by 0.0 < subhour < 1.0 hours (0.0 < deg < 15.0), where subhour is the fraction of the hour after the last full hour in the initialization time.

Expected behavior
The solar hour result should not be shifted in this way. Instead, the solar hour should be computed from the fractional hours elapsed since initialization plus the fractional hour of initialization (instead of the integer hour of initialization).

Hi Lucas, thanks for checking in here.

I think the issue I pointed out is independent of whether to restart on the radiation timestep? My proposed solution is to compute the solar hour based on the sum of the fractional hours elapsed since the initialization time and the fractional hour of initialization (instead of the integer hour), modulo 24 hours. Since the fractional hours elapsed is computed from the fractional initial hour, this ensures that the correct solar hour is used, instead of one that is off by a sub-hourly amount.