SWAT : Phase neige

Définition

Processus de calcul des quantités de précipitations stockées sous forme de neige

Résolution

Spatiale

La HRU.

Temporelle

Jour.

Interface entités

Voici la liste des entités sollicitées :

Description

La neige à la surface est stockée sous forme de ”paquets de neige” dans le modèle. La quantité d’eau stockée dans un paquet de neige est représentée par le snow water équivalent. Le paquet de neige augmente avec la chute de neige, et diminue avec la fonte de neige et la sublimation. Pour calculer la précipitation effective d’un(e) BVe/HRU, on ne prend en compte que la pluie (pas la neige) ; dans le même temps, la quantité d’eau issue de la fonte de neige pourra être considérée comme de la ”pluie” et ajoutée au total de précipitations effectives.

Les classifications de la précipitation telles que la pluie ou le neige sont identifiées par la température de l’air moyenne journalière. La température limite, SFTMP (SnowFall Temperature), est définie par l’utilisateur. Lorsque la température de l’air journalière est inférieure à cette valeur limite, les précipitations sont classifiées comme étant de la neige et la quantité d’eau équivalente sera alors ajoutée dans le paquet de neige.

En raison des éléments tels que la dérive et la topographie etc., la répartition du paquet de neige dans une HRU[?] sera rarement uniforme, cela aboutit à une fraction de la zone de HRU qui est dépourvue de neige, cette fraction doit être quantifiée précisément pour calculer la fonte des neiges dans la HRU. Heureusement, on peut faire l’hypothèse les facteurs qui contribuent à la variabilité de la couverture de neige sont similaires pour toute la durée de la simulation, et on peut donc exprimer les corrélations entre la couverture et la quantité d’eau dans le paquet de neige par une courbe empirique. Deux paramètres sont nécessaires pour décrire cette courbe : snocovmx, (mm H2O), qui représente la teneur minimale en eau du paquet de neige qui correspond à la couverture 100% de neige; et sno50cov, fraction de snocovmx qui correspond à une couverture 50% de neige. Si la teneur en eau dans le paquet de neige est inférieure snocovmx, alors un certain pourcentage de terrain est nu. Quelques exemples de cette courbe sont donnés dans la figure 2.1 :

Remarque : Les processus permettant de calculer la chute et la fonte de neige doivent être invoqués au niveau de la HRU, car les processus simulant la sublimation de neige (voir chapitre de la neige dans la phase sol) sont réalisées dans la boucles sur les HRUs. Cela causerait une différence de quantité d’eau stockée dans les paquets de neige entre les différentes HRUs dans un BVe.

Les données d’entrée de précipitations pour chaque HRU sont les Rday(BVehru(j)) calculés par les processus présentés précédemment, il suffit simplement indexer par le numéro du BVe contenant les HRUs considérées. Ensuite, les précipitations effectives pour chaque HRU (precipday(j)) calculées dans cette partie vont être utilisées dans la phase sol.

NB : afin de faciliter la lecture des algorithmes, on a omit les boucles sur les HRUs dans cette section.

La courbe de la couverture de neige en fonction de différentes valeurs du sno50cov (0.1, 0.3, 0.5, 0.7)
La courbe de la couverture de neige en fonction de différentes valeurs du sno50cov (0.1, 0.3, 0.5, 0.7)

Remarque : Les algorithmes 2.3.1 – 2.3.3 sont basés sur le fichier ”snom.f” des codes source du modèle SWAT et les chapitres 1 :2.4 et 1 :2.5 de la documentation théorique (2009).

Variables d’entrée

elevb(ib, i) : L’élévation au centre d’une bande dans un BVe (m).

elevbfr(ib,i) : La fraction du BVe se trouvant dans une bande.

pcpband, tmxband, tavband (ib,i) : La précipitation (mm), température max, moyenne ◦C pour une bande d’élévation dans une journée.

tmx, tmpav (i) : La température max et moyenne ◦C pour un BVe dans une journée. Ici, ce sont des valeurs ajustées par les bandes d’élévations et le changement climatique.

sftmp, smtmp (i) : snow-fall temperature (chute de neige) et snow-melt temperature (fond de neige) (°C) pour un BVe. On pourra définir des valeurs
de ces deux paramètres communes pour l’ensemble des BVes.

smfmn, smfmx (i) : minimum snow-melt rate (21 Dec.) et maximum snow-melt rate (21 Jun.) (mm/°C/day) pour un BVe. Ici le °C est la température de l’air. Ces deux paramètres permettent que le taux du fond de neige varie
au cours d’une année. Les valeurs de ces deux paramètres dépendent des impacts de la température du sol sur le fond de neige.

snocovmx, sno50cov (i) : Teneur minimale en eau du paquet de neige qui correspondrait à une couverture 100% de neige(mm) ; Fraction de snocovmx qui correspond à une couverture de 50% par la neige(none).

timp(i) : Le facteur ”lag” pour le paquet de neige. Il contrôle l’influence de la température du paquet de neige du jour précédent. Sa valeur est entre (0.01 – 1), si il est proche de 1, cela signifie que la température de la neige est exercée plutôt par la température de l’air le jour même ; par contre, celle le plus important est la température de la neige du jour précédent.

iida : L’indice du jour actuel.

BVehru(j) : Un tableau qui exprime les index des BVes contenant les HRUs ;

Variables de sortie

snofall(j) : La quantité de précipitation sous forme de neige ou de pluie congelée dans la journée. (mm)

Variables intermédiaires

precipday(j) : La précipitation effective pour une HRU (mm).

snotmpeb(ib,j) : La température °C du paquet de neige dans une bande d’altitude pour une HRU. Il faut une valeur initiale.

snoeb(ib,j) : La quantité d’eau stockée dans le paquet de neige dans une bande lors d’un jour pour une HRU (mm). Il faut une valeur initiale.

snohru(j) : La quantité d’eau stockée dans le paquet de neige dans une HRU lors d’un jour (mm).

snotmpeb(ib,j) : La température °C du paquet de neige dans une bande d’altitude pour une HRU. Il faut une valeur initiale.

Variables locales

snocov1, snocov2 (i) : Les deux paramètres pour l’équation de la couverture de neige, ils sont calculés par le sno50cov.

sum, sump (j) : Les variables locales pour conserver les valeurs des quantité d’eau dans le paquet de neige et la précipitation mm.

smleb(ib) : La quantité d’eau de la fonte de neige dans une bande (mm).

smfac(ib) : Le facteur pour calculer la fonte de neige (mm/°C).

snomlt(j) : La quantité d’eau de la fonte de neige pour une HRU (mm).

Etape 1, calcul des paramètres snocov1, snocov2 (BVehru(j))

  \begin{algorithm} \caption{Algorithme 2.3.1, \underline{\'Etape 1}} $xyz=log(\displaystyle\frac{sno50cov}{0.5} -sno50cov);$\\ \vspace{1em} $snocov2 =\displaystyle\frac{xyz - Log(0.05)}{0.95 - sno50cov};$\\ \vspace{1em} $snocov1 = xyz + (sno50cov * snocov2);$\\ \vspace{1em} $sum=0;\ \ sump=0;$ \scriptsize $\backslash\backslash$ Initialisation des variables locales pour la prochaine etape. \normalsize $precipday(j)=0;$ \scriptsize $\backslash\backslash$ Initialisation. \normalsize \end{algorithm}

Etape 2, calcul de la chute de neige et la fonte de neige

  \begin{algorithm} \caption{Algorithme 2.3.2,\underline{\'Etape 2}} \If{$elevb(1,BVe_{hru}(j))>0.\ and\ elevb_{fr}(1,BVe_{hru}(j))>0$} {\scriptsize $\backslash\backslash$ Calcule la chute de neige et la fonte de neige pour chaque bande \\ \normalsize \For{ib=1,10} { $elevb_{fr}(ib,BVe_{hru}(j))<0\ ?;\ exit $;\\ $snotmpeb(ib,j)=snotmpeb(ib,j)*(1-timp(ib,BVe_{hru}(j)))+tavband(ib,BVe_{hru}(j))*timp(ib,BVe_{hru}(j))$;\\ \vspace{1em} \If {$tavband(ib,BVe_{hru}(j))<sftmp(BVe_{hru}(j))$} { \scriptsize $\backslash\backslash$ Simule la chute de neige si la température est inférieur que le $sftmp$; \\ \normalsize $snoeb(ib,j)=snoeb(ib,j)+pcpband(ib,BVe_{hru}(j))$;\\ $snofall(j)=snofall(j)+pcpband(ib,BVe_{hru}(j))*elevb_{fr}(ib,BVe_{hru}(j))$;\\ \vspace{1em} \textbf{Else} \scriptsize $\backslash\backslash$ Calcule la fonte de neige si la température est supérieur que le $smtmp$\\ \normalsize \vspace{1em} \scriptsize $\backslash\backslash$ Voir Algorithme A\\ \normalsize \vspace{1em} } $sum=sum+snoeb(ib,j)*elevb_{fr}(ib,BVe_{hru}(j));$\\ $smp=smp+pcpband(ib,BVe_{hru}(j))*elevb_{fr}(ib,BVe_{hru}(j));$\\ } \textbf{Else} exit \scriptsize $\backslash\backslash$ on ne calcule pas la fonte de neige si il n'y a pas de bandes. \\ \normalsize } \end{algorithm}   \begin{algorithm} \caption{Algorithme A} \If{$tmxband(ib,BVe_{hru}(j))>smtmp(ib,BVe_{hru}(j))$} { $smfac=0;\ smleb=0;$\\ \vspace{0.5em} $smfac=\frac{smfmx(ib,BVe_{hru}(j))+smfmn(ib,BVe_{hru}(j))}{2}+Sin(\frac{iida-81}{58.09}*\frac{smfmx(ib,BVe_{hru}(j))-smfmn(ib,BVe_{hru}(j))}{2}); $\\ \vspace{0.5em} $smleb=smfac*\frac{snotmpeb(ib,j)+tmxband(ib,BVe_{hru}(j))}{2}-smtmp(ib,BVe_{hru}(j))$ ;\\ \vspace{1em} \scriptsize $\backslash\backslash$ Ensuite, il faut l'ajuster avec la couverture de neige\\ \normalsize \If{$snoeb(ib,j)<snocovmx$} { $xx=0;\ snocov=0;$\\ $xx=snoeb(ib,j)/snocovmx;$\\ $snocov=\displaystyle\frac{xx}{xx+Exp(snocov1-snocov2*xx)}$;\\ \textbf{else} ; $snocov=1;$ } $smleb=smleb*snocov;$\\ $smleb<0\ ?;\ \ smleb=0;$\\ $smleb>snoeb(ib,j)\ ?;\ \ smleb=snoeb(ib,j);$\\ \vspace{1em} $snoeb(ib,j)=snoeb(ib,j)-smleb;$\\ $snomlt(j)=snomlt(j)+smleb*elevb_{fr}(ib,BVe_{hru}(j));$\\ } \end{algorithm}

Etape 3, Les précipitations effectives

  \begin{algorithm} \caption{Algorithme 2.3.3, \underline{\'Etape 3}} $precipday(j)=smp(j)+snomlt(j)-snofall(j);$\\ $precipday<0\ ?;\ \ precipday=0;$\\ $snohru(j)=sum;$\\ \end{algorithm}