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

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

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

trunk/libf/phylmd/Radlwsw/sw.f90 revision 72 by guez, Tue Jul 23 13:00:07 2013 UTC trunk/Sources/phylmd/Radlwsw/sw.f revision 178 by guez, Fri Mar 11 18:47:26 2016 UTC
# Line 5  module sw_m Line 5  module sw_m
5  contains  contains
6    
7    SUBROUTINE SW(PSCT, PRMU0, PFRAC, PPMB, PDP, PPSOL, PALBD, PALBP, PTAVE, &    SUBROUTINE SW(PSCT, PRMU0, PFRAC, PPMB, PDP, PPSOL, PALBD, PALBP, PTAVE, &
8         PWV, PQS, POZON, PAER, PCLDSW, PTAU, POMEGA, PCG, PHEAT, PHEAT0, &         PWV, PQS, POZON, PCLDSW, PTAU, POMEGA, PCG, PHEAT, PHEAT0, &
9         PALBPLA, PTOPSW, PSOLSW, PTOPSW0, PSOLSW0, ZFSUP, ZFSDN, ZFSUP0, &         PALBPLA, PTOPSW, PSOLSW, PTOPSW0, PSOLSW0, ZFSUP, ZFSDN, ZFSUP0, &
10         ZFSDN0, tauae, pizae, cgae, PTAUA, POMEGAA, PTOPSWAD, PSOLSWAD, &         ZFSDN0, tauae, pizae, cgae, PTAUA, POMEGAA, PTOPSWAD, PSOLSWAD, &
11         PTOPSWAI, PSOLSWAI, ok_ade, ok_aie)         PTOPSWAI, PSOLSWAI, ok_ade, ok_aie)
# Line 31  contains Line 31  contains
31      ! 95-01-01 J.-J. Morcrette direct/diffuse albedo      ! 95-01-01 J.-J. Morcrette direct/diffuse albedo
32      ! 03-11-27 J. Quaas Introduce aerosol forcings (based on Boucher)      ! 03-11-27 J. Quaas Introduce aerosol forcings (based on Boucher)
33    
     USE clesphys, ONLY: bug_ozone  
34      USE raddim, ONLY: kdlon, kflev      USE raddim, ONLY: kdlon, kflev
35      USE suphec_m, ONLY: rcpd, rday, rg, md, rmo3      USE suphec_m, ONLY: rcpd, rday, rg
36        use sw1s_m, only: sw1s
37        use sw2s_m, only: sw2s
38    
39      ! ARGUMENTS:      ! ARGUMENTS:
40    
# Line 50  contains Line 51  contains
51      DOUBLE PRECISION PWV(KDLON, KFLEV) ! SPECIFIC HUMIDITY (KG/KG)      DOUBLE PRECISION PWV(KDLON, KFLEV) ! SPECIFIC HUMIDITY (KG/KG)
52      DOUBLE PRECISION PQS(KDLON, KFLEV) ! SATURATED WATER VAPOUR (KG/KG)      DOUBLE PRECISION PQS(KDLON, KFLEV) ! SATURATED WATER VAPOUR (KG/KG)
53      DOUBLE PRECISION POZON(KDLON, KFLEV) ! OZONE CONCENTRATION (KG/KG)      DOUBLE PRECISION POZON(KDLON, KFLEV) ! OZONE CONCENTRATION (KG/KG)
     DOUBLE PRECISION PAER(KDLON, KFLEV, 5) ! AEROSOLS' OPTICAL THICKNESS  
54    
55      DOUBLE PRECISION PALBD(KDLON, 2) ! albedo du sol (lumiere diffuse)      DOUBLE PRECISION PALBD(KDLON, 2) ! albedo du sol (lumiere diffuse)
56      DOUBLE PRECISION PALBP(KDLON, 2) ! albedo du sol (lumiere parallele)      DOUBLE PRECISION PALBP(KDLON, 2) ! albedo du sol (lumiere parallele)
# Line 127  contains Line 127  contains
127      DOUBLE PRECISION, save:: ZFSDNAI(KDLON, KFLEV+1)      DOUBLE PRECISION, save:: ZFSDNAI(KDLON, KFLEV+1)
128    
129      logical:: initialized = .false.      logical:: initialized = .false.
130        REAL, PARAMETER :: dobson_u = 2.1415E-05 ! Dobson unit, in kg m-2
131    
132      !-------------------------------------------------------------------      !-------------------------------------------------------------------
133    
# Line 150  contains Line 151  contains
151         DO JK = 1 , KFLEV         DO JK = 1 , KFLEV
152            DO JL = 1, KDLON            DO JL = 1, KDLON
153               ZCLDSW0(JL, JK) = 0.0               ZCLDSW0(JL, JK) = 0.0
154               IF (bug_ozone) then               ZOZ(JL, JK) = POZON(JL, JK) / (dobson_u * 1E3 * rg) * PDP(JL, JK)
                 ZOZ(JL, JK) = POZON(JL, JK)*46.6968/RG &  
                      *PDP(JL, JK)*(101325.0/PPSOL(JL))  
              ELSE  
                 ! Correction MPL 100505  
                 ZOZ(JL, JK) = POZON(JL, JK)*MD/RMO3*46.6968/RG*PDP(JL, JK)  
              ENDIF  
155            ENDDO            ENDDO
156         ENDDO         ENDDO
157    
# Line 166  contains Line 161  contains
161              ZAKI, ZCLD, ZCLEAR, ZDSIG, ZFACT, ZRMU, ZSEC, ZUD)              ZAKI, ZCLD, ZCLEAR, ZDSIG, ZFACT, ZRMU, ZSEC, ZUD)
162         INU = 1         INU = 1
163         CALL SW1S(INU, &         CALL SW1S(INU, &
164              PAER, flag_aer, tauae, pizae, cgae, &              flag_aer, tauae, pizae, cgae, &
165              PALBD, PALBP, PCG, ZCLD, ZCLEAR, ZCLDSW0, &              PALBD, PALBP, PCG, ZCLD, ZCLEAR, &
166              ZDSIG, POMEGA, ZOZ, ZRMU, ZSEC, PTAU, ZUD, &              ZDSIG, POMEGA, ZOZ, ZRMU, ZSEC, PTAU, ZUD, &
167              ZFD, ZFU)              ZFD, ZFU)
168         INU = 2         INU = 2
169         CALL SW2S(INU, &         CALL SW2S(INU, &
170              PAER, flag_aer, tauae, pizae, cgae, &              flag_aer, tauae, pizae, cgae, &
171              ZAKI, PALBD, PALBP, PCG, ZCLD, ZCLEAR, ZCLDSW0, &              ZAKI, PALBD, PALBP, PCG, ZCLD, ZCLEAR, &
172              ZDSIG, POMEGA, ZOZ, ZRMU, ZSEC, PTAU, ZUD, &              ZDSIG, POMEGA, ZOZ, ZRMU, ZSEC, PTAU, ZUD, &
173              PWV, PQS, &              PWV, PQS, &
174              ZFDOWN, ZFUP)              ZFDOWN, ZFUP)
# Line 190  contains Line 185  contains
185              ZAKI, ZCLD, ZCLEAR, ZDSIG, ZFACT, ZRMU, ZSEC, ZUD)              ZAKI, ZCLD, ZCLEAR, ZDSIG, ZFACT, ZRMU, ZSEC, ZUD)
186         INU = 1         INU = 1
187         CALL SW1S(INU, &         CALL SW1S(INU, &
188              PAER, flag_aer, tauae, pizae, cgae, &              flag_aer, tauae, pizae, cgae, &
189              PALBD, PALBP, PCG, ZCLD, ZCLEAR, PCLDSW, &              PALBD, PALBP, PCG, ZCLD, ZCLEAR, &
190              ZDSIG, POMEGA, ZOZ, ZRMU, ZSEC, PTAU, ZUD, &              ZDSIG, POMEGA, ZOZ, ZRMU, ZSEC, PTAU, ZUD, &
191              ZFD, ZFU)              ZFD, ZFU)
192         INU = 2         INU = 2
193         CALL SW2S(INU, &         CALL SW2S(INU, &
194              PAER, flag_aer, tauae, pizae, cgae, &              flag_aer, tauae, pizae, cgae, &
195              ZAKI, PALBD, PALBP, PCG, ZCLD, ZCLEAR, PCLDSW, &              ZAKI, PALBD, PALBP, PCG, ZCLD, ZCLEAR, &
196              ZDSIG, POMEGA, ZOZ, ZRMU, ZSEC, PTAU, ZUD, &              ZDSIG, POMEGA, ZOZ, ZRMU, ZSEC, PTAU, ZUD, &
197              PWV, PQS, &              PWV, PQS, &
198              ZFDOWN, ZFUP)              ZFDOWN, ZFUP)
# Line 219  contains Line 214  contains
214                 ZAKI, ZCLD, ZCLEAR, ZDSIG, ZFACT, ZRMU, ZSEC, ZUD)                 ZAKI, ZCLD, ZCLEAR, ZDSIG, ZFACT, ZRMU, ZSEC, ZUD)
215            INU = 1            INU = 1
216            CALL SW1S(INU, &            CALL SW1S(INU, &
217                 PAER, flag_aer, tauae, pizae, cgae, &                 flag_aer, tauae, pizae, cgae, &
218                 PALBD, PALBP, PCG, ZCLD, ZCLEAR, PCLDSW, &                 PALBD, PALBP, PCG, ZCLD, ZCLEAR, &
219                 ZDSIG, POMEGA, ZOZ, ZRMU, ZSEC, PTAU, ZUD, &                 ZDSIG, POMEGA, ZOZ, ZRMU, ZSEC, PTAU, ZUD, &
220                 ZFD, ZFU)                 ZFD, ZFU)
221            INU = 2            INU = 2
222            CALL SW2S(INU, &            CALL SW2S(INU, &
223                 PAER, flag_aer, tauae, pizae, cgae, &                 flag_aer, tauae, pizae, cgae, &
224                 ZAKI, PALBD, PALBP, PCG, ZCLD, ZCLEAR, PCLDSW, &                 ZAKI, PALBD, PALBP, PCG, ZCLD, ZCLEAR, &
225                 ZDSIG, POMEGA, ZOZ, ZRMU, ZSEC, PTAU, ZUD, &                 ZDSIG, POMEGA, ZOZ, ZRMU, ZSEC, PTAU, ZUD, &
226                 PWV, PQS, &                 PWV, PQS, &
227                 ZFDOWN, ZFUP)                 ZFDOWN, ZFUP)
# Line 248  contains Line 243  contains
243                 ZAKI, ZCLD, ZCLEAR, ZDSIG, ZFACT, ZRMU, ZSEC, ZUD)                 ZAKI, ZCLD, ZCLEAR, ZDSIG, ZFACT, ZRMU, ZSEC, ZUD)
244            INU = 1            INU = 1
245            CALL SW1S(INU, &            CALL SW1S(INU, &
246                 PAER, flag_aer, tauae, pizae, cgae, &                 flag_aer, tauae, pizae, cgae, &
247                 PALBD, PALBP, PCG, ZCLD, ZCLEAR, PCLDSW, &                 PALBD, PALBP, PCG, ZCLD, ZCLEAR, &
248                 ZDSIG, POMEGAA, ZOZ, ZRMU, ZSEC, PTAUA, ZUD, &                 ZDSIG, POMEGAA, ZOZ, ZRMU, ZSEC, PTAUA, ZUD, &
249                 ZFD, ZFU)                 ZFD, ZFU)
250            INU = 2            INU = 2
251            CALL SW2S(INU, &            CALL SW2S(INU, &
252                 PAER, flag_aer, tauae, pizae, cgae, &                 flag_aer, tauae, pizae, cgae, &
253                 ZAKI, PALBD, PALBP, PCG, ZCLD, ZCLEAR, PCLDSW, &                 ZAKI, PALBD, PALBP, PCG, ZCLD, ZCLEAR, &
254                 ZDSIG, POMEGAA, ZOZ, ZRMU, ZSEC, PTAUA, ZUD, &                 ZDSIG, POMEGAA, ZOZ, ZRMU, ZSEC, PTAUA, ZUD, &
255                 PWV, PQS, &                 PWV, PQS, &
256                 ZFDOWN, ZFUP)                 ZFDOWN, ZFUP)

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

  ViewVC Help
Powered by ViewVC 1.1.21