Irrigation

Définition

L’irrigation est l’action de prélever de l’eau depuis une ressource pour l’apporter, via un équipement d’irrigation, sur une parcelle cultivée

Résolution

Spatiale

La résolution spatiale est la parcelle.

Temporelle

La résolution temporelle est la journée.

Interface entités

Voir la description du processus générique des opérations techniques.

L’irrigation utilise également les entités suivantes :

Description

La stratégie d’irrigation est utilisée par l’agent agriculteur pour déterminer à quel moment il va irriguer et la quantité d’eau à appliquer, en tenant compte de la disponibilité de la main d’œuvre sur l’exploitation et de l’équipement sur le bloc d’irrigation (voir Dynamiques d’irrigation). Deux  types de stratégies sont possibles dans MAELIA (et sont potentiellement combinables):

  • La stratégie « pratiques agricoles », où l’irrigation est représentative des pratiques des irrigants sur un territoire. Elle se base sur des règles de décisions qui mobilisent des indicateurs pédoclimatiques et phénologiques. Elle a été initialement développé à partir d’entretiens avec des irrigants du bassin versant Aveyron et doit être validé, paramétrée, voir révisée pour chaque cas d’application. Plus précisément, les agents agriculteurs du modèle mobilisent des conditions de déclenchement de l’irrigation qui touchent le climat passé et à venir (prévisions), l’état du sol, le stade phénologique de la culture.
  • La stratégie « irrigation théorique », où l’irrigation est mise en œuvre selon un taux de satisfaction hydrique théorique[?], calculé à partir des besoins de la plantes et du taux de remplissage de la réserve utile du sol. Elle a été développé au centre de recherche INRA de Toulouse de manière empirique afin d’optimiser un rapport entre travail et objectif de rendement. Cette stratégie vise à reproduire le comportement des agriculteurs utilisant des sondes et/ou un OAD (Outil d’aide à la Décision) pour définir leur irrigation.

Approche globale pour le déclenchement de l’irrigation : toutes les conditions sont « fausses » par défaut et basculent à vrai lorsque les seuils d’activation sont franchis. Par exemple, je ne peux pas irriguer tant qu’il n’a pas fait suffisamment sec

Tour d’eau et report de l’irrigation : pour retracer les pratiques de tour d’eau, deux doses d’irrigation ne peuvent être appliquées qu’avec un minimum de jours de délai entre les deux (délai définie dans le paramétrage des règles de décision). Au cours de la saison d’irrigation, lorsque une ou plusieurs des conditions bascule à « faux » (plus besoin ou plus possible d’irriguer), alors on n’irrigue pas la parcelle ce jour-là, ce qui augmente le nombre de jour de délai entre deux doses. De plus, dans la stratégie « pratique agricole » si on suspend l’irrigation à cause du cumul de pluie passé alors on ajoute un délai (basé sur ce cumul) avant de pourvoir de nouveau irriguer cette parcelle (voir 6.2.3 pour le détail des calculs).

Biais de perception : chaque condition peut être modulée par un biais de perception, affecté aux agriculteurs à l’initialisation. Le biais de perception module le seuil (ex biais = 1.1 alors seuil =1.1 x seuil). La valeur par défaut est 1. Voir la page Biais de perception.

Paramétrage des pratiques

Il est possible de définir de très nombreuses stratégies d’irrigation en modulant le paramétrage de chaque itinéraire technique. On peut, par exemple, choisir de paramétrer des pratiques différentes pour une même variété de maïs, selon qu’elle soit implantée dans un sol à forte RU ou à faible RU et/ou selon le type de matériel. On peut aussi faire varier les doses apportées et la longueur des tours d’eau. On peut aussi désactiver certaines conditions de déclenchement d’une irrigation si l’on juge que les agriculteurs ne se basent pas dessus pour décider de leur pratique d’irrigation.

La stratégie d’irrigation est paramétrée par système de culture, à l’échelle de chaque itinéraire technique simulé sur le paysage agricole. Le paramétrage défini :

  • D’une part par l’équipement d’irrigation (vitesse d’avancement et temps de travail), la dose appliquée et la fréquence d’application (délai minimal de retour),
  • D’autre part les conditions d’activation de l’irrigation (généralement un seuil et une profondeur temporelle pour l’observation)

Algorithmes

Vérification des conditions

L’algorithme prend en compte jusqu’à 6 conditions, actives ou non selon le choix de stratégie fait par l’utilisateur.

Condition Stratégie
Le cumul de pluies sur les derniers jours (isCumuleHauteurPluieOK) « pratiques »
Le cumul de pluies prévu les prochains jours (isCumuleHauteurPluiePrevuesOK) « pratiques »
L’humidité du sol (isHumiditeSolOK) « pratiques »
Le déficit hydrique climatique récent (isCumuleHauteurPluieMoinsEtpOK) « pratiques »
L’équipement de la parcelle (parcelle irrigable ou non) et la disponibilité de la ressource en eau  (cultureIrrigable, isPpaDispo, SurfacePouvantEtreIrriguee et isEnRestrictionJourCourant) « théorique » & « pratiques »
Le taux de satisfaction hydrique de la plante (isTauxDeSatisfactionEauOk) « théorique »

Variables d’entrée / sortie

parcelleEntree : la parcelle en cours ;
idGroupe : l’identifiant du bloc d’irrigation auquel la parcelle appartient ;
isActivitePossible : égale à « Vrai » si l’activité d’irrigation peut être réalisée, sinon « Faux » ;

Algorithme

POUR chaque parcelleEntree appartenant à idGroupe FAIRE

Si (cultureIrrigable = Vrai) ET (isCumuleHauteurPluiePrevuesOK = Vrai) ET (isHumiditeSolOK = Vrai) ET (isCumuleHauteurPluieMoinsEtpOK = Vrai) ET (SurfacePouvantEtreIrriguee > 0) ET (isPpaDispo = Vrai) ET (isTauxDeSatisfactionEauOk = Faux)Alors

isActivitePossible = Vrai ;

Sinon

isActivitePossible = Faux ;

Fin

Fin

Conditions pour l’irrigation « stratégie pratiques agricoles »

Cumul de pluie récent – « isCumuleHauteurPluieOK »

L’algorithme permet l’irrigation :

  • si le cumul de hauteur de pluie des nbjour derniers jours est inférieur au seuil paramétré hauteurMax ;
  • et si parmi les nbjourSignif derniers jours, il n’y a pas eu de pluie journalière significative (i.e. supérieur à hauteurSignifReport.)

Variables d’entrée:

P : Indice de la fenêtre de stade physiologique pour la définition des règles de décision de l’irrigation.

biaisPerceptionEau : Biais de perception de l’agriculteur sur les volumes de précipitation ou la teneur en eau du sol. Voir ici pour plus de détails.

mapNbJoursPluieObsCumulee : Tableau du nombre de jours à considérer pour le cumul des pluies observées. Valeur définie par période dans le fichier de règles de décision (IRRIGATION_JOURS_PLUIE_CUMUL).

mapNbJoursPluieSignif : Tableau du nombre de jours à considérer pour les pluies significatives. Valeur définie par période dans le fichier de règles de décision (IRRIGATION_JOURS_PLUIE_SIGNIF).

mapHauteurPluieObsCumuleeMax[mm] : Tableau de hauteur maximale de pluie tolérée pour le cumul de précipitation. Valeur définie par période dans le fichier de règles de décision (IRRIGATION_HAUTEUR_PLUIE_CUMUL_ANNULATION).

mapHauteurPluieSignifReport[mm] : Tableau de hauteur au-delà de laquelle la pluie est considérée comme significative. Valeur définie par période dans le fichier de règles de décision (IRRIGATION_HAUTEUR_PLUIE_SIGNIF_REPORT).

Algorithme :

Si (stratégie d’irrigation pratique) ALORS

nbJour = mapNbJoursPluieObsCumulee[P];

nbJourSignif = mapNbJoursPluieSignif[P];

hauteurMax = mapHauteurPluieObsCumuleeMax[P];

hauteurSignifReport = mapHauteurPluieSignifReport[P];

hauteurReelle = cumulePluies(nbJour) * biaisPerceptionEau;

pluieMaxRelle = getMaxPluieObs(nbJourSignif) * biaisPerceptionEau;

Si (hauteurReelle \leq hauteurMax) ET (pluieMaxRelle \leq hauteurSignifReport) ALORS

isCumuleHauteurPluieOK = Vrai;

SINON

isCumuleHauteurPluieOK = Faux;

FIN

ELSE

isCumuleHauteurPluieOK = Vrai;

FIN

Remarque : pour des raisons de lisibilité des algorithmes, l’accès aux tableaux (map) ne sera plus présenté dans les algorithmes suivants, mais directement remplacé par la valeur à la bonne période.

Cumul de pluie prévu « isCumuleHauteurPluiePrevuesOK »

L’algorithme permet l’irrigation  si le cumul des pluies prévus sur les nbjour prochains jours est inférieur au seuil paramétré (hauteur).

Variables intermédiaires :

nbjour : Nombre de jours à considérer pour le calcul du cumul des précipitations prévues. Valeur définie par période dans le fichier de règles de décision (IRRIGATION_JOURS_PLUIE_PREVUES).

hauteur : Cumul des précipitations prévues au-delà duquel l’irrigation est suspendue. Valeur définie par période dans le fichier de règles de décision (IRRIGATION_HAUTEURS_PLUIE_PREVUES).

biaisPerceptionEau : Biais de perception de l’agriculteur sur les volumes de précipitation ou la teneur en eau du sol. Voir ici pour plus de détails.

Algorithme :

Si (stratégie d’irrigation pratique) Alors

Si (MaxPluiesPrevues (nbJour) * biaisPerceptionEau <= hauteur) Alors

isCumuleHauteurPluiePrevuesOK = Vrai

Sinon

isCumuleHauteurPluiePrevuesOK = Faux

Fin

Sinon

isCumuleHauteurPluiePrevuesOK = Vrai;

Fin

Retard du tour d’eau – « applicationRetardIrrigation »

L’algorithme allonge le tour d’eau au cas où le cumul de pluie observée dépasse le seuil, tenant compte de la fréquence et de la dose apporté pour un itinéraire technique donné.

Variables intermédiaires :

nbJour : Nombre de jours à considérer pour le calcul du cumul des précipitations passées. Valeur définie par période dans le fichier de règles de décision (IRRIGATION_JOURS_PLUIE_CUMUL).

délaiRetour : Délai minimal de retour (jours). Valeur définie dans le fichier de règles de décision (IRRIGATION_NB_JOUR_TOUR_EAU).

dose [mm] : Dose d’irrigation apportée. Valeur définie par période dans le fichier de règles de décision (IRRIGATION_DOSE).

reportMAX : Nombre de jours maximum de report d’irrigation suite à de fortes précipitations. Valeur définie par période dans le fichier de règles de décision (IRRIGATION_REPORT_MAX).

biaisPerceptionEau : Biais de perception de l’agriculteur sur les volumes de précipitation ou la teneur en eau du sol. Voir ici pour plus de détails.

Algorithme :

hauteurReelle = cumulePluies(nbJour)*biaisPerceptionEau;
SI (isCumuleHauteurPluieOK = Faux) ALORS

doseParJour = dose / délaiRetour

nbJoursRetard = min(reportMAX ; \displaystyle\frac{(hauteurReelle -15.0)}{doseParJour})

SI (ModeleCroissancePlante=’Simple’) ALORS

dernierTourEau = dernierTourEau + nbJoursRetard;

Sinon

ajoutRetardIrrigation(nbJoursRetard);

FIN

FIN

Taux de remplissage de la RU – « isHumiditeSolOK »

L’algorithme permet l’irrigation si l’humidité du sol de la parcelle à irriguer est en dessous de X % (le seuil paramétré HumiditeSolMax). Ce test n’est effectué qu’au début d’un tour d’eau ou après une suspension de celui-ci. Cette condition ne peut donc pas arrêter l’irrigation.

Variables:

biaisPerceptionEau : Biais de perception de l’agriculteur sur les volumes de précipitation ou la teneur en eau du sol. Voir ici pour plus de détails.

HumiditeSolRacine : si modèle de culture Simple, HumiditeSolRacine = \displaystyle\frac{reserveFacilementUtilisable}{ reserveFacilementUtilisableMaximum}; Si modèle de culture AqYield, HumiditeSolRacine = \displaystyle\frac{Hr}{RUrPrec} et cela correspond au taux d’humidité de l’horizon de surface.

HumiditeSolMax [-] : Humidité maximale du sol pour démarrer une irrigation. Valeur définie par période dans le fichier de règles de décision (IRRIGATION_HUMIDITE_SOL_MAX ).

Algorithme :

Si (stratégie d’irrigation pratique) Alors

Si (HumiditeSolRacine * biaisPerceptionEau) <= (HumiditeSolMax) Alors

isHumiditeSolOK = Vrai

Sinon 

isHumiditeSolOK = Faux

Fin

Sinon

isHumiditeSolOK = Vrai;

Fin

Demande climatique –« isCumuleHauteurPluieMoinsEtpOK »

L’algorithme permet l’irrigation  si le déficit climatique (P-ETP) des nbjour derniers jours est inférieur au seuil paramétré (hauteur).

Variables intermédiaires :

nbjour : Nombre de jours utilisé dans le calcul du déficit hydrique. Valeur définie par période dans le fichier de règles de décision (IRRIGATION_JOURS_P_MOINS_ETP).

hauteur : Déficit hydrique autorisée pour irriguée. Si le déficit observé est inférieur alors l’irrigation est suspendue. Valeur définie par période dans le fichier de règles de décision (IRRIGATION_P_MOINS_ETP).

biaisPerceptionEau : Biais de perception de l’agriculteur sur les volumes de précipitations ou la teneur en eau du sol. Voir ici pour plus de détails.

Algorithme :

Si (stratégie d’irrigation pratique) Alors

Si (CumulePluiesMoinsETP(nbjour) * biaisPerceptionEau <= hauteur)Alors

isCumuleHauteurPluieMoinsEtpOK = Vrai

Sinon

isCumuleHauteurPluieMoinsEtpOK = Faux

Fin

Sinon

isCumuleHauteurPluieMoinsEtpOK = Vrai;

Fin

Conditions pour l’irrigation « stratégie théorique » – Sous-programme «  isTauxDeSatisfactionEauOk »

L’algorithme permet l’irrigation si l’indice de satisfaction hydrique de la culture est inférieur au courbe seuil généré par le paramétrage des règles de décision. L’indice de satisfaction hydrique est calculé chaque jour, comme le rapport entre la transpiration réelle et la transpiration maximale du jour (TR/TRmax). Mais on ne connaît pas la transpiration du jour (l’indice de satisfaction hydrique permet justement ce calcul), donc on s’appuie sur l’équation suivante :

(1)   \begin{equation*} indiceSatifactionHydrique = max(0.0; 1 -[\frac{Hr - Hs}{RUr-RUs}]^{ctr_m * coefFermetureStomatesCult^{echV}) \end{equation*}

Cette équation a été développée de manière empirique en liant une transpiration réelle (TR) à une transpiration potentielle (ou transpiration maximale, TRmax) selon différents niveaux de remplissage de la RU. Trois seuils d’irrigation (sirr1, sirr2 et sirr3) paramétrés génèrent la courbe de seuil d’irrigation selon 4 phases physiologiques de la culture (voir figure ci-dessous).

Forme de la courbe de satisfaction hydrique à atteindre dans le cas d'une gestion "automatique". Dans la figure, sirr1 = 0.8; sirr2 = 0.9; sirr3 = 0.7 et echVM = 1.55
Forme de la courbe de satisfaction hydrique à atteindre dans le cas d’une gestion « automatique ». Dans la figure, sirr1 = 0.8; sirr2 = 0.9; sirr3 = 0.7 et echVMat = 1.55

Variables:

irrSurTauxSatisfaction : Booléen définie par période dans le fichier de règles de décision (IRRIGATION_IS_THEORIQUE) ; égale à « oui » si la stratégie d’irrigation doit être utilisé.

sirr1, sirr2, sirr3 : seuils d’irrigation. Valeur définie dans le fichier de règles de décision (IRRIGATION_SIRR1, IRRIGATION_SIRR2 et IRRIGATION_SIRR3)

indiceSatifactionHydrique : Indice de satisfaction hydrique. Il dépend du modèle de culture. Pour le modèle AqYield la formule est donnée ci-dessus (équation 1)

Algorithme :

Si (irrSurTauxSatisfaction) ET (ModeleCroissancePlante=’AqYield’) Alors

Sirr = 0;
echVPercu = EchelleVegetation * biaisPerceptionVegetation;

 

Si (echVPercu  < 0.4) Alors

Sirr = sirr1;

Sinon Si (echVPercu < 0.8) Alors

Sirr = sirr1+(sirr2-sirr1)*\displaystyle\frac{(echVPercu-0.4)}{(0.8-0.4)};

Sinon Si (echVPercu < 1.1) Alors

Sirr = sirr2;

Sinon Si (echVPercu < echVMat) Alors

Sirr = sirr2+(sirr3-sirr2)*\displaystyle\frac{(echVPercu-1.1)}{(echVMat-1.1)};

Fin

 

Si (indiceSatifactionHydrique < Sirr) Alors

isTauxDeSatisfactionEauOk = Faux

Sinon

isTauxDeSatisfactionEauOk = Vrai

Fin

Sinon

isTauxDeSatisfactionEauOk = Vrai

Fin

Application de l’activité d’irrigation

Cette étape calcule le volume d’eau apportée à la parcelle irriguée chaque jour.

Variables:

parc : la parcelle en cours ;

agri : l’agriculteur ;

idGroupe : l’identifiant du groupe d’irrigation auquel la parcelle appartient ; Si la parcelle est rattachée à plusieurs groupes d’irrigation alors la fonction est appelée plusieurs fois.

surfaceIrrigueeEntree : surface de la parcelle qu’il faut irriguer ;

délaiRetour : Délai minimale de retour (jours). Valeur définie dans le fichier de règles de décision (IRRIGATION_NB_JOUR_TOUR_EAU).

eau_irr [m3] : volume d’eau qu’il faut ajouter à la parcelle pour l’irriguer ;

gp : le groupe d’irrigation auquel la parcelle appartient ; Si la parcelle est rattachée à plusieurs groupes d’irrigation alors la fonction est appelée plusieurs fois.

eau_disponible [m3] : la quantité d’eau maximale prélevable par l’agriculteur, définie par l’utilisateur via le fichier de quota de l’année (moins ce qui a déjà été consommé) ou infinie par défaut.

zeroApproche = 0.000001 (constante) ;

nombreMillimetreDansUnMetre  = 1000 (constante) [mm/m] ;

surface : surface totale de la parcelle (m2) ;

Algorithme

//si la parcelle appartient à la zone d’étude alors on irrigue

Si (parcelle dans la zone) Alors

eau_irr = 0 ;

Si (stratégie d’irrigation basée sur le modèle par bloc) (voir processus irrigation)Alors

//on récupère le groupe d’irrigation de la parcelle selon son identifiant (idGroupe)
gp = groupe d’irrigation (where indiceGroupe = idGroupe);

//on ajoute la surface à irriguer au groupe d’irrigation

ajoutSurfaceIrriguee(surfaceIrrigueeEntree);

Sinon

dernierTourEau = délaiRetour ;
surfaceIrrigueeEntree = surface;

Fin

eau_irr = min(au_disponible; QtéEau * surfaceIrrigueeEntree );

Si (eau_irr < zeroApproche) Alors

eau_irr = 0 ;

Fin

 

// On stocke la quantité d’irrigation souhaitée, elle sera ensuite traitée par le BVe et mise à jour en fonction de la disponibilité de la ressource

 prelevementEau = eau_irr ;

 

 // On donne l’information à la parcelle de la quantité d’eau souhaitée pour la croissance de la plante (en [m])

 quantiteEauARajouter = (eau_irr / surface) * nombreMillimetreDansUnMetre ;

 

Sinon // on dit que l’irrigation réelle est nulle car alors l’agriculteur devra enlever la quantité prélevée à son quota, or l’ilot hors zone n’est pas pris en compte dans le calcul du quota.

irrigationReelle = 0;

Fin