Skip to content

Revise RecordingBackend file format #3087

@heplesser

Description

@heplesser

NEST allows recording of spike times (and volt-/multimeter timestamps) in a split time_step-time_offset representation, where the actual time is given by time_step * nest.resolution - time_offset. This representation avoids any round-off problems that may occur when time is stored in milliseconds.

# NEST version: 3.6.0-post0.dev0
# RecordingBackendASCII version: 2
sender	time_step	time_offset
1	99	0.092
1	217	0.083

Unfortunately, these files cannot be interpreted meaningfully, because the length of the time step is not stored in the file and thus needs to be provided separately.

We should extend the recording backend file format to include the time step duration. To avoid any risk of loss os precision, I suggest to store the internal representation of the time resolution, e.g., like this:

# NEST version: 3.6.0-post0.dev0
# RecordingBackendASCII version: 3
# tics_per_ms: 1000.0
# tics_per_step: 100
sender	time_step	time_offset
1	99	0.092
1	217	0.083

I would include these lines in all files, even when recording time in ms, since they take very little space and provide useful information.

And if we first change the recording format, should we include more metadata on NEST, such as the Git Hash and Host information?

Metadata

Metadata

Assignees

No one assigned

    Labels

    I: Behavior changesIntroduces changes that produce different results for some usersS: NormalHandle this with default priorityT: EnhancementNew functionality, model or documentationstaleAutomatic marker for inactivity, please have another look here

    Type

    No type

    Projects

    Status

    To do (open issues)

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions