Class | storeset |
In: |
setup/storeset.f90
|
積算値を保管するための変数型モジュール.
Subroutine : | |
Work(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
移流項の保管
subroutine StoreAdv( Work ) !移流項の保管 implicit none real(8), intent(in) :: Work(DimXMin:DimXMax, DimZMin:DimZMax) real(8) :: Work2(DimXMin:DimXMax, DimZMin:DimZMax) Work2 = xz_Adv + Work xz_Adv = Work2 end subroutine StoreAdv
Subroutine : |
保管した値のクリアー
subroutine StoreClean( ) !保管した値のクリアー z_Adv = 0.0d0 z_Turb = 0.0d0 z_Diff = 0.0d0 z_Disp = 0.0d0 z_Rad = 0.0d0 z_Damp = 0.0d0 z_Cond = 0.0d0 z_Flux = 0.0d0 xz_Adv = 0.0d0 xz_Turb = 0.0d0 xz_Diff = 0.0d0 xz_Disp = 0.0d0 xz_Rad = 0.0d0 xz_Damp = 0.0d0 xz_Cond = 0.0d0 xz_Flux = 0.0d0 z_Stab = 0.0d0 z_StabTemp = 0.0d0 z_StabMolWt = 0.0d0 xz_Stab1 = 0.0d0 xz_Stab2 = 0.0d0 xz_Stab3 = 0.0d0 za_MixRt = 0.0d0 xza_MixRt1 = 0.0d0 ! CalNum = 1.0d-40 !ゼロ割を禁止. end subroutine StoreClean
Subroutine : | |
Work(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
潜熱・蒸発熱の保管
subroutine StoreCond( Work ) !潜熱・蒸発熱の保管 implicit none real(8), intent(in) :: Work(DimXMin:DimXMax, DimZMin:DimZMax) real(8) :: Work2(DimXMin:DimXMax, DimZMin:DimZMax) Work2 = xz_Cond + Work xz_Cond = Work2 end subroutine StoreCond
Subroutine : | |
Work(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
ダンピング項の保管
subroutine StoreDamp( Work ) !ダンピング項の保管 implicit none real(8), intent(in) :: Work(DimXMin:DimXMax, DimZMin:DimZMax) real(8) :: Work2(DimXMin:DimXMax, DimZMin:DimZMax) Work2 = xz_Damp + Work xz_Damp = Work2 end subroutine StoreDamp
Subroutine : | |
Work(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
数値拡散項の保管
subroutine StoreDiff( Work ) !数値拡散項の保管 implicit none real(8), intent(in) :: Work(DimXMin:DimXMax, DimZMin:DimZMax) real(8) :: Work2(DimXMin:DimXMax, DimZMin:DimZMax) Work2 = xz_Diff + Work xz_Diff = Work2 end subroutine StoreDiff
Subroutine : | |
Work(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
散逸加熱項の保管
subroutine StoreDisp( Work ) !散逸加熱項の保管 implicit none real(8), intent(in) :: Work(DimXMin:DimXMax, DimZMin:DimZMax) real(8) :: Work2(DimXMin:DimXMax, DimZMin:DimZMax) Work2 = xz_Disp + Work xz_Disp = Work2 end subroutine StoreDisp
Subroutine : | |
Work(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
地表面フラックスの保管
subroutine StoreFlux( Work ) !地表面フラックスの保管 implicit none real(8), intent(in) :: Work(DimXMin:DimXMax, DimZMin:DimZMax) real(8) :: Work2(DimXMin:DimXMax, DimZMin:DimZMax) Work2 = xz_Flux + Work xz_Flux = Work2 end subroutine StoreFlux
Subroutine : |
保管した値の水平平均値 [K/s]
subroutine StoreMeanX( ) !保管した値の水平平均値 [K/s] real(8) :: CalNum CalNum = TimeDisp / DelTimeLong z_Adv = a_MeanX_aa( xz_Adv ) / CalNum z_Turb = a_MeanX_aa( xz_Turb ) / CalNum z_Diff = a_MeanX_aa( xz_Diff ) / CalNum z_Disp = a_MeanX_aa( xz_Disp ) / CalNum z_Rad = a_MeanX_aa( xz_Rad ) / CalNum z_Damp = a_MeanX_aa( xz_Damp ) / CalNum z_Cond = a_MeanX_aa( xz_Cond ) / CalNum z_Flux = a_MeanX_aa( xz_Flux ) / CalNum z_Stab = a_MeanX_aa( xz_Stab1 ) / CalNum z_StabTemp = a_MeanX_aa( xz_Stab2 ) / CalNum z_StabMolWt = a_MeanX_aa( xz_Stab3 ) / CalNum za_MixRt = aa_MeanX_aaa( xza_MixRt1 ) / CalNum !描画する際に対数プロットをするので, 値にゼロが入って欲しくない where ( za_MixRt < 1.0d-20 ) za_MixRt = 1.0d-20 end where end subroutine StoreMeanX
Subroutine : | |
Work1(DimXMin:DimXMax, DimZMin:DimZMax, SpcNum) : | real(8), intent(in) |
Store Mixing ratio of species
subroutine StoreMixRt( Work1 ) !Store Mixing ratio of species implicit none real(8), intent(in) :: Work1(DimXMin:DimXMax, DimZMin:DimZMax, SpcNum) real(8) :: WorkA(DimXMin:DimXMax, DimZMin:DimZMax, SpcNum) WorkA = Work1 + xza_MixRt1 xza_MixRt1 = WorkA end subroutine StoreMixRt
Subroutine : | |
Work(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
放射冷却項の保管
subroutine StoreRad( Work ) !放射冷却項の保管 implicit none real(8), intent(in) :: Work(DimXMin:DimXMax, DimZMin:DimZMax) real(8) :: Work2(DimXMin:DimXMax, DimZMin:DimZMax) Work2 = xz_Rad + Work xz_Rad = Work2 end subroutine StoreRad
Subroutine : |
初期化ルーチン
subroutine StoreSet_Init( ) !初期化ルーチン allocate( z_Adv(DimZMin:DimZMax), z_Turb(DimZMin:DimZMax), z_Disp(DimZMin:DimZMax), z_Diff(DimZMin:DimZMax), z_Rad(DimZMin:DimZMax), z_Damp(DimZMin:DimZMax), z_Cond(DimZMin:DimZMax), z_Flux(DimZMin:DimZMax), xz_Adv(DimXMin:DimXMax, DimZMin:DimZMax), xz_Turb(DimXMin:DimXMax, DimZMin:DimZMax), xz_Disp(DimXMin:DimXMax, DimZMin:DimZMax), xz_Diff(DimXMin:DimXMax, DimZMin:DimZMax), xz_Rad(DimXMin:DimXMax, DimZMin:DimZMax), xz_Damp(DimXMin:DimXMax, DimZMin:DimZMax), xz_Cond(DimXMin:DimXMax, DimZMin:DimZMax), xz_Flux(DimXMin:DimXMax, DimZMin:DimZMax), z_Stab(DimZMin:DimZMax), z_StabTemp(DimZMin:DimZMax), z_StabMolWt(DimZMin:DimZMax), xz_Stab1(DimXMin:DimXMax, DimZMin:DimZMax), xz_Stab2(DimXMin:DimXMax, DimZMin:DimZMax), xz_Stab3(DimXMin:DimXMax, DimZMin:DimZMax), za_MixRt(DimZMin:DimZMax, SpcNum), xza_MixRt1(DimXMin:DimXMax, DimZMin:DimZMax, SpcNum) ) z_Adv = 0.0d0 z_Turb = 0.0d0 z_Diff = 0.0d0 z_Disp = 0.0d0 z_Rad = 0.0d0 z_Damp = 0.0d0 z_Cond = 0.0d0 z_Flux = 0.0d0 xz_Adv = 0.0d0 xz_Turb = 0.0d0 xz_Diff = 0.0d0 xz_Disp = 0.0d0 xz_Rad = 0.0d0 xz_Damp = 0.0d0 xz_Cond = 0.0d0 xz_Flux = 0.0d0 z_Stab = 0.0d0 z_StabTemp = 0.0d0 z_StabMolWt = 0.0d0 xz_Stab1 = 0.0d0 xz_Stab2 = 0.0d0 xz_Stab3 = 0.0d0 za_MixRt = 0.0d0 xza_MixRt1 = 0.0d0 ! CalNum = 1.0d-40 !ゼロ割を禁止. end subroutine StoreSet_Init
Subroutine : | |
Work1(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
Work2(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
Work3(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
安定度の保管
subroutine StoreStab( Work1, Work2, Work3 ) !安定度の保管 implicit none real(8), intent(in) :: Work1(DimXMin:DimXMax, DimZMin:DimZMax) real(8), intent(in) :: Work2(DimXMin:DimXMax, DimZMin:DimZMax) real(8), intent(in) :: Work3(DimXMin:DimXMax, DimZMin:DimZMax) real(8) :: WorkA(DimXMin:DimXMax, DimZMin:DimZMax) real(8) :: WorkB(DimXMin:DimXMax, DimZMin:DimZMax) real(8) :: WorkC(DimXMin:DimXMax, DimZMin:DimZMax) WorkA = Work1 + xz_Stab1 xz_Stab1 = WorkA WorkB = Work2 + xz_Stab2 xz_Stab2 = WorkB WorkC = Work3 + xz_Stab3 xz_Stab3 = WorkC end subroutine StoreStab
Subroutine : | |
Work(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
乱流項の保管
subroutine StoreTurb( Work ) !乱流項の保管 implicit none real(8), intent(in) :: Work(DimXMin:DimXMax, DimZMin:DimZMax) real(8) :: Work2(DimXMin:DimXMax, DimZMin:DimZMax) Work2 = xz_Turb + Work xz_Turb = Work2 end subroutine StoreTurb