Improve fld_read time management for instantaneous fields
Context
fld_read
routine always considers that the field timestep is centered on the middle of the time window separating two successive fld_read calls.
This is usually true when the field is a time-averaged variable valid at the middle of the corresponding time bounds.
But in the case of instantaneous fields, they are valid at the exact timestep of the fld_read
call. Consequently, fld_read
shifts the field valid timestep by half its frequency, which is wrong and can significantly offset atmospheric forcings for example.
Proposal
introduce a new prefix (none, +
or -
) to the variable name in fld_read
structure to specify whether the field read by fld_read
is (time-)averaged or instantaneous, and shift field valid timestep accordingly in fld_read
(up or down according to the sign).