1 |
c source sokolov users 76203 Apr 7 12:46 atmosphere.F |
c source 2007 sokolov users 76203 Apr 25 15:29 atmosphere.F |
2 |
|
|
3 |
#include "ctrparam.h" |
#include "ctrparam.h" |
4 |
|
|
117 |
#endif |
#endif |
118 |
|
|
119 |
#if ( defined CPL_OCEANCO2 ) |
#if ( defined CPL_OCEANCO2 ) |
120 |
#include "OCM.COM" |
#include "OCM.h" |
121 |
common /Garyflux/pC_atm(jm0),wind_amp,fluxco2(jm0) |
common /Garyflux/pC_atm(jm0),wind_amp,fluxco2(jm0) |
122 |
# if ( defined ML_2D ) |
# if ( defined ML_2D ) |
123 |
common/Garyclim/tggary(jm0),wsgary(jm0),areaml(jm0),arsrf(jm0) |
common/Garyclim/tggary(jm0),wsgary(jm0),areaml(jm0),arsrf(jm0) |
365 |
NSTEP2=NSTEP 29.6 |
NSTEP2=NSTEP 29.6 |
366 |
MRCHT=0. 29.7 |
MRCHT=0. 29.7 |
367 |
ITAU=(NSTEP+NSTEP0)*IDTHR 30. |
ITAU=(NSTEP+NSTEP0)*IDTHR 30. |
368 |
TAU=FLOAT(ITAU)/XINT 31. |
cjrs changed to dfloat 8/2/07 |
369 |
|
TAU=DFLOAT(ITAU)/XINT 31. |
370 |
IDAY=1+ITAU/I24 32. |
IDAY=1+ITAU/I24 32. |
371 |
TOFDAY=(ITAU-(IDAY-1)*I24)/XINT 33. |
TOFDAY=(ITAU-(IDAY-1)*I24)/XINT 33. |
372 |
! if(ISTART.eq.2.or.ISTRT1.eq.0.and..not.CONTRR)then |
! if(ISTART.eq.2.or.ISTRT1.eq.0.and..not.CONTRR)then |
545 |
#if ( defined CLM ) |
#if ( defined CLM ) |
546 |
NOCLM=.false. |
NOCLM=.false. |
547 |
#endif |
#endif |
|
co2mmavd=0.0 |
|
548 |
print *,' atmosphere DTATM=',DTATM |
print *,' atmosphere DTATM=',DTATM |
549 |
print *,' It is running' |
print *,' It is running' |
550 |
print *,'End of atmospheric model initialization' |
print *,'End of atmospheric model initialization' |
587 |
solarnet_ice(j)=0. |
solarnet_ice(j)=0. |
588 |
solarinc_ocean(j)=0. |
solarinc_ocean(j)=0. |
589 |
solarnet_ocean(j)=0. |
solarnet_ocean(j)=0. |
590 |
Cjrs why? surfpr(j)=0. |
Cjrs not used anymore (?) surfpr(j)=0. |
591 |
naveo(j)=0. |
naveo(j)=0. |
592 |
navei(j)=0. |
navei(j)=0. |
593 |
navrad(j)=0. |
navrad(j)=0. |
601 |
c |
c |
602 |
enddo |
enddo |
603 |
#endif |
#endif |
604 |
#if ( defined OCEAN_3D && defined CPL_OCEANCO2 ) |
#ifdef OCEAN_3D |
605 |
! SECDAY=24.*3600. |
C get data from atm-ocean common block |
606 |
SECDAY=DTATM*3600. |
do j=1,jm0 |
607 |
co2mmav=0.0 |
ODATA(1,j,1)=mmsst(j) |
608 |
do j=1,jmocean |
ODATA(1,j,2)=mmfice(j) |
609 |
co2mmav=co2mmav+mmco2flux(j) |
GDATA(1,j,3)=mmtice(j) |
610 |
enddo |
GDATA(1,j,1)=mmsnowm(j) |
611 |
print *,'CO2F form ocean TAU=',TAU,co2mmav*12.e-15 |
ODATA(1,j,3)=mmicem(j) |
612 |
Cjrs *** this block needs attention?? *** |
GDATA(1,j,7)=0.5*(mmtice2(j)+mmtice1(j)) |
613 |
Cjrs fluxco2(1)=fluxco2(1)+SECDAY*mmco2flux(1) |
# ifdef CPL_OCEANCO2 |
614 |
fluxco2(1)=fluxco2(1) + SECDAY*mmco2flux(2) |
fluxco2(j)=fluxco2(j) + dtatm*3600.*mmco2flux(j) |
615 |
do j=2,jm-1 |
# endif |
|
fluxco2(j)=fluxco2(j)+SECDAY*mmco2flux(j-1) |
|
616 |
enddo |
enddo |
617 |
Cjrs fluxco2(JM)=fluxco2(JM)+SECDAY*mmco2flux(JMOCEAN) |
#endif |
|
fluxco2(JM)=fluxco2(JM) + SECDAY*mmco2flux(JM-1) |
|
|
# endif |
|
|
|
|
618 |
WLMMAX=0.0 |
WLMMAX=0.0 |
619 |
C |
C |
620 |
100 IF(.NOT.EVENT(TAUT)) GO TO 200 46. |
100 IF(.NOT.EVENT(TAUT)) GO TO 200 46. |
1257 |
C**** 189. |
C**** 189. |
1258 |
500 NSTEP=NSTEP+NDYN 190. |
500 NSTEP=NSTEP+NDYN 190. |
1259 |
ITAU=(NSTEP+NSTEP0)*IDTHR 191. |
ITAU=(NSTEP+NSTEP0)*IDTHR 191. |
1260 |
TAU=FLOAT(ITAU)/XINT 192. |
cJRS fix to DFLOAT 8/2/07 |
1261 |
|
TAU=DFLOAT(ITAU)/XINT 192. |
1262 |
IDAY=1+ITAU/I24 193. |
IDAY=1+ITAU/I24 193. |
1263 |
TOFDAYPR=TOFDAY+1.00 |
TOFDAYPR=TOFDAY+1.00 |
1264 |
TOFDAY=(ITAU-(IDAY-1)*I24)/XINT 194. |
TOFDAY=(ITAU-(IDAY-1)*I24)/XINT 194. |
1451 |
do j=1,jm |
do j=1,jm |
1452 |
OCUPT=OCUPT+fluxco2(j) |
OCUPT=OCUPT+fluxco2(j) |
1453 |
enddo |
enddo |
1454 |
print *,' OCUPT=',OCUPT*12.e-15 |
! print *,' OCUPT=',OCUPT*12.e-15 |
1455 |
|
|
1456 |
#if ( defined CPL_CHEM ) |
#if ( defined CPL_CHEM ) |
1457 |
! |
! |