CCSP Schemas
“Community Contributed Science Product” (CCSP) schemas are located in the
resources/schemas/CCSP directory of this package.
Creating a New CCSP Schema
Please start a conversation with MAST and the RAD maintainers by creating an issue. Any details that you can provide are helpful. We are happy to help guide you through the process and fill in any gaps in the following documentation. Opening the issue allows us to know that there is interest in a contribution to RAD, and helps us to plan development and releases.
Please review the Creating a New Schema documentation to understand the process for creating new SOC schemas. The process for CCSP schemas is very similar with a few differences noted here.
Archival Metadata
The archival process for CCSP files differs from the process used for SOC products. As a result, CCSP teams should entirely ignore the External Metadata section, and should not add the keywords described therein.
Instead CCSP schemas must contain a reference to either:
Which schema to use will depend on the details of the product, as described
below. In both cases, these schemas will require the addition of a new
ASDF subtree meta.ccsp, which will contain information necessary
to archive CCSP files.
CCSP Products
CCSP products that aren’t closely mimicking a SOC product should have schemas that reference ccsp_custom_product, as in the following example.
YAML 1.1
---
$schema: asdf://stsci.edu/datamodels/roman/schemas/rad_schema-1.0.0
id: asdf://stsci.edu/datamodels/roman/schemas/CCSP/EXAMPLE/example_custom_product-1.0.0
title: Example CCSP custom product
datamodel_name: ExampleCustomProductModel
type: object
properties:
meta:
allOf:
- $ref: asdf://stsci.edu/datamodels/roman/schemas/CCSP/ccsp_custom_product-1.0.0
required: [meta]
flowStyle: block
This will check that:
the produced file contains a
metakeythe contents of
metaconform toccsp_custom_product
The schema should be expanded to include descriptions and constraints on the data and metadata that will be added to the product. Let’s assume that the product contains:
2 arrays,
data(required) anderr(optional)a WCS (that applies to both arrays) stored at
meta.wcsmetadata about a widget stored at
meta.widgetwith nested valuesstateandcount
The following shows one way to expand the above schema to include information about those additional product contents.
type: object
properties:
meta:
allOf:
- $ref: asdf://stsci.edu/datamodels/roman/schemas/CCSP/ccsp_custom_product-1.0.0
- type: object
properties:
wcs:
title: World Coordinate System (WCS)
description: |
WCS for the data array, and for the err array if present
tag: tag:stsci.edu:gwcs/wcs-*
widget:
title: Widget metadata
description: |
Metadata describing the state of whatever the "widget" is
properties:
state:
title: Widget state
description: |
Explanation of what widget state means
type: string
count:
title: Widget count
description: |
Explanation of what widget count means
type: integer
required: [state, count]
required: [wcs, widget]
data:
title: Science Data (MJy/sr)
description: |
Described here
tag: tag:stsci.edu:asdf/core/ndarray-1.*
datatype: float32
exact_datatype: true
ndim: 2
unit: "MJy/sr"
err:
title: Error (MJy/sr)
description: |
Total error array corresponding to Science Data
tag: tag:stsci.edu:asdf/core/ndarray-1.*
datatype: float32
exact_datatype: true
ndim: 2
unit: "MJy/sr"
required: [data, meta]
flowStyle: block
During interaction with MAST and the RAD maintainers, you may be asked to add requirements
for some optional contents in ccsp_custom_product. For example, for targeted
observational data with a relatively small sky footprint, MAST will typically ask for a set of
predefined metadata sub-trees to be populated with information about the exposure,
instrument, telescope, target coordinates, sky footprint, pixel scale, and
wavelength information. These previously optional sections of ccsp_custom_product
can be made required by modifying your schema to include:
properties:
meta:
allOf:
- $ref: asdf://stsci.edu/datamodels/roman/schemas/CCSP/ccsp_custom_product-1.0.0
- required:
[
exposure,
instrument,
telescope,
target_coordinates,
s_region,
pixel_scale,
wavelength,
]
If your product closely resembles a SOC product, another option is to largely copy the contents of a SOC schema, and reference the ccsp_minimal schema instead of ccsp_custom_product. The ccsp_minimal schema contains only archival metadata which cannot be found in a typical SOC schema, allowing you to avoid duplicating metadata. Consult with MAST and the RAD maintainers for further advice on this approach.