Hello,
I have written a simple test that opens NetCDF3 file (50.2 MB), reads its
whole array time x lat x lon = 1460 x 94 x 192
Open file: 838 ms
Find var: 12 ms
Read array: 2393 ms
(code is below)
Numbers are for SSD with approx 222 MB/sec speed
This is almost 3 sec while during the same time C++ code (NCO, CDO) may do
a lot more.
My questions are:
- could this be improved? (e.g. link to native lib or smth else)
- is this the fastest way to read array (code below)?
Thanks
long millis = System.currentTimeMillis();
NetcdfFile FILE = NetcdfFile.open(filepath, null);
System.out.println("Open file: " + (System.currentTimeMillis() -
millis));
millis = System.currentTimeMillis();
Variable var = FILE.findVariable("uwnd");
System.out.println("Find var: " + (System.currentTimeMillis() -
millis));
int[] origin ;
int[] shape ;
millis = System.currentTimeMillis();
shape = var.getShape();
System.out.println("Get shape: " + (System.currentTimeMillis() -
millis));
origin = new int[shape.length];
millis = System.currentTimeMillis();
Array values = var.read(origin, shape);
System.out.println("Read array: " + (System.currentTimeMillis() -
millis));