Skip to content
Snippets Groups Projects
Unverified Commit b9c95a9e authored by Austin Sanders's avatar Austin Sanders Committed by GitHub
Browse files

Add support for MER (#30)

* Updated with mer1/mer2 kernels

* Added mer1 and mer2 config, tests, and data

* Updated changelog

* Merged and adjusted tests

* Replaced missing msl kernels
parent 80897922
No related branches found
No related tags found
No related merge requests found
...@@ -42,6 +42,7 @@ release. ...@@ -42,6 +42,7 @@ release.
- Adds support for Voyager [#13](https://github.com/DOI-USGS/SpiceQL/issues/13) - Adds support for Voyager [#13](https://github.com/DOI-USGS/SpiceQL/issues/13)
- Adds support for LROC MiniRF [#10](https://github.com/DOI-USGS/SpiceQL/issues/10) - Adds support for LROC MiniRF [#10](https://github.com/DOI-USGS/SpiceQL/issues/10)
- Adds support for MSL [#15](https://github.com/DOI-USGS/SpiceQL/issues/15) - Adds support for MSL [#15](https://github.com/DOI-USGS/SpiceQL/issues/15)
- Adds support for MER [#14](https://github.com/DOI-USGS/SpiceQL/issues/14)
### Fixed ### Fixed
......
...@@ -93,6 +93,8 @@ if(SPICEQL_BUILD_LIB) ...@@ -93,6 +93,8 @@ if(SPICEQL_BUILD_LIB)
${CMAKE_CURRENT_SOURCE_DIR}/SpiceQL/db/kaguya.json ${CMAKE_CURRENT_SOURCE_DIR}/SpiceQL/db/kaguya.json
${CMAKE_CURRENT_SOURCE_DIR}/SpiceQL/db/lro.json ${CMAKE_CURRENT_SOURCE_DIR}/SpiceQL/db/lro.json
${CMAKE_CURRENT_SOURCE_DIR}/SpiceQL/db/lo.json ${CMAKE_CURRENT_SOURCE_DIR}/SpiceQL/db/lo.json
${CMAKE_CURRENT_SOURCE_DIR}/SpiceQL/db/mer1.json
${CMAKE_CURRENT_SOURCE_DIR}/SpiceQL/db/mer2.json
${CMAKE_CURRENT_SOURCE_DIR}/SpiceQL/db/mess.json ${CMAKE_CURRENT_SOURCE_DIR}/SpiceQL/db/mess.json
${CMAKE_CURRENT_SOURCE_DIR}/SpiceQL/db/mex.json ${CMAKE_CURRENT_SOURCE_DIR}/SpiceQL/db/mex.json
${CMAKE_CURRENT_SOURCE_DIR}/SpiceQL/db/mgs.json ${CMAKE_CURRENT_SOURCE_DIR}/SpiceQL/db/mgs.json
......
{
"mer1" : {
"ck" : {
"reconstructed" : {
"kernels" : ["mer1_surf_[a-z]{2,5}_ext[0-9]{1,2}_v[0-9]{1}.bc$",
"mer1_cruise.bc$",
"mer1_hga_stowed.bc$",
"mer1_surf_[a-z]{3,5}(_prim_v1)?.bc$"]
}
},
"spk" : {
"reconstructed" : {
"kernels" : ["de410_de910.bsp$",
"mar033(_[0-9]{4}-[0-9]{4})?.bsp$",
"mer1_cruise.bsp$",
"mer1_still_at_ls_v1.bsp$",
"mer1_struct_ver11.bsp$",
"mer1_edl_rcb_v1.bsp$",
"mer1_ls_040128_iau2000_v1.bsp$",
"mer1_surf_iddg.bsp$",
"mer1_surf_rover(rl)?(_[0-9]{4}_[0-9]{4}_v[0-9]{1})?.bsp$",
"mer1_surf_[a-z]{4,7}_[a-z]{2,4}[0-9]{0,2}(_v[0-9]{1})?.bsp$"]
}
},
"fk" : {
"kernels" : ["mer1(_v[0-9]{2})?.tf$",
"mer1_tp_tm20b3_iau2000_v[0-9]{1}.tf$"]
},
"ik" : {
"kernels" :"mer1_[a-z]{2}_([a-z][0-9]_)?[0-9]{8}_c[0-9]{2,3}.ti$"
},
"sclk" : {
"kernels" : ["MER_253_SCLKSCET.[0-9]{5}.tsc$",
"mer1_hlst_tm20b3_v[0-9]{1}.tsc",
"mer1.tsc$"]
},
"pck" : {
"kernels" : "mars_iau2000_v0.tpc"
}
}
}
{
"mer2" : {
"ck" : {
"reconstructed" : {
"kernels" : ["mer2_surf_[a-z]{2,5}_ext[0-9]{1,2}_v[0-9]{1}.bc$",
"mer2_surf_[a-z]{2,5}.bc$",
"mer2_cruise.bc$",
"mer2_surf_[a-z]{3,5}_[a-z]{2,3}_v[0-9]{1}.bc$",
"mer2_hga_stowed.bc$"]
}
},
"spk" : {
"reconstructed" : {
"kernels" : ["de410_de910.bsp$",
"mar033(_[0-9]{4}-[0-9]{4})?.bsp$",
"mer2_cruise.bsp",
"mer2_edl_rcb_v1.bsp",
"mer2_ls_040108_iau2000_v[0-9]{1}.bsp$",
"mer2_still_at_ls_v[0-9]{1}.bsp$",
"mer2_surf_[a-z]{3,7}_[a-z]{2,3}_v[0-9]{1,2}.bsp$",
"mer2_struct_ver[0-9]{2}.bsp$",
"spk_b_s_071029-160101_110624.bsp$",
"mer2_surf_[a-z]{4,7}_[a-z]{2,4}[0-9]{0,2}(_v[0-9]{1})?.bsp$"]
}
},
"fk" : {
"kernels" : ["mer2(_v[0-9]{2})?.tf$",
"mer2_tp_[a-z]{2}[0-9]{2}[a-z][0-9]([a-z])?_iau2000_v[0-9]{1}.tf$"]
},
"ik" : {
"kernels" :"mer2_[a-z]{2}_([a-z][0-9]_)?[0-9]{8}_c[0-9]{2,3}.ti$"
},
"sclk" : {
"kernels" : ["MER_254_SCLKSCET.[0-9]{5}.tsc$",
"mer2(_hlst_[a-z]{2}[0-9]{2}[a-z][0-9]([a-z])?_v[0-9]{1})?.tsc"]
},
"pck" : {
"kernels" : "mars_iau2000_v0.tpc"
}
}
}
...@@ -16,7 +16,7 @@ using namespace SpiceQL; ...@@ -16,7 +16,7 @@ using namespace SpiceQL;
TEST_F(TestConfig, FunctionalTestConfigConstruct) { TEST_F(TestConfig, FunctionalTestConfigConstruct) {
json megaConfig = testConfig.globalConf(); json megaConfig = testConfig.globalConf();
EXPECT_EQ(megaConfig.size(), 69); EXPECT_EQ(megaConfig.size(), 71);
} }
TEST_F(TestConfig, FunctionalTestConfigEval) { TEST_F(TestConfig, FunctionalTestConfigEval) {
......
...@@ -772,7 +772,6 @@ TEST_F(IsisDataDirectory, FunctionalTestListMissionKernelsVoyager2) { ...@@ -772,7 +772,6 @@ TEST_F(IsisDataDirectory, FunctionalTestListMissionKernelsVoyager2) {
} }
TEST_F(IsisDataDirectory, FunctionalTestListMissionKernelsMsl) { TEST_F(IsisDataDirectory, FunctionalTestListMissionKernelsMsl) {
fs::path dbPath = getMissionConfigFile("msl"); fs::path dbPath = getMissionConfigFile("msl");
compareKernelSets("msl"); compareKernelSets("msl");
...@@ -843,3 +842,84 @@ TEST_F(IsisDataDirectory, FunctionalTestListMissionKernelsMsl) { ...@@ -843,3 +842,84 @@ TEST_F(IsisDataDirectory, FunctionalTestListMissionKernelsMsl) {
"msl_surf_rover_loc.bsp"}; "msl_surf_rover_loc.bsp"};
CompareKernelSets(getKernelsAsVector(res.at("msl").at("spk")), expected); CompareKernelSets(getKernelsAsVector(res.at("msl").at("spk")), expected);
} }
TEST_F(IsisDataDirectory, FunctionalTestListMissionKernelsMer1) {
fs::path dbPath = getMissionConfigFile("mer1");
compareKernelSets("mer1");
ifstream i(dbPath);
nlohmann::json conf = nlohmann::json::parse(i);
MockRepository mocks;
mocks.OnCallFunc(ls).Return(files);
nlohmann::json res = listMissionKernels("doesn't matter", conf);
set<string> kernels = getKernelsAsSet(res);
set<string> mission = missionMap.at("mer1");
vector<string> expected = {"mer1_surf_hga_ext10_v1.bc", "mer1_cruise.bc", "mer1_hga_stowed.bc", "mer1_surf_rover_prim_v1.bc"};
CompareKernelSets(getKernelsAsVector(res.at("mer1").at("ck").at("reconstructed")), expected);
expected = {"mar033_2000-2025.bsp", "mer1_cruise.bsp",
"de410_de910.bsp","mer1_surf_iddg_ext11_v1.bsp",
"mer1_struct_ver11.bsp", "mer1_edl_rcb_v1.bsp",
"mer1_surf_iddg.bsp","mer1_surf_roverrl_0001_3240_v1.bsp"};
CompareKernelSets(getKernelsAsVector(res.at("mer1").at("spk").at("reconstructed")), expected);
expected = {"mer1_tp_tm20b3_iau2000_v1.tf", "mer1.tf"};
CompareKernelSets(getKernelsAsVector(res.at("mer1").at("fk")), expected);
expected = {"mer1_nl_20040125_c196.ti"};
CompareKernelSets(getKernelsAsVector(res.at("mer1").at("ik")), expected);
expected = {"MER_253_SCLKSCET.00001.tsc"};
CompareKernelSets(getKernelsAsVector(res.at("mer1").at("sclk")), expected);
expected = {"mars_iau2000_v0.tpc"};
CompareKernelSets(getKernelsAsVector(res.at("mer1").at("pck")), expected);
}
TEST_F(IsisDataDirectory, FunctionalTestListMissionKernelsMer2) {
fs::path dbPath = getMissionConfigFile("mer2");
compareKernelSets("mer2");
ifstream i(dbPath);
nlohmann::json conf = nlohmann::json::parse(i);
MockRepository mocks;
mocks.OnCallFunc(ls).Return(files);
nlohmann::json res = listMissionKernels("doesn't matter", conf);
set<string> kernels = getKernelsAsSet(res);
set<string> mission = missionMap.at("mer2");
vector<string> expected = {};
CompareKernelSets(getKernelsAsVector(res.at("mer2").at("ck").at("reconstructed")), expected);
expected = {"spk_b_s_071029-160101_110624.bsp","mer2_surf_roverrl_ro_v01.bsp",
"mer2_ls_040108_iau2000_v1.bsp", "de410_de910.bsp",
"mer2_still_at_ls_v1.bsp", "mer2_struct_ver11.bsp",
"mar033_2000-2025.bsp", "mer2_edl_rcb_v1.bsp",
"mer2_surf_rover_all_v01.bsp"};
CompareKernelSets(getKernelsAsVector(res.at("mer2").at("spk").at("reconstructed")), expected);
expected = {"mer2.tf","mer2_tp_ep78a3p_iau2000_v1.tf"};
CompareKernelSets(getKernelsAsVector(res.at("mer2").at("fk")), expected);
expected = {"mer2_rl_20031204_c60.ti"};
CompareKernelSets(getKernelsAsVector(res.at("mer2").at("ik")), expected);
expected = {"MER_254_SCLKSCET.00032.tsc", "mer2.tsc"};
CompareKernelSets(getKernelsAsVector(res.at("mer2").at("sclk")), expected);
expected = {"mars_iau2000_v0.tpc"};
CompareKernelSets(getKernelsAsVector(res.at("mer2").at("pck")), expected);
}
This diff is collapsed.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment