09: Fix resizing of dataset
This commit is contained in:
BIN
Exercise sheet 9/data_l1.5_k0.08_w3_d1.5_20221124103953.hdf5
Normal file
BIN
Exercise sheet 9/data_l1.5_k0.08_w3_d1.5_20221124103953.hdf5
Normal file
Binary file not shown.
File diff suppressed because one or more lines are too long
@ -100,8 +100,8 @@ def main():
|
||||
|
||||
# Prepare file
|
||||
with h5py.File(output_filename,'a') as f:
|
||||
if not "mean-magn" in f:
|
||||
dataset = f.create_dataset("magnetizations", (0,), maxshape=(None,), chunks=True)
|
||||
if not "magnetizations" in f:
|
||||
dataset = f.create_dataset("magnetizations", (0,), maxshape=(None,), dtype='f', chunks=True, compression="gzip")
|
||||
# store some information as metadata for the data set
|
||||
dataset.attrs["lamb"] = lamb
|
||||
dataset.attrs["kappa"] = kappa
|
||||
@ -112,7 +112,9 @@ def main():
|
||||
dataset.attrs["measure_sweeps"] = measure_sweeps
|
||||
dataset.attrs["measurements"] = measurements
|
||||
dataset.attrs["start time"] = starttime
|
||||
|
||||
else:
|
||||
# continue taking measurements (e.g. when previous run was interrupted)
|
||||
measurements_done = len(f["magnetizations"])
|
||||
|
||||
# Measure
|
||||
# TODO: Does mean_magn need to be a list?
|
||||
@ -126,10 +128,10 @@ def main():
|
||||
with h5py.File(output_filename,'a') as f:
|
||||
# enlarge the data set
|
||||
dataset = f["magnetizations"]
|
||||
dataset.resize(measurements, axis=0)
|
||||
dataset.resize(len(dataset) + len(magnetizations), axis=0)
|
||||
# copy the data to the new space at the end of the dataset
|
||||
dataset[-len(magnetizations):] = magnetizations
|
||||
dataset.attrs["current_time"] = time.asctime()
|
||||
dataset.attrs["current_time"] = time.time()
|
||||
magnetizations.clear()
|
||||
if measurements_done == measurements:
|
||||
break
|
||||
|
||||
BIN
Exercise sheet 9/testding.hdf5
Normal file
BIN
Exercise sheet 9/testding.hdf5
Normal file
Binary file not shown.
Reference in New Issue
Block a user