1 |
|
c source sokolov users 16842 Mar 29 17:41 daily_new.F |
2 |
#include "ctrparam.h" |
#include "ctrparam.h" |
3 |
|
|
4 |
! ========================================================== |
! ========================================================== |
37 |
& sstmin(12,2) |
& sstmin(12,2) |
38 |
& ,miceo(JM0) |
& ,miceo(JM0) |
39 |
common/qfl/QFLUX(JM0,0:13),ZOAV(JM0),QFLUXT(JM0) |
common/qfl/QFLUX(JM0,0:13),ZOAV(JM0),QFLUXT(JM0) |
40 |
common/TSUR/TSURFC(JM0,0:13),TSURFT(JM0),TSURFD(JM0),DTSURF(JM0) |
! common/TSUR/TSURFC(JM0,0:13),TSURFT(JM0),TSURFD(JM0),DTSURF(JM0) |
41 |
|
#include "TSRF.COM" |
42 |
common/fixcld/cldssm(JM0,LM0,0:13),cldmcm(JM0,LM0,0:13), |
common/fixcld/cldssm(JM0,LM0,0:13),cldmcm(JM0,LM0,0:13), |
43 |
& CLDSST(JM0,LM0), |
& CLDSST(JM0,LM0), |
44 |
& CLDMCT(JM0,LM0) |
& CLDMCT(JM0,LM0) |
46 |
#if ( defined OCEAN_3D || defined ML_2D) |
#if ( defined OCEAN_3D || defined ML_2D) |
47 |
#include "AGRID.h" |
#include "AGRID.h" |
48 |
#endif |
#endif |
49 |
|
#if ( defined CLM ) |
50 |
|
#include "CLM.h" |
51 |
|
#endif |
52 |
LOGICAL HPRNT |
LOGICAL HPRNT |
53 |
common/conprn/HPRNT,JPR,LPR |
common/conprn/HPRNT,JPR,LPR |
54 |
data ifirst /1/ |
data ifirst /1/ |
150 |
7241 continue |
7241 continue |
151 |
endif |
endif |
152 |
#if (defined OCEAN_3D || defined ML_2D) |
#if (defined OCEAN_3D || defined ML_2D) |
|
do 725 j=1,JM |
|
|
DTSURF(j)=TSURFD(j)-TSURFT(j) |
|
|
TSURFD(j)=0. |
|
|
725 continue |
|
153 |
if(JDATE.le.16)then |
if(JDATE.le.16)then |
154 |
do 723 j=1,JM |
do 723 j=1,JM |
155 |
TSURFT(j)=((16-JDATE)*TSURFC(j,MONTH-1)+ |
TSURFT(j)=((16-JDATE)*TSURFC(j,MONTH-1)+ |
156 |
* (JDATE+15)*TSURFC(j,MONTH))/31. |
* (JDATE+15)*TSURFC(j,MONTH))/31. |
157 |
|
TLANDT(j)=((16-JDATE)*TLANDC(j,MONTH-1)+ |
158 |
|
* (JDATE+15)*TLANDC(j,MONTH))/31. |
159 |
723 continue |
723 continue |
160 |
else |
else |
161 |
do 724 j=1,JM |
do 724 j=1,JM |
162 |
TSURFT(j)=((JDATE-16)*TSURFC(j,MONTH+1)+ |
TSURFT(j)=((JDATE-16)*TSURFC(j,MONTH+1)+ |
163 |
* (31-JDATE+16)*TSURFC(j,MONTH))/31. |
* (31-JDATE+16)*TSURFC(j,MONTH))/31. |
164 |
|
TLANDT(j)=((JDATE-16)*TLANDC(j,MONTH+1)+ |
165 |
|
* (31-JDATE+16)*TLANDC(j,MONTH))/31. |
166 |
724 continue |
724 continue |
167 |
endif |
endif |
168 |
|
! print *,'From daily_new TSURFD' |
169 |
|
! print *,TSURFD |
170 |
|
! print *,'TSURFT' |
171 |
|
! print *,TSURFT |
172 |
|
! print *,'From daily_new TLANDD' |
173 |
|
! print *,TLANDD |
174 |
|
! print *,'TLANDT' |
175 |
|
! print *,TLANDT |
176 |
|
do 725 j=1,JM |
177 |
|
DT2MGL(j)=TSURFD(j)-TSURFT(j) |
178 |
|
DT2MLD(j)=TLANDD(j)-TLANDT(j) |
179 |
|
TSURFD(j)=0. |
180 |
|
TLANDD(j)=0. |
181 |
|
725 continue |
182 |
|
#if ( defined CLM ) |
183 |
|
DT2MLAND=0. |
184 |
|
AREAL=0. |
185 |
|
do j=1,jm |
186 |
|
DT2MLAND=DT2MLAND+DT2MLD(J)*DXYP(j)*FDATA(1,j,2) |
187 |
|
AREAL=AREAL+DXYP(j)*FDATA(1,j,2) |
188 |
|
end do !j |
189 |
|
DT2MLAND=DT2MLAND/AREAL |
190 |
|
! print *,'DT2MLD' |
191 |
|
! print *,DT2MLD |
192 |
|
if(JDATE.eq.1)then |
193 |
|
print *,'JDATE=',JDATE,' DT2MLAND=',DT2MLAND |
194 |
|
endif |
195 |
|
! print *,'AREAL=',AREAL |
196 |
|
#endif |
197 |
|
|
198 |
#endif |
#endif |
199 |
|
|
200 |
RETURN 1108.5 |
RETURN 1108.5 |