Skip to content

Commit 989bc35

Browse files
committed
Add variable unit tests to SnodasDataReaderTest
1 parent d02356b commit 989bc35

File tree

1 file changed

+130
-0
lines changed

1 file changed

+130
-0
lines changed

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

Lines changed: 130 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,4 +69,134 @@ void swe() {
6969

7070
griddedData.done();
7171
}
72+
73+
@Test
74+
void snowDepth() {
75+
if(outFile == null) Assertions.fail();
76+
GriddedData griddedData = new GriddedData();
77+
griddedData.setDSSFileName(outFile.getAbsolutePath());
78+
griddedData.setPathname("///SNOW DEPTH/31OCT2019:0600///");
79+
80+
GridData gridData = new GridData();
81+
int[] status = new int[1];
82+
griddedData.retrieveGriddedData(true, gridData, status);
83+
if (status[0] < 0) {
84+
Assertions.fail();
85+
}
86+
87+
GridInfo gridInfo = gridData.getGridInfo();
88+
Assertions.assertEquals("MM", gridInfo.getDataUnits());
89+
Assertions.assertEquals(DssDataType.INST_VAL.value(), gridInfo.getDataType());
90+
Assertions.assertEquals("31 October 2019, 06:00", gridInfo.getStartTime());
91+
Assertions.assertEquals("31 October 2019, 06:00", gridInfo.getEndTime());
92+
Assertions.assertEquals(-4257.028, gridInfo.getMeanValue(), 1E-3);
93+
Assertions.assertEquals(32767.0, gridInfo.getMaxValue(), 1E-3);
94+
Assertions.assertEquals(-9999.0, gridInfo.getMinValue(), 1E-3);
95+
96+
griddedData.done();
97+
}
98+
99+
@Test
100+
void snowMeltRunoff() {
101+
if(outFile == null) Assertions.fail();
102+
GriddedData griddedData = new GriddedData();
103+
griddedData.setDSSFileName(outFile.getAbsolutePath());
104+
griddedData.setPathname("///LIQUID WATER/31OCT2019:0600/01NOV2019:0600//");
105+
106+
GridData gridData = new GridData();
107+
int[] status = new int[1];
108+
griddedData.retrieveGriddedData(true, gridData, status);
109+
if (status[0] < 0) {
110+
Assertions.fail();
111+
}
112+
113+
GridInfo gridInfo = gridData.getGridInfo();
114+
Assertions.assertEquals("M", gridInfo.getDataUnits());
115+
Assertions.assertEquals(DssDataType.PER_CUM.value(), gridInfo.getDataType());
116+
Assertions.assertEquals("31 October 2019, 06:00", gridInfo.getStartTime());
117+
Assertions.assertEquals("1 November 2019, 06:00", gridInfo.getEndTime());
118+
Assertions.assertEquals(-0.090, gridInfo.getMeanValue(), 1E-3);
119+
Assertions.assertEquals(0.024, gridInfo.getMaxValue(), 1E-3);
120+
Assertions.assertEquals(-0.100, gridInfo.getMinValue(), 1E-3);
121+
122+
griddedData.done();
123+
}
124+
125+
@Test
126+
void snowSublimation() {
127+
if(outFile == null) Assertions.fail();
128+
GriddedData griddedData = new GriddedData();
129+
griddedData.setDSSFileName(outFile.getAbsolutePath());
130+
griddedData.setPathname("///SNOW SUBLIMATION/31OCT2019:0600/01NOV2019:0600//");
131+
132+
GridData gridData = new GridData();
133+
int[] status = new int[1];
134+
griddedData.retrieveGriddedData(true, gridData, status);
135+
if (status[0] < 0) {
136+
Assertions.fail();
137+
}
138+
139+
GridInfo gridInfo = gridData.getGridInfo();
140+
Assertions.assertEquals("M", gridInfo.getDataUnits());
141+
Assertions.assertEquals(DssDataType.PER_CUM.value(), gridInfo.getDataType());
142+
Assertions.assertEquals("31 October 2019, 06:00", gridInfo.getStartTime());
143+
Assertions.assertEquals("1 November 2019, 06:00", gridInfo.getEndTime());
144+
Assertions.assertEquals(-0.090, gridInfo.getMeanValue(), 1E-3);
145+
Assertions.assertEquals(0.001, gridInfo.getMaxValue(), 1E-3);
146+
Assertions.assertEquals(-0.100, gridInfo.getMinValue(), 1E-3);
147+
148+
griddedData.done();
149+
}
150+
151+
@Test
152+
void precipitation() {
153+
if(outFile == null) Assertions.fail();
154+
GriddedData griddedData = new GriddedData();
155+
griddedData.setDSSFileName(outFile.getAbsolutePath());
156+
griddedData.setPathname("///PRECIPITATION/31OCT2019:0600/01NOV2019:0600//");
157+
158+
GridData gridData = new GridData();
159+
int[] status = new int[1];
160+
griddedData.retrieveGriddedData(true, gridData, status);
161+
if (status[0] < 0) {
162+
Assertions.fail();
163+
}
164+
165+
GridInfo gridInfo = gridData.getGridInfo();
166+
Assertions.assertEquals("MM", gridInfo.getDataUnits());
167+
Assertions.assertEquals(DssDataType.PER_CUM.value(), gridInfo.getDataType());
168+
Assertions.assertEquals("31 October 2019, 06:00", gridInfo.getStartTime());
169+
Assertions.assertEquals("1 November 2019, 06:00", gridInfo.getEndTime());
170+
Assertions.assertEquals(-492.912, gridInfo.getMeanValue(), 1E-3);
171+
Assertions.assertEquals(311.8, gridInfo.getMaxValue(), 1E-3);
172+
Assertions.assertEquals(-999.9, gridInfo.getMinValue(), 1E-3);
173+
174+
griddedData.done();
175+
}
176+
177+
@Test
178+
void temperature() {
179+
if(outFile == null) Assertions.fail();
180+
GriddedData griddedData = new GriddedData();
181+
griddedData.setDSSFileName(outFile.getAbsolutePath());
182+
griddedData.setPathname("///TEMPERATURE/31OCT2019:0600///");
183+
184+
GridData gridData = new GridData();
185+
int[] status = new int[1];
186+
griddedData.retrieveGriddedData(true, gridData, status);
187+
if (status[0] < 0) {
188+
Assertions.fail();
189+
}
190+
191+
GridInfo gridInfo = gridData.getGridInfo();
192+
Assertions.assertEquals("DEG C", gridInfo.getDataUnits());
193+
Assertions.assertEquals(DssDataType.INST_VAL.value(), gridInfo.getDataType());
194+
Assertions.assertEquals("31 October 2019, 06:00", gridInfo.getStartTime());
195+
Assertions.assertEquals("31 October 2019, 06:00", gridInfo.getEndTime());
196+
Assertions.assertEquals(-9899.17, gridInfo.getMeanValue(), 1E-3);
197+
Assertions.assertEquals(-0.15, gridInfo.getMaxValue(), 1E-3);
198+
Assertions.assertEquals(-10272.15, gridInfo.getMinValue(), 1E-3);
199+
200+
griddedData.done();
201+
}
72202
}

0 commit comments

Comments
 (0)