/[lmdze]/trunk/Sources/phylmd/Radlwsw/radlwsw.f
ViewVC logotype

Diff of /trunk/Sources/phylmd/Radlwsw/radlwsw.f

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 178 by guez, Fri Mar 11 18:47:26 2016 UTC revision 212 by guez, Thu Jan 12 12:31:31 2017 UTC
# Line 4  module radlwsw_m Line 4  module radlwsw_m
4    
5  contains  contains
6    
7    SUBROUTINE radlwsw(dist, mu0, fract, paprs, play, tsol, albedo, &    SUBROUTINE radlwsw(dist, mu0, fract, paprs, play, tsol, albedo, t, q, wo, &
8         t, q, wo, cldfra, cldemi, cldtaupd, heat, heat0, cool, cool0, radsol, &         cldfra, cldemi, cldtaupd, heat, heat0, cool, cool0, radsol, albpla, &
9         albpla, topsw, toplw, solsw, sollw, sollwdown, topsw0, toplw0, solsw0, &         topsw, toplw, solsw, sollw, sollwdown, topsw0, toplw0, solsw0, sollw0, &
10         sollw0, lwdn0, lwdn, lwup0, lwup, swdn0, swdn, swup0, swup, ok_ade, &         lwdn0, lwdn, lwup0, lwup, swdn0, swdn, swup0, swup, ok_ade, ok_aie, &
11         ok_aie, tau_ae, piz_ae, cg_ae, topswad, solswad, cldtaupi, topswai, &         tau_ae, piz_ae, cg_ae, topswad, solswad, cldtaupi, topswai, solswai)
        solswai)  
12    
13      ! From LMDZ4/libf/phylmd/radlwsw.F, version 1.4 2005/06/06 13:16:33      ! From LMDZ4/libf/phylmd/radlwsw.F, version 1.4 2005/06/06 13:16:33
14      ! Author: Z. X. Li (LMD/CNRS)      ! Author: Z. X. Li (LMD/CNRS)
# Line 43  contains Line 42  contains
42      use sw_m, only: sw      use sw_m, only: sw
43      USE yoethf_m, ONLY: rvtmp2      USE yoethf_m, ONLY: rvtmp2
44                    
     ! Arguments:  
   
45      real, intent(in):: dist ! distance astronomique terre-soleil      real, intent(in):: dist ! distance astronomique terre-soleil
46      real, intent(in):: mu0(klon) ! cosinus de l'angle zenithal      real, intent(in):: mu0(klon) ! cosinus de l'angle zenithal
47      real, intent(in):: fract(klon) ! duree d'ensoleillement normalisee      real, intent(in):: fract(klon) ! duree d'ensoleillement normalisee
# Line 53  contains Line 50  contains
50      real, intent(in):: tsol(klon) ! temperature du sol (en K)      real, intent(in):: tsol(klon) ! temperature du sol (en K)
51      real, intent(in):: albedo(klon) ! albedo du sol (entre 0 et 1)      real, intent(in):: albedo(klon) ! albedo du sol (entre 0 et 1)
52      real, intent(in):: t(klon, klev) ! temperature (K)      real, intent(in):: t(klon, klev) ! temperature (K)
53      real q(klon, klev)      real, intent(in):: q(klon, klev) ! vapeur d'eau (en kg/kg)
     ! q--------input-R- vapeur d'eau (en kg/kg)  
54    
55      real, intent(in):: wo(klon, klev)      real, intent(in):: wo(klon, klev)
56      ! column-density of ozone in a layer, in kilo-Dobsons      ! column-density of ozone in a layer, in kilo-Dobsons
57    
58      real cldfra(klon, klev), cldemi(klon, klev)      real, intent(in):: cldfra(klon, klev) ! fraction nuageuse (entre 0 et 1)
59      ! cldfra---input-R- fraction nuageuse (entre 0 et 1)  
60      ! cldemi---input-R- emissivite des nuages dans l'IR (entre 0 et 1)      real, intent(in):: cldemi(klon, klev)
61        ! emissivite des nuages dans l'IR (entre 0 et 1)
62    
63      real cldtaupd(klon, klev)      real, intent(in):: cldtaupd(klon, klev)
64      ! input-R- epaisseur optique des nuages dans le visible (present-day value)      ! epaisseur optique des nuages dans le visible (present-day value)
65    
66      real, intent(out):: heat(klon, klev)      real, intent(out):: heat(klon, klev)
67      ! échauffement atmosphérique (visible) (K/jour)      ! échauffement atmosphérique (visible) (K/jour)
68    
69      real heat0(klon, klev)      real, intent(out):: heat0(klon, klev)
70      real cool(klon, klev)      real, intent(out):: cool(klon, klev) ! refroidissement dans l'IR (K/jour)
71      ! cool-----output-R- refroidissement dans l'IR (K/jour)      real, intent(out):: cool0(klon, klev)
72      real cool0(klon, klev)  
73      real radsol(klon)      real, intent(out):: radsol(klon)
74      ! radsol---output-R- bilan radiatif net au sol (W/m**2) (+ vers le bas)      ! bilan radiatif net au sol (W/m**2) (+ vers le bas)
75    
76      real, intent(out):: albpla(klon) ! albedo planetaire (entre 0 et 1)      real, intent(out):: albpla(klon) ! albedo planetaire (entre 0 et 1)
77      real topsw(klon)      real, intent(out):: topsw(klon) ! flux solaire net au sommet de l'atm.
     ! topsw----output-R- flux solaire net au sommet de l'atm.  
78    
79      real, intent(out):: toplw(klon)      real, intent(out):: toplw(klon)
80      ! rayonnement infrarouge montant au sommet de l'atmosphère      ! rayonnement infrarouge montant au sommet de l'atmosphère
# Line 88  contains Line 85  contains
85      ! rayonnement infrarouge montant à la surface      ! rayonnement infrarouge montant à la surface
86    
87      real, intent(out):: sollwdown(klon)      real, intent(out):: sollwdown(klon)
88      real topsw0(klon)      real, intent(out):: topsw0(klon)
89      real, intent(out):: toplw0(klon)      real, intent(out):: toplw0(klon)
90      real solsw0(klon), sollw0(klon)      real, intent(out):: solsw0(klon), sollw0(klon)
91      !IM output 3D: SWup, SWdn, LWup, LWdn      REAL, intent(out):: lwdn0(klon, klev+1), lwdn(klon, klev+1)
92      REAL lwdn0(klon, klev+1), lwdn(klon, klev+1)      REAL, intent(out):: lwup0(klon, klev+1), lwup(klon, klev+1)
93      REAL lwup0(klon, klev+1), lwup(klon, klev+1)      REAL, intent(out):: swdn0(klon, klev+1), swdn(klon, klev+1)
94      REAL swdn0(klon, klev+1), swdn(klon, klev+1)      REAL, intent(out):: swup0(klon, klev+1), swup(klon, klev+1)
95      REAL swup0(klon, klev+1), swup(klon, klev+1)  
96        logical, intent(in):: ok_ade ! apply the Aerosol Direct Effect
97      logical ok_ade, ok_aie      logical, intent(in):: ok_aie ! apply the Aerosol Indirect Effect
98      ! switches whether to use aerosol direct (indirect) effects or not  
99      ! ok_ade---input-L- apply the Aerosol Direct Effect or not?      ! aerosol optical properties (calculated in aeropt.F):
100      ! ok_aie---input-L- apply the Aerosol Indirect Effect or not?      real, intent(in):: tau_ae(klon, klev, 2), piz_ae(klon, klev, 2)
101        real, intent(in):: cg_ae(klon, klev, 2)
102      real tau_ae(klon, klev, 2), piz_ae(klon, klev, 2), cg_ae(klon, klev, 2)  
103      ! input-R- aerosol optical properties (calculated in aeropt.F)      real, intent(out):: topswad(klon), solswad(klon)
104        ! aerosol direct forcing at TOA and surface
105      real topswad(klon), solswad(klon)      ! ray. solaire net absorbe
106      ! output: aerosol direct forcing at TOA and surface      
107      ! topswad---output-R- ray. solaire absorbe au sommet de l'atm. (aerosol dir)      real, intent(in):: cldtaupi(klon, klev)
108      ! solswad---output-R- ray. solaire net absorbe a la surface (aerosol dir)      ! cloud visible optical thickness for pre-industrial aerosol concentrations
   
     real cldtaupi(klon, klev)  
     ! cloud optical thickness for pre-industrial aerosol concentrations  
     ! (i.e. with a smaller droplet concentration and thus larger droplet radii)  
     ! -input-R- epaisseur optique des nuages dans le visible  
     ! calculated for pre-industrial (pi) aerosol concentrations,  
109      ! i.e. with smaller droplet concentration, thus larger droplets,      ! i.e. with smaller droplet concentration, thus larger droplets,
110      ! thus generally cdltaupi cldtaupd it is needed for the      ! thus generally cdltaupi cldtaupd it is needed for the
111      ! diagnostics of the aerosol indirect radiative forcing      ! diagnostics of the aerosol indirect radiative forcing
112    
113      real topswai(klon), solswai(klon)      real, intent(out):: topswai(klon), solswai(klon)
114      ! output: aerosol indirect forcing atTOA and surface      ! aerosol indirect forcing at TOA and surface
115      ! topswai---output-R- ray. solaire absorbe au sommet de l'atm. (aerosol ind)      ! ray. solaire net absorbe
     ! solswai---output-R- ray. solaire net absorbe a la surface (aerosol ind)  
116    
117      ! Local:      ! Local:
118    
# Line 130  contains Line 120  contains
120      double precision pizae(kdlon, klev, 2)      double precision pizae(kdlon, klev, 2)
121      double precision cgae(kdlon, klev, 2)      double precision cgae(kdlon, klev, 2)
122    
     !IM output 3D  
123      DOUBLE PRECISION ZFSUP(KDLON, KLEV+1)      DOUBLE PRECISION ZFSUP(KDLON, KLEV+1)
124      DOUBLE PRECISION ZFSDN(KDLON, KLEV+1)      DOUBLE PRECISION ZFSDN(KDLON, KLEV+1)
125      DOUBLE PRECISION ZFSUP0(KDLON, KLEV+1)      DOUBLE PRECISION ZFSUP0(KDLON, KLEV+1)

Legend:
Removed from v.178  
changed lines
  Added in v.212

  ViewVC Help
Powered by ViewVC 1.1.21