The file contains one model
top-level group, and one or more trialXXX
groups, each one corresponding to a different execution. Each table has metadata fields which describe the table.
Contents
The attributes on this group contain information about NeuroRD version that was used to create this output file.
/ (RootGroup) '' /._v_attrs (AttributeSet), 2 attributes: [build-time := b'2016-09-13 11:43:54', git-version := b'v3.1.4-6-g5308d22815+']
This group contains the input model, the grid structure created from the morphology description, and the calculated dependency graph.
A simple table with the names of all species, ordered the same as <Specie>
elements under <ReactionScheme>
.
A pair of tables listing neighbours of each voxel (indices, -1 is used fill empty positions), and the coupling coefficient for each neighbour.
Names of regions.
This table describes the voxels.
/model/grid (Table(1,)) 'voxels' description := { "x0": Float64Col(shape=(), dflt=0.0, pos=0), "y0": Float64Col(shape=(), dflt=0.0, pos=1), "z0": Float64Col(shape=(), dflt=0.0, pos=2), "x1": Float64Col(shape=(), dflt=0.0, pos=3), "y1": Float64Col(shape=(), dflt=0.0, pos=4), "z1": Float64Col(shape=(), dflt=0.0, pos=5), "x2": Float64Col(shape=(), dflt=0.0, pos=6), "y2": Float64Col(shape=(), dflt=0.0, pos=7), "z2": Float64Col(shape=(), dflt=0.0, pos=8), "x3": Float64Col(shape=(), dflt=0.0, pos=9), "y3": Float64Col(shape=(), dflt=0.0, pos=10), "z3": Float64Col(shape=(), dflt=0.0, pos=11), "volume": Float64Col(shape=(), dflt=0.0, pos=12), "deltaZ": Float64Col(shape=(), dflt=0.0, pos=13), "label": StringCol(itemsize=100, shape=(), dflt='', pos=14), "region": Int32Col(shape=(), dflt=0, pos=15), "type": StringCol(itemsize=100, shape=(), dflt='', pos=16), "group": StringCol(itemsize=100, shape=(), dflt='', pos=17)}
(x0, y0, z0), (x1, y1, z1), (x2, y2, z2) are in one plane, and (x3, y3, z3) is the opposite corner in the other plane.
region
is an index into the regions
table described above.
This "table" contains one string element with the input XML configuration.
This group describes all reactions (not diffusion or stimulation):
reactants
andreactant_stoichiometry
contain the indices of consumed species and their stoichiometry;products
andproduct_stoichiometry
contain the indices of produced species and their stoichiometry;rates
contain the rate constants of the reactions;reversible_pairs
contains the indices of reverse reactions (-1 is used to fill empty positions).
This group desribes the stimulation channels:
target_names
contains the names of stimulation targets (this corresponds to theinjectionSite=
attribute),targets
contains the indices of stimulated voxels.
Calculated dependency graph.
descriptions
contains the label of each reactions channel used in logging;elements
specifies in which voxels where reactions take place, where diffusion starts, or where molecules are injected;types
describes the type of each reactiondependent
constains the indices of dependent reaction channels
This group contains a number of subgroups, each describing an a set of tables containing particle populations. One set (__main__
) is configured through <outputInterval>
in the main configuration file and contains all species for all voxels. The other sets are configured through <OutputScheme>
. Each corresponds to a different <OutputSet>
, and the name is taken from the filename
attribute.
For each set, elements
contains the indices of output elements, and
species
contains the names of output species.
/trialXXX/output
groups contain corresponding tables with the simulation results and are described below.
<outputInterval> 5 </outputInterval>
<OutputScheme>
<OutputSet filename = "all" outputInterval="100.0">
<OutputSpecie name="A"/>
<OutputSpecie name="B"/>
<OutputSpecie name="C"/>
<OutputSpecie name="D"/>
</OutputSet>
<OutputSet filename = "some" outputInterval="50">
<OutputSpecie name="C"/>
<OutputSpecie name="D"/>
</OutputSet>
</OutputScheme>
/model/output (Group) 'output species' /model/output/__main__ (Group) '' /model/output/__main__/elements (Array(1,)) '' /model/output/__main__/species (Array(4,)) 'names of output species' /model/output/all (Group) '' /model/output/all/elements (Array(1,)) 'indices of output elements' /model/output/all/species (Array(4,)) 'names of output species' /model/output/some (Group) '' /model/output/some/elements (Array(1,)) 'indices of output elements' /model/output/some/species (Array(2,)) 'names of output species'
The number of trials is specified with -Dneurord.trials=N
. Each trial results in one top-level group with names trial0
, trial
, ..., trial<N-1>
.
Attribute simulation_seed
contains the simulation seed that was used for this trial. Even if the input XML file species a simulation seed, it is ignored for trials with numbers above 0.
This group mirrors the /model/output
group described above. Each output set contains two tables:
times
is a uni-dimensional array containg the times at which the state of the system was reported,population
is an array of size T×V×S, where T is the size of thetimes
table, V is the number of voxel in this output set, and S is the number of species in this output set.