docs: def write_asc_file(filename, data, xsize, ysize, geotransform, nodata_value):
          """Output Raster to ASCII file.
  
          Args:
              filename: output ASCII filename.
              data: 2D array data.
              xsize: Col count.
              ysize: Row count.
              geotransform: geographic transformation.
              nodata_value: nodata_flow value.
          """
          UtilClass.mkdir(os.path.dirname(FileClass.get_file_fullpath(filename)))
          header = 'NCOLS %d\n' \
                   'NROWS %d\n' \
                   'XLLCENTER %f\n' \
                   'YLLCENTER %f\n' \
                   'CELLSIZE %f\n' \
                   'NODATA_VALUE %f' % (xsize, ysize, geotransform[0] + 0.5 * geotransform[1],
                                        geotransform[3] - (ysize - 0.5) * geotransform[1],
                                        geotransform[1], nodata_value)
  
          with open(filename, 'w', encoding='utf-8') as f:
              f.write(header)
              for i in range(0, ysize):
                  for j in range(0, xsize):
                      f.write('%s\t' % repr(data[i][j]))
                  f.write('\n')
          f.close()