Class | storeset2 |
In: |
setup/storeset2.f90
|
積算値を保管するための変数型モジュール.
Subroutine : | |
Work(DimXMin:DimXMax, DimZMin:DimZMax, SpcNum) : | real(8), intent(in) |
移流項の保管
subroutine Store2Adv( Work ) !移流項の保管 implicit none real(8), intent(in) :: Work(DimXMin:DimXMax, DimZMin:DimZMax, SpcNum) real(8) :: Work2(DimXMin:DimXMax, DimZMin:DimZMax, SpcNum) Work2 = xza_Adv + Work xza_Adv = Work2 ! CalNum = CalNum + 1 end subroutine Store2Adv
Subroutine : |
保管した値のクリアー
subroutine Store2Clean( ) !保管した値のクリアー za_Adv = 0.0d0 za_Turb = 0.0d0 za_Diff = 0.0d0 za_Flux = 0.0d0 za_Rain = 0.0d0 za_Fill1 = 0.0d0 za_Fill2 = 0.0d0 za_Cond = 0.0d0 ! za_Asln = 0.0d0 xza_Adv = 0.0d0 xza_Turb = 0.0d0 xza_Diff = 0.0d0 xza_Flux = 0.0d0 xza_Rain = 0.0d0 xza_Fill1 = 0.0d0 xza_Fill2 = 0.0d0 xza_Cond = 0.0d0 ! xza_Asln = 0.0d0 ! CalNum = 1.0d-40 !ゼロ割を禁止 end subroutine Store2Clean
Subroutine : | |
Work(DimXMin:DimXMax, DimZMin:DimZMax, SpcNum) : | real(8), intent(in) |
凝結に伴う変化
subroutine Store2Cond( Work ) !凝結に伴う変化 implicit none real(8), intent(in) :: Work(DimXMin:DimXMax, DimZMin:DimZMax, SpcNum) real(8) :: Work2(DimXMin:DimXMax, DimZMin:DimZMax, SpcNum) Work2 = xza_Cond + Work xza_Cond = Work2 end subroutine Store2Cond
Subroutine : | |
Work(DimXMin:DimXMax, DimZMin:DimZMax, SpcNum) : | real(8), intent(in) |
数値拡散項の保管
subroutine Store2Diff( Work ) !数値拡散項の保管 implicit none real(8), intent(in) :: Work(DimXMin:DimXMax, DimZMin:DimZMax, SpcNum) real(8) :: Work2(DimXMin:DimXMax, DimZMin:DimZMax, SpcNum) Work2 = xza_Diff + Work xza_Diff = Work2 end subroutine Store2Diff
Subroutine : | |
Work1(DimXMin:DimXMax, DimZMin:DimZMax, SpcNum) : | real(8), intent(in) |
穴埋めプログラムによる変化
subroutine Store2Fill1( Work1 ) !穴埋めプログラムによる変化 implicit none real(8), intent(in) :: Work1(DimXMin:DimXMax, DimZMin:DimZMax, SpcNum) real(8) :: WorkA(DimXMin:DimXMax, DimZMin:DimZMax, SpcNum) WorkA = Work1 + xza_Fill1 xza_Fill1 = WorkA end subroutine Store2Fill1
Subroutine : | |
Work1(DimXMin:DimXMax, DimZMin:DimZMax, SpcNum) : | real(8), intent(in) |
穴埋めプログラム(2)による変化
subroutine Store2Fill2( Work1 ) !穴埋めプログラム(2)による変化 implicit none real(8), intent(in) :: Work1(DimXMin:DimXMax, DimZMin:DimZMax, SpcNum) real(8) :: WorkA(DimXMin:DimXMax, DimZMin:DimZMax, SpcNum) WorkA = Work1 + xza_Fill2 xza_Fill2 = WorkA end subroutine Store2Fill2
Subroutine : | |
Work(DimXMin:DimXMax, DimZMin:DimZMax, SpcNum) : | real(8), intent(in) |
地表面フラックスによる変化
subroutine Store2Flux( Work ) !地表面フラックスによる変化 implicit none real(8), intent(in) :: Work(DimXMin:DimXMax, DimZMin:DimZMax, SpcNum) real(8) :: Work2(DimXMin:DimXMax, DimZMin:DimZMax, SpcNum) Work2 = xza_Flux + Work xza_Flux = Work2 end subroutine Store2Flux
Subroutine : |
保管した値の水平平均値
subroutine Store2MeanX( ) !保管した値の水平平均値 real(8) :: CalNum CalNum = TimeDisp / DelTimeLong za_Adv = aa_MeanX_aaa( xza_Adv ) / CalNum za_Turb = aa_MeanX_aaa( xza_Turb ) / CalNum za_Diff = aa_MeanX_aaa( xza_Diff ) / CalNum za_Flux = aa_MeanX_aaa( xza_Flux ) / CalNum za_Rain = aa_MeanX_aaa( xza_Rain ) / CalNum za_Fill1 = aa_MeanX_aaa( xza_Fill1 ) / CalNum za_Fill2 = aa_MeanX_aaa( xza_Fill2 ) / CalNum za_Cond = aa_MeanX_aaa( xza_Cond ) / CalNum ! za_Asln = aa_MeanX_aaa( xza_Asln ) / CalNum end subroutine Store2MeanX
Subroutine : | |
Work(DimXMin:DimXMax, DimZMin:DimZMax, SpcNum) : | real(8), intent(in) |
降雨の重力落下に伴う変化
subroutine Store2Rain( Work ) !降雨の重力落下に伴う変化 implicit none real(8), intent(in) :: Work(DimXMin:DimXMax, DimZMin:DimZMax, SpcNum) real(8) :: Work2(DimXMin:DimXMax, DimZMin:DimZMax, SpcNum) Work2 = xza_Rain + Work xza_Rain = Work2 end subroutine Store2Rain
Subroutine : |
初期化ルーチン
subroutine Store2Set_Init( ) !初期化ルーチン allocate( za_Adv(DimZMin:DimZMax, SpcNum), za_Turb(DimZMin:DimZMax, SpcNum), za_Diff(DimZMin:DimZMax, SpcNum), za_Flux(DimZMin:DimZMax, SpcNum), za_Rain(DimZMin:DimZMax, SpcNum), za_Fill1(DimZMin:DimZMax, SpcNum), za_Fill2(DimZMin:DimZMax, SpcNum), za_Cond(DimZMin:DimZMax, SpcNum), xza_Adv(DimXMin:DimXMax, DimZMin:DimZMax, SpcNum), xza_Turb(DimXMin:DimXMax, DimZMin:DimZMax, SpcNum), xza_Diff(DimXMin:DimXMax, DimZMin:DimZMax, SpcNum), xza_Flux(DimXMin:DimXMax, DimZMin:DimZMax, SpcNum), xza_Rain(DimXMin:DimXMax, DimZMin:DimZMax, SpcNum), xza_Fill1(DimXMin:DimXMax, DimZMin:DimZMax, SpcNum), xza_Fill2(DimXMin:DimXMax, DimZMin:DimZMax, SpcNum), xza_Cond(DimXMin:DimXMax, DimZMin:DimZMax, SpcNum) ) za_Adv = 0.0d0 za_Turb = 0.0d0 za_Diff = 0.0d0 za_Flux = 0.0d0 za_Rain = 0.0d0 za_Fill1 = 0.0d0 za_Fill2 = 0.0d0 za_Cond = 0.0d0 ! za_Asln = 0.0d0 xza_Adv = 0.0d0 xza_Turb = 0.0d0 xza_Diff = 0.0d0 xza_Flux = 0.0d0 xza_Rain = 0.0d0 xza_Fill1 = 0.0d0 xza_Fill2 = 0.0d0 xza_Cond = 0.0d0 ! xza_Asln = 0.0d0 ! CalNum = 1.0d-40 !ゼロ割を禁止 end subroutine Store2Set_Init
Subroutine : | |
Work(DimXMin:DimXMax, DimZMin:DimZMax, SpcNum) : | real(8), intent(in) |
乱流項の保管
subroutine Store2Turb( Work ) !乱流項の保管 implicit none real(8), intent(in) :: Work(DimXMin:DimXMax, DimZMin:DimZMax, SpcNum) real(8) :: Work2(DimXMin:DimXMax, DimZMin:DimZMax, SpcNum) Work2 = xza_Turb + Work xza_Turb = Work2 end subroutine Store2Turb