1 | module radcommon_h |
---|
2 | |
---|
3 | use radinc_h |
---|
4 | implicit none |
---|
5 | |
---|
6 | !----------------------------------------------------------------------C |
---|
7 | ! |
---|
8 | ! radcommon.h |
---|
9 | ! |
---|
10 | !----------------------------------------------------------------------C |
---|
11 | ! |
---|
12 | ! "Include" grid.h and radinc.h before this file in code that uses |
---|
13 | ! some or all of this common data set |
---|
14 | ! |
---|
15 | ! WNOI - Array of wavenumbers at the spectral interval |
---|
16 | ! centers for the infrared. Array is NSPECTI |
---|
17 | ! elements long. |
---|
18 | ! DWNI - Array of "delta wavenumber", i.e., the width, |
---|
19 | ! in wavenumbers (cm^-1) of each IR spectral |
---|
20 | ! interval. NSPECTI elements long. |
---|
21 | ! WAVEI - Array (NSPECTI elements long) of the wavelenght |
---|
22 | ! (in microns) at the center of each IR spectral |
---|
23 | ! interval. |
---|
24 | ! WNOV - Array of wavenumbers at the spectral interval |
---|
25 | ! center for the VISUAL. Array is NSPECTV |
---|
26 | ! elements long. |
---|
27 | ! DWNV - Array of "delta wavenumber", i.e., the width, |
---|
28 | ! in wavenumbers (cm^-1) of each VISUAL spectral |
---|
29 | ! interval. NSPECTV elements long. |
---|
30 | ! WAVEV - Array (NSPECTV elements long) of the wavelenght |
---|
31 | ! (in microns) at the center of each VISUAL spectral |
---|
32 | ! interval. |
---|
33 | ! STELLARF - Array (NSPECTV elements) of stellar flux (W/M^2) in |
---|
34 | ! each spectral interval. Values are for 1 AU, |
---|
35 | ! scaled to the planetary distance elsewhere. |
---|
36 | ! TAURAY - Array (NSPECTV elements) of the pressure-independent |
---|
37 | ! part of Rayleigh scattering optical depth. |
---|
38 | ! FZEROI - Fraction of zeros in the IR CO2 k-coefficients, for |
---|
39 | ! each temperature, pressure, and spectral interval |
---|
40 | ! FZEROV - Fraction of zeros in the VISUAL CO2 k-coefficients, for |
---|
41 | ! each temperature, pressure, and spectral interval |
---|
42 | ! |
---|
43 | ! AEROSOL RADIATIVE OPTICAL CONSTANTS |
---|
44 | ! |
---|
45 | ! Shortwave |
---|
46 | ! ~~~~~~~~~ |
---|
47 | ! |
---|
48 | ! typically for dust on mars: longrefvis = 0.67E-6 m, as measured by Viking |
---|
49 | ! |
---|
50 | ! For the "naerkind" kind of aerosol radiative properties : |
---|
51 | ! QVISsQREF : Qext / Qext("longrefvis") |
---|
52 | ! omegavis : single scattering albedo |
---|
53 | ! gvis : assymetry factor |
---|
54 | ! |
---|
55 | ! Longwave |
---|
56 | ! ~~~~~~~~ |
---|
57 | ! |
---|
58 | ! For the "naerkind" kind of aerosol radiative properties : |
---|
59 | ! QIRsQREF : Qext / Qext("longrefvis") |
---|
60 | ! omegaIR : mean single scattering albedo |
---|
61 | ! gIR : mean assymetry factor |
---|
62 | |
---|
63 | |
---|
64 | character(len=3) :: gastype(3) |
---|
65 | |
---|
66 | REAL*8 BWNI(L_NSPECTI+1), WNOI(L_NSPECTI), DWNI(L_NSPECTI), WAVEI(L_NSPECTI) |
---|
67 | REAL*8 BWNV(L_NSPECTV+1), WNOV(L_NSPECTV), DWNV(L_NSPECTV), WAVEV(L_NSPECTV) |
---|
68 | REAL*8 STELLARF(L_NSPECTV), TAURAY(L_NSPECTV) |
---|
69 | |
---|
70 | REAL*8 blami(L_NSPECTI+1) |
---|
71 | REAL*8 blamv(L_NSPECTV+1) ! these are needed by suaer.F90 |
---|
72 | |
---|
73 | real*8 gasi(L_NTREF,L_PINT,L_REFVAR,L_NSPECTI,L_NGAUSS) |
---|
74 | real*8 gasv(L_NTREF,L_PINT,L_REFVAR,L_NSPECTV,L_NGAUSS) |
---|
75 | real*8 FZEROI(L_NSPECTI) |
---|
76 | real*8 FZEROV(L_NSPECTV) |
---|
77 | real*8 PGASREF(L_NPREF), TGASREF(L_NTREF) |
---|
78 | real*8 pgasmin, pgasmax |
---|
79 | real*8 tgasmin, tgasmax |
---|
80 | |
---|
81 | real QVISsQREF(L_NSPECTV,naerkind,nsizemax) |
---|
82 | real omegavis(L_NSPECTV,naerkind,nsizemax) |
---|
83 | real gvis(L_NSPECTV,naerkind,nsizemax) |
---|
84 | real QIRsQREF(L_NSPECTI,naerkind,nsizemax) |
---|
85 | real omegair(L_NSPECTI,naerkind,nsizemax) |
---|
86 | real gir(L_NSPECTI,naerkind,nsizemax) |
---|
87 | |
---|
88 | real*8 WREFVAR(L_REFVAR) |
---|
89 | |
---|
90 | ! Reference wavelengths used to compute reference optical depth (m) |
---|
91 | ! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
---|
92 | |
---|
93 | REAL lamrefir(naerkind),lamrefvis(naerkind) |
---|
94 | |
---|
95 | ! Actual number of grain size classes in each domain for a |
---|
96 | ! given aerosol: |
---|
97 | |
---|
98 | INTEGER :: nsize(naerkind,2) |
---|
99 | |
---|
100 | ! Particle size axis (depend on the kind of aerosol and the |
---|
101 | ! radiation domain) |
---|
102 | |
---|
103 | DOUBLE PRECISION :: radiustab(naerkind,2,nsizemax) |
---|
104 | |
---|
105 | ! Extinction coefficient at reference wavelengths; |
---|
106 | ! These wavelengths are defined in aeroptproperties, and called |
---|
107 | ! longrefvis and longrefir. |
---|
108 | |
---|
109 | REAL :: QREFvis(naerkind,nsizemax) |
---|
110 | REAL :: QREFir(naerkind,nsizemax) |
---|
111 | REAL :: omegaREFvis(naerkind,nsizemax) |
---|
112 | REAL :: omegaREFir(naerkind,nsizemax) |
---|
113 | |
---|
114 | REAL tstellar ! Stellar brightness temperature (SW) |
---|
115 | |
---|
116 | real*8 planckir(L_NSPECTI,NTstop-NTstar+1) |
---|
117 | |
---|
118 | real*8 PTOP, TAUREF(L_LEVELS+1) |
---|
119 | real*8 pfgasref(L_PINT) ! finer reference grid for some reason |
---|
120 | |
---|
121 | real*8, parameter :: UBARI = 0.5D0 |
---|
122 | |
---|
123 | real*8 gweight(L_NGAUSS) |
---|
124 | |
---|
125 | ! If the gas optical depth (top to the surface) is less than |
---|
126 | ! this value, we place that Gauss-point into the "zeros" |
---|
127 | ! channel. |
---|
128 | real*8, parameter :: TLIMIT = 1.0D-30 |
---|
129 | |
---|
130 | ! Factor to convert pressures from millibars to Pascals |
---|
131 | real*8, parameter :: SCALEP = 1.00D+2 |
---|
132 | |
---|
133 | real*8, parameter :: sigma = 5.67032e-8 |
---|
134 | |
---|
135 | real*8 Cmk |
---|
136 | save Cmk |
---|
137 | |
---|
138 | |
---|
139 | end module radcommon_h |
---|