115 |
c heimbach@mit.edu, 10-Jan-2002 |
c heimbach@mit.edu, 10-Jan-2002 |
116 |
c - changes to enable field swapping |
c - changes to enable field swapping |
117 |
c |
c |
118 |
|
c menemenlis@jpl.nasa.gov, 20-Dec-2002 |
119 |
|
c - Added EXF_READ_EVAP and EXF_NO_BULK_COMPUTATIONS. |
120 |
|
c |
121 |
c ================================================================== |
c ================================================================== |
122 |
c SUBROUTINE exf_GetFFields |
c SUBROUTINE exf_GetFFields |
123 |
c ================================================================== |
c ================================================================== |
178 |
_RL xsq |
_RL xsq |
179 |
_RL x |
_RL x |
180 |
_RL tau |
_RL tau |
|
_RL evap(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
|
181 |
#ifdef ALLOW_AUTODIFF_TAMC |
#ifdef ALLOW_AUTODIFF_TAMC |
182 |
integer ikey_1 |
integer ikey_1 |
183 |
integer ikey_2 |
integer ikey_2 |
221 |
|
|
222 |
c determine forcing field records |
c determine forcing field records |
223 |
|
|
224 |
|
#ifdef EXF_READ_EVAP |
225 |
|
c Evaporation |
226 |
|
call exf_set_evap( mycurrenttime, mycurrentiter, mythid ) |
227 |
|
#endif EXF_READ_EVAP |
228 |
|
|
229 |
#ifdef ALLOW_BULKFORMULAE |
#ifdef ALLOW_BULKFORMULAE |
230 |
|
|
231 |
#if (defined (ALLOW_ATM_TEMP) || defined (ALLOW_ATM_WIND)) |
#if (defined (ALLOW_ATM_TEMP) || defined (ALLOW_ATM_WIND)) |
320 |
|
|
321 |
#endif /* ALLOW_BULKFORMULAE */ |
#endif /* ALLOW_BULKFORMULAE */ |
322 |
|
|
323 |
|
#if ~defined(EXF_NO_BULK_COMPUTATIONS) || ~defined(EXF_READ_EVAP) |
324 |
|
C-- Use atmospheric state to compute surace fluxes. |
325 |
|
|
326 |
c Loop over tiles. |
c Loop over tiles. |
327 |
#ifdef ALLOW_AUTODIFF_TAMC |
#ifdef ALLOW_AUTODIFF_TAMC |
328 |
C-- HPF directive to help TAMC |
C-- HPF directive to help TAMC |
532 |
|
|
533 |
hs(i,j,bi,bj) = atmcp*tau*tstar/ustar |
hs(i,j,bi,bj) = atmcp*tau*tstar/ustar |
534 |
hl(i,j,bi,bj) = flamb*tau*qstar/ustar |
hl(i,j,bi,bj) = flamb*tau*qstar/ustar |
535 |
|
#ifndef EXF_READ_EVAP |
536 |
evap(i,j,bi,bj) = tau*qstar/ustar |
evap(i,j,bi,bj) = tau*qstar/ustar |
537 |
|
#endif EXF_READ_EVAP |
538 |
ustress(i,j,bi,bj) = tau*cw |
ustress(i,j,bi,bj) = tau*cw |
539 |
vstress(i,j,bi,bj) = tau*sw |
vstress(i,j,bi,bj) = tau*sw |
540 |
else |
else |
593 |
enddo |
enddo |
594 |
enddo |
enddo |
595 |
|
|
596 |
|
#endif EXF_NO_BULK_COMPUTATIONS |
597 |
|
|
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) |