7 |
I uw, vw, us, Ta, Qa, nc, tsf_in, |
I uw, vw, us, Ta, Qa, nc, tsf_in, |
8 |
O flwupa, flha, fsha, df0dT, |
O flwupa, flha, fsha, df0dT, |
9 |
O ust, vst, evp, ssq, dEvdT, |
O ust, vst, evp, ssq, dEvdT, |
10 |
I iceornot, windread ) |
I iceornot, myThid ) |
11 |
|
|
12 |
c swd -- bulkf formula used in bulkf and ice pkgs |
c swd -- bulkf formula used in bulkf and ice pkgs |
13 |
c taken from exf package |
c taken from exf package |
31 |
_RL tsf_in ! surface temperature (either ice or open water) |
_RL tsf_in ! surface temperature (either ice or open water) |
32 |
_RL nc ! fraction cloud cover |
_RL nc ! fraction cloud cover |
33 |
integer iceornot ! 0=open water, 1=ice cover |
integer iceornot ! 0=open water, 1=ice cover |
34 |
logical windread ! |
integer myThid ! my Thread Id number |
35 |
c output |
c output |
36 |
_RL flwupa ! upward long wave radiation (>0 upward) |
_RL flwupa ! upward long wave radiation (>0 upward) |
37 |
_RL flha ! latent heat flux (>0 downward) |
_RL flha ! latent heat flux (>0 downward) |
84 |
_RL clha |
_RL clha |
85 |
_RL zice |
_RL zice |
86 |
_RL ssq0, ssq1, ssq2 ! constant used in surface specific humidity |
_RL ssq0, ssq1, ssq2 ! constant used in surface specific humidity |
87 |
|
_RL bulkf_Cdn ! drag coefficient |
88 |
integer niter_bulk, iter |
integer niter_bulk, iter |
89 |
|
|
90 |
c --- external functions --- |
c --- external functions --- |
91 |
_RL exf_BulkCdn |
c _RL exf_BulkCdn |
92 |
external exf_BulkCdn |
c external exf_BulkCdn |
93 |
c _RL exf_BulkqSat |
c _RL exf_BulkqSat |
94 |
c external exf_BulkqSat |
c external exf_BulkqSat |
95 |
c _RL exf_BulkRhn |
c _RL exf_BulkRhn |
211 |
df0dT=-dflwupdT+dfshdT+dflhdT |
df0dT=-dflwupdT+dfshdT+dflhdT |
212 |
c |
c |
213 |
c wind stress at center points |
c wind stress at center points |
214 |
if (.NOT.windread) then |
c if (.NOT.windread) then |
215 |
ust = rhoa*exf_BulkCdn(usm)*us*uw |
c ust = rhoa*exf_BulkCdn(usm)*us*uw |
216 |
vst = rhoa*exf_BulkCdn(usm)*us*vw |
c vst = rhoa*exf_BulkCdn(usm)*us*vw |
217 |
endif |
c endif |
218 |
|
C- In-lining of function: exf_BulkCdn(umps) = cdrag_1/umps + cdrag_2 + cdrag_3*umps |
219 |
|
bulkf_Cdn = cdrag_1/usm + cdrag_2 + cdrag_3*usm |
220 |
|
ust = rhoa*bulkf_Cdn*us*uw |
221 |
|
vst = rhoa*bulkf_Cdn*us*vw |
222 |
#endif /*ALLOW_BULK_FORCE*/ |
#endif /*ALLOW_BULK_FORCE*/ |
223 |
|
|
224 |
RETURN |
RETURN |