Changeset c77630a in flex_extract.git
- Timestamp:
- Aug 13, 2019, 12:32:22 PM (5 years ago)
- Branches:
- master, ctbto, dev
- Children:
- 0690a6c
- Parents:
- 33a4ccc
- Location:
- Source/Python
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
Source/Python/Classes/EcFlexpart.py
r8c1d175 rc77630a 1094 1094 1095 1095 print("outputfile = " + fnout) 1096 f_handle = open(fnout, 'w ')1097 h_handle = open(hnout, 'w ')1098 g_handle = open(gnout, 'w ')1096 f_handle = open(fnout, 'wb') 1097 h_handle = open(hnout, 'wb') 1098 g_handle = open(gnout, 'wb') 1099 1099 1100 1100 # read message for message and store relevant data fields, where … … 1402 1402 # write original time step to flux file as usual 1403 1403 fluxfile = GribUtil(os.path.join(c.inputdir, fluxfilename)) 1404 fluxfile.set_keys(tmpfile, filemode='a ', strict=True,1404 fluxfile.set_keys(tmpfile, filemode='ab', strict=True, 1405 1405 wherekeynames=['paramId'], wherekeyvalues=[142], 1406 1406 keynames=['perturbationNumber','date','time','stepRange','values'], … … 1408 1408 date.hour*100, 0, lsp_new_np[inumb,:,it]], 1409 1409 ) 1410 fluxfile.set_keys(tmpfile, filemode='a ', strict=True,1410 fluxfile.set_keys(tmpfile, filemode='ab', strict=True, 1411 1411 wherekeynames=['paramId'], wherekeyvalues=[143], 1412 1412 keynames=['perturbationNumber','date','time','stepRange','values'], … … 1416 1416 1417 1417 # rr for first subgrid point is identified by step = 1 1418 fluxfile.set_keys(tmpfile, filemode='a ', strict=True,1418 fluxfile.set_keys(tmpfile, filemode='ab', strict=True, 1419 1419 wherekeynames=['paramId'], wherekeyvalues=[142], 1420 1420 keynames=['perturbationNumber','date','time','stepRange','values'], … … 1422 1422 date.hour*100, '1', lsp_new_np[inumb,:,it+1]] 1423 1423 ) 1424 fluxfile.set_keys(tmpfile, filemode='a ', strict=True,1424 fluxfile.set_keys(tmpfile, filemode='ab', strict=True, 1425 1425 wherekeynames=['paramId'], wherekeyvalues=[143], 1426 1426 keynames=['perturbationNumber','date','time','stepRange','values'], … … 1430 1430 1431 1431 # rr for second subgrid point is identified by step = 2 1432 fluxfile.set_keys(tmpfile, filemode='a ', strict=True,1432 fluxfile.set_keys(tmpfile, filemode='ab', strict=True, 1433 1433 wherekeynames=['paramId'], wherekeyvalues=[142], 1434 1434 keynames=['perturbationNumber','date','time','stepRange','values'], … … 1436 1436 date.hour*100, '2', lsp_new_np[inumb,:,it+2]] 1437 1437 ) 1438 fluxfile.set_keys(tmpfile, filemode='a ', strict=True,1438 fluxfile.set_keys(tmpfile, filemode='ab', strict=True, 1439 1439 wherekeynames=['paramId'], wherekeyvalues=[143], 1440 1440 keynames=['perturbationNumber','date','time','stepRange','values'], … … 1466 1466 1467 1467 gribfile.copy_dummy_msg(ifile, keynames=['paramId'], 1468 keyvalues=[142], filemode='w ')1468 keyvalues=[142], filemode='wb') 1469 1469 1470 1470 gribfile.copy_dummy_msg(ifile, keynames=['paramId'], 1471 keyvalues=[143], filemode='a ')1471 keyvalues=[143], filemode='ab') 1472 1472 1473 1473 return … … 1573 1573 fortfile = os.path.join(c.inputdir, 'fort.' + k) 1574 1574 silent_remove(fortfile) 1575 fdict[k] = open(fortfile, 'w ')1575 fdict[k] = open(fortfile, 'wb') 1576 1576 #============================================================================================ 1577 1577 # create correct timestamp from the three time informations … … 1608 1608 # if 'olddate' not in locals() or cdate != olddate: 1609 1609 # fwrf = open(os.path.join(c.outputdir, 1610 # 'WRF' + cdate + '.' + ctime + '.000.grb2'), 'w ')1610 # 'WRF' + cdate + '.' + ctime + '.000.grb2'), 'wb') 1611 1611 # olddate = cdate[:] 1612 1612 #============================================================================================ -
Source/Python/Classes/GribUtil.py
r44174de rc77630a 91 91 codes_release) 92 92 93 fileid = open(self.filenames, 'r')94 95 93 return_list = [] 96 94 97 while 1: 95 with open(self.filenames, 'rb') as fileid: 96 98 97 gid = codes_new_from_file(fileid) 99 100 if gid is None:101 break102 98 103 99 if len(wherekeynames) != len(wherekeyvalues): … … 123 119 codes_release(gid) 124 120 125 fileid.close()126 127 121 return return_list 128 122 129 123 130 124 def set_keys(self, fromfile, keynames, keyvalues, wherekeynames=[], 131 wherekeyvalues=[], strict=False, filemode='w '):125 wherekeyvalues=[], strict=False, filemode='wb'): 132 126 '''Opens the file to read the grib messages and then write 133 127 the selected messages (with wherekeys) to a new output file. … … 161 155 162 156 filemode : :obj:`string`, optional 163 Sets the mode for the output file. Default is "w ".157 Sets the mode for the output file. Default is "wb". 164 158 165 159 Return … … 175 169 176 170 fout = open(self.filenames, filemode) 177 fin = open(fromfile) 178 179 while 1: 171 172 with open(fromfile, 'rb') as fin: 180 173 gid = codes_grib_new_from_file(fin) 181 182 if gid is None:183 break184 174 185 175 select = True … … 206 196 codes_release(gid) 207 197 208 fin.close()209 198 fout.close() 210 199 … … 212 201 213 202 def copy_dummy_msg(self, filename_in, selectWhere=True, 214 keynames=[], keyvalues=[], filemode='w '):203 keynames=[], keyvalues=[], filemode='wb'): 215 204 '''Add the content of another input grib file to the objects file but 216 205 only messages corresponding to keys/values passed to the function. … … 235 224 236 225 filemode : :obj:`string`, optional 237 Sets the mode for the output file. Default is "w ".226 Sets the mode for the output file. Default is "wb". 238 227 239 228 Return … … 247 236 raise Exception("Give a value for each keyname!") 248 237 249 fin = open(filename_in, 'rb') 238 250 239 fout = open(self.filenames, filemode) 251 240 252 241 fields = 0 253 242 254 while fields < 1: 243 with open(filename_in, 'rb') as fin: 244 if fields >= 1: 245 fout.close() 246 return 247 255 248 gid = codes_grib_new_from_file(fin) 256 257 if gid is None:258 break259 249 260 250 select = True … … 278 268 codes_release(gid) 279 269 280 fin.close()281 270 fout.close() 282 271 -
Source/Python/Classes/MarsRetrieval.py
r44174de rc77630a 488 488 del attrs[key] 489 489 490 attrs['ppengine'] = 'emos'490 # attrs['ppengine'] = 'emos' 491 491 492 492 # MARS request via Python script … … 520 520 request_str = request_str + ',' + key + '=' + str(value) 521 521 request_str += ',target="' + target + '"' 522 p = subprocess.Popen(['mars' ,'-e'],522 p = subprocess.Popen(['mars'], #'-e'], 523 523 stdin=subprocess.PIPE, 524 524 stdout=subprocess.PIPE, -
Source/Python/Mods/tools.py
r44174de rc77630a 763 763 # --- open file --- 764 764 print("Opening file for getting information data --- %s" % filename) 765 with open(filename ) as f:765 with open(filename, 'rb') as f: 766 766 # load first message from file 767 767 gid = codes_grib_new_from_file(f)
Note: See TracChangeset
for help on using the changeset viewer.