44 |
|
|
45 |
#include "BD2G04.COM" |
#include "BD2G04.COM" |
46 |
|
|
47 |
#include "CLM.COM" |
#include "CLM.h" |
48 |
|
|
49 |
COMMON/SPEC2/KM,KINC,COEK,C3LAND(IO0,JM0),C3OICE(IO0,JM0) 5808.1 |
COMMON/SPEC2/KM,KINC,COEK,C3LAND(IO0,JM0),C3OICE(IO0,JM0) 5808.1 |
50 |
* ,C3LICE(IO0,JM0),WMGE(IO0,JM0),TSSFC(1,JM0,4) 5808.2 |
* ,C3LICE(IO0,JM0),WMGE(IO0,JM0),TSSFC(1,JM0,4) 5808.2 |
61 |
DIMENSION SINI(72),COSI(72) 5816. |
DIMENSION SINI(72),COSI(72) 5816. |
62 |
LOGICAL POLE,PRNT,HPRNT |
LOGICAL POLE,PRNT,HPRNT |
63 |
common/conprn/HPRNT |
common/conprn/HPRNT |
64 |
common/TSUR/TSURFC(JM0,0:13),TSURFT(JM0),TSURFD(JM0),DTEMSR(JM0) |
! common/TSUR/TSURFC(JM0,0:13),TSURFT(JM0),TSURFD(JM0),DTEMSR(JM0) |
65 |
|
#include "TSRF.COM" |
66 |
common/SURRAD/TRSURF(JM0,4),SRSURF(JM0,4) |
common/SURRAD/TRSURF(JM0,4),SRSURF(JM0,4) |
67 |
c REAL*8 B,TGV,TKV,TSV0,TSV1,TSV 5818. |
c REAL*8 B,TGV,TKV,TSV0,TSV1,TSV 5818. |
68 |
COMMON/CWMG/WMGEA(JM0),NWMGEA(JM0),CHAVER(JM0),DTAV(JM0),DQAV(JM0) |
COMMON/CWMG/WMGEA(JM0),NWMGEA(JM0),CHAVER(JM0),DTAV(JM0),DQAV(JM0) |
129 |
DTSURF=NDYN*DT/NSURF 5884. |
DTSURF=NDYN*DT/NSURF 5884. |
130 |
NGRNDZ=NGRND |
NGRNDZ=NGRND |
131 |
DTGRND=DTSURF/NGRNDZ 6143. |
DTGRND=DTSURF/NGRNDZ 6143. |
132 |
|
NCLMPERDAY=(24.*3600.)/DTSURF |
133 |
print *,' DTSURF=',DTSURF |
print *,' DTSURF=',DTSURF |
134 |
print *,' DTGRND=',DTGRND |
print *,' DTGRND=',DTGRND |
135 |
|
print *,' NCLMPERDAY=',NCLMPERDAY |
136 |
SHA=RGAS/KAPA 5886. |
SHA=RGAS/KAPA 5886. |
137 |
RVX=0. 5887. |
RVX=0. 5887. |
138 |
ZS1CO=.5*DSIG(1)*RGAS/GRAV 5896. |
ZS1CO=.5*DSIG(1)*RGAS/GRAV 5896. |
232 |
SHDT=DTSURF*SHEAT 6505. |
SHDT=DTSURF*SHEAT 6505. |
233 |
EVHDT=DTSURF*EVHEAT 6506. |
EVHDT=DTSURF*EVHEAT 6506. |
234 |
TRHDT=DTSURF*TRHEAT |
TRHDT=DTSURF*TRHEAT |
235 |
|
! if(TAU.gt.3623.0.and.TAU.lt.3744.0) then |
236 |
|
if(J.eq.-29)then |
237 |
|
! print *,'Form surf_clm J=',j,' TAU=',TAU |
238 |
|
! print *,'TG1=',TG1,' lwuclm(i,j)=',lwuclm(i,j) |
239 |
|
! print 'A5,3F7.2',' TGL ',TAU,TOFDAY,TG1 |
240 |
|
! print *,'TRHT0=',TRHT0,' TRHEAT=',TRHEAT |
241 |
|
! print *,'Form surf_clm J=',j,' TAU=',TAU |
242 |
|
! print *,'shfclm(i,j)=',shfclm(i,j), |
243 |
|
! & 'lhfclm(i,j)=',lhfclm(i,j) |
244 |
|
! print *,'tref2mclm(i,j)=',tref2mclm(i,j), |
245 |
|
! & 'tgndclm(i,j)=',tgndclm(i,j) |
246 |
|
! print *,'TG1=',TG1,' lwuclm(i,j)=',lwuclm(i,j) |
247 |
|
write (329) ,TAU,TOFDAY,TG1,TRHT0,lwuclm(i,j), |
248 |
|
& shfclm(i,j),lhfclm(i,j) |
249 |
|
endif |
250 |
|
if(J.eq.-30)then |
251 |
|
write (330) ,TAU,TOFDAY,TG1,TRHT0,lwuclm(i,j), |
252 |
|
& shfclm(i,j),lhfclm(i,j) |
253 |
|
endif |
254 |
|
! endif |
255 |
|
|
256 |
c DQ1=EVHDT/(ELHX*RMBYA) |
c DQ1=EVHDT/(ELHX*RMBYA) |
257 |
c EVAP=-EVHDT/ELHX |
c EVAP=-EVHDT/ELHX |
258 |
EVAP=vetclm(i,j)+sevclm(i,j)+cevclm(i,j) |
EVAP=vetclm(i,j)+sevclm(i,j)+cevclm(i,j) |
259 |
!! EVAP=vetclm(i,j) |
!! EVAP=vetclm(i,j) |
260 |
|
EVAPV=vetclm(i,j) |
261 |
|
EVAPS=sevclm(i,j) |
262 |
|
EVAPC=cevclm(i,j) |
263 |
EVAP=EVAP*DTSURF |
EVAP=EVAP*DTSURF |
264 |
DQ1=-EVAP/RMBYA |
DQ1=-EVAP/RMBYA |
265 |
c print *,EVHDT,SHDT,DQ1,EVAP |
c print *,EVHDT,SHDT,DQ1,EVAP |
286 |
t2md4tem(j)=t2md4tem(j)+T2M |
t2md4tem(j)=t2md4tem(j)+T2M |
287 |
nt2md4tem(j)=nt2md4tem(j)+1 |
nt2md4tem(j)=nt2md4tem(j)+1 |
288 |
F0DT=CORSR*SRHDT+TRHDT+SHDT+EVHDT 6510. |
F0DT=CORSR*SRHDT+TRHDT+SHDT+EVHDT 6510. |
289 |
|
if (J.eq.-23) then |
290 |
|
print *,' From surf_clm TAU=',TAU |
291 |
|
print *,j,i,' T2M=',t2m |
292 |
|
print *,tsoiclm(i,j,1),TG,tgndclm(i,j) |
293 |
|
! TG=(abs(lwuclm(i,j))/STBO)**(1./4.) |
294 |
|
print *,SHEAT,EVHEAT |
295 |
|
print *,TRHEAT,SRHEAT |
296 |
|
endif |
297 |
c print *,'From surface ',TAU,CORSR,SRHDT,TRHDT,SHDT,EVHDT |
c print *,'From surface ',TAU,CORSR,SRHDT,TRHDT,SHDT,EVHDT |
298 |
C**** ACCUMULATE SURFACE FLUXES AND PROGNOSTIC AND DIAGNOSTIC QUANTITIES6517. |
C**** ACCUMULATE SURFACE FLUXES AND PROGNOSTIC AND DIAGNOSTIC QUANTITIES6517. |
299 |
do ITYPE=3,4 |
do ITYPE=3,4 |
322 |
DQ1L(J)=DQQ1 |
DQ1L(J)=DQQ1 |
323 |
TAUSL(J)=TAUS |
TAUSL(J)=TAUS |
324 |
T2ML(J)=T2MS |
T2ML(J)=T2MS |
325 |
|
TLANDD(J)=TLANDD(J)+(T2M-273.16)/NCLMPERDAY |
326 |
C**** 6596. |
C**** 6596. |
327 |
C**** ACCUMULATE DIAGNOSTICS 6597. |
C**** ACCUMULATE DIAGNOSTICS 6597. |
328 |
C**** 6598. |
C**** 6598. |
336 |
BLJ(J,33)=BTAUF |
BLJ(J,33)=BTAUF |
337 |
BLJ(J,38)=BTAUL |
BLJ(J,38)=BTAUL |
338 |
BLJ(J,26)=BT2 |
BLJ(J,26)=BT2 |
339 |
|
BJ(J,41)=BJ(J,41)+EVAPV*PLAND |
340 |
|
BJ(J,42)=BJ(J,42)+EVAPS*PLAND |
341 |
|
BJ(J,16)=BJ(J,16)+EVAPC*PLAND |
342 |
if(J.eq.-23)then |
if(J.eq.-23)then |
343 |
print *,'TAU=',TAU,' EVHEAT=',EVHEAT |
print *,'TAU=',TAU,' EVHEAT=',EVHEAT |
344 |
print *,'EVAP=',EVAP,' EVAP1=',-EVHDT/ELHX |
print *,'EVAP=',EVAP,' EVAP1=',-EVHDT/ELHX |
345 |
endif |
endif |
346 |
7000 CONTINUE 6677. |
7000 CONTINUE 6677. |
347 |
c print *,' From surf_clm T2ML' |
! do J=1,JM |
348 |
c print *,T2ML |
! TLANDD(J)=TLANDD(J)+(T2ML(J)-273.16)/NCLMPERDAY |
349 |
|
! enddo |
350 |
|
! print *,' From surf_clm T2ML TAU=',TAU |
351 |
|
! print *,T2ML |
352 |
|
! print *,'TLANDD' |
353 |
|
! print *,TLANDD |
354 |
|
! print *,'NCLMPERDAY=',NCLMPERDAY |
355 |
c write(935),TAU,ELHTG,SHTG,TAUXG,TAUYG |
c write(935),TAU,ELHTG,SHTG,TAUXG,TAUYG |
356 |
C**** 6678. |
C**** 6678. |
357 |
#endif |
#endif |