*=*=*=*= lwdiff.html =*=*=*=*
subroutine lwdiff

subroutine lwdiff


      subroutine lwdiff
     &  (KDLON,Kn,Pomega,Pg,Ptau,Pemis,Pbh,Pbsol,Pfah,Pfdh)
c.......................................................................
c
c  calcul des flux ascendant et descendant aux interfaces entre n couches
c  * dans l'infrarouge
c  * B est une fonction lineaire de $\tau$ a l'interieur de chaque couche
c  * le B du sol peut etre different de celui qui correspond au profil
c    de la n-ieme couche
c  * l'hypothese est une hypothese a deux flux isotropes sur chaque
c    hemisphere ("hemispheric constant") + "source function technique"
c  * le flux descendant en haut de l'atmosphere est nul
c  * les couches sont numerotees du haut de l'atmosphere vers le sol
c
c  in :   * KDLON      ---> indice pour la vectorisation
c         * Kn         ---> nombre de couches
c         * Pomega(i)  ---> single scattering albedo pour la i-eme couche
c         * Pg(i)      ---> asymmetry parameter pour la i-eme couche
c         * Ptau(i)    ---> epaisseur optique de la i-eme couche
c         * Pemis      ---> emissivite du sol
c         * Pbh(i)     ---> luminance du corps noir en haut de la i-eme
c                           couche, bh(n+1) pour la valeur au sol qui
c                           correspond au profil de la n-ieme couche
c         * Pbsol      ---> luminance du corps noir au sol
c
c  out :  * Pfah(i)    ---> flux ascendant en haut de la i-eme couche,
c                           fah(n+1) pour le sol
c         * Pfdh(i)    ---> flux descendant en haut de la i-eme couche,
c                           fdh(n+1) pour le sol
c
c.......................................................................
      double precision omega,g,tau,emis,bh,bsol,fah,fdh,pi
c.......................................................................
      parameter (pi=3.141592653589793d0)
      parameter (nmax=100)
c.......................................................................
      dimension omega(nmax),g(nmax),tau(nmax)
     &,bh(nmax+1),fah(nmax+1),fdh(nmax+1)
c.......................................................................
      dimension Pomega(KDLON,nmax),Pg(KDLON,nmax),Ptau(KDLON,nmax)
     &,Pemis(KDLON),Pbsol(KDLON)
     &,Pbh(KDLON,nmax+1),Pfah(KDLON,nmax+1),Pfdh(KDLON,nmax+1)
c.......................................................................
                                            do 20001 jl=1,kdlon
c.......................................................................
      nq=0
      n=Kn
      do 10001 i=1,n
      omega(i)=dble(Pomega(jl,i))
      g(i)=dble(Pg(jl,i))
      tau(i)=dble(Ptau(jl,i))
10001 continue
      emis=dble(Pemis(jl))
      do 10002 i=1,n+1
      bh(i)=dble(Pbh(jl,i))
10002 continue
      bsol=dble(Pbsol(jl))
      call flus(nq,n,omega,g,tau,emis,bh,bsol,fah,fdh)
      do 10003 i=1,n+1
      Pfah(jl,i)=real(fah(i))
      Pfdh(jl,i)=real(fdh(i))
10003 continue
c.......................................................................
20001                                       continue
c.......................................................................
      return
      end