Shyft: Open Source Framework for Hydrology and Energy Market Modelling¶
This document was last updated on 2026-05-25 for version 35.2.0.
Shyft is an open source framework for modelling hydrology, energy markets and high-performance time series analysis.
It provides tools for building operational forecasting systems, market models, and analytical workflows.
The project consists of four main Python packages:
The open source Shyft project contains four Python packages:
shyft.hydrology
Spatially distributed conceptual hydrological models.
shyft.energy-market
Components for constructing energy market models.
shyft.time-series
High-performance time-series framework.
shyft.dashboard
Web visualization components based on Bokeh.
Shyft releases are cryptographically signed and accompanied by provenance documentation to support independent verification. See the Release Overview section for details, and the Security section for the underlying security model and key management procedures.
Releases
- Introduction
- Overview
- Release Process
- Release Runbook
- Package verification
- General Verification Procedure
- Import the Release Signing Key
- Verify the Provenance Document
- Distribution-Specific Package Verification
- RPM-Based Distributions (Fedora, RHEL, Rocky, AlmaLinux)
- Pacman-Based Distributions (Arch Linux)
- Optional Checksum Verification
- Trust Chain Summary
- Why Multiple Verification Steps?
- Operational Use
- Signing keys
- Governance model
Security and Trust
Time Series
Hydrology
- Installation
- Concepts
- Tutorials
- Essential api classes
- Constructing a model using the Shyft API
- The Shyft api
- Single method point simulation
- Part 1: Nidelva simulation with Shyft API
- Part 2: Nidelva simulation with the Shyft API
- Running a calibration with Shyft
- Configured Shyft simulations
- Shyft simulation using Repositories
- Kalman filtering on time series
- Kalman filtering on gridded data
- Kalman filter and choice of parameters
- Grid post-processing of Met.no data using Shyft API
- Penman-Monteith Sensitivity
- Penman-Monteith Single Method Verification
- Sensitivity analysis of radiation routine
- Checking calculation of Radiation at Polar Region
- Radiation algorithm on the camels data
- Examples
- API Documentation
ARegionEnvironmentActualEvapotranspirationCalculate_step()ActualEvapotranspirationParameterActualEvapotranspirationResponseBTKParameterCalibrationOptionCalibrationStatusCatchmentPropertyTypeCellEnvironmentCellStateIdDrmClientDrmServerFSM2CalculatorFSM2ConfigurationFSM2ParameterFSM2ResponseFSM2SnowParametersFSM2StateFSM2VegetationParametersFlowAdjustResultFreeWaterEvaporationCalculatorFreeWaterEvaporationResponseGammaSnowCalculatorGammaSnowParameterGammaSnowResponseGammaSnowStateGeoCellDataGeoCellDataClientGeoCellDataModelGeoCellDataModelVectorGeoCellDataServerGeoCellDataVectorGeoPointSourceGeoPointSourceVectorGlacierMeltParameterGoalFunctionClientGoalFunctionModelGoalFunctionModelVectorGoalFunctionServerHbvActualEvapotranspirationCalculate_step()HbvActualEvapotranspirationParameterHbvActualEvapotranspirationResponseHbvPhysicalSnowCalculatorHbvPhysicalSnowParameterHbvPhysicalSnowResponseHbvPhysicalSnowStateHbvSnowCalculatorHbvSnowParameterHbvSnowResponseHbvSnowStateHbvSoilCalculatorHbvSoilParameterHbvSoilResponseHbvSoilStateHbvTankCalculatorHbvTankParameterHbvTankResponseHbvTankStateIDWParameterIDWPrecipitationParameterIDWTemperatureParameterInterpolationParameterKalmanBiasPredictorKalmanFilterKalmanParameterKalmanStateKirchnerCalculatorKirchnerParameterKirchnerResponseKirchnerStateLandTypeFractionsMethodStackParameterOKCovarianceTypeOKParameterOptimizerMethodParameterClientParameterModelParameterModelVectorParameterOptimizerParameterServerPenmanMonteithCalculatorPenmanMonteithParameterPenmanMonteithResponsePenmanMonteithVegetationCalculatorPenmanMonteithVegetationParameterPenmanMonteithVegetationResponsePrecipitationCorrectionCalculatorPrecipitationCorrectionParameterPrecipitationSourcePrecipitationSourceVectorPriestleyTaylorCalculatorPriestleyTaylorParameterPriestleyTaylorResponseRadiationCalculatorRadiationParameterRadiationResponseRadiationSourceRadiationSourceVectorRegionModelTypeRelHumSourceRelHumSourceVectorRiverRiverNetworkRoutingInfoSkaugenCalculatorSkaugenParameterSkaugenResponseSkaugenStateSnowTilesCalculatorSnowTilesParameterSnowTilesResponseSnowTilesStateStateClientStateModelStateModelVectorStateServerTargetSpecCalcTypeTargetSpecificationPtsTargetSpecificationVectorTemperatureSourceTemperatureSourceVectorTsTransformUHGParameterWindSpeedSourceWindSpeedSourceVectorbayesian_kriging_temperature()compute_geo_ts_values_at_time()create_precipitation_source_vector_from_np_array()create_radiation_source_vector_from_np_array()create_rel_hum_source_vector_from_np_array()create_temperature_source_vector_from_np_array()create_wind_speed_source_vector_from_np_array()glacier_melt_step()idw_precipitation()idw_radiation()idw_relative_humidity()idw_temperature()idw_wind_speed()make_initial_state()make_uhg_from_gamma()ordinary_kriging()parse_cf_time()stat_scopeversion()
Energy Market
Dashboard