Presentation is loading. Please wait.

Presentation is loading. Please wait.

LSST DC2 Post-Mortem February 5–6, 2008 1 DataProperty Generally works Uses: –FITS headers –Events –Persistence parameters (additionalData) 1.

Similar presentations


Presentation on theme: "LSST DC2 Post-Mortem February 5–6, 2008 1 DataProperty Generally works Uses: –FITS headers –Events –Persistence parameters (additionalData) 1."— Presentation transcript:

1 LSST DC2 Post-Mortem February 5–6, 2008 1 DataProperty Generally works Uses: –FITS headers –Events –Persistence parameters (additionalData) 1

2 LSST DC2 Post-Mortem February 5–6, 2008 2 DataProperty boost::any problems Must know type before extracting value Need functions to get an integer/real/string from anything compatible Need function to get a dynamically-typed Python object Added explicitly typed construction/extraction functions for Python 2

3 LSST DC2 Post-Mortem February 5–6, 2008 3 Added and excess functionality Added function to combine two DataProperties –For updating WCS parameters findUnique() used everywhere –Ability to have multiple identical keys not useful SupportFactory overdesigned for DC2 –None of functionality used; class itself not used sometimes 3

4 LSST DC2 Post-Mortem February 5–6, 2008 4 Policy Very successful JSON deprecated; should be removed File-include functionality not used yet Several policy files per pipeline and per run –Policies used only determinable from interpreting other Policies –Therefore need to persist all for provenance –Master Policy not currently saved (will be in ticket #315) Has get()/getArray() functions for Python Does not try to support float, int64_t Should be merged with DataProperty –But marked read-only, since modifying Policies is undesirable 4

5 LSST DC2 Post-Mortem February 5–6, 2008 5 Utility Functions These functions are in various “utility” modules; they belong in DataProperty/Policy or a common location instead: –fw::getInt64FromAny() — Extract an int64_t value from a boost::any if it holds a signed integral type –dps.Utils.getDPValue() — Extract a value from a DataProperty into a Python dynamically-typed object –dps.Utils.dataPropertyToDict() — Convert a DataProperty into a Python dictionary –ap::extractRequired() — Extract a value from a DataProperty, throwing an exception if not found –fw::extractPolicyString(), ap::extractPolicyString() — Extract a value from a Policy if the Policy exists, otherwise return a default value 5


Download ppt "LSST DC2 Post-Mortem February 5–6, 2008 1 DataProperty Generally works Uses: –FITS headers –Events –Persistence parameters (additionalData) 1."

Similar presentations


Ads by Google