From b8c286170ca7f378513c175213caa4fecd673f75 Mon Sep 17 00:00:00 2001 From: Robert French Date: Wed, 9 Sep 2026 11:34:07 -0700 Subject: [PATCH] Move the rings dictionary to version F (1.15.0.0) The bundle referenced RINGS 1.14.0.0 (PDS4_RINGS_1O00_1E00). Version F is published and is now used throughout: the two schema URLs in the generator, the local copy under data_dictionaries/, and the LIDVID in collection_xml_schema.csv, taken from the new dictionary label as rings-xml_schema_1.24.0.0_1.15.0::1.0. The upgrade is not a drop-in. Diffing the two schemas, the only substantive change is that Reprojection_Grid_Parameters reorders its members: 1.15 puts mean_radial_resolution and mean_longitudinal_resolution *before* their minimum and maximum siblings, where 1.14 put them after. Our labels emitted the 1.14 order, so data_reproj_img.lblx and data_mosaic.lblx now emit mean first. Checked both directions rather than assuming. Regenerating IOSIC_276RB_COMPLITB3001_SI gives 19 labels, all valid against 1.15 and the other four dictionaries; feeding the same label back in the old order is rejected with "mean_radial_resolution: This element is not expected", so the reorder was required and not cosmetic. The user guide quotes that block verbatim in section 4.2, so its excerpt is reordered to match and the PDF in templates/ is rebuilt. Section 7 already listed the fields mean, minimum, maximum, so it needed no change. The guide builds clean at 45 pages with no overfull boxes. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_013h7F5N8axKM4bV5eNpPVvV --- ...1O00_1E00.xsd => PDS4_RINGS_1O00_1F00.xsd} | 10 +++++----- pds4_bundle_gen/generate_pds4_files.py | 4 ++-- .../templates/collection_xml_schema.csv | 2 +- pds4_bundle_gen/templates/data_mosaic.lblx | 4 ++-- .../templates/data_reproj_img.lblx | 4 ++-- .../templates/f-ring-mosaics-user-guide.pdf | Bin 1894456 -> 1894457 bytes ...e-organization-and-directory-structure.tex | 4 ++-- 7 files changed, 14 insertions(+), 14 deletions(-) rename pds4_bundle_gen/data_dictionaries/{PDS4_RINGS_1O00_1E00.xsd => PDS4_RINGS_1O00_1F00.xsd} (99%) diff --git a/pds4_bundle_gen/data_dictionaries/PDS4_RINGS_1O00_1E00.xsd b/pds4_bundle_gen/data_dictionaries/PDS4_RINGS_1O00_1F00.xsd similarity index 99% rename from pds4_bundle_gen/data_dictionaries/PDS4_RINGS_1O00_1E00.xsd rename to pds4_bundle_gen/data_dictionaries/PDS4_RINGS_1O00_1F00.xsd index c8f31f3..1489adf 100644 --- a/pds4_bundle_gen/data_dictionaries/PDS4_RINGS_1O00_1E00.xsd +++ b/pds4_bundle_gen/data_dictionaries/PDS4_RINGS_1O00_1F00.xsd @@ -1,5 +1,5 @@ - + @@ -7,7 +7,7 @@ - + + version="1.15.0.0"> @@ -429,13 +429,13 @@ + - + - diff --git a/pds4_bundle_gen/generate_pds4_files.py b/pds4_bundle_gen/generate_pds4_files.py index 458841d..6405d43 100644 --- a/pds4_bundle_gen/generate_pds4_files.py +++ b/pds4_bundle_gen/generate_pds4_files.py @@ -3958,8 +3958,8 @@ def generate_miscellaneous_support_files(): 'INFORMATION_MODEL_VERSION': '1.24.0.0', 'PDS4_PDS_SCHEMA_XSD': 'https://pds.nasa.gov/pds4/pds/v1/PDS4_PDS_1O00.xsd', 'PDS4_PDS_SCHEMA': 'https://pds.nasa.gov/pds4/pds/v1/PDS4_PDS_1O00.sch', - 'PDS4_RINGS_SCHEMA_XSD': 'https://pds.nasa.gov/pds4/rings/v1/PDS4_RINGS_1O00_1E00.xsd', - 'PDS4_RINGS_SCHEMA': 'https://pds.nasa.gov/pds4/rings/v1/PDS4_RINGS_1O00_1E00.sch', + 'PDS4_RINGS_SCHEMA_XSD': 'https://pds.nasa.gov/pds4/rings/v1/PDS4_RINGS_1O00_1F00.xsd', + 'PDS4_RINGS_SCHEMA': 'https://pds.nasa.gov/pds4/rings/v1/PDS4_RINGS_1O00_1F00.sch', 'PDS4_DISP_SCHEMA_XSD': 'https://pds.nasa.gov/pds4/disp/v1/PDS4_DISP_1O00_1510.xsd', 'PDS4_DISP_SCHEMA': 'https://pds.nasa.gov/pds4/disp/v1/PDS4_DISP_1O00_1510.sch', 'PDS4_CASSINI_SCHEMA_XSD': 'https://pds.nasa.gov/pds4/mission/cassini/v1/PDS4_CASSINI_1O00_1800.xsd', diff --git a/pds4_bundle_gen/templates/collection_xml_schema.csv b/pds4_bundle_gen/templates/collection_xml_schema.csv index faa691b..a5d1f2e 100644 --- a/pds4_bundle_gen/templates/collection_xml_schema.csv +++ b/pds4_bundle_gen/templates/collection_xml_schema.csv @@ -1,5 +1,5 @@ S,urn:nasa:pds:system_bundle:xml_schema:pds-xml_schema_1.24.0.0::1.0 S,urn:nasa:pds:system_bundle:xml_schema:disp-xml_schema_1.24.0.0_1.5.1.0::1.0 S,urn:nasa:pds:system_bundle:xml_schema:geom-xml_schema_1.24.0.0_1.9.11.0::1.0 -S,urn:nasa:pds:system_bundle:xml_schema:rings-xml_schema_1.24.0.0_1.14.0::1.0 +S,urn:nasa:pds:system_bundle:xml_schema:rings-xml_schema_1.24.0.0_1.15.0::1.0 S,urn:nasa:pds:system_bundle:xml_schema:cassini-xml_schema_1.24.0.0_1.8.0.0::1.0 diff --git a/pds4_bundle_gen/templates/data_mosaic.lblx b/pds4_bundle_gen/templates/data_mosaic.lblx index 7a90240..7961b01 100644 --- a/pds4_bundle_gen/templates/data_mosaic.lblx +++ b/pds4_bundle_gen/templates/data_mosaic.lblx @@ -163,12 +163,12 @@ reproj_grid 5.0 0.02 + $MEAN_REPROJ_GRID_RAD_RES$ $MIN_REPROJ_GRID_RAD_RES$ $MAX_REPROJ_GRID_RAD_RES$ - $MEAN_REPROJ_GRID_RAD_RES$ + $MEAN_REPROJ_GRID_ANG_RES$ $MIN_REPROJ_GRID_ANG_RES$ $MAX_REPROJ_GRID_ANG_RES$ - $MEAN_REPROJ_GRID_ANG_RES$ diff --git a/pds4_bundle_gen/templates/data_reproj_img.lblx b/pds4_bundle_gen/templates/data_reproj_img.lblx index e9eb5c4..f8d6faf 100644 --- a/pds4_bundle_gen/templates/data_reproj_img.lblx +++ b/pds4_bundle_gen/templates/data_reproj_img.lblx @@ -238,12 +238,12 @@ reproj_grid 5.0 0.02 + $MEAN_REPROJ_GRID_RAD_RES$ $MIN_REPROJ_GRID_RAD_RES$ $MAX_REPROJ_GRID_RAD_RES$ - $MEAN_REPROJ_GRID_RAD_RES$ + $MEAN_REPROJ_GRID_ANG_RES$ $MIN_REPROJ_GRID_ANG_RES$ $MAX_REPROJ_GRID_ANG_RES$ - $MEAN_REPROJ_GRID_ANG_RES$ diff --git a/pds4_bundle_gen/templates/f-ring-mosaics-user-guide.pdf b/pds4_bundle_gen/templates/f-ring-mosaics-user-guide.pdf index 92e04af4f506996a36c5acdb4a0a9d4d4fea57fe..1377233545bf7353409705ad1f3669142ddb1be0 100644 GIT binary patch delta 3984 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 YM=+>i6q!Tyi=Bs53e3;1ZK4DI9|03@i2wiq delta 3978 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 5.0 0.02 + 5.853 5.613 6.487 - 5.853 + 0.01007 0.00963 0.01046 - 0.01007 \end{CodeBlock}