docs: def output_compressed_dinf(dinfflowang, compdinffile, weightfile):
          """Output compressed Dinf flow direction and weight to raster file
          Args:
              dinfflowang: Dinf flow direction raster file
              compdinffile: Compressed D8 flow code
              weightfile: The correspond weight
          """
          dinf_r = RasterUtilClass.read_raster(dinfflowang)
          data = dinf_r.data
          xsize = dinf_r.nCols
          ysize = dinf_r.nRows
          nodata_value = dinf_r.noDataValue
  
          cal_dir_code = frompyfunc(DinfUtil.compress_dinf, 2, 3)
          updated_angle, dir_code, weight = cal_dir_code(data, nodata_value)
  
          RasterUtilClass.write_gtiff_file(dinfflowang, ysize, xsize, updated_angle,
                                           dinf_r.geotrans, dinf_r.srs, DEFAULT_NODATA, GDT_Float32)
          RasterUtilClass.write_gtiff_file(compdinffile, ysize, xsize, dir_code,
                                           dinf_r.geotrans, dinf_r.srs, DEFAULT_NODATA, GDT_Int16)
          RasterUtilClass.write_gtiff_file(weightfile, ysize, xsize, weight,
                                           dinf_r.geotrans, dinf_r.srs, DEFAULT_NODATA, GDT_Float32)