140 |
|
|
141 |
#ifdef ALLOW_BULKFORMULAE |
#ifdef ALLOW_BULKFORMULAE |
142 |
|
|
143 |
|
_RL aln |
144 |
|
|
145 |
#ifdef ALLOW_ATM_TEMP |
#ifdef ALLOW_ATM_TEMP |
146 |
integer iter |
integer iter |
|
_RL aln |
|
147 |
_RL delq |
_RL delq |
148 |
_RL deltap |
_RL deltap |
149 |
_RL hqol |
_RL hqol |
294 |
|
|
295 |
#endif |
#endif |
296 |
|
|
297 |
|
#ifdef ATMOSPHERIC_LOADING |
298 |
|
c Atmos. pressure forcing |
299 |
|
call exf_set_apressure ( mycurrenttime, mycurrentiter, mythid ) |
300 |
|
#endif |
301 |
|
|
302 |
c-- Use atmospheric state to compute surface fluxes. |
c-- Use atmospheric state to compute surface fluxes. |
303 |
|
|
304 |
c Loop over tiles. |
c Loop over tiles. |
315 |
|
|
316 |
k = 1 |
k = 1 |
317 |
|
|
318 |
cdm? can olx, oly be eliminated? |
do j = 1,sny |
319 |
do j = 1-oly,sny+oly |
do i = 1,snx |
|
do i = 1-olx,snx+olx |
|
320 |
|
|
321 |
#ifdef ALLOW_BULKFORMULAE |
#ifdef ALLOW_BULKFORMULAE |
322 |
|
|
329 |
max3 = nTx*nTy |
max3 = nTx*nTy |
330 |
act4 = ikey_dynamics - 1 |
act4 = ikey_dynamics - 1 |
331 |
|
|
332 |
ikey_1 = i+olx |
ikey_1 = i |
333 |
& + sNx*(j+oly-1) |
& + sNx*(j-1) |
334 |
& + sNx*sNy*act1 |
& + sNx*sNy*act1 |
335 |
& + sNx*sNy*max1*act2 |
& + sNx*sNy*max1*act2 |
336 |
& + sNx*sNy*max1*max2*act3 |
& + sNx*sNy*max1*max2*act3 |
456 |
|
|
457 |
#ifdef ALLOW_AUTODIFF_TAMC |
#ifdef ALLOW_AUTODIFF_TAMC |
458 |
ikey_2 = iter |
ikey_2 = iter |
459 |
& + niter_bulk*(i+olx-1) |
& + niter_bulk*(i-1) |
460 |
& + sNx*niter_bulk*(j+oly-1) |
& + sNx*niter_bulk*(j-1) |
461 |
& + sNx*niter_bulk*sNy*act1 |
& + sNx*niter_bulk*sNy*act1 |
462 |
& + sNx*niter_bulk*sNy*max1*act2 |
& + sNx*niter_bulk*sNy*max1*act2 |
463 |
& + sNx*niter_bulk*sNy*max1*max2*act3 |
& + sNx*niter_bulk*sNy*max1*max2*act3 |
598 |
c Update the tile edges. |
c Update the tile edges. |
599 |
_EXCH_XY_R8(hflux, mythid) |
_EXCH_XY_R8(hflux, mythid) |
600 |
_EXCH_XY_R8(sflux, mythid) |
_EXCH_XY_R8(sflux, mythid) |
601 |
_EXCH_XY_R8(ustress, mythid) |
c _EXCH_XY_R8(ustress, mythid) |
602 |
_EXCH_XY_R8(vstress, mythid) |
c _EXCH_XY_R8(vstress, mythid) |
603 |
|
CALL EXCH_UV_XY_RL(ustress, vstress, .TRUE., myThid) |
604 |
|
|
605 |
#ifdef SHORTWAVE_HEATING |
#ifdef SHORTWAVE_HEATING |
606 |
_EXCH_XY_R8(swflux, mythid) |
_EXCH_XY_R8(swflux, mythid) |
607 |
#endif |
#endif |
608 |
|
|
609 |
|
#ifdef ATMOSPHERIC_LOADING |
610 |
|
_EXCH_XY_R8(apressure, mythid) |
611 |
|
#endif |
612 |
|
|
613 |
end |
end |