! Rad_Vegetacao.f90 ! ! FUNCTIONS: ! Rad_Vegetacao - Entry point of console application. ! !**************************************************************************** ! ! PROGRAM: Rad_Vegetacao ! ! PURPOSE: Entry point for the console application. ! !**************************************************************************** program Rad_Vegetacao implicit none integer ano(730), doy(730), das, DJ, NI, djsowing, ciclo, i, nd, j, nda, dum real rue, k, ic, u, iaf, ms, taxapp, pptotal real PAR(730), apar(730), qg(730), chuva(730), rn(730), temp(730) character*100 title open(unit=1, file="c:/mod/diarios2013_2014.prn", status="old", readonly) open(unit=2, file="c:/mod/saida.out", status="replace") !perguntando ao usuario a data e o ciclo print *,'Informe a data de semeadura:' read *,djsowing print *,'Informe o ciclo da cultura:' read *,ciclo !definindo os valores dos parametros ic = 0.33 rue = 3.84 u = 0.13 k = 0.5 iaf = 3.5 pptotal = 0. read (1,100) title 100 format (a100) !lendo o arquivo de dados climaticos do dj = 1, 730 read (1,*) ano(dj), doy(dj), dum, temp(dj), dum, dum, dum, dum, dum, dum, dum, chuva(dj), qg(dj), rn(dj) enddo das = 1 do dj = 1, 730 if (dj > djsowing .and. dj<(djsowing+ciclo)) then Par(dj) = 0.5 * Qg(dj) aPAR(dj) = par(dj) * (1-exp(-k*iaf)) ms = apar(dj) * rue taxaPP = ms * ic * (1/(1-U)) * 10 pptotal = pptotal + taxapp if (das == ciclo - 1) then !write (2,102) das, djsowing, djsowing+ciclo, pptotal write (*,102) das, djsowing, djsowing+ciclo, pptotal das = 1 pptotal = 0. endif write (*,102) das, djsowing, djsowing+ciclo, aPAR(dj),pptotal das = das+1 endif enddo 102 format (3i11, 4f12.2) close(1) close(2) write (*,102) das, djsowing, djsowing+ciclo, pptotal pause end program Rad_Vegetacao