hsamiplus package
Python Boilerplate contains all the boilerplate you need to create a Python package.
Submodules
hsamiplus.cli module
Console script for hsamiplus.
hsamiplus.hsami2 module
The main function for HSAMI+ model simulation.
- hsamiplus.hsami2.hsami2(projet)[source]
Simulation du modèle HSAMI.
Parameters
- projetdict
Dictionnaire contenant des données d’entrée.
Returns
- sdict
Sorties de simulation.
- etats: dict
États du bassin versants et du réservoir.
- deltas: dict
Composants du bilan massique.
Raises
- ValueError
Si la superficie maximale de la zone humide équivalente est nulle lorsque le module « mhumide » est utilisé.
Notes
Fonction principale pour la simulation du modèle HSAMI. Simuler les processus hydrologiques en fonction des paramètres du projet donnés.
- projetdict, un dictionnaire contenant des données d’entrée :
param : liste, 50 parametres du modèle
modules : dict, lchoix de modules
physio : dict, qui contient d’information physiologique
superficie : liste, superfice du BV est de reservoir
meteo : ditc, données météo
- sdict, un dictionnaire contenant les sorties de simulation avec les clés :
‘Qtotal’: liste de float
‘Qbase’: liste de float
‘Qinter’: liste de float
‘Qsurf’: liste de float
‘Qreservoir’: liste de float
‘Qglace’: liste de float
‘ETP’: liste de float
‘ETRtotal’: liste de float
‘ETRsublim’: liste de float
‘ETRPsurN’: liste de float
‘ETRintercept’: liste de float
‘ETRtranspir’: liste de float
‘ETRreservoir’: liste de float
‘ETRmhumide’: liste de float
‘Qmh’: liste de float
- etatsdict
Un dictionnaire contenant les états de la simulation à chaque pas de temps.
- deltasdict
Un dictionnaire contenant les composants du bilan massique avec les clés : - ‘total’: liste de float - ‘glace’: liste de float - ‘interception’: liste de float - ‘ruissellement’: liste de float - ‘vertical’: liste de float - ‘mhumide’: liste de float - ‘horizontal’: liste de float
Développé par J.L. Bisson et F. Roberge dans Matlab, 1983. Modifié et bonifié par Catherine Guay, Marie Minville, Isabelle Chartier et Jonathan Roy, 2013-2017. Traduit en Python par Didier Haguma, 2024.
- hsamiplus.hsami2.hsami_etat_initial(projet, param, modules, physio, superficie, etat)[source]
Tour de chauffe (1 an).
Parameters
- projetdict
Données du projet HSAMI+.
- paramlist
Paramètres pour la simulation.
- modulesdict
Les modules pour la simulation.
- physiodict
Les données physiographiques.
- superficielist
La superficie du bassin versant et la superficie moyenne du réservoir.
- etatdict
État du bassin versant et du réservoir.
Returns
- dict
État du bassin versant et du réservoir.
- hsamiplus.hsami2.hsami_simulation(projet, param, modules, physio, superficie, etat, nb_pas_total, s, etats, deltas)[source]
Simulation avec HASMAI+.
Parameters
- projetdict
Dictionnaire contenant des données d’entrée.
- paramlist
Paramètres pour la simulation.
- modulesdict
Les modules pour la simulation.
- physiodict
Les données physiographiques.
- superficielist
La superficie du bassin versant et la superficie moyenne du réservoir.
- etatdict
État du bassin versant et du réservoir à un pas de temps.
- nb_pas_totalfloat
Nombre de pas des temps total.
- sdict
Sorties de simulation.
- etatsdict
États du bassin versant et du réservoir pout tous les pas de temps.
- deltasdict
Composants du bilan massique.
Returns
- sdict
Sorties de simulation.
- etatsdict
États du bassin versants et du réservoir.
- deltasdict
Composants du bilan massique.
Notes
- projetdict, Un dictionnaire contenant les clés suivantes :
- ‘superficie’liste des floats, la zone du projet. S’il ne contient qu’un seul élément,
un deuxième élément de valeur 0 est ajouté.
‘param’ : liste des float, Paramètres pour la simulation.
‘mémoire’ : int, taille de la mémoire pour la simulation.
‘physio’ : dict, les données physiographiques peuvent être vides.
- ‘modules’dict, les modules pour la simulation peuvent être vides. Les valeurs par défaut
sont définies si elles ne sont pas fournies.
‘meteo’ : dict, données météorologiques pour la simulation.
‘dates’ : liste des str, dates de simulation.
‘nb_pas_par_jour’ : entier, nombre de pas de temps par jour.
- sdict, un dictionnaire contenant les sorties de simulation avec les clés :
‘Qtotal’ : liste de float
‘Qbase’ : liste de float
‘Qinter’ : liste de float
‘Qsurf’ : liste de float
‘Qreservoir’ : liste de float
‘Qglace’ : liste de float
‘ETP’ : liste de float
‘ETRtotal’ : liste de float
‘ETRsublim’ : liste de float
‘ETRPsurN’ : liste de float
‘ETRintercept’ : liste de float
‘ETRtranspir’ : liste de float
‘ETRreservoir’ : liste de float
‘ETRmhumide’ : liste de float
‘Qmh’ : liste de float
- etatsdict
Un dictionnaire contenant les états de la simulation à chaque pas de temps.
- deltasdict
Un dictionnaire contenant les composants du bilan massique avec les clés : - ‘total’ : liste de float - ‘glace’ : liste de float - ‘interception’ : liste de float - ‘ruissellement’ : liste de float - ‘vertical’ : liste de float - ‘mhumide’ : liste de float - ‘horizontal’ : liste de float
hsamiplus.hsami2_noyau module
The core of HSAMI+ that simulates hydrological processes for ONE TIME STEP.
- hsamiplus.hsami2_noyau.bilan_sorties(modules, meteo, superficie, nb_pas, etat, q, etp_tot, etr_tot, etr, reserv_ini, etats_ini, eaux_hu_ini, bilan)[source]
CALCUL DU BILAN TOTAL ET CALCUL DU BILAN PAR SOUS-FONCTION.
Parameters
- modulesdict
Les modules pour la simulation.
- meteodict
Données météorologiques pour la simulation.
- superficielist
La superficie du bassin versan et la uuperficie moyenne du réservoir.
- nb_pasint
Nombre de pas de temps.
- etatdict
États du bassin versants et du réservoir.
- qlist
Débits provenant du bassin.
- etp_totfloat
Évapotranspiration totale.
- etr_totfloat
Évapotranspiration réelle totale.
- etrlist
Évapotranspiration et évaporation.
- reserv_inifloat
Etat initial de la réserve.
- etats_inifloat
Etat initial du sol .
- eaux_hu_inifloat
Etat initial du HU.
- bilandict
Bilan hydrologique.
Returns
- sdict
Sorties de simulation.
- etatdict
États du bassin versants et du réservoir.
- deltadict
Fermeture du bilan hydrologique.
- hsamiplus.hsami2_noyau.etp_glace_interception(projet, param, modules, physio, superficie, meteo, nb_pas, etat, bilan)[source]
HSAMI_ETP, HSAMI_GLACE, HSAMI_INTERCEPTION.
Parameters
- projetdict
Projet.
- paramlist
Paramètres pour la simulation.
- modulesdict
Les modules pour la simulation.
- physiodict
Les données physiographiques.
- superficielist
La superficie du bassin versan et la uuperficie moyenne du réservoir.
- meteodict
Données météorologiques pour la simulation.
- nb_pasint
Nombre de pas de temps.
- etatdict
États du bassin versants et du réservoir.
- bilandict
Bilan hydrologique.
Returns
- etatdict
États du bassin versants et du réservoir.
- eau_surfacefloat
Eau disponible à la surface pour évaporation, ruissellement et infiltration.
- demande_eaufloat
Demande en eau restante.
- etpslist,
Évapotranspiration au bassin et réservoir.
- etrlist
Évapotranspiration et évaporation.
- apport_verticallist
Lames d’eau à moduler par les hydrogrammes unitaires.
- glace_vers_reservoirfloat
Lame d’eau transitant de la glace de rive vers le réservoir pour le pas de temps (cm).
- bassin_vers_reservoirfloat
Lame d’eau transitant du réservoir vers la glace de rive pour le pas de temps (cm).
- bilandict,
Bilan hydrologique.
Notes
HSAMI was developed by J.L. Bisson, and F. Roberge in MATLAB, 1983. It was then modified and improved by Catherine Guay, Marie Minville, Isabelle Chartier and Jonathan Roy, 2013-2017 to become HSAMI+. Translated into Python by Didier Haguma, 2024.
- hsamiplus.hsami2_noyau.hsami2_noyau(projet, etat)[source]
Noyau d’HSAMI pour simule UN SEUL PAS DE TEMPS.
Parameters
- projetdict
Dictionnaire contenant données d’entrée de HSAMI+.
- etatdict
États du bassin versants et du réservoir.
Returns
- sdict0
Sorties de simulation.
- etats: dict
États du bassin versants et du réservoir.
- deltas: dict
Composants du bilan massique.
Notes
La fonction constitue le noyau d’HSAMI et simule UN SEUL PAS DE TEMPS. Elle reçoit donc en entrée les états du pas de temps précédent.
- projetun dictionnaire contenant les clés suivantes :
- ‘superficie’superficie(1)Superficie du bassin versant, incluant le réservoir (km^2, scalaire)
superficie(2) : Superficie moyenne du réservoir (= 0 si non modélisé) (km^2, scalaire).
‘param’ : liste des float, Paramètres pour la simulation.
‘mémoire’ : int, Mémoire utilisée pour les hydrogrammes unitaires (j, scalaire)
‘physio’ : dict, les données physiographiques peuvent être vides.
‘modules’ : dict, les modules pour la simulation peuvent être vides. Les valeurs par défaut sont définies si elles ne sont pas fournies.
‘meteo’ : dict, données météorologiques pour la simulation..
‘dates’ : Date de la journée de la simulation (format datevec, vecteur).
‘nb_pas_par_jour’ : Nombre de pas de temps par jour (scalaire).
‘pas’ : Pas à l’intérieur de la journée (scalaire).
- projet[‘param ‘] Paramétres d’HSAMI (scalaires)
param[0] : Efficacité évapo été (adim.) param[1] : Efficacité évapo hiver (adim.) param[2] : Taux de fonte jour (cm/degC/j) param[3] : Taux de fonte nuit (cm/degC/j) param[4] : Température fonte jour (degC) param[5] : Température fonte nuit (degC) param[6] : Température référence pluie (degC) param[7] : Effet redoux sur aire enneigée (adim.) param[8] : Effet gel (adim.) param[9] : Effet sol (adim.) param[10] : Seuil_min (cm) param[11] : Sol_min (cm) param[12] : Sol_max (cm) param[13] : Nappe_max (cm) param[14] : Portion ruissellement surface (fraction) param[15] : Portion ruissellement sol max (fraction) param[16] : Taux vidange sol (cm/j) param[17] : Taux vidange nappe (cm/j) param[18] : Taux vidange inter (cm/j) param[19] : Mode hydrogramme surface param[20] : Forme hydrogramme surface param[21] : Mode hydrogramme intermédiaire param[22] : Forme hydrogramme intermédiaire param[23] : Curve Number param[24] : Puissance de la cond. hydraulique saturée (Ks) de la couche 1 (Ks [=] cm/j) param[25] : Potentiel matriciel au front mouillant (cm) param[26] : Coeff. de récession de la nappe param[27] : Rendement spécifique de la nappe param[28] : Taux de fonte milieu 1 (coniféres) param[29] : Taux de fonte milieu 2 (feuillus) param[30] : Taux de fonte milieu 3 (autres) param[31] : Température de fonte milieu 1 (coniféres) param[32] : Température de fonte milieu 2 (feuillus) param[33] : Température de fonte milieu 3 (autres) param[34] : Puissance de Ks pour l’infiltration param[35] : Capacité de retenue de la neige param[36] : Indice de distribution de la taille des pores (b), couche 1 param[37] : Indice de distribution de la taille des pores (b), couche 2 param[38] : Puissance de K_s, couche 2 param[39] : épaisseur couche 1 (cm) param[40] : épaisseur couche 2 (cm) param[41] : Point de flétrissement permanent, couche 1 param[42] : Capacité au champ, couche 1 param[43] : Capacité au champ, couche 2 param[44] : Porosité couche 1 param[45] : Porosité couche 2m param[46] : Coefficient de Stefan (k) param[47] : Coefficient pour calcul du volume max du MHE (hmax) param[48] : Coefficient pour détermination de la surface normale (30 dans HYDROTEL)(p_norm) param[49] : Puissance de la conductivité hydraulique à saturation à la base du MHE (mm/j)
- projet[‘meteo’][‘bassin’] Vecteur météo
tmin [cm] tmax [cm] pluie [cm] neige [cm] soleil [fraction] (optionnel) een [cm] (optionnel, défaut = -1)
projet[‘meteo’][‘reservoir’] ** S’il n’existe aucune météo au réservoir, celle du bassin est utilisée. ** Vecteur météo : tmin [cm] tmax [cm] pluie [cm] neige [cm] soleil [fraction] (optionnel)
- projet[‘modules’] Structure spécifiant les modules é utiliser
etp_bassin : ‘hsami’ (défaut) ‘blaney_criddle’ ‘hamon’ ‘linacre’ ‘kharrufa’ ‘mohyse’ ‘romanenko’ ‘makkink’ ‘turc’ ‘mcguinness_bordne’ ‘abtew’ ‘hargreaves’ ‘priestley-taylor’
etp_reservoir : ‘hsami’ (défaut) ‘blaney_criddle’ ‘hamon’ ‘linacre’ ‘kharrufa’ ‘mohyse’ ‘romanenko’ ‘makkink’ ‘turc’ ‘mcguinness_bordne’ ‘abtew’ ‘hargreaves’ ‘priestley-taylor’
een : ‘hsami’ (défaut) ‘dj’ ‘mdj’ ‘alt’
infiltration : ‘hsami’ (défaut) ‘green_ampt’ ‘scs_cn’
sol : ‘hsami’ (défaut) ‘3couches’
qbase : ‘hsami’ (défaut) ‘dingman’
radiation : ‘hsami’ (défaut) ‘mdj’
mhumide: 0 (défaut) 1
reservoir : 0 (défaut) 1
glace_reservoir : 0 (défaut) ‘stefan’ ‘mylake’
- physioStructure contenant des variables physiographiques du bassin
Toutes les variables physiographiques peuvent étre facultatives, dépamment des modules utilisés. - latitude : Latitude moyenne (degrés, scalaire) - altitude : Altitude moyenne (m, scalaire) - albedo_sol : Albédo du sol (fraction décimale, scalaire) - i_orientation_bv : Indice d’orientation - pente_bv : Pente moyenne (degrés, scalaire) - occupation : Fractions d’occupation des milieux (fraction, vecteur de 1x2 ou 1x3) - niveau : Niveau du réservoir (m, scalaire) - coeff : Coefficients de l’équation de la courbe d’emmagasinement (vecteur 1 x 3) - samax : Surface maximale du MHE (km2, scalaire) - occupation_bande : Pourcentage d’occupation par bande d’altitude - altitude_bande : Altitude de chaque bande
- etatétats du bassin versants et du réservoir
etat[‘eau_hydrogrammes’] : Eau en transit dans les HU (cm, matrice de mémoire x 2, ou mémoire x 3 si module[‘mhumide’] = 1)
etat[‘neige_au_sol ‘] : équivalent en eau de la neige au bassin versant (cm, scalaire)
etat[‘fonte’] : Eau libre dans la neige (cm, scalaire)
etat[‘nas_tot’] : Neige au sol totale (cm, scalaire)
etat[‘fonte_tot’] : Fonte totale (cm, scalaire)
etat[‘derniere_neige’] : Nombre de jours depuis la derniére neige (j, scalaire)
etat[‘gel’] : Eau gelée dans le sol (cm, scalaire)
etat[‘sol’] : Eau dans la zone non saturée (cm, vecteur de 1x2 si modules[‘sol = ‘3couches’)
etat[‘nappe’] : Eau dans la zone saturée (cm, scalaire)
etat[‘reserve’] : Eau dans la réserve intermédiaire (cm, scalaire)
- etat[‘mdj’][‘couvert_neige’]Hauteur du couvert de neige dans les 2 ou 3 milieux (m, vecteur de la même
taille que physio.occupation)
etat[‘mdj’][‘densite_neige’] : Densité du couvert de neige (fraction décimale, vecteur de la même taille que physio.occupation)
etat[‘mdj’][‘albedo_neige’] : Albédo de la neige (fraction, vecteur de la même taille que physio.occupation)
etat[‘mdj’][‘neige_au_sol’] : équivalent en eau de la neige (m, vecteur de la même taille que physio.occupation)
etat[‘mdj’][‘fonte’] : Eau libre dans la neige (m, vecteur de la même taille que physio.occupation)
etat[‘mdj’][‘gel’] : Eau gelée dans le sol (cm, vecteur de la même taille que physio.occupation)
etat[‘mdj’][‘sol’] : Eau dans la zone non saturée (cm, vecteur de la même taille que physio.occupation)
etat[‘mdj’][‘energie_neige’] : Bilan énergétique de la neige (J/m2, vecteur de la même taille que physio.occupation)
etat[‘mdj’][‘energie_glace’] : Bilan énergétique de la glace (J/m2, scalaire)
- etat[‘alt’][‘couvert_neige’]Hauteur du couvert de neige dans les 2 ou 3 milieux (m, vecteur de la même taille
que physio.occupation_bande)
- etat[‘alt’][‘densite_neige’]Densité du couvert de neige (fraction décimale, vecteur de la même taille
que physio.occupation_bande)
etat[‘alt’][‘albedo_neige’] : Albédo de la neige (fraction, vecteur de la même taille que physio.occupation_bande)
etat[‘alt’][‘neige_au_sol’] : équivalent en eau de la neige (m, vecteur de la même taille que physio.occupation_bande)
etat[‘alt’][‘fonte’] : Eau libre dans la neige (m, vecteur de la même taille que physio.occupation_bande)
etat[‘alt’][‘gel’] : Eau gelée dans le sol (cm, vecteur de la même taille que physio.occupation_bande)
etat[‘alt’][‘sol’] : Eau dans la zone non saturée (cm, vecteur de la même taille que physio.occupation_bande)
etat[‘alt’][‘energie_neige’] : Bilan énergétique de la neige (J/m2, vecteur de la même taille que physio.occupation_bande)
etat[‘alt’][‘energie_glace’] : Bilan énergétique de la glace (J/m2, scalaire)
etat[‘mh_vol’] : Volume du milieu humide (m3, scalaire)
etat[‘ratio_MH’] : Ratio du milieu humide dans le bassin versant (fraction décimale, scalaire)
etat[‘mh_surf’] : Superficie du milieu humide (ha, scalaire)
etat[‘mhumide’] : Lame d’eau du milieu humide (cm, scalaire)
etat[‘ratio_qbase’] : Ratio du debit de base provenant du milieu humide (fraction décimale, scalaire)
etat[‘cumdegGel’] : Cumulatif de degrés-jour de gel (degC, scalaire)
etat[‘obj_gel’] : Objectif de degrés-jour de gel (degC, scalaire)
etat[‘dernier_gel’] : Nombre de jour depuis le dernier gel (j, scalaire)
etat[‘reservoir_epaisseur_glace’] : épaisseur de la glace sur le réservoir (cm, scalaire)
etat[‘reservoir_energie_glace’] : Bilan énergétique de la glace sur le réservoir (J/m2, scalaire)
etat[‘reservoir_superficie’] : Superficie du réservoir (km2, scalaire)
etat[‘reservoir_superficie_glace’] : Superficie de berges avec de la glace déposée (km2, scalaire)
etat[‘reservoir_superficie_ref’] : Superficie de référence en début d’hiver (km2, scalaire)
etat[‘eeg’] : équivalent en eau de la glace déposée en berges (cm, vecteur de 3000x1)
- etat[‘ratio_bassin’]Fraction de la superficie occupée par la partie terrestre du bassin versant
(fraction décimale, scalaire)
etat[‘ratio_reservoir’] : Fraction de la superficie occupée par le réservoir (fraction décimale, scalaire)
- etat[‘ratio_fixe’]Fraction de la superficie occupée par la partie terrestre pour le calcul des processus
souterrains (fraction décimale, scalaire)
- s
s[‘Qtotal’] s[‘Qbase’] s[‘Qinter’] s[‘Qsurf’] s[‘Qreservoir’] s[‘Qglace’] s[‘Qmh’] s[‘ETP’] s[‘ETRtotal’] s[‘ETRsublim’] s[‘ETRPsurN’] s[‘ETRintercept’] s[‘ETRtranspir’] s[‘ETRreservoir’] s[‘ETRmhumide’]
- deltafermeture du bilan hydrologique pour la fonction principale et les sous-fonctions
delta[‘total’] : Fermeture de la fonction principale (cm, scalaire)
delta[‘glace’] : Fermeture de la fonction hsami_glace (cm, scalaire)
delta[‘interception’] : Fermeture de la fonction hsami_interception (cm, scalaire)
delta[‘ruissellement’] : Fermeture de la fonction hsami_ruissellement (cm, scalaire)
delta[‘vertical’] : Fermeture de la fonction hsami_ecoulement_vertical (cm, scalaire)
delta[‘horizontal’] : Fermeture de la fonction hsami_ecoulement_horizontal (cm, scalaire)
delta[‘mhumide’] : Fermeture de la fonction hsami_mhumide (cm, scalaire)
- hsamiplus.hsami2_noyau.ruissellement_ecoulement(projet, param, modules, physio, superficie, nb_pas, etat, etps, eau_surface, demande_eau, etr, apport_vertical, glace_vers_reservoir, bassin_vers_reservoir, bilan)[source]
HSAMI_RUISSELLEMENT_SURFACE, HSAMI_ECOULEMENT_VERTICAL, HSAMI_ECOULEMENT_HORIZONTAL.
Parameters
- projetdict
Projet.
- paramlist
Paramètres pour la simulation.
- modulesdict
Les modules pour la simulation.
- physiodict
Les données physiographiques.
- superficielist
La superficie du bassin versan et la uuperficie moyenne du réservoir.
- nb_pasint
Nombre de pas de temps.
- etatdict
États du bassin versants et du réservoir.
- etpsliste
Évapotranspiration au bassin et réservoir.
- eau_surfacefloat
Eau disponible à la surface pour évaporation, ruissellement et infiltration.
- demande_eaufloat
Demande en eau restante.
- etrlist
Évapotranspiration et évaporation.
- apport_verticallist
Lames d’eau à moduler par les hydrogrammes unitaires.
- glace_vers_reservoirfloat
Lame d’eau transitant de la glace de rive vers le réservoir pour le pas de temps (cm).
- bassin_vers_reservoirfloat
Lame d’eau transitant du réservoir vers la glace de rive pour le pas de temps (cm).
- bilandict
Bilan hydrologique.
Returns
- etatdict
États du bassin versants et du réservoir.
- qlist
Débits provenant du bassin.
- etp_totfloat
Évapotranspiration totale.
- etr_totfloat
Évapotranspiration réelle totale.
- bilandict
Bilan hydrologique.
hsamiplus.hsami_ecoulement_horizontal module
The function simulates the lateral flow in HSAMI+ model.
- hsamiplus.hsami_ecoulement_horizontal.hsami_ecoulement_horizontal(nb_pas, vidange_reserve_inter, reserve_inter, eau_hydrogrammes, hydrogrammes, apport_vertical, modules)[source]
Module d’écoulement horizontal.
Parameters
- nb_pasint
Nombre de pas de temps.
- vidange_reserve_interfloat
Taux vidange inter.
- reserve_interfloat
Eau dans la réserve intermédiaire.
- eau_hydrogrammeslist
Eau en transit dans les HU.
- hydrogrammeslist
Hydrogrammes unitaires de surface et intermediaire.
- apport_verticallist
Lames d’eau verticales (voir hsami_interception).
- modulesdict
Les modules pour la simulation.
Returns
- apportfloat
Apports verticaux laminés.
- reserve_interfloat
Eau dans la réserve intermédiaire.
- eau_hydrogrammeslist
Eau en transit dans les HU.
hsamiplus.hsami_ecoulement_vertical module
The function simulates the infiltration in HSAMI+ model.
- hsamiplus.hsami_ecoulement_vertical.ecoulement_3couches(nb_pas, param, etat, offre, demande, modules, ruissellement_surface, apport_vertical, etr)[source]
Calcule l’écoulement vertical dans un système à trois couches de sol.
Parameters
- nb_pasfloat
Nombre de pas de temps.
- paramlist
Paramètres pour la simulation.
- etatdict
États du bassin versants et du réservoir.
- offrefloat
L’offre en eau disponible.
- demandefloat
La demande en eau.
- modulesdict
Les modules pour la simulation.
- ruissellement_surfacefloat
Le ruissellement en surface.
- apport_verticallist
Liste des apports verticaux.
- etrlist
Liste des évapotranspirations.
Returns
- apportlist
Liste d’apport.
- etatdict
États du bassin versants et du réservoir.
- etrlist
Évapotranspiration.
- hsamiplus.hsami_ecoulement_vertical.green_ampt(eau_surface, ks, psi, sol_max, sol, nb_pas, gel, neige_au_sol, *args)[source]
Modele de Green-Ampt.
Parameters
- eau_surfacefloat
Eau disponible en surface aprés avoir comblé la demande évaporative (cm).
- ksfloat
Conductivité hydraulique saturée (cm/j).
- psifloat
Pression matricielle au front mouillant, dérivée de Rawls (1993) (cm).
- sol_maxfloat
Paramétre 13 correspondant au volume max d’eau ds le sol (cm).
- solfloat
Variable d’état correspondant au volume d’eau dans le sol (cm).
- nb_pasfloat
Nombre de pas de temps dans une période de 24h (entier positif).
- gelfloat
Gel dans la premiére couche de sol (cm).
- neige_au_solfloat
Équivalent en eau de la neige au sol (cm).
- *argslist
Porosité de la premiére couches de sol si 3couches est utilisé (cm3/cm3).
Returns
- infiltrationfloat
Infiltration selon Green-Ampt.
- ruissellementfloat
Eeau de ruissellement.
Notes
Fonction calculant l’infiltration et le ruissellement selon le modéle de Green-Ampt tel qu’implémenté dans SWAT.
- hsamiplus.hsami_ecoulement_vertical.hsami_ecoulement_vertical(nb_pas, param, etat, offre, demande, modules, ruissellement_surface, apport_vertical, etr)[source]
Écoulement vertical.
Parameters
- nb_pasfloat
Nombre de pas de temps.
- paramlist
Paramètres pour la simulation.
- etatdict
États du bassin versants et du réservoir.
- offrefloat
Quantité d’eau disponible pour l’évaporation et le ruissellement (cm).
- demandefloat
Demande évaporative de l’atmosphére (cm).
- modulesdict
Les modules pour la simulation.
- ruissellement_surfacefloat
Ruissellement (cm).
- apport_verticallist
Lames d’eau verticales (voir hsami_interception).
- etrlist
Composantes de l’évapotranspiration (voir hsami_interception).
Returns
- apportlist
Lames d’eau verticales (cm, voir hsami_interception).
- etatdict
États du bassin versants et du réservoir.
- etrlist
Composantes de l’évapotranspiration (cm, voir hsami_interception).
- hsamiplus.hsami_ecoulement_vertical.scs_cn(eau_surface, cn)[source]
Fonction calculant le ruissellement selon la méthode du Curve Number.
Parameters
- eau_surfacefloat
Eau disponible en surface aprés avoir comblé la demande évaporative (cm).
- cnfloaat
Curve Number (paramétre 24).
Returns
- infiltrationfloat
Infiltration selon Green-Ampt.
- ruissellementfloat
Eau de ruissellement.
- hsamiplus.hsami_ecoulement_vertical.vidange_nappe(apport, nappe, taux_vidange_nappe, nappe_max, nb_pas, modules, param, sol)[source]
Effectue la vidange d’une nappe phréatique en fonction des paramètres donnés.
Parameters
- apportlist
Liste contenant les apports d’eau.
- nappefloat
Niveau de la nappe phréatique.
- taux_vidange_nappefloat
Taux de vidange de la nappe phréatique.
- nappe_maxfloat
Niveau maximum de la nappe phréatique.
- nb_pasfloat
Nombre de pas de temps.
- modulesdict
Les modules pour la simulation.
- paramlist
Paramètres pour la simulation.
- solfloat
Eau dans le sol.
Returns
- apportlist
Nouveaux apports d’eau.
- nappefloat
Nouveau niveau de la nappe phréatique.
- sol: float
Eau dans e sol.
hsamiplus.hsami_etp module
The function simulates the evapotranspiration (ETP) in HSAMI+ model.
- hsamiplus.hsami_etp.etp_abtew(t_min, t_max, rg, lamda)[source]
Calcul de l’évapotranspiration potentielle selon la méthode empirique de Abtew.
Parameters
- t_minfloat
Tmin journalière.
- t_maxfloat
Tmax journalière.
- rgfloat
Rayonnement global MJ/m^2/j.
- lamdafloat
Chaleur de vaporisation MJ/kg.
Returns
- float
Estimation de l’évapotranspiration potentielle (cm).
Notes
Calcul de l’évapotranspiration potentielle en cm selon la méthode empirique de Abtew et répartition dans la journée selon la pondération proposée par Fortin, J.P. et Girard, G. (1970).
- hsamiplus.hsami_etp.etp_blaney_criddle(t_min, t_max, p)[source]
Calcul de l’évapotranspiration potentielle à partir de la formulation de Blaney-Criddle.
Parameters
- t_minfloat
Tmin journalière.
- t_maxfloat
Tmax journalière.
- pfloat
Heures de clarté journalière sur le nombre d’heures de clarté annuelle.
Returns
- float
Estimation de l’evapotranspiration potentielle (cm).
Notes
Calcul de l’évapotranspiration potentielle en cm à partir de la formulation de Blaney-Criddle et répartition dans la journée selon la pondération proposée par Fortin, J.P. et Girard, G. (1970).
- hsamiplus.hsami_etp.etp_chaleur_lat_vaporisation(t_max, t_min)[source]
Estimation de la chaleur latente de vaporisation.
Parameters
- t_maxfloat
Tmax journalière.
- t_minfloat
Tmin journalière.
Returns
- float
Chaleur latente de vaporisation (MJ/kg).
- hsamiplus.hsami_etp.etp_declinaison(jj)[source]
Calcul de la declinaison solaire (en radians) au jour julien jj.
Parameters
- jjint
Jour julien.
Returns
- float
Declinaison du soleil (radians) pour mohyse entre autre.
- hsamiplus.hsami_etp.etp_duree_jour(jj, lat)[source]
Calcul de la duree du jour jj à la latitude lat.
Parameters
- jjint
Jour julien.
- latfloat
Latitude moyenne du bassin versant.
Returns
- float
Duree du jour au jour jj et à la latitude lat.
- hsamiplus.hsami_etp.etp_e(t)[source]
Estimation du point de la pression de vapeur.
Parameters
- tfloat
Température.
Returns
- float
Pression de vapeur.
- hsamiplus.hsami_etp.etp_hamon(jj, t_min, t_max, physio)[source]
Calcul de l’évapotranspiration potentielle selon la formulation de Hamon.
Parameters
- jjint
Jour julien.
- t_minfloat
Tmin journalière.
- t_maxfloat
Tmax journalière.
- physiodict
Variables physiographiques du bassin.
Returns
- float
Estimation de l’évapotranspiration potentielle (cm).
Notes
Calcul de l’évapotranspiration potentielle en cm selon la formulation de Hamon et répartition dans la journée selon la pondération proposée par Fortin, J.P. et Girard, G. (1970).
- hsamiplus.hsami_etp.etp_hargreaves(t_min, t_max, re)[source]
Calcul de l’évapotranspiration potentielle selon la formulation de Hargreaves.
Parameters
- t_minfloat
Tmin journalière.
- t_maxfloat
Tmax journalière.
- refloat
Rayonnement extraterrestre (MJ/m^2/j).
Returns
- float
Estimation de l’évapotranspiration potentielle (cm).
Notes
Calcul de l’évapotranspiration potentielle en cm selon la formulation de Hargreaves et Samani et répartition dans la journée selon la pondération proposée par Fortin, J.P. et Girard, G. (1970).
- hsamiplus.hsami_etp.etp_kharrufa(t_min, t_max, p)[source]
Calcul de l’évapotranspiration potentielle selon la formulation Kharrufa.
Parameters
- t_minfloat
Tmin journalière.
- t_maxfloat
Tmax journalière.
- pfloat,
Heures de clarté journalière sur le nombre déheures de clarté annuelle.
Returns
- float
Estimation de l’évapotranspiration potentielle (cm).
Notes
Calcul de l’évapotranspiration potentielle en cm selon la formulation Kharrufa et répartition dans la journée selon la pondération proposée par Fortin, J.P. et Girard, G. (1970).
- hsamiplus.hsami_etp.etp_linacre(t_min, t_max, physio)[source]
Calcul de l’évapotranspiration potentielle selon la formulaiton Linacre.
Parameters
- t_minfloat
Tmin journalière.
- t_maxfloat
Tmax journalière.
- physiodict
Variables physiographiques du bassin.
Returns
- float
Estimation de l’évapotranspiration potentielle (cm).
Notes
Calcul de l’évapotranspiration potentielle en cm selon la formulaiton Linacre et répartition dans la journée selon la pondération proposée par Fortin, J.P. et Girard, G. (1970).
- hsamiplus.hsami_etp.etp_m_courbe_pression(t_min, t_max)[source]
Estimation de la pente de la courbe de pression de vapeur.
Parameters
- t_minfloat
Tmin journalière.
- t_maxfloat
Tmax journalière.
Returns
- float
Pente de la courbe de pression de vapeur.
- hsamiplus.hsami_etp.etp_makkink(rg, m, lamda)[source]
Calcul de l’évapotranspiration potentielle selon la formulation de Makkink.
Parameters
- rgfloat
Rayonnement global MJ/m^2/j.
- mfloat
Pente de la courbe de pression.
- lamdafloat
Chaleur de vaporisation MJ/kg.
Returns
- float
Estimation de l’évapotranspiration potentielle (cm).
Notes
Calcul de l’évapotranspiration potentielle en cm selon la formulation de Makkink et répartition dans la journée selon la pondération proposée par Fortin, J.P. et Girard, G. (1970).
- hsamiplus.hsami_etp.etp_mcguinness_bordne(t_min, t_max, rg, lamda)[source]
Calcul de l’évapotranspiration potentielle selon la formulation de McGuiness et Bordne.
Parameters
- t_minfloat
Tmin journalière.
- t_maxfloat
Tmax journalière.
- rgfloat
Rayonnement global MJ/m^2/j.
- lamdafloat
Chaleur de vaporisation MJ/kg.
Returns
- float
Estimation de l’évapotranspiration potentielle (cm).
Notes
Calcul de l’évapotranspiration potentielle en cm selon la formulation de McGuiness et Bordne et répartition dans la journée selon la pondération proposée par Fortin, J.P. et Girard, G. (1970).
- hsamiplus.hsami_etp.etp_mohyse(t_min, t_max, delta, physio)[source]
Calcul de l’évapotranspiration potentielle selon la formulation du modéle Mohyse.
Parameters
- t_minfloat
Tmin journalière.
- t_maxfloat
Tmax journalière.
- deltafloat
Déclinaison solaire (radians).
- physiodict
Variables physiographiques du bassin.
Returns
- float
Estimation de l’évapotranspiration potentielle (cm).
Notes
Calcul de l’évapotranspiration potentielle en cm selon la formulation du modéle Mohyse et répartition dans la journée selon la pondération proposée par Fortin, J.P. et Girard, G. (1970).
- hsamiplus.hsami_etp.etp_p(lat, jj)[source]
Calcul du pourcentage de la durée du jour sur la somme des durées du jour annuelles.
Parameters
- latfloat
Latitude moyenne du bassin versant.
- jjint
Jour julien.
Returns
- float
Heures de clarté journalière sur le nombre d’heures de clarté annuelle.
- hsamiplus.hsami_etp.etp_priestley_taylor(rn, m, lamda)[source]
Calcul de l’évapotranspiration potentielle selon la formulation de Priesley-Taylor.
Parameters
- rnfloat
Rayonnement net (MJ/m^2/j).
- mfloat
Pente de la courbe de pression.
- lamdafloat
Chaleur de vaporisation (MJ/kg).
Returns
- float
Estimation de l’évapotranspiration potentielle (cm).
Notes
Calcul de l’évapotranspiration potentielle en cm selon la formulation de Priesley-Taylor et répartition dans la journée selon la pondération proposée par Fortin, J.P. et Girard, G. (1970).
- hsamiplus.hsami_etp.etp_rayonnement_et(lat, jj)[source]
Calcul du rayonnement extra-terrestre.
Parameters
- latfloat
Latitude moyenne du bassin versant.
- jjint
Jour julien.
Returns
- float
Rayonnement extra-terrestre (MJ/m^2/j).
Notes
Selon http://www.argenco.ulg.ac.be/etudiants/Multiphysics/Xanthoulis#20-#20Calcul#20ETo#20-#20Penman.pdf
- hsamiplus.hsami_etp.etp_rayonnement_g(re, lat, jj, t_min=None, t_max=None)[source]
Calcul du rayonnement global.
Parameters
- refloat
Rayonnement extra-terrestre (MJ/m^2/j).
- latfloat
Latitude moyenne du bassin versant (m).
- jjint
Jour julien.
- t_minfloat
Tmin journalière.
- t_maxfloat
Tmax journalière.
Returns
- float
Rayonnement global (MJ/m^2/j).
- hsamiplus.hsami_etp.etp_rayonnement_net(t_min, t_max, rg, rgo, albedo)[source]
Calcul du rayonnement net.
Parameters
- t_minfloat
Tmin journalière.
- t_maxfloat
Tmax journalière.
- rgfloat
Rayonnement global (MJ/m^2/j).
- rgofloat
Rayonnement par temps clair (MJ/m^2/j).
- albedofloat
Albedo de la surface.
Returns
- float
Rayonnement net (MJ/m^2/j).
- hsamiplus.hsami_etp.etp_rayonnement_temps_clair(re, h)[source]
Calcul du rayonnement par temps clair.
Parameters
- refloat
Rayonnement extraterrestre (MJ/m^2/j).
- hfloat
Hauteur moyenne du bassin versant au dessus du niveau de la mer (m).
Returns
- float
Rayonnement pas temps clair considérant D=DL (MJ/m^2/j).
- hsamiplus.hsami_etp.etp_romanenko(t_min, t_max)[source]
Calcul de l’évapotranspiration potentielle selon la formulation Romanenko.
Parameters
- t_minfloat
Tmin journalière.
- t_maxfloat
Tmax journalière.
Returns
- float
Estimation de l’évapotranspiration potentielle (cm).
Notes
Calcul de l’évapotranspiration potentielle en cm selon la formulation Romanenko et répartition dans la journée selon la pondération proposée par Fortin, J.P. et Girard, G. (1970).
- hsamiplus.hsami_etp.etp_td_linacre(t_max, t_min)[source]
Estimation du point de rosée de Linacre.
Parameters
- t_maxfloat
Tmax journalière.
- t_minfloat
Tmin journalière.
Returns
- float
Point de rosée.
- hsamiplus.hsami_etp.etp_turc(t_min, t_max, rg)[source]
Calcul de l’évapotranspiration potentielle à partir des températures min et max.
Parameters
- t_minfloat
Tmin journalière.
- t_maxfloat
Tmax journalière.
- rgfloat
Rayonnement global MJ/m^2/j.
Returns
- float
Estimation de l’évapotranspiration potentielle (cm).
Notes
Calcul de l’évapotranspiration potentielle en cm à partir des températures min et max en C journalière, selon la méthode empirique de Jean-Louis Bisson (Hydro-Québec) et répartition dans la journée selon la pondération proposée par Fortin, J.P. et Girard, G. (1970).
- hsamiplus.hsami_etp.hsami_etp(pas, nb_pas, jj, t_min, t_max, modules, physio)[source]
Calcul de l’évapotranspiration potentielle.
Parameters
- pasint
Pas de temps courant à l’intérieur de la journée.
- nb_pasfloat
Nombre de pas de temps.
- jjint
Jour julien (entier positif).
- t_minfloat
Tmin journalière.
- t_maxfloat
Tmax journalière.
- modulesdict
Les modules pour la simulation.
- physiodict
Variables physiographiques du bassin.
Returns
- float
Estimation de l’évapotranspiration potentielle.
Notes
MODULES D’ÉVAPOTRANSPIRATION DISPONIBLES - hsami - blaney_criddle - hamon - linacre - kharrufa - mohyse - romanenko - makkink - turc - mcguinness_bordne - abtew - hargreaves - priestley_taylor
Marie Minville, Catherine Guay, 2013 Didier Haguma, 2024
hsamiplus.hsami_glace module
The function simulates the transition of water from liquid state to solid state (ice) and vice versa.
- hsamiplus.hsami_glace.conductivite_neige(densite)[source]
Calculer la conductivité de la neige en fonction de sa densité.
Parameters
- densitefloat
La densité de la neige en kg/m^3.
Returns
- float
La conductivité (float) de la neige en W/(m*K).
- hsamiplus.hsami_glace.hsami_glace(modules, superficie, etats, *varargin)[source]
Glace.
Parameters
- modulesdict
Les modules pour la simulation.
- superficielist
La superficie du bassin versan et la uuperficie moyenne du réservoir.
- etatsdict
États du bassin versants et du réservoir.
- *vararginlist
- Varargin{1}list
Données météorologiques pour la simulation (meteo).
- Varargin{2}dict
Les données physiographiques peuvent être vides (physio).
- Varargin{3}list
Paramètres pour la simulation (param).
Returns
- glace_vers_reservoirfloat
Lame d’eau transitant de la glace de rive vers le réservoir pour le pas de temps (cm).
- bassin_vers_reservoirfloat
Lame d’eau transitant du réservoir vers la glace de rive pour le pas de temps (cm).
- etatsdict
États du bassin versants et du réservoir.
- hsamiplus.hsami_glace.my_lake(meteo, physio, etat, param, modules)[source]
Fonction qui simule le comportement d’un lac gelé en utilisant le modèle MyLake.
Parameters
- meteodict
Dictionnaire contenant les données météorologiques.
- physiodict
Dictionnaire contenant les paramètres physiques du lac.
- etatdict
Dictionnaire contenant les états du lac à un pas de temps précédent.
- paramdict
Dictionnaire contenant les paramètres du modèle.
- modulesdict
Dictionnaire contenant les modules activés dans le modèle.
Returns
- superficie_glacefloat
Superficie de la glace sur le lac en km2.
- superficie_reservoirfloat
Superficie totale du lac en km2.
- etatdict
Les nouveaux états du lac.
Notes
Cette fonction est basée sur le modèle MyLake (Saloranta et Andersen, 2004) et le modèle mixte degrés-jour implanté.
- hsamiplus.hsami_glace.stefan(meteo, k, physio, etats)[source]
Calcule la superficie de glace.
Parameters
- meteodict
Données météorologiques pour la simulation.
- kfloat
Le coefficient de conversion des degrés-jours en épaisseur de glace.
- physiodict
Les données physiographiques.
- etatsdict
Les états précédents.
Returns
- superficie_glacefloat
Superficie de la glace sur le lac en km2.
- superficie_reservoirfloat
Superficie totale du lac en km2.
- etatdict
États du bassin versants et du réservoir / lac.
Notes
Calcule la superficie de glace et la superficie du réservoir en fonction des conditions météorologiques, des paramètres physiologiques et des états précédents.
hsamiplus.hsami_hydrogramme module
The function computes the values of a hydrograph following a beta law.
- hsamiplus.hsami_hydrogramme.hsami_hydrogramme(mode, forme, pas_temps_par_jour, memoire)[source]
Calculer les valeurs d’un hydrogramme.
Parameters
- modefloat
Nombre de jours avant le pic de l’hydrogramme.
- formefloat
Paramétre de forme de la loi béta.
- pas_temps_par_jourfloat
Nombre de pas de temps par jour.
- memoirefloat
Durée de mémoire de l’hydrogramme.
Returns
- list
Hydrogramme.
Notes
function h = hsami_hydrogramme(mode,forme,pas_temps_par_jour,memoire) Calcule les valeurs d’un hydrogramme qui pointe aprés “mode” jours, suivant une loi béta de paramétre de forme nommé “forme” et tronqué aprés “memoire” jours.
hsamiplus.hsami_input module
Create hsami input ‘projet’ file.
- hsamiplus.hsami_input.make_project(data_dir, basin_file, param_file, projet_file)[source]
Traitement des données d’entrée de HSAMI+.
Parameters
- data_dirstr or Path
Répertoire contenant les fichiers de données.
- basin_filestr or Path
Chemin d’accès au fichier de données du bassin.
- param_filestr or Path
Chemin d’accès au fichier de paramètres.
- projet_filestr or Path
Chemin d’accès au fichier de projet de sortie.
Notes
Fonction principale pour traiter les données de bassin, les paramètres et les données météorologiques, et générer un fichier de projet pour HSAMI.
La fonction effectue les étapes suivantes: 1. Lit et traite les données du bassin à partir du fichier_bassin. 2. Configure divers modules et leurs configurations. 3. Lit et traite les paramètres du param_file. 4. Configure les données physiologiques du bassin. 5. Lit et traite les données météorologiques des fichiers spécifiés. 6. Compile toutes les données dans un dictionnaire de projet. 7. Écrit le dictionnaire du projet dans le fichier projet_file spécifié au format JSON. 8. Imprime un message de confirmation une fois la création réussie du fichier de projet.
- hsamiplus.hsami_input.meteohsami(data_dir, fichier_meteo_bv, fichier_meteo_reservoir)[source]
Lecture de données météo.
Parameters
- data_dirstr or Path
Chemin d’accès au fichier météo à lire.
- fichier_meteo_bvstr or Path
Fichier météo du bassin versant.
- fichier_meteo_reservoirstr or Path
Fichier météo du réservoir.
Returns
- meteodict
Liste de valeurs de paramètres par défaut.
- dateslist
Liste de dates.
- hsamiplus.hsami_input.paramshsami(param_file)[source]
Définir les valeurs de paramètres par défaut.
Parameters
- param_filestr or Path
Chemin d’accès au fichier de paramètres à lire.
Returns
- paramslist
Liste de valeurs de paramètres par défaut.
- df_parampandas.DataFrame
Un DataFrame contenant les données du paramètre avec des colonnes [‘Nom’, ‘min’, ‘default’, ‘max’].
Notes
La fonction lit un fichier de paramètres et renvoie une liste de valeurs de paramètres par défaut ainsi que le DataFrame complet.
hsamiplus.hsami_interception module
The function simulates the interception of water in HSAMI+ model.
- hsamiplus.hsami_interception.albedo_een(albedo, drel, een, neige, pas_de_temps, pluie, tneige, *args)[source]
Calculer l’albedo de l’EEN.
Parameters
- albedofloat
Albedo.
- drelfloat
Densité relative de la neige.
- eenfloat
Équivalent en eau de la neige.
- neigefloat
Neige au sol.
- pas_de_tempsint
Pas de temps.
- pluiefloat
Précipitations liquides.
- tneigefloat
Température de la neige.
- *argslist
Fonte.
Returns
- float
Albedo d’een.
- hsamiplus.hsami_interception.calcul_densite_neige(temperature)[source]
Calculer la densité de la neige.
Parameters
- temperaturefloat
Témperature en deg C.
Returns
- float
Densite de la neige.
- hsamiplus.hsami_interception.calcul_erf(x)[source]
Approximation rationnelle.
Parameters
- xfloat
Argument.
Returns
- float
Valeur la fonction.
- hsamiplus.hsami_interception.calcul_indice_radiation(jour, latitude, i_orientation_bv, pas_de_temps, pente)[source]
Calcul de l’indice de radiation pour une surface.
Parameters
- jourint
Jour julien.
- latitudefloat
Latitude du bassin versant.
- i_orientation_bvfloat
Indice d’orientantion du bassin versant.
- pas_de_tempsint
Pas de temps.
- pentefloat
Pente du bassin versant.
Returns
- float
Indice de radiation.
- hsamiplus.hsami_interception.conductivite_neige(densite)[source]
Calcul de la conductivité de la neige.
Parameters
- densitefloat
Densité de la neige.
Returns
- float
Conductivité de la neige.
- hsamiplus.hsami_interception.degel_sol(duree, dt_max, sol, gel, neige_au_sol)[source]
Dégel de l’eau gelée dans le sol par temps doux.
Parameters
- dureefloat
Nombre de pas de temps par jour.
- dt_maxfloat
Températuret max - température de fonte.
- solfloat
Eau dans le sol.
- gelfloat
Eeau gelée dans le sol.
- neige_au_solfloat
Neige au sol.
Returns
- solfloat
Eeau dans le sol.
- gelfloat
Eau gelée dans le sol.
- hsamiplus.hsami_interception.dj_hsami(modules, meteo, etat, apport_vertical, etr, duree, efficacite_evapo_hiver, taux_fonte_jour, taux_fonte_nuit, temp_fonte_jour, temp_fonte_nuit, temp_ref_pluie, effet_redoux_sur_aire_enneigee, sol_min, sol, t_min, t_max, pluie, neige, soleil, demande_eau, demande_reservoir, neige_au_sol, fonte, neige_au_sol_totale, fonte_totale, derniere_neige, eeg, gel)[source]
Module “hsami” et “dj” pour calculer “een”.
Parameters
- modulesdict
Les modules pour la simulation.
- meteodict
Données météorologiques pour la simulation.
- etatdict
États du bassin versants et du réservoir.
- apport_verticallist
Lames d’eau à moduler par les hydrogrammes unitaires.
- etrlist
Évapotranspiration et évaporation.
- dureefloat
Fraction d’une journée correspondant à un pas de temps.
- efficacite_evapo_hiverfloat
Param[1].
- taux_fonte_jourfloat
Param[2] en cm/degre C/jour.
- taux_fonte_nuitfloat
Param[3] en cm/degre C/jour.
- temp_fonte_jourfloat
Param[4] en C.
- temp_fonte_nuitfloat
Param[5] en C.
- temp_ref_pluiefloat
Param[6] en C.
- effet_redoux_sur_aire_enneigeefloat
Pparam[7].
- sol_minfloat
Param[11].
- solfloat
Reserve d’eau dans la zone non-saturée.
- t_minfloat
Valeur extréme (observée ou prévue) sur 24h (Celcius).
- t_maxfloat
Valeur extréme (observée ou prévue) sur 24h (Celcius).
- pluiefloat
Total pour le pas de temps (cm).
- neigefloat
Total pour le pas de temps (cm).
- soleilint
Ensoleillement (observé ou prévu) pour la journée (entre 0 et 1).
- demande_eaufloat
Demande en eau restante.
- demande_reservoirfloat
Demande en eau restante pour le reservoir.
- neige_au_solfloat
Équivalent en eau de la neige au sol incluant l’eau de fonte.
- fontefloat
Eau liquide stockée dans la neige.
- neige_au_sol_totalefloat
Total des chutes de neige pendant l’hiver.
- fonte_totalefloat
Total de la fonte de neige pendant l’hiver.
- derniere_neigeint
Nombre de jours depuis la derniere neige.
- eegfloat
Équivalent en eau de la glace.
- gelfloat
Eau gelée dans la zone non saturée.
Returns
- eau_surfacefloat
Eau disponible à la surface pour évaporation, ruissellement et infiltration.
- demande_eaufloat
Demande en eau restante.
- etatdict
États du bassin versants et du réservoir.
- etrlist
Évapotranspiration et évaporation.
- apport_verticallist
Lames d’eau à moduler par les hydrogrammes unitaires.
- hsamiplus.hsami_interception.gel_neige(duree, dt_max, neige_au_sol, fonte, fonte_totale)[source]
Gel de la neige au sol en fonction de la température maximale.
Parameters
- dureefloat
Nombre de pas de temps par jour.
- dt_maxfloat
Températuret max - température de fonte.
- neige_au_solfloat
Neige au sol.
- fontefloat
Eau liquide stockée dans la neige.
- fonte_totalefloat
Fonte totale.
Returns
- fontefloat
Eau liquide stockée dans la neige.
- fonte_totalefloat
Total de la fonte de neige pendant l’hiver.
- hsamiplus.hsami_interception.gel_sol(duree, dt_max, sol_min, sol, gel, neige_au_sol)[source]
Gel du sol en fonction de la température maximale.
Parameters
- dureefloat
Nombre de pas de temps par jour.
- dt_maxfloat
Températuret max - température de fonte.
- sol_minfloat
Point de flétrissement permanent du sol.
- solfloat
Eau dans le sol.
- gelfloat
Eeau gelée dans le sol.
- neige_au_solfloat
Neige au sol.
Returns
- solfloat
Eeau dans le sol.
- gelfloat
Eau gelée dans le sol.
- hsamiplus.hsami_interception.hsami_interception(nb_pas, jj, param, meteo, etp, etat, modules, physio)[source]
Compute interception.
Parameters
- nb_pasfloat
Nombre de pas de temps.
- jjint
Jour julien.
- paramlist
Paramètres pour la simulation.
- meteodict
Données météorologiques pour la simulation.
- etpfloat
Évapotranspiration potentielle du pas de temps (bassin et réservoir).
- etatdict
États du bassin versants et du réservoir.
- modulesdict
Les modules pour la simulation.
- physiodict
Les données physiographiques.
Returns
- eau_surfacefloat
Eau disponible à la surface pour évaporation, ruissellement et infiltration.
- demande_eaufloat
Demande en eau restante.
- etatdict
États du bassin versants et du réservoir.
- apport_verticallist
Lames d’eau à moduler par les hydrogrammes unitaires.
- hsamiplus.hsami_interception.mdj_alt(param, modules, meteo, physio, etat, apport_vertical, etr, duree, pdts, jj, pas_de_temps, efficacite_evapo_hiver, temp_fonte_jour, sol_min, sol, t_min, t_max, pluie, neige, soleil, demande_eau, demande_reservoir, neige_au_sol, fonte, derniere_neige, eeg, gel)[source]
Module “mdj” et “alt” pour calculer “een”.
Parameters
- paramlist
Paramètres pour la simulation.
- modulesdict
Les modules pour la simulation.
- meteodict
Données météorologiques pour la simulation.
- physiodict
Les données physiographiques peuvent être vides.
- etatdict
États du bassin versants et du réservoir.
- apport_verticallist
Lames d’eau à moduler par les hydrogrammes unitaires.
- etrlist
Évapotranspiration et évaporation.
- dureefloat
Fraction d’une journée correspondant à un pas de temps.
- pdtsfloat
Pas de temps en secondes.
- jjint
Jour julien.
- pas_de_tempsint
Pas de temps.
- efficacite_evapo_hiverfloat
Param[1].
- temp_fonte_jourfloat
Param[4] en C.
- sol_minfloat
Param[11].
- solfloat
Reserve d’eau dans la zone non-saturée.
- t_minfloat
Valeur extréme (observée ou prévue) sur 24h (Celcius).
- t_maxfloat
Valeur extréme (observée ou prévue) sur 24h (Celcius).
- pluiefloat
Total pour le pas de temps (cm).
- neigefloat
Total pour le pas de temps (cm).
- soleilint
Ensoleillement (observé ou prévu) pour la journée (entre 0 et 1).
- demande_eaufloat
Demande en eau restante.
- demande_reservoirfloat
Demande en eau restante pour le reservoir.
- neige_au_solfloat
Équivalent en eau de la neige au sol incluant l’eau de fonte.
- fontefloat
Eau liquide stockée dans la neige.
- derniere_neigeint
Nombre de jours depuis la derniere neige.
- eegflpoat
Équivalent en eau de la glace.
- gelfloat
Eau gelée dans la zone non saturée.
Returns
- eau_surfacefloat
Eau disponible à la surface pour évaporation, ruissellement et infiltration.
- demande_eaufloat
Demande en eau restante.
- etatdict
États du bassin versants et du réservoir.
- etrlist
Évapotranspiration et évaporation.
- apport_verticallist
Lames d’eau à moduler par les hydrogrammes unitaires.
- hsamiplus.hsami_interception.percolation_eau_fonte(neige_au_sol, neige_au_sol_totale, fonte, fonte_totale)[source]
Calcul la percolation de l’eau de fonte dans la neige.
Parameters
- neige_au_solfloat
Equivalent en eau de la neige au sol incluant l’eau de fonte.
- neige_au_sol_totalefloat
Total des chutes de neige pendant l’hiver.
- fontefloat
Eau liquide stockée dans la neige.
- fonte_totalefloat
Total de la fonte de neige pendant l’hiver.
Returns
- lamefloat
Eau qui s’écoule.
- neige_au_solfloat
Neige au sol.
- neige_au_sol_totalefloat
Total des chutes de neige pendant l’hiver.
- fontefloat
Eau liquide stockée dans la neige.
- fonte_totalefloat
Total de la fonte de neige pendant l’hiver.
- hsamiplus.hsami_interception.pluie_neige(tmin, tmax, prec)[source]
Séparation de la précipitation en pluie et neige.
Parameters
- tminfloat
Température minimale.
- tmaxfloat
Température maximale.
- precfloat
Précipitations.
Returns
- pluiefloat
Pluie.
- neigefloat
Neige.
Notes
Pluie_neige(tmin,tmax,prec) sépare la précipitation en pluie et neige selon l’algorithme suivant :
Puissque la valeur moyenne de tmin et tmax est inférieure à -2 deg C, la précipitation est complétement transformée en neige.
Puisque la valeur moyenne de la température est dans [-2,2] deg C, la précipitation est transformée en neige et pluie dans une proportion qui dépend linéairement de cette température i.e neige = alpha*prec et pluie = (1-alpha)*prec avec alpha = 0 à -2 deg C et alpha = 1 à +2 deg C.
Puisque la valeur moyenne de tmin et tmax est supérieure à +2 deg C, la précipitation est complétement transformée en pluie.
hsamiplus.hsami_mhumide module
The function simulates flow in wwetlands in HSAMI+ model.
- hsamiplus.hsami_mhumide.hsami_mhumide(apport, param, etat, demande, etr, physio, superficie)[source]
Module de milieux humides.
Parameters
- apportlist
Lames d’eau verticales (cm, voir hsami_interception).
- paramlist
Paramètres pour la simulation.
- etatdict
États du bassin versants et du réservoir.
- demandefloat
Demande évaporative de l’atmosphére (cm).
- etrlist
Composantes de l’évapotranspiration (cm, voir hsami_interception).
- physiodict
Les données physiographiques peuvent être vides.
- superficielist
La superficie du bassin versan et la uuperficie moyenne du réservoir.
Returns
- apportlist
Lames d’eau verticales (cm, voir hsami_interception).
- etatdict
États du bassin versants et du réservoir.
- etrlist
Composantes de l’évapotranspiration (cm, voir hsami_interception).
hsamiplus.hsami_ruissellement_surface module
The script hsimulates the surface runoff in HSAMI+ model.
- hsamiplus.hsami_ruissellement_surface.hsami_ruissellement_surface(nb_pas, param, etat, eau_surface, modules)[source]
Ruissellement de surface.
Parameters
- nb_pasint
Nombre de pas de temps.
- paramlist
Paramètres pour la simulation.
- etatdict
États du bassin versants et du réservoir.
- eau_surfacefloat
Quantité d’eau disponible en surface (cm).
- modulesdict
Les modules pour la simulation.
Returns
- ruissellement_surfacefloat
Quantité d’eau qui ruisselle (entre 0 et eau_surface, cm).
- infiltrationfloat
Quantité d’eau qui pourra s’infiltrer (entre 0 et eau_surface, cm).
hsamiplus.hsamibin module
Fonction qui lit le fichier du projet, exécute et sauvegarde les sorties d’HSAMI.
- hsamiplus.hsamibin.hsamibin(path, filename)[source]
Lecture de fichier du projet.
Parameters
- pathstr
Emplacement du fichier de projet, ex ./data.
- filenamestr
Nom du fichier projet, ex projet.json.
Returns
- sdict
Sorties de simulation.
- etats: dict
États du bassin versants et du réservoir.
- deltas: dict
Composants du bilan massique.
Notes
Fonction qui lit un projet HSAMI+ en format JSON, exécute HSAMI+, et sauvegarde les sorties d’HSAMI+ en format JSON dans le méme répertoire que le projet. La fonction peut étre compilée avec le makefile disponible dans le répertoire.
Le modèle HSAMI a été originalement développé par J.L. Bisson, et F. Roberge en Matlab, 1983. HSAMI a été modifié et bonifié par Catherine Guay, Marie Minville, Isabelle Chartier et Jonathan Roy, 2013-2017 pour devenir HSAMI+. Le code a été traduit en Python par Didier Haguma, 2024.