diff --git a/Run/Control/CONTROL_EA5 b/Run/Control/CONTROL_EA5 index 3d5e7c28a44733a98b491ba65a6d1b094aa05dd3..4fd74e7fe83881967f1a22b1d0699ee40c94b27c 100644 --- a/Run/Control/CONTROL_EA5 +++ b/Run/Control/CONTROL_EA5 @@ -19,5 +19,4 @@ ETA 1 FORMAT GRIB2 PREFIX EA CWC 1 -RRINT 1 ECTRANS 1 diff --git a/Source/Python/Classes/MarsRetrieval.py b/Source/Python/Classes/MarsRetrieval.py index f9e824a37543022f32f90c28c52f72b0ef624bdf..61b1d3ad088f1164c9f7e64ea367e2987480c5f3 100644 --- a/Source/Python/Classes/MarsRetrieval.py +++ b/Source/Python/Classes/MarsRetrieval.py @@ -504,7 +504,18 @@ class MarsRetrieval(object): date = datetime.strptime(attrs['date'], '%Y%m%d') newattrs['year'] = date.year newattrs['month'] = date.month - newattrs['day'] = date.day + newattrs['day'] = date.day + + # need to correct the time apperance for CDS surface field retrievals + if attrs['type'] == 'FC': # for EA5 only flux fields are retrieved as FC type + # need to convert fc start times 06/18 to usual AN times + # since the surface fields can only be access through their validity time + start, end, step = map(int,attrs['step'].split('/')[::2]) + newattrs['time'] = [ "{0:0=2d}".format(s) for s in range(0,24,step) ] + elif '/' in attrs['time']: # we expect a list of times separated by / + newattrs['time'] = attrs['time'].split('/') + elif isinstance(attrs['time'], str): # we expect a single time in here + newattrs['time'] = [ attrs['time'] ] newattrs['product_type'] = 'reanalysis' newattrs['area'] = attrs['area'].split('/')