SW Subroutine

subroutine SW(KIDIA, KFDIA, KLON, KLEV, KAER, PSCT, PCARDI, PPSOL, PALBD, PALBP, PWV, PQS, PRMU0, PCG, PCLDSW, PDP, POMEGA, POZ, PPMB, PTAU, PTAVE, PAER, PFDOWN, PFUP, PCDOWN, PCUP, PFDNN, PFDNV, PFUPN, PFUPV, PCDNN, PCDNV, PCUPN, PCUPV, PSUDU, PUVDF, PPARF, PPARCF, PDIFFS, PDIRFS, LRDUST, PPIZA_DST, PCGA_DST, PTAUREL_DST)

Uses

  • proc~~sw~2~~UsesGraph proc~sw~2 SW module~parkind1~2 PARKIND1 proc~sw~2->module~parkind1~2 module~yomhook yomhook proc~sw~2->module~yomhook module~clesphys_mod_h~2 clesphys_mod_h proc~sw~2->module~clesphys_mod_h~2 module~write_field_phy write_field_phy proc~sw~2->module~write_field_phy

*** SW - COMPUTES THE SHORTWAVE RADIATION FLUXES.

  • INTERFACE. ----------

include "clesphys.h"

     1.     ABSORBER AMOUNTS AND OTHER USEFUL QUANTITIES
             --------------------------------------------

     2.     INTERVAL (0.185/0.25-0.68 MICRON): U.V. AND VISIBLE
             ---------------------------------------------------
     3.     INTERVAL (0.68-4.00 MICRON): NEAR-INFRARED
             ------------------------------------------

     4.     FILL THE DIAGNOSTIC ARRAYS
             --------------------------

Arguments

Type IntentOptional Attributes Name
integer(kind=JPIM), intent(in) :: KIDIA
integer(kind=JPIM), intent(in) :: KFDIA
integer(kind=JPIM), intent(in) :: KLON
integer(kind=JPIM), intent(in) :: KLEV
integer(kind=JPIM), intent(in) :: KAER
real(kind=JPRB), intent(in) :: PSCT
real(kind=JPRB), intent(in) :: PCARDI
real(kind=JPRB), intent(in) :: PPSOL(KLON)
real(kind=JPRB), intent(in) :: PALBD(KLON,NSW)
real(kind=JPRB), intent(in) :: PALBP(KLON,NSW)
real(kind=JPRB), intent(in) :: PWV(KLON,KLEV)
real(kind=JPRB), intent(in) :: PQS(KLON,KLEV)
real(kind=JPRB), intent(in) :: PRMU0(KLON)
real(kind=JPRB), intent(in) :: PCG(KLON,NSW,KLEV)
real(kind=JPRB), intent(in) :: PCLDSW(KLON,KLEV)
real(kind=JPRB) :: PDP(KLON,KLEV)
real(kind=JPRB), intent(in) :: POMEGA(KLON,NSW,KLEV)
real(kind=JPRB), intent(in) :: POZ(KLON,KLEV)
real(kind=JPRB), intent(in) :: PPMB(KLON,KLEV+1)
real(kind=JPRB), intent(in) :: PTAU(KLON,NSW,KLEV)
real(kind=JPRB), intent(in) :: PTAVE(KLON,KLEV)
real(kind=JPRB), intent(in) :: PAER(KLON,6,KLEV)
real(kind=JPRB), intent(out) :: PFDOWN(KLON,KLEV+1)
real(kind=JPRB), intent(out) :: PFUP(KLON,KLEV+1)
real(kind=JPRB), intent(out) :: PCDOWN(KLON,KLEV+1)
real(kind=JPRB), intent(out) :: PCUP(KLON,KLEV+1)
real(kind=JPRB), intent(out) :: PFDNN(KLON)
real(kind=JPRB), intent(out) :: PFDNV(KLON)
real(kind=JPRB), intent(out) :: PFUPN(KLON)
real(kind=JPRB), intent(out) :: PFUPV(KLON)
real(kind=JPRB), intent(out) :: PCDNN(KLON)
real(kind=JPRB), intent(out) :: PCDNV(KLON)
real(kind=JPRB), intent(out) :: PCUPN(KLON)
real(kind=JPRB), intent(out) :: PCUPV(KLON)
real(kind=JPRB), intent(out) :: PSUDU(KLON)
real(kind=JPRB), intent(out) :: PUVDF(KLON)
real(kind=JPRB), intent(out) :: PPARF(KLON)
real(kind=JPRB), intent(out) :: PPARCF(KLON)
real(kind=JPRB), intent(out) :: PDIFFS(KLON,NSW)
real(kind=JPRB), intent(out) :: PDIRFS(KLON,NSW)

0.1 ARGUMENTS ---------

logical, intent(in) :: LRDUST
real(kind=JPRB), intent(in) :: PPIZA_DST(KLON,KLEV,NSW)
real(kind=JPRB), intent(in) :: PCGA_DST(KLON,KLEV,NSW)
real(kind=JPRB), intent(in) :: PTAUREL_DST(KLON,KLEV,NSW)

Calls

proc~~sw~2~~CallsGraph proc~sw~2 SW proc~dr_hook dr_hook proc~sw~2->proc~dr_hook proc~writefield_phy WriteField_phy proc~sw~2->proc~writefield_phy interface~gather gather proc~writefield_phy->interface~gather interface~grid1dto2d_glo grid1dTo2d_glo proc~writefield_phy->interface~grid1dto2d_glo interface~writefield WriteField proc~writefield_phy->interface~writefield proc~gather_l gather_l interface~gather->proc~gather_l proc~gather_i3 gather_i3 interface~gather->proc~gather_i3 proc~gather_r1 gather_r1 interface~gather->proc~gather_r1 proc~gather_l3 gather_l3 interface~gather->proc~gather_l3 proc~gather_r3 gather_r3 interface~gather->proc~gather_r3 proc~gather_r gather_r interface~gather->proc~gather_r proc~gather_r2 gather_r2 interface~gather->proc~gather_r2 proc~gather_l2 gather_l2 interface~gather->proc~gather_l2 proc~gather_i1 gather_i1 interface~gather->proc~gather_i1 proc~gather_i2 gather_i2 interface~gather->proc~gather_i2 proc~gather_l1 gather_l1 interface~gather->proc~gather_l1 proc~gather_i gather_i interface~gather->proc~gather_i proc~grid1dto2d_glo_i grid1dTo2d_glo_i interface~grid1dto2d_glo->proc~grid1dto2d_glo_i proc~grid1dto2d_glo_r3 grid1dTo2d_glo_r3 interface~grid1dto2d_glo->proc~grid1dto2d_glo_r3 proc~grid1dto2d_glo_l3 grid1dTo2d_glo_l3 interface~grid1dto2d_glo->proc~grid1dto2d_glo_l3 proc~grid1dto2d_glo_l2 grid1dTo2d_glo_l2 interface~grid1dto2d_glo->proc~grid1dto2d_glo_l2 proc~grid1dto2d_glo_i3 grid1dTo2d_glo_i3 interface~grid1dto2d_glo->proc~grid1dto2d_glo_i3 proc~grid1dto2d_glo_i2 grid1dTo2d_glo_i2 interface~grid1dto2d_glo->proc~grid1dto2d_glo_i2 proc~grid1dto2d_glo_l grid1dTo2d_glo_l interface~grid1dto2d_glo->proc~grid1dto2d_glo_l proc~grid1dto2d_glo_i1 grid1dTo2d_glo_i1 interface~grid1dto2d_glo->proc~grid1dto2d_glo_i1 proc~grid1dto2d_glo_r2 grid1dTo2d_glo_r2 interface~grid1dto2d_glo->proc~grid1dto2d_glo_r2 proc~grid1dto2d_glo_r1 grid1dTo2d_glo_r1 interface~grid1dto2d_glo->proc~grid1dto2d_glo_r1 proc~grid1dto2d_glo_l1 grid1dTo2d_glo_l1 interface~grid1dto2d_glo->proc~grid1dto2d_glo_l1 proc~grid1dto2d_glo_r grid1dTo2d_glo_r interface~grid1dto2d_glo->proc~grid1dto2d_glo_r interface~gather_omp gather_omp proc~gather_l->interface~gather_omp interface~gather_mpi gather_mpi proc~gather_l->interface~gather_mpi proc~gather_i3->interface~gather_omp proc~gather_i3->interface~gather_mpi proc~gather_r1->interface~gather_omp proc~gather_r1->interface~gather_mpi proc~gather_l3->interface~gather_omp proc~gather_l3->interface~gather_mpi proc~gather_r3->interface~gather_omp proc~gather_r3->interface~gather_mpi proc~gather_r->interface~gather_omp proc~gather_r->interface~gather_mpi proc~gather_r2->interface~gather_omp proc~gather_r2->interface~gather_mpi proc~gather_l2->interface~gather_omp proc~gather_l2->interface~gather_mpi proc~gather_i1->interface~gather_omp proc~gather_i1->interface~gather_mpi proc~gather_i2->interface~gather_omp proc~gather_i2->interface~gather_mpi proc~gather_l1->interface~gather_omp proc~gather_l1->interface~gather_mpi proc~gather_i->interface~gather_omp proc~gather_i->interface~gather_mpi proc~gather_mpi_i3 gather_mpi_i3 interface~gather_mpi->proc~gather_mpi_i3 proc~gather_mpi_r3 gather_mpi_r3 interface~gather_mpi->proc~gather_mpi_r3 proc~gather_mpi_l3 gather_mpi_l3 interface~gather_mpi->proc~gather_mpi_l3 proc~gather_mpi_i gather_mpi_i interface~gather_mpi->proc~gather_mpi_i proc~gather_mpi_i2 gather_mpi_i2 interface~gather_mpi->proc~gather_mpi_i2 proc~gather_mpi_l1 gather_mpi_l1 interface~gather_mpi->proc~gather_mpi_l1 proc~gather_mpi_l gather_mpi_l interface~gather_mpi->proc~gather_mpi_l proc~gather_mpi_l2 gather_mpi_l2 interface~gather_mpi->proc~gather_mpi_l2 proc~gather_mpi_r gather_mpi_r interface~gather_mpi->proc~gather_mpi_r proc~gather_mpi_i1 gather_mpi_i1 interface~gather_mpi->proc~gather_mpi_i1 proc~gather_mpi_r2 gather_mpi_r2 interface~gather_mpi->proc~gather_mpi_r2 proc~gather_mpi_r1 gather_mpi_r1 interface~gather_mpi->proc~gather_mpi_r1 proc~gather_mpi_igen gather_mpi_igen proc~gather_mpi_i3->proc~gather_mpi_igen proc~gather_mpi_rgen gather_mpi_rgen proc~gather_mpi_r3->proc~gather_mpi_rgen proc~gather_mpi_lgen gather_mpi_lgen proc~gather_mpi_l3->proc~gather_mpi_lgen proc~gather_mpi_i->proc~gather_mpi_igen proc~gather_mpi_i2->proc~gather_mpi_igen proc~gather_mpi_l1->proc~gather_mpi_lgen proc~gather_mpi_l->proc~gather_mpi_lgen proc~gather_mpi_l2->proc~gather_mpi_lgen proc~gather_mpi_r->proc~gather_mpi_rgen proc~gather_mpi_i1->proc~gather_mpi_igen proc~gather_mpi_r2->proc~gather_mpi_rgen proc~gather_mpi_r1->proc~gather_mpi_rgen proc~mpi_gatherv MPI_GATHERV proc~gather_mpi_igen->proc~mpi_gatherv proc~gather_mpi_rgen->proc~mpi_gatherv proc~gather_mpi_lgen->proc~mpi_gatherv proc~lmdz_mpi_wrapper_abort lmdz_mpi_wrapper_abort proc~mpi_gatherv->proc~lmdz_mpi_wrapper_abort

Contents