source: trunk/MESOSCALE/LMDZ.MARS/libf_gcm/phymars/suaer.F @ 1242

Last change on this file since 1242 was 57, checked in by aslmd, 14 years ago

mineur LMD_MM_MARS: ajout du GCM ancienne physique, systeme maintenant complet sur SVN (ne manque que la base de donnees d'etats initiaux)

File size: 7.8 KB
Line 
1      SUBROUTINE SUAER
2      implicit none
3C     
4C     Purpose.
5C     --------
6C     initialize yomaer, the common that contains the
7C     radiative characteristics of the aerosols
8c     
9C     AUTHOR.
10C     -------
11c     Richard Fournier (1996) Francois Forget (1996)
12c     Frederic Hourdin
13C     Jean-jacques morcrette *ECMWF*
14c     MODIF Francois Forget (2000)
15c     MODIF Franck Montmessin (add water ice)
16C     ------------------------------------------------------------------
17C     
18C-----------------------------------------------------------------------
19C     
20#include "dimensions.h"
21#include "dimphys.h"
22#include "dimradmars.h"
23#include "yomaer.h"
24     
25c     Aerosol Spectral properties :
26#include "aerdust.h"
27
28#ifdef ICE
29#include "aerice.h"
30#endif
31C-----------------------------------------------------------------------
32c     
33      INTEGER iaer,isun,iir,n
34
35c I/O  of "aerave" (subroutine averaging spectrally sing.scat.parameters)
36      REAL tsun             ! Sun brightness temperature (for SW)
37      REAL tsol             ! Surface reference brightness temp (for LW)
38      REAL longref          ! reference wavelengths
39      REAL longsun(nsun+1)  ! solar band boundaries
40      REAL longir(nir+1)    ! IR band boundaries
41      REAL epref            ! reference extinction ep at wavelength "longref"
42      REAL epav(nir)        ! average ep  (= <Qext>/Qext(longref) if epref=1)
43      REAL omegav(nir)      ! Average sing.scat.albedo
44      REAL gav(nir)         ! Average assymetry parameter
45      REAL QIRTM9sQrefIR    ![Qext averaged over IRTM 9um band]/Qext(longrefir)
46                            ! with longrefir defined in dimradmars.h
47
48
49C-----------------------------------------------------------------------
50c     quelques initialisations a 0
51      call zerophys(naerkind*nsun,gvis)
52      call zerophys(naerkind*nsun,omegavis)
53      call zerophys(naerkind*nsun,QVISsQREF)
54
55      call zerophys(naerkind*nir,gIR)
56      call zerophys(naerkind*nir,omegaIR)
57      call zerophys(naerkind*nir,QIRsQREF)
58c     
59C-----------------------------------------------------------------------
60C     
61C     ----------------------------------------------------------------
62C     *       1.    SHORTWAVE COEFFICIENTS
63C     ----------------------------------------------------------------
64C     
65c     Computing average optical properties on both solar bands
66c     For pure dust (naerkind=1)
67c     
68      do iaer=1,naerkind
69
70      tsun=6000.E+0
71      longsun(1)=long1vis
72      longsun(2)=long2vis
73      longsun(3)=long3vis
74      longref=longrefvis
75      epref=1.E+0         
76
77
78c     Here, epav is <Qext>/Qext(longrefvis) since epref=1 :
79
80      if (iaer.eq.1) then
81      CALL aerave ( ndustvis,
82     &     longdustvis,epdustvis,omegdustvis,gdustvis,
83     &     longref,epref,tsun
84     &     ,nsun,longsun, epav,omegav,gav )
85      elseif (iaer.eq.2) then
86#ifdef ICE
87      CALL aerave ( nicevis,
88     &     longicevis,epicevis,omegicevis,gicevis,
89     &     longref,epref,tsun
90     &     ,nsun,longsun, epav,omegav,gav )
91#endif
92      endif
93
94       do isun=1,nsun
95            QVISsQREF(isun,iaer)=epav(isun)
96            gvis(isun,iaer)=gav(isun)
97            omegavis(isun,iaer)=omegav(isun)
98c TEST
99c           if (iaer.eq.2)  omegavis(isun,iaer)=.86   
100c           if (iaer.eq.2)  gvis(isun,iaer)=-1. 
101c           if (iaer.eq.2) then   !TEST
102c              QVISsQREF(isun,iaer)=QVISsQREF(isun,1)
103c              gvis(isun,iaer)=gvis(isun,1)
104c              omegavis(isun,iaer)=omegavis(isun,1)
105c            endif
106c END TEST
107
108       enddo
109
110c     
111
112C     ----------------------------------------------------------------
113C     *       2.    LONGWAVE COEFFICIENTS
114C     ----------------------------------------------------------------
115
116      if (iaer.eq.1) then
117
118c     Computing average optical properties on both solar bands
119c     For dust (iaer=1)
120c
121c     Calcul preliminaire
122c     ~~~~~~~~~~~~~~~~~~~
123c     Ratio betwen Qext averaged over IRTM 9um band
124c     and Qext(longrefir) (longrefir is defined in dimradmars.h)
125c     -> useful because the ratio of extinction "solsir"
126c      is defined between 0.67um and the IRTM 9um band
127c      (for which it has been estimated)
128
129      tsol=215.D+0
130c     IRTM band (T9):
131      longir(1)=8.3E-6
132      longir(2)=9.7E-6
133      longref=longrefir
134      epref=1.E+0
135
136c     Here, epav is QavIRTM9/Qext(longrefir) since epref=1 :
137
138       write(*,*) 'Call test 9 micron'
139      CALL aerave ( ndustir,
140     &     longdustir,epdustir,omegdustir,gdustir,
141     &     longref,epref,tsol
142     &     ,1,longir,epav,omegav,gav )
143       write(*,*) 'OK test 9 micron'
144      QIRTM9sQrefIR=epav(1)
145     
146c     Average scaterring properties of 3 IR bands defined as :
147c     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
148c     [long1ir - long1co2] , [long1co2-long2co2], [long2co2 - long2ir]
149c
150
151      tsol=215.D+0
152      longir(1)=long1ir
153      longir(2)=long1co2
154      longir(3)=long2co2
155      longir(4)=long2ir
156      longref=longrefir
157      epref=1.E+0
158
159c     Here, epav is <QIR>/Qext(longrefir) since epref=1
160      CALL aerave ( ndustir,
161     &     longdustir,epdustir,omegdustir,gdustir,
162     &     longref,epref,tsol
163     &     ,nir-1,longir,epav,omegav,gav )
164
165c     Computing  <QIR>/Qext(longrefvis)
166      DO iir=1,4
167         epav(iir)=  epav(iir) / (QIRTM9sQrefIR * solsir)
168      ENDDO
169
170      elseif (iaer.eq.2) then
171
172c     Average scaterring properties of 3 IR bands defined as :
173c     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
174c     [long1ir - long1co2] , [long1co2-long2co2], [long2co2 - long2ir]
175c
176
177      tsol=215.D+0
178      longir(1)=long1ir
179      longir(2)=long1co2
180      longir(3)=long2co2
181      longir(4)=long2ir
182      longref=longrefir
183      epref=1.E+0
184
185c     Here, epav is <QIR>/Qext(longrefir) since epref=1
186#ifdef ICE
187      CALL aerave ( niceir,
188     &     longiceir,epiceir,omegiceir,giceir,
189     &     longref,epref,tsol
190     &     ,nir-1,longir,epav,omegav,gav )
191
192c     Computing  <QIR>/Qext(longrefvis)
193      DO iir=1,4
194         epav(iir)=  epav(iir) / solsirice
195      ENDDO
196#endif
197
198      endif
199c  Single scattering properties in each of the "nir" bands (cf. dimramars.h)
200c  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
201c  iir=1 : central 15um CO2 bands   
202      QIRsQREF(1,iaer)=epav(2)
203      omegaIR(1,iaer)=omegav(2)
204      gIR(1,iaer)=gav(2)
205
206c  iir=2 : CO2 band wings (same properties than for central part)
207      QIRsQREF(2,iaer)=epav(2)
208      omegaIR(2,iaer)=omegav(2)
209      gIR(2,iaer)=gav(2)
210
211c  iir=3 : 9 um band [long1ir - long1co2]
212      QIRsQREF(3,iaer)=epav(1)
213      omegaIR(3,iaer)=omegav(1)
214      gIR(3,iaer)=gav(1)
215
216c  iir=4 : Far IR    [long2co2 - long2ir]
217      QIRsQREF(4,iaer)=epav(3)
218      omegaIR(4,iaer)=omegav(3)
219      gIR(4,iaer)=gav(3)
220
221c      if (iaer.eq.2) then  !TEST
222c       do iir=1,4
223c         QIRsQREF(iir,iaer)=QIRsQREF(iir,1)
224c          omegaIR(iir,iaer)= omegaIR(iir,1)
225c          gIR(iir,iaer)=gIR(iir,1)
226c        enddo
227c      endif
228
229C     ----------------------------------------------------------------
230C     Output on screen
231C     ----------------------------------------------------------------
232      if (iaer.eq.1) then
233        PRINT*,'PURE DUST PROPERTIES :'
234        PRINT*
235        PRINT*,'Rapport Solaire/IR :',solsir
236        PRINT*
237      elseif (iaer.eq.2) then
238#ifdef ICE
239        PRINT*,'ICE PROPERTIES :'
240        PRINT*
241        PRINT*,'Rapport Solaire/IR :',solsirice
242        PRINT*
243#endif
244      endif
245
246      PRINT *,'Les donnees spectrales :'
247      PRINT *,'Solaire (SW) ---->'
248      PRINT *,'<Qext>/Qext(0.67um) ; omega ; g'
249      DO isun=1,nsun
250         PRINT *,QVISsQREF(isun,iaer),omegavis(isun,iaer)
251     &    ,gvis(isun,iaer)
252      ENDDO
253      PRINT *,'Thermal IR (LW) ---->'
254      PRINT *,'<Qext>/Qext(0.67um) ; omega ; g'
255      DO iir=1,nir
256         PRINT *,QIRsQREF(iir,iaer),omegaIR(iir,iaer),gIR(iir,iaer)
257      ENDDO
258c     
259
260      print *,'Dans le co2 on prend <Qabs>/Qext(0.67um) =',
261     &  QIRsQREF(1,iaer)*(1-omegaIR(1,iaer)) 
262      write(*,*)
263
264      enddo  ! Loop on iaer
265     
266
267
268      RETURN
269      END
Note: See TracBrowser for help on using the repository browser.