docs: def to_netcdf(ds, *args, **kwargs):
      """
      Store the given dataset as a netCDF file
  
      This functions works essentially the same as the usual
      :meth:`xarray.Dataset.to_netcdf` method but can also encode absolute time
      units
  
      Parameters
      ----------
      ds: xarray.Dataset
          The dataset to store
      %(xarray.Dataset.to_netcdf.parameters)s
      """
      to_update = {}
      for v, obj in six.iteritems(ds.variables):
          units = obj.attrs.get('units', obj.encoding.get('units', None))
          if units == 'day as %Y%m%d.%f' and np.issubdtype(
                  obj.dtype, np.datetime64):
              to_update[v] = xr.Variable(
                  obj.dims, AbsoluteTimeEncoder(obj), attrs=obj.attrs.copy(),
                  encoding=obj.encoding)
              to_update[v].attrs['units'] = units
      if to_update:
          ds = ds.copy()
          ds.update(to_update)
      return xarray_api.to_netcdf(ds, *args, **kwargs)