source: TOOLS/CMIP6_FORCING/AER_OPTICS/refr_ind_bc_MACC_v4.f @ 5567

Last change on this file since 5567 was 3385, checked in by oboucher, 7 years ago

Uploading package to prepare tropospheric aerosol optics LUT in LMDz fo rCMIP6

File size: 3.6 KB
Line 
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
12c--observed growth factor AS
13c--Carrico et al. Hygroscopic growth behaviour of a carbon-dominated
14C--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
18c
19c--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)
25c
26      INTEGER IRH, mode
27      REAL lambda_min, lambda_max
28      PARAMETER (lambda_min=0.2E-6, lambda_max=5.0E-6)
29c
30      REAL n_r(nbre_rh,Nmode,Nwvmax)
31      REAL n_i(nbre_rh,Nmode,Nwvmax)
32c
33      REAL ratio(nbre_rh,Nmode)      !--diameter growth factor
34      REAL rhod(nbre_rh,Nmode)       !--density
35c
36      DO wve=1,Nwvmax
37        lambda(wve)=
38     .  lambda_min+FLOAT(wve-1)*(lambda_max-lambda_min)/FLOAT(Nwvmax-1)
39      ENDDO 
40c
41c--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)
47c      print *,'n_r_hale=', n_r_hale
48c
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)
54c      print *,'n_i_hale=', n_i_hale
55c
56c--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)
62c      print *,'n_r_dry=', n_r_dry
63c
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)
69c      print *,'n_i_dry=', n_i_dry
70c
71      OPEN (unit=11,file='growth_bc_AS_v2')
72c
73      OPEN (unit=21,file='ri_bc_AS_v2')
74c
75      DO mode=1, Nmode
76c
77      DO IRH=1, nbre_RH
78c
79      xx=1./growth(IRH,mode)**3.
80      rhod(IRH,mode)=xx*rhop+(1.-xx)*rhow 
81c
82      DO wve=1,Nwvmax
83c
84c-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
102c
103          n_r(IRH,mode,wve) = xx*nrp +(1.-xx)*nrw 
104          n_i(IRH,mode,wve) = xx*nip +(1.-xx)*niw 
105c
106          WRITE(20+mode,*) RH_tab(IRH), lambda(wve),
107     .                     n_r(IRH,mode,wve), n_i(IRH,mode,wve)
108c
109      ENDDO !-wve
110      ENDDO !-IRH
111c
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)
117c
118      ENDDO
119
12010    FORMAT(A14, F6.3,11(',',F6.3))
12120    FORMAT(A14, F6.1,11(',',F6.1))
12263    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)
131c
132      END
Note: See TracBrowser for help on using the repository browser.