Cleaning up in prep for merge

This commit is contained in:
Anthony
2024-03-05 08:27:44 -07:00
parent 3ded9d6790
commit e54b321d09
2 changed files with 6 additions and 19 deletions

View File

@@ -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)

View File

@@ -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()