Source code for pycif.plugins.datastreams.backgrounds.tm5_background.fetch

import os
import datetime
import pandas as pd
import numpy as np
from netCDF4 import Dataset
from .....utils import path


[docs] def fetch(ref_dir, ref_file, date_interval, target_dir, tracer=None, **kwargs): # Reshape input interval to include full years datei, datef = date_interval datei = datetime.datetime(year=datei.year, month=1, day=1) datef = datetime.datetime(year=datef.year + 1, month=1, day=1) list_dates_files = pd.date_range(datei, datef, freq="1YS") list_dates = {} list_files = {} for dd in list_dates_files: file = dd.strftime("{}/{}".format(ref_dir, ref_file)) if os.path.isfile(file): # Fetching target_file = "{}/{}".format(target_dir, os.path.basename(file)) path.link(file, target_file) # Time stamps with Dataset(file) as bkg: ts = np.array([ datetime.datetime(*t) for t in bkg[tracer.time_varname][:] ]) list_dates[dd] = [ [hh0, hh0 + datetime.timedelta(hours=1)] for hh0 in ts] list_files[dd] = (len(list_dates[dd]) * [target_file]) return list_files, list_dates