44 |
#include "AGRID.h" |
#include "AGRID.h" |
45 |
#endif |
#endif |
46 |
|
|
47 |
#if ( defined CPL_TEM ) |
cjrs done in driver.h #if ( defined CPL_TEM ) |
48 |
#include "TEM.COM" |
cjrs#include "TEM.h" |
49 |
#endif |
cjrs#endif |
50 |
! |
! |
51 |
! === Chien Wang 062904 |
! === Chien Wang 062904 |
52 |
! |
! |
77 |
character *120 file1,file2,plotfl,nwrfl |
character *120 file1,file2,plotfl,nwrfl |
78 |
character * 120 t3file,tsfile,zmfile,qffile,clfile,wrcldf |
character * 120 t3file,tsfile,zmfile,qffile,clfile,wrcldf |
79 |
& ,ochemfile,deepco2in |
& ,ochemfile,deepco2in |
80 |
& ,oco2file,co2rfile,caruptfile,flrco2av |
cjrs DRIVER.h caruptfile & ,oco2file,co2rfile,caruptfile,flrco2av |
81 |
|
& ,oco2file,co2rfile,flrco2av |
82 |
& ,ghg_monthly,ghg_monthly2,co2_data,o3_data |
& ,ghg_monthly,ghg_monthly2,co2_data,o3_data |
83 |
& ,bgrghg_data |
& ,bgrghg_data |
84 |
character * 120 sulf1986,sulf2050,sulfamp,SO2_EM, |
character * 120 sulf1986,sulf2050,sulfamp,SO2_EM, |
85 |
& S0C_data, |
& S0C_data, |
86 |
& dirdat1,dirdat2 |
& dirdat1,dirdat2 |
87 |
& ,bc_data |
& ,bc_data |
88 |
character * 120 chemdata,chemout,last_nep,init_4nem,pov_deepo |
character * 120 chemdata,chemout,init_4nem,pov_deepo |
89 |
|
cjrs DRIVER.h last_nep character * 120 chemdata,chemout,last_nep,init_4nem,pov_deepo |
90 |
& ,flin_nep,last_clm,emiss_data,SO2ERATIO,SEN_dat |
& ,flin_nep,last_clm,emiss_data,SO2ERATIO,SEN_dat |
91 |
& ,fl_init_alkt,fl_init_salt,fnememiss, |
cjrs DRIVER.h fnememiss & ,fl_init_alkt,fl_init_salt,fl_dic_eq,fnememiss, |
92 |
|
& ,fl_init_alkt,fl_init_salt,fl_dic_eq, |
93 |
& chem_init,chem_init2,chemrstfl |
& chem_init,chem_init2,chemrstfl |
94 |
common/files/file1,file2,plotfl,nwrfl,qffile,clfile,wrcldf |
common/files/file1,file2,plotfl,nwrfl,qffile,clfile,wrcldf |
95 |
*,t3file,tsfile,zmfile,ochemfile,deepco2in |
*,t3file,tsfile,zmfile,ochemfile,deepco2in |
119 |
* READGHG,wr25,LFR,ISTRT1,PCLOUD,QFCOR,TRANSR,WRCLD,NWRCLD,CONTRR, |
* READGHG,wr25,LFR,ISTRT1,PCLOUD,QFCOR,TRANSR,WRCLD,NWRCLD,CONTRR, |
120 |
* ISTWRC,CLDFEED,OBSFOR,ALFFOR,YEARGT,CO2IN,ISTRTCHEM, |
* ISTWRC,CLDFEED,OBSFOR,ALFFOR,YEARGT,CO2IN,ISTRTCHEM, |
121 |
& LYEAREM, |
& LYEAREM, |
122 |
* AERFOR, |
* AERFOR,AERF4BC, |
123 |
* S0RATE,CFS0X, |
* S0RATE,CFS0X, |
124 |
* CFAEROSOL,CFBC, |
* CFAEROSOL,CFBC, |
125 |
& cfocdif,rkv,diffcar0, |
& cfocdif,rkv,diffcar0,ocarcont,ocarindata, |
126 |
! Kvc=diffcar0+cfocdif*Kvh |
! Kvc=diffcar0+cfocdif*Kvh |
127 |
* file1,file2,plotfl,nwrfl,qffile,clfile,wrcldf,clmsen,cfdif0, |
* file1,file2,plotfl,nwrfl,qffile,clfile,wrcldf,clmsen,cfdif0, |
128 |
* t3file,tsfile,zmfile,ochemfile,deepco2in, |
* t3file,tsfile,zmfile,ochemfile,deepco2in, |
129 |
& fl_init_alkt,fl_init_salt, |
& fl_init_alkt,fl_init_salt,fl_dic_eq, |
130 |
* ghg_monthly,ghg_monthly2,co2_data,o3_data, |
* ghg_monthly,ghg_monthly2,co2_data,o3_data, |
131 |
& bgrghg_data, |
& bgrghg_data, |
132 |
* sulf1986,sulf2050,sulfamp,SO2_EM, |
* sulf1986,sulf2050,sulfamp,SO2_EM, |
151 |
character * 120 vegfile |
character * 120 vegfile |
152 |
& ,fclmlice,fbaresoil,fwmax,fprratio,o3datadir |
& ,fclmlice,fbaresoil,fwmax,fprratio,o3datadir |
153 |
common/wrcom/wr25,TRANSR,CONTRR,OBSFOR |
common/wrcom/wr25,TRANSR,CONTRR,OBSFOR |
154 |
c jrs common/TIMESTEPS/dtatm,dtocn |
c jrs common/TIMESTEPS/dtatm,dtocn |
155 |
LOGICAL LFR,NLFR,wr25,TRANSR,WRCLD,CONTRR,CLDFEED,OBSFOR |
LOGICAL LFR,NLFR,wr25,TRANSR,WRCLD,CONTRR,CLDFEED,OBSFOR |
156 |
&,GHSF,VEGCH,TRVEG,GSOEQ,OCNGEOM,GHSFALB,STRARFOR,CO2FOR |
&,GHSF,VEGCH,TRVEG,GSOEQ,OCNGEOM,GHSFALB,STRARFOR,CO2FOR |
157 |
& ,FORSULF,FORBC,S0FOR,FORVOL |
& ,FORSULF,FORBC,S0FOR,FORVOL |
174 |
common/atmos_lo/fland_atm(jm0) !jrs not sure this does anything |
common/atmos_lo/fland_atm(jm0) !jrs not sure this does anything |
175 |
|
|
176 |
#if ( defined CLM ) |
#if ( defined CLM ) |
177 |
#include "CLM.COM" |
cjrs alreadyin DRIVER.h#include "CLM.COM" |
178 |
dimension clmlice(jm0),baresoil(jm0), |
dimension clmlice(jm0),baresoil(jm0), |
179 |
& w1maxclm(jm0),w2maxclm(jm0),vmaskclm(jm0) |
& w1maxclm(jm0),w2maxclm(jm0),vmaskclm(jm0) |
180 |
character * 120 lineclm |
character * 120 lineclm |
181 |
#endif |
#endif |
182 |
#if ( defined CPL_OCEANCO2 && defined ML_2D ) |
#if ( defined CPL_OCEANCO2 && defined ML_2D ) |
183 |
common/Garyclim/tggary(jm0),wsgary(jm0),areaml(jm0),arsrf(jm0) |
common/Garyclim/tggary(jm0),wsgary(jm0),areaml(jm0),arsrf(jm0) |
184 |
|
! common/Garydiff/depthml(jm0),edzon(jm0,lmo),dzg(lmo),dzog(lmo-1), |
185 |
|
! &Rco2(jm0,lmo),edohd(lmo),zg(lmo),focean(jm0) |
186 |
common/Garydiff/depthml(jm0),edzon(jm0),dzg(lmo),dzog(lmo-1), |
common/Garydiff/depthml(jm0),edzon(jm0),dzg(lmo),dzog(lmo-1), |
187 |
&Rco2(jm0,lmo),edohd(lmo),zg(lmo),focean(jm0) |
&Rco2(jm0,lmo),edohd(lmo),zg(lmo),focean(jm0) |
188 |
common /Garychem/Hg(jm0) |
common /Garychem/Hg(jm0) |
189 |
common /Garyvdif/iyearocm,vdfocm,acvdfc,cfocdif,diffcar0 |
common /Garyvdif/iyearocm,vdfocm,acvdfc,cfocdif,diffcar0 |
190 |
|
common /Garyvlog/odifcarbon,ocarcont |
191 |
real Rco2in(jm0,lmo),Hgin(jm0) |
real Rco2in(jm0,lmo),Hgin(jm0) |
192 |
|
logical odifcarbon,ocarcont,ocarindata |
193 |
#endif |
#endif |
194 |
|
|
195 |
#if (!defined PREDICTED_GASES) |
#if (!defined PREDICTED_GASES) |
199 |
#endif |
#endif |
200 |
|
|
201 |
integer PCLOUD |
integer PCLOUD |
202 |
common/TSUR/TSURFC(JM0,0:13),TSURFT(JM0),TSURFD(JM0),DTSURF(JM0) |
! common/TSUR/TSURFC(JM0,0:13),TLANDD(JM0),TSURFD(JM0),DTSURF(JM0) |
203 |
|
! common/TSLD/TLANDC(JM0,0:13),TLANDT(JM0),TLANDD(JM0),DTLAND(JM0) |
204 |
|
#include "TSRF.COM" |
205 |
DATA DISK/'DISK'/,ANDEND/' &END '/ 1520. |
DATA DISK/'DISK'/,ANDEND/' &END '/ 1520. |
206 |
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. |
207 |
DATA NAMD60/'AUSD','MWST','SAHL','EPAC'/ 1522. |
DATA NAMD60/'AUSD','MWST','SAHL','EPAC'/ 1522. |
286 |
cfocdif=0.42 |
cfocdif=0.42 |
287 |
cfocdif=1.375 |
cfocdif=1.375 |
288 |
cfocdif=0.6 |
cfocdif=0.6 |
289 |
|
cfocdif=3.0 |
290 |
diffcar0=2.85 |
diffcar0=2.85 |
291 |
|
diffcar0=1.00 |
292 |
cc ALFA = 8.0*1.e3 |
cc ALFA = 8.0*1.e3 |
293 |
|
AERF4BC=-0.35 |
294 |
TRANSR=.false. |
TRANSR=.false. |
295 |
WRCLD=.FALSE. |
WRCLD=.FALSE. |
296 |
clfile = 'undefined' |
clfile = 'undefined' |
313 |
ISTWRC=0 |
ISTWRC=0 |
314 |
QFCOR=.FALSE. |
QFCOR=.FALSE. |
315 |
READGHG=0. |
READGHG=0. |
316 |
C dtatm=1 |
cjrs dtatm=1 |
317 |
C dtocn=1 |
cjrs dtocn=1 |
318 |
ghg_monthly = 'undefined' |
ghg_monthly = 'undefined' |
319 |
ghg_monthly2 = 'undefined' |
ghg_monthly2 = 'undefined' |
320 |
co2_data = 'undefined' |
co2_data = 'undefined' |
326 |
deepco2in = 'undefined' |
deepco2in = 'undefined' |
327 |
fl_init_alkt = 'undefined' |
fl_init_alkt = 'undefined' |
328 |
fl_init_salt = 'undefined' |
fl_init_salt = 'undefined' |
329 |
|
fl_dic_eq = 'undefined' |
330 |
|
ocarcont=.true. |
331 |
|
ocarindata=.false. |
332 |
vegfile = 'undefined' |
vegfile = 'undefined' |
333 |
fclmlice = 'undefined' |
fclmlice = 'undefined' |
334 |
fprratio = 'undefined' |
fprratio = 'undefined' |
469 |
IF(RECORD(1).NE.ANDEND) GO TO 60 1603. |
IF(RECORD(1).NE.ANDEND) GO TO 60 1603. |
470 |
rewind 514 |
rewind 514 |
471 |
read (UNIT=514,NML=INPUTZ) |
read (UNIT=514,NML=INPUTZ) |
472 |
REWIND 514 1606. |
REWIND 514 1606. |
473 |
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 |
474 |
inyear = startYear |
inyear = startYear |
475 |
lyear = endYear +1 |
lyear = endYear +1 |
477 |
IMONTH = 1 |
IMONTH = 1 |
478 |
LDAY = 1 |
LDAY = 1 |
479 |
LMONTH = 1 |
LMONTH = 1 |
|
|
|
480 |
Cjrs dtatmo=dtatm |
Cjrs dtatmo=dtatm |
481 |
C dtocno=dtocn |
cjrs dtocno=dtocn |
482 |
cb open statments |
cb open statments |
483 |
c |
c |
484 |
c File which depend on resolution |
c File which depend on resolution |
530 |
endif |
endif |
531 |
#if ( !defined CPL_CHEM ) |
#if ( !defined CPL_CHEM ) |
532 |
#if ( defined PREDICTED_BC) |
#if ( defined PREDICTED_BC) |
533 |
|
if(READGHG.eq.0)then |
534 |
|
! data for BC only |
535 |
print *,'Data for black carbon' |
print *,'Data for black carbon' |
536 |
open(769,file=bc_data, |
open(769,file=bc_data, |
537 |
& status='old',form='unformatted') |
& status='old',form='unformatted') |
538 |
|
endif |
539 |
#endif |
#endif |
540 |
#endif |
#endif |
541 |
|
|
559 |
c open file for carbon uptake |
c open file for carbon uptake |
560 |
#if ( defined CPL_TEM || defined CPL_OCEANCO2 ) |
#if ( defined CPL_TEM || defined CPL_OCEANCO2 ) |
561 |
c open(333,file=caruptfile,status='new',form='formatted') |
c open(333,file=caruptfile,status='new',form='formatted') |
562 |
open(333,file=caruptfile,form='formatted') |
open(333,file=caruptfile,status='replace',form='formatted') |
563 |
|
close(333) |
564 |
#endif |
#endif |
565 |
|
|
566 |
#if ( defined CPL_OCEANCO2 && defined ML_2D) |
#if ( defined CPL_OCEANCO2 && defined ML_2D) |
568 |
& form='unformatted',status='old') |
& form='unformatted',status='old') |
569 |
open(669,file=fl_init_salt, |
open(669,file=fl_init_salt, |
570 |
& form='unformatted',status='old') |
& form='unformatted',status='old') |
571 |
|
! open(670,file=fl_dic_eq, |
572 |
|
! & form='unformatted',status='old') |
573 |
open(602,file=flrco2av,status='new',form='unformatted') |
open(602,file=flrco2av,status='new',form='unformatted') |
574 |
#endif |
#endif |
575 |
|
|
576 |
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 |
|
577 |
call bgrghg(YEARGT) |
call bgrghg(YEARGT) |
578 |
#if ( defined IPCC_EMI ) |
#if ( defined IPCC_EMI ) |
579 |
if(YEARGT.eq.1765)then |
! if(YEARGT.eq.1765)then |
580 |
GHGBGR(1)=277.6 |
! GHGBGR(1)=277.6 |
581 |
open (unit=861,file=init_co2, |
open (unit=861,file=init_co2, |
582 |
& status='OLD',form='formatted') |
& status='OLD',form='formatted') |
583 |
read (861,*)xco2init |
read (861,*)xco2init |
584 |
CO2=xco2init/GHGBGR(1) |
CO2=xco2init/GHGBGR(1) |
585 |
print *,'IPCC EMI CO2=',CO2 |
print *,'IPCC EMI CO2=',CO2 |
586 |
else |
! else |
587 |
print *,' Wrong YEARGT ', YEARGT |
! print *,' Wrong YEARGT ', YEARGT |
588 |
stop |
! stop |
589 |
endif |
! endif |
590 |
#endif |
#endif |
591 |
print *,'Background GHGs for year ',YEARGT |
print *,'Background GHGs for year ',YEARGT |
592 |
print '(5E12.4)',GHGBGR |
print '(5E12.4)',GHGBGR |
618 |
else |
else |
619 |
print *,'No diffusion into deep ocean' |
print *,'No diffusion into deep ocean' |
620 |
endif |
endif |
621 |
#if ( defined PREDICTED_AEROSOL ) |
!#if ( defined PREDICTED_AEROSOL ) |
622 |
|
#if ( defined CPL_CHEM ) |
623 |
Cold AFBYCF=0.6725 |
Cold AFBYCF=0.6725 |
624 |
Cold SO2EREF=123.57 |
Cold SO2EREF=123.57 |
625 |
Cigsm1AFBYCF=0.6054 |
Cigsm1AFBYCF=0.6054 |
633 |
! CFAEROSOL=(-AERFOR/AFBYCF)**1.035/(SO2ER**1.0391) |
! CFAEROSOL=(-AERFOR/AFBYCF)**1.035/(SO2ER**1.0391) |
634 |
|
|
635 |
|
|
636 |
SO2EREF=149.07 |
SO2EREF=147.375 |
637 |
open(664,file=SO2ERATIO, |
open(664,file=SO2ERATIO, |
638 |
& form='formatted', |
& form='formatted', |
639 |
& status='old') |
& status='old') |
640 |
read(664,'(f10.6)')SO2EM |
read(664,'(f10.6)')SO2EM |
641 |
SO2ER=SO2EM/SO2EREF |
SO2ER=SO2EM/SO2EREF |
642 |
F90BYF80=0.948 |
! F90BYF80=0.948 |
643 |
AERFOR90=AERFOR*F90BYF80 |
! AERFOR90=AERFOR*F90BYF80 |
644 |
AFBYCF90=1.043 |
! AFBYCF90=1.04 |
645 |
|
! print *,'AFBYCF90=',AFBYCF90 |
646 |
|
! 12/21/2006 (from runs 265x.06) |
647 |
|
! Adjustment for BC forcing |
648 |
|
print *,' AERF4BC=',AERF4BC |
649 |
|
AERFOR=AERFOR+AERF4BC |
650 |
|
! Adjustment for BC forcing |
651 |
|
AFBYCF=1.05 |
652 |
print *,'SO2ER=',SO2ER |
print *,'SO2ER=',SO2ER |
653 |
print *,'AFBYCF90=',AFBYCF90 |
print *,'AFBYCF=',AFBYCF |
654 |
CFAEROSOL=(-AERFOR90/AFBYCF90)**1.119 |
CFAEROSOL=(-AERFOR/AFBYCF)**1.21 |
655 |
CFAEROSOL=CFAEROSOL/(SO2ER**1.0391) |
CFAEROSOL=CFAEROSOL/(SO2ER**1.01) |
656 |
print *,'AERFOR90=',AERFOR90,'CFAEROSOL=',CFAEROSOL |
print *,'AERFOR=',AERFOR,'CFAEROSOL=',CFAEROSOL |
657 |
#if ( defined OCEAN_3D ) |
#if ( defined OCEAN_3D ) |
658 |
CFAEROSOL=CFAEROSOL/1.35 |
CFAEROSOL=CFAEROSOL/1.35 |
659 |
print *,'CFAEROSOL_3D=',CFAEROSOL |
print *,'CFAEROSOL_3D=',CFAEROSOL |
724 |
* status='OLD',form='unformatted') |
* status='OLD',form='unformatted') |
725 |
#endif |
#endif |
726 |
#if ( defined CPL_TEM ) |
#if ( defined CPL_TEM ) |
727 |
open (367,file=last_nep,form='unformatted',status='new') |
cjrs open (367,file=last_nep,form='unformatted',status='new') |
728 |
open (877,file=last_clm,form='unformatted',status='new') |
open (877,file=last_clm,form='unformatted',status='new') |
729 |
c file last_clm contains data for posible restart of NEM |
c file last_clm contains data for posible restart of NEM |
730 |
c this file is writen at the end of the run |
c this file is writen at the end of the run |
732 |
open (368,file=init_4nem,form='unformatted',status='old') |
open (368,file=init_4nem,form='unformatted',status='old') |
733 |
c file init_4nem contains data for the restart of NEM |
c file init_4nem contains data for the restart of NEM |
734 |
c from the results of a previous run |
c from the results of a previous run |
735 |
open (277,file=fnememiss,form='unformatted',status='new') |
open (277,file=fnememiss,form='unformatted',status='replace') |
736 |
|
close(277) |
737 |
#endif |
#endif |
738 |
#endif |
#endif |
739 |
#if ( defined CPL_OCEANCO2 && defined ML_2D ) |
#if ( defined CPL_OCEANCO2 && defined ML_2D ) |
752 |
open (368,file=init_4nem,form='unformatted',status='old') |
open (368,file=init_4nem,form='unformatted',status='old') |
753 |
c file init_4nem contains data for the restart of NEM |
c file init_4nem contains data for the restart of NEM |
754 |
c from the results of a previous run |
c from the results of a previous run |
755 |
open (277,file=fnememiss,form='unformatted',status='new') |
open (277,file=fnememiss,form='unformatted',status='replace') |
756 |
|
close(277) |
757 |
#endif |
#endif |
758 |
#endif |
#endif |
759 |
#if ( defined CPL_OCEANCO2 && defined ML_2D ) |
#if ( defined CPL_OCEANCO2 && defined ML_2D ) |
792 |
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, |
793 |
& ODATA, |
& ODATA, |
794 |
* 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. |
795 |
* CKN,WMGE,TPRIM2,MRCHT,TRSURF,SRSURF,TSURFT,TSURFD,DWAV0 |
* CKN,WMGE,TPRIM2,MRCHT,TRSURF,SRSURF,TLANDD,TSURFD,DWAV0 |
796 |
else |
else |
797 |
! 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, |
798 |
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, |
799 |
& ODATA, |
& ODATA, |
800 |
* 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. |
801 |
* CKN,WMGE,TPRIM2,MRCHT,TRSURF,SRSURF,TSURFT,TSURFD,DWAV0, |
* CKN,WMGE,TPRIM2,MRCHT,TRSURF,SRSURF,TLANDD,TSURFD,DWAV0, |
802 |
* TG3M,RTGO,STG3,DTG3 |
* TG3M,RTGO,STG3,DTG3 |
803 |
endif |
endif |
804 |
if(.not.CONTRR)then |
if(.not.CONTRR)then |
847 |
#endif |
#endif |
848 |
|
|
849 |
#if ( defined CPL_OCEANCO2 && defined ML_2D ) |
#if ( defined CPL_OCEANCO2 && defined ML_2D ) |
850 |
|
if(ocarcont) then |
851 |
|
if(ocarindata)then |
852 |
|
print *,'Wrong setting of ocarcont and ocarindata' |
853 |
|
print *,ocarcont,ocarindata |
854 |
|
stop |
855 |
|
endif |
856 |
open(116,file=deepco2in, |
open(116,file=deepco2in, |
857 |
* status='old',form='unformatted') |
* status='old',form='unformatted') |
858 |
print *,' AFTER OPEN INIT. data for ocean chem.' |
print *,' AFTER OPEN INIT. data for ocean chem.' |
859 |
print *,deepco2in |
print *,deepco2in |
860 |
read(116)iyearocm,vdfocm |
read(116)iyearocm,vdfocm |
874 |
Rco2(j,k)=Rco2in(j,k) |
Rco2(j,k)=Rco2in(j,k) |
875 |
end do |
end do |
876 |
end do |
end do |
877 |
|
else |
878 |
|
if(ocarindata)then |
879 |
|
print *,' Reading initial data for ocean carbon' |
880 |
|
open(116,file=deepco2in, |
881 |
|
* status='old',form='unformatted') |
882 |
|
read(116) |
883 |
|
read(116)Hgin |
884 |
|
read(116)Rco2in |
885 |
|
print *,(Rco2in(j,1),j=1,jm) |
886 |
|
do k=1,lmo |
887 |
|
do j=1,jm0 |
888 |
|
! if(k.eq.1)Hg(j)=Hgin(j) |
889 |
|
if(k.eq.1)Hg(j)=1.0e-8 |
890 |
|
Rco2(j,k)=Rco2in(j,k) |
891 |
|
end do |
892 |
|
end do |
893 |
|
close(116) |
894 |
|
else |
895 |
|
do k=1,lmo |
896 |
|
do j=1,jm0 |
897 |
|
if(k.eq.1)Hg(j)=1.0e-8 |
898 |
|
Rco2(j,k)=0.0 |
899 |
|
end do |
900 |
|
end do |
901 |
|
endif |
902 |
|
endif |
903 |
#endif |
#endif |
904 |
|
|
905 |
else |
else |
909 |
if(TRANSR)then |
if(TRANSR)then |
910 |
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. |
911 |
* 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. |
912 |
* CKN,WMGE,TPRIM2,MRCHT,TRSURF,SRSURF,TSURFT,TSURFD,DWAV0, |
* CKN,WMGE,TPRIM2,MRCHT,TRSURF,SRSURF,TLANDD,TSURFD,DWAV0, |
913 |
* TG3M,RTGO,STG3,DTG3 |
* TG3M,RTGO,STG3,DTG3 |
914 |
else |
else |
915 |
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. |
916 |
* 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. |
917 |
* CKN,WMGE,TPRIM2,MRCHT,TRSURF,SRSURF,TSURFT,TSURFD,DWAV0 |
* CKN,WMGE,TPRIM2,MRCHT,TRSURF,SRSURF,TLANDD,TSURFD,DWAV0 |
918 |
endif |
endif |
919 |
C |
C |
920 |
if(abs(AEXPX-AEXP).gt.0.05)then |
if(abs(AEXPX-AEXP).gt.0.05)then |
943 |
endif |
endif |
944 |
read(369)Hgin |
read(369)Hgin |
945 |
read(369)Rco2in |
read(369)Rco2in |
946 |
|
print *,(Rco2in(j,1),j=1,jm) |
947 |
do k=1,lmo |
do k=1,lmo |
948 |
do j=1,jm0 |
do j=1,jm0 |
949 |
if(k.eq.1)Hg(j)=Hgin(j) |
if(k.eq.1)Hg(j)=Hgin(j) |
953 |
#endif |
#endif |
954 |
|
|
955 |
endif ! endif for ISTRT1 |
endif ! endif for ISTRT1 |
956 |
|
#if ( defined CPL_OCEANCO2 && defined ML_2D ) |
957 |
|
print *,'Rco2 from input' |
958 |
|
! print *,(Rco2(j,1),j=1,jm) |
959 |
|
print *,Rco2 |
960 |
|
#endif |
961 |
|
|
962 |
if(KOCEAN.eq.1) then |
if(KOCEAN.eq.1) then |
963 |
print *,' T1 ocean' |
print *,' T1 ocean' |
986 |
TAUP=TAUX 1746. |
TAUP=TAUX 1746. |
987 |
C**** UPDATE C ARRAY FROM INPUTZ 1747. |
C**** UPDATE C ARRAY FROM INPUTZ 1747. |
988 |
500 READ (514,INPUTZ) 1748. |
500 READ (514,INPUTZ) 1748. |
989 |
|
! nrad=NDYN |
990 |
#if ( defined IPCC_EMI ) |
#if ( defined IPCC_EMI ) |
991 |
CO2=xco2init/GHGBGR(1) |
CO2=xco2init/GHGBGR(1) |
992 |
#endif |
#endif |
1027 |
print *,TSCNTR,' form EXP=',EXPTSF |
print *,TSCNTR,' form EXP=',EXPTSF |
1028 |
! read(576)EXPTSF |
! read(576)EXPTSF |
1029 |
! print *,' TSURF form EXP=',EXPTSF |
! print *,' TSURF form EXP=',EXPTSF |
1030 |
read(576)TSURFC |
read(576)TSURFC,TLANDC |
1031 |
|
! read(576)TLANDC |
1032 |
endif |
endif |
1033 |
CORSR=1.0 |
CORSR=1.0 |
1034 |
if(KOCEAN.eq.0)then |
if(KOCEAN.eq.0)then |
1071 |
if(READGHG.eq.2)then |
if(READGHG.eq.2)then |
1072 |
open( unit=569,file=ghg_monthly, |
open( unit=569,file=ghg_monthly, |
1073 |
* status='OLD',form='unformatted') |
* status='OLD',form='unformatted') |
1074 |
open( unit=669,file=ghg_monthly2, |
open( unit=679,file=ghg_monthly2, |
1075 |
* status='OLD',form='unformatted') |
* status='OLD',form='unformatted') |
1076 |
print *,' GHGs from ',ghg_monthly |
print *,' GHGs from ',ghg_monthly |
1077 |
if(ISTRT1.eq.1)then |
if(ISTRT1.eq.1)then |
1078 |
do 369 i=1,NWRGHG |
do 369 i=1,NWRGHG |
1079 |
do 369 ii=1,13 |
do 369 ii=1,13 |
1080 |
read(569) |
read(569) |
1081 |
if(ii.le.3)read(669) |
if(ii.le.3)read(679) |
1082 |
369 continue |
369 continue |
1083 |
endif |
endif |
1084 |
endif |
endif |
1087 |
c * status='OLD',form='unformatted') |
c * status='OLD',form='unformatted') |
1088 |
open( unit=569,file=ghg_monthly, |
open( unit=569,file=ghg_monthly, |
1089 |
* status='OLD',form='unformatted') |
* status='OLD',form='unformatted') |
1090 |
open( unit=669,file=ghg_monthly2, |
open( unit=679,file=ghg_monthly2, |
1091 |
* status='OLD',form='unformatted') |
* status='OLD',form='unformatted') |
1092 |
print *,' GHGs from ',ghg_monthly |
print *,' GHGs from ',ghg_monthly |
1093 |
endif |
endif |
1295 |
fland_temp(j)=FDATA(1,J,2) |
fland_temp(j)=FDATA(1,J,2) |
1296 |
284 continue |
284 continue |
1297 |
#if( defined OCEAN_3D) |
#if( defined OCEAN_3D) |
1298 |
Cjrs if(jmocean.ne.jm0-2)then |
Cjrs if(jmocean.ne.jm0-2)then |
1299 |
C print *,"Wrong jm or jmocean" |
C print *,"Wrong jm or jmocean" |
1300 |
C stop |
C stop |
1301 |
C endif |
C endif |