11package mil .army .usace .hec .vortex .io ;
22
3+ import hec .heclib .dss .DssDataType ;
34import hec .heclib .grid .GridData ;
45import hec .heclib .grid .GridInfo ;
5- import hec .heclib .grid .GridUtilities ;
6+ import hec .heclib .grid .GriddedData ;
67import mil .army .usace .hec .vortex .geo .WktFactory ;
8+ import org .junit .jupiter .api .Assertions ;
79import org .junit .jupiter .api .Test ;
810
911import java .io .File ;
10- import java .io .FileInputStream ;
11- import java .io .IOException ;
12- import java .io .ObjectInputStream ;
1312import java .nio .file .Path ;
14- import java .util .ArrayList ;
1513import java .util .HashMap ;
1614import 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}
0 commit comments