private pure function mle_face_ustar_x(ss, rho0, i, j) result(ustar)
Friction velocity u* = sqrt(|tau|/rho0) at the u-face from the
surface wind stress, averaged onto the face. Only used by the
FK11 mixrate form. Returns 0 if stress fields are absent.
Nodes of different colours represent the following:
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.
Where possible, edges connecting nodes are
given different colours to make them easier to distinguish in
large graphs.
Variables
Type
Visibility
Attributes
Name
Initial
real(kind=wp),
private
::
tx
real(kind=wp),
private
::
ty
Source Code
pure function mle_face_ustar_x(ss,rho0,i,j)result(ustar)!$acc routine seq!! Friction velocity u* = sqrt(|tau|/rho0) at the u-face from the!! surface wind stress, averaged onto the face. Only used by the!! FK11 mixrate form. Returns 0 if stress fields are absent.type(ocean_surface_stress_t),intent(in)::ssreal(wp),intent(in)::rho0integer,intent(in)::i,jreal(wp)::ustar,tx,tyustar=0.0_wpif(.not.allocated(ss%tau_x).or..not.allocated(ss%tau_y))return! tau_x already lives on the u-face (i,j); tau_y on v-faces is! averaged from the four neighbours straddling this u-face.tx=ss%tau_x(i,j)ty=0.25_wp*(ss%tau_y(i-1,j)+ss%tau_y(i,j)+&ss%tau_y(i-1,j+1)+ss%tau_y(i,j+1))ustar=sqrt(sqrt(tx*tx+ty*ty)/rho0)end function mle_face_ustar_x