SURFEX  V8_0
Surfex V8_0 release
 All Classes Files Functions Variables
flake_interface.F90
Go to the documentation of this file.
1 !SFX_LIC Copyright 1994-2014 CNRS, Meteo-France and Universite Paul Sabatier
2 !SFX_LIC This is part of the SURFEX software governed by the CeCILL-C licence
3 !SFX_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
4 !SFX_LIC for details. version 1.
5 ! ###############################################################################
6 SUBROUTINE flake_interface (KI, &
7 ! Atmospheric forcing
8  dmsnowdt_in, i_atm_in, q_atm_lw_in, height_u_in, height_tq_in, &
9  u_a_in, t_a_in, q_a_in, p_a_in, &
10 ! Constant parameters
11  depth_w, fetch, depth_bs, t_bs, par_coriolis, del_time, &
12 ! Parameters that may change
13  emis_water, albedo, &
14  extincoef_water, extincoef_ice, extincoef_snow, &
15 ! Flake variables
16  t_snow, t_ice, t_mnw, t_wml, t_bot, t_b1, c_t, h_snow, h_ice, &
17  h_ml, h_b1, t_sfc, &
18 ! Surface heat, momentum fluxes, and other diags
19  q_sensible, q_latent ,q_momentum, z0, z0t, qsat, ri, ustar, cd_a, &
20  q_watvap, q_latenti, q_sublim, q_atm_lw_up, pswe, &
21 ! Switches to configure FLake runs
22  lflk_botsed, lflk_skintemp, hflk_flux, ppew_a_coef, ppew_b_coef, &
23  rho_a, himplicit_wind )
24 !------------------------------------------------------------------------------
25 !
26 ! Description:
27 !
28 ! The FLake interface is
29 ! a communication routine between "flake_driver"
30 ! and a prediction system that uses FLake.
31 ! It assigns the FLake variables at the previous time step
32 ! to their input values given by the driving model,
33 ! calls a number of routines to compute the heat and radiation fluxes,
34 ! calls "flake_driver",
35 ! and returns the updated FLake variables to the driving model.
36 ! The "flake_interface" does not contain any Flake physics.
37 ! It only serves as a convenient means to organize calls of "flake_driver"
38 ! and of external routines that compute heat and radiation fluxes.
39 ! The interface may (should) be changed so that to provide
40 ! the most convenient use of FLake.
41 ! Within a 3D atmospheric prediction system,
42 ! "flake_driver" may be called in a DO loop within "flake_interface"
43 ! for each grid-point where a lake is present.
44 ! In this way, the driving atmospheric model should call "flake_interface"
45 ! only once, passing the FLake variables to "flake_interface" as 2D fields.
46 !
47 ! Lines embraced with "!_tmp" contain temporary parts of the code.
48 ! These should be removed prior to using FLake in applications.
49 ! Lines embraced/marked with "!_dev" may be replaced
50 ! as improved parameterizations are developed and tested.
51 ! Lines embraced/marked with "!_dm" are DM's comments
52 ! that may be helpful to a user.
53 !
54 !
55 ! Current Code Owner: DWD, Dmitrii Mironov
56 ! Phone: +49-69-8062 2705
57 ! Fax: +49-69-8062 3721
58 ! E-mail: dmitrii.mironov@dwd.de
59 !
60 ! History:
61 ! Version Date Name
62 ! ---------- ---------- ----
63 ! 1.00 2005/11/17 Dmitrii Mironov
64 ! Initial release
65 ! !VERSION! !DATE! <Your name>
66 ! <Modification comments>
67 !
68 ! Code Description:
69 ! Language: Fortran 90.
70 ! Software Standards: "European Standards for Writing and
71 ! Documenting Exchangeable Fortran 90 Code".
72 !==============================================================================
73 !
74 ! Declarations:
75 !
76 ! Modules used:
77 
78 !USE modd_data_parameters , ONLY : &
79 ! ireals, &! KIND-type parameter for real variables
80 ! iintegers ! KIND-type parameter for "normal" integer variables
81 
82 USE modd_flake_derivedtypes ! Definitions of several derived TYPEs
83 
84 USE modd_flake_parameters , ONLY : &
85  tpl_kappa_w , &! Molecular heat conductivity of water [J m^{-1} s^{-1} K^{-1}]
86  tpl_t_f , &! Fresh water freezing point [K]
87  tpl_rho_w_r , &! Maximum density of fresh water [kg m^{-3}]
88  h_snow_min_flk , &! Minimum snow thickness [m]
89  h_ice_min_flk , &! Minimum ice thickness [m]
90  h_skinlayer_flk ! Skin layer thickness [m]
91 
92 USE modd_flake_paramoptic_ref ! Reference values of the optical characteristics
93  ! of the lake water, lake ice and snow
94 
95 USE mode_flake , ONLY : &
96  flake_driver , &! Subroutine, FLake driver
97  flake_radflux , &! Subroutine, computes radiation fluxes at various depths
98  flake_snowdensity , &! Function, computes snow density
99  !
100  t_snow_p_flk, t_snow_n_flk , &! Temperature at the air-snow interface [K]
101  t_ice_p_flk, t_ice_n_flk , &! Temperature at the snow-ice or air-ice interface [K]
102  t_mnw_p_flk, t_mnw_n_flk , &! Mean temperature of the water column [K]
103  t_wml_p_flk, t_wml_n_flk , &! Mixed-layer temperature [K]
104  t_bot_p_flk, t_bot_n_flk , &! Temperature at the water-bottom sediment interface [K]
105  t_b1_p_flk, t_b1_n_flk , &! Temperature at the bottom of the upper layer of the sediments [K]
106  c_t_p_flk, c_t_n_flk , &! Shape factor (thermocline)
107  h_snow_p_flk, h_snow_n_flk , &! Snow thickness [m]
108  h_ice_p_flk, h_ice_n_flk , &! Ice thickness [m]
109  h_ml_p_flk, h_ml_n_flk , &! Thickness of the mixed-layer [m]
110  h_b1_p_flk, h_b1_n_flk , &! Thickness of the upper layer of bottom sediments [m]
111  !
112  q_snow_flk , &! Heat flux through the air-snow interface [W m^{-2}]
113  q_ice_flk , &! Heat flux through the snow-ice or air-ice interface [W m^{-2}]
114  q_w_flk , &! Heat flux through the ice-water or air-water interface [W m^{-2}]
115  q_bot_flk , &! Heat flux through the water-bottom sediment interface [W m^{-2}]
116  i_atm_flk , &! Radiation flux at the lower boundary of the atmosphere [W m^{-2}],
117  ! i.e. the incident radiation flux with no regard for the surface albedo
118  i_snow_flk , &! Radiation flux through the air-snow interface [W m^{-2}]
119  i_ice_flk , &! Radiation flux through the snow-ice or air-ice interface [W m^{-2}]
120  i_w_flk , &! Radiation flux through the ice-water or air-water interface [W m^{-2}]
121  i_h_flk , &! Radiation flux through the mixed-layer-thermocline interface [W m^{-2}]
122  i_bot_flk , &! Radiation flux through the water-bottom sediment interface [W m^{-2}]
123  i_intm_0_h_flk , &! Mean radiation flux over the mixed layer [W m^{-1}]
124  i_intm_h_d_flk , &! Mean radiation flux over the thermocline [W m^{-1}]
125  q_star_flk , &! A generalized heat flux scale [W m^{-2}]
126  u_star_w_flk , &! Friction velocity in the surface layer of lake water [m s^{-1}]
127  w_star_sfc_flk , &! Convective velocity scale, using a generalized heat flux scale [m s^{-1}]
128  dmsnowdt_flk ! The rate of snow accumulation [kg m^{-2} s^{-1}]
129 
130 
131 USE mode_sfcflx , ONLY : &
132  sfcflx_lwradwsfc , &! Function, returns the surface long-wave radiation flux
133  sfcflx_momsenlat , &! Subroutine, computes fluxes of momentum and of sensible and latent heat
134  z0u_sf , &! Roughness length with respect to wind velocity [m]
135  z0t_sf ! Roughness length with respect to potential temperature [m]
136 
137 
138 USE modd_flake_configure, ONLY : lflk_botsed_use
139 !==============================================================================
140 !
141 USE modi_wind_threshold
142 !
143 USE yomhook ,ONLY : lhook, dr_hook
144 USE parkind1 ,ONLY : jprb
145 !
146 !
147 IMPLICIT NONE
148 
149 !==============================================================================
150 !
151 ! Declarations
152 
153 !
154 !* 0.1 declarations of arguments
155 !
156 ! Input (procedure arguments)
157 !
158 INTEGER, INTENT(IN) :: ki ! number of points
159 !
160 INTEGER :: i ! DO loop index
161 !
162 REAL, DIMENSION(KI), INTENT(IN) :: &
163  dmsnowdt_in , &! The rate of snow accumulation [kg m^{-2} s^{-1}]
164  i_atm_in , &! Solar radiation flux at the surface [W m^{-2}]
165  q_atm_lw_in , &! Long-wave radiation flux from the atmosphere [W m^{-2}]
166  height_u_in , &! Height above the lake surface where the wind speed is measured [m]
167  height_tq_in , &! Height where temperature and humidity are measured [m]
168  u_a_in , &! Wind speed at z=height_u_in [m s^{-1}]
169  t_a_in , &! Air temperature at z=height_tq_in [K]
170  q_a_in , &! Air specific humidity at z=height_tq_in
171  p_a_in ! Surface air pressure [N m^{-2} = kg m^{-1} s^{-2}]
172 
173 REAL, DIMENSION(KI), INTENT(IN) :: &
174  depth_w , &! The lake depth [m]
175  fetch , &! Typical wind fetch [m]
176  depth_bs , &! Depth of the thermally active layer of the bottom sediments [m]
177  t_bs , &! Temperature at the outer edge of
178  ! the thermally active layer of the bottom sediments [K]
179  par_coriolis , &! The Coriolis parameter [s^{-1}]
180  del_time , &! The model time step [s]
181  ppew_a_coef , &! coefficient A (m^2 s kg^{-1}) and B (m s^{-1})
182  ppew_b_coef , &! for wind implicitation : V+ = - A * rho_a u'w' + B
183  rho_a , &! Air density (kg m ^{-3}) (from forcing atm. data)
184  emis_water ! Water surface emissivity
185 !
186  CHARACTER(LEN=*), INTENT(IN) :: himplicit_wind ! wind implicitation option
187 ! ! 'OLD' = direct
188 ! ! 'NEW' = Taylor serie, order 1
189 !
190 LOGICAL, INTENT(IN) :: lflk_botsed ! Switch, .TRUE. -> use the bottom-sediment scheme
191 LOGICAL, INTENT(IN) :: lflk_skintemp ! Switch, .TRUE. -> use the skin temperature parameterization
192  CHARACTER(LEN=5),INTENT(IN) :: hflk_flux ! 'DEF '/'FLAKE' compute the surface fluxes if = 'FLAKE'
193 
194 !
195 ! Input/Output (procedure arguments)
196 
197 REAL, DIMENSION(KI), INTENT(IN) :: albedo ! surface albedo with respect to the solar radiation
198  ! (free water, ice or snow; e.g. update_rade_flake.f90)
199 
200 REAL, DIMENSION(KI), INTENT(INOUT) :: &
201  extincoef_water , &! extintion coefficient of water
202  extincoef_ice , &! extintion coefficient of ice
203  extincoef_snow ! extintion coefficient of snow
204 
205 REAL, DIMENSION(KI), INTENT(INOUT) :: &
206  t_snow , &! Temperature at the air-snow interface [K]
207  t_ice , &! Temperature at the snow-ice or air-ice interface [K]
208  t_mnw , &! Mean temperature of the water column [K]
209  t_wml , &! Mixed-layer temperature [K]
210  t_bot , &! Temperature at the water-bottom sediment interface [K]
211  t_b1 , &! Temperature at the bottom of the upper layer of the sediments [K]
212  c_t , &! Shape factor (thermocline)
213  h_snow , &! Snow thickness [m]
214  h_ice , &! Ice thickness [m]
215  h_ml , &! Thickness of the mixed-layer [m]
216  h_b1 , &! Thickness of the upper layer of bottom sediments [m]
217  t_sfc ! Surface temperature at the previous time step [K]
218 
219 ! Output (procedure arguments)
220 
221 REAL, DIMENSION(KI), INTENT(INOUT) :: &
222  q_sensible , &! Sensible heat flux [W m^{-2}]
223  q_latent , &! Total Latent heat flux [W m^{-2}]
224  q_watvap , &! Total Flux of water vapour [kg m^{-2} s^{-1}]
225  q_latenti , &! Sublimation Latent heat flux [W m^{-2}]
226  q_sublim , &! Flux of sublimation [kg m^{-2} s^{-1}]
227  q_momentum , &! Momentum flux [N m^{-2}]
228  z0 , &! Roughness length with respect to wind velocity [m]
229  z0t , &! Roughness length with respect to potential temperature [m]
230  ri , &! Gradient Richardson number
231  ustar , &! air friction velocity
232  cd_a ! wind drag coefficient [no unit]
233 !
234 REAL, DIMENSION(KI), INTENT(OUT) :: &
235  qsat , &! specific humidity at saturation [kg.kg-1]
236  q_atm_lw_up , &! Upward longwave flux at t [W m^{-2}]
237  pswe ! snow water equivalent [kg.m-2]
238 !
239 !* 0.2 declarations of local variables
240 !
241 INTEGER :: jl ! loop counter on horizontal points
242 
243 REAL :: t_sfc_n ! Surface temperature at the new time step [K]
244 REAL :: ustar2 ! square of air friction velocity (m2/s2)
245 REAL :: zvmod ! wind at t+1
246 REAL, DIMENSION(KI) :: &
247  zwind ! thresholded wind
248 
249 TYPE (opticpar_medium), DIMENSION(KI) :: &
250  opticpar_water , &! Optical characteristics of water
251  opticpar_ice , &! Optical characteristics of ice
252  opticpar_snow ! Optical characteristics of snow
253 REAL(KIND=JPRB) :: zhook_handle
254 !
255 REAL, PARAMETER :: ztimemax = 300. ! s Maximum timescale without time spliting
256 !
257 INTEGER :: jdt, indt
258 REAL :: zaux, zcond, zloc, ztstep
259 !
260 !==============================================================================
261 ! Start calculations
262 !------------------------------------------------------------------------------
263 IF (lhook) CALL dr_hook('FLAKE_INTERFACE',0,zhook_handle)
264 !
265 !------------------------------------------------------------------------------
266 ! Set optical characteristics of the lake water, lake ice and snow
267 !------------------------------------------------------------------------------
268 !
269 ! Use default values
270 !opticpar_water = opticpar_water_ref ! don't use default values
271 
272 opticpar_ice = opticpar_ice_opaque ! Opaque ice
273 opticpar_snow = opticpar_snow_opaque ! Opaque snow
274 !
275 lflk_botsed_use = lflk_botsed
276 !
277 zwind = wind_threshold(u_a_in,height_u_in)
278 !
279 h_point_loop: DO jl = 1,ki ! begin of loop on horizontal points
280 !------------------------------------------------------------------------------
281 ! Set initial values
282 !------------------------------------------------------------------------------
283 
284 opticpar_water(jl) = opticpar_medium(1, &
285  (/1., (0.,i=2,nband_optic_max)/), &
286  (/extincoef_water(jl), (1.e+10,i=2,nband_optic_max)/))
287  t_snow_p_flk = t_snow(jl)
288  t_ice_p_flk = t_ice(jl)
289  t_mnw_p_flk = t_mnw(jl)
290  t_wml_p_flk = t_wml(jl)
291  t_bot_p_flk = t_bot(jl)
292  t_b1_p_flk = t_b1(jl)
293  c_t_p_flk = c_t(jl)
294  h_snow_p_flk = h_snow(jl)
295  h_ice_p_flk = h_ice(jl)
296  h_ml_p_flk = h_ml(jl)
297  h_b1_p_flk = h_b1(jl)
298 
299 !------------------------------------------------------------------------------
300 ! Set the rate of snow accumulation
301 !------------------------------------------------------------------------------
302 
303  dmsnowdt_flk = dmsnowdt_in(jl)
304 
305 !------------------------------------------------------------------------------
306 ! Compute solar radiation fluxes (positive downward)
307 !------------------------------------------------------------------------------
308 
309  i_atm_flk = i_atm_in(jl)
310  CALL flake_radflux( depth_w(jl), albedo(jl), opticpar_water(jl), &
311  opticpar_ice(jl), opticpar_snow(jl) )
312 
313 !------------------------------------------------------------------------------
314 ! Compute long-wave radiation fluxes (positive downward)
315 ! lwd-lwu = emis*(lwd-sigma*ts**4)
316 !------------------------------------------------------------------------------
317 !
318  q_w_flk = emis_water(jl)*q_atm_lw_in(jl) - sfcflx_lwradwsfc(emis_water(jl),t_sfc(jl))
319 !
320  q_atm_lw_up(jl) = q_atm_lw_in(jl) - q_w_flk
321 !
322 !------------------------------------------------------------------------------
323 ! Compute the surface friction velocity and fluxes of sensible and latent heat
324 !------------------------------------------------------------------------------
325 
326  IF (hflk_flux=='FLAKE') THEN
327  !
328  q_momentum(jl) = - rho_a(jl) * ustar(jl)**2
329  !
330  CALL sfcflx_momsenlat( height_u_in(jl), height_tq_in(jl), fetch(jl), &
331  u_a_in(jl), t_a_in(jl), q_a_in(jl), t_sfc(jl), &
332  p_a_in(jl), h_ice_p_flk, q_momentum(jl), &
333  q_sensible(jl), q_latent(jl), q_watvap(jl), &
334  ri(jl), z0(jl), z0t(jl), qsat(jl), &
335  q_latenti(jl), q_sublim(jl) )
336  z0(jl)= z0u_sf
337  z0t(jl)=z0t_sf
338  ! recomputes the future wind speed and associated momentum flux
339  ! in the case wind speed is implicited (V. Masson, Meteo-France)
340  ! 1st step : drag coefficient
341  ! It is retrieved assumed a relationship between momentum flux
342  ! and previous time-step wind : Q_mom = - rho_a * Cd_a * U_a_in**2
343  !
344  cd_a(jl) = - q_momentum(jl) / rho_a(jl) / zwind(jl)**2
345  ! 2nd step : friction velocity (for air) computed with future wind speed
346  ! (the latter computed using implicit coefficients)
347  ustar2 = 0.0
348  zvmod = u_a_in(jl)
349  IF(himplicit_wind=='OLD')THEN
350  ! old implicitation
351  ustar2 = (cd_a(jl)*u_a_in(jl)*ppew_b_coef(jl))/ &
352  (1.0-rho_a(jl)*cd_a(jl)*u_a_in(jl)*ppew_a_coef(jl))
353  ELSE
354  ! new implicitation
355  ustar2 = (cd_a(jl)*u_a_in(jl)*(2.*ppew_b_coef(jl)-u_a_in(jl)))/ &
356  (1.0-2.0*rho_a(jl)*cd_a(jl)*u_a_in(jl)*ppew_a_coef(jl))
357  zvmod = rho_a(jl)*ppew_a_coef(jl)*ustar2 + ppew_b_coef(jl)
358  zvmod = max(0.0,zvmod)
359  IF(ppew_a_coef(jl)/= 0.)THEN
360  ustar2 = max((zvmod-ppew_b_coef(jl))/(rho_a(jl)*ppew_a_coef(jl)),0.0)
361  ENDIF
362  ENDIF
363  ustar(jl) =sqrt(ustar2)
364  ! 3rd step : momentum flux computed with the future wind speed
365  q_momentum(jl) = - rho_a(jl) * ustar2
366 
367  END IF
368  u_star_w_flk = sqrt(-q_momentum(jl)/tpl_rho_w_r)
369 
370 !------------------------------------------------------------------------------
371 ! Compute heat fluxes Q_snow_flk, Q_ice_flk, Q_w_flk
372 !------------------------------------------------------------------------------
373 
374  q_w_flk = q_w_flk - q_sensible(jl) - q_latent(jl) ! Add sensible and latent heat fluxes
375  ! (notice the signs)
376  IF(h_ice_p_flk.GE.h_ice_min_flk) THEN ! Ice exists
377  IF(h_snow_p_flk.GE.h_snow_min_flk) THEN ! There is snow above the ice
378  q_snow_flk = q_w_flk
379  q_ice_flk = 0.
380  q_w_flk = 0.
381  ELSE ! No snow above the ice
382  q_snow_flk = 0.
383  q_ice_flk = q_w_flk
384  q_w_flk = 0.
385  END IF
386  ELSE ! No ice-snow cover
387  q_snow_flk = 0.
388  q_ice_flk = 0.
389  END IF
390 
391 !------------------------------------------------------------------------------
392 ! Advance FLake variables
393 ! Time splitting parameter for *very large time steps*
394 ! -----------------------------------------------------------------------------
395 !
396  indt = max(1,nint(del_time(jl)/ztimemax))
397  ztstep = del_time(jl)/REAL(indt)
398 
399  DO jdt=1,indt
400 !
401  t_snow_p_flk = t_snow(jl)
402  t_ice_p_flk = t_ice(jl)
403  t_mnw_p_flk = t_mnw(jl)
404  t_wml_p_flk = t_wml(jl)
405  t_bot_p_flk = t_bot(jl)
406  t_b1_p_flk = t_b1(jl)
407  c_t_p_flk = c_t(jl)
408  h_snow_p_flk = h_snow(jl)
409  h_ice_p_flk = h_ice(jl)
410  h_ml_p_flk = h_ml(jl)
411  h_b1_p_flk = h_b1(jl)
412 !
413  CALL flake_driver( depth_w(jl), depth_bs(jl), t_bs(jl), par_coriolis(jl), &
414  opticpar_water(jl)%extincoef_optic(1), &
415  ztstep, t_sfc(jl), t_sfc_n )
416 !
417 !------------------------------------------------------------------------------
418 ! Set output values
419 !------------------------------------------------------------------------------
420 !
421  t_snow(jl) = t_snow_n_flk
422  t_ice(jl) = t_ice_n_flk
423  t_mnw(jl) = t_mnw_n_flk
424  t_wml(jl) = t_wml_n_flk
425  t_bot(jl) = t_bot_n_flk
426  t_b1(jl) = t_b1_n_flk
427  c_t(jl) = c_t_n_flk
428  h_snow(jl) = h_snow_n_flk
429  h_ice(jl) = h_ice_n_flk
430  h_ml(jl) = h_ml_n_flk
431  h_b1(jl) = h_b1_n_flk
432  t_sfc(jl) = t_sfc_n
433 !
434  ENDDO
435 !
436  pswe(jl) = h_snow(jl)*flake_snowdensity(h_snow(jl))
437 !
438 !------------------------------------------------------------------------------
439 ! Compute skin temperature in case of no ice nor snow
440 !------------------------------------------------------------------------------
441 !
442 ! Q_w_flk=LWD-LWU-(QH+QE) accounts for water phase (water, ice, snow)
443 ! (1-albedo)*I_atm_flk=SWD-SWU accounts for water phase (water, ice, snow)
444 !
445  IF (lflk_skintemp.AND.(h_ice(jl)<h_ice_min_flk).AND.(hflk_flux=='FLAKE')) THEN
446 
447  zaux = (1.0-exp(-opticpar_water(jl)%extincoef_optic(1) * h_skinlayer_flk)) &
448  / opticpar_water(jl)%extincoef_optic(1)
449 
450  zcond = tpl_kappa_w
451 
452  zloc = ((1.0-albedo(jl))*i_atm_flk+q_w_flk)*h_skinlayer_flk-(1.0-albedo(jl))*i_atm_flk*zaux
453 
454  t_sfc(jl) = t_sfc_n + zloc / zcond
455 
456  ENDIF
457 !
458 ENDDO h_point_loop
459 !
460 IF (lhook) CALL dr_hook('FLAKE_INTERFACE',1,zhook_handle)
461 !
462 !------------------------------------------------------------------------------
463 ! End calculations
464 !==============================================================================
465 
466 END SUBROUTINE flake_interface
467 
real function sfcflx_lwradwsfc(emis, pts)
subroutine sfcflx_momsenlat(height_u, height_tq, fetch, U_a, T_a, q_a, T_s, P_a, h_ice, Q_momentum, Q_sensible, Q_latent, Q_watvap, Ri, z0u_ini, z0t_ini, Qsat_out, Q_latenti, Q_sublim)
real function, dimension(size(pwind)) wind_threshold(PWIND, PUREF)
subroutine flake_radflux(depth_w, albedo, opticpar_water, opticpar_ice, opticpar_snow)
Definition: mode_flake.F90:237
subroutine flake_interface(KI,
real function flake_snowdensity(h_snow)
subroutine flake_driver(depth_w, depth_bs, T_bs, par_Coriolis, extincoef_water_typ, del_time, T_sfc_p, T_sfc_n)
Definition: mode_flake.F90:399