Lucy Support Liens ================== LDD === --> is set to true for all Lucy classes, which means every class can appear as a base class under Mission_Area any number of times without constraint. May want to include a base class for the mission which acts as a container for the other classes and has rules governing when those classes can appear. (For example, permitting only one of the independent instrument classes per label.) --> Most attributes are optional, which can result in instances where classes can appear with no attributes and still be valid. If it's expected that an attribute will always have a value when its class is present unless something is amiss, the attribute should be required and have the nillable_flag set to true. --> For attributes that should be optional, those which are conversions of one another should likely have a rule requiring one to be present if the other is, such as attached_sync_marker_dec and attached_sync_marker_hex. Similarly, optional start and stop values should be required when the other is present. --> Many attributes that list or imply a known set of values in their definition do not include an enumerated value list, such as (but not limited to): leisa_mode, test_pattern_string, load_identifier, sap_identifier, visit_name, m4_calibration_state. --> Attributes with a Units_of_Time unit of measure type which specify the unit is seconds in the definition should include a specified_unit_id attribute with a value of "s". --> For validation purposes, attributes that represent a count value should have a minimum of either 0 or 1, as appropriate, including (but not limited to): observation_id_count, observation_missing_packets, latch_count, scan_row_pixels, fpe_drop_frames. attribute: mid_utc_jd --> In the data labels, this attribute appears with "JD" in the value. While this is valid because data type is set to string, it is not congruent with the attribute having a unit of measure of Time/julian day. Instead, set value_data_type to "ASCII_Real" and add a specified_unit_id of "julian day" to the definition of the attribute. attribute: target_fov_name --> How does this attribute relate to Target_Identification/name? Will the two always be the same, or can they differ in some way, and if so, for what reason? attribute: observation_id --> Is there a pattern these ID numbers must follow which could be implemented here for validation? attribute *_sclk --> If all values exactly follow the sssssssss.ttttttt pattern, a attribute should be included to enforce that. attribute: instrument_side --> N/A should not be a permissible value; instead, the attribute should have the nillable_flag set to true. lucy_ldd_* - Which version is correct? I ignored _20230413 because 1) lucy.leisa needs lucy_ldd_20230308 2) Some labels have (defined in _20230308) lucy:lr_acquisition_start_black but none have (defined in _20230413) lucy:lr_acquisition_start_block Context Objects =============== lucy_context/*.xml maybe all, at least lucy_leisa - Change URLs from http:// to https:// lucy_context/asteroid.617_patroclus_1.1.xml - The version in the filename mismatches. File should be named asteroid.617_patroclus_1.2.xml lucy_context/lucy__1.0.xml - Suggestion: in the filename, replace '_' with '.'. On the EN web page, those filenames will have '.' - In each file in 4 spots, replace "ctli/v1" wit "ctli/v2", i.e. should be lucy_context/lucy_rss_1.0.xml - The URL at the end of xsi:schemaLocation is ..._20000.xsd not _2000.xsd: lucy_context/mission.lucy_1.0.xml - Typo: urn:nasa:pds:context:target:asteroid.21800_orus should be (21800 should be 21900) urn:nasa:pds:context:target:asteroid.21900_orus