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