[yt-users] Problem loading FLASH2.5 data

Philipp Girichidis keule-phg at gmx.de
Tue Oct 18 05:40:44 PDT 2016


Dear YT users,

I upgraded my version of YT from an older version that still installed the libraries on its own (version downloaded 2016/06/21) to a more recent version using yt-conda. With the new version I cannot read old FLASH2.5 data any more. The previous version of yt gave me the correct output

yt : [INFO     ] 2016-09-09 16:37:59,285 Parameters: current_time              = 1260000000.0
yt : [INFO     ] 2016-09-09 16:37:59,286 Parameters: domain_dimensions         = [8 8 8]
yt : [INFO     ] 2016-09-09 16:37:59,289 Parameters: domain_left_edge          = [ -4.00000000e+17  -4.00000000e+17  -4.00000000e+17]
yt : [INFO     ] 2016-09-09 16:37:59,290 Parameters: domain_right_edge         = [  4.00000000e+17   4.00000000e+17   4.00000000e+17]
yt : [INFO     ] 2016-09-09 16:37:59,291 Parameters: cosmological_simulation   = 0.0

the new version does not read some of the numbers properly,

yt : [INFO     ] 2016-09-09 16:39:11,692 Parameters: current_time              = 1.06099789548e-313
yt : [INFO     ] 2016-09-09 16:39:11,692 Parameters: domain_dimensions         = [1104332420          0 1102957925]
yt : [INFO     ] 2016-09-09 16:39:11,693 Parameters: domain_left_edge          = [ -4.00000000e+17  -4.00000000e+17  -4.00000000e+17]
yt : [INFO     ] 2016-09-09 16:39:11,694 Parameters: domain_right_edge         = [  4.00000000e+17   4.00000000e+17   4.00000000e+17]
yt : [INFO     ] 2016-09-09 16:39:11,695 Parameters: cosmological_simulation   = 0.0

The time value as well as the dimensions are messed up and thus yt crashes with a memory error at some point. To me it looks like a conversion problem between big and little endian or some similar conversion problem between single and double precision. I tried various combinations of MAC and linux and the problem does not seem to operating system dependent.

Quite a few functions have changed in terms of reading particle data, but the simulation does not contain particles. I tried to find the part of the code that reads the domain_dimensions and looked at file
yt-conda/lib/python2.7/site-packages/yt/frontends/flash/data_structures.py
where in line 99ff the block dimensions are read. But this part of the code is not executed (checked with print statements in iyt). Loading the hdf5 file with h5py and using the code in line 104 gives me the correct numbers, but I guess yt reads the data from somewhere else?

Any hints on how the hierarchy of reading data is organized or where to search? I know FLASH2.5 is very old but we still have a lot of (quite expensive) F2.5 data.

With best regards,
Philipp Girichidis


More information about the yt-users mailing list