| 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