1 | PROGRAM sea_salt |
---|
2 | !--based on Tang and Munkelwitz JGR 1994 and Tang JGR 1997 |
---|
3 | !--then correct for observed growth factor |
---|
4 | IMPLICIT NONE |
---|
5 | REAL rhop, rhow, nrw, niw, nrp, nip, xx |
---|
6 | PARAMETER (rhop=2.16,rhow=1.0) !--g cm-3 |
---|
7 | INTEGER nbre_RH, Nmode |
---|
8 | PARAMETER(nbre_rh=12, Nmode=1) |
---|
9 | REAL RH_tab(nbre_RH) |
---|
10 | DATA RH_tab/0.,10.,20.,30.,40.,50.,60.,70.,80.,85.,90.,95./ |
---|
11 | |
---|
12 | c--observed growth factor AS |
---|
13 | c--Carrico et al. Hygroscopic growth behaviour of a carbon-dominated |
---|
14 | C--aerosol in Yosemite Park, Atm. Env. 39, 1393-1404, 2005 |
---|
15 | REAL growth(nbre_RH,Nmode) |
---|
16 | DATA growth/ |
---|
17 | . 1.0,1.0,1.0,1.0,1.0,1.05,1.10,1.20,1.29,1.30,1.31,1.40/ !--AS |
---|
18 | c |
---|
19 | c--wavelength in m |
---|
20 | INTEGER Nwvmax, Nwvhale, Nwvdry, wve, wv |
---|
21 | PARAMETER (Nwvmax=200,Nwvhale=60,Nwvdry=61) |
---|
22 | REAL lambda(Nwvmax) |
---|
23 | REAL lambda_hale(Nwvhale), n_r_hale(Nwvhale), n_i_hale(Nwvhale) |
---|
24 | REAL lambda_dry(Nwvdry), n_r_dry(Nwvdry), n_i_dry(Nwvdry) |
---|
25 | c |
---|
26 | INTEGER IRH, mode |
---|
27 | REAL lambda_min, lambda_max |
---|
28 | PARAMETER (lambda_min=0.2E-6, lambda_max=5.0E-6) |
---|
29 | c |
---|
30 | REAL n_r(nbre_rh,Nmode,Nwvmax) |
---|
31 | REAL n_i(nbre_rh,Nmode,Nwvmax) |
---|
32 | c |
---|
33 | REAL ratio(nbre_rh,Nmode) !--diameter growth factor |
---|
34 | REAL rhod(nbre_rh,Nmode) !--density |
---|
35 | c |
---|
36 | DO wve=1,Nwvmax |
---|
37 | lambda(wve)= |
---|
38 | . lambda_min+FLOAT(wve-1)*(lambda_max-lambda_min)/FLOAT(Nwvmax-1) |
---|
39 | ENDDO |
---|
40 | c |
---|
41 | c--reading water refractive index |
---|
42 | OPEN(unit=11,file='r_water_hale.dat') |
---|
43 | DO wve=1,Nwvhale |
---|
44 | READ(11,*) lambda_hale(wve), n_r_hale(wve) |
---|
45 | ENDDO |
---|
46 | CLOSE(11) |
---|
47 | c print *,'n_r_hale=', n_r_hale |
---|
48 | c |
---|
49 | OPEN(unit=11,file='i_water_hale.dat') |
---|
50 | DO wve=1,Nwvhale |
---|
51 | READ(11,*) lambda_hale(wve), n_i_hale(wve) |
---|
52 | ENDDO |
---|
53 | CLOSE(11) |
---|
54 | c print *,'n_i_hale=', n_i_hale |
---|
55 | c |
---|
56 | c--reading dry bc refractive index |
---|
57 | OPEN(unit=11,file='r_bcsoot_she.dat') |
---|
58 | DO wve=1,Nwvdry |
---|
59 | READ(11,*) lambda_dry(wve), n_r_dry(wve) |
---|
60 | ENDDO |
---|
61 | CLOSE(11) |
---|
62 | c print *,'n_r_dry=', n_r_dry |
---|
63 | c |
---|
64 | OPEN(unit=11,file='i_bcsoot_she.dat') |
---|
65 | DO wve=1,Nwvdry |
---|
66 | READ(11,*) lambda_dry(wve), n_i_dry(wve) |
---|
67 | ENDDO |
---|
68 | CLOSE(11) |
---|
69 | c print *,'n_i_dry=', n_i_dry |
---|
70 | c |
---|
71 | OPEN (unit=11,file='growth_bc_AS_v2') |
---|
72 | c |
---|
73 | OPEN (unit=21,file='ri_bc_AS_v2') |
---|
74 | c |
---|
75 | DO mode=1, Nmode |
---|
76 | c |
---|
77 | DO IRH=1, nbre_RH |
---|
78 | c |
---|
79 | xx=1./growth(IRH,mode)**3. |
---|
80 | rhod(IRH,mode)=xx*rhop+(1.-xx)*rhow |
---|
81 | c |
---|
82 | DO wve=1,Nwvmax |
---|
83 | c |
---|
84 | c-plus proche voisin |
---|
85 | nrw=n_r_hale(1) |
---|
86 | niw=n_i_hale(1) |
---|
87 | DO wv=1, Nwvhale |
---|
88 | IF (lambda_hale(wv)/1.e9.LT.lambda(wve)) THEN |
---|
89 | nrw=n_r_hale(wv) |
---|
90 | niw=n_i_hale(wv) |
---|
91 | ENDIF |
---|
92 | ENDDO |
---|
93 | |
---|
94 | nrp=n_r_dry(1) |
---|
95 | nip=n_i_dry(1) |
---|
96 | DO wv=1, Nwvdry |
---|
97 | IF (lambda_dry(wv)/1.e9.LT.lambda(wve)) THEN |
---|
98 | nrp=n_r_dry(wv) |
---|
99 | nip=n_i_dry(wv) |
---|
100 | ENDIF |
---|
101 | ENDDO |
---|
102 | c |
---|
103 | n_r(IRH,mode,wve) = xx*nrp +(1.-xx)*nrw |
---|
104 | n_i(IRH,mode,wve) = xx*nip +(1.-xx)*niw |
---|
105 | c |
---|
106 | WRITE(20+mode,*) RH_tab(IRH), lambda(wve), |
---|
107 | . n_r(IRH,mode,wve), n_i(IRH,mode,wve) |
---|
108 | c |
---|
109 | ENDDO !-wve |
---|
110 | ENDDO !-IRH |
---|
111 | c |
---|
112 | WRITE(10+mode,20)'RH', (RH_tab(IRH),IRH=1,nbre_rh) |
---|
113 | WRITE(10+mode,10)"growth factor",(growth(IRH,mode),IRH=1,nbre_rh) |
---|
114 | WRITE(10+mode,10)"density factor", |
---|
115 | . (rhod(IRH,mode)/rhod(1,mode),IRH=1,nbre_rh) |
---|
116 | WRITE(10+mode,10)'rho @ RH', (rhod(IRH,mode),IRH=1,nbre_rh) |
---|
117 | c |
---|
118 | ENDDO |
---|
119 | |
---|
120 | 10 FORMAT(A14, F6.3,11(',',F6.3)) |
---|
121 | 20 FORMAT(A14, F6.1,11(',',F6.1)) |
---|
122 | 63 FORMAT(F10.6,E13.6) |
---|
123 | |
---|
124 | CLOSE(11) |
---|
125 | CLOSE(12) |
---|
126 | CLOSE(13) |
---|
127 | |
---|
128 | CLOSE(21) |
---|
129 | CLOSE(22) |
---|
130 | CLOSE(23) |
---|
131 | c |
---|
132 | END |
---|