Source code for pycif.plugins.datastreams.fluxes.iconart.fetch

import os
import datetime as dt
import pandas as pd
import xarray as xr
import itertools
from .....utils import path
from .....utils.classes.setup import Setup


[docs] def fetch(ref_dir, ref_file, input_interval, target_dir, tracer=None, **kwargs): freq_subperiods = tracer.model.periods \ if getattr(tracer.model, "periods", False) \ else '10D' list_period_dates = \ pd.date_range(input_interval[0], input_interval[1], freq=freq_subperiods) list_dates = {} list_files = {} for di, df in zip(list_period_dates[:-1], list_period_dates[1:]): file = di.strftime("{}/{}".format(ref_dir, ref_file)) if os.path.isfile(file): target_file = "{}/{}".format(target_dir, os.path.basename(file)) path.link(file, target_file) list_hours = pd.date_range(di, df, freq=tracer.model.input_resolution) list_files[di] = (len(list_hours) * [file]) list_dates[di] = [[hi, hf] for hi, hf in zip(list_hours[:-1], list_hours[1:])] return list_files, list_dates