pkkalman(1)

πŸ’– pkkalman β€” the manual page, but make it make sense πŸ’–

okay bestie, sit down, hydrate, and let's talk about pkkalman(1) ✨ this is the command that does kalman raster images: median, min/max, morphological, kalmaning. yes the NAME section literally lists all of that, i'm not gatekeeping 🫢


🌸 SYNOPSIS 🌸

pkkalman [options]

that's it. that's the whole vibe. just you, the command, and a truly unhinged number of options πŸ’…


πŸ¦‹ DESCRIPTION πŸ¦‹

okay so here's the tea πŸ“ pkkalman will complement a time series of observations (that's option -obs) at fine spatial resolution. it does this with a data assimilation technique based on a Kalman filter. no cap, that's the whole bit.

the data at fine spatial resolution gets assimilated with coarse spatial resolution time series at a finer temporal resolution, and that one is referred to as a model (option -mod). two names, two jobs, iconic honestly πŸ‘‘

the time series for both observation and model can be provided either as multi-band raster datasets or as multiple single band datasets. both are valid, pick your fighter ✨

missing data in the observations are predicted by the algorithm. yes it literally just fills in the blanks for you, main character energy fr fr.

🚨 important boundary: the model must cover at least the spatial coverage of the observation. do not try it, it will not slay.

and the missing data has to be provided in one of two ways:

  • as nodata values in the input (using option -obsnodata), or
  • as an external mask (using option -obsmask).

the time sequence for the model and observation should be provided via the options -tmod and -tobs. πŸ“…

tuning parameters for the algorithm are process noise (option -q) and the weights for uncertainty of valid observations (-uo) and the model (-um). those three are your lil knobs, twist responsibly πŸŽ›οΈ


✨ OPTIONS ✨

every single one, no skips, no skimming. this is a safe space for flags πŸ’œ

  • -dir forward|backward|smooth, --direction forward|backward|smooth β€” direction to run model (forward|backward|smooth)
  • -mod filename, --model filename β€” coarse spatial resolution input datasets(s) used as model. Use either multi-band input (-model multiband_model.tif) or multiple single-band inputs (-mod model1 -mod model2 etc.)
  • -modmask filename, --modmask filename β€” model mask datasets(s). Must have same dimension as model input. Use either multi-band input or multiple single-band inputs
  • -obs filename, --observation filename β€” fine spatial resolution input dataset(s) used as observation. Use either multi-band input (-obs multiband_obs.tif) or multiple single-band inputs (-obs obs1 -obs obs2 etc.)
  • -obsmask filename, --obsmask filename β€” observation mask dataset(s). Must have same dimension as observation input (use multi-band input or multiple single-band inputs)
  • -tmod number, --tmodel number β€” time sequence of model input. Sequence must have exact same length as model input. Leave empty to have default sequence 0,1,2,etc.
  • -tobs number, --tobservation number β€” time sequence of observation input. Sequence must have exact same length as observation input
  • -a_srs EPSG:number, --a_srs EPSG:number β€” Override the projection for the output file (leave blank to copy from input file, use epsg:3035 to use European projection and force to European grid)
  • -ofw filename, --outputfw filename β€” Output raster dataset for forward model
  • -u_ofw filename, --u_outputfw filename β€” Uncertainty output raster dataset for forward model
  • -obw filename, --outputbw filename β€” Output raster dataset for backward model
  • -u_obw filename, --u_outputbw filename β€” Uncertainty output raster dataset for backward model
  • -ofb filename, --outputfb filename β€” Output raster dataset for smooth model
  • -u_ofb filename, --u_outputfb filename β€” Uncertainty output raster dataset for smooth model
  • -modnodata value, --modnodata value β€” invalid value for model input
  • -obsnodata value, --obsnodata value β€” invalid value for observation input
  • -msknodata value, --msknodata value β€” Mask value not to consider
  • -mskband value, --mskband value β€” Mask band to read (0 indexed)
  • -obsmin value, --obsmin value β€” Minimum value for observation data
  • -obsmax value, --obsmax value β€” Maximum value for observation data
  • -eps value, --eps value β€” epsilon for non zero division. Default: 0.00001
  • -um value, --uncertmodel value β€” Uncertainty of the model
  • -uo value, --uncertobs value β€” Uncertainty of valid observations
  • -unodata value, --uncertnodata value β€” Uncertainty in case of no-data values in observation.
  • -q value, --q value β€” Process noise: expresses instability (variance) of proportions of fine res pixels within a moderate resolution pixel
  • -down number, --down number β€” Downsampling factor for reading model data to calculate regression (default is ratio between coarse (model) and fine (obs) resolution raster datasets)
  • -ot type, --otype type β€” Data type for output image ({Byte / Int16 / UInt16 / UInt32 / Int32 / Float32 / Float64 / CInt16 / CInt32 / CFloat32 / CFloat64}). Empty string: inherit type from input image
  • -of GDALformat, --oformat GDALformat β€” Output image format (see also gdal_translate(1)). Empty string: inherit from input image
  • -co NAME=VALUE, --co NAME=VALUE β€” Creation option for output file. Multiple options can be specified.
  • -v level, --verbose level β€” verbose mode when positive

that's the whole page babes, every flag accounted for, nothing left on read πŸ’–

sign-off szn πŸŽ€ this lil masterpiece is dated 01 January 2025 and lives under the manual name pkkalman(1) β€” you're welcome, go assimilate something, and remember: model covers observation, always. periodt. πŸ’…πŸŒˆ

πŸ“¦ where this page comes from