| Class | StorePotTemp |
| In: |
setup/storepottemp.f90
|
温位に関する積算値を保管するための変数型モジュール.
| Subroutine : | |
| Work(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
移流項の保管
subroutine StorePotTempAdv( 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
CalNumAdv = CalNumAdv + 1
end subroutine StorePotTempAdv
| Subroutine : |
保管した値のクリアー
subroutine StorePotTempClean( )
!保管した値のクリアー
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
za_Cond2 = 0.0d0
z_Cond3 = 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
xza_Cond2 = 0.0d0
xz_Cond3 = 0.0d0
xz_Flux = 0.0d0
! write(*,*) "CalNumAdv ", CalNumAdv
! write(*,*) "CalNumCond ", CalNumCond
! write(*,*) "CalNumRad ", CalNumRad
! write(*,*) "CalNumFlux ", CalNumFlux
CalNumAdv = 0
CalNumTurb = 0
CalNumDiff = 0
CalNumDisp = 0
CalNumRad = 0
CalNumDamp = 0
CalNumCond = 0
CalNumCond2= 0
CalNumCond3= 0
CalNumFlux = 0
end subroutine StorePotTempClean
| Subroutine : | |
| Work(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
潜熱・蒸発熱の保管
subroutine StorePotTempCond( 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
CalNumCond = CalNumCond + 1
end subroutine StorePotTempCond
| Subroutine : | |
| Work(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| ID : | integer |
潜熱・蒸発熱の保管
subroutine StorePotTempCond2( Work, ID )
!潜熱・蒸発熱の保管
implicit none
real(8), intent(in) :: Work(DimXMin:DimXMax, DimZMin:DimZMax)
real(8) :: Work2(DimXMin:DimXMax, DimZMin:DimZMax, 1:SpcNum)
integer :: ID
Work2(:,:,ID) = xza_Cond2(:,:,ID) + Work
xza_Cond2(:,:,ID) = Work2(:,:,ID)
CalNumCond2 = CalNumCond2 + 1
end subroutine StorePotTempCond2
| Subroutine : | |
| Work(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
潜熱・蒸発熱の保管
subroutine StorePotTempCond3( Work )
!潜熱・蒸発熱の保管
implicit none
real(8), intent(in) :: Work(DimXMin:DimXMax, DimZMin:DimZMax)
real(8) :: Work2(DimXMin:DimXMax, DimZMin:DimZMax)
Work2 = xz_Cond3 + Work
xz_Cond3 = Work2
CalNumCond3 = CalNumCond3 + 1
end subroutine StorePotTempCond3
| Subroutine : | |
| Work(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
ダンピング項の保管
subroutine StorePotTempDamp( 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
CalNumDamp = CalNumDamp + 1
end subroutine StorePotTempDamp
| Subroutine : | |
| Work(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
数値拡散項の保管
subroutine StorePotTempDiff( 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
CalNumDiff = CalNumDiff + 1
end subroutine StorePotTempDiff
| Subroutine : | |
| Work(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
散逸加熱項の保管
subroutine StorePotTempDisp( 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
CalNumDisp = CalNumDisp + 1
end subroutine StorePotTempDisp
| Subroutine : | |
| Work(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
地表面フラックスの保管
subroutine StorePotTempFlux( 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
CalNumFlux = CalNumFlux + 1
end subroutine StorePotTempFlux
| Subroutine : |
subroutine StorePotTempMeanX( )
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
za_Cond2 = aa_MeanX_aaa( xza_Cond2 ) / CalNum
z_Cond3 = a_MeanX_aa( xz_Cond3 ) / CalNum
z_Flux = a_MeanX_aa( xz_Flux ) / CalNum
end subroutine StorePotTempMeanX
| Subroutine : | |
| Work(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
放射冷却項の保管
subroutine StorePotTempRad( 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
CalNumRad = CalNumRad + 1
end subroutine StorePotTempRad
| Subroutine : | |
| Work(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
乱流項の保管
subroutine StorePotTempTurb( 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
CalNumTurb = CalNumTurb + 1
end subroutine StorePotTempTurb
| Subroutine : |
subroutine StorePotTemp_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), za_Cond2(DimZMin:DimZMax, 1:SpcNum), z_Cond3(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), xza_Cond2(DimXMin:DimXMax, DimZMin:DimZMax, 1:SpcNum), xz_Cond3(DimXMin:DimXMax, DimZMin:DimZMax), xz_Flux(DimXMin:DimXMax, DimZMin:DimZMax) )
call StorePotTempClean
end subroutine StorePotTemp_Init