| 70 |
S ,TRSLTS,TRSLTG,TRSLWV,TRSLBS,TTRUFG,LBOTCL,LTOPCL 5042. |
S ,TRSLTS,TRSLTG,TRSLWV,TRSLBS,TTRUFG,LBOTCL,LTOPCL 5042. |
| 71 |
DIMENSION COE(39) 5043. |
DIMENSION COE(39) 5043. |
| 72 |
#if ( defined OCEAN_3D ) |
#if ( defined OCEAN_3D ) |
| 73 |
#include "AGRID.COM" |
#include "AGRID.h" |
| 74 |
#endif |
#endif |
| 75 |
|
dimension SWNET(jm0,2),SWIN(jm0,2) |
| 76 |
|
|
| 77 |
#if ( defined CLM ) |
#if ( defined CLM ) |
| 78 |
#include "CLM.COM" |
#include "CLM.h" |
| 79 |
#endif |
#endif |
| 80 |
LOGICAL POLE,DC25,HPRNT,WRCLD,CLDFEED 5044. |
LOGICAL POLE,DC25,HPRNT,WRCLD,CLDFEED 5044. |
| 81 |
common/conprn/HPRNT |
common/conprn/HPRNT |
| 93 |
dimension DSWSRF(jm0),DLWSRF(jm0),DSWVIS(jm0),DSWNIR(jm0) |
dimension DSWSRF(jm0),DLWSRF(jm0),DSWVIS(jm0),DSWNIR(jm0) |
| 94 |
& ,ALBV(jm0),ALBN(jm0),ALBVC(jm0),ALBNC(jm0) |
& ,ALBV(jm0),ALBN(jm0),ALBVC(jm0),ALBNC(jm0) |
| 95 |
integer PCLOUD |
integer PCLOUD |
| 96 |
common/TSUR/TSURFC(JM0,0:13),TSURFT(JM0),TSURFD(JM0),DTSURF(JM0) |
! common/TSUR/TSURFC(JM0,0:13),TSURFT(JM0),TSURFD(JM0),DTSURF(JM0) |
| 97 |
*,cfcld(JM0,3) |
! *,cfcld(JM0,3) |
| 98 |
|
#include "TSRF.COM" |
| 99 |
CHARACTER*4 JMNTHF,JMLAST |
CHARACTER*4 JMNTHF,JMLAST |
| 100 |
DATA JMLAST /'LAST'/ |
DATA JMLAST /'LAST'/ |
| 101 |
DATA TF/273.16/,TCIR/258.16/,STBO/.567257E-7/,IFIRST/1/,JDLAST/-9/5045. |
DATA TF/273.16/,TCIR/258.16/,STBO/.567257E-7/,IFIRST/1/,JDLAST/-9/5045. |
| 379 |
if(CLDFEED)then |
if(CLDFEED)then |
| 380 |
DTSURFAV=0. |
DTSURFAV=0. |
| 381 |
do j=1,jm |
do j=1,jm |
| 382 |
DTSURFAV=DTSURFAV+DTSURF(J)*DXYP(j) |
DTSURFAV=DTSURFAV+DT2MGL(J)*DXYP(j) |
| 383 |
end do !j |
end do !j |
| 384 |
DTSURFAV=DTSURFAV/AREAG |
DTSURFAV=DTSURFAV/AREAG |
| 385 |
do j=1,jm |
do j=1,jm |
| 464 |
print *,'cfcld' |
print *,'cfcld' |
| 465 |
print 9456,cfcld |
print 9456,cfcld |
| 466 |
print *,' DTSURF' |
print *,' DTSURF' |
| 467 |
print 9456,DTSURF |
print 9456,DT2MGL |
| 468 |
print *,' DTSURFAV=',DTSURFAV |
print *,' DTSURFAV=',DTSURFAV |
| 469 |
9456 format(12f6.2) |
9456 format(12f6.2) |
| 470 |
endif |
endif |
| 510 |
FGOLDU(1)=(RVOL+FVOL)/RVOL |
FGOLDU(1)=(RVOL+FVOL)/RVOL |
| 511 |
#endif |
#endif |
| 512 |
IF(MODRJ.EQ.0) CALL RCOMPJ 5146. |
IF(MODRJ.EQ.0) CALL RCOMPJ 5146. |
| 513 |
|
! solar radiation for ocean model 04/05/2007 |
| 514 |
|
SWIN(j,1)=0.0 |
| 515 |
|
SWNET(j,1)=0.0 |
| 516 |
|
SWIN(j,2)=0.0 |
| 517 |
|
SWNET(j,2)=0.0 |
| 518 |
C**** 5147. |
C**** 5147. |
| 519 |
C**** MAIN I LOOP 5148. |
C**** MAIN I LOOP 5148. |
| 520 |
C**** 5149. |
C**** 5149. |
| 903 |
c 05/02/2003 |
c 05/02/2003 |
| 904 |
AJ(J,71)=AJ(J,71)-(TRNFLB(1+LM)-TRNFLB(1))*POCEAN |
AJ(J,71)=AJ(J,71)-(TRNFLB(1+LM)-TRNFLB(1))*POCEAN |
| 905 |
#if ( defined OCEAN_3D ) |
#if ( defined OCEAN_3D ) |
| 906 |
solarinc_ocean(J)=solarinc_ocean(J)+SRDFLB(1)*COSZ |
SWIN(j,1)=SRDFLB(1) |
| 907 |
solarnet_ocean(J)=solarnet_ocean(J)+SRNFLB(1)*COSZ |
SWNET(j,1)=SRNFLB(1) |
|
navrado(j)=navrado(j)+1 |
|
| 908 |
#endif |
#endif |
| 909 |
C |
C |
| 910 |
DO K=2,9 |
DO K=2,9 |
| 940 |
c 05/02/2003 |
c 05/02/2003 |
| 941 |
CJ(J,71)=CJ(J,71)-(TRNFLB(1+LM)-TRNFLB(1))*POICE |
CJ(J,71)=CJ(J,71)-(TRNFLB(1+LM)-TRNFLB(1))*POICE |
| 942 |
#if ( defined OCEAN_3D ) |
#if ( defined OCEAN_3D ) |
| 943 |
solarinc_ice(J)=solarinc_ice(J)+SRDFLB(1)*COSZ |
SWIN(j,2)=SRDFLB(1) |
| 944 |
solarnet_ice(J)=solarnet_ice(J)+SRNFLB(1)*COSZ |
SWNET(j,2)=SRNFLB(1) |
|
navrad(j)=navrad(j)+1 |
|
| 945 |
#endif |
#endif |
| 946 |
if(CLEAR(J).eq.0)then |
if(CLEAR(J).eq.0)then |
| 947 |
CJCLR(J,1)=CJCLR(J,1)+(S0*COSZ)*POICE |
CJCLR(J,1)=CJCLR(J,1)+(S0*COSZ)*POICE |
| 1208 |
#if ( defined CLM ) |
#if ( defined CLM ) |
| 1209 |
ALBAER=0.6*ALBV(j)+0.4*ALBN(j) |
ALBAER=0.6*ALBV(j)+0.4*ALBN(j) |
| 1210 |
ALBC=0.6*ALBVC(j)+0.4*ALBNC(j) |
ALBC=0.6*ALBVC(j)+0.4*ALBNC(j) |
| 1211 |
|
i=1 |
| 1212 |
if(CLEAR(j).eq.1.and.ALBAER.lt.1)then |
if(CLEAR(j).eq.1.and.ALBAER.lt.1)then |
| 1213 |
if (ALBAER-ALBC.lt.-1.e10) then |
if (ALBAER-ALBC.lt.-1.e10) then |
| 1214 |
print *,'Wrong ALBAER and ALBC' |
print *,'Wrong ALBAER and ALBC' |
| 1229 |
endif |
endif |
| 1230 |
c print *,'From radigso_clm' |
c print *,'From radigso_clm' |
| 1231 |
c print *,CLEAR(j),ALBAER,ALBC,(1.-ALBAER)/(1.-ALBC) |
c print *,CLEAR(j),ALBAER,ALBC,(1.-ALBAER)/(1.-ALBC) |
| 1232 |
dsw4clm(j)=DSWSRF(j)*(1.-ALBAER)/(1.-ALBC)*COSZ1(1,j) |
dsw4clm(i,j)=DSWSRF(j)*(1.-ALBAER)/(1.-ALBC)*COSZ1(1,j) |
| 1233 |
swinr4clm(j)=DSWNIR(j)*(1.-ALBN(j))/(1.-ALBNC(j))*COSZ1(1,j) |
swinr4clm(i,j)=DSWNIR(j)* |
| 1234 |
swvis4clm(j)=DSWVIS(j)*(1.-ALBV(j))/(1.-ALBVC(j))*COSZ1(1,j) |
& (1.-ALBN(j))/(1.-ALBNC(j))*COSZ1(1,j) |
| 1235 |
|
swvis4clm(i,j)=DSWVIS(j)* |
| 1236 |
|
& (1.-ALBV(j))/(1.-ALBVC(j))*COSZ1(1,j) |
| 1237 |
else |
else |
| 1238 |
dsw4clm(j)=DSWSRF(j)*COSZ1(1,j) |
dsw4clm(i,j)=DSWSRF(j)*COSZ1(1,j) |
| 1239 |
swinr4clm(j)=DSWNIR(j)*COSZ1(1,j) |
swinr4clm(i,j)=DSWNIR(j)*COSZ1(1,j) |
| 1240 |
swvis4clm(j)=DSWVIS(j)*COSZ1(1,j) |
swvis4clm(i,j)=DSWVIS(j)*COSZ1(1,j) |
| 1241 |
endif |
endif |
| 1242 |
dlw4clm(j)=DLWSRF(j) |
dlw4clm(i,j)=DLWSRF(j) |
| 1243 |
c For TEM |
c For TEM |
| 1244 |
swtd4tem(j)=swtd4tem(j)+S0*COSZ1(1,j) |
swtd4tem(j)=swtd4tem(j)+S0*COSZ1(1,j) |
| 1245 |
! swsd4tem(j)=swsd4tem(j)+DSWSRF(j)*COSZ1(1,j) |
! swsd4tem(j)=swsd4tem(j)+DSWSRF(j)*COSZ1(1,j) |
| 1246 |
! 7/30/2005 |
! 7/30/2005 |
| 1247 |
swsd4tem(j)=swsd4tem(j)+dsw4clm(j) |
swsd4tem(j)=swsd4tem(j)+dsw4clm(i,j) |
| 1248 |
nradd4tem(j)=nradd4tem(j)+1 |
nradd4tem(j)=nradd4tem(j)+1 |
| 1249 |
#endif |
#endif |
| 1250 |
|
#if ( defined OCEAN_3D ) |
| 1251 |
|
solarinc_ocean(J)=solarinc_ocean(J)+SWIN(j,1)*COSZ1(1,j) |
| 1252 |
|
solarnet_ocean(J)=solarnet_ocean(J)+SWNET(j,1)*COSZ1(1,j) |
| 1253 |
|
solarinc_ice(J)=solarinc_ice(J)+SWIN(j,2)*COSZ1(1,j) |
| 1254 |
|
solarnet_ice(J)=solarnet_ice(J)+SWNET(j,2)*COSZ1(1,j) |
| 1255 |
|
navrado(j)=navrado(j)+1 |
| 1256 |
|
navrad(j)=navrad(j)+1 |
| 1257 |
|
#endif |
| 1258 |
IMAX=IM 5515. |
IMAX=IM 5515. |
| 1259 |
IF(J.EQ.1.OR.J.EQ.JM) IMAX=1 5516. |
IF(J.EQ.1.OR.J.EQ.JM) IMAX=1 5516. |
| 1260 |
DO 860 L=1,LM 5517. |
DO 860 L=1,LM 5517. |