Skip to content

Commit

Permalink
RCAL-919: Formalize the patches (sky cells) file (e.g., add it as a r…
Browse files Browse the repository at this point in the history
…eference file) (#536)

* commiting nonworking version for Brett to inspect

* commit changes to past tests

* add towncrier file

* renamed towncrier file to permitted name

* address review comments

* fix test failing on the fact that skycell schema doesn't use ref_common

* updated changes

* Address reviewer comments

* modify schema to remove 3 fields from table

* change plate_scale to pixel_scale

* removed spurious character

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
  • Loading branch information
perrygreenfield and pre-commit-ci[bot] authored Feb 12, 2025
1 parent 55045a0 commit c3a51f1
Show file tree
Hide file tree
Showing 4 changed files with 199 additions and 0 deletions.
1 change: 1 addition & 0 deletions changes/536.feature.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Added schema for skycell reference file.
5 changes: 5 additions & 0 deletions src/rad/resources/manifests/datamodels-1.0.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -246,6 +246,11 @@ tags:
title: WFI imaging photometric flux conversion data model
description: |-
WFI imaging photometric flux conversion data model
- tag_uri: asdf://stsci.edu/datamodels/roman/tags/reference_files/skycells-1.0.0
schema_uri: asdf://stsci.edu/datamodels/roman/schemas/reference_files/skycells-1.0.0
title: Skycells Reference File Schema
description: |-
This file contains definitions for all the skycells that cover the entire celestial sphere
# Misc
- tag_uri: asdf://stsci.edu/datamodels/roman/tags/associations-1.0.0
schema_uri: asdf://stsci.edu/datamodels/roman/schemas/associations-1.0.0
Expand Down
190 changes: 190 additions & 0 deletions src/rad/resources/schemas/reference_files/skycells-1.0.0.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,190 @@
%YAML 1.1
---
$schema: asdf://stsci.edu/datamodels/roman/schemas/rad_schema-1.0.0
id: asdf://stsci.edu/datamodels/roman/schemas/reference_files/skycells-1.0.0

title: Skycells Reference File Schema

datamodel_name: SkycellsRefModel

type: object
properties:
meta:
title: Metadata for Skycells definitions reference file
description: |
The necessary metadata for the Skycells reference file
allOf:
- type: object
properties:
reftype:
title: Reference File Type
description: |
The capitalized string of the reference file type (e.g., DARK).
type: string
enum: [SKYCELLS]
pedigree:
title: Pedigree
description: |
The pedigree of the reference file (e.g., GROUND).
type: string
enum: [GROUND]
description:
title: Description
description: |
A string describing the reference file, its intended usage, etc.
type: string
author:
title: Author
description: |
The author of who or what created the reference file.
type: string
useafter:
title: Use After Date
description: |
The use after date of the reference file for CRDS best references
matching.
tag: tag:stsci.edu:asdf/time/time-1.*
telescope:
title: Telescope
description: |
The telescope data used to select reference files, e.g. ROMAN for the
Nancy Grace Roman Space Telescope.
anyOf:
- tag: asdf://stsci.edu/datamodels/roman/tags/telescope-1.0.0
- type: string
enum: [ROMAN]
origin:
title: Organization
description: |
The organization responsible for creating the file, e.g. STSCI for the
Space Telescope Science Institute.
type: string
instrument:
type: object
properties:
name:
title: Instrument
description: |
The Wide Field Instrument (WFI).
type: string
enum: [WFI]
nxy_skycell:
title: Number of pixels in both x and y dimensions
description: |
The shape of the skycell is (nxy_skycell, nxy_skycell)
type: integer
skycell_border_pixels:
title: The number of pixels in all directions that overlap with the adjacent skycell.
description: |
Within a projection region, skycells are tiled on the same global pixel grid;
this value indicates how many pixels are overlapped in all directions in this tiling.
type: integer
pixel_scale:
title: The size of a pixel at the tangent point in arcseconds
description: |
The size of the pixel at the tangent point as projected on the sky in linear pixels for
both directions (e.g., it is assumed equal for both directions).
type: number
projection_regions:
tag: tag:stsci.edu:asdf/core/ndarray-1.*
title: Information about each projection region
description: |
A structured array that contains relevant information about all the projection regions that
cover the entire celestial sphere.
datatype:
- name: index
datatype: int32
byteorder: little
- name: ra_tangent
datatype: float64
byteorder: little
- name: dec_tangent
datatype: float64
byteorder: little
- name: ra_min
datatype: float64
byteorder: little
- name: ra_max
datatype: float64
byteorder: little
- name: dec_min
datatype: float64
byteorder: little
- name: dec_max
datatype: float64
byteorder: little
- name: orientat
datatype: float32
byteorder: little
- name: x_tangent
datatype: float64
byteorder: little
- name: y_tangent
datatype: float64
byteorder: little
- name: nx
datatype: int32
byteorder: little
- name: ny
datatype: int32
byteorder: little
- name: skycell_start
datatype: int32
byteorder: little
- name: skycell_end
datatype: int32
byteorder: little
exact_datatype: true
skycells:
tag: tag:stsci.edu:asdf/core/ndarray-1.*
title: Information about all skycells
description: |
Relevant information about all skycells that have been defined to cover the celestial sphere.
datatype:
- name: name
datatype: [ucs4, 16]
byteorder: little
- name: ra_center
datatype: float64
byteorder: little
- name: dec_center
datatype: float64
byteorder: little
- name: orientat
datatype: float32
byteorder: little
- name: x_tangent
datatype: float64
byteorder: little
- name: y_tangent
datatype: float64
byteorder: little
- name: ra_corn1
datatype: float64
byteorder: little
- name: dec_corn1
datatype: float64
byteorder: little
- name: ra_corn2
datatype: float64
byteorder: little
- name: dec_corn2
datatype: float64
byteorder: little
- name: ra_corn3
datatype: float64
byteorder: little
- name: dec_corn3
datatype: float64
byteorder: little
- name: ra_corn4
datatype: float64
byteorder: little
- name: dec_corn4
datatype: float64
byteorder: little
exact_datatype: true
required: [meta, projection_regions, skycells]
flowStyle: block
propertyOrder: [meta, projection_regions, skycells]
...
3 changes: 3 additions & 0 deletions tests/test_schemas.py
Original file line number Diff line number Diff line change
Expand Up @@ -306,6 +306,9 @@ def test_ref_file_meta_common(ref_file_schema):
"""
all_of = ref_file_schema["properties"]["meta"]["allOf"]

if ref_file_schema["id"].find("skycells") >= 0:
return

for item in all_of:
if item == EXPECTED_COMMON_REFERENCE:
break
Expand Down

0 comments on commit c3a51f1

Please sign in to comment.