readr  magrittr     dplyr    tibble   openair  RcppRoll lubridate 
     TRUE      TRUE      TRUE      TRUE      TRUE      TRUE      TRUE 
oro.nifti     tidyr   lattice 
     TRUE      TRUE      TRUE 

PARTIÇÃO da RADIAÇÃO GLOBAL

Atenuação

! PARAMETRIZAÇÃO DE ATENUAÇÃO DA RADIAÇÃO SOLAR:
   cloud = (1160.0 * sunang - swdown) / (963.0 * sunang)
        ! swdown: RADIAÇÃO GLOBAL
        ! sunang: INCLINAÇÃO SOLAR
   cloud_old = max(cloud_old, 0.0)
   cloud_old = min(cloud_old, 1.0)
   cloud_old = max(0.58, cloud_old)

Radiação difussa

! FRAÇÃO DE RADIAÇÃO DIFUSSA 
   difrat = 0.0604 / (sunang - 0.0223) + 0.0683
   if (difrat < 0.0) difrat = 0.0
   if (difrat > 1.0) difrat = 1.0
   difrat = difrat + (1.0 - difrat) * cloud

Radiação visível

! FRAÇÃO DE RADIAÇÃO VISÍVEL
   vnrat = (580.0 - cloud * 464.0) / ((580.0 - cloud * 499.0) + (580.0 - cloud * 464.0))

Componentes da radiação

! PARTIÇÃO DA RADIAÇÃO
   radn(vis,dir) = (1.0 - difrat) * vnrat * swdown
   radn(vis,dif) = difrat * vnrat * swdown
   radn(iv,dir) = (1.0 - difrat) * (1.0 - vnrat) * swdown
   radn(iv,dif) = difrat * (1.0 - vnrat) * swdown

ABSORÇÃO da RADIAÇÃO GLOBAL

Absorção por componentes


      radfac(2,iwave,1) = (1.0 - vcover) * (1.0 - albedo(2,iwave,1))    &
         + vcover * (tranc1(iwave) * (1.0 - albedo(2,iwave,1))          &
         + tranc3(iwave) * (1.0 - albedo(2,iwave,2)))

      radfac(2,iwave,2) = (1.0 - vcover) * (1.0 - albedo(2,iwave,2)) &
         + vcover * tranc2(iwave) * (1.0 - albedo(2,iwave,2))

      radfac(1,iwave,1) = vcover * ((1.0 - albedo(1,iwave,1)) &
         - tranc1(iwave) * (1.0 - albedo(2,iwave,1)) &
         - tranc3(iwave) * (1.0 - albedo(2,iwave,2)))

      radfac(1,iwave,2) = vcover * ((1.0 - albedo(1,iwave,2)) &
         - tranc2(iwave) * (1.0 - albedo(2,iwave,2)))
abs_rad <- 
radiacao_calib %>%
    mutate(abs_vis_can = can_vis_dir*rad_vis_dir + can_vis_dif*rad_vis_dif, 
           abs_iv_can  = can_iv_dir *rad_iv_dir  + can_iv_dif *rad_iv_dif ,
           abs_vis_sol = sol_vis_dir*rad_vis_dir + sol_vis_dif*rad_vis_dif,
           abs_iv_sol  = sol_iv_dir *rad_iv_dir  + sol_iv_dif *rad_iv_dif  )%>%
    select(date,starts_with("abs")) %>%
    mutate_each(funs(movel_roll_mean),-date) %>%
    selectByDate(year= 2009:2012)  %T>%
    timePlot(names(.)[-1], 
             group = TRUE,
             # col = c(1,3),
             lty = 1,
             lwd = 3)

Reflexão por componentes

ref_rad <-
    radiacao_calib %>%
    mutate(ref_vis_can = 1- 1/(rad_vis_dir+rad_vis_dif) * (can_vis_dir*rad_vis_dir + can_vis_dif*rad_vis_dif) , 
           ref_iv_can =  1- 1/(rad_iv_dir+rad_iv_dif) * (can_iv_dir*rad_iv_dir + can_iv_dif*rad_iv_dif),
           ref_vis_sol = 1- 1/(rad_vis_dir+rad_vis_dif) * (sol_vis_dir*rad_vis_dir + sol_vis_dif*rad_vis_dif) ,
           ref_iv_sol =  1- 1/(rad_iv_dir+rad_iv_dif) * (sol_iv_dir*rad_iv_dir + sol_iv_dif*rad_iv_dif) ) %>%
    select(date,starts_with("ref")) %>%
    selectByDate(year= 2009:2012) %>%
    mutate_each(funs(movel_roll_mean),-date) %T>%
    timePlot(names(.)[-1], 
             group = TRUE,
             lty = 1,
             lwd = 3)