abl
Moeng boundary condition

Functions/Subroutines

subroutine abl_userbc (ix, iy, iz, iside, eg)
 Stress boundary condition as formulated by Moeng (1984) Also has optional temporal filtering c.f: Yang et al. Physical Review Fluids 2, no. 10 (2017): 104601. More...
 
real function friction_vel (uh, kappa, delta_z, z0, Psi_M)
 Compute friction velocity. More...
 
real function thermal_flux (u_star, kappa, T_surf, T, delta_z, z_os, Psi_H)
 Complute thermal flux. More...
 
real function thermal_flux_fixed (x)
 Set thermal flux which varies along x, but is constant in time. More...
 
real function temp_strat (t_surf, y, half_ymax)
 Set temperature dirichlet boundary conditions at bottom and top boundaries. More...
 
real function abl_pen_k (y_coord, z0)
 Compute the K term in penalty forcing. More...
 

Detailed Description

Function/Subroutine Documentation

◆ abl_pen_k()

real function abl_pen_k ( real  y_coord,
real  z0 
)

Compute the K term in penalty forcing.

Parameters
y_coordmesh coordinate where the coefficient is evaluated
z0roughness length

◆ abl_userbc()

subroutine abl_userbc ( integer  ix,
integer  iy,
integer  iz,
integer  iside,
integer  eg 
)

Stress boundary condition as formulated by Moeng (1984) Also has optional temporal filtering c.f: Yang et al. Physical Review Fluids 2, no. 10 (2017): 104601.

See also
https://journals.ametsoc.org/doi/abs/10.1175/1520-0469(1984)041%3C2052:ALESMF%3E2.0.CO%3B2
https://doi.org/10.1103/PhysRevFluids.2.104601.
Note
Boundary condition evaluated at higher nodes, may need to be corrected for Ekmann turning
This subroutine MAY NOT be called by every process
Todo:
Assign and use t_wm: temporal filtering for temperature
Todo:
Allow y0 != z_os (thermal surface roughness length)

◆ friction_vel()

real function friction_vel ( real  uh,
real  kappa,
real  delta_z,
real  z0,
real  Psi_M 
)

Compute friction velocity.

◆ temp_strat()

real function temp_strat ( real  t_surf,
real  y,
real  half_ymax 
)

Set temperature dirichlet boundary conditions at bottom and top boundaries.

◆ thermal_flux()

real function thermal_flux ( real  u_star,
real  kappa,
real  T_surf,
real  T,
real  delta_z,
real  z_os,
real  Psi_H 
)

Complute thermal flux.

See also
Eq. 14 in Gadde et al. (2020) doi:10.1007/s10546-020-00570-5

◆ thermal_flux_fixed()

real function thermal_flux_fixed ( real  x)

Set thermal flux which varies along x, but is constant in time.