Skip to content

Commit eecac36

Browse files
author
Tom Brauer
committed
Validate against DSS persisted data in MRMS tests.
1 parent 5450efd commit eecac36

5 files changed

Lines changed: 66 additions & 59 deletions

File tree

vortex-api/src/test/java/mil/army/usace/hec/vortex/io/BatchImporterTest.java

Lines changed: 30 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -54,46 +54,42 @@ void MrmsPrecipPassesRegression() {
5454
importer.process();
5555

5656
int[] status = new int[1];
57-
String path = "///PRECIPITATION/02JAN2017:1100/02JAN2017:1200//";
58-
GridData gridData = GridUtilities.retrieveGridFromDss(outFile.getPath(), path, status);
57+
GriddedData griddedData = new GriddedData();
58+
griddedData.setDSSFileName(outFile.getPath());
59+
griddedData.setPathname("///PRECIPITATION/02JAN2017:1100/02JAN2017:1200//");
60+
GridData gridData = new GridData();
61+
griddedData.retrieveGriddedData(true, gridData, status);
62+
if (status[0] < 0) {
63+
Assertions.fail();
64+
}
5965

60-
GridInfo info = gridData.getGridInfo();
61-
assertEquals(996, info.getLowerLeftCellY());
62-
assertEquals(-1036, info.getLowerLeftCellX());
66+
GridInfo gridInfo = gridData.getGridInfo();
67+
Assertions.assertEquals("2 January 2017, 11:00", gridInfo.getStartTime());
68+
Assertions.assertEquals("2 January 2017, 12:00", gridInfo.getEndTime());
69+
Assertions.assertEquals("MM", gridInfo.getDataUnits());
70+
Assertions.assertEquals(DssDataType.PER_CUM.value(), gridInfo.getDataType());
71+
Assertions.assertEquals(0.065, gridInfo.getMeanValue(), 1E-3);
72+
Assertions.assertEquals(1.204, gridInfo.getMaxValue(), 1E-3);
73+
Assertions.assertEquals(0.0, gridInfo.getMinValue(), 1E-3);
74+
assertEquals(996, gridInfo.getLowerLeftCellY());
75+
assertEquals(-1036, gridInfo.getLowerLeftCellX());
6376

64-
File persisted = new File(getClass().getResource(
65-
"/regression/mrms/mrms_data_serialized").getFile());
66-
ArrayList arraylist = new ArrayList<>();
67-
try {
68-
FileInputStream fis = new FileInputStream(persisted.toString());
69-
ObjectInputStream ois = new ObjectInputStream(fis);
70-
arraylist = (ArrayList) ois.readObject();
71-
ois.close();
72-
fis.close();
73-
} catch (IOException | ClassNotFoundException e) {
74-
e.printStackTrace();
75-
}
7677
float[] data = gridData.getData();
77-
for (int i = 0; i < arraylist.size(); i++) {
78-
assertEquals(arraylist.get(i), data[i]);
78+
79+
griddedData.setPathname("///PRECIPITATION/02JAN2017:1100/02JAN2017:1200/PERSISTED/");
80+
GridData persistedGridData = new GridData();
81+
griddedData.retrieveGriddedData(true, persistedGridData, status);
82+
if (status[0] < 0) {
83+
Assertions.fail();
7984
}
8085

81-
// float[] vortex = gridData.getData();
82-
// List<Float> list = new ArrayList<>();
83-
// for (int i = 0; i < vortex.length; i++){
84-
// list.add(vortex[i]);
85-
// }
86-
//
87-
// try{
88-
// FileOutputStream fos= new FileOutputStream("C:/Temp/mrms_data_serialized");
89-
// ObjectOutputStream oos= new ObjectOutputStream(fos);
90-
// oos.writeObject(list);
91-
// oos.close();
92-
// fos.close();
93-
// }catch(IOException ioe){
94-
// ioe.printStackTrace();
95-
// }
86+
float[] persistedData = persistedGridData.getData();
9687

88+
for (int i = 0; i < data.length; i++) {
89+
assertEquals(data[i], persistedData[i], 1E-4);
90+
}
91+
92+
griddedData.done();
9793
}
9894

9995
@Test

vortex-api/src/test/java/mil/army/usace/hec/vortex/io/ImportableUnitTest.java

Lines changed: 36 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,15 @@
11
package mil.army.usace.hec.vortex.io;
22

3+
import hec.heclib.dss.DssDataType;
34
import hec.heclib.grid.GridData;
45
import hec.heclib.grid.GridInfo;
5-
import hec.heclib.grid.GridUtilities;
6+
import hec.heclib.grid.GriddedData;
67
import mil.army.usace.hec.vortex.geo.WktFactory;
8+
import org.junit.jupiter.api.Assertions;
79
import org.junit.jupiter.api.Test;
810

911
import java.io.File;
10-
import java.io.FileInputStream;
11-
import java.io.IOException;
12-
import java.io.ObjectInputStream;
1312
import java.nio.file.Path;
14-
import java.util.ArrayList;
1513
import java.util.HashMap;
1614
import java.util.Map;
1715

@@ -72,28 +70,41 @@ void MrmsPrecipPassesRegression() {
7270
importableUnit.process();
7371

7472
int[] status = new int[1];
75-
String path = "///PRECIPITATION/02JAN2017:1100/02JAN2017:1200//";
76-
GridData gridData = GridUtilities.retrieveGridFromDss(destination.toString(), path, status);
77-
78-
GridInfo info = gridData.getGridInfo();
79-
assertEquals(996, info.getLowerLeftCellY());
80-
assertEquals(-1036, info.getLowerLeftCellX());
81-
82-
File persisted = new File(getClass().getResource(
83-
"/regression/mrms/mrms_data_serialized").getFile());
84-
ArrayList arraylist = new ArrayList<>();
85-
try {
86-
FileInputStream fis = new FileInputStream(persisted.toString());
87-
ObjectInputStream ois = new ObjectInputStream(fis);
88-
arraylist = (ArrayList) ois.readObject();
89-
ois.close();
90-
fis.close();
91-
} catch (IOException | ClassNotFoundException e) {
92-
e.printStackTrace();
73+
GriddedData griddedData = new GriddedData();
74+
griddedData.setDSSFileName(destination.toString());
75+
griddedData.setPathname("///PRECIPITATION/02JAN2017:1100/02JAN2017:1200//");
76+
GridData gridData = new GridData();
77+
griddedData.retrieveGriddedData(true, gridData, status);
78+
if (status[0] < 0) {
79+
Assertions.fail();
9380
}
81+
82+
GridInfo gridInfo = gridData.getGridInfo();
83+
Assertions.assertEquals("2 January 2017, 11:00", gridInfo.getStartTime());
84+
Assertions.assertEquals("2 January 2017, 12:00", gridInfo.getEndTime());
85+
Assertions.assertEquals("MM", gridInfo.getDataUnits());
86+
Assertions.assertEquals(DssDataType.PER_CUM.value(), gridInfo.getDataType());
87+
Assertions.assertEquals(0.065, gridInfo.getMeanValue(), 1E-3);
88+
Assertions.assertEquals(1.204, gridInfo.getMaxValue(), 1E-3);
89+
Assertions.assertEquals(0.0, gridInfo.getMinValue(), 1E-3);
90+
assertEquals(996, gridInfo.getLowerLeftCellY());
91+
assertEquals(-1036, gridInfo.getLowerLeftCellX());
92+
9493
float[] data = gridData.getData();
95-
for (int i = 0; i < arraylist.size(); i++) {
96-
assertEquals(arraylist.get(i), data[i]);
94+
95+
griddedData.setPathname("///PRECIPITATION/02JAN2017:1100/02JAN2017:1200/PERSISTED/");
96+
GridData persistedGridData = new GridData();
97+
griddedData.retrieveGriddedData(true, persistedGridData, status);
98+
if (status[0] < 0) {
99+
Assertions.fail();
97100
}
101+
102+
float[] persistedData = persistedGridData.getData();
103+
104+
for (int i = 0; i < data.length; i++) {
105+
assertEquals(data[i], persistedData[i], 1E-4);
106+
}
107+
108+
griddedData.done();
98109
}
99110
}
3 KB
Binary file not shown.
3 KB
Binary file not shown.
-37.1 KB
Binary file not shown.

0 commit comments

Comments
 (0)