Class average
In: util/average.f90

2 次精度の平均操作を行うための関数を束ねたパッケージ型モジュール. 水平 Arakawa-C, 鉛直 Lorentz グリッドとする.

Methods

Included Modules

gridset

Public Instance methods

Function :
pr_avr_pz(DimXMin:DimXMax, DimZMin:DimZMax) :real(8)
: 平均値
pz_var(DimXMin:DimXMax, DimZMin:DimZMax) :real(8), intent(in)
: 平均演算の対象となる変数

z 方向に半格子ずれた点の, 格子上の点での平均値

[Source]

  function pr_avr_pz( pz_var ) 
    !
    ! z 方向に半格子ずれた点の, 格子上の点での平均値
    !
    
    !暗黙の型宣言禁止
    implicit none
    
    !変数定義
    real(8), intent(in)  :: pz_var(DimXMin:DimXMax, DimZMin:DimZMax)
                                     !平均演算の対象となる変数
    real(8)              :: pr_avr_pz(DimXMin:DimXMax, DimZMin:DimZMax)
                                     !平均値
    
    pr_avr_pz = pz_var
    pr_avr_pz(DimXMin : DimXMax, DimZMin : DimZMax-1) = ( pz_var(DimXMin : DimXMax, DimZMin+1 : DimZMax) + pz_var(DimXMin : DimXMax, DimZMin   : DimZMax-1) ) * 5.0d-1

  end function pr_avr_pz
Function :
pr_avr_xr(DimXMin:DimXMax, DimZMin:DimZMax) :real(8)
: 平均値
xr_var(DimXMin:DimXMax, DimZMin:DimZMax) :real(8), intent(in)
: 平均演算の対象となる変数

x 方向に半格子ずれた点の, 格子上の点での平均値

[Source]

  function pr_avr_xr( xr_var ) 
    !
    ! x 方向に半格子ずれた点の, 格子上の点での平均値
    !
    
    !暗黙の型宣言禁止
    implicit none
    
    !変数定義
    real(8), intent(in)  :: xr_var(DimXMin:DimXMax, DimZMin:DimZMax)
                                     !平均演算の対象となる変数
    real(8)              :: pr_avr_xr(DimXMin:DimXMax, DimZMin:DimZMax)
                                     !平均値
    
    pr_avr_xr = xr_var
    pr_avr_xr(DimXMin : DimXMax-1 , DimZMin : DimZMax) = ( xr_var(DimXMin+1 : DimXMax,   DimZMin : DimZMax) + xr_var(DimXMin   : DimXMax-1, DimZMin : DimZMax) ) * 5.0d-1

  end function pr_avr_xr
Function :
pr_avr_xz(DimXMin:DimXMax, DimZMin:DimZMax) :real(8)
: 平均値
xz_var(DimXMin:DimXMax, DimZMin:DimZMax) :real(8), intent(in)
: 平均演算の対象となる変数

x, z 方向に半格子ずれた点の, 格子上の点での平均値

[Source]

  function pr_avr_xz( xz_var ) 
    !
    ! x, z 方向に半格子ずれた点の, 格子上の点での平均値
    !
    
    !暗黙の型宣言禁止
    implicit none
    
    !変数定義
    real(8), intent(in)  :: xz_var(DimXMin:DimXMax, DimZMin:DimZMax)
                                     !平均演算の対象となる変数
    real(8)              :: pr_avr_xz(DimXMin:DimXMax, DimZMin:DimZMax)
                                     !平均値
    
    pr_avr_xz = xz_var
    pr_avr_xz(DimXMin : DimXMax-1, DimZMin : DimZMax-1) = ( xz_var(DimXMin+1 : DimXMax,   DimZMin+1 : DimZMax   ) + xz_var(DimXMin+1 : DimXMax,   DimZMin   : DimZMax-1 ) + xz_var(DimXMin   : DimXMax-1, DimZMin+1 : DimZMax   ) + xz_var(DimXMin   : DimXMax-1, DimZMin   : DimZMax-1 ) ) * 2.5d-1

  end function pr_avr_xz
Function :
pz_avr_pr(DimXMin:DimXMax, DimZMin:DimZMax) :real(8)
: 平均値
pr_var(DimXMin:DimXMax, DimZMin:DimZMax) :real(8), intent(in)
: 平均演算の対象となる変数

格子上の点の, z 方向に半格子ずれた点での平均値

[Source]

  function pz_avr_pr( pr_var ) 
    !
    ! 格子上の点の, z 方向に半格子ずれた点での平均値
    !
    
    !暗黙の型宣言禁止
    implicit none
    
    !変数定義
    real(8), intent(in)  :: pr_var(DimXMin:DimXMax, DimZMin:DimZMax)
                                     !平均演算の対象となる変数
    real(8)              :: pz_avr_pr(DimXMin:DimXMax, DimZMin:DimZMax)
                                     !平均値    

    pz_avr_pr = pr_var
    pz_avr_pr(DimXMin : DimXMax, DimZMin+1 : DimZMax) = ( pr_var(DimXMin : DimXMax, DimZMin+1 : DimZMax  ) + pr_var(DimXMin : DimXMax, DimZMin   : DimZMax-1) ) * 5.0d-1

  end function pz_avr_pr
Function :
pz_avr_xr(DimXMin:DimXMax, DimZMin:DimZMax) :real(8)
: 平均値
xr_var(DimXMin:DimXMax, DimZMin:DimZMax) :real(8), intent(in)
: 平均演算の対象となる変数

x 方向に半格子ずれた点の, z 方向に半格子ずれた点での平均値

[Source]

  function pz_avr_xr( xr_var ) 
    !
    ! x 方向に半格子ずれた点の, z 方向に半格子ずれた点での平均値
    !
    
    !暗黙の型宣言禁止
    implicit none
    
    !変数定義
    real(8), intent(in)  :: xr_var(DimXMin:DimXMax, DimZMin:DimZMax)
                                     !平均演算の対象となる変数
    real(8)              :: pz_avr_xr(DimXMin:DimXMax, DimZMin:DimZMax)
                                     !平均値    

    pz_avr_xr = xr_var
    pz_avr_xr(DimXMin : DimXMax-1, DimZMin+1 : DimZMax) = ( xr_var(DimXMin+1 : DimXMax,   DimZMin+1 : DimZMax  ) + xr_var(DimXMin+1 : DimXMax,   DimZMin   : DimZMax-1) + xr_var(DimXMin   : DimXMax-1, DimZMin+1 : DimZMax  ) + xr_var(DimXMin   : DimXMax-1, DimZMin   : DimZMax-1) ) * 2.5d-1

  end function pz_avr_xr
Function :
pz_avr_xz(DimXMin:DimXMax, DimZMin:DimZMax) :real(8)
: 平均値
xz_var(DimXMin:DimXMax, DimZMin:DimZMax) :real(8), intent(in)
: 平均演算の対象となる変数

x, z 方向に半格子ずれた点の, z 方向に半格子ずれた点での平均値

[Source]

  function pz_avr_xz( xz_var ) 
    !
    ! x, z 方向に半格子ずれた点の, z 方向に半格子ずれた点での平均値
    !
    
    !暗黙の型宣言禁止
    implicit none
    
    !変数定義
    real(8), intent(in)  :: xz_var(DimXMin:DimXMax, DimZMin:DimZMax)
                                     !平均演算の対象となる変数
    real(8)              :: pz_avr_xz(DimXMin:DimXMax, DimZMin:DimZMax)
                                     !平均値
    
    pz_avr_xz = xz_var
    pz_avr_xz(DimXMin : DimXMax-1, DimZMin : DimZMax) = ( xz_var(DimXMin+1 : DimXMax   , DimZMin : DimZMax) + xz_var(DimXMin   : DimXMax-1 , DimZMin : DimZMax) ) * 5.0d-1

  end function pz_avr_xz
Function :
xr_avr_pr(DimXMin:DimXMax, DimZMin:DimZMax) :real(8)
: 平均値
pr_var(DimXMin:DimXMax, DimZMin:DimZMax) :real(8), intent(in)
: 平均演算の対象となる変数

格子上の点の, x 方向に半格子ずれた点での平均値

[Source]

  function xr_avr_pr( pr_var ) 
    !
    ! 格子上の点の, x 方向に半格子ずれた点での平均値
    !
    
    !暗黙の型宣言禁止
    implicit none
    
    !変数定義
    real(8), intent(in)  :: pr_var(DimXMin:DimXMax, DimZMin:DimZMax)
                                     !平均演算の対象となる変数
    real(8)              :: xr_avr_pr(DimXMin:DimXMax, DimZMin:DimZMax)
                                     !平均値    

    xr_avr_pr = pr_var
    xr_avr_pr(DimXMin+1 : DimXMax, DimZMin : DimZMax) = ( pr_var(DimXMin+1 : DimXMax,   DimZMin : DimZMax) + pr_var(DimXMin   : DimXMax-1, DimZMin : DimZMax) ) * 5.0d-1

  end function xr_avr_pr
Function :
xr_avr_pz(DimXMin:DimXMax, DimZMin:DimZMax) :real(8)
: 平均値
pz_var(DimXMin:DimXMax, DimZMin:DimZMax) :real(8), intent(in)
: 平均演算の対象となる変数

z 方向に半格子ずれた点の, x 方向に半格子ずれた点での平均値

[Source]

  function xr_avr_pz( pz_var ) 
    !
    ! z 方向に半格子ずれた点の, x 方向に半格子ずれた点での平均値
    !
    
    !暗黙の型宣言禁止
    implicit none
    
    !変数定義
    real(8), intent(in)  :: pz_var(DimXMin:DimXMax, DimZMin:DimZMax)
                                     !平均演算の対象となる変数
    real(8)              :: xr_avr_pz(DimXMin:DimXMax, DimZMin:DimZMax)
                                     !平均値
    
    xr_avr_pz = pz_var
    xr_avr_pz(DimXMin+1 : DimXMax, DimZMin : DimZMax-1 ) = ( pz_var(DimXMin+1 :DimXMax,   DimZMin+1 : DimZMax  ) + pz_var(DimXMin+1 :DimXMax,   DimZMin   : DimZMax-1) + pz_var(DimXMin   :DimXMax-1, DimZMin+1 : DimZMax  ) + pz_var(DimXMin   :DimXMax-1, DimZMin   : DimZMax-1) ) * 2.5d-1

  end function xr_avr_pz
Function :
xr_avr_xz(DimXMin:DimXMax, DimZMin:DimZMax) :real(8)
: 平均値
xz_var(DimXMin:DimXMax, DimZMin:DimZMax) :real(8), intent(in)
: 平均演算の対象となる変数

x, z 方向に半格子ずれた点の, x 方向に半格子ずれた点での平均値

[Source]

  function xr_avr_xz( xz_var ) 
    !
    ! x, z 方向に半格子ずれた点の, x 方向に半格子ずれた点での平均値
    !

    !暗黙の型宣言禁止
    implicit none
    
    !変数定義
    real(8), intent(in)  :: xz_var(DimXMin:DimXMax, DimZMin:DimZMax)
                                     !平均演算の対象となる変数
    real(8)              :: xr_avr_xz(DimXMin:DimXMax, DimZMin:DimZMax)
                                     !平均値    

    xr_avr_xz = xz_var
    xr_avr_xz(DimXMin : DimXMax, DimZMin : DimZMax-1) = ( xz_var( DimXMin : DimXMax, DimZMin+1 :DimZMax   ) + xz_var( DimXMin : DimXMax, DimZMin   :DimZMax-1 ) ) * 5.0d-1

  end function xr_avr_xz
Function :
xz_avr_pr(DimXMin:DimXMax, DimZMin:DimZMax) :real(8)
: 平均値
pr_var(DimXMin:DimXMax, DimZMin:DimZMax) :real(8), intent(in)
: 平均演算の対象となる変数

格子上の点の, x, z 方向に半格子ずれた点での平均値

[Source]

  function xz_avr_pr( pr_var )
    !
    ! 格子上の点の, x, z 方向に半格子ずれた点での平均値
    !
    
    !暗黙の型宣言禁止
    implicit none

    !変数定義
    real(8), intent(in)  :: pr_var(DimXMin:DimXMax, DimZMin:DimZMax)
                                     !平均演算の対象となる変数
    real(8)              :: xz_avr_pr(DimXMin:DimXMax, DimZMin:DimZMax)
                                     !平均値

    xz_avr_pr = pr_var
    xz_avr_pr(DimXMin+1 : DimXMax, DimZMin+1 : DimZMax) = ( pr_var(DimXMin+1 : DimXMax,   DimZMin+1 : DimZMax   ) + pr_var(DimXMin+1 : DimXMax,   DimZMin   : DimZMax-1 ) + pr_var(DimXMin   : DimXMax-1, DimZMin+1 : DimZMax   ) + pr_var(DimXMin   : DimXMax-1, DimZMin   : DimZMax-1 ) ) * 2.5d-1

  end function xz_avr_pr
Function :
xz_avr_pz(DimXMin:DimXMax, DimZMin:DimZMax) :real(8)
: 平均値
pz_var(DimXMin:DimXMax, DimZMin:DimZMax) :real(8), intent(in)
: 平均演算の対象となる変数

z 方向に半格子ずれた点の, x, z 方向に半格子ずれた点での平均値

[Source]

  function xz_avr_pz( pz_var ) 
    !
    ! z 方向に半格子ずれた点の, x, z 方向に半格子ずれた点での平均値
    !
    
    !暗黙の型宣言禁止
    implicit none
    
    !変数定義
    real(8), intent(in)  :: pz_var(DimXMin:DimXMax, DimZMin:DimZMax)
                                     !平均演算の対象となる変数
    real(8)              :: xz_avr_pz(DimXMin:DimXMax, DimZMin:DimZMax)
                                     !平均値
    
    xz_avr_pz = pz_var    
    xz_avr_pz(DimXMin+1 : DimXMax, DimZMin : DimZMax) = ( pz_var(DimXMin+1 : DimXMax,   DimZMin : DimZMax) + pz_var(DimXMin   : DimXMax-1, DimZMin : DimZMax) ) * 5.0d-1

  end function xz_avr_pz
Function :
xz_avr_xr(DimXMin:DimXMax, DimZMin:DimZMax) :real(8)
: 平均値
xr_var(DimXMin:DimXMax, DimZMin:DimZMax) :real(8), intent(in)
: 平均演算の対象となる変数

x 方向に半格子ずれた点の, x, z 方向に半格子ずれた点での平均値

[Source]

  function xz_avr_xr( xr_var )
    !
    ! x 方向に半格子ずれた点の, x, z 方向に半格子ずれた点での平均値
    !
    
    !暗黙の型宣言禁止
    implicit none
    
    !変数定義
    real(8), intent(in)  :: xr_var(DimXMin:DimXMax, DimZMin:DimZMax)
                                     !平均演算の対象となる変数
    real(8)              :: xz_avr_xr(DimXMin:DimXMax, DimZMin:DimZMax)
                                     !平均値
    
    xz_avr_xr = xr_var 
    xz_avr_xr(DimXMin : DimXMax, DimZMin+1 : DimZMax) = ( xr_var(DimXMin : DimXMax, DimZMin+1 : DimZMax   ) + xr_var(DimXMin : DimXMax, DimZMin   : DimZMax-1 ) ) * 5.0d-1

  end function xz_avr_xr

[Validate]