mirror of
https://github.com/JHUAPL/kaiju.git
synced 2026-01-09 15:17:56 -05:00
Cleaning up in prep for merge
This commit is contained in:
@@ -199,23 +199,18 @@ if __name__ == "__main__":
|
||||
#Get variable information
|
||||
print("Getting variable information")
|
||||
Nt = len(sIDstrs)
|
||||
#T = kh5.getTs(h5fname,sIDs)
|
||||
#T = np.array([])
|
||||
T = np.zeros(Nt)
|
||||
# Also get file info, in case any of the steps are ExternalLinks to other files
|
||||
# Assume this is done at the step level
|
||||
fNames_link = [""]*Nt
|
||||
steps_link = [""]*Nt
|
||||
with h5.File(h5fname,'r') as f5:
|
||||
#T = np.array([f5[k].attrs['time'] for k in f5.keys() if "Step" in k])
|
||||
for i,sIDstr in enumerate(sIDstrs):
|
||||
if 'time' in f5[sIDstr].attrs.keys():
|
||||
#T = np.append(T, f5[sIDstr].attrs['time'])
|
||||
T[i] = f5[sIDstr].attrs['time']
|
||||
else:
|
||||
#T = np.append(T, int(sIDstr.split("#")[1]))
|
||||
T[i] = int(sIDstr.split("#")[1])
|
||||
fNames_link[i] = f5[sIDstr].file.filename.split('/')[-1] # !!NOTE: This means the files linked to must be in the same directory
|
||||
fNames_link[i] = f5[sIDstr].file.filename.split('/')[-1] # !!NOTE: This means the xdmf file must live in the same directory as the data files
|
||||
steps_link[i] = int(f5[sIDstr].name.split('#')[1])
|
||||
|
||||
#steps = np.array([k for k in f5.keys() if "Step" in k])
|
||||
@@ -266,10 +261,8 @@ if __name__ == "__main__":
|
||||
if doAppendStep:
|
||||
stepStr = sIDstrs[n]
|
||||
sgVars = [os.path.join(stepStr, v) for v in gridVars]
|
||||
#kxmf.AddGrid(h5fname,Geom,gDimStr,sgVars)
|
||||
kxmf.AddGrid(fNames_link[n],Geom,gDimStr,sgVars)
|
||||
else:
|
||||
#kxmf.AddGrid(h5fname,Geom,gDimStr,gridVars)
|
||||
kxmf.AddGrid(fNames_link[n],Geom,gDimStr,gridVars)
|
||||
|
||||
Time = et.SubElement(Grid,"Time")
|
||||
@@ -283,12 +276,10 @@ if __name__ == "__main__":
|
||||
#--------------------------------
|
||||
#Step variables
|
||||
for v in range(Nv):
|
||||
#kxmf.AddData(Grid,h5fname,vIds[v],vLocs[v],vDimStr,nStp)
|
||||
kxmf.AddData(Grid,fNames_link[n],vIds[v],vLocs[v],vDimStr,steps_link[n])
|
||||
#--------------------------------
|
||||
#Base grid variables
|
||||
for v in range(Nrv):
|
||||
#kxmf.AddData(Grid,h5fname,rvIds[v],rvLocs[v],vDimStr)
|
||||
kxmf.AddData(Grid,fNames_link[n],rvIds[v],rvLocs[v],vDimStr)
|
||||
|
||||
if doAddRCMVars:
|
||||
@@ -304,4 +295,4 @@ if __name__ == "__main__":
|
||||
print("Saving as {}".format(fOutXML))
|
||||
with open(fOutXML,"w") as f:
|
||||
f.write(xmlStr)
|
||||
|
||||
|
||||
|
||||
@@ -29,7 +29,7 @@ def createfile(fIn,fOut,doLink=False):
|
||||
|
||||
for Q in iH5.keys():
|
||||
sQ = str(Q)
|
||||
#Skip cache, we ad it later
|
||||
#Skip cache, we add it later
|
||||
if 'timeAttributeCache' in sQ:
|
||||
continue
|
||||
#Don't include stuff that starts with "Step"
|
||||
@@ -86,7 +86,6 @@ if __name__ == "__main__":
|
||||
timeCacheVars = {}
|
||||
with h5py.File(dbIns[0], 'r') as tacF:
|
||||
for k in tacF['timeAttributeCache'].keys():
|
||||
#timeCacheVars[k] = tacF['timeAttributeCache'][k][:].tolist()
|
||||
timeCacheVars[k] = np.array([], dtype=tacF['timeAttributeCache'][k].dtype)
|
||||
|
||||
s0 = 0 #Current step
|
||||
@@ -107,12 +106,10 @@ if __name__ == "__main__":
|
||||
|
||||
# Grow timeAttributeCache
|
||||
for k in iH5['timeAttributeCache'].keys():
|
||||
#timeCacheVars[k].append(iH5['timeAttributeCache'][k][:].tolist())
|
||||
data = iH5['timeAttributeCache'][k][:]
|
||||
if k == 'step':
|
||||
data += s0
|
||||
data += s0 # Cache for merged h5 file needs to remap original steps to their position in merged file
|
||||
timeCacheVars[k] = np.append(timeCacheVars[k], data, axis=0)
|
||||
print(timeCacheVars['step'])
|
||||
|
||||
#Loop over steps in the input file
|
||||
for s in range(nS,nE+1):
|
||||
@@ -152,11 +149,10 @@ if __name__ == "__main__":
|
||||
iH5.close()
|
||||
|
||||
# Write timeAttributeCache to output file
|
||||
print("Writing timeAttributeCache")
|
||||
tag = oH5.create_group('timeAttributeCache')
|
||||
for k in timeCacheVars:
|
||||
print(k)
|
||||
print(timeCacheVars[k].dtype)
|
||||
tag.create_dataset(k, data=timeCacheVars[k], dtype=timeCacheVars[k].dtype)
|
||||
|
||||
#Done
|
||||
#oH5.close()
|
||||
oH5.close()
|
||||
|
||||
Reference in New Issue
Block a user