test_class.file: vortex-api/src/test/java/mil/army/usace/hec/vortex/io/NetcdfDataReaderTest.java
test_class.identifier: NetcdfDataReaderTest
test_case.body: @Test
      void GCIP_EOP_Stage_IV(){
          String inFile = new File(getClass().getResource("/ST4.2005010100.01h").getFile()).toString();
  
          Set<String> variables = DataReader.getVariables(inFile);
          assertTrue(variables.contains("Total_precipitation_surface_1_Hour_Accumulation"));
          assertEquals(2, variables.size());
      }
test_case.class_method_signature: NetcdfDataReaderTest.GCIP_EOP_Stage_IV()
test_case.full_signature: @Test void GCIP_EOP_Stage_IV()
test_case.identifier: GCIP_EOP_Stage_IV
test_case.invocations: toString getFile getResource getClass getVariables assertTrue contains assertEquals size
test_case.modifiers: @Test
test_case.parameters: ()
test_case.return: void
test_case.signature: void GCIP_EOP_Stage_IV()
focal_class.declarator: logger = Logger.getLogger(NetcdfDataReader.class.getName())
focal_class.modifier: private static final
focal_class.original_string: private static final Logger logger = Logger.getLogger(NetcdfDataReader.class.getName());
focal_class.type: Logger
focal_class.var_name: logger
focal_class.file: vortex-api/src/main/java/mil/army/usace/hec/vortex/io/NetcdfDataReader.java
focal_class.identifier: NetcdfDataReader
focal_class.class_method_signature: NetcdfDataReader.NetcdfDataReader(DataReaderBuilder builder)
focal_class.full_signature:   NetcdfDataReader(DataReaderBuilder builder)
focal_class.identifier: NetcdfDataReader
focal_class.parameters: (DataReaderBuilder builder)
focal_class.signature:  NetcdfDataReader(DataReaderBuilder builder)
focal_class.class_method_signature: NetcdfDataReader.getDtos()
focal_class.full_signature: @Override public List<VortexData> getDtos()
focal_class.identifier: getDtos
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: List<VortexData>
focal_class.signature: List<VortexData> getDtos()
focal_class.class_method_signature: NetcdfDataReader.getDto(int idx)
focal_class.full_signature: @Override public VortexData getDto(int idx)
focal_class.identifier: getDto
focal_class.modifiers: @Override public
focal_class.parameters: (int idx)
focal_class.return: VortexData
focal_class.signature: VortexData getDto(int idx)
focal_class.class_method_signature: NetcdfDataReader.getDtoCount()
focal_class.full_signature: @Override public int getDtoCount()
focal_class.identifier: getDtoCount
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: int
focal_class.signature: int getDtoCount()
focal_class.class_method_signature: NetcdfDataReader.getVariables(String path)
focal_class.full_signature: public static Set<String> getVariables(String path)
focal_class.identifier: getVariables
focal_class.modifiers: public static
focal_class.parameters: (String path)
focal_class.return: Set<String>
focal_class.signature: Set<String> getVariables(String path)
focal_class.class_method_signature: NetcdfDataReader.getFloatArray(Array array)
focal_class.full_signature: private float[] getFloatArray(Array array)
focal_class.identifier: getFloatArray
focal_class.modifiers: private
focal_class.parameters: (Array array)
focal_class.return: float[]
focal_class.signature: float[] getFloatArray(Array array)
focal_class.class_method_signature: NetcdfDataReader.getData(GridDataset dataset, String variable)
focal_class.full_signature: private List<VortexData> getData(GridDataset dataset, String variable)
focal_class.identifier: getData
focal_class.modifiers: private
focal_class.parameters: (GridDataset dataset, String variable)
focal_class.return: List<VortexData>
focal_class.signature: List<VortexData> getData(GridDataset dataset, String variable)
focal_class.class_method_signature: NetcdfDataReader.getWkt(Projection projection)
focal_class.full_signature: private static String getWkt(Projection projection)
focal_class.identifier: getWkt
focal_class.modifiers: private static
focal_class.parameters: (Projection projection)
focal_class.return: String
focal_class.signature: String getWkt(Projection projection)
focal_class.class_method_signature: NetcdfDataReader.getTimeBounds(GridCoordSystem gcs)
focal_class.full_signature: private List<ZonedDateTime[]> getTimeBounds(GridCoordSystem gcs)
focal_class.identifier: getTimeBounds
focal_class.modifiers: private
focal_class.parameters: (GridCoordSystem gcs)
focal_class.return: List<ZonedDateTime[]>
focal_class.signature: List<ZonedDateTime[]> getTimeBounds(GridCoordSystem gcs)
focal_class.class_method_signature: NetcdfDataReader.convert(CalendarDate date)
focal_class.full_signature: private static ZonedDateTime convert(CalendarDate date)
focal_class.identifier: convert
focal_class.modifiers: private static
focal_class.parameters: (CalendarDate date)
focal_class.return: ZonedDateTime
focal_class.signature: ZonedDateTime convert(CalendarDate date)
focal_class.class_method_signature: NetcdfDataReader.getGrid(GridCoordSystem coordinateSystem)
focal_class.full_signature: private static Grid getGrid(GridCoordSystem coordinateSystem)
focal_class.identifier: getGrid
focal_class.modifiers: private static
focal_class.parameters: (GridCoordSystem coordinateSystem)
focal_class.return: Grid
focal_class.signature: Grid getGrid(GridCoordSystem coordinateSystem)
focal_class.class_method_signature: NetcdfDataReader.shiftGrid(Grid grid)
focal_class.full_signature: private static Grid shiftGrid(Grid grid)
focal_class.identifier: shiftGrid
focal_class.modifiers: private static
focal_class.parameters: (Grid grid)
focal_class.return: Grid
focal_class.signature: Grid shiftGrid(Grid grid)
focal_class.class_method_signature: NetcdfDataReader.scaleGrid(Grid grid, Unit<?> cellUnits, Unit<?> csUnits)
focal_class.full_signature: private static Grid scaleGrid(Grid grid, Unit<?> cellUnits, Unit<?> csUnits)
focal_class.identifier: scaleGrid
focal_class.modifiers: private static
focal_class.parameters: (Grid grid, Unit<?> cellUnits, Unit<?> csUnits)
focal_class.return: Grid
focal_class.signature: Grid scaleGrid(Grid grid, Unit<?> cellUnits, Unit<?> csUnits)
focal_class.class_method_signature: NetcdfDataReader.getDtoCount(GridDataset dataset, String variable)
focal_class.full_signature: private int getDtoCount(GridDataset dataset, String variable)
focal_class.identifier: getDtoCount
focal_class.modifiers: private
focal_class.parameters: (GridDataset dataset, String variable)
focal_class.return: int
focal_class.signature: int getDtoCount(GridDataset dataset, String variable)
focal_class.class_method_signature: NetcdfDataReader.getDtoCount(VariableDS variableDS)
focal_class.full_signature: private int getDtoCount(VariableDS variableDS)
focal_class.identifier: getDtoCount
focal_class.modifiers: private
focal_class.parameters: (VariableDS variableDS)
focal_class.return: int
focal_class.signature: int getDtoCount(VariableDS variableDS)
focal_class.class_method_signature: NetcdfDataReader.getData(GridDataset dataset, String variable, int idx)
focal_class.full_signature: private VortexData getData(GridDataset dataset, String variable, int idx)
focal_class.identifier: getData
focal_class.modifiers: private
focal_class.parameters: (GridDataset dataset, String variable, int idx)
focal_class.return: VortexData
focal_class.signature: VortexData getData(GridDataset dataset, String variable, int idx)
focal_class.superclass: extends DataReader
focal_method.body: public static Set<String> getVariables(String path) {
          try (NetcdfDataset ncd = NetcdfDatasets.openDataset(path)) {
              List<Variable> variables = ncd.getVariables();
              Set<String> variableNames = new HashSet<>();
              variables.forEach(variable -> {
                  if (variable instanceof VariableDS) {
                      VariableDS variableDS = (VariableDS) variable;
                      List<CoordinateSystem> coordinateSystems = variableDS.getCoordinateSystems();
                      if (!coordinateSystems.isEmpty()) {
                          variableNames.add(variable.getFullName());
                      }
                  }
              });
              return variableNames;
          } catch (Exception e) {
              logger.log(Level.SEVERE, e, e::getMessage);
          }
          return Collections.emptySet();
      }
focal_method.class_method_signature: NetcdfDataReader.getVariables(String path)
focal_method.full_signature: public static Set<String> getVariables(String path)
focal_method.identifier: getVariables
focal_method.invocations: openDataset getVariables forEach getCoordinateSystems isEmpty add getFullName log emptySet
focal_method.modifiers: public static
focal_method.parameters: (String path)
focal_method.return: Set<String>
focal_method.signature: Set<String> getVariables(String path)