CAM
derivative_mod_base Module Reference

Data Types

type  derivative_t
 
interface  divergence
 
interface  gradient
 
interface  gradient_wk
 

Functions/Subroutines

subroutine, public derivinit (deriv)
 
subroutine, public get_deriv (deriv)
 
subroutine, private dvvinit (dvv, gll)
 
real(kind=real_kind) function, dimension(np, np) divergence_nonstag (v, deriv)
 
real(kind=real_kind) function, dimension(np, np, 2) gradient_wk_nonstag (p, deriv)
 
real(kind=real_kind) function, dimension(np, np, 2) gradient_str_nonstag (s, deriv)
 
real(kind=real_kind) function, dimension(np, np), public vorticity (v, deriv)
 
real(kind=real_kind) function, dimension(np, np, 2), public gradient_sphere (s, deriv, Dinv)
 
real(kind=real_kind) function, dimension(np, np, 2), public curl_sphere_wk_testcov (s, deriv, elem)
 
real(kind=real_kind) function, dimension(np, np, 2), public gradient_sphere_wk_testcov (s, deriv, elem)
 
real(kind=real_kind) function, dimension(np, np, 2), public gradient_sphere_wk_testcontra (s, deriv, elem)
 
real(kind=real_kind) function, dimension(np, np, 2), public ugradv_sphere (u, v, deriv, elem)
 
real(kind=real_kind) function, dimension(np, np, 2), public curl_sphere (s, deriv, elem)
 
real(kind=real_kind) function, dimension(np, np), public divergence_sphere_wk (v, deriv, elem)
 
real(kind=real_kind) function, dimension(np, np), public element_boundary_integral (v, deriv, elem)
 
real(kind=real_kind) function, dimension(np, np), public edge_flux_u_cg (v, p, pedges, deriv, elem, u_is_contra)
 
real(kind=real_kind) function, dimension(np, np), public vorticity_sphere (v, deriv, elem)
 
real(kind=real_kind) function, dimension(np, np), public vorticity_sphere_diag (v, deriv, elem)
 
real(kind=real_kind) function, dimension(np, np), public divergence_sphere (v, deriv, elem)
 
real(kind=real_kind) function, dimension(np, np), public laplace_sphere_wk (s, deriv, elem, var_coef)
 
real(kind=real_kind) function, dimension(np, np, 2), public vlaplace_sphere_wk (v, deriv, elem, var_coef, nu_ratio)
 
real(kind=real_kind) function, dimension(np, np, 2) vlaplace_sphere_wk_cartesian (v, deriv, elem, var_coef)
 
real(kind=real_kind) function, dimension(np, np, 2) vlaplace_sphere_wk_contra (v, deriv, elem, var_coef, nu_ratio)
 
subroutine, public laplace_z (v, laplace, ncomp, dz)
 
real(kind=real_kind) function, dimension(n, n, 4), public subcell_dss_fluxes (dss, p, n, metdet, C)
 
real(kind=real_kind) function, dimension(n, n, 4), public subcell_div_fluxes (u, p, n, metdet)
 
real(kind=real_kind) function, dimension(n, n, 4), public subcell_laplace_fluxes (u, deriv, elem, p, n)
 
real(kind=real_kind) function, dimension(intervals, intervals), public subcell_integration (sampled_val, np, intervals, metdet)
 
subroutine, public allocate_subcell_integration_matrix (np, intervals)
 
subroutine, public limiter_optim_iter_full (ptens, sphweights, minp, maxp, dpmass)
 
subroutine, public limiter_clip_and_sum (ptens, sphweights, minp, maxp, dpmass)
 

Variables

real(kind=real_kind), dimension(:,:), allocatable integration_matrix
 
real(kind=real_kind), dimension(:,:,:), allocatable boundary_interp_matrix
 

Function/Subroutine Documentation

◆ allocate_subcell_integration_matrix()

subroutine, public derivative_mod_base::allocate_subcell_integration_matrix ( integer, intent(in)  np,
integer, intent(in)  intervals 
)
Here is the call graph for this function:

◆ curl_sphere()

real(kind=real_kind) function, dimension(np,np,2), public derivative_mod_base::curl_sphere ( real(kind=real_kind), dimension(np,np), intent(in)  s,
type (derivative_t), intent(in)  deriv,
type (element_t), intent(in)  elem 
)

◆ curl_sphere_wk_testcov()

real(kind=real_kind) function, dimension(np,np,2), public derivative_mod_base::curl_sphere_wk_testcov ( real(kind=real_kind), dimension(np,np), intent(in)  s,
type (derivative_t), intent(in)  deriv,
type (element_t), intent(in)  elem 
)
Here is the caller graph for this function:

◆ derivinit()

subroutine, public derivative_mod_base::derivinit ( type (derivative_t deriv)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ divergence_nonstag()

real(kind=real_kind) function, dimension(np,np) derivative_mod_base::divergence_nonstag ( real(kind=real_kind), dimension(np,np,2), intent(in)  v,
type (derivative_t), intent(in)  deriv 
)
private

◆ divergence_sphere()

real(kind=real_kind) function, dimension(np,np), public derivative_mod_base::divergence_sphere ( real(kind=real_kind), dimension(np,np,2), intent(in)  v,
type (derivative_t), intent(in)  deriv,
type (element_t), intent(in)  elem 
)
Here is the caller graph for this function:

◆ divergence_sphere_wk()

real(kind=real_kind) function, dimension(np,np), public derivative_mod_base::divergence_sphere_wk ( real(kind=real_kind), dimension(np,np,2), intent(in)  v,
type (derivative_t), intent(in)  deriv,
type (element_t), intent(in)  elem 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ dvvinit()

subroutine, private derivative_mod_base::dvvinit ( real(kind=longdouble_kind), dimension(np,np)  dvv,
type (quadrature_t gll 
)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ edge_flux_u_cg()

real(kind=real_kind) function, dimension(np,np), public derivative_mod_base::edge_flux_u_cg ( real(kind=real_kind), dimension(np,np,2), intent(in)  v,
real(kind=real_kind), dimension(np,np), intent(in)  p,
real(kind=real_kind), dimension(0:np+1,0:np+1), intent(in)  pedges,
type (derivative_t), intent(in)  deriv,
type (element_t), intent(in)  elem,
logical  u_is_contra 
)

◆ element_boundary_integral()

real(kind=real_kind) function, dimension(np,np), public derivative_mod_base::element_boundary_integral ( real(kind=real_kind), dimension(np,np,2), intent(in)  v,
type (derivative_t), intent(in)  deriv,
type (element_t), intent(in)  elem 
)

◆ get_deriv()

subroutine, public derivative_mod_base::get_deriv ( type (derivative_t), intent(inout)  deriv)
Here is the call graph for this function:

◆ gradient_sphere()

real(kind=real_kind) function, dimension(np,np,2), public derivative_mod_base::gradient_sphere ( real(kind=real_kind), dimension(np,np), intent(in)  s,
type (derivative_t), intent(in)  deriv,
real(kind=real_kind), dimension(np,np,2,2), intent(in)  Dinv 
)
Here is the caller graph for this function:

◆ gradient_sphere_wk_testcontra()

real(kind=real_kind) function, dimension(np,np,2), public derivative_mod_base::gradient_sphere_wk_testcontra ( real(kind=real_kind), dimension(np,np), intent(in)  s,
type (derivative_t), intent(in)  deriv,
type (element_t), intent(in)  elem 
)
Here is the call graph for this function:

◆ gradient_sphere_wk_testcov()

real(kind=real_kind) function, dimension(np,np,2), public derivative_mod_base::gradient_sphere_wk_testcov ( real(kind=real_kind), dimension(np,np), intent(in)  s,
type (derivative_t), intent(in)  deriv,
type (element_t), intent(in)  elem 
)
Here is the caller graph for this function:

◆ gradient_str_nonstag()

real(kind=real_kind) function, dimension(np,np,2) derivative_mod_base::gradient_str_nonstag ( real(kind=real_kind), dimension(np,np), intent(in)  s,
type (derivative_t), intent(in)  deriv 
)
private

◆ gradient_wk_nonstag()

real(kind=real_kind) function, dimension(np,np,2) derivative_mod_base::gradient_wk_nonstag ( real(kind=real_kind), dimension(np,np), intent(in)  p,
type (derivative_t), intent(in)  deriv 
)
private

◆ laplace_sphere_wk()

real(kind=real_kind) function, dimension(np,np), public derivative_mod_base::laplace_sphere_wk ( real(kind=real_kind), dimension(np,np), intent(in)  s,
type (derivative_t), intent(in)  deriv,
type (element_t), intent(in)  elem,
logical, intent(in)  var_coef 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ laplace_z()

subroutine, public derivative_mod_base::laplace_z ( real(kind=real_kind), dimension(np,np,ncomp,nlev), intent(in)  v,
real(kind=real_kind), dimension(np,np,ncomp,nlev), intent(out)  laplace,
integer  ncomp,
real(kind=real_kind), intent(in)  dz 
)

◆ limiter_clip_and_sum()

subroutine, public derivative_mod_base::limiter_clip_and_sum ( real (kind=real_kind), dimension(np,np,nlev), intent(inout)  ptens,
real (kind=real_kind), dimension(np,np), intent(in)  sphweights,
real (kind=real_kind), dimension(nlev), intent(inout)  minp,
real (kind=real_kind), dimension(nlev), intent(inout)  maxp,
real (kind=real_kind), dimension(np,np,nlev), intent(in), optional  dpmass 
)

◆ limiter_optim_iter_full()

subroutine, public derivative_mod_base::limiter_optim_iter_full ( real (kind=real_kind), dimension(np*np,nlev), intent(inout)  ptens,
real (kind=real_kind), dimension(np*np), intent(in)  sphweights,
real (kind=real_kind), dimension(nlev), intent(inout)  minp,
real (kind=real_kind), dimension(nlev), intent(inout)  maxp,
real (kind=real_kind), dimension(np*np,nlev), intent(in), optional  dpmass 
)

◆ subcell_div_fluxes()

real (kind=real_kind) function, dimension(n,n,4), public derivative_mod_base::subcell_div_fluxes ( real (kind=real_kind), dimension(p,p,2), intent(in)  u,
integer, intent(in)  p,
integer, intent(in)  n,
real (kind=real_kind), dimension(p,p), intent(in)  metdet 
)
Here is the call graph for this function:

◆ subcell_dss_fluxes()

real (kind=real_kind) function, dimension (n,n,4), public derivative_mod_base::subcell_dss_fluxes ( real (kind=real_kind), dimension (p,p), intent(in)  dss,
integer, intent(in)  p,
integer, intent(in)  n,
real (kind=real_kind), dimension (p,p), intent(in)  metdet,
real (kind=real_kind), dimension (2,2,2), intent(in)  C 
)
Here is the call graph for this function:

◆ subcell_integration()

real (kind=real_kind) function, dimension(intervals,intervals), public derivative_mod_base::subcell_integration ( real (kind=real_kind), dimension(np,np), intent(in)  sampled_val,
integer, intent(in)  np,
integer, intent(in)  intervals,
real (kind=real_kind), dimension(np,np), intent(in)  metdet 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ subcell_laplace_fluxes()

real (kind=real_kind) function, dimension(n,n,4), public derivative_mod_base::subcell_laplace_fluxes ( real (kind=real_kind), dimension(p,p), intent(in)  u,
type (derivative_t), intent(in)  deriv,
type (element_t), intent(in)  elem,
integer, intent(in)  p,
integer, intent(in)  n 
)
Here is the call graph for this function:

◆ ugradv_sphere()

real(kind=real_kind) function, dimension(np,np,2), public derivative_mod_base::ugradv_sphere ( real(kind=real_kind), dimension(np,np,2), intent(in)  u,
real(kind=real_kind), dimension(np,np,2), intent(in)  v,
type (derivative_t), intent(in)  deriv,
type (element_t), intent(in)  elem 
)
Here is the call graph for this function:

◆ vlaplace_sphere_wk()

real(kind=real_kind) function, dimension(np,np,2), public derivative_mod_base::vlaplace_sphere_wk ( real(kind=real_kind), dimension(np,np,2), intent(in)  v,
type (derivative_t), intent(in)  deriv,
type (element_t), intent(in)  elem,
logical, intent(in)  var_coef,
real(kind=real_kind), optional  nu_ratio 
)
Here is the call graph for this function:

◆ vlaplace_sphere_wk_cartesian()

real(kind=real_kind) function, dimension(np,np,2) derivative_mod_base::vlaplace_sphere_wk_cartesian ( real(kind=real_kind), dimension(np,np,2), intent(in)  v,
type (derivative_t), intent(in)  deriv,
type (element_t), intent(in)  elem,
logical  var_coef 
)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ vlaplace_sphere_wk_contra()

real(kind=real_kind) function, dimension(np,np,2) derivative_mod_base::vlaplace_sphere_wk_contra ( real(kind=real_kind), dimension(np,np,2), intent(in)  v,
type (derivative_t), intent(in)  deriv,
type (element_t), intent(in)  elem,
logical, intent(in)  var_coef,
real(kind=real_kind), optional  nu_ratio 
)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ vorticity()

real(kind=real_kind) function, dimension(np,np), public derivative_mod_base::vorticity ( real(kind=real_kind), dimension(np,np,2), intent(in)  v,
type (derivative_t), intent(in)  deriv 
)

◆ vorticity_sphere()

real(kind=real_kind) function, dimension(np,np), public derivative_mod_base::vorticity_sphere ( real(kind=real_kind), dimension(np,np,2), intent(in)  v,
type (derivative_t), intent(in)  deriv,
type (element_t), intent(in)  elem 
)
Here is the caller graph for this function:

◆ vorticity_sphere_diag()

real(kind=real_kind) function, dimension(np,np), public derivative_mod_base::vorticity_sphere_diag ( real(kind=real_kind), dimension(np,np,2), intent(in)  v,
type (derivative_t), intent(in)  deriv,
type (element_t), intent(in)  elem 
)

Variable Documentation

◆ boundary_interp_matrix

real (kind=real_kind), dimension(:,:,:), allocatable derivative_mod_base::boundary_interp_matrix
private

◆ integration_matrix

real (kind=real_kind), dimension(:,:), allocatable derivative_mod_base::integration_matrix