source: trunk/LMDZ.MARS/libf/phymars/suaer.F90 @ 2494

Last change on this file since 2494 was 2494, checked in by cmathe, 4 years ago

Mars GCM:
co2_ice as scatterer in radiative transfert. Need co2clouds and

activeco2ice .eqv. True. Files involved:

  • aeropacity_mod.F
  • callradite_mod.F
  • physiq_mod.F
  • updatereffrad_mod.F
  • suaer.F90
  • determine co2_ice density from temperature. Used in riceco2 computation.

Files involved:

  • co2cloud.F90
  • improvedco2clouds_mod.F90
  • updaterad.F90
  • updatereffrad_mod.F
  • co2condens_mod4micro.F: variable initialization
  • initracer.F: add nuiceco2_ref = 0.2
  • phyredem.F: remove co2_ice from qsurf since co2_ice => co2ice
  • watercloud_mod.F: tiny typo

CM

File size: 20.4 KB
Line 
1SUBROUTINE suaer
2use dimradmars_mod, only: longrefvis, longrefir, nsizemax, long1vis, &
3                    long2vis, long3vis, long1ir, long2ir, long1co2, &
4                    long2co2, nsun, nir,&
5                    naerkind, name_iaer, &
6                    iaer_dust_conrath,iaer_dust_doubleq,&
7                    iaer_dust_submicron,iaer_h2o_ice,&
8                    iaer_stormdust_doubleq,iaer_topdust_doubleq,&
9                    file_id,radiustab, gvis, omegavis, &
10                    QVISsQREF, gIR, omegaIR, &
11                    QIRsQREF, QREFvis, QREFir, &
12                    omegaREFvis, omegaREFir, &
13                    nsize
14use datafile_mod, only: datadir
15IMPLICIT NONE
16!==================================================================
17!     Purpose.
18!     --------
19!     initialize yomaer, the common that contains the
20!     radiative characteristics of the aerosols
21!     
22!     AUTHORS.
23!     --------
24!     Richard Fournier (1996) Francois Forget (1996)
25!     Frederic Hourdin
26!     Jean-jacques morcrette *ECMWF*
27!     MODIF Francois Forget (2000)
28!     MODIF Franck Montmessin (add water ice)
29!     MODIF J.-B. Madeleine 2008W27
30!       - Optical properties read in ASCII files
31!       - Add varying radius of the particules
32!
33!    Summary.
34!    --------
35!
36!    Read the optical properties -> Mean  -> Variable assignment
37!                  (ASCII files)                  (see yomaer.h)
38!    wvl(nwvl)                      longsun
39!    ep(nwvl)                       epav     QVISsQREF(nsun)
40!    omeg(nwvl)                     omegav   omegavis(nsun)
41!    gfactor(nwvl)                  gav      gvis(nsun)
42!   
43!==================================================================
44
45! Includes:
46
47include "callkeys.h"
48
49! Optical properties (read in external ASCII files)
50INTEGER          :: nwvl     ! Number of wavelengths in
51                             ! the domain (VIS or IR)
52REAL, DIMENSION(:),&
53  ALLOCATABLE, SAVE :: wvl       ! Wavelength axis
54REAL, DIMENSION(:),&
55  ALLOCATABLE, SAVE :: radiusdyn ! Particle size axis
56
57REAL, DIMENSION(:,:),&
58  ALLOCATABLE, SAVE :: ep,&    ! Extinction coefficient Qext
59                       omeg,&  ! Single Scattering Albedo
60                       gfactor ! Assymetry Factor
61
62! Local variables:
63
64INTEGER :: iaer                ! Aerosol index
65INTEGER :: idomain             ! Domain index (1=VIS,2=IR)
66INTEGER :: iir                 ! IR channel index
67                               ! iir=1: 15um CO2 bands
68                               ! iir=2 : CO2 band wings
69                               ! iir=3 : 9 um band
70                               ! iir=4 : Far IR
71INTEGER :: isun                ! Solar band index
72INTEGER :: isize               ! Particle size index
73INTEGER :: jfile               ! ASCII file scan index
74INTEGER :: file_unit = 60
75LOGICAL :: file_ok, endwhile
76CHARACTER(LEN=132) :: scanline ! ASCII file scanning line
77INTEGER :: read_ok
78
79! I/O  of "aerave" (subroutine averaging spectrally
80!   sing.scat.parameters)
81
82REAL tsun            ! Sun brightness temperature (for SW)
83REAL tsol            ! Surface reference brightness temp (LW)
84REAL longref         ! reference wavelengths
85REAL longsun(nsun+1) ! solar band boundaries
86REAL longir(nir+1)   ! IR band boundaries
87REAL epref           ! reference extinction ep
88                     ! at wavelength "longref"
89REAL epav(nir)       ! average ep
90                     ! (= <Qext>/Qext(longref) if epref=1)
91REAL omegav(nir)     ! Average sing.scat.albedo
92REAL gav(nir)        ! Average assymetry parameter
93
94!==================================================================
95!---- Please indicate the names of the optical property files below
96!     Please also choose the reference wavelengths of each aerosol
97
98      DO iaer = 1, naerkind ! Loop on aerosol kind
99        aerkind: SELECT CASE (name_iaer(iaer))
100!==================================================================
101        CASE("dust_conrath") aerkind      ! Typical dust profile
102!==================================================================
103!       Visible domain:
104        file_id(iaer,1) = 'optprop_dustvis_TM.dat'     !M.Wolff TM
105!       file_id(iaer,1) = 'optprop_dustvis_clancy.dat' !Clancy-Lee
106!       file_id(iaer,1) = 'optprop_dustvis_ockert.dat' !Ockert-Bell
107!       Infrared domain:
108        file_id(iaer,2) = 'optprop_dustir_TM.dat'      !M.Wolff TM
109!       Toon-Forget + solsir=2 using Clancy-Lee
110!       file_id(iaer,2) = 'optprop_dustir_clancy.dat'
111!       Toon-Forget + solsir=2 using Ockert-Bell
112!       file_id(iaer,2) = 'optprop_dustir_ockert.dat'
113!       Reference wavelength in the visible:
114        longrefvis(iaer)=0.67E-6
115!                     For dust: change readtesassim accordingly;
116!       Reference wavelength in the infrared:
117        longrefir(iaer)=dustrefir
118!==================================================================
119        CASE("dust_doubleq") aerkind! Two-moment scheme for dust
120!==================================================================
121!       Visible domain:
122        file_id(iaer,1) = 'optprop_dustvis_TM_n50.dat' !T-Matrix
123!       file_id(iaer,1) = 'optprop_dustvis_n50.dat'    !Mie
124!       Infrared domain:
125        file_id(iaer,2) = 'optprop_dustir_n50.dat'     !Mie
126!       Reference wavelength in the visible:
127        longrefvis(iaer)=0.67E-6
128!       If not equal to 0.67e-6 -> change readtesassim accordingly;
129!       Reference wavelength in the infrared:
130        longrefir(iaer)=dustrefir
131!==================================================================
132        CASE("dust_submicron") aerkind   ! Small dust population
133!==================================================================
134!       Visible domain:
135        file_id(iaer,1) = 'optprop_dustvis_01um_TM.dat' !M.Wolff
136!       Infrared domain:
137        file_id(iaer,2) = 'optprop_dustir_01um_TM.dat'  !M.Wolff
138!       Reference wavelength in the visible:
139        longrefvis(iaer)=0.67E-6
140!       If not equal to 0.67e-6 -> change readtesassim accordingly;
141!       Reference wavelength in the infrared:
142        longrefir(iaer)=dustrefir
143!==================================================================
144        CASE("h2o_ice") aerkind             ! Water ice crystals
145!==================================================================
146!       Visible domain:
147        file_id(iaer,1) = 'optprop_icevis_n30.dat' !Warren
148!       file_id(iaer,1) = 'optprop_icevis.dat'     !Warren
149!       Infrared domain:
150        file_id(iaer,2) = 'optprop_iceir_n30.dat'  !Warren
151!       file_id(iaer,2) = 'optprop_iceir.dat'      !Warren
152!       Reference wavelength in the visible:
153        longrefvis(iaer)=0.67E-6  ! 1.5um OMEGA/MEx
154!       Reference wavelength in the infrared:
155        longrefir(iaer)=12.1E-6  ! 825cm-1 TES/MGS
156!==================================================================
157        CASE("co2_ice") aerkind             ! CO2 ice crystals
158!==================================================================
159!       Visible domain:
160        file_id(iaer,1) = 'optprop_co2ice_vis_n50.dat' !
161!       Infrared domain:
162        file_id(iaer,2) = 'optprop_co2ice_ir_n50.dat'  !
163!       Reference wavelength in the visible:
164        longrefvis(iaer) = 0.67E-6  ! 1.5um OMEGA/MEx
165!       Reference wavelength in the infrared:
166        longrefir(iaer) = 4.26E-6  ! 2347 cm-1 OMEGA/MEx
167!==================================================================
168        CASE("stormdust_doubleq") aerkind   ! Two-moment scheme for stormdust - radiative properties
169!==================================================================
170!       Visible domain:
171        file_id(iaer,1) = 'optprop_dustvis_TM_n50.dat' !T-Matrix
172!       Infrared domain:
173        file_id(iaer,2) = 'optprop_dustir_n50.dat'     !Mie
174!       Reference wavelength in the visible:
175        longrefvis(iaer)=0.67E-6
176!       If not equal to 0.67e-6 -> change readtesassim accordingly;
177!       Reference wavelength in the infrared:
178        longrefir(iaer)=dustrefir
179!==================================================================
180        CASE("topdust_doubleq") aerkind   ! Two-moment scheme for topdust - radiative properties
181!==================================================================
182!       Visible domain:
183        file_id(iaer,1) = 'optprop_dustvis_TM_n50.dat' !T-Matrix
184!       Infrared domain:
185        file_id(iaer,2) = 'optprop_dustir_n50.dat'     !Mie
186!       Reference wavelength in the visible:
187        longrefvis(iaer)=0.67E-6
188!       If not equal to 0.67e-6 -> change readtesassim accordingly;
189!       Reference wavelength in the infrared:
190        longrefir(iaer)=dustrefir
191!==================================================================
192        END SELECT aerkind
193!==================================================================
194        WRITE(*,*) "Scatterer: ",trim(name_iaer(iaer))
195        WRITE(*,*) "  corresponding files: "
196        WRITE(*,*) "VIS: ",trim(file_id(iaer,1))
197        WRITE(*,*) "IR : ",trim(file_id(iaer,2))
198!==================================================================
199      ENDDO ! iaer (loop on aerosol kind)
200
201! Initializations:
202
203radiustab(1:naerkind,1:2,1:nsizemax)=0
204
205gvis(1:nsun,1:naerkind,1:nsizemax)=0
206omegavis(1:nsun,1:naerkind,1:nsizemax)=0
207QVISsQREF(1:nsun,1:naerkind,1:nsizemax)=0
208
209gIR(1:nir,1:naerkind,1:nsizemax)=0
210omegaIR(1:nir,1:naerkind,1:nsizemax)=0
211QIRsQREF(1:nir,1:naerkind,1:nsizemax)=0
212
213QREFvis(1:naerkind,1:nsizemax)=0
214QREFir(1:naerkind,1:nsizemax)=0
215omegaREFvis(1:naerkind,1:nsizemax)=0
216omegaREFir(1:naerkind,1:nsizemax)=0
217
218DO iaer = 1, naerkind ! Loop on aerosol kind
219  DO idomain = 1, 2   ! Loop on radiation domain (VIS or IR)
220!==================================================================
221! 1. READ OPTICAL PROPERTIES
222!==================================================================
223
224!       1.1 Open the ASCII file
225
226INQUIRE(FILE=TRIM(datadir)//&
227  '/'//TRIM(file_id(iaer,idomain)),&
228  EXIST=file_ok)
229IF(.NOT.file_ok) THEN
230  write(*,*)'Problem opening ',&
231    TRIM(file_id(iaer,idomain))
232  write(*,*)'It should be in: ',&
233    TRIM(datadir)
234  write(*,*)'1) You can change this directory address in callfis.def with'
235  write(*,*)'   datadir=/path/to/datafiles'
236  write(*,*)'2) If ',&
237    TRIM(file_id(iaer,idomain)),&
238    ' is a LMD reference datafile, it'
239  write(*,*)' can be obtained online on:'
240  write(*,*)' http://www.lmd.jussieu.fr/',&
241    '~lmdz/planets/mars/datadir'
242  write(*,*)'3) If the name of the file is wrong, you can'
243  write(*,*)' change it in file phymars/suaer.F90. Just'
244  write(*,*)' modify the variable called file_id.'
245  CALL abort_physic("suaer","missing file "//trim(file_id(iaer,idomain)),1)
246ENDIF
247OPEN(UNIT=file_unit,&
248  FILE=TRIM(datadir)//&
249  '/'//TRIM(file_id(iaer,idomain)),&
250  FORM='formatted')
251
252!       1.2 Allocate the optical property table
253
254jfile = 1
255endwhile = .false.
256DO WHILE (.NOT.endwhile)
257  READ(file_unit,*,iostat=read_ok) scanline
258  if (read_ok.ne.0) then
259    write(*,*)' readoptprop: Error reading file',&
260    TRIM(datadir)//&
261    '/'//TRIM(file_id(iaer,idomain))
262    call abort_physic("suaer","problem reading "//trim(file_id(iaer,idomain)),1)
263  endif
264  IF ((scanline(1:1) .ne. '#').and.&
265    (scanline(1:1) .ne. ' ')) THEN
266    BACKSPACE(file_unit)
267    reading1_seq: SELECT CASE (jfile) ! ====================
268    CASE(1) reading1_seq ! nwvl ----------------------------
269        read(file_unit,*,iostat=read_ok) nwvl
270        if (read_ok.ne.0) then
271          write(*,*)' readoptprop: Error while reading line:',&
272          trim(scanline)
273          write(*,*)'   of file',&
274          TRIM(datadir)//&
275          '/'//TRIM(file_id(iaer,idomain))
276          call abort_physic("suaer",&
277               "problem reading "//trim(file_id(iaer,idomain)),1)
278        endif
279        jfile = jfile+1
280    CASE(2) reading1_seq ! nsize ---------------------------
281        read(file_unit,*,iostat=read_ok) nsize(iaer,idomain)
282        if (read_ok.ne.0) then
283          write(*,*)' readoptprop: Error while reading line:',&
284          trim(scanline)
285          write(*,*)'   of file',&
286          TRIM(datadir)//&
287          '/'//TRIM(file_id(iaer,idomain))
288          call abort_physic("suaer",&
289               "problem reading "//trim(file_id(iaer,idomain)),1)
290        endif
291        endwhile = .true.
292    CASE DEFAULT reading1_seq ! ----------------------------
293        WRITE(*,*) 'readoptprop: ',&
294          'Error while loading optical properties.'
295        call abort_physic("suaer",&
296               "problem loading optical properties",1)
297    END SELECT reading1_seq ! ==============================
298  ENDIF
299ENDDO
300
301ALLOCATE(wvl(nwvl))                            ! wvl
302ALLOCATE(radiusdyn(nsize(iaer,idomain)))       ! radiusdyn
303ALLOCATE(ep(nwvl,nsize(iaer,idomain)))         ! ep
304ALLOCATE(omeg(nwvl,nsize(iaer,idomain)))       ! omeg
305ALLOCATE(gfactor(nwvl,nsize(iaer,idomain)))    ! g
306
307!       1.3 Read the data
308
309jfile = 1
310endwhile = .false.
311DO WHILE (.NOT.endwhile)
312   READ(file_unit,*) scanline
313  IF ((scanline(1:1) .ne. '#').and.&
314    (scanline(1:1) .ne. ' ')) THEN
315    BACKSPACE(file_unit)
316    reading2_seq: SELECT CASE (jfile) ! ====================
317    CASE(1) reading2_seq ! wvl -----------------------------
318        read(file_unit,*) wvl
319        jfile = jfile+1
320    CASE(2) reading2_seq ! radiusdyn -----------------------
321        read(file_unit,*) radiusdyn
322        jfile = jfile+1
323    CASE(3) reading2_seq ! ep ------------------------------
324        isize = 1
325        DO WHILE (isize .le. nsize(iaer,idomain))
326          READ(file_unit,*) scanline
327          IF ((scanline(1:1) .ne. '#').and.&
328            (scanline(1:1) .ne. ' ')) THEN
329          BACKSPACE(file_unit)
330          read(file_unit,*) ep(:,isize)
331          isize = isize + 1
332          ENDIF
333        ENDDO
334        jfile = jfile+1
335    CASE(4) reading2_seq ! omeg ----------------------------
336        isize = 1
337        DO WHILE (isize .le. nsize(iaer,idomain))
338          READ(file_unit,*) scanline
339          IF ((scanline(1:1) .ne. '#').and.&
340            (scanline(1:1) .ne. ' ')) THEN
341          BACKSPACE(file_unit)
342          read(file_unit,*) omeg(:,isize)
343          isize = isize + 1
344          ENDIF
345        ENDDO
346        jfile = jfile+1
347    CASE(5) reading2_seq ! gfactor -------------------------
348        isize = 1
349        DO WHILE (isize .le. nsize(iaer,idomain))
350          READ(file_unit,*) scanline
351          IF ((scanline(1:1) .ne. '#').and.&
352            (scanline(1:1) .ne. ' ')) THEN
353          BACKSPACE(file_unit)
354          read(file_unit,*) gfactor(:,isize)
355          isize = isize + 1
356          ENDIF
357        ENDDO
358        endwhile = .true.
359    CASE DEFAULT reading2_seq ! ----------------------------
360        WRITE(*,*) 'suaer.F90: ',&
361          'Error while loading optical properties.'
362        call abort_physic("suaer",&
363               "problem loading optical properties",1)
364    END SELECT reading2_seq ! ==============================
365  ENDIF
366ENDDO
367
368!       1.4 Close the file
369
370CLOSE(file_unit)
371
372!==================================================================
373! 2. AVERAGED PROPERTIES AND VARIABLE ASSIGNMENTS
374!==================================================================
375domain: SELECT CASE (idomain)
376!==================================================================
377CASE(1) domain !                   VISIBLE DOMAIN (idomain=1)
378!==================================================================
379
380! 2.1 Parameters
381  tsun=6000.E+0
382  longsun(1)=long1vis
383  longsun(2)=long2vis
384  longsun(3)=long3vis
385  longref=longrefvis(iaer)
386  epref=1.E+0
387
388DO isize=1,nsize(iaer,idomain)
389! test that there is enough room to store the data
390 if (isize.gt.nsizemax) then
391   write(*,*) "suaer: Error ! nsizemax is too small!"
392   write(*,*) "       nsizemax=",nsizemax
393   write(*,*) "       you must increase the value of nsizemax"
394   write(*,*) "       in dimradmars_mod !"
395   call abort_physic("suaer","nsizemax too small",1)
396 endif
397! ------------------------------------------------
398! 2.2 Save the particle sizes
399  radiustab(iaer,idomain,isize)=radiusdyn(isize)
400! 2.3 Averaged optical properties (GCM channels)
401! Notice: Aerave also computes the extinction coefficient and
402!   single scattering albedo at reference wavelength
403!   (called QREFvis and OMEGAREFvis, same in the IR,
404!   and not epref, which is a different parameter);
405!   Reference wavelengths are defined for each aerosol in
406!   dimradmars_mod.
407
408  CALL aerave ( nwvl,&
409       wvl(:),ep(:,isize),omeg(:,isize),gfactor(:,isize),&
410       longref,epref,tsun,&
411       nsun,longsun, epav,omegav,gav,&
412       QREFvis(iaer,isize),omegaREFvis(iaer,isize) )
413! 2.4 Variable assignements (declared by yomaer.h)
414  DO isun=1,nsun
415    QVISsQREF(isun,iaer,isize)=epav(isun)
416    gvis(isun,iaer,isize)=gav(isun)
417    omegavis(isun,iaer,isize)=omegav(isun)
418  END DO
419! 2.5 Output display
420!  WRITE(*,*) 'Les donnees spectrales :'
421!  WRITE(*,*) 'Solaire (SW) ---->'
422!  WRITE(*,*) 'Aerosol number: ', iaer
423!  WRITE(*,*) 'Rayon aerosol: ', radiustab(iaer,idomain,isize)
424!  WRITE(*,*) '<Qext>/Qext(longrefvis) ; omega ; g'
425!  DO isun=1,nsun
426!    WRITE(*,*) QVISsQREF(isun,iaer,isize),&
427!         omegavis(isun,iaer,isize),&
428!         gvis(isun,iaer,isize)
429!  ENDDO
430!  WRITE(*,*) 'QREFvis(',iaer,isize,') = ',QREFvis(iaer,isize)
431!  WRITE(*,*) 'omegaREFvis(',iaer,isize,') = ',&
432!                                      omegaREFvis(iaer,isize)
433! ------------------------------------------------
434ENDDO
435
436!==================================================================
437CASE(2) domain !                  INFRARED DOMAIN (idomain=2)
438!==================================================================
439
440DO isize=1,nsize(iaer,idomain) ! ----------------------------------
441
442! 2.1 solsir is not used anymore; division of Qext(IR) by solsir
443!     has to be done in the input ASCII files (if necessary).
444
445! 2.2 Save the particle sizes
446  radiustab(iaer,idomain,isize)=radiusdyn(isize)
447
448! 2.3 Parameters
449
450  tsol=215.D+0
451  longir(1)=long1ir
452  longir(2)=long1co2
453  longir(3)=long2co2
454  longir(4)=long2ir
455  longref=longrefir(iaer)
456  epref=1.E+0
457
458! 2.4 Averaged optical properties (GCM channels)
459!           epav is <QIR>/Qext(longrefir) since epref=1
460! Notice: Aerave also Computes the extinction coefficient at
461!   reference wavelength (called QREFvis or QREFir,
462!   and not epref, which is a different parameter);
463!   Reference wavelengths are defined for each aerosol in
464!   dimradmar_mod.
465
466  CALL aerave ( nwvl,&
467       wvl(:),ep(:,isize),omeg(:,isize),gfactor(:,isize),&
468       longref,epref,tsol,&
469       nir-1,longir,epav,omegav,gav,&
470       QREFir(iaer,isize),omegaREFir(iaer,isize) )
471!  WRITE(*,*) 'QREFir(',iaer,isize,') = ',QREFir(iaer,isize)
472!  WRITE(*,*) 'omegaREFir(',iaer,isize,') = ',&
473!                                      omegaREFir(iaer,isize)
474
475! 2.5 Computing  <QIR>/Qext(longrefvis)
476
477  DO iir=1,nir-1
478!    WRITE(*,*) 'QIRsQREFir Channel ',iir,': ',epav(iir)
479    epav(iir)=  epav(iir) * QREFir(iaer,isize) / &
480                            QREFvis(iaer,isize)
481  ENDDO
482!  WRITE(*,*) 'Aerosol number', iaer
483!  WRITE(*,*) 'Particle size: ',radiustab(iaer,idomain,isize)
484!  WRITE(*,*) 'Rapport Solaire/IR:',&
485!             QREFvis(iaer,isize) / QREFir(iaer,isize)
486
487! 2.6 Variable assignements
488!           (variables are declared by yomaer.h)
489
490!         Single scattering properties
491!           in each of the "nir" bands
492!           (cf. dimradmars_mod)
493
494! iir=1 : central 15um CO2 bands   
495  QIRsQREF(1,iaer,isize)=epav(2)
496  omegaIR(1,iaer,isize)=omegav(2)
497  gIR(1,iaer,isize)=gav(2)
498
499! iir=2 : CO2 band wings
500!           (same properties than for central part)
501  QIRsQREF(2,iaer,isize)=epav(2)
502  omegaIR(2,iaer,isize)=omegav(2)
503  gIR(2,iaer,isize)=gav(2)
504
505! iir=3 : 9 um band [long1ir - long1co2]
506  QIRsQREF(3,iaer,isize)=epav(1)
507  omegaIR(3,iaer,isize)=omegav(1)
508  gIR(3,iaer,isize)=gav(1)
509
510! iir=4 : Far IR    [long2co2 - long2ir]
511  QIRsQREF(4,iaer,isize)=epav(3)
512  omegaIR(4,iaer,isize)=omegav(3)
513  gIR(4,iaer,isize)=gav(3)
514
515! 2.7 Output display
516
517!  WRITE(*,*) 'AEROSOL PROPERTIES: Number ',iaer
518!  WRITE(*,*) 'Thermal IR (LW) ---->'
519!  WRITE(*,*) 'Particle size: ',radiustab(iaer,idomain,isize)
520!  WRITE(*,*) '<Qext>/Qext(longrefvis) ; omega ; g'
521!  DO iir=1,nir
522!    WRITE(*,*) QIRsQREF(iir,iaer,isize),omegaIR(iir,iaer,isize),&
523!         gIR(iir,iaer,isize)
524!  ENDDO
525!  WRITE(*,*) 'CO2: <Qabs>/Qext(longrefvis) = ',&
526!       QIRsQREF(1,iaer,isize)*(1-omegaIR(1,iaer,isize))
527!  WRITE(*,*) ''
528
529ENDDO ! isize (particle size) -------------------------------------
530
531END SELECT domain
532!==================================================================
533! 3. Deallocate temporary variables (read in ASCII files)
534!==================================================================
535
536DEALLOCATE(wvl)        ! wvl
537DEALLOCATE(radiusdyn)  ! radiusdyn
538DEALLOCATE(ep)         ! ep
539DEALLOCATE(omeg)       ! omeg
540DEALLOCATE(gfactor)    ! g
541
542  END DO ! Loop on iaer
543END DO   ! Loop on idomain
544!==================================================================
545RETURN
546END
Note: See TracBrowser for help on using the repository browser.