question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Backwards support of OBS_MODE for GADF v0.2

See original GitHub issue

Gammapy version 1.0rc1

Bug description obs.fixed_pointing_info.mode crashes with ValueError if the pointing mode stored in the FITS data file is not equal to “WOBBLE”, “POINTING” or “DRIFT”. This is coded in PointingMode.from_gadf_string. This in turn blocks the data reduction.

This is not a good behavior and not even compatible with GADF, because GADF does not impose any list of acceptable OBS_MODE meta data (see here).

Example (using H.E.S.S. data): image

Issue Analytics

  • State:closed
  • Created a year ago
  • Comments:6 (6 by maintainers)

github_iconTop GitHub Comments

1reaction
registerriercommented, Nov 3, 2022

Currently, we support only 3 cases: POINTING, DRIFT and WOBBLE. The latter case is there to stay compliant with existing data releases (in particular from the joint Crab dataset) but is not listed among the possible keywords in gadf v0.3.

All in all, if we are to stay consistent with the gadf formats, we could:

  • Check the HDUVERS and
    • if v<=0.2, set the FixedPointingInfo.mode to the exact OBS_MODE
    • else use the current expression (without the WOBBLE option)
  • in the MapDatasetMaker.make_meta_table remove the explicit test to PointingMode.POINTING as imposing one or the other is inconsistent with what is stated in gadf v0.2 that OBS_MODE is irrelevant for data reduction
1reaction
adonathcommented, Nov 3, 2022

Yes, I see. I checked and it seems indeed in v0.2 basically arbitrary values are allowed (which is very weird BTW…). This means from the Gammapy side we have to check the GADF version?

Read more comments on GitHub >

github_iconTop Results From Across the Web

What is Backward Compatible (Backward Compatibility)?
Backward compatibility is more easily accomplished if the previous versions have been designed to be forward compatible, or extensible, with built-in ...
Read more >
Backwards Compatibility | Vagrant - HashiCorp Developer
Vagrant makes a very strict backwards-compatibility promise. ... may still exist after that, but Vagrant's compatibility promise is only for two versions.
Read more >
API Backwards Compatibility - Cisco
API Backward Compatibility and Import, page 4. • HIL API Backward Compatibility, page 5 ... If the URL contains /v0/, the 10.1(2) API...
Read more >
How to make your API backward compatible (Web, REST ...
Transitive compatibility means that schema (V) is checked against all previous versions (V-1, V-2, etc.). One-way APIs #. For APIs that are ...
Read more >
Ensuring backwards compatibility in distributed systems
One final thought on versioning: consider using something beyond a simple counting scheme (v1, v2, etc). You can provide some more context ...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found