source: TOOLS/CMIP6_FORCING/AER_OPTICS/refr_ind_pom_MACC_v4.f @ 3385

Last change on this file since 3385 was 3385, checked in by oboucher, 4 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./
11c--observed growth factor AS
12c--Carrico et al. Hygroscopic growth behaviour of a carbon-dominated
13C--aerosol in Yosemite Park, Atm. Env. 39, 1393-1404, 2005
14      REAL growth(nbre_RH,Nmode)
15      DATA growth/
16     .  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
17c
18c--wavelength in m
19      INTEGER Nwvmax, Nwvhale, Nwvdry, wve, wv
20      PARAMETER (Nwvmax=200,Nwvhale=60,Nwvdry=24)
21      REAL lambda(Nwvmax)
22      REAL lambda_hale(Nwvhale), n_r_hale(Nwvhale), n_i_hale(Nwvhale)
23      REAL lambda_dry(Nwvdry),   n_r_dry(Nwvdry),  n_i_dry(Nwvdry)
24c
25      INTEGER IRH, mode
26      REAL lambda_min, lambda_max
27      PARAMETER (lambda_min=0.2E-6, lambda_max=5.0E-6)
28c
29      REAL n_r(nbre_rh,Nmode,Nwvmax)
30      REAL n_i(nbre_rh,Nmode,Nwvmax)
31c
32      REAL ratio(nbre_rh,Nmode)      !--diameter growth factor
33      REAL rhod(nbre_rh,Nmode)       !--density
34c
35      DO wve=1,Nwvmax
36        lambda(wve)=
37     .  lambda_min+FLOAT(wve-1)*(lambda_max-lambda_min)/FLOAT(Nwvmax-1)
38      ENDDO 
39c
40c--reading water refractive index
41      OPEN(unit=11,file='r_water_hale.dat')
42      DO wve=1,Nwvhale
43        READ(11,*) lambda_hale(wve), n_r_hale(wve)
44      ENDDO
45      CLOSE(11)
46c      print *,'n_r_hale=', n_r_hale
47c
48      OPEN(unit=11,file='i_water_hale.dat')
49      DO wve=1,Nwvhale
50        READ(11,*) lambda_hale(wve), n_i_hale(wve)
51      ENDDO
52      CLOSE(11)
53c      print *,'n_i_hale=', n_i_hale
54c
55c--reading dry pom refractive index
56      OPEN(unit=11,file='r_pom_kinne.dat')
57      DO wve=1,Nwvdry
58        READ(11,*) lambda_dry(wve), n_r_dry(wve)
59      ENDDO
60      CLOSE(11)
61c      print *,'n_r_dry=', n_r_dry
62c
63      OPEN(unit=11,file='i_pom_kinne.dat')
64      DO wve=1,Nwvdry
65        READ(11,*) lambda_dry(wve), n_i_dry(wve)
66      ENDDO
67      CLOSE(11)
68c      print *,'n_i_dry=', n_i_dry
69c
70      OPEN (unit=11,file='growth_pom_AS_v2')
71c
72      OPEN (unit=21,file='ri_pom_AS_v2')
73c
74      DO mode=1, Nmode
75c
76      DO IRH=1, nbre_RH
77c
78      xx=1./growth(IRH,mode)**3.
79      rhod(IRH,mode)=xx*rhop+(1.-xx)*rhow 
80c
81      DO wve=1,Nwvmax
82c
83c-plus proche voisin
84          nrw=n_r_hale(1)
85          niw=n_i_hale(1)
86          DO wv=1, Nwvhale
87            IF (lambda_hale(wv)/1.e9.LT.lambda(wve)) THEN
88              nrw=n_r_hale(wv)
89              niw=n_i_hale(wv)
90            ENDIF 
91          ENDDO
92
93          nrp=n_r_dry(1)
94          nip=n_i_dry(1)
95          DO wv=1, Nwvdry
96            IF (lambda_dry(wv)/1.e9.LT.lambda(wve)) THEN
97              nrp=n_r_dry(wv)
98              nip=n_i_dry(wv)
99            ENDIF 
100          ENDDO
101c
102          n_r(IRH,mode,wve) = xx*nrp +(1.-xx)*nrw 
103          n_i(IRH,mode,wve) = xx*nip +(1.-xx)*niw 
104c
105          WRITE(20+mode,*) RH_tab(IRH), lambda(wve),
106     .                     n_r(IRH,mode,wve), n_i(IRH,mode,wve)
107c
108      ENDDO !-wve
109      ENDDO !-IRH
110c
111      WRITE(10+mode,20)'RH', (RH_tab(IRH),IRH=1,nbre_rh)
112      WRITE(10+mode,10)"growth factor",(growth(IRH,mode),IRH=1,nbre_rh)
113      WRITE(10+mode,10)"density factor",
114     .            (rhod(IRH,mode)/rhod(1,mode),IRH=1,nbre_rh)
115      WRITE(10+mode,10)'rho @ RH', (rhod(IRH,mode),IRH=1,nbre_rh)
116c
117      ENDDO
118
11910    FORMAT(A14, F6.3,11(',',F6.3))
12020    FORMAT(A14, F6.1,11(',',F6.1))
12163    FORMAT(F10.6,E13.6)
122 
123      CLOSE(11)
124      CLOSE(12)
125      CLOSE(13)
126
127      CLOSE(21)
128      CLOSE(22)
129      CLOSE(23)
130c
131      END
Note: See TracBrowser for help on using the repository browser.