diff --git a/python/FlexpartTools.py b/python/FlexpartTools.py index 27c2ca9d4725d10e2fb7a397d84383363a73d5fa..41a806b89e7016502672bbf39355b30a41f441f7 100644 --- a/python/FlexpartTools.py +++ b/python/FlexpartTools.py @@ -97,7 +97,7 @@ def interpret_args_and_control(*args,**kwargs): parser.add_argument("--public", dest="public", default=0, help="Public mode - retrieves the public datasets") - parser.add_argument("--request", dest="request", default=0, + parser.add_argument("--request", dest="request", default=None, help="list all mars request in file mars_requests.dat \ and skip submission to mars") @@ -192,10 +192,12 @@ def interpret_args_and_control(*args,**kwargs): c.flexpart_root_scripts=args.flexpart_root_scripts # set request attribute to control file - if args.request != '0': - c.request=args.request + if args.request != None: + c.request=int(args.request) + else: + c.request = 0 - if c.request != '0': + if c.request != 0: marsfile = os.path.join(c.inputdir, 'mars_requests.csv') if os.path.isfile(marsfile): os.remove(marsfile) @@ -576,8 +578,9 @@ class Control: self.type[i] = 0 if not hasattr(self,'request'): - self.request='0' - elif self.request != 0: + self.request=0 + elif int(self.request) != 0: + self.request=int(self.request) marsfile = os.path.join(self.inputdir, 'mars_requests.csv') if os.path.isfile(marsfile): @@ -1030,12 +1033,12 @@ class EIFlexpart: accuracy=self.accuracy,grid=pv[3],target=mftarget,area=area, date=mfdate, time=mftime,number=self.number,step=mfstep, expver=self.expver, param=pv[0]) - if request == "0": + if request == 0: MR.displayInfo() MR.dataRetrieve() - elif request == "1": + elif request == 1: MR.print_infodata_csv(self.inputdir, self.mreq_count) - elif request == "2": + elif request == 2: MR.print_infodata_csv(self.inputdir, self.mreq_count) MR.displayInfo() MR.dataRetrieve() @@ -1069,12 +1072,12 @@ class EIFlexpart: accuracy=self.accuracy,grid=pv[3],target=mftarget,area=area, date=mfdate, time=mftime,number=self.number,step=mfstep, expver=self.expver, param=pv[0]) - if request == "0": + if request == 0: MR.displayInfo() MR.dataRetrieve() - elif request == "1": + elif request == 1: MR.print_infodata_csv(self.inputdir, self.mreq_count) - elif request == "2": + elif request == 2: MR.print_infodata_csv(self.inputdir, self.mreq_count) MR.displayInfo() MR.dataRetrieve() @@ -1089,12 +1092,12 @@ class EIFlexpart: type=mftype, levtype=pv[1], levelist=pv[2],resol=self.resol, gaussian=gaussian, accuracy=self.accuracy,grid=pv[3],target=mftarget,area=area, date=mfdate, time=mftime,number=self.number,step=mfstep, expver=self.expver, param=pv[0]) - if request == "0": + if request == 0: MR.displayInfo() MR.dataRetrieve() - elif request == "1": + elif request == 1: MR.print_infodata_csv(self.inputdir, self.mreq_count) - elif request == "2": + elif request == 2: MR.print_infodata_csv(self.inputdir, self.mreq_count) MR.displayInfo() MR.dataRetrieve() @@ -1106,12 +1109,12 @@ class EIFlexpart: accuracy=self.accuracy,grid=pv[3],target=mftarget,area=area, date=mfdate, time=mftime,number=self.number,step=mfstep, expver=self.expver, param=pv[0]) - if request == "0": + if request == 0: MR.displayInfo() MR.dataRetrieve() - elif request == "1": + elif request == 1: MR.print_infodata_csv(self.inputdir, self.mreq_count) - elif request == "2": + elif request == 2: MR.print_infodata_csv(self.inputdir, self.mreq_count) MR.displayInfo() MR.dataRetrieve() @@ -1136,12 +1139,12 @@ class EIFlexpart: accuracy=self.accuracy,grid=pv[3],target=mftarget,area=area, date=mfdate, time=mftime,number=self.number,step=mfstep, expver=self.expver, param=pv[0]) - if request == "0": + if request == 0: MR.displayInfo() MR.dataRetrieve() - elif request == "1": + elif request == 1: MR.print_infodata_csv(self.inputdir, self.mreq_count) - elif request == "2": + elif request == 2: MR.print_infodata_csv(self.inputdir, self.mreq_count) MR.displayInfo() MR.dataRetrieve() @@ -1158,20 +1161,20 @@ class EIFlexpart: accuracy=self.accuracy,grid=pv[3],target=mftarget,area=area, date=mfdate, time=mftime,number=self.number,step=mfstep, expver=self.expver, param=pv[0]) - if request == "0": + if request == 0: MR.displayInfo() MR.dataRetrieve() - elif request == "1": + elif request == 1: MR.print_infodata_csv(self.inputdir, self.mreq_count) - elif request == "2": + elif request == 2: MR.print_infodata_csv(self.inputdir, self.mreq_count) MR.displayInfo() MR.dataRetrieve() - if request == "0" or request == "2": + if request == 0 or request == 2: print('MARS retrieve done ... ') - elif request == "1": + elif request == 1: print('MARS request printed ...') def getFlexpartTime(self, type,step, time): @@ -1471,7 +1474,6 @@ class EIFlexpart: index_vals = [] for key in index_keys: key_vals = grib_index_get(iid,key) - print key_vals l=[] for k in key_vals: @@ -1480,7 +1482,7 @@ class EIFlexpart: key_vals=[] for k in l: key_vals.append(str(k)) - + print key_vals index_vals.append(key_vals) @@ -1580,9 +1582,9 @@ class EIFlexpart: grib_set_values(gid, values) if c.maxstep>12: - grib_set(gid,'step',max(0,step-2*int(c.dtime))) + grib_set(gid,'stepRange',max(0,step-2*int(c.dtime))) else: - grib_set(gid,'step',0) + grib_set(gid,'stepRange',0) grib_set(gid,'time',fdate.hour*100) grib_set(gid,'date',fdate.year*10000+fdate.month*100+fdate.day) grib_write(gid, f) @@ -1600,7 +1602,7 @@ class EIFlexpart: if step==c.maxstep and c.maxstep>12 or sdates==elimit: values=svdp[3] grib_set_values(gid, values) - grib_set(gid,'step',0) + grib_set(gid,'stepRange',0) truedatetime=fdate+datetime.timedelta(hours=2*int(c.dtime)) grib_set(gid,'time',truedatetime.hour*100) grib_set(gid,'date',truedatetime.year*10000+truedatetime.month*100+truedatetime.day) @@ -1612,7 +1614,7 @@ class EIFlexpart: else: values=dapoly(list(reversed(svdp))) - grib_set(gid,'step',0) + grib_set(gid,'stepRange',0) truedatetime=fdate+datetime.timedelta(hours=int(c.dtime)) grib_set(gid,'time',truedatetime.hour*100) grib_set(gid,'date',truedatetime.year*10000+truedatetime.month*100+truedatetime.day) diff --git a/python/getMARSdata.py b/python/getMARSdata.py index 4e40ed5ee240b028982a447300d5a88f73ca39c6..047279604943d06b45d7b0eed6069435c9a9c355 100755 --- a/python/getMARSdata.py +++ b/python/getMARSdata.py @@ -111,7 +111,7 @@ def getMARSdata(args,c): endp1=end+ datetime.timedelta(days=2) datechunk=datetime.timedelta(days=int(c.date_chunk)) - if c.request == '0' or c.request == '2': + if c.request == 0 or c.request == 2: print 'removing content of '+c.inputdir tobecleaned=glob.glob(c.inputdir+'/*_acc_*.'+str(os.getppid())+'.*.grb') for f in tobecleaned: @@ -150,7 +150,7 @@ def getMARSdata(args,c): day+=datechunk - if c.request == '0' or c.request == '2': + if c.request == 0 or c.request == 2: print 'removing content of '+c.inputdir tobecleaned=glob.glob(c.inputdir+'/*__*.'+str(os.getppid())+'.*.grb') for f in tobecleaned: diff --git a/python/job.temp b/python/job.temp index 598184a09d9e3e53ae8897521ff4c7e734909e1b..2e03859f783ffd1f1cd504d3404f732fc0a4dee6 100644 --- a/python/job.temp +++ b/python/job.temp @@ -24,7 +24,7 @@ ##PBS -l EC_memory_per_task=32000MB set -x -export VERSION=7.0.3 +export VERSION=7.0.4 case $HOST in *ecg*) module load python @@ -32,7 +32,7 @@ case $HOST in module unload emos module load grib_api/1.14.5 module load emos/437-r64 - export PATH=${PATH}:${HOME}/flex_extract_v7.0.3/python + export PATH=${PATH}:${HOME}/flex_extract_v7.0.4/python ;; *cca*) module switch PrgEnv-cray PrgEnv-intel @@ -40,7 +40,7 @@ case $HOST in module load emos module load python export SCRATCH=$TMPDIR - export PATH=${PATH}:${HOME}/flex_extract_v7.0.3/python + export PATH=${PATH}:${HOME}/flex_extract_v7.0.4/python ;; esac