81 |
ENDDO |
ENDDO |
82 |
ENDDO |
ENDDO |
83 |
|
|
84 |
|
print *,' in diag_vegtile_fill for ',chardiag, |
85 |
|
. ' ndiagnum ',ndiagnum,' ipointer ',ipointer |
86 |
|
|
87 |
C If-sequence to see if we are a valid and an active diagnostic |
C If-sequence to see if we are a valid and an active diagnostic |
88 |
|
|
89 |
IF ( ndiagnum.NE.0 .AND. ipointer.NE.0 ) THEN |
IF ( ndiagnum.NE.0 .AND. ipointer.NE.0 ) THEN |
148 |
|
|
149 |
DO k = kFirst,kLast |
DO k = kFirst,kLast |
150 |
kd = kd0 + ksgn*k |
kd = kd0 + ksgn*k |
151 |
|
print *,' level slot in qdiag= ',kd, ' level from input= ',k |
152 |
if( check ) then |
if( check ) then |
153 |
undef = getcon('UNDEF') |
undef = getcon('UNDEF') |
154 |
do i= 1,Lena |
do i= 1,Lena |
155 |
jindx = 1 + int((indx(i+offset-1)-1)/sNx) |
jindx = 1 + int((indx(i+offset-1)-1)/sNx) |
156 |
newindx = indx(i+offset-1)+(jindx-1)*2*Olx+(sNx+2*Olx)*Oly+Olx |
newindx = indx(i+offset-1)+(jindx-1)*2*Olx |
157 |
if(qdiag(newindx,1,kd,bi,bj).eq.undef |
if(qdiag(newindx,1,kd,bi,bj).eq.undef |
158 |
. .or.field(i,k).eq.undef)then |
. .or.field(i,k).eq.undef)then |
159 |
qdiag(newindx,1,kd,bi,bj) = undef |
qdiag(newindx,1,kd,bi,bj) = undef |
160 |
else |
else |
161 |
qdiag(newindx,1,kd,bi,bj)=qdiag(newindx,1,kd,bi,bj)+ |
qdiag(newindx,1,kd,bi,bj)=qdiag(newindx,1,kd,bi,bj)+ |
162 |
. field(i,k)*chfr(i) |
. field(i,k)*chfr(i) |
163 |
endif |
endif |
164 |
enddo |
enddo |
165 |
else |
else |
166 |
do i= 1,Lena |
do i= 1,Lena |
167 |
jindx = 1 + int((indx(i+offset-1)-1)/sNx) |
jindx = 1 + int((indx(i+offset-1)-1)/sNx) |
168 |
newindx = indx(i+offset-1)+(jindx-1)*2*Olx+(sNx+2*Olx)*Oly+Olx |
newindx = indx(i+offset-1)+(jindx-1)*2*Olx |
169 |
qdiag(newindx,1,kd,bi,bj)=qdiag(newindx,1,kd,bi,bj)+ |
qdiag(newindx,1,kd,bi,bj)=qdiag(newindx,1,kd,bi,bj)+ |
170 |
. field(i,k)*chfr(i) |
. field(i,k)*chfr(i) |
171 |
enddo |
enddo |
172 |
endif |
endif |
173 |
ENDDO |
ENDDO |