Class | differentiate_center2 |
In: |
util/differentiate_center2.f90
|
2 次精度の微分演算を行うための関数群をまとめたパッケージ型モジュール 水平 Arakawa-C, 鉛直 Lorentz グリッドでの微分計算
Function : | |||
pr_dx_xr(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8)
| ||
xr_var(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in)
|
格子点上での x 方向 2 次精度微分演算
function pr_dx_xr( xr_var ) ! ! 格子点上での x 方向 2 次精度微分演算 ! !暗黙の型宣言禁止 implicit none !変数定義 real(8), intent(in) :: xr_var(DimXMin:DimXMax, DimZMin:DimZMax) !微分演算の対象となる変数 real(8) :: pr_dx_xr(DimXMin:DimXMax, DimZMin:DimZMax) !微分値 pr_dx_xr = 1.0d-16 pr_dx_xr(DimXMin:DimXMax-1,DimZMin:DimZMax) = ( xr_var(DimXMin+1:DimXMax,DimZMin:DimZMax) - xr_var(DimXMin:DimXMax-1,DimZMin:DimZMax) ) / DelX end function pr_dx_xr
Function : | |||
pr_dz_pz(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8)
| ||
pz_var(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in)
|
格子点上での z 方向 2 次精度微分演算
function pr_dz_pz( pz_var ) ! ! 格子点上での z 方向 2 次精度微分演算 ! !暗黙の型宣言禁止 implicit none !変数定義 real(8), intent(in) :: pz_var(DimXMin:DimXMax, DimZMin:DimZMax) !微分演算の対象となる変数 real(8) :: pr_dz_pz(DimXMin:DimXMax, DimZMin:DimZMax) !微分値 pr_dz_pz = 1.0d-16 pr_dz_pz(DimXMin:DimXMax,DimZMin:DimZMax-1) = ( pz_var(DimXMin:DimXMax,DimZMin+1:DimZMax) - pz_var(DimXMin:DimXMax,DimZMin:DimZMax-1) ) / DelZ end function pr_dz_pz
Function : | |||
pz_dx_xz(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8)
| ||
xz_var(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in)
|
z 方向に半格子ずれた点での x 方向 2 次精度微分演算
function pz_dx_xz( xz_var ) ! ! z 方向に半格子ずれた点での x 方向 2 次精度微分演算 ! !暗黙の型宣言禁止 implicit none !変数定義 real(8), intent(in) :: xz_var(DimXMin:DimXMax, DimZMin:DimZMax) !微分演算の対象となる変数 real(8) :: pz_dx_xz(DimXMin:DimXMax, DimZMin:DimZMax) !微分値 pz_dx_xz = 1.0d-16 pz_dx_xz(DimXMin:DimXMax-1,DimZMin:DimZMax) = ( xz_var(DimXMin+1:DimXMax,DimZMin:DimZMax) - xz_var(DimXMin:DimXMax-1,DimZMin:DimZMax) ) / DelX end function pz_dx_xz
Function : | |
pz_dz_pr(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8) |
pr_var(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
z 方向に半格子ずれた点での z 方向 2 次精度微分演算
function pz_dz_pr( pr_var ) ! ! z 方向に半格子ずれた点での z 方向 2 次精度微分演算 ! !暗黙の型宣言禁止 implicit none real(8), intent(in) :: pr_var(DimXMin:DimXMax, DimZMin:DimZMax) real(8) :: pz_dz_pr(DimXMin:DimXMax, DimZMin:DimZMax) pz_dz_pr = 1.0d-16 pz_dz_pr(DimXMin:DimXMax,DimZMin+1:DimZMax) = ( pr_var(DimXMin:DimXMax,DimZMin+1:DimZMax) - pr_var(DimXMin:DimXMax,DimZMin:DimZMax-1) ) / DelZ end function pz_dz_pr
Function : | |||
xr_dx_pr(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8)
| ||
pr_var(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in)
|
x 方向に半格子ずれた点での x 方向 2 次精度微分演算
function xr_dx_pr( pr_var ) ! ! x 方向に半格子ずれた点での x 方向 2 次精度微分演算 ! !暗黙の型宣言禁止 implicit none !変数定義 real(8), intent(in) :: pr_var(DimXMin:DimXMax, DimZMin:DimZMax) !微分演算の対象となる変数 real(8) :: xr_dx_pr(DimXMin:DimXMax, DimZMin:DimZMax) !微分値 xr_dx_pr = 1.0d-16 xr_dx_pr(DimXMin+1:DimXMax,DimZMin:DimZMax) = ( pr_var(DimXMin+1:DimXMax,DimZMin:DimZMax) - pr_var(DimXMin:DimXMax-1,DimZMin:DimZMax) ) / DelX end function xr_dx_pr
Function : | |||
xr_dz_xz(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8)
| ||
xz_var(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in)
|
x 方向に半格子ずれた点での z 方向 2 次精度微分演算
function xr_dz_xz( xz_var ) ! ! x 方向に半格子ずれた点での z 方向 2 次精度微分演算 ! !暗黙の型宣言禁止 implicit none !変数定義 real(8), intent(in) :: xz_var(DimXMin:DimXMax, DimZMin:DimZMax) !微分演算の対象となる変数 real(8) :: xr_dz_xz(DimXMin:DimXMax, DimZMin:DimZMax) !微分値 xr_dz_xz = 1.0d-16 xr_dz_xz(DimXMin:DimXMax,DimZMin:DimZMax-1) = ( xz_var(DimXMin:DimXMax,DimZMin+1:DimZMax) - xz_var(DimXMin:DimXMax,DimZMin:DimZMax-1) ) / DelZ end function xr_dz_xz
Function : | |||
xz_dx_pz(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8)
| ||
pz_var(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in)
|
x, z 方向に半格子ずれた点での x 方向 2 次精度微分演算
function xz_dx_pz( pz_var ) ! ! x, z 方向に半格子ずれた点での x 方向 2 次精度微分演算 ! !暗黙の型宣言禁止 implicit none !変数定義 real(8), intent(in) :: pz_var(DimXMin:DimXMax, DimZMin:DimZMax) !微分演算の対象となる変数 real(8) :: xz_dx_pz(DimXMin:DimXMax, DimZMin:DimZMax) !微分値 xz_dx_pz = 1.0d-16 xz_dx_pz(DimXMin+1 : DimXMax, DimZMin : DimZMax) = ( pz_var(DimXMin+1 : DimXMax, DimZMin : DimZMax) - pz_var(DimXMin : DimXMax-1, DimZMin : DimZMax) ) / DelX end function xz_dx_pz
Function : | |||
xz_dz_xr(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8)
| ||
xr_var(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in)
|
x, z 方向に半格子ずれた点での z 方向 2 次精度微分演算
function xz_dz_xr(xr_var) ! ! x, z 方向に半格子ずれた点での z 方向 2 次精度微分演算 ! !暗黙の型宣言禁止 implicit none !変数定義 real(8), intent(in) :: xr_var(DimXMin:DimXMax, DimZMin:DimZMax) !微分演算の対象となる変数 real(8) :: xz_dz_xr(DimXMin:DimXMax, DimZMin:DimZMax) !微分値 xz_dz_xr = 1.0d-16 xz_dz_xr(DimXMin:DimXMax,DimZMin+1:DimZMax) = ( xr_var(DimXMin:DimXMax,DimZMin+1:DimZMax) - xr_var(DimXMin:DimXMax,DimZMin:DimZMax-1) ) / DelZ end function xz_dz_xr