library(getariR)
Chargement du package
Argument de la fonction
La fonction ComputeIndicator
peut prendre un certain nombre d’argument en fonction de ce que vous voulez calculer
NameIndicator :
Le nom de l’indicateur à calculer. Les valeurs possibles sont "hdaystmax"
,"hdaystmin"
,"hdaystmean"
,"excraidays"
,"mint",``"maxt"
,"meant"
,"avsorad"
,"Dsp"
,"Wsp"
,"raifreq"
,"excraifreq"
,"hsfreq"
, "cfreqtmean"
,"cfreqtmax"
,“cfreqtmin"
. Pour plus d’information sur les indicateurs, reférez vous à la bibliothèque d’indicateur disponible ici
colnamesVariable
Le nom de la variable climatique sur laquelle l’indicateur doit être calculé.
climateData
Le data.frame contenant les données climatiques dans un format similaire à donClimate
. Les colonnes cell
, year
, month
, day_of_month
, et day_of_year
doivent être renseignées avec ces noms de colonnes.
# A tibble: 2,192 × 12
cell year month day_of_month day_of_year sfcwind tasmax tasmin tas prtot
<dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
1 14621 2002 1 1 1 8.5 10.8 9.1 9.8 0.7
2 14621 2002 1 2 2 7.62 10.8 5.8 8.3 17.2
3 14621 2002 1 3 3 3.23 9.2 3.3 4.7 4.2
4 14621 2002 1 4 4 7.7 9.9 5.5 7.6 24.5
5 14621 2002 1 5 5 6.74 9.4 6.4 7.9 13.4
6 14621 2002 1 6 6 7.73 5.9 5.4 5.6 19.9
7 14621 2002 1 7 7 7.45 6.9 4.8 5.6 1.7
8 14621 2002 1 8 8 7.73 10 4.8 8.7 19.3
9 14621 2002 1 9 9 4.73 8.9 8.5 8.7 0.3
10 14621 2002 1 10 10 8 9.2 6.1 7.8 7.6
# ℹ 2,182 more rows
# ℹ 2 more variables: hr <dbl>, etppm <dbl>
startStade et endStade
La période sur laquelle l’indicateur doit être calculé. Dans le cas d’indicateurs agroclimatique, renseigner uniquement le jour de l’année. Par exemple pour un calcul annuel :
startStade=1,endStade=365
twoYearsCulture
Si vous travaillez sur une culture sur deux ans mettez twoYearsCulture=T
#### phenoFile Si vous calculez des indicateurs écodlimatique, renseignez ici le data.frame
contenant les stades phénologique (exemple à venir) #### seuil Si vous calculez un indicateur à seuil type hdaystmax
, indiquez le seuil ici. #### LengthMin Si vous calculez un indicateur avec une durée type Dsp
, indiquez le nombre de jour à prendre en compte. #### process Si vous voulez ajouter un processus sur lequel l’indicateur joue #### effect Si vous voulez préciser l’effet #### funcNorm Si vous voulez normaliser vos données, précisez la fonction de normalisation ici. (Vous verrez des exemples plus loin. )
Indicateur agroclimatique
Cas d’un indicateur sur 1 an
Nous allons caluler notre premier indicateur agroclimatique. A savoir la moyenne des températures minimales entre le premier janvier et le 31 décembre.
<-getariR::ComputeIndicator(NameIndicator = "mint",colnamesVariable = tasmin,climateData = DonClimate,startStade = 1,endStade = 365,twoYearsCulture = F)
MinTemp MinTemp
# A tibble: 6 × 7
cell year rawvalue indicator ID debutPhase finPhase
<dbl> <dbl> <dbl> <chr> <dbl> <dbl> <dbl>
1 14621 2002 7.66 mint 1 1 365
2 14621 2003 8.29 mint 1 1 365
3 14621 2004 8.49 mint 1 1 365
4 14761 2002 8.67 mint 1 1 365
5 14761 2003 9.22 mint 1 1 365
6 14761 2004 9.35 mint 1 1 365
En sortie, vous avez un data.frame
avec les information suivantes, cell
correspond à la cellule d’étude, year
à l’année de récolte, rawvalue
à la valeur brute de l’indicateur,indicator
renvoi le nom de l’indicateur, nous reviendrons sur ID
plus tard, debutPhase
et finPhase
sont la période de calcul.
Cas d’un indicateur à seuil sur une culture sur deux ans
Maintenant nous voulons calculer le nombre de jours où les températures maximales sont supérieurs à 20 °C entre le 1er octobre et le 30 juin de l’année suivante (cas d’un calcul sur deux ans). Pour cela, il faut ajouter 365
à endStade
pour avoir le calcul sur deux ans. Nous avons ajouter l’argument seuil
fixé à 20
<-getariR::ComputeIndicator(NameIndicator = "hdaystmax",colnamesVariable = tasmax,climateData = DonClimate,startStade = 275,endStade = 578,twoYearsCulture = T,seuil = 20)
hdaystmax hdaystmax
# A tibble: 4 × 7
cell year rawvalue indicator ID debutPhase finPhase
<dbl> <dbl> <dbl> <chr> <dbl> <dbl> <dbl>
1 14621 2003 23 hdaystmax 1 275 578
2 14621 2004 42 hdaystmax 1 275 578
3 14761 2003 31 hdaystmax 1 275 578
4 14761 2004 61 hdaystmax 1 275 578
Indicateurs écoclimatiques
Pour calculer des indicateurs écoclimatiques, il faut fournir un fichier phénologique avec les dates par stade en jour julien dans le même format que le fichier phenoFile
Il existe dans le packages des fonctions de modèles phénologiques pour certaines espèces (vigne,blé,maïs et prairie) mais rien n’empêche de fournir votre propre jeu de donnée. Pour calculer un indicateur écoclimatique, il faut spécifier le fichier phénologique utilisé ainsi que le nom de colonne de stades sur lesquels on veut le cacluler. ici un exemple on l’on calcul la moyenne des températures minimales entre s1 et s2.
<-ComputeIndicator(NameIndicator = "mint",colnamesVariable = tasmin,climateData = DonClimate,startStade = s1,endStade = s2,phenoFile = phenoFile,twoYearsCulture = F) mints1s2
Joining with `by = join_by(cell, year)`
mints1s2
# A tibble: 6 × 7
cell year rawvalue indicator ID debutPhase finPhase
<dbl> <dbl> <dbl> <chr> <dbl> <chr> <chr>
1 14621 2002 5.54 mint 1 s1 s2
2 14621 2003 6.37 mint 1 s1 s2
3 14621 2004 6.48 mint 1 s1 s2
4 14761 2002 6.4 mint 1 s1 s2
5 14761 2003 7.31 mint 1 s1 s2
6 14761 2004 7.00 mint 1 s1 s2
Si on considère que cet indicateur affect la croissance et peut entrainer la mort de celle ci, on peut spécifier avec process et effect
<-ComputeIndicator(NameIndicator = "mint",colnamesVariable = tasmin,climateData = DonClimate,startStade = s1,endStade = s2,phenoFile = phenoFile,twoYearsCulture = F,process = "growth",effect = "death") mints1s2GD
Joining with `by = join_by(cell, year)`
mints1s2GD
# A tibble: 6 × 9
cell year rawvalue indicator ID debutPhase finPhase process effect
<dbl> <dbl> <dbl> <chr> <dbl> <chr> <chr> <chr> <chr>
1 14621 2002 5.54 mint 1 s1 s2 growth death
2 14621 2003 6.37 mint 1 s1 s2 growth death
3 14621 2004 6.48 mint 1 s1 s2 growth death
4 14761 2002 6.4 mint 1 s1 s2 growth death
5 14761 2003 7.31 mint 1 s1 s2 growth death
6 14761 2004 7.00 mint 1 s1 s2 growth death
Cela ajoute deux nouvelles colonnes process et effect. Ainsi, on peut calculer plusieurs fois le même indicateur avec des seuils différents suivant qu’il affect un processus ou a un effet différents sur la plante.
Normalisation
Si l’on veut comparer des indicateurs entre eux, avec des valeurs d’unité différents, on peut normaliser entre 0 et 1 l’indicateur à l’aide d’une fonction de normalisation. Les fonction disponibles sont affine
, sigmoid
et exponential
<-ComputeIndicator(NameIndicator = "rainsum",climateData = DonClimate,colnamesVariable = prtot,
RainSums0s1NormstartStade =s0,endStade = s1,twoYearsCulture = F,phenoFile = phenoFile,funcNorm = "sigmoid",coef=c(0.2,4)
process="growth",effect="watdef") ,
Joining with `by = join_by(cell, year)`
RainSums0s1Norm
# A tibble: 6 × 10
cell year rawvalue indicator ID debutPhase finPhase process effect
<dbl> <dbl> <dbl> <chr> <dbl> <chr> <chr> <chr> <chr>
1 14621 2002 13.9 rainsum 1 s0 s1 growth watdef
2 14621 2003 22.2 rainsum 1 s0 s1 growth watdef
3 14621 2004 6.6 rainsum 1 s0 s1 growth watdef
4 14761 2002 15.3 rainsum 1 s0 s1 growth watdef
5 14761 2003 12.6 rainsum 1 s0 s1 growth watdef
6 14761 2004 2.6 rainsum 1 s0 s1 growth watdef
# ℹ 1 more variable: normvalue <dbl>