code: def _maybe_apply_time_shift(da, time_offset=None, **DataAttrs):
          
          if time_offset is not None:
              time = times.apply_time_offset(da[TIME_STR], **time_offset)
              da[TIME_STR] = time
          else:
              if DataAttrs['dtype_in_time'] == 'inst':
                  if DataAttrs['intvl_in'].endswith('hr'):
                      offset = -1 * int(DataAttrs['intvl_in'][0])
                  else:
                      offset = 0
                  time = times.apply_time_offset(da[TIME_STR], hours=offset)
                  da[TIME_STR] = time
          return da
docs: Correct off-by-one error in GFDL instantaneous model data.
  
          Instantaneous data that is outputted by GFDL models is generally off by
          one timestep.  For example, a netCDF file that is supposed to
          correspond to 6 hourly data for the month of January, will have its
          last time value be in February.