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