33 |
#include "EEPARAMS.h" |
#include "EEPARAMS.h" |
34 |
#include "SIZE.h" |
#include "SIZE.h" |
35 |
#include "DYNVARS.h" |
#include "DYNVARS.h" |
36 |
|
#include "TR1.h" |
37 |
|
|
38 |
#include "ctrl.h" |
#include "ctrl.h" |
39 |
#include "ctrl_dummy.h" |
#include "ctrl_dummy.h" |
40 |
|
#include "optim.h" |
41 |
|
|
42 |
c == routine arguments == |
c == routine arguments == |
43 |
|
|
60 |
|
|
61 |
character*( 80) fnametheta |
character*( 80) fnametheta |
62 |
character*( 80) fnamesalt |
character*( 80) fnamesalt |
63 |
|
character*( 80) fnametr1 |
64 |
|
character*( 80) fnamediffkr |
65 |
|
character*( 80) fnamekapgm |
66 |
|
|
67 |
c == external == |
c == external == |
68 |
|
|
141 |
enddo |
enddo |
142 |
#endif |
#endif |
143 |
|
|
144 |
|
#ifdef ALLOW_TR10_CONTROL |
145 |
|
c-- Temperature field. |
146 |
|
il=ilnblnk( xx_tr1_file ) |
147 |
|
write(fnametr1(1:80),'(2a,i10.10)') |
148 |
|
& xx_tr1_file(1:il),'.',optimcycle |
149 |
|
call active_read_xyz( fnametr1, tmpfld3d, 1, |
150 |
|
& doglobalread, ladinit, optimcycle, |
151 |
|
& mythid, xx_tr1_dummy ) |
152 |
|
|
153 |
|
do bj = jtlo,jthi |
154 |
|
do bi = itlo,ithi |
155 |
|
do k = 1,nr |
156 |
|
do j = jmin,jmax |
157 |
|
do i = imin,imax |
158 |
|
tr1(i,j,k,bi,bj) = tr1(i,j,k,bi,bj) + |
159 |
|
& fac*tmpfld3d(i,j,k,bi,bj) |
160 |
|
gsNm1(i,j,k,bi,bj) = gsNm1(i,j,k,bi,bj) + |
161 |
|
& fac*tmpfld3d(i,j,k,bi,bj) |
162 |
|
enddo |
163 |
|
enddo |
164 |
|
enddo |
165 |
|
enddo |
166 |
|
enddo |
167 |
|
#endif |
168 |
|
|
169 |
|
#ifdef ALLOW_DIFFKR_CONTROL |
170 |
|
c-- diffkr. |
171 |
|
il=ilnblnk( xx_diffkr_file ) |
172 |
|
write(fnamediffkr(1:80),'(2a,i10.10)') |
173 |
|
& xx_diffkr_file(1:il),'.',optimcycle |
174 |
|
call active_read_xyz( fnamediffkr, tmpfld3d, 1, |
175 |
|
& doglobalread, ladinit, optimcycle, |
176 |
|
& mythid, xx_diffkr_dummy ) |
177 |
|
do bj = jtlo,jthi |
178 |
|
do bi = itlo,ithi |
179 |
|
do k = 1,nr |
180 |
|
do j = jmin,jmax |
181 |
|
do i = imin,imax |
182 |
|
diffkr(i,j,k,bi,bj) = diffkr(i,j,k,bi,bj) + |
183 |
|
& tmpfld3d(i,j,k,bi,bj) |
184 |
|
enddo |
185 |
|
enddo |
186 |
|
enddo |
187 |
|
enddo |
188 |
|
enddo |
189 |
|
#endif |
190 |
|
|
191 |
|
#ifdef ALLOW_KAPGM_CONTROL |
192 |
|
c-- kapgm. |
193 |
|
il=ilnblnk( xx_kapgm_file ) |
194 |
|
write(fnamekapgm(1:80),'(2a,i10.10)') |
195 |
|
& xx_kapgm_file(1:il),'.',optimcycle |
196 |
|
call active_read_xyz( fnamekapgm, tmpfld3d, 1, |
197 |
|
& doglobalread, ladinit, optimcycle, |
198 |
|
& mythid, xx_kapgm_dummy ) |
199 |
|
do bj = jtlo,jthi |
200 |
|
do bi = itlo,ithi |
201 |
|
do k = 1,nr |
202 |
|
do j = jmin,jmax |
203 |
|
do i = imin,imax |
204 |
|
kapgm(i,j,k,bi,bj) = kapgm(i,j,k,bi,bj) + |
205 |
|
& tmpfld3d(i,j,k,bi,bj) |
206 |
|
enddo |
207 |
|
enddo |
208 |
|
enddo |
209 |
|
enddo |
210 |
|
enddo |
211 |
|
#endif |
212 |
|
|
213 |
|
|
214 |
c-- Update the tile edges. |
c-- Update the tile edges. |
215 |
|
|
221 |
_EXCH_XYZ_R8( salt, mythid ) |
_EXCH_XYZ_R8( salt, mythid ) |
222 |
_EXCH_XYZ_R8( gsNm1, mythid ) |
_EXCH_XYZ_R8( gsNm1, mythid ) |
223 |
#endif |
#endif |
224 |
|
#ifdef ALLOW_TR10_CONTROL |
225 |
|
_EXCH_XYZ_R8( tr1, mythid ) |
226 |
|
_EXCH_XYZ_R8( gTr1Nm1, mythid ) |
227 |
|
#endif |
228 |
|
#ifdef ALLOW_DIFFKR_CONTROL |
229 |
|
_EXCH_XYZ_R8( diffkr, mythid) |
230 |
|
#endif |
231 |
|
#ifdef ALLOW_KAPGM_CONTROL |
232 |
|
_EXCH_XYZ_R8( kapgm, mythid) |
233 |
|
#endif |
234 |
|
|
235 |
|
|
236 |
return |
return |
237 |
end |
end |