Skip to content

Commit 87f8564

Browse files
committed
started matchup integration test
1 parent 722d084 commit 87f8564

File tree

1 file changed

+117
-0
lines changed

1 file changed

+117
-0
lines changed
Lines changed: 117 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,117 @@
1+
package com.bc.fiduceo.matchup;
2+
3+
import com.bc.fiduceo.FiduceoConstants;
4+
import com.bc.fiduceo.NCTestUtils;
5+
import com.bc.fiduceo.TestUtil;
6+
import com.bc.fiduceo.core.SatelliteObservation;
7+
import com.bc.fiduceo.core.Sensor;
8+
import com.bc.fiduceo.core.UseCaseConfig;
9+
import com.bc.fiduceo.db.DbAndIOTestRunner;
10+
import com.bc.fiduceo.util.NetCDFUtils;
11+
import org.apache.commons.cli.ParseException;
12+
import org.junit.Test;
13+
import org.junit.runner.RunWith;
14+
import ucar.ma2.InvalidRangeException;
15+
import ucar.nc2.NetcdfFile;
16+
17+
import java.io.File;
18+
import java.io.IOException;
19+
import java.sql.SQLException;
20+
import java.util.ArrayList;
21+
import java.util.List;
22+
23+
import static org.junit.Assert.assertEquals;
24+
import static org.junit.Assert.assertTrue;
25+
26+
@RunWith(DbAndIOTestRunner.class)
27+
public class MatchupToolIntegrationTest_SMOSL1_sic_cci extends AbstractUsecaseIntegrationTest {
28+
29+
@Test
30+
public void testMatchup() throws IOException, SQLException, ParseException, InvalidRangeException {
31+
final UseCaseConfig useCaseConfig = createUseCaseConfigBuilder()
32+
.withTimeDeltaSeconds(28800, null)
33+
.withMaxPixelDistanceKm(10, null)
34+
.createConfig();
35+
final File useCaseConfigFile = storeUseCaseConfig(useCaseConfig, "usecase-44.xml");
36+
37+
insert_SIC_CCI();
38+
insert_miras_CDF3TA();
39+
40+
final String[] args = new String[]{"-c", configDir.getAbsolutePath(), "-u", useCaseConfigFile.getName(), "-start", "2016-156", "-end", "2016-156"};
41+
MatchupToolMain.main(args);
42+
43+
final File mmdFile = getMmdFilePath(useCaseConfig, "2016-156", "2016-156");
44+
assertTrue(mmdFile.isFile());
45+
// @todo 1 tb/tb continue with assertions here 2022-11-14
46+
// try (NetcdfFile mmd = NetcdfFile.open(mmdFile.getAbsolutePath())) {
47+
// final int matchupCount = NetCDFUtils.getDimensionLength(FiduceoConstants.MATCHUP_COUNT, mmd);
48+
// assertEquals(15, matchupCount);
49+
//
50+
// NCTestUtils.assert3DVariable("drifter-sirds_acquisition_time", 0, 0, 0, 1511146800, mmd);
51+
// NCTestUtils.assert3DVariable("drifter-sirds_collection", 0, 0, 1, 1, mmd);
52+
// NCTestUtils.assert3DVariable("drifter-sirds_depth", 0, 0, 2, 0.2, mmd);
53+
// NCTestUtils.assert3DVariable("drifter-sirds_depth_corr", 0, 0, 3, 0.0, mmd);
54+
// NCTestUtils.assert3DVariable("drifter-sirds_latitude", 0, 0, 4, -25.63, mmd);
55+
// NCTestUtils.assert3DVariable("drifter-sirds_longitude", 0, 0, 5, -151.32001, mmd);
56+
// NCTestUtils.assert3DVariable("drifter-sirds_prof_id", 0, 0, 6, 633946, mmd);
57+
// NCTestUtils.assert3DVariable("drifter-sirds_qc1", 0, 0, 7, 0, mmd);
58+
// NCTestUtils.assert3DVariable("drifter-sirds_qc2", 0, 0, 8, -99, mmd);
59+
// NCTestUtils.assert3DVariable("drifter-sirds_sst", 0, 0, 9, 30.100000381469727, mmd);
60+
// NCTestUtils.assert3DVariable("drifter-sirds_sst_comb_unc", 0, 0, 10, 0.3895, mmd);
61+
// NCTestUtils.assert3DVariable("drifter-sirds_sst_plat_corr", 0, 0, 11, 0.0, mmd);
62+
// NCTestUtils.assert3DVariable("drifter-sirds_sst_plat_corr", 0, 0, 12, 0.0, mmd);
63+
// NCTestUtils.assert3DVariable("drifter-sirds_sst_plat_corr_unc", 0, 0, 12, 0.29, mmd);
64+
// NCTestUtils.assert3DVariable("drifter-sirds_sst_rand_unc", 0, 0, 13, 0.26, mmd);
65+
//
66+
// NCTestUtils.assert3DVariable("miras-smos-CDF3TD_Azimuth_Angle_025", 0, 0, 0, -32768, mmd);
67+
// NCTestUtils.assert3DVariable("miras-smos-CDF3TD_BT_3_075", 1, 0, 1, -32768, mmd);
68+
// NCTestUtils.assert3DVariable("miras-smos-CDF3TD_BT_4_125", 2, 0, 2, -32768, mmd);
69+
// NCTestUtils.assert3DVariable("miras-smos-CDF3TD_BT_H_175", 0, 1, 3, -32768, mmd);
70+
// NCTestUtils.assert3DVariable("miras-smos-CDF3TD_BT_V_225", 1, 1, 4, -32768, mmd);
71+
// NCTestUtils.assert3DVariable("miras-smos-CDF3TD_Days_275", 2, 1, 5, 6533, mmd);
72+
// NCTestUtils.assert3DVariable("miras-smos-CDF3TD_Eta_325", 0, 2, 6, -10148, mmd);
73+
// NCTestUtils.assert3DVariable("miras-smos-CDF3TD_Footprint_Axis1_375", 1, 2, 7, -16670, mmd);
74+
// NCTestUtils.assert3DVariable("miras-smos-CDF3TD_Footprint_Axis2_400", 2, 2, 8, -19158, mmd);
75+
// NCTestUtils.assert3DVariable("miras-smos-CDF3TD_Incidence_Angle_425", 0, 0, 9, -2487, mmd);
76+
// NCTestUtils.assert3DVariable("miras-smos-CDF3TD_Nb_RFI_Flags_475", 1, 0, 10, 0, mmd);
77+
// NCTestUtils.assert3DVariable("miras-smos-CDF3TD_Nb_SUN_Flags_525", 2, 0, 11, 0, mmd);
78+
// NCTestUtils.assert3DVariable("miras-smos-CDF3TD_Nviews_575", 0, 1, 12, 14, mmd);
79+
// NCTestUtils.assert3DVariable("miras-smos-CDF3TD_Pixel_BT_Standard_Deviation_3_625", 1, 1, 13, -32768, mmd);
80+
// NCTestUtils.assert3DVariable("miras-smos-CDF3TD_lon", 2, 1, 13, -48.37175750732422, mmd);
81+
// NCTestUtils.assert3DVariable("miras-smos-CDF3TD_lat", 0, 2, 14, 36.3758544921875, mmd);
82+
// }
83+
}
84+
85+
private void insert_SIC_CCI() throws IOException, SQLException {
86+
final String sensorKey = "DTUSIC1-sic-cci";
87+
final String relativeArchivePath = TestUtil.assembleFileSystemPath(new String[]{"insitu", "sic-cci", "DTUSIC1-sic-cci", "v3", "QSCAT-vs-SMAP-vs-SMOS-vs-ASCAT-vs-AMSR2-vs-ERA-vs-DTUSIC1-2016-N.text"}, true);
88+
89+
final SatelliteObservation satelliteObservation = readSatelliteObservation(sensorKey, relativeArchivePath, "v3");
90+
storage.insert(satelliteObservation);
91+
}
92+
93+
private void insert_miras_CDF3TA() throws IOException, SQLException {
94+
final String sensorKey = "miras-smos-CDF3TA";
95+
final String relativeArchivePath = TestUtil.assembleFileSystemPath(new String[]{sensorKey, "re07", "2016", "156", "SM_RE07_MIR_CDF3TA_20160604T000000_20160604T235959_330_001_7.tgz"}, true);
96+
97+
final SatelliteObservation satelliteObservation = readSatelliteObservation(sensorKey, relativeArchivePath, "re07");
98+
storage.insert(satelliteObservation);
99+
}
100+
101+
private MatchupToolTestUseCaseConfigBuilder createUseCaseConfigBuilder() {
102+
final List<Sensor> sensorList = new ArrayList<>();
103+
final Sensor primary = new Sensor("DTUSIC1-sic-cci");
104+
primary.setPrimary(true);
105+
sensorList.add(primary);
106+
sensorList.add(new Sensor("miras-smos-CDF3TA"));
107+
108+
final List<com.bc.fiduceo.core.Dimension> dimensions = new ArrayList<>();
109+
dimensions.add(new com.bc.fiduceo.core.Dimension("DTUSIC1-sic-cci", 1, 1));
110+
dimensions.add(new com.bc.fiduceo.core.Dimension("miras-smos-CDF3TA", 3, 3));
111+
112+
return (MatchupToolTestUseCaseConfigBuilder) new MatchupToolTestUseCaseConfigBuilder("mmd44")
113+
.withSensors(sensorList)
114+
.withOutputPath(new File(TestUtil.getTestDir().getPath(), "usecase-44").getPath())
115+
.withDimensions(dimensions);
116+
}
117+
}

0 commit comments

Comments
 (0)