source: trunk/LMDZ.GENERIC/libf/phystd/iniaerosol.F @ 1032

Last change on this file since 1032 was 1026, checked in by sglmd, 12 years ago

Added a flexible, 2-layer aerosol scenario (initially for Saturn, but can be simply tuned). Called aeroback2lay.

File size: 2.5 KB
Line 
1      SUBROUTINE iniaerosol()
2
3
4      use radinc_h, only: naerkind
5      use aerosol_mod
6
7      IMPLICIT NONE
8c=======================================================================
9c   subject:
10c   --------
11c   Initialization related to aerosols
12c   (CO2 aerosols, dust, water, chemical species, ice...)   
13c
14c   author: Laura Kerber, S. Guerlet
15c   ------
16c       
17c=======================================================================
18
19
20#include "callkeys.h"
21      integer ia
22
23      ia=0
24      if (aeroco2) then
25         ia=ia+1
26         iaero_co2=ia
27      endif
28      write(*,*) '--- CO2 aerosol = ', iaero_co2
29 
30      if (aeroh2o) then
31         ia=ia+1
32         iaero_h2o=ia
33      endif
34      write(*,*) '--- H2O aerosol = ', iaero_h2o
35
36      if (dusttau.gt.0) then
37         ia=ia+1
38         iaero_dust=ia
39      endif
40      write(*,*) '--- Dust aerosol = ', iaero_dust
41
42      if (aeroh2so4) then
43         ia=ia+1
44         iaero_h2so4=ia
45      endif
46      write(*,*) '--- H2SO4 aerosol = ', iaero_h2so4
47     
48      if (aeroback2lay) then
49         ia=ia+1
50         iaero_back2lay=ia
51         !! define aerosols parameters (should be in a .def?)
52         !! Saturn: Roman et al. Icarus 2013 2-layer scenario (ISS observations)
53         obs_tau_col_tropo=8.D0       !! observed total optical depth in the tropospheric layer (visible)
54         obs_tau_col_strato=0.08D0    !! observed total optical depth in the stratospheric layer (visible)
55         pres_bottom_tropo= 66000.0   !! In Pa !   
56         pres_top_tropo= 18000.0      !! In Pa
57         pres_bottom_strato= 10000.0  !! In Pa
58         pres_top_strato= 100.0       !! In Pa
59         size_tropo=2.e-6     !! particle size in the tropospheric layer, in meters
60         size_strato=1.e-7    !! particle size in the stratospheric layer
61      endif
62      write(*,*) '--- Two-layer aerosol = ', iaero_back2lay
63
64     
65      write(*,*) '=== Number of aerosols= ', ia
66     
67! For the zero aerosol case, we currently make a dummy co2 aerosol which is zero everywhere.
68! (See aeropacity.F90 for how this works). A better solution would be to turn off the
69! aerosol machinery in the no aerosol case, but this would be complicated. LK
70
71      if (ia.eq.0) then  !For the zero aerosol case.
72         ia = 1
73         noaero = .true.
74         iaero_co2=ia
75      endif
76
77      if (ia.ne.naerkind) then
78          print*, 'Aerosols counted not equal to naerkind'
79          print*, 'Compile with tag -s',ia,'to run'
80          print*, 'or change options in callphys.def'
81          print*, 'Abort in iniaerosol.F'
82          call abort
83      endif
84
85      end
Note: See TracBrowser for help on using the repository browser.