Unverified Commit cfc1e183 authored by acpaquette's avatar acpaquette Committed by GitHub
Browse files

Updates All TgoCassis Module tests to use specific ck and spk kernels (#4901)

* Update all existing tests to use transfer kernels and updates module tests to use a suite level fixture

* Made suite fixture work as a normal fixture and a suite fixture

* Cleaned up tgoCassisModule fixture

* Removed unnecessary filesystem stuff

* Fixed tests naming and accidental test removal

* Addressed fixture names

* Updated spiceinit args in test

* Took out local path in test

* Made the tgo fixture not suite based
parent 18d380fb
Loading
Loading
Loading
Loading
+36 −20
Original line number Diff line number Diff line
@@ -1694,7 +1694,6 @@ namespace Isis {
    }
  }


  void NearMsiCameraCube::SetUp() {
    TempTestingFiles::SetUp();

@@ -1715,38 +1714,55 @@ namespace Isis {
    testCube.reset();
  }


  void tgoCassisKernels::SetUpTestSuite() {
  void TgoCassisModuleKernels::SetUp() {
    QVector<QString> ckKernels = {QString("data/tgoCassis/mapProjectedReingested/em16_tgo_cassis_tel_20160407_20221231_s20220316_v01_0_sliced_-143410.xc"),
                                  QString("data/tgoCassis/mapProjectedReingested/em16_tgo_cassis_tel_20160407_20221231_s20220316_v01_1_sliced_-143410.xc"),
                                  QString("data/tgoCassis/mapProjectedReingested/em16_tgo_sc_ssm_20180501_20180601_s20180321_v01_0_sliced_-143000.xc"),
                                  QString("data/tgoCassis/mapProjectedReingested/em16_tgo_sc_ssm_20180501_20180601_s20180321_v01_1_sliced_-143000.xc")};
                                  QString("data/tgoCassis/mapProjectedReingested/em16_tgo_sc_ssm_20180501_20180601_s20180321_v01_1_sliced_-143000.xc"),
                                  QString("data/tgoCassis/em16_tgo_cassis_tel_20160407_20221231_s20220402_v01_0_sliced_-143410.xc"),
                                  QString("data/tgoCassis/em16_tgo_cassis_tel_20160407_20221231_s20220402_v01_1_sliced_-143410.xc"),
                                  QString("data/tgoCassis/em16_tgo_sc_spm_20161101_20170301_s20191109_v01_0_sliced_-143000.xc"),
                                  QString("data/tgoCassis/em16_tgo_sc_spm_20161101_20170301_s20191109_v01_1_sliced_-143000.xc"),
                                  QString("data/tgoCassis/singleFrameletProj/em16_tgo_cassis_tel_20160407_20221231_s20220402_v01_0_sliced_-143410.xc"),
                                  QString("data/tgoCassis/singleFrameletProj/em16_tgo_cassis_tel_20160407_20221231_s20220402_v01_1_sliced_-143410.xc"),
                                  QString("data/tgoCassis/singleFrameletProj/em16_tgo_sc_spm_20161101_20170301_s20191109_v01_0_sliced_-143000.xc"),
                                  QString("data/tgoCassis/singleFrameletProj/em16_tgo_sc_spm_20161101_20170301_s20191109_v01_1_sliced_-143000.xc")};
    QVector<QString> tempCkKernels;
    QVector<QString> spkKernels = {QString("data/tgoCassis/mapProjectedReingested/CAS-M01-2018-05-05T23.11.48.767-RED-01029-B1_0.xsp"),
                                   QString("data/tgoCassis/mapProjectedReingested/CAS-M01-2018-05-05T23.11.48.767-RED-01029-B1_1.xsp")};
                                   QString("data/tgoCassis/mapProjectedReingested/CAS-M01-2018-05-05T23.11.48.767-RED-01029-B1_1.xsp"),
                                   QString("data/tgoCassis/CAS-MCO-2016-11-26T22.50.27.381_0.xsp"),
                                   QString("data/tgoCassis/CAS-MCO-2016-11-26T22.50.27.381_1.xsp"),
                                   QString("data/tgoCassis/singleFrameletProj/CAS-MCO-2016-11-26T22.58.02.583_0.xsp"),
                                   QString("data/tgoCassis/singleFrameletProj/CAS-MCO-2016-11-26T22.58.02.583_1.xsp")};
    QVector<QString> tempSpkKernels;

    for (int i = 0; i < ckKernels.size(); i++) {
      QString kernelFile = ckKernels[i];
      QString kernelExtension = kernelFile.split('.').last();
      QString targetFile = kernelPrefix.path() + "/" + QString::number(i) + '.' + kernelExtension;
      QFile::copy(kernelFile, targetFile);
      tempCkKernels.append(targetFile);
    }

    for (int i = 0; i < spkKernels.size(); i++) {
      QString kernelFile = spkKernels[i];
      QString kernelExtension = kernelFile.split('.').last();
      QString targetFile = kernelPrefix.path() + "/" + QString::number(i) + '.' + kernelExtension;
      QFile::copy(kernelFile, targetFile);
      tempSpkKernels.append(targetFile);
    }

    // variables defined in TgoCassisModuleTests
    if (binaryCkKernels.size() == 0) {
      binaryCkKernels = generateBinaryKernels(ckKernels);
      binarySpkKernels = generateBinaryKernels(spkKernels);
      binaryCkKernels = generateBinaryKernels(tempCkKernels);
      binarySpkKernels = generateBinaryKernels(tempSpkKernels);

      binaryCkKernelsAsString = fileListToString(binaryCkKernels);
      binarySpkKernelsAsString = fileListToString(binarySpkKernels);
    }
  }

  void tgoCassisKernels::TearDownTestSuite() {
    for (QString kernel : binaryCkKernels) {
      if( remove( kernel.toStdString().c_str() ) != 0 ) {
        perror( "Error deleting file" );
      }
    }

    for (QString kernel : binarySpkKernels) {
      if( remove( kernel.toStdString().c_str() ) != 0 ) {
        perror( "Error deleting file" );
      }
    }

  void TgoCassisModuleKernels::TearDown() {
    binaryCkKernels = {};
    binarySpkKernels = {};
    binaryCkKernelsAsString = "";
+13 −7
Original line number Diff line number Diff line
@@ -403,16 +403,22 @@ class NearMsiCameraCube : public TempTestingFiles {
    void TearDown() override;
};

class tgoCassisKernels : public ::testing::Test {
class TgoCassisModuleKernels : public ::testing::Test {

  protected:
    static void SetUpTestSuite();
    static void TearDownTestSuite();
    // You can define per-test set-up logic as usual.
    void SetUp() override;

    // You can define per-test tear-down logic as usual.
    void TearDown() override;

    QTemporaryDir kernelPrefix;

    static QVector<QString> binaryCkKernels;
    static QVector<QString> binarySpkKernels;
    QVector<QString> binaryCkKernels;
    QVector<QString> binarySpkKernels;

    static QString binaryCkKernelsAsString;
    static QString binarySpkKernelsAsString;
    QString binaryCkKernelsAsString;
    QString binarySpkKernelsAsString;
};

}
+1 −0
Original line number Diff line number Diff line
@@ -265,6 +265,7 @@ namespace Isis {
      if (file.extension().contains("x") && !binaryFile.fileExists()) {
        QString path = file.expanded();
        QString command = "tobin " + path;
        command += " >nul 2>nul";
        int status = system(command.toLatin1().data());

        if (status != 0) {
+44 −23
Original line number Diff line number Diff line
@@ -30,13 +30,8 @@ static QString MOSRANGE_XML = FileName("$ISISROOT/bin/xml/mosrange.xml").expande
static QString CAM2MAP_XML = FileName("$ISISROOT/bin/xml/cam2map.xml").expanded();
static QString CUBEIT_XML = FileName("$ISISROOT/bin/xml/cubeit.xml").expanded();

QVector<QString> tgoCassisKernels::binaryCkKernels = {};
QVector<QString> tgoCassisKernels::binarySpkKernels = {};

QString tgoCassisKernels::binaryCkKernelsAsString = "";
QString tgoCassisKernels::binarySpkKernelsAsString = "";

TEST(TgoCassisModuleTests, TgoCassisStitchUnstitch) {
TEST_F(TgoCassisModuleKernels, TgoCassisStitchUnstitch) {
  QTemporaryDir prefix;

  // run tgocassis2isis and spiceinit on pan framelet.
@@ -52,7 +47,9 @@ TEST(TgoCassisModuleTests, TgoCassisStitchUnstitch) {
    FAIL() << "Unable to run tgocassis2isis on pan image: " << e.what() << std::endl;
  }

  QVector<QString> spiceinitArgs = {"from=" + panFileName,  "ckp=t", "spkp=t"};
  QVector<QString> spiceinitArgs = {"from=" + panFileName,
                                    "ck=" + binaryCkKernelsAsString,
                                    "spk=" + binarySpkKernelsAsString};
  UserInterface spiceinitPan(SPICEINIT_XML, spiceinitArgs);
  try {
    spiceinit(spiceinitPan);
@@ -73,7 +70,9 @@ TEST(TgoCassisModuleTests, TgoCassisStitchUnstitch) {
    FAIL() << "Unable to run tgocassis2isis on pan image: " << e.what() << std::endl;
  }

  spiceinitArgs = {"from=" + redFileName,  "ckp=t", "spkp=t"};
  spiceinitArgs = {"from=" + redFileName,
                   "ck=" + binaryCkKernelsAsString,
                   "spk=" + binarySpkKernelsAsString};
  UserInterface spiceinitRed(SPICEINIT_XML, spiceinitArgs);
  try {
    spiceinit(spiceinitRed);
@@ -94,7 +93,9 @@ TEST(TgoCassisModuleTests, TgoCassisStitchUnstitch) {
    FAIL() << "Unable to run tgocassis2isis on blu image: " << e.what() << std::endl;
  }

  spiceinitArgs = {"from=" + bluFileName,  "ckp=t", "spkp=t"};
  spiceinitArgs = {"from=" + bluFileName,
                   "ck=" + binaryCkKernelsAsString,
                   "spk=" + binarySpkKernelsAsString};
  UserInterface spiceinitBlu(SPICEINIT_XML, spiceinitArgs);
  try {
    spiceinit(spiceinitBlu);
@@ -115,7 +116,9 @@ TEST(TgoCassisModuleTests, TgoCassisStitchUnstitch) {
    FAIL() << "Unable to run tgocassis2isis on nir image: " << e.what() << std::endl;
  }

  spiceinitArgs = {"from=" + nirFileName,  "ckp=t", "spkp=t"};
  spiceinitArgs = {"from=" + nirFileName,
                   "ck=" + binaryCkKernelsAsString,
                   "spk=" + binarySpkKernelsAsString};
  UserInterface spiceinitNir(SPICEINIT_XML, spiceinitArgs);
  try {
    spiceinit(spiceinitNir);
@@ -556,7 +559,7 @@ TEST(TgoCassisModuleTests, TgoCassisStitchUnstitch) {
}


TEST(TgoCassisModuleTests, TgoCassisSingleFrameletProjection) {
TEST_F(TgoCassisModuleKernels, TgoCassisSingleFrameletProjection) {
  QTemporaryDir prefix;

  // run tgocassis2isis and spiceinit on pan framelet.
@@ -572,7 +575,9 @@ TEST(TgoCassisModuleTests, TgoCassisSingleFrameletProjection) {
    FAIL() << "Unable to run tgocassis2isis on pan image: " << e.what() << std::endl;
  }

  QVector<QString> spiceinitArgs = {"from=" + panFileName,  "ckp=t", "spkp=t"};
  QVector<QString> spiceinitArgs = {"from=" + panFileName,
                                    "ck=" + binaryCkKernelsAsString,
                                    "spk=" + binarySpkKernelsAsString};
  UserInterface spiceinitPan(SPICEINIT_XML, spiceinitArgs);
  try {
    spiceinit(spiceinitPan);
@@ -593,7 +598,9 @@ TEST(TgoCassisModuleTests, TgoCassisSingleFrameletProjection) {
    FAIL() << "Unable to run tgocassis2isis on pan image: " << e.what() << std::endl;
  }

  spiceinitArgs = {"from=" + redFileName,  "ckp=t", "spkp=t"};
  spiceinitArgs = {"from=" + redFileName,
                   "ck=" + binaryCkKernelsAsString,
                   "spk=" + binarySpkKernelsAsString};
  UserInterface spiceinitRed(SPICEINIT_XML, spiceinitArgs);
  try {
    spiceinit(spiceinitRed);
@@ -614,7 +621,9 @@ TEST(TgoCassisModuleTests, TgoCassisSingleFrameletProjection) {
    FAIL() << "Unable to run tgocassis2isis on blu image: " << e.what() << std::endl;
  }

  spiceinitArgs = {"from=" + bluFileName,  "ckp=t", "spkp=t"};
  spiceinitArgs = {"from=" + bluFileName,
                   "ck=" + binaryCkKernelsAsString,
                   "spk=" + binarySpkKernelsAsString};
  UserInterface spiceinitBlu(SPICEINIT_XML, spiceinitArgs);
  try {
    spiceinit(spiceinitBlu);
@@ -635,7 +644,9 @@ TEST(TgoCassisModuleTests, TgoCassisSingleFrameletProjection) {
    FAIL() << "Unable to run tgocassis2isis on nir image: " << e.what() << std::endl;
  }

  spiceinitArgs = {"from=" + nirFileName,  "ckp=t", "spkp=t"};
  spiceinitArgs = {"from=" + nirFileName,
                   "ck=" + binaryCkKernelsAsString,
                   "spk=" + binarySpkKernelsAsString};
  UserInterface spiceinitNir(SPICEINIT_XML, spiceinitArgs);
  try {
    spiceinit(spiceinitNir);
@@ -1158,7 +1169,7 @@ TEST(TgoCassisModuleTests, TgoCassisIngestReingest) {
}


TEST(TgoCassisModuleTests, TgoCassisColorMosaic) {
TEST_F(TgoCassisModuleKernels, TgoCassisTestColorMosaic) {
  QTemporaryDir prefix;

  // run tgocassis2isis and spiceinit on pan framelet.
@@ -1174,7 +1185,9 @@ TEST(TgoCassisModuleTests, TgoCassisColorMosaic) {
    FAIL() << "Unable to run tgocassis2isis on pan image: " << e.what() << std::endl;
  }

  QVector<QString> spiceinitArgs = {"from=" + panFileName,  "ckp=t", "spkp=t"};
  QVector<QString> spiceinitArgs = {"from=" + panFileName,
                                    "ck=" + binaryCkKernelsAsString,
                                    "spk=" + binarySpkKernelsAsString};
  UserInterface spiceinitPan(SPICEINIT_XML, spiceinitArgs);
  try {
    spiceinit(spiceinitPan);
@@ -1195,7 +1208,9 @@ TEST(TgoCassisModuleTests, TgoCassisColorMosaic) {
    FAIL() << "Unable to run tgocassis2isis on pan image: " << e.what() << std::endl;
  }

  spiceinitArgs = {"from=" + redFileName,  "ckp=t", "spkp=t"};
  spiceinitArgs = {"from=" + redFileName,
                   "ck=" + binaryCkKernelsAsString,
                   "spk=" + binarySpkKernelsAsString};
  UserInterface spiceinitRed(SPICEINIT_XML, spiceinitArgs);
  try {
    spiceinit(spiceinitRed);
@@ -1216,7 +1231,9 @@ TEST(TgoCassisModuleTests, TgoCassisColorMosaic) {
    FAIL() << "Unable to run tgocassis2isis on blu image: " << e.what() << std::endl;
  }

  spiceinitArgs = {"from=" + bluFileName,  "ckp=t", "spkp=t"};
  spiceinitArgs = {"from=" + bluFileName,
                   "ck=" + binaryCkKernelsAsString,
                   "spk=" + binarySpkKernelsAsString};
  UserInterface spiceinitBlu(SPICEINIT_XML, spiceinitArgs);
  try {
    spiceinit(spiceinitBlu);
@@ -1237,7 +1254,9 @@ TEST(TgoCassisModuleTests, TgoCassisColorMosaic) {
    FAIL() << "Unable to run tgocassis2isis on nir image: " << e.what() << std::endl;
  }

  spiceinitArgs = {"from=" + nirFileName,  "ckp=t", "spkp=t"};
  spiceinitArgs = {"from=" + nirFileName,
                   "ck=" + binaryCkKernelsAsString,
                   "spk=" + binarySpkKernelsAsString};
  UserInterface spiceinitNir(SPICEINIT_XML, spiceinitArgs);
  try {
    spiceinit(spiceinitNir);
@@ -1580,7 +1599,7 @@ TEST(TgoCassisModuleTests, TgoCassisColorMosaic) {
}


TEST_F(tgoCassisKernels, TgoCassisMapProjectedReingested) {
TEST_F(TgoCassisModuleKernels, TgoCassisMapProjectedReingested) {
  QTemporaryDir prefix;

  // run tgocassis2isis on red framelet.
@@ -1721,7 +1740,7 @@ TEST_F(tgoCassisKernels, TgoCassisMapProjectedReingested) {
}


TEST(TgoCassisModuleTests, TgoCassisSingleColorMosaicReingest) {
TEST_F(TgoCassisModuleKernels, TgoCassisSingleColorMosaicReingest) {
  QTemporaryDir prefix;

  // run tgocassis2isis and spiceinit on pan framelet.
@@ -1737,7 +1756,9 @@ TEST(TgoCassisModuleTests, TgoCassisSingleColorMosaicReingest) {
    FAIL() << "Unable to run tgocassis2isis on pan image: " << e.what() << std::endl;
  }

  QVector<QString> spiceinitArgs = {"from=" + panFileName,  "ckp=t", "spkp=t"};
  QVector<QString> spiceinitArgs = {"from=" + panFileName,
                                    "ck=" + binaryCkKernelsAsString,
                                    "spk=" + binarySpkKernelsAsString};
  UserInterface spiceinitPan(SPICEINIT_XML, spiceinitArgs);
  try {
    spiceinit(spiceinitPan);
+252 −0
Original line number Diff line number Diff line
DAFETF NAIF DAF ENCODED TRANSFER FILE
'DAF/SPK '
'2'
'6'
'SPKMERGE                                                    '
BEGIN_ARRAY 1 39
'DE-0721LE-0721                          '
'1FCC22FCE311D6^8'
'1FCC23086DD259^8'
'A'
'0'
'1'
'2'
39
'1FCD874^8'
'A8C^5'
'7EB9214004AB84^5'
'-AFA4575239476^3'
'-1226D73F2FAC77^2'
'51F8F97C4C8C24^-1'
'-90DB673687649^-2'
'6F4FF5A90E8C6^-4'
'-F41B589FE583C^-4'
'-27B2B38F13078^-4'
'-418039FC6A82^-5'
'-4890C9912C7AA4^-6'
'-15C1FC2636FF23^-7'
'7E8C47466C70B4^5'
'1CD162EEB9034^4'
'-3B6DB4D3C2B746^1'
'1C5C94FD0CBCC8^0'
'88529DB209B48^-2'
'B54C5978E48DB^-3'
'136EF49616DBFC^-3'
'A7EB6EFA3E1D48^-5'
'-11B915D31A45F^-5'
'-4E5B790F67F628^-6'
'-A303A7C5757CC^-7'
'30951E7D45DC44^5'
'CBD0E310FAF43^3'
'-149A0E172F8874^1'
'BAF39F75DB384^-1'
'4FF3BC6ABE9AF^-2'
'677BAD1005DB98^-3'
'C083B96C0B7F78^-4'
'9B38885540DBD^-5'
'-2AEDBFCBE136E2^-6'
'-225A32BA275108^-6'
'-54F29541FC2B98^-7'
'1FC2FB4^8'
'1518^6'
'23^2'
'1^1'
END_ARRAY 1 39
BEGIN_ARRAY 2 39
'DE-0721LE-0721                          '
'1FCC22FCE311D6^8'
'1FCC23086DD259^8'
'4'
'0'
'1'
'2'
39
'1FD8134^8'
'1518^6'
'C5865818718648^7'
'14DFA6D0D06EDE^6'
'-16438BAA499E3^6'
'AD89C5BC78CFF^3'
'42C2440E2933C^3'
'-8AE5DA719C8428^1'
'-A16E615240058^0'
'31B6F32D8DCF1E^-1'
'1823A5FE0C2CEF^-2'
'-EFC4560F98D818^-4'
'208CEE1467470E^-4'
'1FBB1BA9FCA8F^6'
'1F713CDA10E559^7'
'-282888116C54B8^4'
'-96D6387D4624B^4'
'B5BA006737242^2'
'17541B84D12306^2'
'-4F703FB73E4B0C^0'
'-39A4594819C08A^-1'
'17D8E9C8C4A74A^-2'
'D5F0AA9176B8A8^-4'
'-5FD374778ABC5^-5'
'-4723EF885BC164^6'
'E62E0F3097B9A8^6'
'876FE4790B182^4'
'-457A58991B7B3C^4'
'3686D0588835EA^2'
'AEF108F2EFC53^1'
'-201BD2DEDB3E36^0'
'-1BB77C0BEF8512^-1'
'A66FED638EDC^-3'
'6B2E8E82854AEC^-4'
'-2655DA668309^-5'
'1FC2FB4^8'
'2A3^6'
'23^2'
'1^1'
END_ARRAY 2 39
BEGIN_ARRAY 3 54
'MAR097                                  '
'1FCC22FCE311D6^8'
'1FCC23086DD259^8'
'1F3'
'4'
'1'
'3'
54
'1FCC0B9^8'
'2A3^4'
'1379C45ED0EA61^-3'
'-5B587C92726B08^-3'
'-7443BF205081C^-3'
'1C218B4639A47F^-3'
'130218AC4C740C^-3'
'-26BBB4754FBA28^-4'
'-133055D6C5B7BC^-4'
'174CD5F904D46^-5'
'23E99D1B00AD3^-3'
'7B39098B6324D4^-3'
'-5985614EA08104^-3'
'-2FE9187ECD65B4^-3'
'DD7CC40E12DFE^-4'
'4A7664BF79048^-4'
'-C8889A250394E^-5'
'-425BDB71251A6^-5'
'9C46DA8DD065C^-4'
'757C591B7DA31^-3'
'13DE10BADD0239^-3'
'-29BE91C0FAA924^-3'
'-3B39547D696658^-4'
'3E013227E09B64^-4'
'480BC96AA55504^-5'
'-30BD3035A744E^-5'
'-6FC5D07711F72^-7'
'-7C29E5431BF28^-6'
'3750D6DFA14B9^-6'
'3436CF74EDEC7E^-6'
'-8B2AC98595721^-7'
'-5754957427ACE^-7'
'7BB711AE2E1F9^-8'
'0^0'
'5BDED4A8AD7A^-8'
'-615F0517979B88^-6'
'-5CBFC10B80DD0C^-6'
'266F7E98F4B972^-6'
'1046270D13F3A^-6'
'-390A69491B300A^-7'
'-160573ADB390E8^-7'
'0^0'
'3E7AABE37797A^-7'
'14309A05F8D384^-6'
'-514E220FE2B21^-6'
'-9F325D9F67FE18^-7'
'DAFBFCBA87AA2^-7'
'147E3B9140182F^-7'
'-102C93FB0CA6F9^-7'
'0^0'
'1FCBE16^8'
'546^4'
'32^2'
'1^1'
END_ARRAY 3 54
BEGIN_ARRAY 4 51
'em16_tgo_fsp_048_01_20160314_20181231_v0'
'1FCC22FCE311D6^8'
'1FCC23086DD259^8'
'-8F'
'1F3'
'1'
'13'
51
'-C53B3D40865608^3'
'2E512BFE07C6CA^3'
'713FDD615B853C^3'
'-D4A27030F23D78^0'
'-4899D8BE9E33D8^1'
'-FF1519DC52F74^0'
'-C60BAD3DF5A5B8^3'
'29BF241A739B18^3'
'703C0FFD744498^3'
'-C9A99C25D28018^0'
'-48C1193EE13B34^1'
'-1055686862CEC7^1'
'-C6D02D9E2FF688^3'
'252FD1C7F2CC18^3'
'6F3320EF1DF5BC^3'
'-BE9A0593DCD18^0'
'-48E47124B6424C^1'
'-10B8FEB0172E14^1'
'-C788CFCF150458^3'
'20A31A62875B88^3'
'6E25109AECD7E8^3'
'-B3750DDDFE06^0'
'-4903D81402B688^1'
'-111C06DC8856B8^1'
'-C835A41101AAD8^3'
'1C18E3627C2DD6^3'
'6D11DED6AEFF7C^3'
'-A83C1B88470F1^0'
'-491F4683C351E8^1'
'-117E7366305DB2^1'
'-C8D6B976F8A018^3'
'1791125CB32064^3'
'6BF98AEA2DD014^3'
'-9CF0997DAFB9D^0'
'-4936B5B377D0B4^1'
'-11E036D5986D14^1'
'1FCC22D99EB78F^8'
'1FCC22E9B7F861^8'
'1FCC22F9BF7413^8'
'1FCC2309B67624^8'
'1FCC23199E46FB^8'
'1FCC2329782C23^8'
'2^1'
'6^1'
'6^1'
'1FCC22D99EB78F^8'
'1FCC2329782C23^8'
'1^1'
'2E^2'
'1^1'
'1^1'
END_ARRAY 4 51
TOTAL_ARRAYS 4
 ~NAIF/SPC BEGIN COMMENTS~
; /Users/acpaquette/repos/ale/sliced_kernels/panframelet_0.bsp LOG FILE

; Created 2022-04-08/13:29:41.00.
;
; BEGIN SPKMERGE COMMANDS

LEAPSECONDS_KERNEL = /Volumes/pkgs/isis3/isis_data/base/kernels/lsk/naif0012.tls

SPK_KERNEL       = /Users/acpaquette/repos/ale/sliced_kernels/panframelet_0.bsp
  SOURCE_SPK_KERNEL = /Volumes/pkgs/isis3/isis_data/tgo/kernels/tspk/mar097.bsp
    INCLUDE_COMMENTS = NO
    BODIES           = 4, 10, 499
    BEGIN_TIME       = 2016 NOV 26 22:38:48.704
    END_TIME         = 2016 NOV 26 22:39:00.246
SOURCE_SPK_KERNEL = /Volumes/pkgs/isis3/isis_data/tgo/kernels/spk/em16_tgo_fsp_048_01_20160314_20181231_v03.bsp
    INCLUDE_COMMENTS = NO
    BODIES           = -143
    BEGIN_TIME       = 2016 NOV 26 22:38:48.704
    END_TIME         = 2016 NOV 26 22:39:00.246

; END SPKMERGE COMMANDS
 ~NAIF/SPC END COMMENTS~
Loading