test_class.file: vortex-api/src/test/java/mil/army/usace/hec/vortex/io/TiffDataWriterTest.java
test_class.identifier: TiffDataWriterTest
test_case.body: @Test
      void TiffDataWriterWritesGribFile(){
          String inFile = new File(getClass().getResource(
                  "/MRMS_GaugeCorr_QPE_01H_00.00_20170102-120000.grib2").getFile()).toString();
          String variableName = "GaugeCorrQPE01H_altitude_above_msl";
  
          DataReader reader = DataReader.builder()
                  .path(inFile)
                  .variable(variableName)
                  .build();
  
          List<VortexData> dtos = new ArrayList<>(reader.getDtos());
  
          Path destination = Paths.get("C:/Temp/.tiff");
  
          DataWriter writer = DataWriter.builder()
                  .destination(destination)
                  .data(dtos)
                  .build();
  
          writer.write();
      }
test_case.class_method_signature: TiffDataWriterTest.TiffDataWriterWritesGribFile()
test_case.full_signature: @Test void TiffDataWriterWritesGribFile()
test_case.identifier: TiffDataWriterWritesGribFile
test_case.invocations: toString getFile getResource getClass build variable path builder getDtos get build data destination builder write
test_case.modifiers: @Test
test_case.parameters: ()
test_case.return: void
test_case.signature: void TiffDataWriterWritesGribFile()
focal_class.file: vortex-api/src/main/java/mil/army/usace/hec/vortex/io/TiffDataWriter.java
focal_class.identifier: TiffDataWriter
focal_class.class_method_signature: TiffDataWriter.TiffDataWriter(DataWriterBuilder builder)
focal_class.full_signature:   TiffDataWriter(DataWriterBuilder builder)
focal_class.identifier: TiffDataWriter
focal_class.parameters: (DataWriterBuilder builder)
focal_class.signature:  TiffDataWriter(DataWriterBuilder builder)
focal_class.class_method_signature: TiffDataWriter.write()
focal_class.full_signature: @Override public void write()
focal_class.identifier: write
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void write()
focal_class.superclass: extends DataWriter
focal_method.body: @Override
      public void write() {
          List<VortexGrid> grids = data.stream()
                  .filter(vortexData -> vortexData instanceof VortexGrid)
                  .map(vortexData -> (VortexGrid) vortexData)
                  .collect(Collectors.toList());
  
          grids.forEach(grid -> {
              Dataset dataset = RasterUtils.getDatasetFromVortexGrid(grid);
              ArrayList<String> gdalOptions = new ArrayList<>();
              gdalOptions.add("-of");
              gdalOptions.add("Gtiff");
              gdalOptions.add("-ot");
              gdalOptions.add("Float32");
              gdalOptions.add("-co");
              gdalOptions.add("TILED=YES");
              gdalOptions.add("-co");
              gdalOptions.add("COMPRESS=DEFLATE");
              gdalOptions.add("-co");
              gdalOptions.add("ZLEVEL=1");
              gdalOptions.add("-co");
              gdalOptions.add("BIGTIFF=YES");
              TranslateOptions translateOptions = new TranslateOptions(new Vector<>(gdalOptions));
              Dataset out = gdal.Translate(destination.toString(), dataset, translateOptions);
              out.FlushCache();
              out.delete();
          });
      }
focal_method.class_method_signature: TiffDataWriter.write()
focal_method.full_signature: @Override public void write()
focal_method.identifier: write
focal_method.invocations: collect map filter stream toList forEach getDatasetFromVortexGrid add add add add add add add add add add add add Translate toString FlushCache delete
focal_method.modifiers: @Override public
focal_method.parameters: ()
focal_method.return: void
focal_method.signature: void write()