[R-br] Evapotranspiração Penman-Monteith

Éder Comunello comunello.eder em gmail.com
Quinta Abril 28 14:51:12 BRT 2016


Yuri, boa tarde!

Você deve editar as constantes conforme os dados disponíveis e fórmula
utilizada.

*Penman-Monteith diário utilizando "Rs":*
# ET.PenmanMonteith(data, constants, ts="daily", solar="data", wind="yes",
crop="short", ...)
labels <- c("Elev", "lambda", "lat_rad", "Gsc", "z", "sigma", "G")

*Penman-Monteith diário utilizando "n":*
# ET.PenmanMonteith(data, constants, ts="daily", solar="sunshine hours",
wind="yes", crop="short", ...)
labels <- c("Elev", "lambda", "lat_rad", "Gsc", "z", "sigma", "G", "as",
"bs")

*Priestley-Taylor diário utilizando "Rs":*
# ET.PriestleyTaylor(data, constants, ts="daily", solar="data", alpha=0.23,
...)
labels <- c("Elev", "lambda", "lat_rad", "Gsc", "sigma", "G", "alphaPT")

*Priestley-Taylor diário utilizando "n":*
# ET.PriestleyTaylor(data, constants, ts="daily", solar="sunshine hours",
alpha=0.23, ...)
labels <- c("Elev", "lambda", "lat_rad", "Gsc", "sigma", "G", "alphaPT",
"as", "bs")

No caso de comparar resultados atente para diferenças de padrão das
fórmulas para crop="short" (FAO-56) ou crop="tall" (ASCE-EWRI).

Você pode avaliar diretamente as fórmulas empregadas no pacote! Se você
digitar a função sem estar seguida de parênteses, terá acesso ao código
utilizado e poderá comparar com teu script:

> ET.PenmanMonteith
# function (data, constants, ts = "daily", solar = "sunshine hours",
#           wind = "yes", crop = "short", ...)
# {
#   if (is.null(data$Tmax) | is.null(data$Tmin)) {
#     stop("Required data missing for 'Tmax.daily' and 'Tmin.daily', or
'Temp.subdaily'")
#   }
#   if (is.null(data$RHmax) | is.null(data$RHmin)) {
#     stop("Required data missing for 'RHmax.daily' and 'RHmin.daily', or
'RH.subdaily'")
#   }
# ...

​
================================================
Éder Comunello
Agronomist (UEM), MSc in Environ. Sciences (UEM)
DSc in Agricultural Systems Engineering (USP/Esalq)
Brazilian Agricultural Research Corporation (Embrapa)
Dourados, MS, Brazil |<O>|
================================================
GEO, -22.2752, -54.8182, 408m
UTC-04:00 / DST: UTC-03:00




Em 28 de abril de 2016 13:19, Yury Duarte <yurynepomuceno em gmail.com>
escreveu:

> Obrigado, Éder!!
>
> De fato, não consegui entender a necessidade de informar todas essas
> constantes que vc abordou no código quando li o "help" do pacote.
> Irei rodar seus comandos e acertarei as constantes segundo minhas
> situações.
> Estou finalizando a programação das fórmulas de PriestleyTaylor e
> PenmanMonteith para comparar com as saídas das evapo fornecidas pelo
> pacote. Assim que tiver os scripts prontos os enviarei nessa mesma conversa!
>
> Abs
>
> Yury Duarte
> Engenheiro Agrônomo - ESALQ/USP
>
> Em 28 de abril de 2016 12:18, Éder Comunello <comunello.eder em gmail.com>
> escreveu:
>
>> Yuri, bom dia!
>>
>> Esse pacote é um pouco melindroso quanto ao formato de entrada dos dados
>> e muita coisa não está documentada.
>>
>> O objeto de entrada deve ser uma lista, iniciando com Date e J (data e
>> dia juliano), sendo seguida pelas variáveis climáticas (na classe {zoo}).
>>
>> O script tá rodando a partir dos seus dados de exemplo, mas você tem que
>> utilizar as constantes adequadas pro seu caso.
>>
>> ### <code r>
>> rm(list=ls())
>> require(Evapotranspiration)
>>
>> # URL <- "http://r-br.2285057.n4.nabble.com/attachment/4666053/0/a.txt"
>>
>> setwd("~/LAB/LEARN") ### Alterar!
>> df <- read.table("a.txt", sep=";", head=T, as.is=T)
>> df$Data <- as.Date(df$Data)
>>
>> climate <- lapply(as.list(df)[2:7], zoo, df$Data)
>> J       <- as.numeric(format(df$Data, "%j"))
>> data    <- c(list(Date.daily=df$Data, J=J), climate)
>>
>> names(data)
>> # [1] "Date.daily" "J"          "Rs"         "Tmax"       "Tmin"
>> "RHmax"      "u2"         "RHmin"
>> str(data)
>>
>> # Editar adequadamente as constantes utilizadas!!!
>> # As constantes a serem utilizadas variam com a formulação escolhida...
>> Ver ajuda...
>> # ?ET.PenmanMonteith
>> # ?ET.PristleyTaylor
>> # pi/180*-23.45 # [1] -0.4092797
>> myConst <- list(lambda = 2.45, sigma = 4.903e-09, Gsc = 0.082,
>>                           lat = -23.45, lat_rad = -0.40928, as = 0.25,
>>                           bs = 0.55, Elev = 480, z = 2, Roua = 1.2, Ca =
>> 0.001013, G = 0,
>>                           alphaA = 0.14, alphaPT = 1.26, ap = 2.4, fz =
>> 28, b0 = 1,
>>                           a_0 = 11.9, b_0 = -0.15, c_0 = -0.25, d_0 =
>> -0.0107, e0 = 0.81917,
>>                           e1 = -0.0040922, e2 = 1.0705, e3 = 0.065649, e4
>> = -0.0059684,
>>                           e5 = -0.0005967, gammaps = 0.66, epsilonMo =
>> 0.92, PA = 285.8,
>>                           alphaMo = 17.27, betaMo = 237.3, sigmaMo =
>> 5.67e-08, lambdaMo = 28.5,
>>                           b1 = 14, b2 = 1.2)
>>
>> res1 <- ET.PenmanMonteith(data,  myConst, ts="daily", solar="data",
>> wind="yes", crop = "short")
>> res2 <- ET.PriestleyTaylor(data, myConst, ts="daily", solar="data",
>> alpha=.23)
>>
>> res <- cbind(PM=res1$ET.Daily, PT=res2$ET.Daily)
>> head(res)
>> fit <- lm(res$PM~res$PT-1); summary(fit)
>> plot(res$PM~res$PT); abline(fit, col=2); abline(a=0, b=1, col=3, lty=2) #
>> 1:1
>> ### </code>
>>
>>>> ================================================
>> Éder Comunello
>> Agronomist (UEM), MSc in Environ. Sciences (UEM)
>> DSc in Agricultural Systems Engineering (USP/Esalq)
>> Brazilian Agricultural Research Corporation (Embrapa)
>> Dourados, MS, Brazil |<O>|
>> ================================================
>> GEO, -22.2752, -54.8182, 408m
>> UTC-04:00 / DST: UTC-03:00
>>
>>
>>
>>
>> Em 27 de abril de 2016 18:09, Jônatan <jdtatsch em gmail.com> escreveu:
>>
>>> Qual erro? Qual os parâmetros usados no comando?
>>> Exponha um exemplo reproduzível.
>>>
>>> 2016-04-27 15:02 GMT-03:00 Yury Duarte <yurynepomuceno em gmail.com>:
>>>
>>>> Boa tarde colegas programadores!
>>>>
>>>> Estou com algumas dificuldades em rodar o comando "ET.PenmanMonteith"
>>>> do pacote "Evapotranspiration". Minha intenção é de calcular a
>>>> evapotranspiração potencial para a escala diária. Segundo o pacote, as
>>>> variáveis exigidas são:
>>>> Tmax; Tmin; RHmax; RHmin; Rs e u2.
>>>> Todas as variáveis exigidas pelo pacote estão compreendidas no meu
>>>> arquivo de entrada (que segue em anexo), entretanto o comando segue dando
>>>> erro.
>>>> Caso alguém seja familiar com o pacote e/ou com o comando e puder me
>>>> dar uma luz, seria de muita ajuda!
>>>>
>>>> Desde já agradeço pela colaboração de todos!
>>>>
>>>> Abraços
>>>> Yury Duarte
>>>> Engenheiro Agrônomo - ESALQ/USP
>>>>
>>>> _______________________________________________
>>>> R-br mailing list
>>>> R-br em listas.c3sl.ufpr.br
>>>> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
>>>> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça
>>>> código mínimo reproduzível.
>>>>
>>>
>>>
>>>
>>> --
>>> ###############################################################
>>> ##  Jônatan Dupont Tatsch
>>> ##  Professor do Departamento de Física
>>> ##  Coordenador Substituto do Programa de Pós-Graduação em Meteorologia
>>> (PPGMET)
>>> ##  Centro de Ciências Exatas e Naturais (CCNE)
>>> ##  Universidade Federal de Santa Maria - UFSM
>>> ##  Faixa de Camobi, Prédio 13 - Campus UFSM - Santa Maria, RS, Brasil
>>> - 97105-900
>>> ##  Telefone: +55(55)33012083
>>> ##  www.ufsm.br/meteorologia
>>> ###############################################################
>>>
>>> _______________________________________________
>>> R-br mailing list
>>> R-br em listas.c3sl.ufpr.br
>>> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
>>> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça
>>> código mínimo reproduzível.
>>>
>>
>>
>> _______________________________________________
>> R-br mailing list
>> R-br em listas.c3sl.ufpr.br
>> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
>> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça
>> código mínimo reproduzível.
>>
>
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20160428/a669fb0a/attachment.html>


Mais detalhes sobre a lista de discussão R-br