1 |
|
C $Header$ |
2 |
|
C $Name$ |
3 |
|
|
4 |
#include "ctrparam.h" |
#include "ctrparam.h" |
5 |
|
|
43 |
#include "DRIVER.h" |
#include "DRIVER.h" |
44 |
|
|
45 |
#if ( defined OCEAN_3D ) |
#if ( defined OCEAN_3D ) |
46 |
#include "AGRID.COM" |
#include "AGRID.h" |
47 |
#endif |
#endif |
48 |
|
|
49 |
#if ( defined CPL_TEM ) |
cjrs done in driver.h #if ( defined CPL_TEM ) |
50 |
#include "TEM.COM" |
cjrs#include "TEM.h" |
51 |
#endif |
cjrs#endif |
52 |
! |
! |
53 |
! === Chien Wang 062904 |
! === Chien Wang 062904 |
54 |
! |
! |
79 |
character *120 file1,file2,plotfl,nwrfl |
character *120 file1,file2,plotfl,nwrfl |
80 |
character * 120 t3file,tsfile,zmfile,qffile,clfile,wrcldf |
character * 120 t3file,tsfile,zmfile,qffile,clfile,wrcldf |
81 |
& ,ochemfile,deepco2in |
& ,ochemfile,deepco2in |
82 |
& ,oco2file,co2rfile,caruptfile,flrco2av |
cjrs DRIVER.h caruptfile & ,oco2file,co2rfile,caruptfile,flrco2av |
83 |
|
& ,oco2file,co2rfile,flrco2av |
84 |
& ,ghg_monthly,ghg_monthly2,co2_data,o3_data |
& ,ghg_monthly,ghg_monthly2,co2_data,o3_data |
85 |
& ,bgrghg_data |
& ,bgrghg_data |
86 |
character * 120 sulf1986,sulf2050,sulfamp,SO2_EM, |
character * 120 sulf1986,sulf2050,sulfamp,SO2_EM, |
87 |
& S0C_data, |
& S0C_data, |
88 |
& dirdat1,dirdat2 |
& dirdat1,dirdat2 |
89 |
& ,bc_data |
& ,bc_data |
90 |
character * 120 chemdata,chemout,last_nep,init_4nem,pov_deepo |
character * 120 chemdata,chemout,init_4nem,pov_deepo |
91 |
|
cjrs DRIVER.h last_nep character * 120 chemdata,chemout,last_nep,init_4nem,pov_deepo |
92 |
& ,flin_nep,last_clm,emiss_data,SO2ERATIO,SEN_dat |
& ,flin_nep,last_clm,emiss_data,SO2ERATIO,SEN_dat |
93 |
& ,fl_init_alkt,fl_init_salt,fnememiss, |
cjrs DRIVER.h fnememiss & ,fl_init_alkt,fl_init_salt,fl_dic_eq,fnememiss, |
94 |
& chem_init,chem_init2,chemrstfl |
& ,fl_init_alkt,fl_init_salt,fl_dic_eq, |
95 |
|
& chem_init,chem_init2,chem_init4pfc,chemrstfl |
96 |
common/files/file1,file2,plotfl,nwrfl,qffile,clfile,wrcldf |
common/files/file1,file2,plotfl,nwrfl,qffile,clfile,wrcldf |
97 |
*,t3file,tsfile,zmfile,ochemfile,deepco2in |
*,t3file,tsfile,zmfile,ochemfile,deepco2in |
98 |
character * 120 ghostfile |
character * 120 ghostfile |
121 |
* READGHG,wr25,LFR,ISTRT1,PCLOUD,QFCOR,TRANSR,WRCLD,NWRCLD,CONTRR, |
* READGHG,wr25,LFR,ISTRT1,PCLOUD,QFCOR,TRANSR,WRCLD,NWRCLD,CONTRR, |
122 |
* ISTWRC,CLDFEED,OBSFOR,ALFFOR,YEARGT,CO2IN,ISTRTCHEM, |
* ISTWRC,CLDFEED,OBSFOR,ALFFOR,YEARGT,CO2IN,ISTRTCHEM, |
123 |
& LYEAREM, |
& LYEAREM, |
124 |
* AERFOR, |
* AERFOR,AERF4BC, |
125 |
* S0RATE,CFS0X, |
* S0RATE,CFS0X, |
126 |
* CFAEROSOL,CFBC, |
* CFAEROSOL,CFBC, |
127 |
& cfocdif,rkv,diffcar0, |
& cfocdif,rkv,diffcar0,ocarcont,ocarindata, |
128 |
! Kvc=diffcar0+cfocdif*Kvh |
! Kvc=diffcar0+cfocdif*Kvh |
129 |
* file1,file2,plotfl,nwrfl,qffile,clfile,wrcldf,clmsen,cfdif0, |
* file1,file2,plotfl,nwrfl,qffile,clfile,wrcldf,clmsen,cfdif0, |
130 |
* t3file,tsfile,zmfile,ochemfile,deepco2in, |
* t3file,tsfile,zmfile,ochemfile,deepco2in, |
131 |
& fl_init_alkt,fl_init_salt, |
& fl_init_alkt,fl_init_salt,fl_dic_eq, |
132 |
* ghg_monthly,ghg_monthly2,co2_data,o3_data, |
* ghg_monthly,ghg_monthly2,co2_data,o3_data, |
133 |
& bgrghg_data, |
& bgrghg_data, |
134 |
* sulf1986,sulf2050,sulfamp,SO2_EM, |
* sulf1986,sulf2050,sulfamp,SO2_EM, |
135 |
& S0C_data,cfvolaer, |
& S0C_data,cfvolaer, |
136 |
& dirdat1,dirdat2 |
& dirdat1,dirdat2 |
137 |
& ,chemdata,chemout,last_nep,init_4nem,pov_deepo,fnememiss |
& ,chemdata,chemout,last_nep,init_4nem,pov_deepo,fnememiss |
138 |
& ,chem_init,chem_init2,chemrstfl |
& ,chem_init,chem_init2,chem_init4pfc,chemrstfl |
139 |
& ,oco2file,co2rfile,caruptfile,emiss_data,SO2ERATIO,flrco2av |
& ,oco2file,co2rfile,caruptfile,emiss_data,SO2ERATIO,flrco2av |
140 |
& ,flin_nep,last_clm,SEN_dat,nemdatdir |
& ,flin_nep,last_clm,SEN_dat,nemdatdir |
141 |
& ,GHSFALB,GHSF,ALBCF,FVOLADD,ghostfile,fl_volaer |
& ,GHSFALB,GHSF,ALBCF,FVOLADD,ghostfile,fl_volaer |
144 |
& ,fclmlice,fbaresoil,fwmax,fprratio,o3datadir,CLIMO3 |
& ,fclmlice,fbaresoil,fwmax,fprratio,o3datadir,CLIMO3 |
145 |
& ,OCNGEOM,ocngmfile,ocndata4atm |
& ,OCNGEOM,ocngmfile,ocndata4atm |
146 |
& ,bc_data |
& ,bc_data |
147 |
|
& ,PRTREND |
148 |
Cjrs & ,dtatm,dtocn |
Cjrs & ,dtatm,dtocn |
149 |
#if ( defined IPCC_EMI ) |
#if ( defined IPCC_EMI ) |
150 |
& ,init_co2 |
& ,init_co2 |
154 |
character * 120 vegfile |
character * 120 vegfile |
155 |
& ,fclmlice,fbaresoil,fwmax,fprratio,o3datadir |
& ,fclmlice,fbaresoil,fwmax,fprratio,o3datadir |
156 |
common/wrcom/wr25,TRANSR,CONTRR,OBSFOR |
common/wrcom/wr25,TRANSR,CONTRR,OBSFOR |
157 |
c jrs common/TIMESTEPS/dtatm,dtocn |
c jrs common/TIMESTEPS/dtatm,dtocn |
158 |
LOGICAL LFR,NLFR,wr25,TRANSR,WRCLD,CONTRR,CLDFEED,OBSFOR |
LOGICAL LFR,NLFR,wr25,TRANSR,WRCLD,CONTRR,CLDFEED,OBSFOR |
159 |
&,GHSF,VEGCH,TRVEG,GSOEQ,OCNGEOM,GHSFALB,STRARFOR,CO2FOR |
&,GHSF,VEGCH,TRVEG,GSOEQ,OCNGEOM,GHSFALB,STRARFOR,CO2FOR |
160 |
& ,FORSULF,FORBC,S0FOR,FORVOL |
& ,FORSULF,FORBC,S0FOR,FORVOL |
177 |
common/atmos_lo/fland_atm(jm0) !jrs not sure this does anything |
common/atmos_lo/fland_atm(jm0) !jrs not sure this does anything |
178 |
|
|
179 |
#if ( defined CLM ) |
#if ( defined CLM ) |
180 |
#include "CLM.COM" |
cjrs alreadyin DRIVER.h#include "CLM.COM" |
181 |
dimension clmlice(jm0),baresoil(jm0), |
dimension clmlice(jm0),baresoil(jm0), |
182 |
& w1maxclm(jm0),w2maxclm(jm0),vmaskclm(jm0) |
& w1maxclm(jm0),w2maxclm(jm0),vmaskclm(jm0) |
183 |
character * 120 lineclm |
character * 120 lineclm |
184 |
#endif |
#endif |
185 |
#if ( defined CPL_OCEANCO2 && defined ML_2D ) |
#if ( defined CPL_OCEANCO2 && defined ML_2D ) |
186 |
common/Garyclim/tggary(jm0),wsgary(jm0),areaml(jm0),arsrf(jm0) |
common/Garyclim/tggary(jm0),wsgary(jm0),areaml(jm0),arsrf(jm0) |
187 |
|
! common/Garydiff/depthml(jm0),edzon(jm0,lmo),dzg(lmo),dzog(lmo-1), |
188 |
|
! &Rco2(jm0,lmo),edohd(lmo),zg(lmo),focean(jm0) |
189 |
common/Garydiff/depthml(jm0),edzon(jm0),dzg(lmo),dzog(lmo-1), |
common/Garydiff/depthml(jm0),edzon(jm0),dzg(lmo),dzog(lmo-1), |
190 |
&Rco2(jm0,lmo),edohd(lmo),zg(lmo),focean(jm0) |
&Rco2(jm0,lmo),edohd(lmo),zg(lmo),focean(jm0) |
191 |
common /Garychem/Hg(jm0) |
common /Garychem/Hg(jm0) |
192 |
common /Garyvdif/iyearocm,vdfocm,acvdfc,cfocdif,diffcar0 |
common /Garyvdif/iyearocm,vdfocm,acvdfc,cfocdif,diffcar0 |
193 |
|
common /Garyvlog/odifcarbon,ocarcont |
194 |
real Rco2in(jm0,lmo),Hgin(jm0) |
real Rco2in(jm0,lmo),Hgin(jm0) |
195 |
|
logical odifcarbon,ocarcont,ocarindata |
196 |
#endif |
#endif |
197 |
|
|
198 |
#if (!defined PREDICTED_GASES) |
#if (!defined PREDICTED_GASES) |
202 |
#endif |
#endif |
203 |
|
|
204 |
integer PCLOUD |
integer PCLOUD |
205 |
common/TSUR/TSURFC(JM0,0:13),TSURFT(JM0),TSURFD(JM0),DTSURF(JM0) |
! common/TSUR/TSURFC(JM0,0:13),TLANDD(JM0),TSURFD(JM0),DTSURF(JM0) |
206 |
|
! common/TSLD/TLANDC(JM0,0:13),TLANDT(JM0),TLANDD(JM0),DTLAND(JM0) |
207 |
|
#include "TSRF.COM" |
208 |
DATA DISK/'DISK'/,ANDEND/' &END '/ 1520. |
DATA DISK/'DISK'/,ANDEND/' &END '/ 1520. |
209 |
DATA IDAYS0/0,1,32,60,91,121,152,182,213,244,274,305,335/ 1521. |
DATA IDAYS0/0,1,32,60,91,121,152,182,213,244,274,305,335/ 1521. |
210 |
DATA NAMD60/'AUSD','MWST','SAHL','EPAC'/ 1522. |
DATA NAMD60/'AUSD','MWST','SAHL','EPAC'/ 1522. |
279 |
GSOEQ=.false. |
GSOEQ=.false. |
280 |
VEGCH=.false. |
VEGCH=.false. |
281 |
TRVEG=.false. |
TRVEG=.false. |
282 |
|
PRTREND=.false. |
283 |
OCNGEOM=.false. |
OCNGEOM=.false. |
284 |
do L=1,LM+1 |
do L=1,LM+1 |
285 |
ghostfv(L)=0. |
ghostfv(L)=0. |
290 |
cfocdif=0.42 |
cfocdif=0.42 |
291 |
cfocdif=1.375 |
cfocdif=1.375 |
292 |
cfocdif=0.6 |
cfocdif=0.6 |
293 |
|
cfocdif=3.0 |
294 |
diffcar0=2.85 |
diffcar0=2.85 |
295 |
|
diffcar0=1.00 |
296 |
cc ALFA = 8.0*1.e3 |
cc ALFA = 8.0*1.e3 |
297 |
|
AERF4BC=-0.35 |
298 |
TRANSR=.false. |
TRANSR=.false. |
299 |
WRCLD=.FALSE. |
WRCLD=.FALSE. |
300 |
clfile = 'undefined' |
clfile = 'undefined' |
317 |
ISTWRC=0 |
ISTWRC=0 |
318 |
QFCOR=.FALSE. |
QFCOR=.FALSE. |
319 |
READGHG=0. |
READGHG=0. |
320 |
C dtatm=1 |
cjrs dtatm=1 |
321 |
C dtocn=1 |
cjrs dtocn=1 |
322 |
ghg_monthly = 'undefined' |
ghg_monthly = 'undefined' |
323 |
ghg_monthly2 = 'undefined' |
ghg_monthly2 = 'undefined' |
324 |
co2_data = 'undefined' |
co2_data = 'undefined' |
330 |
deepco2in = 'undefined' |
deepco2in = 'undefined' |
331 |
fl_init_alkt = 'undefined' |
fl_init_alkt = 'undefined' |
332 |
fl_init_salt = 'undefined' |
fl_init_salt = 'undefined' |
333 |
|
fl_dic_eq = 'undefined' |
334 |
|
ocarcont=.true. |
335 |
|
ocarindata=.false. |
336 |
vegfile = 'undefined' |
vegfile = 'undefined' |
337 |
fclmlice = 'undefined' |
fclmlice = 'undefined' |
338 |
fprratio = 'undefined' |
fprratio = 'undefined' |
351 |
chemdata = 'DATA' |
chemdata = 'DATA' |
352 |
chem_init = 'init-data_46x11_1991' |
chem_init = 'init-data_46x11_1991' |
353 |
chem_init2 = 'init-data2_46x11_1991' |
chem_init2 = 'init-data2_46x11_1991' |
354 |
|
chem_init4pfc = 'undefined' |
355 |
chemrstfl = 'undefined' |
chemrstfl = 'undefined' |
356 |
nemdatdir = 'TEMDATA' |
nemdatdir = 'TEMDATA' |
357 |
emiss_data='edaily.dat' |
emiss_data='edaily.dat' |
474 |
IF(RECORD(1).NE.ANDEND) GO TO 60 1603. |
IF(RECORD(1).NE.ANDEND) GO TO 60 1603. |
475 |
rewind 514 |
rewind 514 |
476 |
read (UNIT=514,NML=INPUTZ) |
read (UNIT=514,NML=INPUTZ) |
477 |
REWIND 514 1606. |
REWIND 514 1606. |
478 |
C JRS ignore name.dat values, start Jan 1. with couple.nml years |
C JRS ignore name.dat values, start Jan 1. with couple.nml years |
479 |
inyear = startYear |
inyear = startYear |
480 |
lyear = endYear +1 |
lyear = endYear +1 |
482 |
IMONTH = 1 |
IMONTH = 1 |
483 |
LDAY = 1 |
LDAY = 1 |
484 |
LMONTH = 1 |
LMONTH = 1 |
|
|
|
485 |
Cjrs dtatmo=dtatm |
Cjrs dtatmo=dtatm |
486 |
C dtocno=dtocn |
cjrs dtocno=dtocn |
487 |
cb open statments |
cb open statments |
488 |
c |
c |
489 |
c File which depend on resolution |
c File which depend on resolution |
535 |
endif |
endif |
536 |
#if ( !defined CPL_CHEM ) |
#if ( !defined CPL_CHEM ) |
537 |
#if ( defined PREDICTED_BC) |
#if ( defined PREDICTED_BC) |
538 |
|
if(READGHG.eq.0)then |
539 |
|
! data for BC only |
540 |
print *,'Data for black carbon' |
print *,'Data for black carbon' |
541 |
open(769,file=bc_data, |
open(769,file=bc_data, |
542 |
& status='old',form='unformatted') |
& status='old',form='unformatted') |
543 |
|
endif |
544 |
#endif |
#endif |
545 |
#endif |
#endif |
546 |
|
|
564 |
c open file for carbon uptake |
c open file for carbon uptake |
565 |
#if ( defined CPL_TEM || defined CPL_OCEANCO2 ) |
#if ( defined CPL_TEM || defined CPL_OCEANCO2 ) |
566 |
c open(333,file=caruptfile,status='new',form='formatted') |
c open(333,file=caruptfile,status='new',form='formatted') |
567 |
open(333,file=caruptfile,form='formatted') |
open(333,file=caruptfile,status='replace',form='formatted') |
568 |
|
close(333) |
569 |
#endif |
#endif |
570 |
|
|
571 |
#if ( defined CPL_OCEANCO2 && defined ML_2D) |
#if ( defined CPL_OCEANCO2 && defined ML_2D) |
573 |
& form='unformatted',status='old') |
& form='unformatted',status='old') |
574 |
open(669,file=fl_init_salt, |
open(669,file=fl_init_salt, |
575 |
& form='unformatted',status='old') |
& form='unformatted',status='old') |
576 |
|
! open(670,file=fl_dic_eq, |
577 |
|
! & form='unformatted',status='old') |
578 |
open(602,file=flrco2av,status='new',form='unformatted') |
open(602,file=flrco2av,status='new',form='unformatted') |
579 |
#endif |
#endif |
580 |
|
|
581 |
ce open statments |
ce open statments |
|
!#if ( defined CPL_CHEM ) |
|
|
! YEARGT=1977. |
|
|
!#endif |
|
|
! if(YEARGT.eq.1860)then |
|
|
! GHGBGR(1)=GHGBGR1860(1) |
|
|
! GHGBGR(2)=GHGBGR1860(2) |
|
|
! GHGBGR(3)=GHGBGR1860(3) |
|
|
! GHGBGR(4)=GHGBGR1860(4) |
|
|
! GHGBGR(5)=GHGBGR1860(5) |
|
|
! else if (YEARGT.eq.1958)then |
|
|
! GHGBGR(1)=GHGBGR1958(1) |
|
|
! GHGBGR(2)=GHGBGR1958(2) |
|
|
! GHGBGR(3)=GHGBGR1958(3) |
|
|
! GHGBGR(4)=GHGBGR1958(4) |
|
|
! GHGBGR(5)=GHGBGR1958(5) |
|
|
! else if (YEARGT.eq.1977)then |
|
|
! GHGBGR(1)=GHGBGR1977(1) |
|
|
! GHGBGR(2)=GHGBGR1977(2) |
|
|
! GHGBGR(3)=GHGBGR1977(3) |
|
|
! GHGBGR(4)=GHGBGR1977(4) |
|
|
! GHGBGR(5)=GHGBGR1977(5) |
|
|
! else if (YEARGT.eq.1980)then |
|
|
! GHGBGR(1)=GHGBGR1980(1) |
|
|
! GHGBGR(2)=GHGBGR1980(2) |
|
|
! GHGBGR(3)=GHGBGR1980(3) |
|
|
! GHGBGR(4)=GHGBGR1980(4) |
|
|
! GHGBGR(5)=GHGBGR1980(5) |
|
|
! else if (YEARGT.eq.1990)then |
|
|
! GHGBGR(1)=GHGBGR1990(1) |
|
|
! GHGBGR(2)=GHGBGR1990(2) |
|
|
! GHGBGR(3)=GHGBGR1990(3) |
|
|
! GHGBGR(4)=GHGBGR1990(4) |
|
|
! GHGBGR(5)=GHGBGR1990(5) |
|
|
! else if (YEARGT.eq.1991)then |
|
|
! GHGBGR(1)=GHGBGR1991(1) |
|
|
! GHGBGR(2)=GHGBGR1991(2) |
|
|
! GHGBGR(3)=GHGBGR1991(3) |
|
|
! GHGBGR(4)=GHGBGR1991(4) |
|
|
! GHGBGR(5)=GHGBGR1991(5) |
|
|
! else if (YEARGT.eq.2000)then |
|
|
! GHGBGR(1)=GHGBGR2000(1) |
|
|
! GHGBGR(2)=GHGBGR2000(2) |
|
|
! GHGBGR(3)=GHGBGR2000(3) |
|
|
! GHGBGR(4)=GHGBGR2000(4) |
|
|
! GHGBGR(5)=GHGBGR2000(5) |
|
|
! else if (YEARGT.eq.1765)then |
|
|
! GHGBGR(1)=GHGBGR1765(1) |
|
|
! if (CO2.le.-20.0) GHGBGR(1)=277.6 |
|
|
! GHGBGR(2)=GHGBGR1765(2) |
|
|
! GHGBGR(3)=GHGBGR1765(3) |
|
|
! GHGBGR(4)=GHGBGR1765(4) |
|
|
! GHGBGR(5)=GHGBGR1765(5) |
|
|
! else if (YEARGT.eq.-1765.)then |
|
|
! GHGBGR(1)=4.*GHGBGR1765(1) |
|
|
! GHGBGR(2)=GHGBGR1765(2) |
|
|
! GHGBGR(3)=GHGBGR1765(3) |
|
|
! GHGBGR(4)=GHGBGR1765(4) |
|
|
! GHGBGR(5)=GHGBGR1765(5) |
|
|
! else |
|
|
! print *,' Wrong YEARGT ', YEARGT |
|
|
! stop |
|
|
! endif |
|
582 |
call bgrghg(YEARGT) |
call bgrghg(YEARGT) |
583 |
#if ( defined IPCC_EMI ) |
#if ( defined IPCC_EMI ) |
584 |
if(YEARGT.eq.1765)then |
! if(YEARGT.eq.1765)then |
585 |
GHGBGR(1)=277.6 |
! GHGBGR(1)=277.6 |
586 |
open (unit=861,file=init_co2, |
open (unit=861,file=init_co2, |
587 |
& status='OLD',form='formatted') |
& status='OLD',form='formatted') |
588 |
read (861,*)xco2init |
read (861,*)xco2init |
589 |
CO2=xco2init/GHGBGR(1) |
CO2=xco2init/GHGBGR(1) |
590 |
print *,'IPCC EMI CO2=',CO2 |
print *,'IPCC EMI CO2=',CO2 |
591 |
else |
! else |
592 |
print *,' Wrong YEARGT ', YEARGT |
! print *,' Wrong YEARGT ', YEARGT |
593 |
stop |
! stop |
594 |
endif |
! endif |
595 |
#endif |
#endif |
596 |
print *,'Background GHGs for year ',YEARGT |
print *,'Background GHGs for year ',YEARGT |
597 |
print '(5E12.4)',GHGBGR |
print '(5E12.4)',GHGBGR |
623 |
else |
else |
624 |
print *,'No diffusion into deep ocean' |
print *,'No diffusion into deep ocean' |
625 |
endif |
endif |
626 |
#if ( defined PREDICTED_AEROSOL ) |
if (PRTREND) then |
627 |
|
print *,' With changes in stochastic precip' |
628 |
|
else |
629 |
|
print *,' Without changes in stochastic precip' |
630 |
|
endif |
631 |
|
!#if ( defined PREDICTED_AEROSOL ) |
632 |
|
#if ( defined CPL_CHEM ) |
633 |
Cold AFBYCF=0.6725 |
Cold AFBYCF=0.6725 |
634 |
Cold SO2EREF=123.57 |
Cold SO2EREF=123.57 |
635 |
Cigsm1AFBYCF=0.6054 |
Cigsm1AFBYCF=0.6054 |
643 |
! CFAEROSOL=(-AERFOR/AFBYCF)**1.035/(SO2ER**1.0391) |
! CFAEROSOL=(-AERFOR/AFBYCF)**1.035/(SO2ER**1.0391) |
644 |
|
|
645 |
|
|
646 |
SO2EREF=149.07 |
SO2EREF=147.375 |
647 |
open(664,file=SO2ERATIO, |
open(664,file=SO2ERATIO, |
648 |
& form='formatted', |
& form='formatted', |
649 |
& status='old') |
& status='old') |
650 |
read(664,'(f10.6)')SO2EM |
read(664,'(f10.6)')SO2EM |
651 |
SO2ER=SO2EM/SO2EREF |
SO2ER=SO2EM/SO2EREF |
652 |
F90BYF80=0.948 |
! F90BYF80=0.948 |
653 |
AERFOR90=AERFOR*F90BYF80 |
! AERFOR90=AERFOR*F90BYF80 |
654 |
AFBYCF90=1.043 |
! AFBYCF90=1.04 |
655 |
|
! print *,'AFBYCF90=',AFBYCF90 |
656 |
|
! 12/21/2006 (from runs 265x.06) |
657 |
|
! Adjustment for BC forcing |
658 |
|
print *,' AERF4BC=',AERF4BC |
659 |
|
AERFOR=AERFOR+AERF4BC |
660 |
|
! Adjustment for BC forcing |
661 |
|
AFBYCF=1.05 |
662 |
print *,'SO2ER=',SO2ER |
print *,'SO2ER=',SO2ER |
663 |
print *,'AFBYCF90=',AFBYCF90 |
print *,'AFBYCF=',AFBYCF |
664 |
CFAEROSOL=(-AERFOR90/AFBYCF90)**1.119 |
CFAEROSOL=(-AERFOR/AFBYCF)**1.21 |
665 |
CFAEROSOL=CFAEROSOL/(SO2ER**1.0391) |
CFAEROSOL=CFAEROSOL/(SO2ER**1.01) |
666 |
print *,'AERFOR90=',AERFOR90,'CFAEROSOL=',CFAEROSOL |
print *,'AERFOR=',AERFOR,'CFAEROSOL=',CFAEROSOL |
667 |
#if ( defined OCEAN_3D ) |
#if ( defined OCEAN_3D ) |
668 |
CFAEROSOL=CFAEROSOL/1.35 |
CFAEROSOL=CFAEROSOL/1.35 |
669 |
print *,'CFAEROSOL_3D=',CFAEROSOL |
print *,'CFAEROSOL_3D=',CFAEROSOL |
734 |
* status='OLD',form='unformatted') |
* status='OLD',form='unformatted') |
735 |
#endif |
#endif |
736 |
#if ( defined CPL_TEM ) |
#if ( defined CPL_TEM ) |
737 |
open (367,file=last_nep,form='unformatted',status='new') |
open (876,file=last_nep,form='unformatted',status='new') |
738 |
open (877,file=last_clm,form='unformatted',status='new') |
open (877,file=last_clm,form='unformatted',status='new') |
739 |
c file last_clm contains data for posible restart of NEM |
c file last_clm contains data for posible restart of NEM |
740 |
c this file is writen at the end of the run |
c this file is writen at the end of the run |
742 |
open (368,file=init_4nem,form='unformatted',status='old') |
open (368,file=init_4nem,form='unformatted',status='old') |
743 |
c file init_4nem contains data for the restart of NEM |
c file init_4nem contains data for the restart of NEM |
744 |
c from the results of a previous run |
c from the results of a previous run |
745 |
open (277,file=fnememiss,form='unformatted',status='new') |
open (277,file=fnememiss,form='unformatted',status='replace') |
746 |
|
close(277) |
747 |
#endif |
#endif |
748 |
#endif |
#endif |
749 |
#if ( defined CPL_OCEANCO2 && defined ML_2D ) |
#if ( defined CPL_OCEANCO2 && defined ML_2D ) |
756 |
open( unit=547,file=nwrfl, |
open( unit=547,file=nwrfl, |
757 |
* status='OLD',form='unformatted') |
* status='OLD',form='unformatted') |
758 |
#if ( defined CPL_TEM ) |
#if ( defined CPL_TEM ) |
759 |
open (367,file=last_nep,form='unformatted',status='old') |
open (876,file=last_nep,form='unformatted',status='old') |
760 |
open (877,file=last_clm,form='unformatted',status='old') |
open (877,file=last_clm,form='unformatted',status='old') |
761 |
#if ( defined CPL_NEM ) |
#if ( defined CPL_NEM ) |
762 |
open (368,file=init_4nem,form='unformatted',status='old') |
open (368,file=init_4nem,form='unformatted',status='old') |
763 |
c file init_4nem contains data for the restart of NEM |
c file init_4nem contains data for the restart of NEM |
764 |
c from the results of a previous run |
c from the results of a previous run |
765 |
open (277,file=fnememiss,form='unformatted',status='new') |
open (277,file=fnememiss,form='unformatted',status='replace') |
766 |
|
close(277) |
767 |
#endif |
#endif |
768 |
#endif |
#endif |
769 |
#if ( defined CPL_OCEANCO2 && defined ML_2D ) |
#if ( defined CPL_OCEANCO2 && defined ML_2D ) |
802 |
READ (KDISK0,ERR=840)AEXPX,TAUX,JC1,C1,RC1,KEYNR,U,V,T,P,Q, |
READ (KDISK0,ERR=840)AEXPX,TAUX,JC1,C1,RC1,KEYNR,U,V,T,P,Q, |
803 |
& ODATA, |
& ODATA, |
804 |
* GDATA,BLDATA,RQT,SRHR,TRHR,(AJ(K,1),K=1,KACC),TAUY,TSSFC,CKS, 1739. |
* GDATA,BLDATA,RQT,SRHR,TRHR,(AJ(K,1),K=1,KACC),TAUY,TSSFC,CKS, 1739. |
805 |
* CKN,WMGE,TPRIM2,MRCHT,TRSURF,SRSURF,TSURFT,TSURFD,DWAV0 |
* CKN,WMGE,TPRIM2,MRCHT,TRSURF,SRSURF,TLANDD,TSURFD,DWAV0 |
806 |
else |
else |
807 |
! READ (KDISK0,ERR=840)AEXPX,TAUX,JC1,C1,RC1,KEYNR,U,V,T,P,Q, |
! READ (KDISK0,ERR=840)AEXPX,TAUX,JC1,C1,RC1,KEYNR,U,V,T,P,Q, |
808 |
READ (KDISK0,ERR=840)AEXPX,TAUX,JC,C,RC,KEYNR,U,V,T,P,Q, |
READ (KDISK0,ERR=840)AEXPX,TAUX,JC,C,RC,KEYNR,U,V,T,P,Q, |
809 |
& ODATA, |
& ODATA, |
810 |
* GDATA,BLDATA,RQT,SRHR,TRHR,(AJ(K,1),K=1,KACC),TAUY,TSSFC,CKS, 1739. |
* GDATA,BLDATA,RQT,SRHR,TRHR,(AJ(K,1),K=1,KACC),TAUY,TSSFC,CKS, 1739. |
811 |
* CKN,WMGE,TPRIM2,MRCHT,TRSURF,SRSURF,TSURFT,TSURFD,DWAV0, |
* CKN,WMGE,TPRIM2,MRCHT,TRSURF,SRSURF,TLANDD,TSURFD,DWAV0, |
812 |
* TG3M,RTGO,STG3,DTG3 |
* TG3M,RTGO,STG3,DTG3 |
813 |
endif |
endif |
814 |
if(.not.CONTRR)then |
if(.not.CONTRR)then |
857 |
#endif |
#endif |
858 |
|
|
859 |
#if ( defined CPL_OCEANCO2 && defined ML_2D ) |
#if ( defined CPL_OCEANCO2 && defined ML_2D ) |
860 |
|
if(ocarcont) then |
861 |
|
if(ocarindata)then |
862 |
|
print *,'Wrong setting of ocarcont and ocarindata' |
863 |
|
print *,ocarcont,ocarindata |
864 |
|
stop |
865 |
|
endif |
866 |
open(116,file=deepco2in, |
open(116,file=deepco2in, |
867 |
* status='old',form='unformatted') |
* status='old',form='unformatted') |
868 |
print *,' AFTER OPEN INIT. data for ocean chem.' |
print *,' AFTER OPEN INIT. data for ocean chem.' |
869 |
print *,deepco2in |
print *,deepco2in |
870 |
read(116)iyearocm,vdfocm |
read(116)iyearocm,vdfocm |
884 |
Rco2(j,k)=Rco2in(j,k) |
Rco2(j,k)=Rco2in(j,k) |
885 |
end do |
end do |
886 |
end do |
end do |
887 |
|
else |
888 |
|
if(ocarindata)then |
889 |
|
print *,' Reading initial data for ocean carbon' |
890 |
|
open(116,file=deepco2in, |
891 |
|
* status='old',form='unformatted') |
892 |
|
read(116) |
893 |
|
read(116)Hgin |
894 |
|
read(116)Rco2in |
895 |
|
print *,(Rco2in(j,1),j=1,jm) |
896 |
|
do k=1,lmo |
897 |
|
do j=1,jm0 |
898 |
|
! if(k.eq.1)Hg(j)=Hgin(j) |
899 |
|
if(k.eq.1)Hg(j)=1.0e-8 |
900 |
|
Rco2(j,k)=Rco2in(j,k) |
901 |
|
end do |
902 |
|
end do |
903 |
|
close(116) |
904 |
|
else |
905 |
|
do k=1,lmo |
906 |
|
do j=1,jm0 |
907 |
|
if(k.eq.1)Hg(j)=1.0e-8 |
908 |
|
Rco2(j,k)=0.0 |
909 |
|
end do |
910 |
|
end do |
911 |
|
endif |
912 |
|
endif |
913 |
#endif |
#endif |
914 |
|
|
915 |
else |
else |
919 |
if(TRANSR)then |
if(TRANSR)then |
920 |
READ (KDISK0,ERR=840)AEXPX,TAUX,JC,C,RC,KEYNR,U,V,T,P,Q,ODATA, 1738. |
READ (KDISK0,ERR=840)AEXPX,TAUX,JC,C,RC,KEYNR,U,V,T,P,Q,ODATA, 1738. |
921 |
* GDATA,BLDATA,RQT,SRHR,TRHR,(AJ(K,1),K=1,KACC),TAUY,TSSFC,CKS, 1739. |
* GDATA,BLDATA,RQT,SRHR,TRHR,(AJ(K,1),K=1,KACC),TAUY,TSSFC,CKS, 1739. |
922 |
* CKN,WMGE,TPRIM2,MRCHT,TRSURF,SRSURF,TSURFT,TSURFD,DWAV0, |
* CKN,WMGE,TPRIM2,MRCHT,TRSURF,SRSURF,TLANDD,TSURFD,DWAV0, |
923 |
* TG3M,RTGO,STG3,DTG3 |
* TG3M,RTGO,STG3,DTG3 |
924 |
else |
else |
925 |
READ (KDISK0,ERR=840)AEXPX,TAUX,JC,C,RC,KEYNR,U,V,T,P,Q,ODATA, 1738. |
READ (KDISK0,ERR=840)AEXPX,TAUX,JC,C,RC,KEYNR,U,V,T,P,Q,ODATA, 1738. |
926 |
* GDATA,BLDATA,RQT,SRHR,TRHR,(AJ(K,1),K=1,KACC),TAUY,TSSFC,CKS, 1739. |
* GDATA,BLDATA,RQT,SRHR,TRHR,(AJ(K,1),K=1,KACC),TAUY,TSSFC,CKS, 1739. |
927 |
* CKN,WMGE,TPRIM2,MRCHT,TRSURF,SRSURF,TSURFT,TSURFD,DWAV0 |
* CKN,WMGE,TPRIM2,MRCHT,TRSURF,SRSURF,TLANDD,TSURFD,DWAV0 |
928 |
endif |
endif |
929 |
C |
C |
930 |
if(abs(AEXPX-AEXP).gt.0.05)then |
if(abs(AEXPX-AEXP).gt.0.05)then |
953 |
endif |
endif |
954 |
read(369)Hgin |
read(369)Hgin |
955 |
read(369)Rco2in |
read(369)Rco2in |
956 |
|
print *,(Rco2in(j,1),j=1,jm) |
957 |
do k=1,lmo |
do k=1,lmo |
958 |
do j=1,jm0 |
do j=1,jm0 |
959 |
if(k.eq.1)Hg(j)=Hgin(j) |
if(k.eq.1)Hg(j)=Hgin(j) |
963 |
#endif |
#endif |
964 |
|
|
965 |
endif ! endif for ISTRT1 |
endif ! endif for ISTRT1 |
966 |
|
#if ( defined CPL_OCEANCO2 && defined ML_2D ) |
967 |
|
print *,'Rco2 from input' |
968 |
|
! print *,(Rco2(j,1),j=1,jm) |
969 |
|
print *,Rco2 |
970 |
|
#endif |
971 |
|
|
972 |
if(KOCEAN.eq.1) then |
if(KOCEAN.eq.1) then |
973 |
print *,' T1 ocean' |
print *,' T1 ocean' |
996 |
TAUP=TAUX 1746. |
TAUP=TAUX 1746. |
997 |
C**** UPDATE C ARRAY FROM INPUTZ 1747. |
C**** UPDATE C ARRAY FROM INPUTZ 1747. |
998 |
500 READ (514,INPUTZ) 1748. |
500 READ (514,INPUTZ) 1748. |
999 |
|
! nrad=NDYN |
1000 |
#if ( defined IPCC_EMI ) |
#if ( defined IPCC_EMI ) |
1001 |
CO2=xco2init/GHGBGR(1) |
CO2=xco2init/GHGBGR(1) |
1002 |
#endif |
#endif |
1037 |
print *,TSCNTR,' form EXP=',EXPTSF |
print *,TSCNTR,' form EXP=',EXPTSF |
1038 |
! read(576)EXPTSF |
! read(576)EXPTSF |
1039 |
! print *,' TSURF form EXP=',EXPTSF |
! print *,' TSURF form EXP=',EXPTSF |
1040 |
read(576)TSURFC |
#if ( defined CLM ) |
1041 |
|
read(576)TSURFC,TLANDC |
1042 |
|
#else |
1043 |
|
read(576)TSURFC |
1044 |
|
#endif |
1045 |
|
! read(576)TLANDC |
1046 |
endif |
endif |
1047 |
CORSR=1.0 |
CORSR=1.0 |
1048 |
if(KOCEAN.eq.0)then |
if(KOCEAN.eq.0)then |
1085 |
if(READGHG.eq.2)then |
if(READGHG.eq.2)then |
1086 |
open( unit=569,file=ghg_monthly, |
open( unit=569,file=ghg_monthly, |
1087 |
* status='OLD',form='unformatted') |
* status='OLD',form='unformatted') |
1088 |
open( unit=669,file=ghg_monthly2, |
open( unit=679,file=ghg_monthly2, |
1089 |
* status='OLD',form='unformatted') |
* status='OLD',form='unformatted') |
1090 |
print *,' GHGs from ',ghg_monthly |
print *,' GHGs from ',ghg_monthly |
1091 |
if(ISTRT1.eq.1)then |
if(ISTRT1.eq.1)then |
1092 |
do 369 i=1,NWRGHG |
do 369 i=1,NWRGHG |
1093 |
do 369 ii=1,13 |
do 369 ii=1,13 |
1094 |
read(569) |
read(569) |
1095 |
if(ii.le.3)read(669) |
if(ii.le.3)read(679) |
1096 |
369 continue |
369 continue |
1097 |
endif |
endif |
1098 |
endif |
endif |
1101 |
c * status='OLD',form='unformatted') |
c * status='OLD',form='unformatted') |
1102 |
open( unit=569,file=ghg_monthly, |
open( unit=569,file=ghg_monthly, |
1103 |
* status='OLD',form='unformatted') |
* status='OLD',form='unformatted') |
1104 |
open( unit=669,file=ghg_monthly2, |
open( unit=679,file=ghg_monthly2, |
1105 |
* status='OLD',form='unformatted') |
* status='OLD',form='unformatted') |
1106 |
print *,' GHGs from ',ghg_monthly |
print *,' GHGs from ',ghg_monthly |
1107 |
endif |
endif |
1309 |
fland_temp(j)=FDATA(1,J,2) |
fland_temp(j)=FDATA(1,J,2) |
1310 |
284 continue |
284 continue |
1311 |
#if( defined OCEAN_3D) |
#if( defined OCEAN_3D) |
1312 |
Cjrs if(jmocean.ne.jm0-2)then |
Cjrs if(jmocean.ne.jm0-2)then |
1313 |
C print *,"Wrong jm or jmocean" |
C print *,"Wrong jm or jmocean" |
1314 |
C stop |
C stop |
1315 |
C endif |
C endif |