source: TOOLS/CMIP6_FORCING/AER_OPTICS/refr_ind_nitrate_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.7 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
12      REAL growth(nbre_RH,Nmode)
13      DATA growth/
14     .  1.0,1.0,1.0,1.05,1.10,1.15,1.21,1.33,1.50,1.65,1.85,1.90/ !--AS
15c
16c--wavelength in m
17      INTEGER Nwvmax, Nwvhale, Nwvdry_r, Nwvdry_i, wve, wv
18      PARAMETER (Nwvmax=200,Nwvhale=60,Nwvdry_r=130, Nwvdry_i=212)
19      REAL lambda(Nwvmax)
20      REAL lambda_hale(Nwvhale), n_r_hale(Nwvhale), n_i_hale(Nwvhale)
21      REAL lambda_dry_r(Nwvdry_r), lambda_dry_i(Nwvdry_i)
22      REAL n_r_dry(Nwvdry_r),  n_i_dry(Nwvdry_i)
23c
24      INTEGER IRH, mode
25      REAL lambda_min, lambda_max
26      PARAMETER (lambda_min=0.2E-6, lambda_max=5.0E-6)
27c
28      REAL n_r(nbre_rh,Nmode,Nwvmax)
29      REAL n_i(nbre_rh,Nmode,Nwvmax)
30c
31      REAL ratio(nbre_rh,Nmode)      !--diameter growth factor
32      REAL rhod(nbre_rh,Nmode)       !--density
33c
34      DO wve=1,Nwvmax
35        lambda(wve)=
36     .  lambda_min+FLOAT(wve-1)*(lambda_max-lambda_min)/FLOAT(Nwvmax-1)
37      ENDDO 
38c
39c--reading water refractive index
40      OPEN(unit=11,file='r_water_hale.dat')
41      DO wve=1,Nwvhale
42        READ(11,*) lambda_hale(wve), n_r_hale(wve)
43      ENDDO
44      CLOSE(11)
45c      print *,'n_r_hale=', n_r_hale
46c
47      OPEN(unit=11,file='i_water_hale.dat')
48      DO wve=1,Nwvhale
49        READ(11,*) lambda_hale(wve), n_i_hale(wve)
50      ENDDO
51      CLOSE(11)
52c      print *,'n_i_hale=', n_i_hale
53c
54c--reading dry nitrate refractive index
55      OPEN(unit=11,file='r_nitrat_jarz.dat')
56      DO wve=1,Nwvdry_r
57        READ(11,*) lambda_dry_r(wve), n_r_dry(wve)
58      ENDDO
59      CLOSE(11)
60c      print *,'n_r_dry=', n_r_dry
61c
62      OPEN(unit=11,file='i_nitrat_jg.dat')
63      DO wve=1,Nwvdry_i
64        READ(11,*) lambda_dry_i(wve), n_i_dry(wve)
65      ENDDO
66      CLOSE(11)
67c      print *,'n_i_dry=', n_i_dry
68c
69      OPEN (unit=11,file='growth_nitrate_AS_v2')
70c
71      OPEN (unit=21,file='ri_nitrate_AS_v2')
72c
73      DO mode=1, Nmode
74c
75      DO IRH=1, nbre_RH
76c
77      xx=1./growth(IRH,mode)**3.
78      rhod(IRH,mode)=xx*rhop+(1.-xx)*rhow 
79c
80      DO wve=1,Nwvmax
81c
82c-plus proche voisin
83          nrw=n_r_hale(1)
84          niw=n_i_hale(1)
85          DO wv=1, Nwvhale
86            IF (lambda_hale(wv)/1.e9.LT.lambda(wve)) THEN
87              nrw=n_r_hale(wv)
88              niw=n_i_hale(wv)
89            ENDIF 
90          ENDDO
91
92          nrp=n_r_dry(1)
93          nip=n_i_dry(1)
94          DO wv=1, Nwvdry_r
95            IF (lambda_dry_r(wv)/1.e9.LT.lambda(wve)) THEN
96              nrp=n_r_dry(wv)
97            ENDIF 
98          ENDDO
99          DO wv=1, Nwvdry_i
100            IF (lambda_dry_i(wv)/1.e9.LT.lambda(wve)) THEN
101              nip=n_i_dry(wv)
102            ENDIF 
103          ENDDO
104c
105          n_r(IRH,mode,wve) = xx*nrp +(1.-xx)*nrw 
106          n_i(IRH,mode,wve) = xx*nip +(1.-xx)*niw 
107c
108          WRITE(20+mode,*) RH_tab(IRH), lambda(wve),
109     .                     n_r(IRH,mode,wve), n_i(IRH,mode,wve)
110c
111      ENDDO !-wve
112      ENDDO !-IRH
113c
114      WRITE(10+mode,20)'RH', (RH_tab(IRH),IRH=1,nbre_rh)
115      WRITE(10+mode,10)"growth factor",(growth(IRH,mode),IRH=1,nbre_rh)
116      WRITE(10+mode,10)"density factor",
117     .            (rhod(IRH,mode)/rhod(1,mode),IRH=1,nbre_rh)
118      WRITE(10+mode,10)'rho @ RH', (rhod(IRH,mode),IRH=1,nbre_rh)
119c
120      ENDDO
121
12210    FORMAT(A14, F6.3,11(',',F6.3))
12320    FORMAT(A14, F6.1,11(',',F6.1))
12463    FORMAT(F10.6,E13.6)
125 
126      CLOSE(11)
127      CLOSE(12)
128      CLOSE(13)
129
130      CLOSE(21)
131      CLOSE(22)
132      CLOSE(23)
133c
134      END
Note: See TracBrowser for help on using the repository browser.