-
Notifications
You must be signed in to change notification settings - Fork 101
Modern Par File Format
Anne Archibald edited this page Oct 12, 2019
·
5 revisions
PINT may want to have a new format for writing out models that is not backward-compatible with TEMPO/Tempo2 par files. The idea of this page is to brainstorm features that such a format should have. Please add your thoughts!
- Par file parameters should be actual values, not scaled by 1E-12 (e.g. for PBDOT and EDOT). Or, at a minimum, there should be a way to tell that parameters are being scaled in this par file.
- (@paulray) I think it should be human-readable and editable, like a par file, not a pickle file
- (@paulray) All parameters should be able to have units specified, not just values (should this be required?)
- (@aarchiba) Required is good
- (@aarchiba) All absolute times should be able to have time scales specified (for example, GBT UTC or SSB or pulsar proper time)
- (@aarchiba) All relative times need to be able to be specified whether they are in TCB or TDB (are those the only two commonly-used systems with different constant rates?), maybe also frequencies and things with time units?
- (@paulray) Priors should be able to be specified on parameters
- (@aarchiba) The underlying format should be based on some existing parser; ConfigParser or YAML are generally fairly human-readable and writable by design. Others are out there, possibly more science-y.
- (@aarchiba) It should be possible to parse the format without knowing about everything that could be in it (negative example: sigproc format, which can't be parsed unless you know the size of the data associated with each key; positive example: FITS or HDF5, where you can extract pieces of information even if there are things you don't recognize)
- (@aarchiba) Can we use a format that is human-editable and also has a formal schema system so that the structure can be checked? (See JSON schema, not that JSON is decent for editing)
- (@aarchiba) The format should not be able to describe all fitting situations; for example priors with complicated multivariate structure. So designers should be willing to say "write code for that" to too-complicated ideas.