VFlood
Pascaproses

8. Pascaproses spasial/temporal (vflood-analyze)

Setelah Anda punya simulation.nc hasil bundling di §7, vflood-analyze menjawab pertanyaan yang tidak bisa dijawab oleh “grid mentah” atau “frame plot” saja:

  • bagaimana sebuah variabel berubah antar sub-basin,
  • apakah area tergenang terklaster atau menyebar,
  • bagaimana hidrograp di satu titik pengamatan.

Ada 4 subcommand:

vflood-rri RRI_Input.txt                                              # 1. jalankan simulasi
vflood-netcdf RRI_Input.txt                                       # 2. bundling ke NetCDF
vflood-analyze zonal simulation.nc --variable hs \
    --zones das_boundaries.geojson --id-field kode_das --out zonal_stats.csv
vflood-analyze moran simulation.nc --variable hs --out moran_timeseries.csv
vflood-analyze hydrograph simulation.nc --variable qr \
    --locations location.txt --outdir hydrograph/ --acf --plot
  • zonal — mean/min/max/std/sum/count per zona pada setiap timestep dari file GeoJSON/shapefile berisi polygon. Output CSV long-format. Tidak merender chart.

  • moran — Moran's I global (autokorelasi spasial) untuk satu variabel pada tiap timestep. Output CSV saja.

  • hydrograph — time series dan ringkasan statistik (peak value/waktu, durasi rising/recession pada ambang 10% peak, volume) di titik lokasi bernama. Membaca location.txt format name row col (1-indexed) seperti RRI_Input.txt mendefinisikan gauge.

  • combined — grafik presentasi: curah hujan + debit sungai (Q) + kedalaman sungai + kedalaman slope (overland), satu grafik per titik location.txt, dengan dua pilihan --layout:

    # timeseries (default): keempatnya sebagai panel time-series bertumpuk
    vflood-analyze combined simulation.nc --rain rain/rain.dat \
        --locations location.txt --outdir combined/ --gif
     
    # spatial: 3 peta spasial (hujan/kedalaman sungai/kedalaman slope) + 1 panel hidrograf (Q)
    vflood-analyze combined simulation.nc --layout spatial --project RRI_Input.txt \
        --locations location.txt --outdir combined/ --gif

    --layout timeseries (default) menumpuk keempatnya sebagai panel time-series pada satu sumbu waktu bersama. Panel hujan adalah rata-rata basin (postprocess.basin_average_rainfall — mean spasial grid rain.dat pada tiap timestep output, lewat lookup right-continuous per-timestep yang sama persis dengan yang dipakai engine saat run) digambar sebagai bar dengan sumbu-y terbalik — hujan "menggantung" dari atas, konvensi hyetograph-di-atas-hidrograp standar di hidrologi.

    --layout spatial adalah dashboard 2x2: 3 peta raster basin penuh (intensitas hujan, kedalaman sungai, kedalaman slope, masing-masing pada satu waktu) + 1 panel hidrograf (debit Q yang tumbuh seiring waktu di titik gauge). Butuh --project RRI_Input.txt, bukan --rain — panel hujan spasial adalah remap sejati dari grid rain.dat sendiri ke grid (lat, lon) model (postprocess.remap_rainfall_to_grid_series), yang butuh field xllcorner_rain/yllcorner_rain/cellsize_rain_x/cellsize_rain_y milik RRI_Input.txt — georeferensi yang tidak dibawa oleh format blok rain.dat itu sendiri.

    --gif di kedua layout juga merender versi animasi per lokasi (<name>_combined.gif / <name>_spatial.gif) — satu frame per timestep output, tumbuh/update mengikuti waktu run, dengan penanda "sekarang" — bisa diputar berdampingan dengan animasi genangan spasial dari vflood-export --formats gif (§6) untuk presentasi. Butuh qr, hr, dan hs sudah ter-bundle di NetCDF input.

  • plot — re-render PNG chart hidrograp dari <location>.csv.

Semua output CSV adalah plain, long-format CSV sehingga mudah dipakai di Excel/pandas/R.

Semua subcommand membaca NetCDF bundling langsung lewat netCDF4.Dataset.