/[MITgcm]/MITgcm_contrib/jscott/igsm/src/trends_igsm.F
ViewVC logotype

Annotation of /MITgcm_contrib/jscott/igsm/src/trends_igsm.F

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.1 - (hide annotations) (download)
Fri Aug 11 19:35:33 2006 UTC (18 years, 11 months ago) by jscott
Branch: MAIN
CVS Tags: HEAD
atm2d package

1 jscott 1.1
2     #include "ctrparam.h"
3    
4     SUBROUTINE GTREND(XGAS,YEART,NGAS) 9155.9
5     C 9156.
6     C-----------------------------------------------------------------------9156.1
7     C T-GAS SCENARIO G: 9156.2
8     C 9156.3
9     C 9156.4
10     C CO2: 9156.5
11     C 0.01/YR INCREASE form 1977 9156.6
12     C 9156.7
13     C 9156.8
14     C N2O, CH4 and CFC for 1977
15     C 9156.9
16     C N2O: WEISS FORMULA THRU 1978, 0.035/YR INCREASE 9157.
17     C IN 1978 INCREMENT THRU 1990, 0.025/YR 9157.1
18     C THRU 2000, 0.015/YR THRU 2010, 0.005/YR 9157.2
19     C INCREASE IN INCREMENT BEYOND 2010 9157.3
20     C 9157.4
21     C CH4: OBSERVED RATES THRU 1980, 9157.5
22     C 0.015/YR INCREASE THRU 1990, 0.010/YR 9157.6
23     C INCREASE THRU 2000, 0.005/YR BEYOND 2000 9157.7
24     C 9157.8
25     C CFC: OBSERVED CONCENTRATION THRU 1984, 9157.9
26     C 0.03 EMISSION RATE INCREASE TO 1990, 9158.
27     C 0.02 EMISSION RATE INCREASE TO 2000, 9158.1
28     C 0.01 EMISSION RATE INCREASE TO 2010, 9158.2
29     C CONSTANT EMISSION RATE BEYOND 2010 9158.3
30     C 9158.4
31     C-----------------------------------------------------------------------9158.5
32     C 9158.6
33     DIMENSION XGAS(5) 9158.7
34     DIMENSION XXF11(45),XXF12(45),XXCO2(27) 9158.8
35     COMMON/CO2TRND/ALFFOR,CO2TR,YEARGT,CO2IN,INYRAD
36     common/ BACKGRGHG/GHGBGR(5)
37     save
38     data ifirst /0/
39     DATA XXF11/ 9158.9
40     10.00001,0.00001,0.00001,0.00001,0.00001,0.00004,0.00010,0.00023, 9159.
41     20.00041,0.00066,0.00100,0.00148,0.00215,0.00297,0.00397,0.00523, 9159.1
42     30.00662,0.00791,0.00921,0.01093,0.01316,0.01596,0.01939,0.02345, 9159.2
43     40.02807,0.03321,0.03904,0.04569,0.05343,0.06224,0.07186,0.08267, 9159.3
44     50.09505,0.10867,0.12174,0.13422,0.14665,0.15820,0.16871,0.17841, 9159.4
45     60.18919,0.19983,0.21032,0.22068,0.23090/ 9159.5
46     DATA XXF12/ 9159.6
47     10.00001,0.00001,0.00001,0.00040,0.00112,0.00198,0.00298,0.00411, 9159.7
48     20.00539,0.00679,0.00836,0.00998,0.01181,0.01387,0.01619,0.01888, 9159.8
49     30.02195,0.02513,0.02868,0.03292,0.03766,0.04312,0.04954,0.05702, 9159.9
50     40.06546,0.07485,0.08545,0.09756,0.11130,0.12634,0.14250,0.16011, 9160.
51     50.17962,0.20082,0.22144,0.24105,0.25951,0.27630,0.29247,0.30831, 9160.1
52     60.32585,0.34328,0.36059,0.37778,0.39486/ 9160.2
53     DATA XXCO2/ 9160.3
54     1 315.00, 315.69, 316.66, 317.27, 318.24, 318.93, 319.33, 319.95, 9160.4
55     2 320.80, 321.44, 322.25, 323.44, 324.82, 326.01, 326.97, 328.86, 9160.5
56     3 330.35, 330.71, 331.69, 332.83, 334.58, 335.95, 337.65, 339.04, 9160.6
57     4 340.01, 341.56, 343.81/ 9160.7
58     C 9160.8
59     if (ifirst.eq.0)then
60     if(ALFFOR.gt.0.0)then
61     CO2IN=GHGBGR(1)
62     endif
63     print *,' gtrend.f',100*ALFFOR,'% per year from',CO2IN
64     print *,'N2O, CH4 and CFCs '
65     print '(4e10.5)',(GHGBGR(ii),ii=2,5)
66     c ifirst=1
67     endif
68     YEAR=YEART
69     DT=YEAR-INYRAD
70     XX0=CO2IN
71     XX=XX0*(1.+ALFFOR)**DT
72     XGAS(1)=XX 9182.3
73     CO2TR=XGAS(1)
74     do ii=2,5
75     XGAS(ii)=GHGBGR(ii)
76     enddo
77     if (ifirst.eq.0)then
78     print *,'From GTREND'
79     print '(5e12.4)',(XGAS(ii),ii=1,5)
80     ifirst=1
81     endif
82     RETURN 9182.5
83     END 9182.6
84     ! ----------------------------------------------------------
85    
86     subroutine bmtrnd(XGASS,YEAR,NGAS)
87     parameter (nyd=2000,nyd1=nyd+1)
88     C
89     C
90     C For simulations with observed forcing using equivalent
91     C CO2 concentrations from file co2_data
92     C Concentrations of other GHGs are
93     c those for 1958.
94     C DATA are annual means, but they are
95     C used as a data for the middle of the coresponding year
96     C
97     C
98     real XGASS(NGAS)
99     dimension XG1958(5), xf11(nyd),xf12(nyd),xco2(nyd),xn2o(nyd),
100     *xch4(nyd),ighgyr(nyd)
101     real xxf11(nyd1),xxf12(nyd1),xxco2(nyd1),xxn2o(nyd1),xxch4(nyd1)
102     common/boxmod/YEAR0
103     common /bmtrdata/co2_data
104     common/ BACKGRGHG/GHGBGR(5)
105     character * 64 co2_data
106     logical first
107     data first /.true./
108     data ncall /1/
109     if(first)then
110     print *,' BMTREND for observed forcing'
111     open (unit=561,file=co2_data,
112     * status='OLD',form='formatted')
113     do 50 i=1,nyd
114     c read (561,501,end=500),ighgyr(i),tmp,xco2(i)
115     read (561,*,end=500),ighgyr(i),xco2(i)
116     50 continue
117     500 continue
118     close (561)
119     do ii=1,5
120     XG1958(ii)=GHGBGR(ii)
121     enddo
122     ny=i-2
123     ny1=ny+1
124     ny2=ny+2
125     YEAR0=ighgyr(1)-1
126     print *,'From FORSET'
127     print *,' year=',year
128     print *,'YEAR0=',YEAR0
129     501 format(i4,2f8.2)
130     c xxco2(1)=XG1958(1)
131     xxco2(1)=2.*xco2(1)-xco2(2)
132     xxn2o(1)=XG1958(2)
133     xxch4(1)=XG1958(3)
134     xxf11(1)=XG1958(4)*1000.
135     xxf12(1)=XG1958(5)*1000.
136     do 10 i=1,ny1
137     xxco2(i+1)=xco2(i)
138     10 continue
139     first=.false.
140     endif
141     if(ncall.eq.2)then
142     print *,'BMTRND from FORGET'
143     print *,' year=',year
144     print *,'YEAR0=',YEAR0
145     endif
146     call ghgint(xx,xxco2,ny2,YEAR)
147     XGASS(1)=xx
148     XGASS(2)=XG1958(2)
149     XGASS(3)=XG1958(3)
150     XGASS(4)=XG1958(4)*1000.
151     XGASS(5)=XG1958(5)*1000.
152     if(ncall.lt.3)ncall=ncall+1
153     return
154     end
155    
156     subroutine ghgint(xx,xxf,ny,year)
157     common/boxmod/YEAR0
158     real xxf(ny)
159     i=year+0.5
160     dl=year+.5-i
161     i=i-YEAR0
162     if(i.lt.1.or.i.ge.ny)then
163     print *,' error in ghgint i=',i
164     stop 25
165     endif
166     c print *,'YEAR=',YEAR
167     xx=xxf(i)*(1.-dl)+xxf(i+1)*dl
168     c print *,i,dl,xxf(i),xxf(i+1),xx
169     return
170     end
171     subroutine bmtrndmg(XGASS,YEAR,NGAS)
172     parameter (nyd=2000,nyd1=nyd+1)
173     c
174     c Multi-gas version of box-model trend routine
175     c - added 22 Aug 2002 - ceforest
176     C - greenhouse gas concentrations taken from GISS dataset on web
177     c - CFC-11 includes other long-lived gases
178     C
179     C For simulations with observed forcing using equivalent
180     C CO2 concentrations from file co2_data
181     C Concentrations of other GHGs are
182     c those for 1958.
183     C DATA are annual means, but they are
184     C used as a data for the middle of the coresponding year
185     C
186     C
187     real XGASS(NGAS)
188     dimension xf11(nyd),xf12(nyd),xco2(nyd),xn2o(nyd),
189     *xch4(nyd),ighgyr(nyd)
190     real xxf11(nyd1),xxf12(nyd1),xxco2(nyd1),xxn2o(nyd1),xxch4(nyd1)
191     common/boxmod/YEAR0
192     common /bmtrdata/co2_data
193     common/ BACKGRGHG/GHGBGR(5)
194     character * 64 co2_data
195     logical first
196     data first /.true./
197     data ncall /1/
198     if(first)then
199     print *,' BMTRENDMG for observed forcing'
200     open (unit=561,file=co2_data,
201     * status='OLD',form='formatted')
202     do 50 i=1,nyd
203     c read (561,501,end=500),ighgyr(i),tmp,xco2(i)
204     c f11 includes other long-lived gases
205     read (561,*,end=500),ighgyr(i),xco2(i),xn2o(i),
206     * xch4(i), xf11(i),xf12(i)
207     50 continue
208     500 continue
209     close (561)
210     do ii=1,3
211     XGASS(ii)=GHGBGR(ii)
212     enddo
213     do ii=4,5
214     XGASS(ii)=GHGBGR(ii)*1000.
215     enddo
216     ! CFC11 and CFC12 are converted in ppb
217     ny=i-2
218     ny1=ny+1
219     ny2=ny+2
220     YEAR0=ighgyr(1)-1
221     print *,'From FORSET'
222     print *,' TREF=',YEAR
223     print *,' XREF'
224     print *,XGASS
225     print *,' year=',year
226     print *,' ghgdata for ',ny,' years from ', ighgyr(1), ' to '
227     & , ighgyr(ny)
228     501 format(i4,2f8.2)
229     xxco2(1)=2.*xco2(1)-xco2(2)
230     xxn2o(1)=2.*xn2o(1)-xn2o(2)
231     xxch4(1)=2.*xch4(1)-xch4(2)
232     xxf11(1)=(2.*xf11(1)-xf11(2))*1000.
233     xxf12(1)=(2.*xf12(1)-xf12(2))*1000.
234     do 10 i=1,ny1
235     xxco2(i+1)=xco2(i)
236     xxn2o(i+1)=xn2o(i)
237     xxch4(i+1)=xch4(i)
238     xxf11(i+1)=xf11(i)*1000.
239     xxf12(i+1)=xf12(i)*1000.
240     10 continue
241     first=.false.
242     return
243     endif
244     call ghgint(xx,xxco2,ny2,YEAR)
245     XGASS(1)=xx
246     call ghgint(xx,xxn2o,ny2,YEAR)
247     XGASS(2)=xx
248     call ghgint(xx,xxch4,ny2,YEAR)
249     XGASS(3)=xx
250     call ghgint(xx,xxf11,ny2,YEAR)
251     XGASS(4)=xx
252     call ghgint(xx,xxf12,ny2,YEAR)
253     XGASS(5)=xx
254     if(ncall.eq.2)then
255     print *,'BMTRND from FORGET'
256     print *,' year=',year
257     print *,'YEAR0=',YEAR0
258     print *,' XGASS'
259     print *,XGASS
260     endif
261     if(ncall.lt.3)ncall=ncall+1
262     return
263     end

  ViewVC Help
Powered by ViewVC 1.1.22