CAM
advance_windm_edsclrm_module Module Reference

Functions/Subroutines

subroutine, public advance_windm_edsclrm (dt, wm_zt, Km_zm, ug, vg, um_ref, vm_ref, wp2, up2, vp2, um_forcing, vm_forcing, edsclrm_forcing, rho_ds_zm, invrs_rho_ds_zt, fcor, l_implemented, um, vm, edsclrm, upwp, vpwp, wpedsclrp, err_code)
 
subroutine, private windm_edsclrm_solve (nrhs, ixm_matrix_condt_num, lhs, rhs, solution, err_code)
 
subroutine windm_edsclrm_implicit_stats (solve_type, xm)
 
subroutine, private compute_uv_tndcy (solve_type, fcor, perp_wind_m, perp_wind_g, xm_forcing, l_implemented, xm_tndcy)
 
subroutine, private windm_edsclrm_lhs (dt, nu, wm_zt, Km_zm, wind_speed, u_star_sqd, rho_ds_zm, invrs_rho_ds_zt, l_implemented, l_imp_sfc_momentum_flux, lhs)
 
real(kind=core_rknd) function, dimension(gr%nz), private windm_edsclrm_rhs (solve_type, dt, nu, Km_zm, xm, xm_tndcy, rho_ds_zm, invrs_rho_ds_zt, l_imp_sfc_momentum_flux, xpwp_sfc)
 
elemental real(kind=core_rknd) function, public xpwp_fnc (Km_zm, xm, xmp1, invrs_dzm)
 

Variables

integer, parameter, private windm_edsclrm_um = 1
 
integer, parameter, private windm_edsclrm_vm = 2
 
integer, parameter, private windm_edsclrm_scalar = 3
 
integer, parameter, private clip_upwp = 10
 
integer, parameter, private clip_vpwp = 11
 

Function/Subroutine Documentation

◆ advance_windm_edsclrm()

subroutine, public advance_windm_edsclrm_module::advance_windm_edsclrm ( real( kind = core_rknd ), intent(in)  dt,
real( kind = core_rknd ), dimension(gr%nz), intent(in)  wm_zt,
real( kind = core_rknd ), dimension(gr%nz), intent(in)  Km_zm,
real( kind = core_rknd ), dimension(gr%nz), intent(in)  ug,
real( kind = core_rknd ), dimension(gr%nz), intent(in)  vg,
real( kind = core_rknd ), dimension(gr%nz), intent(in)  um_ref,
real( kind = core_rknd ), dimension(gr%nz), intent(in)  vm_ref,
real( kind = core_rknd ), dimension(gr%nz), intent(in)  wp2,
real( kind = core_rknd ), dimension(gr%nz), intent(in)  up2,
real( kind = core_rknd ), dimension(gr%nz), intent(in)  vp2,
real( kind = core_rknd ), dimension(gr%nz), intent(in)  um_forcing,
real( kind = core_rknd ), dimension(gr%nz), intent(in)  vm_forcing,
real( kind = core_rknd ), dimension(gr%nz,edsclr_dim), intent(in)  edsclrm_forcing,
real( kind = core_rknd ), dimension(gr%nz), intent(in)  rho_ds_zm,
real( kind = core_rknd ), dimension(gr%nz), intent(in)  invrs_rho_ds_zt,
real( kind = core_rknd ), intent(in)  fcor,
logical, intent(in)  l_implemented,
real( kind = core_rknd ), dimension(gr%nz), intent(inout)  um,
real( kind = core_rknd ), dimension(gr%nz), intent(inout)  vm,
real( kind = core_rknd ), dimension(gr%nz,edsclr_dim), intent(inout)  edsclrm,
real( kind = core_rknd ), dimension(gr%nz), intent(inout)  upwp,
real( kind = core_rknd ), dimension(gr%nz), intent(inout)  vpwp,
real( kind = core_rknd ), dimension(gr%nz,edsclr_dim), intent(inout)  wpedsclrp,
integer, intent(inout)  err_code 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ compute_uv_tndcy()

subroutine, private advance_windm_edsclrm_module::compute_uv_tndcy ( integer, intent(in)  solve_type,
real( kind = core_rknd ), intent(in)  fcor,
real( kind = core_rknd ), dimension(gr%nz), intent(in)  perp_wind_m,
real( kind = core_rknd ), dimension(gr%nz), intent(in)  perp_wind_g,
real( kind = core_rknd ), dimension(gr%nz), intent(in)  xm_forcing,
logical, intent(in)  l_implemented,
real( kind = core_rknd ), dimension(gr%nz), intent(out)  xm_tndcy 
)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ windm_edsclrm_implicit_stats()

subroutine advance_windm_edsclrm_module::windm_edsclrm_implicit_stats ( integer, intent(in)  solve_type,
real( kind = core_rknd ), dimension(gr%nz), intent(in)  xm 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ windm_edsclrm_lhs()

subroutine, private advance_windm_edsclrm_module::windm_edsclrm_lhs ( real( kind = core_rknd ), intent(in)  dt,
real( kind = core_rknd ), dimension(gr%nz), intent(in)  nu,
real( kind = core_rknd ), dimension(gr%nz), intent(in)  wm_zt,
real( kind = core_rknd ), dimension(gr%nz), intent(in)  Km_zm,
real( kind = core_rknd ), dimension(gr%nz), intent(in)  wind_speed,
real( kind = core_rknd ), intent(in)  u_star_sqd,
real( kind = core_rknd ), dimension(gr%nz), intent(in)  rho_ds_zm,
real( kind = core_rknd ), dimension(gr%nz), intent(in)  invrs_rho_ds_zt,
logical, intent(in)  l_implemented,
logical, intent(in)  l_imp_sfc_momentum_flux,
real( kind = core_rknd ), dimension(3,gr%nz), intent(out)  lhs 
)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ windm_edsclrm_rhs()

real( kind = core_rknd ) function, dimension(gr%nz), private advance_windm_edsclrm_module::windm_edsclrm_rhs ( integer, intent(in)  solve_type,
real( kind = core_rknd ), intent(in)  dt,
real( kind = core_rknd ), dimension(gr%nz), intent(in)  nu,
real( kind = core_rknd ), dimension(gr%nz), intent(in)  Km_zm,
real( kind = core_rknd ), dimension(gr%nz), intent(in)  xm,
real( kind = core_rknd ), dimension(gr%nz), intent(in)  xm_tndcy,
real( kind = core_rknd ), dimension(gr%nz), intent(in)  rho_ds_zm,
real( kind = core_rknd ), dimension(gr%nz), intent(in)  invrs_rho_ds_zt,
logical, intent(in)  l_imp_sfc_momentum_flux,
real( kind = core_rknd ), intent(in)  xpwp_sfc 
)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ windm_edsclrm_solve()

subroutine, private advance_windm_edsclrm_module::windm_edsclrm_solve ( integer, intent(in)  nrhs,
integer, intent(in)  ixm_matrix_condt_num,
real( kind = core_rknd ), dimension(3,gr%nz), intent(inout)  lhs,
real( kind = core_rknd ), dimension(gr%nz,nrhs), intent(inout)  rhs,
real( kind = core_rknd ), dimension(gr%nz,nrhs), intent(out)  solution,
integer, intent(out)  err_code 
)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ xpwp_fnc()

elemental real( kind = core_rknd ) function, public advance_windm_edsclrm_module::xpwp_fnc ( real( kind = core_rknd ), intent(in)  Km_zm,
real( kind = core_rknd ), intent(in)  xm,
real( kind = core_rknd ), intent(in)  xmp1,
real( kind = core_rknd ), intent(in)  invrs_dzm 
)
Here is the caller graph for this function:

Variable Documentation

◆ clip_upwp

integer, parameter, private advance_windm_edsclrm_module::clip_upwp = 10
private

◆ clip_vpwp

integer, parameter, private advance_windm_edsclrm_module::clip_vpwp = 11
private

◆ windm_edsclrm_scalar

integer, parameter, private advance_windm_edsclrm_module::windm_edsclrm_scalar = 3
private

◆ windm_edsclrm_um

integer, parameter, private advance_windm_edsclrm_module::windm_edsclrm_um = 1
private

◆ windm_edsclrm_vm

integer, parameter, private advance_windm_edsclrm_module::windm_edsclrm_vm = 2
private