30 lines
681 B
Python
30 lines
681 B
Python
import argparse
|
|
import datetime
|
|
import numpy as np
|
|
import dnstool
|
|
|
|
# Commandline argument parser
|
|
parser = argparse.ArgumentParser()
|
|
parser.add_argument("-c", "--case", help="target case name", required=True)
|
|
args = parser.parse_args()
|
|
params = vars(args)
|
|
|
|
casename = params["case"]
|
|
field_idx = 0
|
|
|
|
cases = dnstool.case_library()
|
|
|
|
case = cases[casename]
|
|
|
|
nx, ny, nz = case.shape
|
|
|
|
ufile = "u.dat"
|
|
|
|
storage = np.memmap(ufile, mode='w+', dtype=np.double, shape=(nx, len(case.data_files), ny, nz))
|
|
|
|
for i, fname in enumerate(case.data_files):
|
|
print(datetime.datetime.now(), i, fname)
|
|
time, u = case.read_single_field(fname, field_idx)
|
|
storage[:,i,:,:] = u.T
|
|
|
|
storage.flush()
|