Difference between revisions of "Import resulting data into other applications"

From OpenPSTD
Jump to: navigation, search
(Added R and python, also extended matlab a bit)
Line 5: Line 5:
 
The exported file is an HDF5 file. More information about this format can be found [https://www.hdfgroup.org/HDF5/ here].
 
The exported file is an HDF5 file. More information about this format can be found [https://www.hdfgroup.org/HDF5/ here].
  
The structure of the HDF5 format is a tree-like structure with data elements as leaves, which are called data sets. This structure is as follows:
+
The structure of the HDF5 format is a tree-like structure with data elements as leaves, which are called data sets. All the indices start from 0. This structure is as follows:
 
*''<code>frame</code>''
 
*''<code>frame</code>''
 
**<domain index>
 
**<domain index>
Line 12: Line 12:
 
**<receiver index>
 
**<receiver index>
  
For example if you want frame 100 of domain 4, the data element is at ''<code>/frame/4/100</code>''. Or if you want the data of receiver 6, then the resulting data is in element ''<code>/receiver/6</code>''.
+
For example if you want frame 100 of domain 4, the 5th domain, the data element is at ''<code>/frame/4/100</code>''. Or if you want the data of receiver 6, that is the 7th receiver, then the resulting data is in element ''<code>/receiver/6</code>''.
  
 
= Applications =
 
= Applications =

Revision as of 11:40, 27 May 2016

Data exported to the HDF5 format can be imported into other applications.

Contents

Exported HDF5 file

The exported file is an HDF5 file. More information about this format can be found here.

The structure of the HDF5 format is a tree-like structure with data elements as leaves, which are called data sets. All the indices start from 0. This structure is as follows:

  • frame
    • <domain index>
      • <frame index>
  • receiver
    • <receiver index>

For example if you want frame 100 of domain 4, the 5th domain, the data element is at /frame/4/100. Or if you want the data of receiver 6, that is the 7th receiver, then the resulting data is in element /receiver/6.

Applications

Here is a list of some of the applications that can import this data.

Matlab

Matlab can import the data. This can be done by the following command: h5read(filename,datasetname) where file name is the hdf5 file name and the datasetname is the data set name, eg /frame/4/100 or /receiver/6. For example to read frame 42 from domain 4 that is in hdf5 file "result.h5", the following matlab command can be used h5read('result.h5','/frame/4/42').

For more info see Matlab hdf5 reference pages. There are also functions that can query the file. The file can be queried for which domains are in it, which frames of each domain and which receivers are in it.

Mathematica

More information about import in mathematica can be found at Mathematica hdf5 reference pages.

Python

Python has also an interface to HDF5. This interface can be found at h5py.org

R

R has also an interface to the HDF5 format. This interface can be found at the CRAN repo. [1]