##// END OF EJS Templates
Bug fixed in jroIO_base:...
Miguel Valdez -
r632:3ab62b8f427e
parent child
Show More
@@ -887,7 +887,9 class JRODataReader(JRODataIO):
887 if not(self.readBlock()):
887 if not(self.readBlock()):
888 return 0
888 return 0
889
889
890 print "[Reading] Block No. %d/%d -> %s" %(self.basicHeaderObj.dataBlock+1,
890 self.getBasicHeader()
891
892 print "[Reading] Block No. %d/%d -> %s" %(self.nReadBlocks,
891 self.processingHeaderObj.dataBlocksPerFile,
893 self.processingHeaderObj.dataBlocksPerFile,
892 self.dataOut.datatime.ctime())
894 self.dataOut.datatime.ctime())
893 return 1
895 return 1
@@ -1043,17 +1045,31 class JRODataReader(JRODataIO):
1043 continue
1045 continue
1044
1046
1045 for match in matchlist:
1047 for match in matchlist:
1046 pathList.append(os.path.join(single_path,match,expLabel))
1048
1049 datapath = os.path.join(single_path, match, expLabel)
1050 fileList = glob.glob1(datapath, "*"+ext)
1051
1052 if len(fileList) < 1:
1053 continue
1054
1055 pathList.append(datapath)
1047 dateList.append(thisDate)
1056 dateList.append(thisDate)
1048
1057
1049 thisDate += datetime.timedelta(1)
1058 thisDate += datetime.timedelta(1)
1050 else:
1059 else:
1051 for thisDir in dirList:
1060 for thisDir in dirList:
1061
1062 datapath = os.path.join(single_path, thisDir, expLabel)
1063 fileList = glob.glob1(datapath, "*"+ext)
1064
1065 if len(fileList) < 1:
1066 continue
1067
1052 year = int(thisDir[1:5])
1068 year = int(thisDir[1:5])
1053 doy = int(thisDir[5:8])
1069 doy = int(thisDir[5:8])
1054 thisDate = datetime.date(year,1,1) + datetime.timedelta(doy-1)
1070 thisDate = datetime.date(year,1,1) + datetime.timedelta(doy-1)
1055
1071
1056 pathList.append(os.path.join(single_path,thisDir,expLabel))
1072 pathList.append(datapath)
1057 dateList.append(thisDate)
1073 dateList.append(thisDate)
1058
1074
1059 return dateList
1075 return dateList
@@ -1142,7 +1158,7 class JRODataReader(JRODataIO):
1142
1158
1143 sys.exit(-1)
1159 sys.exit(-1)
1144
1160
1145 self.getBasicHeader()
1161 # self.getBasicHeader()
1146
1162
1147 if last_set != None:
1163 if last_set != None:
1148 self.dataOut.last_block = last_set * self.processingHeaderObj.dataBlocksPerFile + self.basicHeaderObj.dataBlock
1164 self.dataOut.last_block = last_set * self.processingHeaderObj.dataBlocksPerFile + self.basicHeaderObj.dataBlock
@@ -1198,11 +1214,9 class JRODataReader(JRODataIO):
1198 def printNumberOfBlock(self):
1214 def printNumberOfBlock(self):
1199
1215
1200 if self.flagIsNewBlock:
1216 if self.flagIsNewBlock:
1201 print "[Reading] Block No. %d/%d -> %s" %(self.basicHeaderObj.dataBlock+1,
1217 print "[Reading] Block No. %d/%d -> %s" %(self.nReadBlocks,
1202 self.processingHeaderObj.dataBlocksPerFile,
1218 self.processingHeaderObj.dataBlocksPerFile,
1203 self.dataOut.datatime.ctime())
1219 self.dataOut.datatime.ctime())
1204
1205 self.dataOut.blocknow = self.basicHeaderObj.dataBlock
1206
1220
1207 def printInfo(self):
1221 def printInfo(self):
1208
1222
@@ -1246,6 +1260,8 class JRODataWriter(JRODataIO):
1246
1260
1247 nWriteBlocks = 0
1261 nWriteBlocks = 0
1248
1262
1263 fileDate = None
1264
1249 def __init__(self, dataOut=None):
1265 def __init__(self, dataOut=None):
1250 raise ValueError, "Not implemented"
1266 raise ValueError, "Not implemented"
1251
1267
@@ -1303,7 +1319,7 class JRODataWriter(JRODataIO):
1303
1319
1304 self.basicHeaderObj.size = self.basicHeaderSize #bytes
1320 self.basicHeaderObj.size = self.basicHeaderSize #bytes
1305 self.basicHeaderObj.version = self.versionFile
1321 self.basicHeaderObj.version = self.versionFile
1306 self.basicHeaderObj.dataBlock = self.blockIndex
1322 self.basicHeaderObj.dataBlock = self.nTotalBlocks
1307
1323
1308 utc = numpy.floor(self.dataOut.utctime)
1324 utc = numpy.floor(self.dataOut.utctime)
1309 milisecond = (self.dataOut.utctime - utc)* 1000.0
1325 milisecond = (self.dataOut.utctime - utc)* 1000.0
@@ -1389,7 +1405,8 class JRODataWriter(JRODataIO):
1389
1405
1390 self.writeBlock()
1406 self.writeBlock()
1391
1407
1392 print "[Writing] Block No. %d/%d" %(self.blockIndex, self.processingHeaderObj.dataBlocksPerFile)
1408 print "[Writing] Block No. %d/%d" %(self.blockIndex,
1409 self.processingHeaderObj.dataBlocksPerFile)
1393
1410
1394 return 1
1411 return 1
1395
1412
@@ -1418,9 +1435,11 class JRODataWriter(JRODataIO):
1418 subfolder = 'd%4.4d%3.3d' % (timeTuple.tm_year,timeTuple.tm_yday)
1435 subfolder = 'd%4.4d%3.3d' % (timeTuple.tm_year,timeTuple.tm_yday)
1419
1436
1420 fullpath = os.path.join( path, subfolder )
1437 fullpath = os.path.join( path, subfolder )
1438 setFile = self.setFile
1439
1421 if not( os.path.exists(fullpath) ):
1440 if not( os.path.exists(fullpath) ):
1422 os.mkdir(fullpath)
1441 os.mkdir(fullpath)
1423 self.setFile = -1 #inicializo mi contador de seteo
1442 setFile = -1 #inicializo mi contador de seteo
1424 else:
1443 else:
1425 filesList = os.listdir( fullpath )
1444 filesList = os.listdir( fullpath )
1426 if len( filesList ) > 0:
1445 if len( filesList ) > 0:
@@ -1430,20 +1449,20 class JRODataWriter(JRODataIO):
1430 # 0 1234 567 89A BCDE (hex)
1449 # 0 1234 567 89A BCDE (hex)
1431 # x YYYY DDD SSS .ext
1450 # x YYYY DDD SSS .ext
1432 if isNumber( filen[8:11] ):
1451 if isNumber( filen[8:11] ):
1433 self.setFile = int( filen[8:11] ) #inicializo mi contador de seteo al seteo del ultimo file
1452 setFile = int( filen[8:11] ) #inicializo mi contador de seteo al seteo del ultimo file
1434 else:
1453 else:
1435 self.setFile = -1
1454 setFile = -1
1436 else:
1455 else:
1437 self.setFile = -1 #inicializo mi contador de seteo
1456 setFile = -1 #inicializo mi contador de seteo
1438
1457
1439 setFile = self.setFile
1440 setFile += 1
1458 setFile += 1
1459
1460 #If this is a new day it resets some values
1461 if self.dataOut.datatime.date() > self.fileDate:
1462 setFile = 0
1463 self.nTotalBlocks = 0
1441
1464
1442 filen = '%s%4.4d%3.3d%3.3d%s' % (self.optchar,
1465 filen = '%s%4.4d%3.3d%3.3d%s' % (self.optchar, timeTuple.tm_year, timeTuple.tm_yday, setFile, ext )
1443 timeTuple.tm_year,
1444 timeTuple.tm_yday,
1445 setFile,
1446 ext )
1447
1466
1448 filename = os.path.join( path, subfolder, filen )
1467 filename = os.path.join( path, subfolder, filen )
1449
1468
@@ -1457,6 +1476,7 class JRODataWriter(JRODataIO):
1457 self.fp = fp
1476 self.fp = fp
1458 self.setFile = setFile
1477 self.setFile = setFile
1459 self.flagIsNewFile = 1
1478 self.flagIsNewFile = 1
1479 self.fileDate = self.dataOut.datatime.date()
1460
1480
1461 self.setFirstHeader()
1481 self.setFirstHeader()
1462
1482
@@ -1466,7 +1486,7 class JRODataWriter(JRODataIO):
1466
1486
1467 return 1
1487 return 1
1468
1488
1469 def setup(self, dataOut, path, blocksPerFile, profilesPerBlock=64, set=0, ext=None, datatype=4):
1489 def setup(self, dataOut, path, blocksPerFile, profilesPerBlock=64, set=None, ext=None, datatype=4):
1470 """
1490 """
1471 Setea el tipo de formato en la cual sera guardada la data y escribe el First Header
1491 Setea el tipo de formato en la cual sera guardada la data y escribe el First Header
1472
1492
@@ -1490,20 +1510,21 class JRODataWriter(JRODataIO):
1490 if ext == None:
1510 if ext == None:
1491 ext = self.ext
1511 ext = self.ext
1492
1512
1493 ext = ext.lower()
1513 self.ext = ext.lower()
1494
1495 self.ext = ext
1496
1514
1497 self.path = path
1515 self.path = path
1498
1516
1499 self.setFile = set - 1
1517 if set is None:
1518 self.setFile = -1
1519 else:
1520 self.setFile = set - 1
1500
1521
1501 self.blocksPerFile = blocksPerFile
1522 self.blocksPerFile = blocksPerFile
1502
1523
1503 self.profilesPerBlock = profilesPerBlock
1524 self.profilesPerBlock = profilesPerBlock
1504
1525
1505 self.dataOut = dataOut
1526 self.dataOut = dataOut
1506
1527 self.fileDate = self.dataOut.datatime.date()
1507 #By default
1528 #By default
1508 self.dtype = self.dataOut.dtype
1529 self.dtype = self.dataOut.dtype
1509
1530
General Comments 0
You need to be logged in to leave comments. Login now