72 |
#if ( defined OCEAN_3D ) |
#if ( defined OCEAN_3D ) |
73 |
#include "AGRID.h" |
#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. |