
Senhores, bom dia! Fiz algumas alterações no código e está rodando, mas não examinei a fundo a lógica das operações. Olhei apenas os gráficos finais e parece estar correto... ### <code r> setwd("D:/LAB/NOVOS/MET") rm(list = ls()) a = read.table("x.txt", sep = "\t", header = T); head(a) #----------Iniciar o BH----------# cad = 100 a$P.ETP = a$RAIN-a$ETP.Penman a$NAc = 0 a$ARMi = cad a$ARMf = a$ARMi a$ALT = 0 a$EXC = a$DEF = a$ETR = NA head(a) # Variáveis iniciais que estavam faltando... a$ETR[1] = with(a, if(P.ETP[1]<0){RAIN[1]+abs(ALT[1])} else {ETP.Penman[1]}) a$DEF[1] = with(a, ETP.Penman[1] - ETR[1]) a$EXC[1] = with(a, ARMi[1] - ARMf[1]) head(a) for(i in 2:nrow(a)){ if(a$P.ETP[i]<0){ (a$NAc[i] = a$P.ETP[i]+a$NAc[i-1]) (a$ARMi[i] = (cad*exp(-1*((abs(a$NAc[i]))/cad)))) (a$ARMf[i] = ifelse(a$ARMi[i] > cad, cad, a$ARMi[i])) ### inseri essa linha } else { (a$ARMi[i] = a$ARMf[i-1]+a$P.ETP[i]) ### mudei a posição! Calcula sempre ARMi primeiro (a$ARMf[i] = ifelse(a$ARMi[i] > cad, cad, a$ARMi[i])) (a$NAc[i] = cad*log((a$ARMf[i])/cad)) } a$ALT[i] = a$ARMf[i] - a$ARMf[i-1] a$ETR[i] = if(a$P.ETP[i]<0){a$RAIN[i]+abs(a$ALT[i])} else {a$ETP.Penman[i]} a$DEF[i] = ifelse(a$ETP.Penman[i]-a$ETR[i] > 0, a$ETP.Penman[i]-a$ETR[i], 0) ### alterado a$EXC[i] = a$ARMi[i] - a$ARMf[i] } head(a) a$DATE <- as.Date(a$DATE) # plot(a$ARMi~a$DATE, type="l") # variação do armazenamento plot(a$ARMf~a$DATE, type="l") # variação do armazenamento # Extrato... yLim <- range(c(a$EXC, -a$DEF)); yLim plot(a$EXC~a$DATE, type="l", ylim=yLim); lines(-a$DEF~a$DATE, col=2) plot(a$EXC~a$DATE, type="l", ylim=c(-10,10)); lines(-a$DEF~a$DATE, col=2) barplot(a$EXC, col=4, bor=NA, ylim=c(-10,10)); barplot(-a$DEF, col=2, bor=NA, add=T) # Precipitação vs. ET plot(a$RAIN~a$DATE, type="l", ylim=c(-10,10)); lines(-a$ETP.Penman~a$DATE, col=3); lines(-a$ETR~a$DATE, col=2) ### </code> [image: Imagem inline 1] ================================================ É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