Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make "time", "dt", "timeOffset" and "timeUnitSI" optional #201

Open
wants to merge 1 commit into
base: upcoming-2.0.0
Choose a base branch
from

Conversation

RemiLehe
Copy link
Member

@RemiLehe RemiLehe commented Nov 1, 2018

This makes the attributes "time", "dt", "timeOffset" and "timeUnitSI" optional.

Implements issue: #161

Description

As detailed description as possible.

What is introduced, removed or renamed and why?
What is made required, recommended, optional?
What concept stands behind this change?

Please also add an example.

Affected Components

  • base

Logic Changes

Which logic changes are conceptually introduced?

@RemiLehe please describe how a reader should handle time now. What if only few of the attributes are present? What if a mesh is read that has a temporal axis? #193 Or a particle record with unitDimension time? What are defaults in such a case and what quantities are additive?

Writer Changes

The above attributes are now optional

Reader Changes

Readers cannot explicitly assume that these attributes are present.

Data Updater

Not needed.

@RemiLehe RemiLehe requested a review from ax3l November 1, 2018 04:27
@ax3l ax3l self-assigned this Nov 1, 2018
@ax3l ax3l added the major change non-backwards compatible change label Nov 1, 2018
@ax3l ax3l added this to the openPMD 2.X milestone Nov 1, 2018
@ax3l ax3l removed this from the openPMD 2.X milestone Nov 1, 2018
@@ -233,9 +233,10 @@ Required Attributes for the `basePath`
--------------------------------------
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The title in line 232 still reads "Required" :)
Do we want to make this optional or recommended?

@@ -661,6 +662,7 @@ Reminder: for scalar records the `record` itself is also the `component`.

- `timeOffset`
- type: *(floatX)*
- scope: *optional* (only used if `time` and `dt` are used)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe let's move this from Required for each Record to a section optional (or recommended if we decide so).

@ax3l ax3l changed the title Close #161: Make "time", "dt" and "time" optional Make "time", "dt" and "time" optional Nov 1, 2018
files (`fileBased`) or series of groups (`groupBased`) can have
attributes that describe the current time and the last time step. (In the
case where each iteration corresponds to a different time.) Thus, the
following attributes are *optional*:

- `time`
- type: *(floatX)*
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

let's fix the typo in line 264 at the same time: conversion factor

Copy link
Member

@ax3l ax3l Nov 1, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

timeUnitSI should be made optional as well but required if time or dt is set

@ax3l ax3l changed the title Make "time", "dt" and "time" optional Make "time", "dt" and "timeUnitSI" optional Nov 1, 2018
@ax3l ax3l changed the title Make "time", "dt" and "timeUnitSI" optional Make "time", "dt", "timeOffset" and "timeUnitSI" optional Nov 1, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
major change non-backwards compatible change
Projects
Status: Review
Development

Successfully merging this pull request may close these issues.

2 participants