Source code for disdrodb.l1.utils

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

import pandas as pd
import xarray as xr
from xarray.core import dtypes


[docs]def regularize_dataset( ds: xr.Dataset, range_freq: str, tolerance=None, method=None, fill_value=dtypes.NA ): """Regularize a dataset across time dimension with uniform resolution.""" start = ds.time.values[0] end = ds.time.values[-1] # start_date = pd.to_datetime(start).date() # to start at 00 # end_date = pd.to_datetime(end).date() + datetime.timedelta(hours=23, minutes=57, seconds=30) new_time_index = pd.date_range( start=pd.to_datetime(start), end=pd.to_datetime(end), freq=range_freq ) # Regularize dataset and fill with NA values ds_reindexed = ds.reindex( {"time": new_time_index}, method=method, # do not fill gaps tolerance=tolerance, # mismatch in seconds fill_value=fill_value, ) return ds_reindexed