volume_averages Module

This module contains functions for averaging quantities which have the dimensions of space, and potentially species. For example, (y), (x), (x,y), (theta,x,y), (x,y,s) etc. The names of the interfaces are self-explanatory: for example, the function average_theta averages the theta dimension.

The quantities may or may not be distributed across processes. If they are not local, they must be distributed in the same way that the fields are distributed, i.e. in x and y only, and according to the same pattern.


Contents


Interfaces

public interface average_all

  • private subroutine average_all_txy(a, b, avg, distributed)

    FIXME : Add documentation

    Arguments

    Type IntentOptional Attributes Name
    complex, intent(in), dimension (-ntgrid:,:,:) :: a
    complex, intent(in), dimension (-ntgrid:,:,:) :: b
    real, intent(out) :: avg
    logical, intent(in) :: distributed
  • private subroutine average_all_real_xys(a, avg, distributed)

    FIXME : Add documentation

    Arguments

    Type IntentOptional Attributes Name
    real, intent(in), dimension (ntheta0, naky, nspec) :: a
    real, intent(out), dimension(nspec) :: avg
    logical, intent(in) :: distributed
  • private subroutine average_all_real_xy(a, avg, distributed)

    FIXME : Add documentation

    Arguments

    Type IntentOptional Attributes Name
    real, intent(in), dimension (ntheta0, naky) :: a
    real, intent(out) :: avg
    logical, intent(in) :: distributed
  • private subroutine average_all_complex_xy(a, avg, distributed)

    FIXME : Add documentation

    Arguments

    Type IntentOptional Attributes Name
    complex, intent(in), dimension (ntheta0, naky) :: a
    complex, intent(out) :: avg
    logical, intent(in) :: distributed
  • private subroutine average_all_2_complex_xy(a, b, avg, distributed)

    FIXME : Add documentation

    Arguments

    Type IntentOptional Attributes Name
    complex, intent(in), dimension (ntheta0, naky) :: a
    complex, intent(in), dimension (ntheta0, naky) :: b
    complex, intent(out) :: avg
    logical, intent(in) :: distributed
  • private subroutine average_all_2_complex_txy(a, b, avg, distributed)

    FIXME : Add documentation

    Arguments

    Type IntentOptional Attributes Name
    complex, intent(in), dimension (-ntgrid:ntgrid, ntheta0, naky) :: a
    complex, intent(in), dimension (-ntgrid:ntgrid, ntheta0, naky) :: b
    complex, intent(out) :: avg
    logical, intent(in) :: distributed

public interface average_theta

  • private subroutine average_theta_txy(a, b, axb_by_mode, distributed)

    FIXME : Add documentation

    Arguments

    Type IntentOptional Attributes Name
    complex, intent(in), dimension (-ntgrid:,:,:) :: a
    complex, intent(in), dimension (-ntgrid:,:,:) :: b
    real, intent(out), dimension (:,:) :: axb_by_mode
    logical, intent(in) :: distributed
  • private subroutine average_theta_1_real_txy(a, axb_by_mode, distributed)

    FIXME : Add documentation

    Arguments

    Type IntentOptional Attributes Name
    real, intent(in), dimension (-ntgrid:,:,:) :: a
    real, intent(out), dimension (:,:) :: axb_by_mode
    logical, intent(in) :: distributed
  • private subroutine average_theta_2_complex_txy(a, b, axb_by_mode, distributed)

    FIXME : Add documentation

    Arguments

    Type IntentOptional Attributes Name
    complex, intent(in), dimension (-ntgrid:,:,:) :: a
    complex, intent(in), dimension (-ntgrid:,:,:) :: b
    complex, intent(out), dimension (:,:) :: axb_by_mode
    logical, intent(in) :: distributed
  • private subroutine average_theta_txys(a, b, axb_by_mode, distributed)

    FIXME : Add documentation

    Arguments

    Type IntentOptional Attributes Name
    complex, intent(in), dimension (-ntgrid:,:,:,:) :: a
    complex, intent(in), dimension (-ntgrid:,:,:,:) :: b
    real, intent(out), dimension (:,:,:) :: axb_by_mode
    logical, intent(in) :: distributed
  • private subroutine average_theta_complex_complex_txys(a, axb_by_mode, distributed)

    FIXME : Add documentation

    Arguments

    Type IntentOptional Attributes Name
    complex, intent(in), dimension (-ntgrid:,:,:,:) :: a
    complex, intent(out), dimension (:,:,:) :: axb_by_mode
    logical, intent(in) :: distributed
  • private subroutine average_theta_real_real_t(a, axb)

    FIXME : Add documentation

    Arguments

    Type IntentOptional Attributes Name
    real, intent(in), dimension (-ntgrid:) :: a
    real, intent(out) :: axb
  • private subroutine average_theta_complex_complex_t(a, axb)

    FIXME : Add documentation

    Arguments

    Type IntentOptional Attributes Name
    complex, intent(in), dimension (-ntgrid:) :: a
    complex, intent(out) :: axb
  • private subroutine average_theta_complex_complex_real_t(a, b, axb)

    FIXME : Add documentation

    Arguments

    Type IntentOptional Attributes Name
    complex, intent(in), dimension (-ntgrid:) :: a
    complex, intent(in), dimension (-ntgrid:) :: b
    real, intent(out) :: axb
  • private subroutine average_theta_complex_complex_complex_t(a, b, axb)

    FIXME : Add documentation

    Arguments

    Type IntentOptional Attributes Name
    complex, intent(in), dimension (-ntgrid:) :: a
    complex, intent(in), dimension (-ntgrid:) :: b
    complex, intent(out) :: axb

public interface average_ky

  • private subroutine average_ky_xy(f, favg, distributed)

    FIXME : Add documentation

    Arguments

    Type IntentOptional Attributes Name
    real, intent(in), dimension (:,:) :: f
    real, intent(out), dimension (:) :: favg
    logical, intent(in) :: distributed
  • private subroutine average_ky_complex_xy(f, favg, distributed)

    FIXME : Add documentation

    Arguments

    Type IntentOptional Attributes Name
    complex, intent(in), dimension (:,:) :: f
    complex, intent(out), dimension (:) :: favg
    logical, intent(in) :: distributed
  • private subroutine average_ky_2_complex_xy(f, g, favg, distributed)

    FIXME : Add documentation

    Arguments

    Type IntentOptional Attributes Name
    complex, intent(in), dimension (:,:) :: f
    complex, intent(in), dimension (:,:) :: g
    complex, intent(out), dimension (:) :: favg
    logical, intent(in) :: distributed
  • private subroutine average_ky_xys(f, favg, distributed)

    FIXME : Add documentation

    Arguments

    Type IntentOptional Attributes Name
    real, intent(in), dimension (:,:,:) :: f
    real, intent(out), dimension (:,:) :: favg
    logical, intent(in) :: distributed

public interface average_kx

  • private subroutine average_kx_xy(f, favg, distributed)

    FIXME : Add documentation

    Arguments

    Type IntentOptional Attributes Name
    real, intent(in), dimension (:,:) :: f
    real, intent(out), dimension (:) :: favg
    logical, intent(in) :: distributed
  • private subroutine average_kx_xys(f, favg, distributed)

    FIXME : Add documentation

    Arguments

    Type IntentOptional Attributes Name
    real, intent(in), dimension (:,:,:) :: f
    real, intent(out), dimension (:,:) :: favg
    logical, intent(in) :: distributed

Subroutines

private subroutine average_all_2_complex_txy(a, b, avg, distributed)

FIXME : Add documentation

Arguments

Type IntentOptional Attributes Name
complex, intent(in), dimension (-ntgrid:ntgrid, ntheta0, naky) :: a
complex, intent(in), dimension (-ntgrid:ntgrid, ntheta0, naky) :: b
complex, intent(out) :: avg
logical, intent(in) :: distributed

private subroutine average_all_2_complex_xy(a, b, avg, distributed)

FIXME : Add documentation

Arguments

Type IntentOptional Attributes Name
complex, intent(in), dimension (ntheta0, naky) :: a
complex, intent(in), dimension (ntheta0, naky) :: b
complex, intent(out) :: avg
logical, intent(in) :: distributed

private subroutine average_all_complex_xy(a, avg, distributed)

FIXME : Add documentation

Arguments

Type IntentOptional Attributes Name
complex, intent(in), dimension (ntheta0, naky) :: a
complex, intent(out) :: avg
logical, intent(in) :: distributed

private subroutine average_all_real_xy(a, avg, distributed)

FIXME : Add documentation

Arguments

Type IntentOptional Attributes Name
real, intent(in), dimension (ntheta0, naky) :: a
real, intent(out) :: avg
logical, intent(in) :: distributed

private subroutine average_all_real_xys(a, avg, distributed)

FIXME : Add documentation

Arguments

Type IntentOptional Attributes Name
real, intent(in), dimension (ntheta0, naky, nspec) :: a
real, intent(out), dimension(nspec) :: avg
logical, intent(in) :: distributed

private subroutine average_all_txy(a, b, avg, distributed)

FIXME : Add documentation

Arguments

Type IntentOptional Attributes Name
complex, intent(in), dimension (-ntgrid:,:,:) :: a
complex, intent(in), dimension (-ntgrid:,:,:) :: b
real, intent(out) :: avg
logical, intent(in) :: distributed

private subroutine average_theta_complex_complex_txys(a, axb_by_mode, distributed)

FIXME : Add documentation

Arguments

Type IntentOptional Attributes Name
complex, intent(in), dimension (-ntgrid:,:,:,:) :: a
complex, intent(out), dimension (:,:,:) :: axb_by_mode
logical, intent(in) :: distributed

private subroutine average_theta_txys(a, b, axb_by_mode, distributed)

FIXME : Add documentation

Arguments

Type IntentOptional Attributes Name
complex, intent(in), dimension (-ntgrid:,:,:,:) :: a
complex, intent(in), dimension (-ntgrid:,:,:,:) :: b
real, intent(out), dimension (:,:,:) :: axb_by_mode
logical, intent(in) :: distributed

private subroutine average_theta_1_real_txy(a, axb_by_mode, distributed)

FIXME : Add documentation

Arguments

Type IntentOptional Attributes Name
real, intent(in), dimension (-ntgrid:,:,:) :: a
real, intent(out), dimension (:,:) :: axb_by_mode
logical, intent(in) :: distributed

private subroutine average_theta_real_real_t(a, axb)

FIXME : Add documentation

Arguments

Type IntentOptional Attributes Name
real, intent(in), dimension (-ntgrid:) :: a
real, intent(out) :: axb

private subroutine average_theta_complex_complex_complex_t(a, b, axb)

FIXME : Add documentation

Arguments

Type IntentOptional Attributes Name
complex, intent(in), dimension (-ntgrid:) :: a
complex, intent(in), dimension (-ntgrid:) :: b
complex, intent(out) :: axb

private subroutine average_theta_complex_complex_t(a, axb)

FIXME : Add documentation

Arguments

Type IntentOptional Attributes Name
complex, intent(in), dimension (-ntgrid:) :: a
complex, intent(out) :: axb

private subroutine average_theta_complex_complex_real_t(a, b, axb)

FIXME : Add documentation

Arguments

Type IntentOptional Attributes Name
complex, intent(in), dimension (-ntgrid:) :: a
complex, intent(in), dimension (-ntgrid:) :: b
real, intent(out) :: axb

private subroutine average_theta_txy(a, b, axb_by_mode, distributed)

FIXME : Add documentation

Arguments

Type IntentOptional Attributes Name
complex, intent(in), dimension (-ntgrid:,:,:) :: a
complex, intent(in), dimension (-ntgrid:,:,:) :: b
real, intent(out), dimension (:,:) :: axb_by_mode
logical, intent(in) :: distributed

private subroutine average_theta_2_complex_txy(a, b, axb_by_mode, distributed)

FIXME : Add documentation

Arguments

Type IntentOptional Attributes Name
complex, intent(in), dimension (-ntgrid:,:,:) :: a
complex, intent(in), dimension (-ntgrid:,:,:) :: b
complex, intent(out), dimension (:,:) :: axb_by_mode
logical, intent(in) :: distributed

private subroutine average_ky_complex_xy(f, favg, distributed)

FIXME : Add documentation

Arguments

Type IntentOptional Attributes Name
complex, intent(in), dimension (:,:) :: f
complex, intent(out), dimension (:) :: favg
logical, intent(in) :: distributed

private subroutine average_ky_2_complex_xy(f, g, favg, distributed)

FIXME : Add documentation

Arguments

Type IntentOptional Attributes Name
complex, intent(in), dimension (:,:) :: f
complex, intent(in), dimension (:,:) :: g
complex, intent(out), dimension (:) :: favg
logical, intent(in) :: distributed

private subroutine average_ky_xy(f, favg, distributed)

FIXME : Add documentation

Arguments

Type IntentOptional Attributes Name
real, intent(in), dimension (:,:) :: f
real, intent(out), dimension (:) :: favg
logical, intent(in) :: distributed

private subroutine average_ky_xys(f, favg, distributed)

FIXME : Add documentation

Arguments

Type IntentOptional Attributes Name
real, intent(in), dimension (:,:,:) :: f
real, intent(out), dimension (:,:) :: favg
logical, intent(in) :: distributed

private subroutine average_kx_xys(f, favg, distributed)

FIXME : Add documentation

Arguments

Type IntentOptional Attributes Name
real, intent(in), dimension (:,:,:) :: f
real, intent(out), dimension (:,:) :: favg
logical, intent(in) :: distributed

private subroutine average_kx_xy(f, favg, distributed)

FIXME : Add documentation

Arguments

Type IntentOptional Attributes Name
real, intent(in), dimension (:,:) :: f
real, intent(out), dimension (:) :: favg
logical, intent(in) :: distributed