API Structure¶
This page summarizes the high-level structure of the package and where to start.
Canonical package layout¶
Bakaano is organized into focused subpackages:
bakaano.core: shared infrastructure and utilitiesbakaano.data: input-data acquisition and preprocessingbakaano.hydrology: runoff, routing, PET, and routed-runoff visualizationbakaano.neuralnet: neural-network training and simulationbakaano.extensions: optional extensions such as scenarios and flood mapping
High-level entry points¶
bakaano.core.project.ProjectContext: shared working-directory paths and readiness checksbakaano.neuralnet.train.train_streamflow_model: direct training entry pointbakaano.neuralnet.simulate.evaluate_streamflow_model_interactively: direct interactive evaluation entry pointbakaano.neuralnet.simulate.simulate_grdc_csv_stations: direct station-set simulation entry pointbakaano.neuralnet.simulate.simulate_streamflow: direct arbitrary-point simulation entry pointbakaano.neuralnet.train.DataPreprocessor: builds training datasets, optionally adding routed rainfall if availablebakaano.neuralnet.train.StreamflowModel: model definition and trainingbakaano.neuralnet.simulate.PredictDataPreprocessor: builds simulation inputs, optionally adding routed rainfall if availablebakaano.neuralnet.simulate.PredictStreamflow: loads model and runs inference
Data preparation modules¶
bakaano.data.dem.DEM: DEM download/clipbakaano.data.soil.Soil: soil propertiesbakaano.data.ndvi.NDVI: NDVI climatologybakaano.data.tree_cover.TreeCover: vegetation cover fractionsbakaano.data.alpha_earth.AlphaEarth: AlphaEarth embeddingsbakaano.data.meteo.Meteo: meteorological forcing
Hydrology modules¶
bakaano.hydrology.veget.VegET: runoff generation + routingbakaano.hydrology.rainfall_features.RainfallFeatures: optional routed rainfall productsbakaano.hydrology.router.RunoffRouter: flow direction and routing utilitiesbakaano.hydrology.pet.PotentialEvapotranspiration: PET calculations
Plotting helpers¶
bakaano.hydrology.plot_runoff.RoutedRunoff: routed runoff maps and time series
Advanced workflows¶
bakaano.extensions.scenario.ScenarioManager: land-cover-change scenariosbakaano.extensions.flood_mapper.FloodMapper: rating curves and inundation mapping