Class | StorePotTemp_3d |
In: |
setup/storepottemp_3d.f90
|
温位に関する積算値を保管するための変数型モジュール.
Subroutine : | |
Work(DimXMin:DimXMax,DimYMin:DimYMax,DimZMin:DimZMax) : | real(DP),intent(in) |
移流項の保管
subroutine StorePotTempAdv( Work ) !移流項の保管 implicit none real(DP),intent(in) :: Work(DimXMin:DimXMax,DimYMin:DimYMax,DimZMin:DimZMax) real(DP) :: Work2(DimXMin:DimXMax,DimYMin:DimYMax,DimZMin:DimZMax) Work2 = xyz_Adv + Work xyz_Adv = Work2 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 z_Flux = 0.0d0 xyz_Adv = 0.0d0 xyz_Turb = 0.0d0 xyz_Diff = 0.0d0 xyz_Disp = 0.0d0 xyz_Rad = 0.0d0 xyz_Damp = 0.0d0 xyz_Cond = 0.0d0 xyz_Flux = 0.0d0 ! CalNum = 1.0d-40 !ゼロ割を禁止. end subroutine StorePotTempClean
Subroutine : | |
Work(DimXMin:DimXMax,DimYMin:DimYMax,DimZMin:DimZMax) : | real(DP),intent(in) |
潜熱・蒸発熱の保管
subroutine StorePotTempCond( Work ) !潜熱・蒸発熱の保管 implicit none real(DP),intent(in) :: Work(DimXMin:DimXMax,DimYMin:DimYMax,DimZMin:DimZMax) real(DP) :: Work2(DimXMin:DimXMax,DimYMin:DimYMax,DimZMin:DimZMax) Work2 = xyz_Cond + Work xyz_Cond = Work2 end subroutine StorePotTempCond
Subroutine : | |
Work(DimXMin:DimXMax,DimYMin:DimYMax,DimZMin:DimZMax) : | real(DP),intent(in) |
ダンピング項の保管
subroutine StorePotTempDamp( Work ) !ダンピング項の保管 implicit none real(DP),intent(in) :: Work(DimXMin:DimXMax,DimYMin:DimYMax,DimZMin:DimZMax) real(DP) :: Work2(DimXMin:DimXMax,DimYMin:DimYMax,DimZMin:DimZMax) Work2 = xyz_Damp + Work xyz_Damp = Work2 end subroutine StorePotTempDamp
Subroutine : | |
Work(DimXMin:DimXMax,DimYMin:DimYMax,DimZMin:DimZMax) : | real(DP),intent(in) |
数値拡散項の保管
subroutine StorePotTempDiff( Work ) !数値拡散項の保管 implicit none real(DP),intent(in) :: Work(DimXMin:DimXMax,DimYMin:DimYMax,DimZMin:DimZMax) real(DP) :: Work2(DimXMin:DimXMax,DimYMin:DimYMax,DimZMin:DimZMax) Work2 = xyz_Diff + Work xyz_Diff = Work2 end subroutine StorePotTempDiff
Subroutine : | |
Work(DimXMin:DimXMax,DimYMin:DimYMax,DimZMin:DimZMax) : | real(DP),intent(in) |
散逸加熱項の保管
subroutine StorePotTempDisp( Work ) !散逸加熱項の保管 implicit none real(DP),intent(in) :: Work(DimXMin:DimXMax,DimYMin:DimYMax,DimZMin:DimZMax) real(DP) :: Work2(DimXMin:DimXMax,DimYMin:DimYMax,DimZMin:DimZMax) Work2 = xyz_Disp + Work xyz_Disp = Work2 end subroutine StorePotTempDisp
Subroutine : | |
Work(DimXMin:DimXMax,DimYMin:DimYMax,DimZMin:DimZMax) : | real(DP),intent(in) |
地表面フラックスの保管
subroutine StorePotTempFlux( Work ) !地表面フラックスの保管 implicit none real(DP),intent(in) :: Work(DimXMin:DimXMax,DimYMin:DimYMax,DimZMin:DimZMax) real(DP) :: Work2(DimXMin:DimXMax,DimYMin:DimYMax,DimZMin:DimZMax) Work2 = xyz_Flux + Work xyz_Flux = Work2 end subroutine StorePotTempFlux
Subroutine : |
保管した値の水平平均値 [K/s]
subroutine StorePotTempMeanXY( ) !保管した値の水平平均値 [K/s] real(DP):: CalNum CalNum = TimeDisp / DelTimeLong z_Adv = a_MeanXY_aaa( xyz_Adv ) / CalNum z_Turb = a_MeanXY_aaa( xyz_Turb ) / CalNum z_Diff = a_MeanXY_aaa( xyz_Diff ) / CalNum z_Disp = a_MeanXY_aaa( xyz_Disp ) / CalNum z_Rad = a_MeanXY_aaa( xyz_Rad ) / CalNum z_Damp = a_MeanXY_aaa( xyz_Damp ) / CalNum z_Cond = a_MeanXY_aaa( xyz_Cond ) / CalNum z_Flux = a_MeanXY_aaa( xyz_Flux ) / CalNum end subroutine StorePotTempMeanXY
Subroutine : | |
Work(DimXMin:DimXMax,DimYMin:DimYMax,DimZMin:DimZMax) : | real(DP),intent(in) |
放射冷却項の保管
subroutine StorePotTempRad( Work ) !放射冷却項の保管 implicit none real(DP),intent(in) :: Work(DimXMin:DimXMax,DimYMin:DimYMax,DimZMin:DimZMax) real(DP) :: Work2(DimXMin:DimXMax,DimYMin:DimYMax,DimZMin:DimZMax) Work2 = xyz_Rad + Work xyz_Rad = Work2 end subroutine StorePotTempRad
Subroutine : | |
Work(DimXMin:DimXMax,DimYMin:DimYMax,DimZMin:DimZMax) : | real(DP),intent(in) |
乱流項の保管
subroutine StorePotTempTurb( Work ) !乱流項の保管 implicit none real(DP),intent(in) :: Work(DimXMin:DimXMax,DimYMin:DimYMax,DimZMin:DimZMax) real(DP) :: Work2(DimXMin:DimXMax,DimYMin:DimYMax,DimZMin:DimZMax) Work2 = xyz_Turb + Work xyz_Turb = Work2 end subroutine StorePotTempTurb
Subroutine : |
初期化ルーチン
subroutine StorePotTemp_Init( ) !初期化ルーチン call MessageNotify( "M", "StorePotTemp_Init", "Initialize" ) 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), xyz_Adv (DimXMin:DimXMax,DimYMin:DimYMax,DimZMin:DimZMax), xyz_Turb(DimXMin:DimXMax,DimYMin:DimYMax,DimZMin:DimZMax), xyz_Disp(DimXMin:DimXMax,DimYMin:DimYMax,DimZMin:DimZMax), xyz_Diff(DimXMin:DimXMax,DimYMin:DimYMax,DimZMin:DimZMax), xyz_Rad (DimXMin:DimXMax,DimYMin:DimYMax,DimZMin:DimZMax), xyz_Damp(DimXMin:DimXMax,DimYMin:DimYMax,DimZMin:DimZMax), xyz_Cond(DimXMin:DimXMax,DimYMin:DimYMax,DimZMin:DimZMax), xyz_Flux(DimXMin:DimXMax,DimYMin:DimYMax,DimZMin:DimZMax) ) call StorePotTempClean end subroutine StorePotTemp_Init