update_surface_swr_flux Subroutine

private subroutine update_surface_swr_flux()

Note

This calculation of the surface swr uses the flux directly from the atmospheric model - must be corrected for ice at some point.

alternatively the variable in tracer.F90

calculate the short wave flux in according to

carefull with the time averaged value

Arguments

None

Calls

proc~~update_surface_swr_flux~~CallsGraph proc~update_surface_swr_flux uvic_fabm::update_surface_swr_flux dnswr dnswr proc~update_surface_swr_flux->dnswr kmt kmt proc~update_surface_swr_flux->kmt

Called by

proc~~update_surface_swr_flux~~CalledByGraph proc~update_surface_swr_flux uvic_fabm::update_surface_swr_flux proc~update_data uvic_fabm::update_data proc~update_data->proc~update_surface_swr_flux proc~fabm_update uvic_fabm::fabm_update proc~fabm_update->proc~update_data

Source Code

      subroutine update_surface_swr_flux()
         !! @note
         !! This calculation of the surface swr uses the flux directly 
         !! from the atmospheric model - must be corrected for ice at 
         !! some point.
         !!
         !! alternatively the \(gl\) variable in tracer.F90
         !! @endnote
         !!
         !! calculate the short wave flux in \(W/m^2\) according to
         !! $$I_0 = 41868\ (W/m²)/(cal/cm²/s)\ I_{0_{UVic}}\ 
         !! cal/cm²/s¹$$
         !!
         !! carefull with the time averaged value

         integer i,j
            ! local loop counters

!KB         if (model%variable_needs_values(id_surface_swr_flux)) then
            do j=2,jmt-1
               do i=2,imt-1
                  if (kmt(i,j) > 0) surface_swr_flux(i,j) = 
     &                                    0.001*dnswr(i,j)
               end do
            end do
!KB         end if
      end subroutine update_surface_swr_flux