-------------------------------------------------------- -------------------------------------------------------- NPB Release Procedure -------------------------------------------------------- -------------------------------------------------------- NPB Setup - Using InSight as an example - Releases 2+ Linux/Mac - using c-shell terminal/command line Windows - using Windows Subsystem for Linux (WSL) with c-shell -------------------------------------------------------- directories - insight/ - has the latest bundle instance ex. If this is release 5 it should have the complete bundle as of release 4 staging/ - empty kernels/ - has all of the new kernels in kernel type subdirectories working/ - has all of the NPB artifacts from the previous releases working/document/ - has readme.txt and archive description file(s) -------------------------------------------------------- Clear out staging if not already done -------------------------------------------------------- * Make a new release plan - Note - Order does not matter List the kernels for this release including the next MK -> however NPB will make the MK for you ex. insight_release_02.plan - file_new.tsc file_new_monthly_1.bc file_new_monthly_2.bc file_new_monthly_3.bc file_new_monthly_1.bsp file_new_monthly_2.bsp file_new_monthly_3.bsp insight_v02.tm -------------------------------------------------------- * Create a new version of the Archive description file (spiceds) html file - Only if needed Example of why a new version might be needed - - New types of files - Ex. Adding DSKs when there previously weren't any - Ex. Adding new SPKs with a new naming scheme - Etc.. - New Errata items - Missing files - Missing data - loss of coverage due to safe mode - Etc.. Starting with your previous archive description file as the base ex. % cp spiceds_v001.html spiceds_v002.html % vi spiceds_v002.html This file should be in your working/document/ directory -------------------------------------------------------- * Create a new version of the NPB configuration file - Starting with your previous release configuration file- ex. % cp insight_release_01.xml insight_release_02.xml edit insight_release_02.xml as needed Note - If you made a new version of the archive description file, this will need to listed in the 'Bundle Parameters' section Ex. /path/to/spiceds_v002.html If you did not need to make a new version, this can be removed from 'Bundle Parameters' Adjust any paths and kernel patterns as needed! If adding new kernel patterns - - Add them to 'Kernel List' with a description - Add to 'Meta-Kernel' -------------------------------------------------------- Running NPB for Releases 2+ -------------------------------------------------------- In your top level directory that contains the working/ staging/ etc... set your release variable - ex. % set REL = 02 % echo $REL -------------------------------------------------------- Source your NPB virtual environment ex. % source ~/virtenvs/npb/bin/activate.csh % source /mnt/c/Users/abailey/virtenvs/npb/bin/activate.csh -------------------------------------------------------- * Run a test/staging run to catch any issues initially - NOTE - We will add '-d files' to compare the previous release files to this release more easily. '-p' plan file '-l' output a log file '-v' verbose - prints full log during execution '-d files' generates diff reports for files compared to prev release '-f staging' ends pipeline at staging % naif-pds4-bundler working/insight_release_"$REL".xml -p working/insight_release_"$REL".plan -l -v -d files -f staging -> Check the log for any errors and read through all warnings! less working/insight_release_"$REL".log grep -E 'WARNING' working/insight_release_$REL.log grep -E 'ERROR' working/insight_release_$REL.log -> Check the diff files - these will compare this release to the previous release It is recommended to use a web browser to look at the diff files working/diff_*.html Ex. firefox `find working/ -name 'diff_*.html' -mtime -1 -print | sort` OR open working/diff_* -> Clear the staging run files '-c file.file_list' clears files from staging and bundle as generated by the file_list % naif-pds4-bundler working/insight_release_"$REL".xml -c working/insight_release_"$REL".file_list -l -v Check to be sure this cleared out the directories in staging -> Clean up working - Make sure to keep the all release 1 files, and the current release plan and config files!! Ex. if this was for release 2 remove the release 2 files and diff files NPB made insight_release_02.checksum insight_release_02.file_list insight_release_02.kernel_list insight_release_02.log insight_release_02.validate_config diff_* Ex. % rm diff* insight_release_02.checksum insight_release_02.file_list insight_release_02.kernel_list insight_release_02.log insight_release_02.validate_config -------------------------------------------------------- * Run NPB for REAL! - This will update the archive bundle adding to the previous releases in the insight/ directory! % naif-pds4-bundler working/insight_release_"$REL".xml -p working/insight_release_"$REL".plan -l -v -d files -> Inspect the NPB execution check the errors and warnings less working/insight_release_"$REL".log grep -E 'WARNING' working/insight_release_$REL.log grep -E 'ERROR' working/insight_release_$REL.log It is recommended to use a web browser to look at the diff files working/diff_*.html Ex. firefox `find working/ -name 'diff_*.html' -mtime -1 -print | sort` OR open working/diff_* You can delete diff files after that rm working/diff_*.html staging/ will only contain new files for this release insight/ with have all previous releases and this release - full archive -------------------------------------------------------- Run the PDS4 Validate Tool! -------------------------------------------------------- Run validate on the complete bundle in the insight/ directory! % validate insight/insight_spice -c working/insight_release_$REL.validate_config -R pds4.bundle -r working/validate_"$REL"_report_`date +'%Y-%m-%d'`.txt View the report and address any errors! * The report must show all products 'passed' -------------------------------------------------------- Run SPICE Checks! -------------------------------------------------------- Validate the bundle with SPICE checks! * Examples of how you can validate using the MK % set MK = insight_v02.tm Shows SPK Coverage for all files ( -a) , center of motion (-c), in UTC (-utc) , tabular format (-t) % brief -a -t -c -utc $MK Shows SPK coverage for insight Spacecraft % brief $MK -a -t -utc --155 Displays all CK frames (-a) with frame names (-n) in tabular format (-t) in UTC (-utc) relative to other frames (-rel) % ckbrief -a -t -rel -n -utc $MK Checks for gaps in CK coverage % frmdiff -k $MK -t dumpg -f1 J2000 -t1 insight_SPACECRAFT -f YYYY-MM-DDTHR:MN:SC ::RND -------------------------------------------------------- END.