
ckbrief ROS_HGA_2014_V0044.BC ROS_HGA_2015_V0038.BC ROS_SA_2014_V0047.BC ROS_SA_2015_V0037.BC ../sclk/ROS_151028_STEP.TSC ../lsk/NAIF0011.TLS -t -utc 

ckbrief RATT_DV_145_01_01____00216.BC RATT_DV_146_01_01____00217.BC ../SCLK/ROS_150908_STEP.TSC ../LSK/NAIF0011.TLS -utc -t 

frmdiff -k ../SCLK/ROS_150908_STEP.TSC ../LSK/NAIF0011.TLS ../FK/ROS_V24.TF -n 1000000 RATT_DV_145_01_01____00216.BC RATT_DV_146_01_01____00217.BC


#
# Get DSK name/ID table and POOL keywords.
#

foreach FF ( /our/misc/nbachman/ROSETTA/*BDS )
set ID = `dskbrief $FF | grep 'Surface ID code:' | awk '{print $4}'`
set BODY = `dskbrief $FF | grep 'Center ID code:' | awk '{print $4}'`
set NAME = $FF:t:r
echo $NAME $ID $BODY | awk '{printf "      %-27s  %5s  %7s\n", $1, $2, $3}'
end

foreach FF ( /our/misc/nbachman/ROSETTA/*BDS )
set ID = `dskbrief $FF | grep 'Surface ID code:' | awk '{print $4}'`
set BODY = `dskbrief $FF | grep 'Center ID code:' | awk '{print $4}'`
set NAME = $FF:t:r
echo "      NAIF_SURFACE_NAME += '"$NAME"'"
echo "      NAIF_SURFACE_CODE += "$ID
echo "      NAIF_SURFACE_BODY += "$BODY
echo 
end

#
# Get file names of CG DSKs -- old naming.
#
foreach FF ( /usr1/rosetta/shape/20151119/triplate/*/*/*wrl )
set DSKNAME = `echo $FF | sed 's/_/ /g' | sed 's/mspcd/LAM/g' | sed 's/spc/LAMPS/g' | awk '{print "ROS_OSIRIS_CG_"$(NF-3)"_"$(NF-1)"_V1.BDS"}' | tr a-z A-Z`
echo "      "$FF:t" --> "$DSKNAME
end

#
# Updated DSK names based on updated schema -- new naming.
#
ls -1 /our/misc/nbachman/ROSETTA > ~/2.txt 

cat ~/2.txt | sed 's/_/ /g' | sed 's/ESA/NSPCESA/' | sed 's/LAMPS/OSPCLPS/g' | sed 's/LAM/OMSDLAM/g' | sed 's/LUTETIA/LU OSPCLAM/' | sed 's/STEINS/ST OSPCLAM/' | awk '{print "ROS_"$3"_"substr($5,4,1)substr($5,1,3)"_"$4"_N_V1.BDS"}' > ~/1.txt

paste -d ' ' ~/2.txt ~/1.txt | awk '{print $1" "$2" "$2}' | sed 's/_N_/_U_/' | awk '{printf "   %-31s -> %s\n   %-31s -> %s\n\n", $1, $2, $1, $3}'

foreach FF ( `cat ~/3.txt | awk '{print $1}'` )
set NEW = `grep $FF ~/3.txt | awk '{print $2}'`
set ID = `dskbrief /our/misc/nbachman/ROSETTA/$FF | grep 'Surface ID code:' | awk '{print $4}'`
set BODY = `dskbrief /our/misc/nbachman/ROSETTA/$FF | grep 'Center ID code:' | awk '{print $4}'`
set NAME = $NEW:t:r
echo $NAME $ID $BODY | awk '{printf "      %-27s  %5s  %7s\n", $1, $2, $3}'
end

foreach FF ( `cat ~/3.txt | awk '{print $1}'` )
set NEW = `grep $FF ~/3.txt | awk '{print $2}'`
set ID = `dskbrief /our/misc/nbachman/ROSETTA/$FF | grep 'Surface ID code:' | awk '{print $4}'`
set BODY = `dskbrief /our/misc/nbachman/ROSETTA/$FF | grep 'Center ID code:' | awk '{print $4}'`
set NAME = $NEW:t:r
echo "      NAIF_SURFACE_NAME += '"$NAME"'"
echo "      NAIF_SURFACE_CODE += "$ID
echo "      NAIF_SURFACE_BODY += "$BODY
echo 
end

foreach FF ( `cat ~/1.txt` )
echo --------------------------------------------------------------- $FF
grep $FF:r ~/rosetta/data/fk/ROS_V25_draft4.TF
end 

#
#
#
set PDSDIR  = /ftp/pub/naif/pds/data/ros-e_m_a_c-spice-6-v1.0/rossp_1000
set NEWDIR  = /usr1/rosetta/RO_RL-E_M_A_C-SPICE-6-V1.0
set OPSDIR  = /ftp/pub/naif/ROSETTA/kernels
set MAUDDIR = /usr1/rosetta/ROS-E-M-A-C-SPICE-6-V2.0_20151102

#
# Check PDS vs OPS comments.
#
set PDSOPSDIFF = /home/bsemenov/rosetta/pds/20151105/log_pds_vs_ops.txt
\rm $PDSOPSDIFF
foreach FF ( `find $PDSDIR/DATA -type f -print | sort | grep -v LBL` )
echo --------- >> $PDSOPSDIFF
set OPSFILE = `find $OPSDIR -name $FF:t -print`
if ( "$OPSFILE" != "" ) then
   dir $FF >> $PDSOPSDIFF
   dir $OPSFILE >> $PDSOPSDIFF
   echo --- >> $PDSOPSDIFF
   if ( `echo $FF:e | grep -c '^B'` ) then
      commnt -r $FF > ~/1.txt 
      commnt -r $OPSFILE > ~/2.txt 
      diff ~/1.txt ~/2.txt >> $PDSOPSDIFF
   else 
      diff $FF $OPSFILE >> $PDSOPSDIFF
   endif
else 
   dir $FF >> $PDSOPSDIFF
   echo CANNOT FIND $FF:h:t/$FF:t >> $PDSOPSDIFF
endif
end

#
# Copy ops files matching existing PDS file and old PDS labels.
#
foreach FF ( `find $PDSDIR/DATA -type f -print | sort | grep -v LBL` )
set OPSFILE = `find $OPSDIR -name $FF:t -print`
if ( "$OPSFILE" != "" ) then
   cp $OPSFILE $NEWDIR/DATA/$FF:h:t/$FF:t
else
   if ( "$FF:t" == "DE403_MASSES.TPC" ) then
      cp $OPSDIR/pck/DE403-MASSES.TPC $NEWDIR/DATA/$FF:h:t/$FF:t
   endif
   if ( "$FF:t" == "TEMPEL1_9P_DI_P.BSP" ) then
      cp $OPSDIR/spk/TEMPEL1-9P-DI-P.BSP $NEWDIR/DATA/$FF:h:t/$FF:t
   endif
endif
cp $FF:r.LBL $NEWDIR/DATA/$FF:h:t/$FF:t:r.LBL
echo --
dir $NEWDIR/DATA/$FF:h:t/$FF:t $NEWDIR/DATA/$FF:h:t/$FF:t:r.LBL
end

#
# Fix OPS kernels by hand based on log_pds_vs_ops_notes.txt
#

#
# Copy new kernels to staging area.
#
foreach FF ( \
      CK/RATT_DV_145_01_01____00216.BC \
      CK/CATT_DV_145_01_______00216.BC \
      CK/ROS_HGA_2014_V0044.BC \
      CK/ROS_HGA_2015_V0038.BC \
      CK/ROS_SA_2014_V0047.BC \
      CK/ROS_SA_2015_V0037.BC \
      CK/ROS_LBOOM_V0.BC \
      CK/ROS_VIRTIS_ZERO_V1.BC \
      CK/ROS_VIRTIS_M_0403_1509_V1.BC \
      FK/ROS_V25.TF \
      FK/ROS_LUTETIA_RSOC_V03.TF \
      FK/ESTRACK_V01.TF \
      IK/ROS_ALICE_V16.TI \
      IK/ROS_CIVA_V10.TI \
      IK/ROS_DIM_V10.TI \
      IK/ROS_NAVCAM_V01.TI \
      IK/ROS_OSIRIS_V12.TI \
      IK/ROS_ROLIS_V03.TI \
      IK/ROS_STR_V10.TI \
      IK/ROS_VIRTIS_V13.TI \
      LSK/NAIF0011.TLS \
      PCK/ROS_CG_ROT_1408_1409_V10.TPC \
      PCK/ROS_CG_RAD_V10.TPC \
      PCK/ROS_STEINS_V05.TPC \
      PCK/EARTH_000101_160131_151109.BPC \
      SCLK/ROS_150908_STEP.TSC \
      SPK/CORB_DV_145_01_______00216.BSP \
      SPK/RORB_DV_145_01_______00216.BSP \
      SPK/LORB_DV_145_01_______00216.BSP \
      SPK/ESTRACK_V01.BSP \
      SPK/ROS_STRUCT_V5.BSP \
)
set OPSFILE = `find $OPSDIR/.. -name $FF:t -print`
cp $OPSFILE $NEWDIR/DATA/$FF:h:t/$FF:t
end

#
# Copy labels from Maud's package.
#
set MAUDSLBLLOG = /home/bsemenov/rosetta/pds/20151105/log_copy_mauds_lbl.txt
\rm $MAUDSLBLLOG
foreach FF ( \
      CK/RATT_DV_145_01_01____00216.BC \
      CK/CATT_DV_145_01_______00216.BC \
      CK/ROS_HGA_2014_V0044.BC \
      CK/ROS_HGA_2015_V0038.BC \
      CK/ROS_SA_2014_V0047.BC \
      CK/ROS_SA_2015_V0037.BC \
      CK/ROS_LBOOM_V0.BC \
      CK/ROS_VIRTIS_ZERO_V1.BC \
      CK/ROS_VIRTIS_M_0403_1509_V1.BC \
      FK/ROS_V25.TF \
      FK/ROS_LUTETIA_RSOC_V03.TF \
      FK/ESTRACK_V01.TF \
      IK/ROS_ALICE_V16.TI \
      IK/ROS_CIVA_V10.TI \
      IK/ROS_DIM_V10.TI \
      IK/ROS_NAVCAM_V01.TI \
      IK/ROS_OSIRIS_V12.TI \
      IK/ROS_ROLIS_V03.TI \
      IK/ROS_STR_V10.TI \
      IK/ROS_VIRTIS_V13.TI \
      LSK/NAIF0011.TLS \
      PCK/ROS_CG_ROT_1408_1409_V10.TPC \
      PCK/ROS_CG_RAD_V10.TPC \
      PCK/ROS_STEINS_V05.TPC \
      PCK/EARTH_000101_160131_151109.BPC \
      SCLK/ROS_150908_STEP.TSC \
      SPK/CORB_DV_145_01_______00216.BSP \
      SPK/RORB_DV_145_01_______00216.BSP \
      SPK/LORB_DV_145_01_______00216.BSP \
      SPK/ESTRACK_V01.BSP \
      SPK/ROS_STRUCT_V5.BSP \
)
set LBLFILE = `find $MAUDDIR -name $FF:t:r.LBL -print | grep /$FF:h/`
if ( "$LBLFILE" != "" ) then
   cp $LBLFILE $NEWDIR/DATA/$FF:h:t/$FF:t:r.LBL
   echo DATA/$FF:h:t/$FF:t:r.LBL >> $MAUDSLBLLOG
else 
   echo No label for DATA/$FF
endif
end

#
# Remove CRs and trim spaces from all labels.
#
badchar `find $NEWDIR/ -name '*.LBL' -print | sort`

foreach FF ( `find $NEWDIR/ -name '*.LBL' -print | sort` )
remove_crs $FF
remove_spaces $FF
end

badchar `find $NEWDIR/ -name '*.LBL' -print | sort`

#
# Fix some of Maud's labels. Kill saved files if everything is OK.
#
./fix_mauds_labels.csh 

./fix_label_times.csh

./fix_label_times_2.csh

rm `find DATA -name '*save' -print`

#
# Generate labels a hand-full of kernels for which neither old
# data set nor Maud had labels. Check them against source labels.
#
./make_new_file_labels.csh

tkdiff DATA/CK/ROS_HGA_2010_V0046.LBL DATA/CK/ROS_VIRTIS_ZERO_V1.LBL  
tkdiff DATA/CK/ROS_HGA_2010_V0046.LBL DATA/CK/ROS_VIRTIS_M_0403_1509_V1.LBL  
tkdiff DATA/FK/ROS_V17.LBL DATA/FK/ROS_V25.LBL  
tkdiff DATA/PCK/ROS_CGS_RSOC_V01.LBL  DATA/PCK/ROS_CG_ROT_1408_1409_V10.LBL   
tkdiff DATA/PCK/ROS_CGS_RSOC_V01.LBL  DATA/PCK/ROS_CG_RAD_V10.LBL   
tkdiff DATA/PCK/EARTH_000101_120117_111026.LBL  DATA/PCK/EARTH_000101_160131_151109.LBL

./make_new_file_labels_2.csh

tkdiff DATA/IK/ROS_NAVCAM_V01.LBL DATA/IK/ROS_STR_V10.LBL

#
# Fix SPACECRAFT_NAME and DATA_SET_ID. Get rid of DATA_SET_NAME.
# 
./fix_spacecraft_name.csh

#
# Fix MISSION_PHASE_NAME.
# 
foreach FF ( DATA/*/*LBL )
/home/bsemenov/rosetta/pds/20151105/fix_mission_phase.pl $FF $FF.new
tkdiff $FF $FF.new
end

#
# Fix label quotes.
# 
./fix_label_quotes.csh


#
# Convert all binary file to LTL-IEEE
#
bff $NEWDIR/DATA/*/*.* | grep -v '^N/A'
bff $NEWDIR/DATA/*/*.* | grep -v '^N/A' | grep BIG-IEEE

foreach FF ( `bff $NEWDIR/DATA/*/*.* | grep 'BIG-IEEE' | awk '{print $NF}'` )
bingo $FF $FF.1
mv $FF.1 $FF
end

bff $NEWDIR/DATA/*/*.* | grep -v '^N/A'
bff $NEWDIR/DATA/*/*.* | grep -v '^N/A' | grep BIG-IEEE

#
# Make MK list.
#
ls -1 ../../DATA/*/*.* | grep -v LBL | sed 's|../../DATA|                          '"'"'$KERNELS|g' | sed 's/$/'"'"'/g'

#
# Do competing SPK and CK checks.
#

spkdiff -t dumpvf -f YYYY-MM-DDTHR:MN:SC -n 10000 -k ../../DATA/LSK/NAIF0011.TLS -k2 ../../DATA/SPK/DE405.BSP ../../DATA/SPK/ORHR_______________00122.BSP ../../DATA/SPK/ORGR_______________00096.BSP > ~/1.txt

spkdiff -t dumpvf -f YYYY-MM-DDTHR:MN:SC -n 10000 -k ../../DATA/LSK/NAIF0011.TLS -k2 ../../DATA/SPK/DE405.BSP ../../DATA/SPK/ORHR_______________00122.BSP ../../DATA/SPK/ORMR_______________00052.BSP > ~/1.txt

spkdiff -t dumpvf -f YYYY-MM-DDTHR:MN:SC -n 10000 -k ../../DATA/LSK/NAIF0011.TLS -k2 ../../DATA/SPK/DE405.BSP ../../DATA/SPK/21_LUTETIA_2004_2016.BSP ../../DATA/SPK/ORHS_______________00109.BSP > ~/1.txt

spkdiff -t dumpvf -f YYYY-MM-DDTHR:MN:SC -n 10000 -k ../../DATA/LSK/NAIF0011.TLS -k2 ../../DATA/SPK/DE405.BSP ../../DATA/SPK/2867_STEINS_2004_2016.BSP ../../DATA/SPK/ORHO_______________00077.BSP > ~/1.txt

spkdiff -t dumpvf -f YYYY-MM-DDTHR:MN:SC -n 10000 -k ../../DATA/LSK/NAIF0011.TLS -k2 ../../DATA/SPK/DE405.BSP ../../DATA/SPK/ORHW_______________00016.BSP ../../DATA/SPK/ORHW_______________00122.BSP > ~/1.txt

spkdiff -t dumpvf -f YYYY-MM-DDTHR:MN:SC -n 10000 -k ../../DATA/LSK/NAIF0011.TLS -k2 ../../DATA/SPK/DE405.BSP ../../DATA/SPK/ORHW_______________00122.BSP ../../DATA/SPK/CORB_DV_145_01_______00216.BSP | more > ~/1.txt

frmdiff -t dumpea -n 100000 -f YYYY-MM-DDTHR:MN:SC -x degrees -k ../../DATA/FK/ROS_V25.TF ../../DATA/LSK/NAIF0011.TLS ../../DATA/SCLK/ROS_150908_STEP.TSC ../../DATA/CK/ATNR_P040302093352_00046.BC ../../DATA/CK/ATNR_P040302093352_00127.BC > ~/1.txt

frmdiff -t dumpea -n 100000 -f YYYY-MM-DDTHR:MN:SC -x degrees -k ../../DATA/FK/ROS_V25.TF ../../DATA/LSK/NAIF0011.TLS ../../DATA/SCLK/ROS_150908_STEP.TSC ../../DATA/CK/ATNR_P040302093352_00096.BC ../../DATA/CK/ATNR_P040302093352_00127.BC > ~/1.txt

frmdiff -t dumpea -n 100000 -f YYYY-MM-DDTHR:MN:SC -x degrees -k ../../DATA/FK/ROS_V25.TF ../../DATA/LSK/NAIF0011.TLS ../../DATA/SCLK/ROS_150908_STEP.TSC ../../DATA/CK/ATNR_P040302093352_00109.BC ../../DATA/CK/ATNR_P040302093352_00127.

#
# Do MK checks.
#
brief EXTRAS/MK/ROS_V01.TM -a -t -c -utc
brief EXTRAS/MK/ROS_V02.TM -a -t -c -utc
brief EXTRAS/MK/ROS_V03.TM -a -t -c -utc
brief EXTRAS/MK/ROS_V04.TM -a -t -c -utc

ckbrief EXTRAS/MK/ROS_V01.TM -a -t -rel -n -utc
ckbrief EXTRAS/MK/ROS_V02.TM -a -t -rel -n -utc
ckbrief EXTRAS/MK/ROS_V03.TM -a -t -rel -n -utc
ckbrief EXTRAS/MK/ROS_V04.TM -a -t -rel -n -utc


#
# Deal with documents.
#

cp $PDSDIR/DOCUMENT/*TXT .

foreach FF ( *.TXT )
cp $PDSDIR/DOCUMENT/$FF:r.LBL .
end

foreach FF ( *.* )
remove_crs $FF
remove_spaces $FF
end

foreach FF ( *.LBL )
cat $FF | \
    sed 's|ROS-E/M/A/C-SPICE-6-V1.0|RO/RL-E/M/A/C-SPICE-6-V1.0|g' | \
    sed 's/^PRODUCT_CREATION_TIME        =.*$/PRODUCT_CREATION_TIME        = 2015-12-02/g' | \
    sed 's/^  PUBLICATION_DATE           =.*$/  PUBLICATION_DATE           = 2015-12-02/g' \
    > $FF.1
    echo $FF
    diff $FF.1 $FF
    mv $FF.1 $FF
end

#
# Check that all kernels are listed in the correposnding INFO.TXTs
#
foreach FF ( `ls -1 DATA/*/*.* | grep -v LBL` )
   echo ------------------------------------------------- $FF
   grep $FF:t DOCUMENT/$FF:h:t"INFO.TXT"
end

#
# Deal with CATALOGs.
#
cd $NEWDIR/CATALOG
cp $PDSDIR/CATALOG/* .
$MAUDDIR/CATALOG/INSTHOST.CAT .
$MAUDDIR/CATALOG/MISSION.CAT .
$MAUDDIR/CATALOG/REF.CAT .

foreach FF ( *.* )
remove_crs $FF
remove_spaces $FF
end

#
# Deal with root directory stuff.
#
cd $NEWDIR
cp $PDSDIR/AAREADME.TXT .
cp $PDSDIR/ERRATA.TXT .
cp $PDSDIR/VOLDESC.CAT .

foreach FF ( AAREADME.TXT ERRATA.TXT VOLDESC.CAT )
remove_crs $FF
remove_spaces $FF
end

#
# Make INDEX.
#
./make_index.csh


#
# Check for bad characters.
#
 badchar `find . -name '*.LBL' -print | sort` `find . -name '*.CAT' -print | sort` `find . -name '*.TXT' -print | sort` `find . -name '*.TAB' -print | sort` | egrep -v ' 0$|^ *$'

#
# Add CRs to all needed files.
#
foreach FF ( \
             `find . -name '*.LBL' -print | sort` \
             `find . -name '*.CAT' -print | sort` \
             `find . -name '*.TXT' -print | sort` \
             `find . -name '*.TAB' -print | sort` \
           )

   remove_crs    $FF
   remove_spaces $FF   
   add_crs       $FF
   echo ---- $FF

end

#
# Check for long lines.
#
foreach FF ( `find . -name '*.LBL' -print` `find . -name '*.TXT' -print` `find . -name '*.CAT' -print` `find . -name '*.TAB' -print` )
  echo $FF -----------------------------------------------------------
  awk '{if ( length+1 > 80 ){printf "   Line %d is too long (%d chars).\n", FNR, length+1}}' $FF
end

#
# Run PDS vtool
#
source ~/pds/misc/en_tools/set_environment.csh

set DATASETDIR = /usr1/rosetta/RO_RL-E_M_A_C-SPICE-6-V1.0

vtool -t $DATASETDIR -I $DATASETDIR/CATALOG -X "*.BC","*.BDS","*.BDB","*.BEP","*.BPE","*.BES","*.BPC","*.BSP","*.TEN","*.TF","*.TI","*.TLS","*.TPC","*.TSC","*.NRB","*.ORB","*.TM","*.PDF","*.ZIP","*.DOC","*.HTM" -s full -r /home/bsemenov/rosetta/pds/20151105/vtool_full_report_`date +"%Y%m%d%H%M%S"`.txt 
