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

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

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

revision 62 by guez, Thu Jul 26 14:37:37 2012 UTC revision 69 by guez, Mon Feb 18 16:33:12 2013 UTC
# Line 12  contains Line 12  contains
12         solswai)         solswai)
13    
14      ! 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
15      ! Author: Z. X. Li (LMD/CNRS) date: 1996/07/19      ! Author: Z. X. Li (LMD/CNRS)
16      ! Objet : interface entre le modèle et les rayonnements      ! Date: 1996/07/19
17      ! Rayonnements solaire et infrarouge  
18        ! Objet : interface entre le modèle et les rayonnements solaire et
19        ! infrarouge
20    
21        ! ATTENTION: swai and swad have to be interpreted in the following manner:
22    
23        ! not ok_ade and not ok_aie
24        ! both are zero
25    
26        ! ok_ade and not ok_aie
27        ! aerosol direct forcing is F_{AD} = topsw - topswad
28        ! indirect is zero
29    
30        ! not ok_ade and ok_aie
31        ! aerosol indirect forcing is F_{AI} = topsw - topswai
32        ! direct is zero
33    
34        ! ok_ade and ok_aie
35        ! aerosol indirect forcing is F_{AI} = topsw - topswai
36        ! aerosol direct forcing is F_{AD} = topswai - topswad
37    
38      USE dimphy, ONLY: klev, klon      USE dimphy, ONLY: klev, klon
39      USE clesphys, ONLY: bug_ozone, solaire      USE clesphys, ONLY: bug_ozone, solaire
# Line 24  contains Line 43  contains
43      use sw_m, only: sw      use sw_m, only: sw
44                    
45      ! Arguments:      ! Arguments:
46    
47        real rmu0(klon), fract(klon), dist
48      ! dist-----input-R- distance astronomique terre-soleil      ! dist-----input-R- distance astronomique terre-soleil
49      ! rmu0-----input-R- cosinus de l'angle zenithal      ! rmu0-----input-R- cosinus de l'angle zenithal
50      ! fract----input-R- duree d'ensoleillement normalisee      ! fract----input-R- duree d'ensoleillement normalisee
51      ! co2_ppm--input-R- concentration du gaz carbonique (en ppm)  
52      ! solaire--input-R- constante solaire (W/m**2)      real, intent(in):: paprs(klon, klev+1)
53      ! paprs----input-R- pression a inter-couche (Pa)      ! paprs----input-R- pression a inter-couche (Pa)
54        real, intent(in):: pplay(klon, klev)
55      ! pplay----input-R- pression au milieu de couche (Pa)      ! pplay----input-R- pression au milieu de couche (Pa)
56      ! tsol-----input-R- temperature du sol (en K)      real albedo(klon), alblw(klon), tsol(klon)
57      ! albedo---input-R- albedo du sol (entre 0 et 1)      ! albedo---input-R- albedo du sol (entre 0 et 1)
58        ! tsol-----input-R- temperature du sol (en K)
59        real, intent(in):: t(klon, klev)
60      ! t--------input-R- temperature (K)      ! t--------input-R- temperature (K)
61        real q(klon, klev)
62      ! q--------input-R- vapeur d'eau (en kg/kg)      ! q--------input-R- vapeur d'eau (en kg/kg)
63        real, intent(in):: wo(klon, klev)
64      ! wo-------input-R- contenu en ozone (en kg/kg) correction MPL 100505      ! wo-------input-R- contenu en ozone (en kg/kg) correction MPL 100505
65        real cldfra(klon, klev), cldemi(klon, klev)
66      ! cldfra---input-R- fraction nuageuse (entre 0 et 1)      ! cldfra---input-R- fraction nuageuse (entre 0 et 1)
     ! cldtaupd---input-R- epaisseur optique des nuages dans le visible (present-day value)  
67      ! cldemi---input-R- emissivite des nuages dans l'IR (entre 0 et 1)      ! cldemi---input-R- emissivite des nuages dans l'IR (entre 0 et 1)
     ! tau_ae, piz_ae, cg_ae-input-R- aerosol optical properties (calculated in aeropt.F)  
     ! cldtaupi-input-R- epaisseur optique des nuages dans le visible  
     !                   calculated for pre-industrial (pi) aerosol concentrations, i.e. with smaller  
     !                   droplet concentration, thus larger droplets, thus generally cdltaupi cldtaupd  
     !                   it is needed for the diagnostics of the aerosol indirect radiative forcing        
68    
69      ! cool-----output-R- refroidissement dans l'IR (K/jour)      real cldtaupd(klon, klev)
70      ! radsol---output-R- bilan radiatif net au sol (W/m**2) (+ vers le bas)      ! input-R- epaisseur optique des nuages dans le visible (present-day value)
     ! albpla---output-R- albedo planetaire (entre 0 et 1)  
     ! topsw----output-R- flux solaire net au sommet de l'atm.  
     ! solsw----output-R- flux solaire net a la surface  
     ! sollw----output-R- ray. IR montant a la surface  
     ! solswad---output-R- ray. solaire net absorbe a la surface (aerosol dir)  
     ! topswad---output-R- ray. solaire absorbe au sommet de l'atm. (aerosol dir)  
     ! solswai---output-R- ray. solaire net absorbe a la surface (aerosol ind)  
     ! topswai---output-R- ray. solaire absorbe au sommet de l'atm. (aerosol ind)  
   
     ! ATTENTION: swai and swad have to be interpreted in the following manner:  
     ! ok_ade = F & ok_aie = F -both are zero  
     ! ok_ade = T & ok_aie = F -aerosol direct forcing is F_{AD} = topsw-topswad  
     !                        indirect is zero  
     ! ok_ade = F & ok_aie = T -aerosol indirect forcing is F_{AI} = topsw-topswai  
     !                        direct is zero  
     ! ok_ade = T & ok_aie = T -aerosol indirect forcing is F_{AI} = topsw-topswai  
     !                        aerosol direct forcing is F_{AD} = topswai-topswad  
   
     real rmu0(klon), fract(klon), dist  
   
     real, intent(in):: paprs(klon, klev+1)  
     real, intent(in):: pplay(klon, klev)  
     real albedo(klon), alblw(klon), tsol(klon)  
     real, intent(in):: t(klon, klev)  
     real q(klon, klev)  
     real, intent(in):: wo(klon, klev)  
     real cldfra(klon, klev), cldemi(klon, klev), cldtaupd(klon, klev)  
71    
72      real, intent(out):: heat(klon, klev)      real, intent(out):: heat(klon, klev)
73      ! échauffement atmosphérique (visible) (K/jour)      ! échauffement atmosphérique (visible) (K/jour)
74    
75      real cool(klon, klev)      real cool(klon, klev)
76        ! cool-----output-R- refroidissement dans l'IR (K/jour)
77      real heat0(klon, klev), cool0(klon, klev)      real heat0(klon, klev), cool0(klon, klev)
78      real radsol(klon), topsw(klon)      real radsol(klon), topsw(klon)
79        ! radsol---output-R- bilan radiatif net au sol (W/m**2) (+ vers le bas)
80        ! topsw----output-R- flux solaire net au sommet de l'atm.
81    
82      real, intent(out):: toplw(klon)      real, intent(out):: toplw(klon)
83      ! rayonnement infrarouge montant au sommet de l'atmosphère      ! rayonnement infrarouge montant au sommet de l'atmosphère
84    
85      real solsw(klon), sollw(klon), albpla(klon)      real solsw(klon), sollw(klon), albpla(klon)
86        ! solsw----output-R- flux solaire net a la surface
87        ! sollw----output-R- ray. IR montant a la surface
88        ! albpla---output-R- albedo planetaire (entre 0 et 1)
89      real topsw0(klon), solsw0(klon), sollw0(klon)      real topsw0(klon), solsw0(klon), sollw0(klon)
90      real, intent(out):: toplw0(klon)      real, intent(out):: toplw0(klon)
91      real sollwdown(klon)      real sollwdown(klon)
# Line 142  contains Line 142  contains
142    
143      real topswad(klon), solswad(klon)      real topswad(klon), solswad(klon)
144      ! output: aerosol direct forcing at TOA and surface      ! output: aerosol direct forcing at TOA and surface
145        ! topswad---output-R- ray. solaire absorbe au sommet de l'atm. (aerosol dir)
146        ! solswad---output-R- ray. solaire net absorbe a la surface (aerosol dir)
147    
148      real topswai(klon), solswai(klon)      real topswai(klon), solswai(klon)
149      ! output: aerosol indirect forcing atTOA and surface      ! output: aerosol indirect forcing atTOA and surface
150        ! topswai---output-R- ray. solaire absorbe au sommet de l'atm. (aerosol ind)
151        ! solswai---output-R- ray. solaire net absorbe a la surface (aerosol ind)
152    
153      real tau_ae(klon, klev, 2), piz_ae(klon, klev, 2), cg_ae(klon, klev, 2)      real tau_ae(klon, klev, 2), piz_ae(klon, klev, 2), cg_ae(klon, klev, 2)
154      ! aerosol optical properties (see aeropt.F)      ! input-R- aerosol optical properties (calculated in aeropt.F)
155    
156      real cldtaupi(klon, klev)      real cldtaupi(klon, klev)
157      ! cloud optical thickness for pre-industrial aerosol concentrations      ! cloud optical thickness for pre-industrial aerosol concentrations
158      ! (i.e., with a smaller droplet concentrationand thus larger droplet radii)      ! (i.e. with a smaller droplet concentration and thus larger droplet radii)
159        ! -input-R- epaisseur optique des nuages dans le visible
160        ! calculated for pre-industrial (pi) aerosol concentrations,
161        ! i.e. with smaller droplet concentration, thus larger droplets,
162        ! thus generally cdltaupi cldtaupd it is needed for the
163        ! diagnostics of the aerosol indirect radiative forcing
164    
165      logical ok_ade, ok_aie      logical ok_ade, ok_aie
166      ! switches whether to use aerosol direct (indirect) effects or not      ! switches whether to use aerosol direct (indirect) effects or not

Legend:
Removed from v.62  
changed lines
  Added in v.69

  ViewVC Help
Powered by ViewVC 1.1.21