93 |
c started: Christian Eckert eckert@mit.edu 27-Aug-1999 |
c started: Christian Eckert eckert@mit.edu 27-Aug-1999 |
94 |
c |
c |
95 |
c changed: Christian Eckert eckert@mit.edu 14-Jan-2000 |
c changed: Christian Eckert eckert@mit.edu 14-Jan-2000 |
|
c |
|
96 |
c - restructured the original version in order to have a |
c - restructured the original version in order to have a |
97 |
c better interface to the MITgcmUV. |
c better interface to the MITgcmUV. |
98 |
c |
c |
99 |
c Christian Eckert eckert@mit.edu 12-Feb-2000 |
c Christian Eckert eckert@mit.edu 12-Feb-2000 |
|
c |
|
100 |
c - Changed Routine names (package prefix: exf_) |
c - Changed Routine names (package prefix: exf_) |
101 |
c |
c |
102 |
c Patrick Heimbach, heimbach@mit.edu 04-May-2000 |
c Patrick Heimbach, heimbach@mit.edu 04-May-2000 |
|
c |
|
103 |
c - changed the handling of precip and sflux with respect |
c - changed the handling of precip and sflux with respect |
104 |
c to CPP options ALLOW_BULKFORMULAE and ALLOW_ATM_TEMP |
c to CPP options ALLOW_BULKFORMULAE and ALLOW_ATM_TEMP |
|
c |
|
105 |
c - included some CPP flags ALLOW_BULKFORMULAE to make |
c - included some CPP flags ALLOW_BULKFORMULAE to make |
106 |
c sure ALLOW_ATM_TEMP, ALLOW_ATM_WIND are used only in |
c sure ALLOW_ATM_TEMP, ALLOW_ATM_WIND are used only in |
107 |
c conjunction with defined ALLOW_BULKFORMULAE |
c conjunction with defined ALLOW_BULKFORMULAE |
|
c |
|
108 |
c - statement functions discarded |
c - statement functions discarded |
109 |
c |
c |
110 |
c Ralf.Giering@FastOpt.de 25-Mai-2000 |
c Ralf.Giering@FastOpt.de 25-Mai-2000 |
|
c |
|
111 |
c - total rewrite using new subroutines |
c - total rewrite using new subroutines |
112 |
c |
c |
113 |
|
c Detlef Stammer: include river run-off. Nov. 21, 2001 |
114 |
|
c |
115 |
|
c heimbach@mit.edu, 10-Jan-2002 |
116 |
|
c - changes to enable field swapping |
117 |
|
c |
118 |
c ================================================================== |
c ================================================================== |
119 |
c SUBROUTINE exf_GetFFields |
c SUBROUTINE exf_GetFFields |
120 |
c ================================================================== |
c ================================================================== |
214 |
#ifdef ALLOW_BULKFORMULAE |
#ifdef ALLOW_BULKFORMULAE |
215 |
|
|
216 |
#if (defined (ALLOW_ATM_TEMP) || defined (ALLOW_ATM_WIND)) |
#if (defined (ALLOW_ATM_TEMP) || defined (ALLOW_ATM_WIND)) |
217 |
|
cph This statement cannot be a PARAMETER statement in the header, |
218 |
|
cph but must come here; it's not fortran77 standard |
219 |
aln = log(ht/zref) |
aln = log(ht/zref) |
220 |
#endif |
#endif |
221 |
|
|
514 |
|
|
515 |
hs(i,j,bi,bj) = atmcp*tau*tstar/ustar |
hs(i,j,bi,bj) = atmcp*tau*tstar/ustar |
516 |
hl(i,j,bi,bj) = flamb*tau*qstar/ustar |
hl(i,j,bi,bj) = flamb*tau*qstar/ustar |
|
|
|
517 |
evap(i,j,bi,bj) = tau*qstar/ustar |
evap(i,j,bi,bj) = tau*qstar/ustar |
|
|
|
518 |
ustress(i,j,bi,bj) = tau*cw |
ustress(i,j,bi,bj) = tau*cw |
519 |
vstress(i,j,bi,bj) = tau*sw |
vstress(i,j,bi,bj) = tau*sw |
|
ce hflux(i,j,bi,bj) = atmcp*tau*tstar/ustar + |
|
|
ce & flamb*tau*qstar/ustar |
|
520 |
else |
else |
521 |
ustress(i,j,bi,bj) = 0. _d 0 |
ustress(i,j,bi,bj) = 0. _d 0 |
522 |
vstress(i,j,bi,bj) = 0. _d 0 |
vstress(i,j,bi,bj) = 0. _d 0 |
562 |
hflux(i,j,bi,bj) = hflux(i,j,bi,bj)*maskc(i,j,1,bi,bj) |
hflux(i,j,bi,bj) = hflux(i,j,bi,bj)*maskc(i,j,1,bi,bj) |
563 |
sflux(i,j,bi,bj) = sflux(i,j,bi,bj)*maskc(i,j,1,bi,bj) |
sflux(i,j,bi,bj) = sflux(i,j,bi,bj)*maskc(i,j,1,bi,bj) |
564 |
#endif /* ALLOW_BULKFORMULAE */ |
#endif /* ALLOW_BULKFORMULAE */ |
565 |
|
|
566 |
|
#ifdef ALLOW_RUNOFF |
567 |
|
sflux(i,j,bi,bj) = sflux(i,j,bi,bj) + |
568 |
|
& runoff(i,j,bi,bj)*maskc(i,j,1,bi,bj) |
569 |
|
#endif /* ALLOW_RUNOFF */ |
570 |
|
|
571 |
enddo |
enddo |
572 |
enddo |
enddo |
573 |
enddo |
enddo |