# Configure basic healpix support in butler data repositories

XMLWordPrintable

#### Details

• Type: Story
• Status: Done
• Resolution: Done
• Fix Version/s: None
• Component/s:
• Labels:
• Story Points:
2
• Team:
Architecture
• Urgent?:
No

#### Description

To configure basic butler support for HEALPix, allowing reference catalogs and other prerequisite inputs to use HEALPix dimensions in the same way we currently support HTM, we just need to update the dimensions configuration by adding the following

 skypix:  healpix:  class: lsst.sphgeom.HealpixPixelization  max_level: 17 

(leaving all other entries under the "skypix" heading as-is.

I don't think this change alone should actually affect the SQL schema, but our versioning logic knows that dimension configuration changes could affect the schema so I think it's best to treat it as a migration that happens to do nothing.

#### Activity

Hide
Jim Bosch added a comment -

Tim Jenness, according to DM-33734 importing healpy here is unexpectedly slow. We should probably move HealpixPixelization to a module that isn't imported by default and update the fully-qualified class name in the dimensions config accordingly before we bake that class name in anywhere, to avoid paying that price when we don't need to.

Show
Jim Bosch added a comment - Tim Jenness , according to DM-33734 importing healpy here is unexpectedly slow. We should probably move HealpixPixelization to a module that isn't imported by default and update the fully-qualified class name in the dimensions config accordingly before we bake that class name in anywhere, to avoid paying that price when we don't need to.
Hide
Tim Jenness added a comment -

We presumably could leave it in sphgeom but stop importing it into the init script.

Show
Tim Jenness added a comment - We presumably could leave it in sphgeom but stop importing it into the init script.
Hide
Jim Bosch added a comment -

Yes, that's exactly what I was thinking.

Show
Jim Bosch added a comment - Yes, that's exactly what I was thinking.
Hide
Tim Jenness added a comment -

I've made a standalone change to define the healpix dimension but it needed me to add namespace support to the dimensions.yaml because otherwise it clashes with the test dimensions in pipe_base and ctrl_mpexec.

Show
Tim Jenness added a comment - I've made a standalone change to define the healpix dimension but it needed me to add namespace support to the dimensions.yaml because otherwise it clashes with the test dimensions in pipe_base and ctrl_mpexec.
Hide
Jim Bosch added a comment -

Looks good, no comments at all.

Show
Jim Bosch added a comment - Looks good, no comments at all.
Hide
Tim Jenness added a comment -

Build worked locally (and worked as part of the other branch on Jenkins last week) so I will merge.

Show
Tim Jenness added a comment - Build worked locally (and worked as part of the other branch on Jenkins last week) so I will merge.
Hide
Tim Jenness added a comment -

Tatiana Goldina with this change we now support a "namespace" field in the dimensions.yaml – you should add it to your local dimensions.yaml so that in the future it will be possible for one python process to access a SPHEREx repo and a LSST repo without getting a confusion of universes.

Show
Tim Jenness added a comment - Tatiana Goldina with this change we now support a "namespace" field in the dimensions.yaml – you should add it to your local dimensions.yaml so that in the future it will be possible for one python process to access a SPHEREx repo and a LSST repo without getting a confusion of universes.

#### People

Assignee:
Tim Jenness
Reporter:
Jim Bosch
Reviewers:
Jim Bosch
Watchers:
Eli Rykoff, Jim Bosch, Tim Jenness