1 |
jscott |
1.1 |
|
2 |
|
|
#include "ctrparam.h" |
3 |
|
|
|
4 |
|
|
! ========================================================== |
5 |
|
|
! |
6 |
|
|
! RTGASES.F: Subroutine for reading monthly-mean tracer mixing |
7 |
|
|
! ratios from climate chemistry run for |
8 |
|
|
! a given year |
9 |
|
|
! This subroutine is called if READGHG.eq.1 |
10 |
|
|
! ---------------------------------------------------------- |
11 |
|
|
! |
12 |
|
|
! |
13 |
|
|
! ---------------------------------------------------------- |
14 |
|
|
! |
15 |
|
|
! Revision History: |
16 |
|
|
! |
17 |
|
|
! When Who What |
18 |
|
|
! ---- ---------- ------- |
19 |
|
|
! 080100 Chien Wang repack based on CliChem3 & add cpp |
20 |
|
|
! |
21 |
|
|
! ========================================================== |
22 |
|
|
|
23 |
|
|
subroutine rtgases(CO2,JMONTH) |
24 |
|
|
|
25 |
|
|
#include "chem_para" |
26 |
|
|
#include "chem_com" |
27 |
|
|
|
28 |
|
|
DIMENSION AMONTH(12),cff11(3) |
29 |
|
|
CHARACTER*4 AMONTH,JMONTH,RMONTH |
30 |
|
|
DATA AMONTH/'JAN','FEB','MAR','APR','MAY','JUNE','JULY','AUG', |
31 |
|
|
* 'SEP','OCT','NOV','DEC'/ |
32 |
|
|
data nread /0/ |
33 |
|
|
data ifirst/1/ |
34 |
|
|
data cff11 /1.04,1.36,2.75/ |
35 |
|
|
|
36 |
|
|
! |
37 |
|
|
#ifdef PREDICTED_GASES |
38 |
|
|
! |
39 |
|
|
c============================ |
40 |
|
|
c Unit here for gases is |
41 |
|
|
c 10^-9 kg(c)/kg(air), or ppb(m): |
42 |
|
|
c |
43 |
|
|
! if(CO2.le.0.0.or.CO2.gt.2.5)then |
44 |
|
|
! print *,' rtgases CO2=',CO2 |
45 |
|
|
! stop |
46 |
|
|
! endif |
47 |
|
|
! 100 continue |
48 |
|
|
if(nread.eq.0)then |
49 |
|
|
read(569),aexp1,iy1 |
50 |
|
|
read(669),aexp2,iy2 |
51 |
|
|
if(abs(aexp1-aexp2).gt.0.1)then |
52 |
|
|
print *,'Wrong montly files' |
53 |
|
|
print *,'aexp1=',aexp1,' aexp2=',aexp2 |
54 |
|
|
stop |
55 |
|
|
else |
56 |
|
|
if(ifirst.eq.1)then |
57 |
|
|
print *,' Run with GHGs concentrations for ' |
58 |
|
|
print *,' year ',iy1,' from run ', aexp1 |
59 |
|
|
ifirst=0 |
60 |
|
|
endif |
61 |
|
|
endif |
62 |
|
|
endif |
63 |
|
|
nread=nread+1 |
64 |
|
|
print *,' nread=',nread |
65 |
|
|
read(569)cfc11 |
66 |
|
|
read(569)cfc12 |
67 |
|
|
read(569)xn2o |
68 |
|
|
read(569)o3 |
69 |
|
|
read(569)co |
70 |
|
|
read(569)zco2 |
71 |
|
|
read(569)ho !useless |
72 |
|
|
read(569)xno !useless |
73 |
|
|
read(569)xno !useless |
74 |
|
|
read(569)ch4 |
75 |
|
|
read(569)so2 !useless |
76 |
|
|
read(569)h2so4 |
77 |
|
|
read(569)sviod !optical depth of S(VI) |
78 |
|
|
read(569)bcm |
79 |
|
|
read(569)ocm |
80 |
|
|
read(569)bcodm |
81 |
|
|
read(569)ocodm |
82 |
|
|
|
83 |
|
|
read(669)hfc134a |
84 |
|
|
read(669)pfc |
85 |
|
|
read(669)sf6 |
86 |
|
|
do l=1,nlev |
87 |
|
|
do j=1,nlat |
88 |
|
|
do i=1,nlon |
89 |
|
|
cfc11(i,j,l)=cfc11(i,j,l)+cff11(1)*hfc134a(i,j,l) |
90 |
|
|
& +cff11(2)*pfc(i,j,l)+cff11(3)*sf6(i,j,l) |
91 |
|
|
enddo |
92 |
|
|
enddo |
93 |
|
|
enddo |
94 |
|
|
|
95 |
|
|
|
96 |
|
|
RMONTH=AMONTH(nread) |
97 |
|
|
if(RMONTH.ne.JMONTH)then |
98 |
|
|
print *,' RTGASES NREAD=',nread,' ',RMONTH,JMONTH |
99 |
|
|
stop |
100 |
|
|
endif |
101 |
|
|
if(nread.eq.12)then |
102 |
|
|
rewind (569) |
103 |
|
|
rewind (669) |
104 |
|
|
nread=0 |
105 |
|
|
endif |
106 |
|
|
! do 10 k=1,nlev |
107 |
|
|
! do 10 j=1,nlat |
108 |
|
|
! do 10 i=1,nlon |
109 |
|
|
! zco2(i,j,k)=CO2*zco2(i,j,k) |
110 |
|
|
! 10 continue |
111 |
|
|
|
112 |
|
|
|
113 |
|
|
! |
114 |
|
|
#endif |
115 |
|
|
! |
116 |
|
|
return |
117 |
|
|
end |