#include #include #include #include "readdata.h" using namespace std; using namespace netCDF; template vector getVarVector(const NcVar &var) { int length = 1; for (NcDim dim : var.getDims()) { length *= dim.getSize(); } vector vec(length); var.getVar(vec.data()); return vec; } vector readHydrodynamicU() { netCDF::NcFile data("../../../../data/hydrodynamic_U.h5", netCDF::NcFile::read); multimap< string, NcVar > vars = data.getVars(); return getVarVector(vars.find("uo")->second); } vector readHydrodynamicV() { netCDF::NcFile data("../../../../data/hydrodynamic_V.h5", netCDF::NcFile::read); multimap< string, NcVar > vars = data.getVars(); return getVarVector(vars.find("vo")->second); } tuple, vector, vector> readGrid() { netCDF::NcFile data("../../../../data/grid.h5", netCDF::NcFile::read); multimap< string, NcVar > vars = data.getVars(); vector time = getVarVector(vars.find("times")->second); vector longitude = getVarVector(vars.find("longitude")->second); vector latitude = getVarVector(vars.find("latitude")->second); return {time, latitude, longitude}; }