Source code for pycif.plugins.datastreams.fields.lmdz_outfields_nc.fetch

import os
import pandas as pd
import datetime
from .....utils import path


[docs] def fetch( ref_dir, ref_file, date_interval, target_dir, tracer=None, component=None ): # Reshape input interval to include full months datei, datef = date_interval list_period_dates = \ pd.date_range(datei, datef, freq=tracer.file_freq) list_dates = {} list_files = {} for dd in list_period_dates: 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 file_hours = pd.date_range( dd, periods=8 * pd.DatetimeIndex([dd]).days_in_month[0], freq="3H") list_dates[dd] = [ [hh0, hh0 + datetime.timedelta(hours=3)] for hh0 in file_hours] list_files[dd] = (len(list_dates[dd]) * [target_file]) return list_files, list_dates