From d43706b7329ae34407bd34cd83de48cb3ba783f5 Mon Sep 17 00:00:00 2001 From: Anne Philipp <anne.philipp@univie.ac.at> Date: Sat, 24 Nov 2018 17:03:00 +0100 Subject: [PATCH] BugFix: sorted time for product generation --- source/python/classes/EcFlexpart.py | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/source/python/classes/EcFlexpart.py b/source/python/classes/EcFlexpart.py index 707ea80..0144637 100644 --- a/source/python/classes/EcFlexpart.py +++ b/source/python/classes/EcFlexpart.py @@ -423,13 +423,11 @@ class EcFlexpart(object): index_vals = [] for key in index_keys: key_vals = codes_index_get(iid, key) - print(key_vals) - # have to sort the steps for disaggregation, + # have to sort the key values for correct disaggregation, # therefore convert to int first - if key == 'step': - key_vals = [int(k) for k in key_vals] - key_vals.sort() - key_vals = [str(k) for k in key_vals] + key_vals = [int(k) for k in key_vals] + key_vals.sort() + key_vals = [str(k) for k in key_vals] index_vals.append(key_vals) # index_vals looks for example like: # index_vals[0]: ('20171106', '20171107', '20171108') ; date @@ -761,7 +759,7 @@ class EcFlexpart(object): # e.g. prod = ('20170505', '0', '12') # ( date ,time, step) - print('current product: ', prod) + print('CURRENT PRODUCT: ', prod) for i in range(len(index_keys)): codes_index_select(iid, index_keys[i], prod[i]) @@ -859,9 +857,9 @@ class EcFlexpart(object): codes_set_values(gid, values) if c.maxstep > 12: - codes_set(gid, 'step', max(0, step-2*int(c.dtime))) + codes_set(gid, 'stepRange', max(0, step-2*int(c.dtime))) else: - codes_set(gid, 'step', 0) + codes_set(gid, 'stepRange', 0) codes_set(gid, 'time', t_m2dt.hour*100) codes_set(gid, 'date', int(t_m2dt.strftime('%Y%m%d'))) @@ -886,7 +884,7 @@ class EcFlexpart(object): values = svdp[3] codes_set_values(gid, values) - codes_set(gid, 'step', 0) + codes_set(gid, 'stepRange', 0) truedatetime = t_m2dt + timedelta(hours= 2*int(c.dtime)) codes_set(gid, 'time', truedatetime.hour * 100) @@ -901,7 +899,7 @@ class EcFlexpart(object): else: values = disaggregation.dapoly(list(reversed(svdp))) - codes_set(gid, 'step', 0) + codes_set(gid, 'stepRange', 0) truedatetime = t_m2dt + timedelta(hours=int(c.dtime)) codes_set(gid, 'time', truedatetime.hour * 100) codes_set(gid, 'date', truedatetime.year * 10000 + -- GitLab