Skip to content

Commit

Permalink
Merge updates in preparation for release 1.1.0.0
Browse files Browse the repository at this point in the history
Ref #29
  • Loading branch information
cgobat authored Jun 20, 2024
2 parents 75ba723 + 8d9c2ac commit 087cca2
Show file tree
Hide file tree
Showing 170 changed files with 12,133 additions and 10,409 deletions.
10 changes: 8 additions & 2 deletions ChangeLog.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,15 @@ the PDS4 pipeline for the second extended mission.
* MVIC_Conversion_Constants has been deprecated in favor of Radiometric_Conversion_Constants
(for all instruments that need them). The new class includes a constant for Arrokoth.

* Classes have been added to support SWAP and LEISA as well as spacecraft state and
* Classes have been added to support ALICE, LEISA, LORRI, and SWAP as well as spacecraft state and
engineering/housekeeping data included with the observational data. Examples for these
new classes have been added to the documentation set.
new instrument classes have been added to the *test/* directory set.

* Added *examples/* directory under *test/* for simple, valid labels that show schema structures
(i.e., the classes) for specific instruments.

* Updated *docs/* to remove the full examples that were causing build failures because of their size.
The documents will now link directly to the smaller examples in the *test/examples/* location.

* Added *Notes_for_Developers" file to src/ for common reference. This is intended as
a "best practices" reference for the NH LDD developers [Issue #17](https://github.com/pds-data-dictionaries/ldd-nh/issues/17).
Expand Down

This file was deleted.

This file was deleted.

This file was deleted.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- PDS4 Schematron for Name Space Id:nh Version:1.1.0.0 - Tue May 14 17:08:22 UTC 2024 -->
<!-- PDS4 Schematron for Name Space Id:nh Version:1.1.0.0 - Thu Jun 20 19:34:03 UTC 2024 -->
<!-- Generated from the PDS4 Information Model Version 1.19.0.0 - System Build 13.0 -->
<!-- *** This PDS4 schematron file is an operational deliverable. *** -->
<sch:schema xmlns:sch="http://purl.oclc.org/dsdl/schematron" queryBinding="xslt2">
Expand All @@ -19,24 +19,24 @@
<!-- merged together in the rules below. -->
<!-- ================================================ -->
<sch:pattern>
<sch:rule context="nh:ALICE_Details/nh:aperture">
<sch:assert test=". = ('Airglow')">
<title>nh:ALICE_Details/nh:aperture/nh:aperture</title>
The attribute nh:ALICE_Details/nh:aperture must be equal to the value 'Airglow'.</sch:assert>
<sch:rule context="nh:Alice_Details/nh:aperture">
<sch:assert test=". = ('Airglow', 'Solar Occultation Channel')">
<title>nh:Alice_Details/nh:aperture/nh:aperture</title>
The attribute nh:Alice_Details/nh:aperture must be equal to one of the following values 'Airglow', 'Solar Occultation Channel'.</sch:assert>
</sch:rule>
</sch:pattern>
<sch:pattern>
<sch:rule context="nh:Detector/nh:detector_name">
<sch:assert test=". = ('ALICE spectrograph', 'LORRI imager', 'Linear Etalon Imaging Spectral Array', 'MVIC Blue (BLUE) Channel', 'MVIC Methane (CH4) Channel', 'MVIC Near Infrared (NIR) Channel', 'MVIC Panchromatic 1 (PAN1) Channel', 'MVIC Panchromatic 2 (PAN2) Channel', 'MVIC Panchromatic Framing (FRAME) Array', 'MVIC Red (RED) Channel', 'Pluto Energetic Particles Spectrometer Science Investigation', 'Radio Science Experiment', 'Solar Wind Around Pluto', 'Student Dust Counter')">
<sch:assert test=". = ('Alice spectrograph', 'LORRI imager', 'Linear Etalon Imaging Spectral Array', 'MVIC Blue (BLUE) Channel', 'MVIC Methane (CH4) Channel', 'MVIC Near Infrared (NIR) Channel', 'MVIC Panchromatic 1 (PAN1) Channel', 'MVIC Panchromatic 2 (PAN2) Channel', 'MVIC Panchromatic Framing (FRAME) Array', 'MVIC Red (RED) Channel', 'Pluto Energetic Particles Spectrometer Science Investigation', 'Radio Science Experiment', 'Solar Wind Around Pluto', 'Student Dust Counter')">
<title>nh:Detector/nh:detector_name/nh:detector_name</title>
The attribute nh:Detector/nh:detector_name must be equal to one of the following values 'ALICE spectrograph', 'LORRI imager', 'Linear Etalon Imaging Spectral Array', 'MVIC Blue (BLUE) Channel', 'MVIC Methane (CH4) Channel', 'MVIC Near Infrared (NIR) Channel', 'MVIC Panchromatic 1 (PAN1) Channel', 'MVIC Panchromatic 2 (PAN2) Channel', 'MVIC Panchromatic Framing (FRAME) Array', 'MVIC Red (RED) Channel', 'Pluto Energetic Particles Spectrometer Science Investigation', 'Radio Science Experiment', 'Solar Wind Around Pluto', 'Student Dust Counter'.</sch:assert>
The attribute nh:Detector/nh:detector_name must be equal to one of the following values 'Alice spectrograph', 'LORRI imager', 'Linear Etalon Imaging Spectral Array', 'MVIC Blue (BLUE) Channel', 'MVIC Methane (CH4) Channel', 'MVIC Near Infrared (NIR) Channel', 'MVIC Panchromatic 1 (PAN1) Channel', 'MVIC Panchromatic 2 (PAN2) Channel', 'MVIC Panchromatic Framing (FRAME) Array', 'MVIC Red (RED) Channel', 'Pluto Energetic Particles Spectrometer Science Investigation', 'Radio Science Experiment', 'Solar Wind Around Pluto', 'Student Dust Counter'.</sch:assert>
</sch:rule>
</sch:pattern>
<sch:pattern>
<sch:rule context="nh:Detector/nh:detector_type">
<sch:assert test=". = ('CCD', 'Dust Imapct Counter', 'Electrostatic', 'HgCdTe PICNIC array', 'Local oscillator vs. uplink signal phase comparator', 'Microchannel plate', 'SSD')">
<sch:assert test=". = ('CCD', 'Dust Impact Counter', 'Electrostatic', 'HgCdTe PICNIC array', 'Local oscillator vs. uplink signal phase comparator', 'Microchannel plate', 'SSD')">
<title>nh:Detector/nh:detector_type/nh:detector_type</title>
The attribute nh:Detector/nh:detector_type must be equal to one of the following values 'CCD', 'Dust Imapct Counter', 'Electrostatic', 'HgCdTe PICNIC array', 'Local oscillator vs. uplink signal phase comparator', 'Microchannel plate', 'SSD'.</sch:assert>
The attribute nh:Detector/nh:detector_type must be equal to one of the following values 'CCD', 'Dust Impact Counter', 'Electrostatic', 'HgCdTe PICNIC array', 'Local oscillator vs. uplink signal phase comparator', 'Microchannel plate', 'SSD'.</sch:assert>
</sch:rule>
</sch:pattern>
<sch:pattern>
Expand Down Expand Up @@ -111,16 +111,9 @@
</sch:pattern>
<sch:pattern>
<sch:rule context="nh:LEISA_Details/nh:scan_type">
<sch:assert test=". = ('FRAMING - Framing Mode', 'LEISA', 'TDI - Time Delay Integration Mode')">
<sch:assert test=". = ('LEISA')">
<title>nh:LEISA_Details/nh:scan_type/nh:scan_type</title>
The attribute nh:LEISA_Details/nh:scan_type must be equal to one of the following values 'FRAMING - Framing Mode', 'LEISA', 'TDI - Time Delay Integration Mode'.</sch:assert>
</sch:rule>
</sch:pattern>
<sch:pattern>
<sch:rule context="nh:LORRI_Details/nh:binning_mode">
<sch:assert test=". = ('1x1', '4x4')">
<title>nh:LORRI_Details/nh:binning_mode/nh:binning_mode</title>
The attribute nh:LORRI_Details/nh:binning_mode must be equal to one of the following values '1x1', '4x4'.</sch:assert>
The attribute nh:LEISA_Details/nh:scan_type must be equal to the value 'LEISA'.</sch:assert>
</sch:rule>
</sch:pattern>
<sch:pattern>
Expand Down Expand Up @@ -187,9 +180,9 @@
</sch:pattern>
<sch:pattern>
<sch:rule context="nh:MVIC_Details/nh:scan_type">
<sch:assert test=". = ('FRAMING - Framing Mode', 'LEISA', 'TDI - Time Delay Integration Mode')">
<sch:assert test=". = ('FRAMING - Framing Mode', 'TDI - Time Delay Integration Mode')">
<title>nh:MVIC_Details/nh:scan_type/nh:scan_type</title>
The attribute nh:MVIC_Details/nh:scan_type must be equal to one of the following values 'FRAMING - Framing Mode', 'LEISA', 'TDI - Time Delay Integration Mode'.</sch:assert>
The attribute nh:MVIC_Details/nh:scan_type must be equal to one of the following values 'FRAMING - Framing Mode', 'TDI - Time Delay Integration Mode'.</sch:assert>
</sch:rule>
</sch:pattern>
<sch:pattern>
Expand Down Expand Up @@ -220,6 +213,13 @@
The attribute @unit must be equal to one of the following values 'day', 'hr', 'julian day', 'microseconds', 'min', 'ms', 'ns', 's', 'yr'.</sch:assert>
</sch:rule>
</sch:pattern>
<sch:pattern>
<sch:rule context="nh:Resolved_Source">
<sch:assert test="(nh:units_of_conversion_constants eq '(DN/s)/(erg/cm^2/s/Angstrom/sr)')">
<title>nh:Resolved_Source/Rule</title>
The units of the radiometric conversion constants for a resolved source should be (DN/s)/(erg/cm^2/s/Angstrom/sr).</sch:assert>
</sch:rule>
</sch:pattern>
<sch:pattern>
<sch:rule context="nh:Resolved_Source/nh:units_of_conversion_constants">
<sch:assert test=". = ('(DN/s)/(erg/cm^2/s/Angstrom)', '(DN/s)/(erg/cm^2/s/Angstrom/sr)')">
Expand Down Expand Up @@ -250,6 +250,13 @@
The attribute nh:Spacecraft_State/nh:spacecraft_spin_state must be equal to one of the following values '3-Axis', 'Spinning'.</sch:assert>
</sch:rule>
</sch:pattern>
<sch:pattern>
<sch:rule context="nh:Unresolved_Source">
<sch:assert test="(nh:units_of_conversion_constants eq '(DN/s)/(erg/cm^2/s/Angstrom)')">
<title>nh:Unresolved_Source/Rule</title>
The units of the radiometric conversion constants for an unresolved source should be (DN/s)/(erg/cm^2/s/Angstrom).</sch:assert>
</sch:rule>
</sch:pattern>
<sch:pattern>
<sch:rule context="nh:Unresolved_Source/nh:units_of_conversion_constants">
<sch:assert test=". = ('(DN/s)/(erg/cm^2/s/Angstrom)', '(DN/s)/(erg/cm^2/s/Angstrom/sr)')">
Expand Down
Original file line number Diff line number Diff line change
@@ -1,21 +1,20 @@
PDS4 Local Data Dictionary Processing Report

Configuration:
LDDTool Version 15.0.6
LDDTool Version 15.1.0
LDD Version Id: 1.1.0.0
LDD Label Version Id: 1.25
LDD Discipline (T/F): false
LDD Namespace URL: http://pds.nasa.gov/pds4/
LDD URN Prefix: urn:nasa:pds:
Time Tue May 14 17:08:22 UTC 2024
Time Thu Jun 20 19:34:03 UTC 2024
Common Schema [PDS4_PDS_1J00.xsd]
Common Schematron [PDS4_PDS_1J00.sch]
IM Version Id: 1.19.0.0
IM Namespace Id: pds
IM Label Version Id: 1.25
IM Object Model [UpperModel.pont]
IM Data Dictionary [dd11179.pins]
IM Configuration File [MDPTNConfigClassDisp.xml]
IM Glossary [Glossary.pins]
IM Document Spec [DMDocument.pins]

Expand All @@ -29,9 +28,9 @@ Parameters:
Merge with Master false

Summary:
Classes 19
Classes 18
Attributes 50
Associations 79
Associations 77
Error messages 0
Warning messages 0
Information messages 0
Expand All @@ -55,28 +54,48 @@ Parsed Input - Header:
BJH Ben Hirsch, SBN at UMD
cgobat Caden Gobat, SwRI
MKC M. Kate Crombie, Indigo Information Systems, LLC

=======

Modification History:

2024-04-03 ACR Begin history

=== Version 1.1.0.0 ===

2024-04-03 to 2024-04-05 Version 1.1.0 continued updates:
ACR Deprecate MVIC_Conversion_Constants class in favor of
Radiometric_Conversion_Constants class, with corresponding
Schematron rule.
Consistently add "nh:" prefix to references in descriptions.
Review definitions for completeness, consistency, and style;
flag problems.
2024-06-15 ACR Manually resolved conflicts resulting from multiple people editing
the the same parts of the file in separate branches.
Convert all occurrences of the name to "Alice".
Split "scan_type" attribute definition into two occurences, one for
MVIC and one for LEISA, to accommodate different permissible value
lists.
Modified LEISA_Details class definition to not refer to "channels".

2024-06-20 Added schematron rule to enforce correct units for resolved vs.
cgobat unresolved sources in nh:units_of_conversion_constants; updated
several attribute descriptions and removed [INCOMPLETE] and [CHECK]
flags; removed "Spectrograph" as a permissible value for
nh:detector_type; added a minimum value of absolute zero for LEISA
temperature attribute; added the SOCC to the list of permissible
Alice aperture values; removed nh:binning_mode attribute and its
parent class nh:LORRI_Details (of which it was the only member).

Last Modification Time 2024-05-14
Last Modification Time 2024-06-20
PDS4 Merge Flag false

Parsed Input - Attributes:

name aperture
version 1.19
value data type ASCII_Short_String_Collapsed
description The aperture indicates what sort of aperture was employed in collecting the data.
description The Alice instrument has two different apertures (i.e., optical paths) through which it can collect data: the "airglow" aperture and the solar occultation channel (SOCC). The nh:aperture attribute indicates which was used for a given data product.

name approx_target_name
version 1.19
Expand All @@ -99,11 +118,6 @@ Parsed Input - Attributes:
value data type ASCII_Real
description The nh:arrokoth_constant attribute supplies the constant to be used for sources with spectral distribution similar to (486958) Arrokoth (a.k.a., 2014 MU69) to convert calibrated data to physical units.

name binning_mode
version 1.19
value data type ASCII_Short_String_Collapsed
description The nh:binning_mode attribute indicates whether LORRI was operating in 1x1 or 4x4 binning mode.

name charon_constant
version 1.19
value data type ASCII_Real
Expand Down Expand Up @@ -189,7 +203,7 @@ Parsed Input - Attributes:
name leisa_rate
version 1.19
value data type ASCII_Real
description Time between LEISA readouts. There is zero dead time between frames, so in practice, this is equivalent to the exposure time found in the the img:exposure_duration attribute, and the frame rate is exactly 1/(exposure time).
description The nh:leisa_rate attribute provides the time between LEISA readouts. There is zero dead time between frames, so in practice, this value is equivalent to the per-frame exposure time, and the number of frames per second is exactly its reciprocal.
minimum value 0
unit of measure type Units_of_Time

Expand All @@ -202,13 +216,14 @@ Parsed Input - Attributes:
version 1.19
value data type ASCII_Real
description The nh:leisa_temperature attribute provides the temperature of the LEISA instrument.
minimum value -273.15
unit of measure type Units_of_Temperature

name met510
version 1.19
value data type ASCII_Real
description The nh:met510 attribute provides the mission elapsed time (MET) of the Ralph housekeeping packet (ApID 0x510) that marks the start of an observation, used to determine the observation start time and frame rate. [CHECK]: should the minimum value really be negative?
minimum value -1.0
description The nh:met510 attribute provides the mission elapsed time (MET) of the Ralph housekeeping packet (ApID 0x510) that marks the start of an observation, used to determine the observation start time and frame rate.
minimum value 0
unit of measure type Units_of_Time

name mission_phase_name
Expand Down Expand Up @@ -272,6 +287,11 @@ Parsed Input - Attributes:
value data type ASCII_Short_String_Collapsed
description The nh:scan_type attribute indicates what sort of scanning was employed in collecting the data.

name scan_type
version 1.19
value data type ASCII_Short_String_Collapsed
description The nh:scan_type attribute indicates what sort of scanning was employed in collecting the data.

name sequence_id
version 1.19
value data type ASCII_Short_String_Collapsed
Expand Down Expand Up @@ -373,7 +393,7 @@ Parsed Input - Classes:
maximum occurrences 1
reference type attribute_of

local identifier nh:ALICE_Details
local identifier nh:Alice_Details
minimum occurrences 0
maximum occurrences 1
reference type component_of
Expand All @@ -388,11 +408,6 @@ Parsed Input - Classes:
maximum occurrences 1
reference type component_of

local identifier nh:LORRI_Details
minimum occurrences 0
maximum occurrences 1
reference type component_of

local identifier nh:MVIC_Details
minimum occurrences 0
maximum occurrences 1
Expand Down Expand Up @@ -462,19 +477,6 @@ Parsed Input - Classes:
maximum occurrences *
reference type component_of

name LORRI_Details
description The nh:LORRI_Details class collects observational parameters that are specific to the LORRI instrument and its various modes.
is abstract false
is choice false
subclass of USER

Associations

local identifier nh:binning_mode
minimum occurrences 1
maximum occurrences 1
reference type attribute_of

name LORRI_Target_Information
description The nh:LORRI_Target_Information class collects attributes related to the target of the LORRI observation.
is abstract false
Expand Down Expand Up @@ -578,14 +580,14 @@ Parsed Input - Classes:
reference type component_of

name LEISA_Details
description The nh:LEISA_Details class collects observational parameters that are specific to the LEISA instrument and its various channels.
description The nh:LEISA_Details class collects observational parameters that are specific to the LEISA instrument.
is abstract false
is choice false
subclass of USER

Associations

local identifier nh:scan_type
local identifier nh:LEISAscan_type
minimum occurrences 1
maximum occurrences 1
reference type attribute_of
Expand Down Expand Up @@ -638,7 +640,7 @@ Parsed Input - Classes:

Associations

local identifier nh:scan_type
local identifier nh:MVICscan_type
minimum occurrences 1
maximum occurrences 1
reference type attribute_of
Expand All @@ -648,8 +650,8 @@ Parsed Input - Classes:
maximum occurrences 1
reference type attribute_of

name ALICE_Details
description The ALICE_Details class collects observational parameters that are specific to the ALCICE instrument.
name Alice_Details
description The Alice_Details class collects observational parameters that are specific to the Alice instrument.
is abstract false
is choice false
subclass of USER
Expand Down
Loading

0 comments on commit 087cca2

Please sign in to comment.