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 |