ファイル出力. 長い時間ステップの値を出力.
| Subroutine : |
ヒストリファイルのクローズ
subroutine HistoryFile_Close
!
!ヒストリファイルのクローズ
!
!暗黙の型宣言禁止
implicit none
!変数定義
integer :: s ! ループ添字
!ファイルを閉じる
do s = 1, FileNum
call HistoryClose(gt_hist(s))
end do
end subroutine HistoryFile_Close
| Subroutine : |
ヒストリファイルのクローズ
subroutine HistoryFile_Close
!
!ヒストリファイルのクローズ
!
!暗黙の型宣言禁止
implicit none
!変数定義
integer :: s ! ループ添字
!ファイルを閉じる
do s = 1, FileNum
call HistoryClose(gt_hist(s))
end do
end subroutine HistoryFile_Close
| Subroutine : |
ヒストリファイルのクローズ
subroutine HistoryFile_Close
!
!ヒストリファイルのクローズ
!
!暗黙の型宣言禁止
implicit none
!変数定義
integer :: s ! ループ添字
!ファイルを閉じる
do s = 1, FileNum
call HistoryClose(gt_hist(s))
end do
end subroutine HistoryFile_Close
| Subroutine : |
ヒストリファイルのクローズ
subroutine HistoryFile_Close
!
!ヒストリファイルのクローズ
!
!暗黙の型宣言禁止
implicit none
!変数定義
integer :: s ! ループ添字
!ファイルを閉じる
do s = 1, FileNum
call HistoryClose(gt_hist(s))
end do
end subroutine HistoryFile_Close
| Subroutine : |
ヒストリファイルのクローズ
subroutine HistoryFile_Close
!
!ヒストリファイルのクローズ
!
!暗黙の型宣言禁止
implicit none
!変数定義
integer :: s ! ループ添字
!ファイルを閉じる
do s = 1, FileNum
call HistoryClose(gt_hist(s))
end do
end subroutine HistoryFile_Close
| Subroutine : |
ヒストリファイルのクローズ
subroutine HistoryFile_Close
!
!ヒストリファイルのクローズ
!
!暗黙の型宣言禁止
implicit none
!変数定義
integer :: s ! ループ添字
!ファイルを閉じる
do s = 1, FileNum
call HistoryClose(gt_hist(s))
end do
end subroutine HistoryFile_Close
| Subroutine : |
ヒストリファイルのクローズ
subroutine HistoryFile_Close
!
!ヒストリファイルのクローズ
!
!暗黙の型宣言禁止
implicit none
!変数定義
integer :: s ! ループ添字
!ファイルを閉じる
do s = 1, FileNum
call HistoryClose(gt_hist(s))
end do
end subroutine HistoryFile_Close
| Subroutine : |
ヒストリファイルのクローズ
subroutine HistoryFile_Close
!
!ヒストリファイルのクローズ
!
!暗黙の型宣言禁止
implicit none
!変数定義
integer :: s ! ループ添字
!ファイルを閉じる
do s = 1, FileNum
call HistoryClose(gt_hist(s))
end do
end subroutine HistoryFile_Close
| Subroutine : |
ヒストリファイルのクローズ
subroutine HistoryFile_Close
!
!ヒストリファイルのクローズ
!
!暗黙の型宣言禁止
implicit none
!変数定義
integer :: s ! ループ添字
!ファイルを閉じる
do s = 1, FileNum
call HistoryClose(gt_hist(s))
end do
end subroutine HistoryFile_Close
| Subroutine : |
ヒストリファイルのクローズ
subroutine HistoryFile_Close
!
!ヒストリファイルのクローズ
!
!暗黙の型宣言禁止
implicit none
!変数定義
integer :: s ! ループ添字
!ファイルを閉じる
do s = 1, FileNum
call HistoryClose(gt_hist(s))
end do
end subroutine HistoryFile_Close
| Subroutine : |
ヒストリファイルのクローズ
subroutine HistoryFile_Close
!
!ヒストリファイルのクローズ
!
!暗黙の型宣言禁止
implicit none
!変数定義
integer :: s ! ループ添字
!ファイルを閉じる
do s = 1, FileNum
call HistoryClose(gt_hist(s))
end do
end subroutine HistoryFile_Close
| Subroutine : |
ヒストリファイルのクローズ
subroutine HistoryFile_Close
!
!ヒストリファイルのクローズ
!
!暗黙の型宣言禁止
implicit none
!変数定義
integer :: s ! ループ添字
!ファイルを閉じる
do s = 1, FileNum
call HistoryClose(gt_hist(s))
end do
end subroutine HistoryFile_Close
| Subroutine : |
ヒストリファイルの定義
subroutine HistoryFile_Open( )
!
!ヒストリファイルの定義
!
!暗黙の型宣言禁止
implicit none
!変数定義
integer :: s ! ループ添字
!-----------------------------------------------------------
! ヒストリー作成
!-----------------------------------------------------------
do s = 1, FileNum
call HistoryCreate( file = HistoryFile(s), title = exptitle, source = expsrc, institution = expinst, dims=(/'x','z','t'/), dimsizes=(/FileNX, FileNZ, 0/), longnames=(/'X-coordinate', 'Z-coordinate', 'Time '/), units=(/'m','m','s'/), origin=0.0, xtypes=(/'double', 'double', 'double'/), interval=0.0, history=gt_hist(s) )
call HistoryPut('x', s_X( FileXMin: FileXMax ), gt_hist(s) )
call HistoryPut('z', s_Z( FileZMin: FileZMax ), gt_hist(s) )
! call HistoryPut('z', xz_PressBasicZ( 1, FileZMin: FileZMax ), gt_hist(s) )
end do
!-----------------------------------------------------------
! 予報変数の出力
!-----------------------------------------------------------
!無次元圧力の擾乱
call HistoryAddVariable( varname='Exner', dims=(/'x','z','t'/), longname='disturbunce of Exner', units='1', xtype='double', history=gt_hist(1) )
!温位の擾乱
call HistoryAddVariable( varname='PotTempDist', dims=(/'x','z','t'/), longname='disturbunce of potential temperature', units='K', xtype='double', history=gt_hist(2) )
!温位
call HistoryAddVariable( varname='PotTemp', dims=(/'x','z','t'/), longname='potential temperature', units='K', xtype='double', history=gt_hist(2) )
!温度
call HistoryAddVariable( varname='Temp', dims=(/'x','z','t'/), longname='temperature', units='K', xtype='double', history=gt_hist(2) )
!水平速度
call HistoryAddVariable( varname='VelX', dims=(/'x','z','t'/), longname='zonal velocity', units='m s|-1"', xtype='double', history=gt_hist(3) )
!鉛直速度
call HistoryAddVariable( varname='VelZ', dims=(/'x','z','t'/), longname='vertical velocity', units='m s|-1"', xtype='double', history=gt_hist(4) )
!渦粘性係数(運動量)
call HistoryAddVariable( varname='Km', dims=(/'x','z','t'/), longname='turbulent diffusion coefficient', units='1', xtype='double', history=gt_hist(5) )
!渦粘性係数(熱)
call HistoryAddVariable( varname='Kh', dims=(/'x','z','t'/), longname='turbulent diffusion coefficient for heat', units='1', xtype='double', history=gt_hist(6) )
!雲密度
call HistoryAddVariable( varname='DensCloud', dims=(/'x','z','t'/), longname='density of cloud', units='kg/m^3', xtype='double', history=gt_hist(9) )
!飽和比
call HistoryAddVariable( varname='SatRatio', dims=(/'x','z','t'/), longname='saturation ratio', units='1', xtype='double', history=gt_hist(10) )
!混合比
do s = 1, SpcNum
call HistoryAddVariable( varname=trim(SpcWetSymbol(s)), dims=(/'x','z','t'/), longname=trim(SpcWetSymbol(s))//' Mixing Ratio', units='kg kg|-1"', xtype='double', history=gt_hist(10+s))
end do
!----------------------------------------------------------------
! 解析値
!----------------------------------------------------------------
call HistoryAddVariable( varname='BuoyTemp', dims=(/'z','t'/), longname='Buoyancy (Temp)', units='s|-2"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='BuoyMolWt', dims=(/'z','t'/), longname='Buoyancy (MolWt)', units='s|-2"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='BuoyDrag', dims=(/'z','t'/), longname='Buoyancy (Drag)', units='s|-2"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='StabTemp', dims=(/'z','t'/), longname='Stability (Temp)', units='s|-2"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='StabMolWt', dims=(/'z','t'/), longname='Stability (MolWt)', units='s|-2"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='PotTempAdv', dims=(/'x','z','t'/), longname='Advection term of potential temperature', units='K day|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='PotTempTurb', dims=(/'x','z','t'/), longname='Turbulence term of potential temperature', units='K day|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='PotTempDisp', dims=(/'x','z','t'/), longname='Dissipation term of potential temperature', units='K day|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='PotTempRad', dims=(/'x','z','t'/), longname='Radiation term of potential temperature', units='K day|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='PotTempDiff', dims=(/'x','z','t'/), longname='Numerical diffusion term of potential temperature', units='K day|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='PotTempCond', dims=(/'x','z','t'/), longname='Latent heat term of potential temperature', units='K day|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='PotTempFlux', dims=(/'x','z','t'/), longname='Surface Flux term of potential temperature', units='K day|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='PotTempDamp', dims=(/'x','z','t'/), longname='Newtonian Cooling term of potential temperature', units='K day|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='DensCloudAdv', dims=(/'x','z','t'/), longname='Advection term of cloud density', units='kg m|-3" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='DensCloudTurb', dims=(/'x','z','t'/), longname='Turbulence term of cloud density', units='kg m|-3" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='DensCloudDiff', dims=(/'x','z','t'/), longname='Numerical diffusion term of cloud density', units='kg m|-3" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='DensCloudCond', dims=(/'x','z','t'/), longname='Condensation term of cloud density', units='kg m|-3" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='DensCloudFill', dims=(/'x','z','t'/), longname='Filling Negative term of cloud density', units='kg m|-3" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='MassTotal', dims=(/'t'/), longname='Total mass', units='kg', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='MassTend', dims=(/'t'/), longname='Tendency of Total mass', units='kg s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='KineticEnergyTotal', dims=(/'t'/), longname='Total kinetic energy', units='J', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='CloudMassTotal', dims=(/'t'/), longname='Total cloud mass', units='kg"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='PotentialEnergyTotal', dims=(/'t'/), longname='Total potential energy', units='J', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='ElasticEnergyFOTotal', dims=(/'t'/), longname='Total elastic energy(1st)', units='J', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='ElasticEnergySOTotal', dims=(/'t'/), longname='Total elastic energy(2st)', units='J', xtype='double', history=gt_hist(8) )
!----------------------------------------------------------------
! Mixing Ratio time change
!----------------------------------------------------------------
do s = 1, SpcNum
call HistoryAddVariable( varname=trim(SpcWetSymbol(s))//'_Adv', dims=(/'z','t'/), longname='Advection term of ' //trim(SpcWetSymbol(s))//' mixing ratio', units='kg kg|-1" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname=trim(SpcWetSymbol(s))//'_Turb', dims=(/'z','t'/), longname='Turbulence term of ' //trim(SpcWetSymbol(s))//' mixing ratio', units='kg kg|-1" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname=trim(SpcWetSymbol(s))//'_Diff', dims=(/'z','t'/), longname='Diffusion term of ' //trim(SpcWetSymbol(s))//' mixing ratio', units='kg kg|-1" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname=trim(SpcWetSymbol(s))//'_Flux', dims=(/'z','t'/), longname='Surface Flux term of ' //trim(SpcWetSymbol(s))//' mixing ratio', units='kg kg|-1" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname=trim(SpcWetSymbol(s))//'_Rain', dims=(/'z','t'/), longname='Fall Rain term of ' //trim(SpcWetSymbol(s))//' mixing ratio', units='kg kg|-1" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname=trim(SpcWetSymbol(s))//'_Fill1', dims=(/'z','t'/), longname='Filling Negative term 1 of ' //trim(SpcWetSymbol(s))//' mixing ratio', units='kg kg|-1" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname=trim(SpcWetSymbol(s))//'_Fill2', dims=(/'z','t'/), longname='Filling Negative term 2 of ' //trim(SpcWetSymbol(s))//' mixing ratio', units='kg kg|-1" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname=trim(SpcWetSymbol(s))//'_Cond', dims=(/'z','t'/), longname='Condensation term of ' //trim(SpcWetSymbol(s))//' mixing ratio', units='kg kg|-1" s|-1"', xtype='double', history=gt_hist(8) )
! call HistoryAddVariable( &
! & varname=trim(SpcWetSymbol(s))//'_Asln', &
! & dims=(/'z','t'/), &
! & longname='Asselin time filter term of ' &
! & //trim(SpcWetSymbol(s))//' mixing ratio', &
! & units='kg kg|-1" s|-1"', &
! & xtype='double', &
! & history=gt_hist(8) )
end do
!-----------------------------------------------------------
! 基本場の出力
!-----------------------------------------------------------
!無次元圧力の基本場
call HistoryAddVariable( varname='ExnerBasicZ', dims=(/'x','z'/), longname='nondimensional pressure', units='1', xtype='double', history=gt_hist(7) )
!温位の基本場
call HistoryAddVariable( varname='PotTempBasicZ', dims=(/'x','z'/), longname='potential temperature', units='K', xtype='double', history=gt_hist(7) )
!仮温位の基本場
call HistoryAddVariable( varname='VPotTempBasicZ', dims=(/'x','z'/), longname='vertial potential temperature', units='K', xtype='double', history=gt_hist(7) )
!密度の基本場
call HistoryAddVariable( varname='DensBasicZ', dims=(/'x','z'/), longname='density', units='Kg/m^3', xtype='double', history=gt_hist(7) )
!音波速度の基本場
call HistoryAddVariable( varname='VelSoundBasicZ', dims=(/'x','z'/), longname='sound velocity', units='m/s|2', xtype='double', history=gt_hist(7) )
!温度の基本場
call HistoryAddVariable( varname='TempBasicZ', dims=(/'x','z'/), longname='Temperature of basic state', units='K', xtype='double', history=gt_hist(7) )
!圧力の基本場
call HistoryAddVariable( varname='PressBasicZ', dims=(/'x','z'/), longname='Pressure of basic state', units='Pa', xtype='double', history=gt_hist(7) )
!混合比の基本場
do s = 1, SpcNum
call HistoryAddVariable( varname=trim(SpcWetSymbol(s))//'BasicZ', dims=(/'x','z'/), longname=trim(SpcWetSymbol(s))//' Mixing Ratio of basic state', units='kg/kg', xtype='double', history=gt_hist(7) )
end do
!分子量効果
call HistoryAddVariable( varname='EffMolWtBasicZ', dims=(/'x','z'/), longname='Effect of Mole Weight', units='1', xtype='double', history=gt_hist(7) )
!-------------------------------------------------------------
! 基本場のファイル出力
!-------------------------------------------------------------
call HistoryPut( 'DensBasicZ', xz_DensBasicZ(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(7) )
call HistoryPut( 'ExnerBasicZ', xz_ExnerBasicZ(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(7) )
call HistoryPut( 'PotTempBasicZ', xz_PotTempBasicZ(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(7) )
call HistoryPut( 'VPotTempBasicZ', xz_PotTempBasicZ(FileXMin:FileXMax, FileZMin:FileZMax) / xz_EffMolWtBasicZ(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(7) )
call HistoryPut( 'VelSoundBasicZ', xz_VelSoundBasicZ(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(7) )
call HistoryPut( 'TempBasicZ', xz_TempBasicZ(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(7) )
call HistoryPut( 'PressBasicZ', xz_PressBasicZ(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(7) )
do s = 1, SpcNum
call HistoryPut( trim(SpcWetSymbol(s))//'BasicZ', xza_MixRtBasicZ(FileXMin:FileXMax, FileZMin:FileZMax, s), gt_hist(7) )
end do
call HistoryPut( 'EffMolWtBasicZ', xz_EffMolWtBasicZ(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(7) )
end subroutine HistoryFile_Open
| Subroutine : |
ヒストリファイルの定義
subroutine HistoryFile_Open( )
!
!ヒストリファイルの定義
!
!暗黙の型宣言禁止
implicit none
!変数定義
integer :: s ! ループ添字
!-----------------------------------------------------------
! ヒストリー作成
!-----------------------------------------------------------
do s = 1, FileNum
call HistoryCreate( file = HistoryFile(s), title = exptitle, source = expsrc, institution = expinst, dims=(/'x','z','t'/), dimsizes=(/FileNX, FileNZ, 0/), longnames=(/'X-coordinate', 'Z-coordinate', 'Time '/), units=(/'m','m','s'/), origin=0.0, xtypes=(/'double', 'double', 'double'/), interval=0.0, history=gt_hist(s) )
call HistoryPut('x', s_X( FileXMin: FileXMax ), gt_hist(s) )
call HistoryPut('z', s_Z( FileZMin: FileZMax ), gt_hist(s) )
! call HistoryPut('z', xz_PressBasicZ( 1, FileZMin: FileZMax ), gt_hist(s) )
end do
!-----------------------------------------------------------
! 予報変数の出力
!-----------------------------------------------------------
!無次元圧力の擾乱
call HistoryAddVariable( varname='Exner', dims=(/'x','z','t'/), longname='disturbunce of Exner', units='1', xtype='double', history=gt_hist(1) )
!温位の擾乱
call HistoryAddVariable( varname='PotTempDist', dims=(/'x','z','t'/), longname='disturbunce of potential temperature', units='K', xtype='double', history=gt_hist(2) )
!温位
call HistoryAddVariable( varname='PotTemp', dims=(/'x','z','t'/), longname='potential temperature', units='K', xtype='double', history=gt_hist(2) )
!温度
call HistoryAddVariable( varname='Temp', dims=(/'x','z','t'/), longname='temperature', units='K', xtype='double', history=gt_hist(2) )
!水平速度
call HistoryAddVariable( varname='VelX', dims=(/'x','z','t'/), longname='zonal velocity', units='m s|-1"', xtype='double', history=gt_hist(3) )
!鉛直速度
call HistoryAddVariable( varname='VelZ', dims=(/'x','z','t'/), longname='vertical velocity', units='m s|-1"', xtype='double', history=gt_hist(4) )
!渦粘性係数(運動量)
call HistoryAddVariable( varname='Km', dims=(/'x','z','t'/), longname='turbulent diffusion coefficient', units='1', xtype='double', history=gt_hist(5) )
!渦粘性係数(熱)
call HistoryAddVariable( varname='Kh', dims=(/'x','z','t'/), longname='turbulent diffusion coefficient for heat', units='1', xtype='double', history=gt_hist(6) )
!雲密度
call HistoryAddVariable( varname='DensCloud', dims=(/'x','z','t'/), longname='density of cloud', units='kg/m^3', xtype='double', history=gt_hist(9) )
!飽和比
call HistoryAddVariable( varname='SatRatio', dims=(/'x','z','t'/), longname='saturation ratio', units='1', xtype='double', history=gt_hist(10) )
!混合比
do s = 1, SpcNum
call HistoryAddVariable( varname=trim(SpcWetSymbol(s)), dims=(/'x','z','t'/), longname=trim(SpcWetSymbol(s))//' Mixing Ratio', units='kg kg|-1"', xtype='double', history=gt_hist(10+s))
end do
!----------------------------------------------------------------
! 解析値
!----------------------------------------------------------------
call HistoryAddVariable( varname='BuoyTemp', dims=(/'z','t'/), longname='Buoyancy (Temp)', units='s|-2"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='BuoyMolWt', dims=(/'z','t'/), longname='Buoyancy (MolWt)', units='s|-2"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='BuoyDrag', dims=(/'z','t'/), longname='Buoyancy (Drag)', units='s|-2"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='StabTemp', dims=(/'z','t'/), longname='Stability (Temp)', units='s|-2"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='StabMolWt', dims=(/'z','t'/), longname='Stability (MolWt)', units='s|-2"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='PotTempAdv', dims=(/'x','z','t'/), longname='Advection term of potential temperature', units='K day|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='PotTempTurb', dims=(/'x','z','t'/), longname='Turbulence term of potential temperature', units='K day|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='PotTempDisp', dims=(/'x','z','t'/), longname='Dissipation term of potential temperature', units='K day|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='PotTempRad', dims=(/'x','z','t'/), longname='Radiation term of potential temperature', units='K day|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='PotTempDiff', dims=(/'x','z','t'/), longname='Numerical diffusion term of potential temperature', units='K day|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='PotTempCond', dims=(/'x','z','t'/), longname='Latent heat term of potential temperature', units='K day|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='PotTempFlux', dims=(/'x','z','t'/), longname='Surface Flux term of potential temperature', units='K day|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='PotTempDamp', dims=(/'x','z','t'/), longname='Newtonian Cooling term of potential temperature', units='K day|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='DensCloudAdv', dims=(/'x','z','t'/), longname='Advection term of cloud density', units='kg m|-3" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='DensCloudTurb', dims=(/'x','z','t'/), longname='Turbulence term of cloud density', units='kg m|-3" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='DensCloudDiff', dims=(/'x','z','t'/), longname='Numerical diffusion term of cloud density', units='kg m|-3" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='DensCloudCond', dims=(/'x','z','t'/), longname='Condensation term of cloud density', units='kg m|-3" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='DensCloudFill', dims=(/'x','z','t'/), longname='Filling Negative term of cloud density', units='kg m|-3" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='DensCloudFillZero', dims=(/'x','z','t'/), longname='Filling Negative term of cloud density 2', units='kg m|-3" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='MassTotal', dims=(/'t'/), longname='Total mass', units='kg', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='MassTend', dims=(/'t'/), longname='Tendency of Total mass', units='kg s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='KineticEnergyTotal', dims=(/'t'/), longname='Total kinetic energy', units='J', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='CloudMassTotal', dims=(/'t'/), longname='Total cloud mass', units='kg"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='PotentialEnergyTotal', dims=(/'t'/), longname='Total potential energy', units='J', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='ElasticEnergyFOTotal', dims=(/'t'/), longname='Total elastic energy(1st)', units='J', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='ElasticEnergySOTotal', dims=(/'t'/), longname='Total elastic energy(2st)', units='J', xtype='double', history=gt_hist(8) )
!----------------------------------------------------------------
! Mixing Ratio time change
!----------------------------------------------------------------
do s = 1, SpcNum
call HistoryAddVariable( varname=trim(SpcWetSymbol(s))//'_Adv', dims=(/'z','t'/), longname='Advection term of ' //trim(SpcWetSymbol(s))//' mixing ratio', units='kg kg|-1" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname=trim(SpcWetSymbol(s))//'_Turb', dims=(/'z','t'/), longname='Turbulence term of ' //trim(SpcWetSymbol(s))//' mixing ratio', units='kg kg|-1" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname=trim(SpcWetSymbol(s))//'_Diff', dims=(/'z','t'/), longname='Diffusion term of ' //trim(SpcWetSymbol(s))//' mixing ratio', units='kg kg|-1" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname=trim(SpcWetSymbol(s))//'_Flux', dims=(/'z','t'/), longname='Surface Flux term of ' //trim(SpcWetSymbol(s))//' mixing ratio', units='kg kg|-1" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname=trim(SpcWetSymbol(s))//'_Rain', dims=(/'z','t'/), longname='Fall Rain term of ' //trim(SpcWetSymbol(s))//' mixing ratio', units='kg kg|-1" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname=trim(SpcWetSymbol(s))//'_Fill1', dims=(/'z','t'/), longname='Filling Negative term 1 of ' //trim(SpcWetSymbol(s))//' mixing ratio', units='kg kg|-1" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname=trim(SpcWetSymbol(s))//'_Fill2', dims=(/'z','t'/), longname='Filling Negative term 2 of ' //trim(SpcWetSymbol(s))//' mixing ratio', units='kg kg|-1" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname=trim(SpcWetSymbol(s))//'_Cond', dims=(/'z','t'/), longname='Condensation term of ' //trim(SpcWetSymbol(s))//' mixing ratio', units='kg kg|-1" s|-1"', xtype='double', history=gt_hist(8) )
! call HistoryAddVariable( &
! & varname=trim(SpcWetSymbol(s))//'_Asln', &
! & dims=(/'z','t'/), &
! & longname='Asselin time filter term of ' &
! & //trim(SpcWetSymbol(s))//' mixing ratio', &
! & units='kg kg|-1" s|-1"', &
! & xtype='double', &
! & history=gt_hist(8) )
end do
!-----------------------------------------------------------
! 基本場の出力
!-----------------------------------------------------------
!無次元圧力の基本場
call HistoryAddVariable( varname='ExnerBasicZ', dims=(/'x','z'/), longname='nondimensional pressure', units='1', xtype='double', history=gt_hist(7) )
!温位の基本場
call HistoryAddVariable( varname='PotTempBasicZ', dims=(/'x','z'/), longname='potential temperature', units='K', xtype='double', history=gt_hist(7) )
!仮温位の基本場
call HistoryAddVariable( varname='VPotTempBasicZ', dims=(/'x','z'/), longname='vertial potential temperature', units='K', xtype='double', history=gt_hist(7) )
!密度の基本場
call HistoryAddVariable( varname='DensBasicZ', dims=(/'x','z'/), longname='density', units='Kg/m^3', xtype='double', history=gt_hist(7) )
!音波速度の基本場
call HistoryAddVariable( varname='VelSoundBasicZ', dims=(/'x','z'/), longname='sound velocity', units='m/s|2', xtype='double', history=gt_hist(7) )
!温度の基本場
call HistoryAddVariable( varname='TempBasicZ', dims=(/'x','z'/), longname='Temperature of basic state', units='K', xtype='double', history=gt_hist(7) )
!圧力の基本場
call HistoryAddVariable( varname='PressBasicZ', dims=(/'x','z'/), longname='Pressure of basic state', units='Pa', xtype='double', history=gt_hist(7) )
!混合比の基本場
do s = 1, SpcNum
call HistoryAddVariable( varname=trim(SpcWetSymbol(s))//'BasicZ', dims=(/'x','z'/), longname=trim(SpcWetSymbol(s))//' Mixing Ratio of basic state', units='kg/kg', xtype='double', history=gt_hist(7) )
end do
!分子量効果
call HistoryAddVariable( varname='EffMolWtBasicZ', dims=(/'x','z'/), longname='Effect of Mole Weight', units='1', xtype='double', history=gt_hist(7) )
!-------------------------------------------------------------
! 基本場のファイル出力
!-------------------------------------------------------------
call HistoryPut( 'DensBasicZ', xz_DensBasicZ(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(7) )
call HistoryPut( 'ExnerBasicZ', xz_ExnerBasicZ(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(7) )
call HistoryPut( 'PotTempBasicZ', xz_PotTempBasicZ(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(7) )
call HistoryPut( 'VPotTempBasicZ', xz_PotTempBasicZ(FileXMin:FileXMax, FileZMin:FileZMax) / xz_EffMolWtBasicZ(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(7) )
call HistoryPut( 'VelSoundBasicZ', xz_VelSoundBasicZ(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(7) )
call HistoryPut( 'TempBasicZ', xz_TempBasicZ(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(7) )
call HistoryPut( 'PressBasicZ', xz_PressBasicZ(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(7) )
do s = 1, SpcNum
call HistoryPut( trim(SpcWetSymbol(s))//'BasicZ', xza_MixRtBasicZ(FileXMin:FileXMax, FileZMin:FileZMax, s), gt_hist(7) )
end do
call HistoryPut( 'EffMolWtBasicZ', xz_EffMolWtBasicZ(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(7) )
end subroutine HistoryFile_Open
| Subroutine : |
ヒストリファイルの定義
subroutine HistoryFile_Open( )
!
!ヒストリファイルの定義
!
!暗黙の型宣言禁止
implicit none
!変数定義
integer :: s ! ループ添字
!-----------------------------------------------------------
! ヒストリー作成
!-----------------------------------------------------------
do s = 1, FileNum
call HistoryCreate( file = HistoryFile(s), title = exptitle, source = expsrc, institution = expinst, dims=(/'x','z','t'/), dimsizes=(/FileNX, FileNZ, 0/), longnames=(/'X-coordinate', 'Z-coordinate', 'Time '/), units=(/'m','m','s'/), origin=0.0, xtypes=(/'double', 'double', 'double'/), interval=0.0, history=gt_hist(s) )
call HistoryPut('x', s_X( FileXMin: FileXMax ), gt_hist(s) )
call HistoryPut('z', s_Z( FileZMin: FileZMax ), gt_hist(s) )
! call HistoryPut('z', xz_PressBasicZ( 1, FileZMin: FileZMax ), gt_hist(s) )
end do
!-----------------------------------------------------------
! 予報変数の出力
!-----------------------------------------------------------
!無次元圧力の擾乱
call HistoryAddVariable( varname='Exner', dims=(/'x','z','t'/), longname='disturbunce of nondimensional pressure', units=' ', xtype='double', history=gt_hist(1) )
!温位の擾乱
call HistoryAddVariable( varname='PotTempDist', dims=(/'x','z','t'/), longname='disturbunce of potential temperature', units='K', xtype='double', history=gt_hist(2) )
!温位
call HistoryAddVariable( varname='PotTemp', dims=(/'x','z','t'/), longname='potential temperature', units='K', xtype='double', history=gt_hist(2) )
!温度
call HistoryAddVariable( varname='Temp', dims=(/'x','z','t'/), longname='temperature', units='K', xtype='double', history=gt_hist(2) )
!水平速度
call HistoryAddVariable( varname='VelX', dims=(/'x','z','t'/), longname='zonal velocity', units='m s|-1"', xtype='double', history=gt_hist(3) )
!鉛直速度
call HistoryAddVariable( varname='VelZ', dims=(/'x','z','t'/), longname='vertical velocity', units='m s|-1"', xtype='double', history=gt_hist(4) )
!渦粘性係数(運動量)
call HistoryAddVariable( varname='Km', dims=(/'x','z','t'/), longname='turbulent diffusion coefficient', units='1', xtype='double', history=gt_hist(5) )
!渦粘性係数(熱)
call HistoryAddVariable( varname='Kh', dims=(/'x','z','t'/), longname='turbulent diffusion coefficient for heat', units='1', xtype='double', history=gt_hist(6) )
!雲密度
call HistoryAddVariable( varname='DensCloud', dims=(/'x','z','t'/), longname='density of cloud', units='kg/m^3', xtype='double', history=gt_hist(9) )
!飽和比
call HistoryAddVariable( varname='SatRatio', dims=(/'x','z','t'/), longname='saturation ratio', units='1', xtype='double', history=gt_hist(10) )
!混合比
do s = 1, SpcNum
call HistoryAddVariable( varname=trim(SpcWetSymbol(s)), dims=(/'x','z','t'/), longname=trim(SpcWetSymbol(s))//' Mixing Ratio', units='kg kg|-1"', xtype='double', history=gt_hist(10+s))
end do
!----------------------------------------------------------------
! 解析値
!----------------------------------------------------------------
call HistoryAddVariable( varname='BuoyTemp', dims=(/'z','t'/), longname='Buoyancy (Temp)', units='s|-2"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='BuoyMolWt', dims=(/'z','t'/), longname='Buoyancy (MolWt)', units='s|-2"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='BuoyDrag', dims=(/'z','t'/), longname='Buoyance (Drag)', units='s|-2"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='StabTemp', dims=(/'z','t'/), longname='Stability (Temp)', units='s|-2"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='StabMolWt', dims=(/'z','t'/), longname='Stability (MolWt)', units='s|-2"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='PotTempAdv', dims=(/'z','t'/), longname='Advection term of potential temperature', units='K day|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='PotTempTurb', dims=(/'z','t'/), longname='Turbulence term of potential temperature', units='K day|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='PotTempDisp', dims=(/'z','t'/), longname='Dissipation term of potential temperature', units='K day|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='PotTempRad', dims=(/'z','t'/), longname='Radiation term of potential temperature', units='K day|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='PotTempDiff', dims=(/'z','t'/), longname='Numerical diffusion term of potential temperature', units='K day|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='PotTempCond', dims=(/'z','t'/), longname='Latent heat term of potential temperature', units='K day|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='PotTempFlux', dims=(/'z','t'/), longname='Surface Flux term of potential temperature', units='K day|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='PotTempDamp', dims=(/'z','t'/), longname='Newtonian Cooling term of potential temperature', units='K day|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='MassTotal', dims=(/'t'/), longname='Total mass', units='kg', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='KineticEnergyTotal', dims=(/'t'/), longname='Total kinetic energy', units='J', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='CloudMassTotal', dims=(/'t'/), longname='Total cloud mass', units='kg"', xtype='double', history=gt_hist(8) )
!----------------------------------------------------------------
! Mixing Ratio time change
!----------------------------------------------------------------
do s = 1, SpcNum
call HistoryAddVariable( varname=trim(SpcWetSymbol(s))//'_Adv', dims=(/'z','t'/), longname='Advection term of ' //trim(SpcWetSymbol(s))//' mixing ratio', units='kg kg|-1" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname=trim(SpcWetSymbol(s))//'_Turb', dims=(/'z','t'/), longname='Turbulence term of ' //trim(SpcWetSymbol(s))//' mixing ratio', units='kg kg|-1" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname=trim(SpcWetSymbol(s))//'_Diff', dims=(/'z','t'/), longname='Diffusion term of ' //trim(SpcWetSymbol(s))//' mixing ratio', units='kg kg|-1" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname=trim(SpcWetSymbol(s))//'_Flux', dims=(/'z','t'/), longname='Surface Flux term of ' //trim(SpcWetSymbol(s))//' mixing ratio', units='kg kg|-1" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname=trim(SpcWetSymbol(s))//'_Rain', dims=(/'z','t'/), longname='Fall Rain term of ' //trim(SpcWetSymbol(s))//' mixing ratio', units='kg kg|-1" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname=trim(SpcWetSymbol(s))//'_Fill1', dims=(/'z','t'/), longname='Filling Negative term 1 of ' //trim(SpcWetSymbol(s))//' mixing ratio', units='kg kg|-1" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname=trim(SpcWetSymbol(s))//'_Fill2', dims=(/'z','t'/), longname='Filling Negative term 2 of ' //trim(SpcWetSymbol(s))//' mixing ratio', units='kg kg|-1" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname=trim(SpcWetSymbol(s))//'_Cond', dims=(/'z','t'/), longname='Condensation term of ' //trim(SpcWetSymbol(s))//' mixing ratio', units='kg kg|-1" s|-1"', xtype='double', history=gt_hist(8) )
! call HistoryAddVariable( &
! & varname=trim(SpcWetSymbol(s))//'_Asln', &
! & dims=(/'z','t'/), &
! & longname='Asselin time filter term of ' &
! & //trim(SpcWetSymbol(s))//' mixing ratio', &
! & units='kg kg|-1" s|-1"', &
! & xtype='double', &
! & history=gt_hist(8) )
end do
!-----------------------------------------------------------
! 基本場の出力
!-----------------------------------------------------------
!無次元圧力の基本場
call HistoryAddVariable( varname='ExnerBasicZ', dims=(/'x','z'/), longname='nondimensional pressure', units='1', xtype='double', history=gt_hist(7) )
!温位の基本場
call HistoryAddVariable( varname='PotTempBasicZ', dims=(/'x','z'/), longname='potential temperature', units='K', xtype='double', history=gt_hist(7) )
!仮温位の基本場
call HistoryAddVariable( varname='VPotTempBasicZ', dims=(/'x','z'/), longname='vertial potential temperature', units='K', xtype='double', history=gt_hist(7) )
!密度の基本場
call HistoryAddVariable( varname='DensBasicZ', dims=(/'x','z'/), longname='density', units='Kg/m^3', xtype='double', history=gt_hist(7) )
!音波速度の基本場
call HistoryAddVariable( varname='VelSoundBasicZ', dims=(/'x','z'/), longname='sound velocity', units='m/s|2', xtype='double', history=gt_hist(7) )
!温度の基本場
call HistoryAddVariable( varname='TempBasicZ', dims=(/'x','z'/), longname='Temperature of basic state', units='K', xtype='double', history=gt_hist(7) )
!圧力の基本場
call HistoryAddVariable( varname='PressBasicZ', dims=(/'x','z'/), longname='Pressure of basic state', units='Pa', xtype='double', history=gt_hist(7) )
!混合比の基本場
do s = 1, SpcNum
call HistoryAddVariable( varname=trim(SpcWetSymbol(s))//'BasicZ', dims=(/'x','z'/), longname=trim(SpcWetSymbol(s))//' Mixing Ratio of basic state', units='kg/kg', xtype='double', history=gt_hist(7) )
end do
!分子量効果
call HistoryAddVariable( varname='EffMolWtBasicZ', dims=(/'x','z'/), longname='Effect of Mole Weight', units='1', xtype='double', history=gt_hist(7) )
!-------------------------------------------------------------
! 基本場のファイル出力
!-------------------------------------------------------------
call HistoryPut( 'DensBasicZ', xz_DensBasicZ(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(7) )
call HistoryPut( 'ExnerBasicZ', xz_ExnerBasicZ(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(7) )
call HistoryPut( 'PotTempBasicZ', xz_PotTempBasicZ(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(7) )
call HistoryPut( 'VPotTempBasicZ', xz_PotTempBasicZ(FileXMin:FileXMax, FileZMin:FileZMax) / xz_EffMolWtBasicZ(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(7) )
call HistoryPut( 'VelSoundBasicZ', xz_VelSoundBasicZ(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(7) )
call HistoryPut( 'TempBasicZ', xz_TempBasicZ(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(7) )
call HistoryPut( 'PressBasicZ', xz_PressBasicZ(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(7) )
do s = 1, SpcNum
call HistoryPut( trim(SpcWetSymbol(s))//'BasicZ', xza_MixRtBasicZ(FileXMin:FileXMax, FileZMin:FileZMax, s), gt_hist(7) )
end do
call HistoryPut( 'EffMolWtBasicZ', xz_EffMolWtBasicZ(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(7) )
end subroutine HistoryFile_Open
| Subroutine : |
ヒストリファイルの定義
subroutine HistoryFile_Open( )
!
!ヒストリファイルの定義
!
!暗黙の型宣言禁止
implicit none
!変数定義
integer :: s ! ループ添字
!-----------------------------------------------------------
! ヒストリー作成
!-----------------------------------------------------------
do s = 1, FileNum
call HistoryCreate( file = HistoryFile(s), title = exptitle, source = expsrc, institution = expinst, dims=(/'x','z','t'/), dimsizes=(/FileNX, FileNZ, 0/), longnames=(/'X-coordinate', 'Z-coordinate', 'Time '/), units=(/'m','m','s'/), origin=0.0, xtypes=(/'double', 'double', 'double'/), interval=0.0, history=gt_hist(s) )
call HistoryPut('x', s_X( FileXMin: FileXMax ), gt_hist(s) )
call HistoryPut('z', s_Z( FileZMin: FileZMax ), gt_hist(s) )
! call HistoryPut('z', xz_PressBasicZ( 1, FileZMin: FileZMax ), gt_hist(s) )
end do
!-----------------------------------------------------------
! 予報変数の出力
!-----------------------------------------------------------
!無次元圧力の擾乱
call HistoryAddVariable( varname='Exner', dims=(/'x','z','t'/), longname='disturbunce of Exner', units='1', xtype='double', history=gt_hist(1) )
!温位の擾乱
call HistoryAddVariable( varname='PotTempDist', dims=(/'x','z','t'/), longname='disturbunce of potential temperature', units='K', xtype='double', history=gt_hist(2) )
!温位
call HistoryAddVariable( varname='PotTemp', dims=(/'x','z','t'/), longname='potential temperature', units='K', xtype='double', history=gt_hist(2) )
!温度
call HistoryAddVariable( varname='Temp', dims=(/'x','z','t'/), longname='temperature', units='K', xtype='double', history=gt_hist(2) )
!水平速度
call HistoryAddVariable( varname='VelX', dims=(/'x','z','t'/), longname='zonal velocity', units='m s|-1"', xtype='double', history=gt_hist(3) )
!鉛直速度
call HistoryAddVariable( varname='VelZ', dims=(/'x','z','t'/), longname='vertical velocity', units='m s|-1"', xtype='double', history=gt_hist(4) )
!渦粘性係数(運動量)
call HistoryAddVariable( varname='Km', dims=(/'x','z','t'/), longname='turbulent diffusion coefficient', units='1', xtype='double', history=gt_hist(5) )
!渦粘性係数(熱)
call HistoryAddVariable( varname='Kh', dims=(/'x','z','t'/), longname='turbulent diffusion coefficient for heat', units='1', xtype='double', history=gt_hist(6) )
!雲密度
call HistoryAddVariable( varname='DensCloud', dims=(/'x','z','t'/), longname='density of cloud', units='kg/m^3', xtype='double', history=gt_hist(9) )
!飽和比
call HistoryAddVariable( varname='SatRatio', dims=(/'x','z','t'/), longname='saturation ratio', units='1', xtype='double', history=gt_hist(10) )
!混合比
do s = 1, SpcNum
call HistoryAddVariable( varname=trim(SpcWetSymbol(s)), dims=(/'x','z','t'/), longname=trim(SpcWetSymbol(s))//' Mixing Ratio', units='kg kg|-1"', xtype='double', history=gt_hist(10+s))
end do
!----------------------------------------------------------------
! 解析値
!----------------------------------------------------------------
call HistoryAddVariable( varname='BuoyTemp', dims=(/'z','t'/), longname='Buoyancy (Temp)', units='s|-2"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='BuoyMolWt', dims=(/'z','t'/), longname='Buoyancy (MolWt)', units='s|-2"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='BuoyDrag', dims=(/'z','t'/), longname='Buoyancy (Drag)', units='s|-2"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='StabTemp', dims=(/'z','t'/), longname='Stability (Temp)', units='s|-2"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='StabMolWt', dims=(/'z','t'/), longname='Stability (MolWt)', units='s|-2"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='PotTempAdv', dims=(/'z','t'/), longname='Advection term of potential temperature', units='K day|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='PotTempTurb', dims=(/'z','t'/), longname='Turbulence term of potential temperature', units='K day|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='PotTempDisp', dims=(/'z','t'/), longname='Dissipation term of potential temperature', units='K day|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='PotTempRad', dims=(/'z','t'/), longname='Radiation term of potential temperature', units='K day|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='PotTempDiff', dims=(/'z','t'/), longname='Numerical diffusion term of potential temperature', units='K day|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='PotTempCond', dims=(/'z','t'/), longname='Latent heat term of potential temperature', units='K day|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='PotTempFlux', dims=(/'z','t'/), longname='Surface Flux term of potential temperature', units='K day|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='PotTempDamp', dims=(/'z','t'/), longname='Newtonian Cooling term of potential temperature', units='K day|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='DensCloudAdv', dims=(/'z','t'/), longname='Advection term of cloud density', units='kg m|-3" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='DensCloudTurb', dims=(/'z','t'/), longname='Turbulence term of cloud density', units='kg m|-3" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='DensCloudDiff', dims=(/'z','t'/), longname='Numerical diffusion term of cloud density', units='kg m|-3" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='DensCloudCond', dims=(/'z','t'/), longname='Condensation term of cloud density', units='kg m|-3" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='DensCloudFill', dims=(/'z','t'/), longname='Filling Negative term of cloud density', units='kg m|-3" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='MassTotal', dims=(/'t'/), longname='Total mass', units='kg', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='MassTend', dims=(/'t'/), longname='Tendency of Total mass', units='kg s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='KineticEnergyTotal', dims=(/'t'/), longname='Total kinetic energy', units='J', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='CloudMassTotal', dims=(/'t'/), longname='Total cloud mass', units='kg"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='PotentialEnergyTotal', dims=(/'t'/), longname='Total potential energy', units='J', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='ElasticEnergyFOTotal', dims=(/'t'/), longname='Total elastic energy(1st)', units='J', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='ElasticEnergySOTotal', dims=(/'t'/), longname='Total elastic energy(2st)', units='J', xtype='double', history=gt_hist(8) )
!----------------------------------------------------------------
! Mixing Ratio time change
!----------------------------------------------------------------
do s = 1, SpcNum
call HistoryAddVariable( varname=trim(SpcWetSymbol(s))//'_Adv', dims=(/'z','t'/), longname='Advection term of ' //trim(SpcWetSymbol(s))//' mixing ratio', units='kg kg|-1" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname=trim(SpcWetSymbol(s))//'_Turb', dims=(/'z','t'/), longname='Turbulence term of ' //trim(SpcWetSymbol(s))//' mixing ratio', units='kg kg|-1" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname=trim(SpcWetSymbol(s))//'_Diff', dims=(/'z','t'/), longname='Diffusion term of ' //trim(SpcWetSymbol(s))//' mixing ratio', units='kg kg|-1" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname=trim(SpcWetSymbol(s))//'_Flux', dims=(/'z','t'/), longname='Surface Flux term of ' //trim(SpcWetSymbol(s))//' mixing ratio', units='kg kg|-1" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname=trim(SpcWetSymbol(s))//'_Rain', dims=(/'z','t'/), longname='Fall Rain term of ' //trim(SpcWetSymbol(s))//' mixing ratio', units='kg kg|-1" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname=trim(SpcWetSymbol(s))//'_Fill1', dims=(/'z','t'/), longname='Filling Negative term 1 of ' //trim(SpcWetSymbol(s))//' mixing ratio', units='kg kg|-1" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname=trim(SpcWetSymbol(s))//'_Fill2', dims=(/'z','t'/), longname='Filling Negative term 2 of ' //trim(SpcWetSymbol(s))//' mixing ratio', units='kg kg|-1" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname=trim(SpcWetSymbol(s))//'_Cond', dims=(/'z','t'/), longname='Condensation term of ' //trim(SpcWetSymbol(s))//' mixing ratio', units='kg kg|-1" s|-1"', xtype='double', history=gt_hist(8) )
! call HistoryAddVariable( &
! & varname=trim(SpcWetSymbol(s))//'_Asln', &
! & dims=(/'z','t'/), &
! & longname='Asselin time filter term of ' &
! & //trim(SpcWetSymbol(s))//' mixing ratio', &
! & units='kg kg|-1" s|-1"', &
! & xtype='double', &
! & history=gt_hist(8) )
end do
!-----------------------------------------------------------
! 基本場の出力
!-----------------------------------------------------------
!無次元圧力の基本場
call HistoryAddVariable( varname='ExnerBasicZ', dims=(/'x','z'/), longname='nondimensional pressure', units='1', xtype='double', history=gt_hist(7) )
!温位の基本場
call HistoryAddVariable( varname='PotTempBasicZ', dims=(/'x','z'/), longname='potential temperature', units='K', xtype='double', history=gt_hist(7) )
!仮温位の基本場
call HistoryAddVariable( varname='VPotTempBasicZ', dims=(/'x','z'/), longname='vertial potential temperature', units='K', xtype='double', history=gt_hist(7) )
!密度の基本場
call HistoryAddVariable( varname='DensBasicZ', dims=(/'x','z'/), longname='density', units='Kg/m^3', xtype='double', history=gt_hist(7) )
!音波速度の基本場
call HistoryAddVariable( varname='VelSoundBasicZ', dims=(/'x','z'/), longname='sound velocity', units='m/s|2', xtype='double', history=gt_hist(7) )
!温度の基本場
call HistoryAddVariable( varname='TempBasicZ', dims=(/'x','z'/), longname='Temperature of basic state', units='K', xtype='double', history=gt_hist(7) )
!圧力の基本場
call HistoryAddVariable( varname='PressBasicZ', dims=(/'x','z'/), longname='Pressure of basic state', units='Pa', xtype='double', history=gt_hist(7) )
!混合比の基本場
do s = 1, SpcNum
call HistoryAddVariable( varname=trim(SpcWetSymbol(s))//'BasicZ', dims=(/'x','z'/), longname=trim(SpcWetSymbol(s))//' Mixing Ratio of basic state', units='kg/kg', xtype='double', history=gt_hist(7) )
end do
!分子量効果
call HistoryAddVariable( varname='EffMolWtBasicZ', dims=(/'x','z'/), longname='Effect of Mole Weight', units='1', xtype='double', history=gt_hist(7) )
!-------------------------------------------------------------
! 基本場のファイル出力
!-------------------------------------------------------------
call HistoryPut( 'DensBasicZ', xz_DensBasicZ(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(7) )
call HistoryPut( 'ExnerBasicZ', xz_ExnerBasicZ(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(7) )
call HistoryPut( 'PotTempBasicZ', xz_PotTempBasicZ(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(7) )
call HistoryPut( 'VPotTempBasicZ', xz_PotTempBasicZ(FileXMin:FileXMax, FileZMin:FileZMax) / xz_EffMolWtBasicZ(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(7) )
call HistoryPut( 'VelSoundBasicZ', xz_VelSoundBasicZ(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(7) )
call HistoryPut( 'TempBasicZ', xz_TempBasicZ(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(7) )
call HistoryPut( 'PressBasicZ', xz_PressBasicZ(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(7) )
do s = 1, SpcNum
call HistoryPut( trim(SpcWetSymbol(s))//'BasicZ', xza_MixRtBasicZ(FileXMin:FileXMax, FileZMin:FileZMax, s), gt_hist(7) )
end do
call HistoryPut( 'EffMolWtBasicZ', xz_EffMolWtBasicZ(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(7) )
end subroutine HistoryFile_Open
| Subroutine : |
ヒストリファイルの定義
subroutine HistoryFile_Open( )
!
!ヒストリファイルの定義
!
!暗黙の型宣言禁止
implicit none
!変数定義
integer :: s ! ループ添字
!-----------------------------------------------------------
! ヒストリー作成
!-----------------------------------------------------------
do s = 1, FileNum
call HistoryCreate( file = HistoryFile(s), title = exptitle, source = expsrc, institution = expinst, dims=(/'x','z','t'/), dimsizes=(/FileNX, FileNZ, 0/), longnames=(/'X-coordinate', 'Z-coordinate', 'Time '/), units=(/'m','m','s'/), origin=0.0, xtypes=(/'double', 'double', 'double'/), interval=0.0, history=gt_hist(s) )
call HistoryPut('x', s_X( FileXMin: FileXMax ), gt_hist(s) )
call HistoryPut('z', s_Z( FileZMin: FileZMax ), gt_hist(s) )
! call HistoryPut('z', xz_PressBasicZ( 1, FileZMin: FileZMax ), gt_hist(s) )
end do
!-----------------------------------------------------------
! 予報変数の出力
!-----------------------------------------------------------
!無次元圧力の擾乱
call HistoryAddVariable( varname='Exner', dims=(/'x','z','t'/), longname='disturbunce of Exner', units='1', xtype='double', history=gt_hist(1) )
!温位の擾乱
call HistoryAddVariable( varname='PotTempDist', dims=(/'x','z','t'/), longname='disturbunce of potential temperature', units='K', xtype='double', history=gt_hist(2) )
!温位
call HistoryAddVariable( varname='PotTemp', dims=(/'x','z','t'/), longname='potential temperature', units='K', xtype='double', history=gt_hist(2) )
!温度
call HistoryAddVariable( varname='Temp', dims=(/'x','z','t'/), longname='temperature', units='K', xtype='double', history=gt_hist(2) )
!水平速度
call HistoryAddVariable( varname='VelX', dims=(/'x','z','t'/), longname='zonal velocity', units='m s|-1"', xtype='double', history=gt_hist(3) )
!鉛直速度
call HistoryAddVariable( varname='VelZ', dims=(/'x','z','t'/), longname='vertical velocity', units='m s|-1"', xtype='double', history=gt_hist(4) )
!渦粘性係数(運動量)
call HistoryAddVariable( varname='Km', dims=(/'x','z','t'/), longname='turbulent diffusion coefficient', units='1', xtype='double', history=gt_hist(5) )
!渦粘性係数(熱)
call HistoryAddVariable( varname='Kh', dims=(/'x','z','t'/), longname='turbulent diffusion coefficient for heat', units='1', xtype='double', history=gt_hist(6) )
!雲密度
call HistoryAddVariable( varname='DensCloud', dims=(/'x','z','t'/), longname='density of cloud', units='kg/m^3', xtype='double', history=gt_hist(9) )
!飽和比
call HistoryAddVariable( varname='SatRatio', dims=(/'x','z','t'/), longname='saturation ratio', units='1', xtype='double', history=gt_hist(10) )
!混合比
do s = 1, SpcNum
call HistoryAddVariable( varname=trim(SpcWetSymbol(s)), dims=(/'x','z','t'/), longname=trim(SpcWetSymbol(s))//' Mixing Ratio', units='kg kg|-1"', xtype='double', history=gt_hist(10+s))
end do
!----------------------------------------------------------------
! 解析値
!----------------------------------------------------------------
call HistoryAddVariable( varname='BuoyTemp', dims=(/'z','t'/), longname='Buoyancy (Temp)', units='s|-2"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='BuoyMolWt', dims=(/'z','t'/), longname='Buoyancy (MolWt)', units='s|-2"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='BuoyDrag', dims=(/'z','t'/), longname='Buoyancy (Drag)', units='s|-2"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='StabTemp', dims=(/'z','t'/), longname='Stability (Temp)', units='s|-2"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='StabMolWt', dims=(/'z','t'/), longname='Stability (MolWt)', units='s|-2"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='PotTempAdv', dims=(/'x','z','t'/), longname='Advection term of potential temperature', units='K day|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='PotTempTurb', dims=(/'x','z','t'/), longname='Turbulence term of potential temperature', units='K day|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='PotTempDisp', dims=(/'x','z','t'/), longname='Dissipation term of potential temperature', units='K day|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='PotTempRad', dims=(/'x','z','t'/), longname='Radiation term of potential temperature', units='K day|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='PotTempDiff', dims=(/'x','z','t'/), longname='Numerical diffusion term of potential temperature', units='K day|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='PotTempCond', dims=(/'x','z','t'/), longname='Latent heat term of potential temperature', units='K day|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='PotTempFlux', dims=(/'x','z','t'/), longname='Surface Flux term of potential temperature', units='K day|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='PotTempDamp', dims=(/'x','z','t'/), longname='Newtonian Cooling term of potential temperature', units='K day|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='DensCloudAdv', dims=(/'x','z','t'/), longname='Advection term of cloud density', units='kg m|-3" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='DensCloudTurb', dims=(/'x','z','t'/), longname='Turbulence term of cloud density', units='kg m|-3" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='DensCloudDiff', dims=(/'x','z','t'/), longname='Numerical diffusion term of cloud density', units='kg m|-3" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='DensCloudCond', dims=(/'x','z','t'/), longname='Condensation term of cloud density', units='kg m|-3" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='DensCloudFill', dims=(/'x','z','t'/), longname='Filling Negative term of cloud density', units='kg m|-3" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='DensCloudFillZero', dims=(/'x','z','t'/), longname='Filling Negative term of cloud density 2', units='kg m|-3" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='DensCloudFall', dims=(/'x','z','t'/), longname='Fall term of cloud density', units='kg m|-3" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='MassTotal', dims=(/'t'/), longname='Total mass', units='kg', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='MassTend', dims=(/'t'/), longname='Tendency of Total mass', units='kg s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='KineticEnergyTotal', dims=(/'t'/), longname='Total kinetic energy', units='J', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='CloudMassTotal', dims=(/'t'/), longname='Total cloud mass', units='kg"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='PotentialEnergyTotal', dims=(/'t'/), longname='Total potential energy', units='J', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='ElasticEnergyFOTotal', dims=(/'t'/), longname='Total elastic energy(1st)', units='J', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='ElasticEnergySOTotal', dims=(/'t'/), longname='Total elastic energy(2st)', units='J', xtype='double', history=gt_hist(8) )
!----------------------------------------------------------------
! Mixing Ratio time change
!----------------------------------------------------------------
do s = 1, SpcNum
call HistoryAddVariable( varname=trim(SpcWetSymbol(s))//'_Adv', dims=(/'z','t'/), longname='Advection term of ' //trim(SpcWetSymbol(s))//' mixing ratio', units='kg kg|-1" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname=trim(SpcWetSymbol(s))//'_Turb', dims=(/'z','t'/), longname='Turbulence term of ' //trim(SpcWetSymbol(s))//' mixing ratio', units='kg kg|-1" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname=trim(SpcWetSymbol(s))//'_Diff', dims=(/'z','t'/), longname='Diffusion term of ' //trim(SpcWetSymbol(s))//' mixing ratio', units='kg kg|-1" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname=trim(SpcWetSymbol(s))//'_Flux', dims=(/'z','t'/), longname='Surface Flux term of ' //trim(SpcWetSymbol(s))//' mixing ratio', units='kg kg|-1" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname=trim(SpcWetSymbol(s))//'_Rain', dims=(/'z','t'/), longname='Fall Rain term of ' //trim(SpcWetSymbol(s))//' mixing ratio', units='kg kg|-1" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname=trim(SpcWetSymbol(s))//'_Fill1', dims=(/'z','t'/), longname='Filling Negative term 1 of ' //trim(SpcWetSymbol(s))//' mixing ratio', units='kg kg|-1" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname=trim(SpcWetSymbol(s))//'_Fill2', dims=(/'z','t'/), longname='Filling Negative term 2 of ' //trim(SpcWetSymbol(s))//' mixing ratio', units='kg kg|-1" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname=trim(SpcWetSymbol(s))//'_Cond', dims=(/'z','t'/), longname='Condensation term of ' //trim(SpcWetSymbol(s))//' mixing ratio', units='kg kg|-1" s|-1"', xtype='double', history=gt_hist(8) )
! call HistoryAddVariable( &
! & varname=trim(SpcWetSymbol(s))//'_Asln', &
! & dims=(/'z','t'/), &
! & longname='Asselin time filter term of ' &
! & //trim(SpcWetSymbol(s))//' mixing ratio', &
! & units='kg kg|-1" s|-1"', &
! & xtype='double', &
! & history=gt_hist(8) )
end do
!-----------------------------------------------------------
! 基本場の出力
!-----------------------------------------------------------
!無次元圧力の基本場
call HistoryAddVariable( varname='ExnerBasicZ', dims=(/'x','z'/), longname='nondimensional pressure', units='1', xtype='double', history=gt_hist(7) )
!温位の基本場
call HistoryAddVariable( varname='PotTempBasicZ', dims=(/'x','z'/), longname='potential temperature', units='K', xtype='double', history=gt_hist(7) )
!仮温位の基本場
call HistoryAddVariable( varname='VPotTempBasicZ', dims=(/'x','z'/), longname='vertial potential temperature', units='K', xtype='double', history=gt_hist(7) )
!密度の基本場
call HistoryAddVariable( varname='DensBasicZ', dims=(/'x','z'/), longname='density', units='Kg/m^3', xtype='double', history=gt_hist(7) )
!音波速度の基本場
call HistoryAddVariable( varname='VelSoundBasicZ', dims=(/'x','z'/), longname='sound velocity', units='m/s|2', xtype='double', history=gt_hist(7) )
!温度の基本場
call HistoryAddVariable( varname='TempBasicZ', dims=(/'x','z'/), longname='Temperature of basic state', units='K', xtype='double', history=gt_hist(7) )
!圧力の基本場
call HistoryAddVariable( varname='PressBasicZ', dims=(/'x','z'/), longname='Pressure of basic state', units='Pa', xtype='double', history=gt_hist(7) )
!混合比の基本場
do s = 1, SpcNum
call HistoryAddVariable( varname=trim(SpcWetSymbol(s))//'BasicZ', dims=(/'x','z'/), longname=trim(SpcWetSymbol(s))//' Mixing Ratio of basic state', units='kg/kg', xtype='double', history=gt_hist(7) )
end do
!分子量効果
call HistoryAddVariable( varname='EffMolWtBasicZ', dims=(/'x','z'/), longname='Effect of Mole Weight', units='1', xtype='double', history=gt_hist(7) )
!-------------------------------------------------------------
! 基本場のファイル出力
!-------------------------------------------------------------
call HistoryPut( 'DensBasicZ', xz_DensBasicZ(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(7) )
call HistoryPut( 'ExnerBasicZ', xz_ExnerBasicZ(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(7) )
call HistoryPut( 'PotTempBasicZ', xz_PotTempBasicZ(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(7) )
call HistoryPut( 'VPotTempBasicZ', xz_PotTempBasicZ(FileXMin:FileXMax, FileZMin:FileZMax) / xz_EffMolWtBasicZ(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(7) )
call HistoryPut( 'VelSoundBasicZ', xz_VelSoundBasicZ(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(7) )
call HistoryPut( 'TempBasicZ', xz_TempBasicZ(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(7) )
call HistoryPut( 'PressBasicZ', xz_PressBasicZ(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(7) )
do s = 1, SpcNum
call HistoryPut( trim(SpcWetSymbol(s))//'BasicZ', xza_MixRtBasicZ(FileXMin:FileXMax, FileZMin:FileZMax, s), gt_hist(7) )
end do
call HistoryPut( 'EffMolWtBasicZ', xz_EffMolWtBasicZ(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(7) )
end subroutine HistoryFile_Open
| Subroutine : |
ヒストリファイルの定義
subroutine HistoryFile_Open( )
!
!ヒストリファイルの定義
!
!暗黙の型宣言禁止
implicit none
!変数定義
integer :: s ! ループ添字
!-----------------------------------------------------------
! ヒストリー作成
!-----------------------------------------------------------
do s = 1, FileNum
call HistoryCreate( file = HistoryFile(s), title = exptitle, source = expsrc, institution = expinst, dims=(/'x','z','t'/), dimsizes=(/FileNX, FileNZ, 0/), longnames=(/'X-coordinate', 'Z-coordinate', 'Time '/), units=(/'m','m','s'/), origin=0.0, xtypes=(/'double', 'double', 'double'/), interval=0.0, history=gt_hist(s) )
call HistoryPut('x', s_X( FileXMin: FileXMax ), gt_hist(s) )
call HistoryPut('z', s_Z( FileZMin: FileZMax ), gt_hist(s) )
! call HistoryPut('z', xz_PressBasicZ( 1, FileZMin: FileZMax ), gt_hist(s) )
end do
!-----------------------------------------------------------
! 予報変数の出力
!-----------------------------------------------------------
!無次元圧力の擾乱
call HistoryAddVariable( varname='Exner', dims=(/'x','z','t'/), longname='disturbunce of Exner', units='1', xtype='double', history=gt_hist(1) )
!温位の擾乱
call HistoryAddVariable( varname='PotTempDist', dims=(/'x','z','t'/), longname='disturbunce of potential temperature', units='K', xtype='double', history=gt_hist(2) )
!温位
call HistoryAddVariable( varname='PotTemp', dims=(/'x','z','t'/), longname='potential temperature', units='K', xtype='double', history=gt_hist(2) )
!温度
call HistoryAddVariable( varname='Temp', dims=(/'x','z','t'/), longname='temperature', units='K', xtype='double', history=gt_hist(2) )
!水平速度
call HistoryAddVariable( varname='VelX', dims=(/'x','z','t'/), longname='zonal velocity', units='m s|-1"', xtype='double', history=gt_hist(3) )
!鉛直速度
call HistoryAddVariable( varname='VelZ', dims=(/'x','z','t'/), longname='vertical velocity', units='m s|-1"', xtype='double', history=gt_hist(4) )
!渦粘性係数(運動量)
call HistoryAddVariable( varname='Km', dims=(/'x','z','t'/), longname='turbulent diffusion coefficient', units='1', xtype='double', history=gt_hist(5) )
!渦粘性係数(熱)
call HistoryAddVariable( varname='Kh', dims=(/'x','z','t'/), longname='turbulent diffusion coefficient for heat', units='1', xtype='double', history=gt_hist(6) )
!雲密度
call HistoryAddVariable( varname='DensCloud', dims=(/'x','z','t'/), longname='density of cloud', units='kg/m^3', xtype='double', history=gt_hist(9) )
!雲密度(非調整値)
call HistoryAddVariable( varname='DensCloudNoFillNeg', dims=(/'x','z','t'/), longname='density of cloud without filling negative', units='kg/m^3', xtype='double', history=gt_hist(9) )
!飽和比
call HistoryAddVariable( varname='SatRatio', dims=(/'x','z','t'/), longname='saturation ratio', units='1', xtype='double', history=gt_hist(10) )
!混合比
do s = 1, SpcNum
call HistoryAddVariable( varname=trim(SpcWetSymbol(s)), dims=(/'x','z','t'/), longname=trim(SpcWetSymbol(s))//' Mixing Ratio', units='kg kg|-1"', xtype='double', history=gt_hist(10+s))
end do
!----------------------------------------------------------------
! 解析値
!----------------------------------------------------------------
call HistoryAddVariable( varname='BuoyTemp', dims=(/'z','t'/), longname='Buoyancy (Temp)', units='s|-2"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='BuoyMolWt', dims=(/'z','t'/), longname='Buoyancy (MolWt)', units='s|-2"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='BuoyDrag', dims=(/'z','t'/), longname='Buoyance (Drag)', units='s|-2"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='StabTemp', dims=(/'z','t'/), longname='Stability (Temp)', units='s|-2"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='StabMolWt', dims=(/'z','t'/), longname='Stability (MolWt)', units='s|-2"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='PotTempAdv', dims=(/'z','t'/), longname='Advection term of potential temperature', units='K day|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='PotTempTurb', dims=(/'z','t'/), longname='Turbulence term of potential temperature', units='K day|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='PotTempDisp', dims=(/'z','t'/), longname='Dissipation term of potential temperature', units='K day|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='PotTempRad', dims=(/'z','t'/), longname='Radiation term of potential temperature', units='K day|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='PotTempDiff', dims=(/'z','t'/), longname='Numerical diffusion term of potential temperature', units='K day|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='PotTempCond', dims=(/'z','t'/), longname='Latent heat term of potential temperature', units='K day|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='PotTempFlux', dims=(/'z','t'/), longname='Surface Flux term of potential temperature', units='K day|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='PotTempDamp', dims=(/'z','t'/), longname='Newtonian Cooling term of potential temperature', units='K day|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='MassTotal', dims=(/'t'/), longname='Total mass', units='kg', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='KineticEnergyTotal', dims=(/'t'/), longname='Total kinetic energy', units='J', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='CloudMassTotal', dims=(/'t'/), longname='Total cloud mass', units='kg"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='PotentialEnergyTotal', dims=(/'t'/), longname='Total potential energy', units='J', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='ElasticEnergyFOTotal', dims=(/'t'/), longname='Total elastic energy(1st)', units='J', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='ElasticEnergySOTotal', dims=(/'t'/), longname='Total elastic energy(2st)', units='J', xtype='double', history=gt_hist(8) )
!----------------------------------------------------------------
! Mixing Ratio time change
!----------------------------------------------------------------
do s = 1, SpcNum
call HistoryAddVariable( varname=trim(SpcWetSymbol(s))//'_Adv', dims=(/'z','t'/), longname='Advection term of ' //trim(SpcWetSymbol(s))//' mixing ratio', units='kg kg|-1" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname=trim(SpcWetSymbol(s))//'_Turb', dims=(/'z','t'/), longname='Turbulence term of ' //trim(SpcWetSymbol(s))//' mixing ratio', units='kg kg|-1" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname=trim(SpcWetSymbol(s))//'_Diff', dims=(/'z','t'/), longname='Diffusion term of ' //trim(SpcWetSymbol(s))//' mixing ratio', units='kg kg|-1" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname=trim(SpcWetSymbol(s))//'_Flux', dims=(/'z','t'/), longname='Surface Flux term of ' //trim(SpcWetSymbol(s))//' mixing ratio', units='kg kg|-1" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname=trim(SpcWetSymbol(s))//'_Rain', dims=(/'z','t'/), longname='Fall Rain term of ' //trim(SpcWetSymbol(s))//' mixing ratio', units='kg kg|-1" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname=trim(SpcWetSymbol(s))//'_Fill1', dims=(/'z','t'/), longname='Filling Negative term 1 of ' //trim(SpcWetSymbol(s))//' mixing ratio', units='kg kg|-1" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname=trim(SpcWetSymbol(s))//'_Fill2', dims=(/'z','t'/), longname='Filling Negative term 2 of ' //trim(SpcWetSymbol(s))//' mixing ratio', units='kg kg|-1" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname=trim(SpcWetSymbol(s))//'_Cond', dims=(/'z','t'/), longname='Condensation term of ' //trim(SpcWetSymbol(s))//' mixing ratio', units='kg kg|-1" s|-1"', xtype='double', history=gt_hist(8) )
! call HistoryAddVariable( &
! & varname=trim(SpcWetSymbol(s))//'_Asln', &
! & dims=(/'z','t'/), &
! & longname='Asselin time filter term of ' &
! & //trim(SpcWetSymbol(s))//' mixing ratio', &
! & units='kg kg|-1" s|-1"', &
! & xtype='double', &
! & history=gt_hist(8) )
end do
!-----------------------------------------------------------
! 基本場の出力
!-----------------------------------------------------------
!無次元圧力の基本場
call HistoryAddVariable( varname='ExnerBasicZ', dims=(/'x','z'/), longname='nondimensional pressure', units='1', xtype='double', history=gt_hist(7) )
!温位の基本場
call HistoryAddVariable( varname='PotTempBasicZ', dims=(/'x','z'/), longname='potential temperature', units='K', xtype='double', history=gt_hist(7) )
!仮温位の基本場
call HistoryAddVariable( varname='VPotTempBasicZ', dims=(/'x','z'/), longname='vertial potential temperature', units='K', xtype='double', history=gt_hist(7) )
!密度の基本場
call HistoryAddVariable( varname='DensBasicZ', dims=(/'x','z'/), longname='density', units='Kg/m^3', xtype='double', history=gt_hist(7) )
!音波速度の基本場
call HistoryAddVariable( varname='VelSoundBasicZ', dims=(/'x','z'/), longname='sound velocity', units='m/s|2', xtype='double', history=gt_hist(7) )
!温度の基本場
call HistoryAddVariable( varname='TempBasicZ', dims=(/'x','z'/), longname='Temperature of basic state', units='K', xtype='double', history=gt_hist(7) )
!圧力の基本場
call HistoryAddVariable( varname='PressBasicZ', dims=(/'x','z'/), longname='Pressure of basic state', units='Pa', xtype='double', history=gt_hist(7) )
!混合比の基本場
do s = 1, SpcNum
call HistoryAddVariable( varname=trim(SpcWetSymbol(s))//'BasicZ', dims=(/'x','z'/), longname=trim(SpcWetSymbol(s))//' Mixing Ratio of basic state', units='kg/kg', xtype='double', history=gt_hist(7) )
end do
!分子量効果
call HistoryAddVariable( varname='EffMolWtBasicZ', dims=(/'x','z'/), longname='Effect of Mole Weight', units='1', xtype='double', history=gt_hist(7) )
!-------------------------------------------------------------
! 基本場のファイル出力
!-------------------------------------------------------------
call HistoryPut( 'DensBasicZ', xz_DensBasicZ(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(7) )
call HistoryPut( 'ExnerBasicZ', xz_ExnerBasicZ(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(7) )
call HistoryPut( 'PotTempBasicZ', xz_PotTempBasicZ(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(7) )
call HistoryPut( 'VPotTempBasicZ', xz_PotTempBasicZ(FileXMin:FileXMax, FileZMin:FileZMax) / xz_EffMolWtBasicZ(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(7) )
call HistoryPut( 'VelSoundBasicZ', xz_VelSoundBasicZ(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(7) )
call HistoryPut( 'TempBasicZ', xz_TempBasicZ(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(7) )
call HistoryPut( 'PressBasicZ', xz_PressBasicZ(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(7) )
do s = 1, SpcNum
call HistoryPut( trim(SpcWetSymbol(s))//'BasicZ', xza_MixRtBasicZ(FileXMin:FileXMax, FileZMin:FileZMax, s), gt_hist(7) )
end do
call HistoryPut( 'EffMolWtBasicZ', xz_EffMolWtBasicZ(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(7) )
end subroutine HistoryFile_Open
| Subroutine : |
ヒストリファイルの定義
subroutine HistoryFile_Open( )
!
!ヒストリファイルの定義
!
!暗黙の型宣言禁止
implicit none
!変数定義
integer :: s ! ループ添字
!-----------------------------------------------------------
! ヒストリー作成
!-----------------------------------------------------------
do s = 1, FileNum
call HistoryCreate( file = HistoryFile(s), title = exptitle, source = expsrc, institution = expinst, dims=(/'x','z','t'/), dimsizes=(/FileNX, FileNZ, 0/), longnames=(/'X-coordinate', 'Z-coordinate', 'Time '/), units=(/'m','m','s'/), origin=0.0, xtypes=(/'double', 'double', 'double'/), interval=0.0, history=gt_hist(s) )
call HistoryPut('x', s_X( FileXMin: FileXMax ), gt_hist(s) )
call HistoryPut('z', s_Z( FileZMin: FileZMax ), gt_hist(s) )
! call HistoryPut('z', xz_PressBasicZ( 1, FileZMin: FileZMax ), gt_hist(s) )
end do
!-----------------------------------------------------------
! 予報変数の出力
!-----------------------------------------------------------
!無次元圧力の擾乱
call HistoryAddVariable( varname='Exner', dims=(/'x','z','t'/), longname='disturbunce of Exner', units='1', xtype='double', history=gt_hist(1) )
!温位の擾乱
call HistoryAddVariable( varname='PotTempDist', dims=(/'x','z','t'/), longname='disturbunce of potential temperature', units='K', xtype='double', history=gt_hist(2) )
!温位
call HistoryAddVariable( varname='PotTemp', dims=(/'x','z','t'/), longname='potential temperature', units='K', xtype='double', history=gt_hist(2) )
!温度
call HistoryAddVariable( varname='Temp', dims=(/'x','z','t'/), longname='temperature', units='K', xtype='double', history=gt_hist(2) )
!水平速度
call HistoryAddVariable( varname='VelX', dims=(/'x','z','t'/), longname='zonal velocity', units='m s|-1"', xtype='double', history=gt_hist(3) )
!鉛直速度
call HistoryAddVariable( varname='VelZ', dims=(/'x','z','t'/), longname='vertical velocity', units='m s|-1"', xtype='double', history=gt_hist(4) )
!渦粘性係数(運動量)
call HistoryAddVariable( varname='Km', dims=(/'x','z','t'/), longname='turbulent diffusion coefficient', units='1', xtype='double', history=gt_hist(5) )
!渦粘性係数(熱)
call HistoryAddVariable( varname='Kh', dims=(/'x','z','t'/), longname='turbulent diffusion coefficient for heat', units='1', xtype='double', history=gt_hist(6) )
!雲密度
call HistoryAddVariable( varname='DensCloud', dims=(/'x','z','t'/), longname='density of cloud', units='kg/m^3', xtype='double', history=gt_hist(9) )
!雲密度(非調整値)
call HistoryAddVariable( varname='DensCloudNoFillNeg', dims=(/'x','z','t'/), longname='density of cloud without filling negative', units='kg/m^3', xtype='double', history=gt_hist(9) )
!飽和比
call HistoryAddVariable( varname='SatRatio', dims=(/'x','z','t'/), longname='saturation ratio', units='1', xtype='double', history=gt_hist(10) )
!混合比
do s = 1, SpcNum
call HistoryAddVariable( varname=trim(SpcWetSymbol(s)), dims=(/'x','z','t'/), longname=trim(SpcWetSymbol(s))//' Mixing Ratio', units='kg kg|-1"', xtype='double', history=gt_hist(10+s))
end do
!----------------------------------------------------------------
! 解析値
!----------------------------------------------------------------
call HistoryAddVariable( varname='BuoyTemp', dims=(/'z','t'/), longname='Buoyancy (Temp)', units='s|-2"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='BuoyMolWt', dims=(/'z','t'/), longname='Buoyancy (MolWt)', units='s|-2"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='BuoyDrag', dims=(/'z','t'/), longname='Buoyance (Drag)', units='s|-2"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='StabTemp', dims=(/'z','t'/), longname='Stability (Temp)', units='s|-2"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='StabMolWt', dims=(/'z','t'/), longname='Stability (MolWt)', units='s|-2"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='PotTempAdv', dims=(/'z','t'/), longname='Advection term of potential temperature', units='K day|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='PotTempTurb', dims=(/'z','t'/), longname='Turbulence term of potential temperature', units='K day|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='PotTempDisp', dims=(/'z','t'/), longname='Dissipation term of potential temperature', units='K day|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='PotTempRad', dims=(/'z','t'/), longname='Radiation term of potential temperature', units='K day|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='PotTempDiff', dims=(/'z','t'/), longname='Numerical diffusion term of potential temperature', units='K day|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='PotTempCond', dims=(/'z','t'/), longname='Latent heat term of potential temperature', units='K day|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='PotTempFlux', dims=(/'z','t'/), longname='Surface Flux term of potential temperature', units='K day|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='PotTempDamp', dims=(/'z','t'/), longname='Newtonian Cooling term of potential temperature', units='K day|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='MassTotal', dims=(/'t'/), longname='Total mass', units='kg', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='MassTotal01', dims=(/'t'/), longname='Total mass 1', units='kg', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='MassTotal02', dims=(/'t'/), longname='Total mass 2', units='kg', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='MassTotal03', dims=(/'t'/), longname='Total mass 3', units='kg', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='MassTend', dims=(/'t'/), longname='Tendency of Total mass', units='kg s|-1', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='KineticEnergyTotal', dims=(/'t'/), longname='Total kinetic energy', units='J', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='CloudMassTotal', dims=(/'t'/), longname='Total cloud mass', units='kg"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='CloudMassTotal01', dims=(/'t'/), longname='Total cloud mass 1', units='kg"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='CloudMassTotal02', dims=(/'t'/), longname='Total cloud mass 2', units='kg"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='PotentialEnergyTotal', dims=(/'t'/), longname='Total potential energy', units='J', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='ElasticEnergyFOTotal', dims=(/'t'/), longname='Total elastic energy(1st)', units='J', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='ElasticEnergySOTotal', dims=(/'t'/), longname='Total elastic energy(2st)', units='J', xtype='double', history=gt_hist(8) )
!----------------------------------------------------------------
! Mixing Ratio time change
!----------------------------------------------------------------
do s = 1, SpcNum
call HistoryAddVariable( varname=trim(SpcWetSymbol(s))//'_Adv', dims=(/'z','t'/), longname='Advection term of ' //trim(SpcWetSymbol(s))//' mixing ratio', units='kg kg|-1" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname=trim(SpcWetSymbol(s))//'_Turb', dims=(/'z','t'/), longname='Turbulence term of ' //trim(SpcWetSymbol(s))//' mixing ratio', units='kg kg|-1" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname=trim(SpcWetSymbol(s))//'_Diff', dims=(/'z','t'/), longname='Diffusion term of ' //trim(SpcWetSymbol(s))//' mixing ratio', units='kg kg|-1" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname=trim(SpcWetSymbol(s))//'_Flux', dims=(/'z','t'/), longname='Surface Flux term of ' //trim(SpcWetSymbol(s))//' mixing ratio', units='kg kg|-1" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname=trim(SpcWetSymbol(s))//'_Rain', dims=(/'z','t'/), longname='Fall Rain term of ' //trim(SpcWetSymbol(s))//' mixing ratio', units='kg kg|-1" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname=trim(SpcWetSymbol(s))//'_Fill1', dims=(/'z','t'/), longname='Filling Negative term 1 of ' //trim(SpcWetSymbol(s))//' mixing ratio', units='kg kg|-1" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname=trim(SpcWetSymbol(s))//'_Fill2', dims=(/'z','t'/), longname='Filling Negative term 2 of ' //trim(SpcWetSymbol(s))//' mixing ratio', units='kg kg|-1" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname=trim(SpcWetSymbol(s))//'_Cond', dims=(/'z','t'/), longname='Condensation term of ' //trim(SpcWetSymbol(s))//' mixing ratio', units='kg kg|-1" s|-1"', xtype='double', history=gt_hist(8) )
! call HistoryAddVariable( &
! & varname=trim(SpcWetSymbol(s))//'_Asln', &
! & dims=(/'z','t'/), &
! & longname='Asselin time filter term of ' &
! & //trim(SpcWetSymbol(s))//' mixing ratio', &
! & units='kg kg|-1" s|-1"', &
! & xtype='double', &
! & history=gt_hist(8) )
end do
!-----------------------------------------------------------
! 基本場の出力
!-----------------------------------------------------------
!無次元圧力の基本場
call HistoryAddVariable( varname='ExnerBasicZ', dims=(/'x','z'/), longname='nondimensional pressure', units='1', xtype='double', history=gt_hist(7) )
!温位の基本場
call HistoryAddVariable( varname='PotTempBasicZ', dims=(/'x','z'/), longname='potential temperature', units='K', xtype='double', history=gt_hist(7) )
!仮温位の基本場
call HistoryAddVariable( varname='VPotTempBasicZ', dims=(/'x','z'/), longname='vertial potential temperature', units='K', xtype='double', history=gt_hist(7) )
!密度の基本場
call HistoryAddVariable( varname='DensBasicZ', dims=(/'x','z'/), longname='density', units='Kg/m^3', xtype='double', history=gt_hist(7) )
!音波速度の基本場
call HistoryAddVariable( varname='VelSoundBasicZ', dims=(/'x','z'/), longname='sound velocity', units='m/s|2', xtype='double', history=gt_hist(7) )
!温度の基本場
call HistoryAddVariable( varname='TempBasicZ', dims=(/'x','z'/), longname='Temperature of basic state', units='K', xtype='double', history=gt_hist(7) )
!圧力の基本場
call HistoryAddVariable( varname='PressBasicZ', dims=(/'x','z'/), longname='Pressure of basic state', units='Pa', xtype='double', history=gt_hist(7) )
!混合比の基本場
do s = 1, SpcNum
call HistoryAddVariable( varname=trim(SpcWetSymbol(s))//'BasicZ', dims=(/'x','z'/), longname=trim(SpcWetSymbol(s))//' Mixing Ratio of basic state', units='kg/kg', xtype='double', history=gt_hist(7) )
end do
!分子量効果
call HistoryAddVariable( varname='EffMolWtBasicZ', dims=(/'x','z'/), longname='Effect of Mole Weight', units='1', xtype='double', history=gt_hist(7) )
!-------------------------------------------------------------
! 基本場のファイル出力
!-------------------------------------------------------------
call HistoryPut( 'DensBasicZ', xz_DensBasicZ(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(7) )
call HistoryPut( 'ExnerBasicZ', xz_ExnerBasicZ(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(7) )
call HistoryPut( 'PotTempBasicZ', xz_PotTempBasicZ(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(7) )
call HistoryPut( 'VPotTempBasicZ', xz_PotTempBasicZ(FileXMin:FileXMax, FileZMin:FileZMax) / xz_EffMolWtBasicZ(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(7) )
call HistoryPut( 'VelSoundBasicZ', xz_VelSoundBasicZ(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(7) )
call HistoryPut( 'TempBasicZ', xz_TempBasicZ(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(7) )
call HistoryPut( 'PressBasicZ', xz_PressBasicZ(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(7) )
do s = 1, SpcNum
call HistoryPut( trim(SpcWetSymbol(s))//'BasicZ', xza_MixRtBasicZ(FileXMin:FileXMax, FileZMin:FileZMax, s), gt_hist(7) )
end do
call HistoryPut( 'EffMolWtBasicZ', xz_EffMolWtBasicZ(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(7) )
end subroutine HistoryFile_Open
| Subroutine : |
ヒストリファイルの定義
subroutine HistoryFile_Open( )
!
!ヒストリファイルの定義
!
!暗黙の型宣言禁止
implicit none
!変数定義
integer :: s ! ループ添字
!-----------------------------------------------------------
! ヒストリー作成
!-----------------------------------------------------------
do s = 1, FileNum
call HistoryCreate( file = HistoryFile(s), title = exptitle, source = expsrc, institution = expinst, dims=(/'x','z','t'/), dimsizes=(/FileNX, FileNZ, 0/), longnames=(/'X-coordinate', 'Z-coordinate', 'Time '/), units=(/'m','m','s'/), origin=0.0, xtypes=(/'double', 'double', 'double'/), interval=0.0, history=gt_hist(s) )
call HistoryPut('x', s_X( FileXMin: FileXMax ), gt_hist(s) )
call HistoryPut('z', s_Z( FileZMin: FileZMax ), gt_hist(s) )
! call HistoryPut('z', xz_PressBasicZ( 1, FileZMin: FileZMax ), gt_hist(s) )
end do
!-----------------------------------------------------------
! 予報変数の出力
!-----------------------------------------------------------
!無次元圧力の擾乱
call HistoryAddVariable( varname='Exner', dims=(/'x','z','t'/), longname='disturbunce of nondimensional pressure', units=' ', xtype='double', history=gt_hist(1) )
!温位の擾乱
call HistoryAddVariable( varname='PotTempDist', dims=(/'x','z','t'/), longname='disturbunce of potential temperature', units='K', xtype='double', history=gt_hist(2) )
!温位
call HistoryAddVariable( varname='PotTemp', dims=(/'x','z','t'/), longname='potential temperature', units='K', xtype='double', history=gt_hist(2) )
!温度
call HistoryAddVariable( varname='Temp', dims=(/'x','z','t'/), longname='temperature', units='K', xtype='double', history=gt_hist(2) )
!水平速度
call HistoryAddVariable( varname='VelX', dims=(/'x','z','t'/), longname='zonal velocity', units='m s|-1"', xtype='double', history=gt_hist(3) )
!鉛直速度
call HistoryAddVariable( varname='VelZ', dims=(/'x','z','t'/), longname='vertical velocity', units='m s|-1"', xtype='double', history=gt_hist(4) )
!渦粘性係数(運動量)
call HistoryAddVariable( varname='Km', dims=(/'x','z','t'/), longname='turbulent diffusion coefficient', units='1', xtype='double', history=gt_hist(5) )
!渦粘性係数(熱)
call HistoryAddVariable( varname='Kh', dims=(/'x','z','t'/), longname='turbulent diffusion coefficient for heat', units='1', xtype='double', history=gt_hist(6) )
!雲密度
call HistoryAddVariable( varname='DensCloud', dims=(/'x','z','t'/), longname='density of cloud', units='kg/m^3', xtype='double', history=gt_hist(9) )
!飽和比
call HistoryAddVariable( varname='SatRatio', dims=(/'x','z','t'/), longname='saturation ratio', units='1', xtype='double', history=gt_hist(10) )
!混合比
do s = 1, SpcNum
call HistoryAddVariable( varname=trim(SpcWetSymbol(s)), dims=(/'x','z','t'/), longname=trim(SpcWetSymbol(s))//' Mixing Ratio', units='kg kg|-1"', xtype='double', history=gt_hist(10+s))
end do
!----------------------------------------------------------------
! 解析値
!----------------------------------------------------------------
call HistoryAddVariable( varname='BuoyTemp', dims=(/'z','t'/), longname='Buoyancy (Temp)', units='s|-2"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='BuoyMolWt', dims=(/'z','t'/), longname='Buoyancy (MolWt)', units='s|-2"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='BuoyDrag', dims=(/'z','t'/), longname='Buoyance (Drag)', units='s|-2"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='StabTemp', dims=(/'z','t'/), longname='Stability (Temp)', units='s|-2"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='StabMolWt', dims=(/'z','t'/), longname='Stability (MolWt)', units='s|-2"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='PotTempAdv', dims=(/'z','t'/), longname='Advection term of potential temperature', units='K day|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='PotTempTurb', dims=(/'z','t'/), longname='Turbulence term of potential temperature', units='K day|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='PotTempDisp', dims=(/'z','t'/), longname='Dissipation term of potential temperature', units='K day|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='PotTempRad', dims=(/'z','t'/), longname='Radiation term of potential temperature', units='K day|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='PotTempDiff', dims=(/'z','t'/), longname='Numerical diffusion term of potential temperature', units='K day|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='PotTempCond', dims=(/'z','t'/), longname='Latent heat term of potential temperature', units='K day|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='PotTempFlux', dims=(/'z','t'/), longname='Surface Flux term of potential temperature', units='K day|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='PotTempDamp', dims=(/'z','t'/), longname='Newtonian Cooling term of potential temperature', units='K day|-1"', xtype='double', history=gt_hist(8) )
!----------------------------------------------------------------
! Mixing Ratio time change
!----------------------------------------------------------------
do s = 1, SpcNum
call HistoryAddVariable( varname=trim(SpcWetSymbol(s))//'_Adv', dims=(/'z','t'/), longname='Advection term of ' //trim(SpcWetSymbol(s))//' mixing ratio', units='kg kg|-1" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname=trim(SpcWetSymbol(s))//'_Turb', dims=(/'z','t'/), longname='Turbulence term of ' //trim(SpcWetSymbol(s))//' mixing ratio', units='kg kg|-1" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname=trim(SpcWetSymbol(s))//'_Diff', dims=(/'z','t'/), longname='Diffusion term of ' //trim(SpcWetSymbol(s))//' mixing ratio', units='kg kg|-1" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname=trim(SpcWetSymbol(s))//'_Flux', dims=(/'z','t'/), longname='Surface Flux term of ' //trim(SpcWetSymbol(s))//' mixing ratio', units='kg kg|-1" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname=trim(SpcWetSymbol(s))//'_Rain', dims=(/'z','t'/), longname='Fall Rain term of ' //trim(SpcWetSymbol(s))//' mixing ratio', units='kg kg|-1" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname=trim(SpcWetSymbol(s))//'_Fill1', dims=(/'z','t'/), longname='Filling Negative term 1 of ' //trim(SpcWetSymbol(s))//' mixing ratio', units='kg kg|-1" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname=trim(SpcWetSymbol(s))//'_Fill2', dims=(/'z','t'/), longname='Filling Negative term 2 of ' //trim(SpcWetSymbol(s))//' mixing ratio', units='kg kg|-1" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname=trim(SpcWetSymbol(s))//'_Cond', dims=(/'z','t'/), longname='Condensation term of ' //trim(SpcWetSymbol(s))//' mixing ratio', units='kg kg|-1" s|-1"', xtype='double', history=gt_hist(8) )
! call HistoryAddVariable( &
! & varname=trim(SpcWetSymbol(s))//'_Asln', &
! & dims=(/'z','t'/), &
! & longname='Asselin time filter term of ' &
! & //trim(SpcWetSymbol(s))//' mixing ratio', &
! & units='kg kg|-1" s|-1"', &
! & xtype='double', &
! & history=gt_hist(8) )
end do
!-----------------------------------------------------------
! 基本場の出力
!-----------------------------------------------------------
!無次元圧力の基本場
call HistoryAddVariable( varname='ExnerBasicZ', dims=(/'x','z'/), longname='nondimensional pressure', units='1', xtype='double', history=gt_hist(7) )
!温位の基本場
call HistoryAddVariable( varname='PotTempBasicZ', dims=(/'x','z'/), longname='potential temperature', units='K', xtype='double', history=gt_hist(7) )
!仮温位の基本場
call HistoryAddVariable( varname='VPotTempBasicZ', dims=(/'x','z'/), longname='vertial potential temperature', units='K', xtype='double', history=gt_hist(7) )
!密度の基本場
call HistoryAddVariable( varname='DensBasicZ', dims=(/'x','z'/), longname='density', units='Kg/m^3', xtype='double', history=gt_hist(7) )
!音波速度の基本場
call HistoryAddVariable( varname='VelSoundBasicZ', dims=(/'x','z'/), longname='sound velocity', units='m/s|2', xtype='double', history=gt_hist(7) )
!温度の基本場
call HistoryAddVariable( varname='TempBasicZ', dims=(/'x','z'/), longname='Temperature of basic state', units='K', xtype='double', history=gt_hist(7) )
!圧力の基本場
call HistoryAddVariable( varname='PressBasicZ', dims=(/'x','z'/), longname='Pressure of basic state', units='Pa', xtype='double', history=gt_hist(7) )
!混合比の基本場
do s = 1, SpcNum
call HistoryAddVariable( varname=trim(SpcWetSymbol(s))//'BasicZ', dims=(/'x','z'/), longname=trim(SpcWetSymbol(s))//' Mixing Ratio of basic state', units='kg/kg', xtype='double', history=gt_hist(7) )
end do
!分子量効果
call HistoryAddVariable( varname='EffMolWtBasicZ', dims=(/'x','z'/), longname='Effect of Mole Weight', units='1', xtype='double', history=gt_hist(7) )
!-------------------------------------------------------------
! 基本場のファイル出力
!-------------------------------------------------------------
call HistoryPut( 'DensBasicZ', xz_DensBasicZ(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(7) )
call HistoryPut( 'ExnerBasicZ', xz_ExnerBasicZ(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(7) )
call HistoryPut( 'PotTempBasicZ', xz_PotTempBasicZ(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(7) )
call HistoryPut( 'VPotTempBasicZ', xz_PotTempBasicZ(FileXMin:FileXMax, FileZMin:FileZMax) / xz_EffMolWtBasicZ(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(7) )
call HistoryPut( 'VelSoundBasicZ', xz_VelSoundBasicZ(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(7) )
call HistoryPut( 'TempBasicZ', xz_TempBasicZ(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(7) )
call HistoryPut( 'PressBasicZ', xz_PressBasicZ(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(7) )
do s = 1, SpcNum
call HistoryPut( trim(SpcWetSymbol(s))//'BasicZ', xza_MixRtBasicZ(FileXMin:FileXMax, FileZMin:FileZMax, s), gt_hist(7) )
end do
call HistoryPut( 'EffMolWtBasicZ', xz_EffMolWtBasicZ(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(7) )
end subroutine HistoryFile_Open
| Subroutine : |
ヒストリファイルの定義
subroutine HistoryFile_Open( )
!
!ヒストリファイルの定義
!
!暗黙の型宣言禁止
implicit none
!変数定義
integer :: s ! ループ添字
!-----------------------------------------------------------
! ヒストリー作成
!-----------------------------------------------------------
do s = 1, FileNum
call HistoryCreate( file = HistoryFile(s), title = exptitle, source = expsrc, institution = expinst, dims=(/'x','z','t'/), dimsizes=(/FileNX, FileNZ, 0/), longnames=(/'X-coordinate', 'Z-coordinate', 'Time '/), units=(/'m','m','s'/), origin=0.0, xtypes=(/'double', 'double', 'double'/), interval=0.0, history=gt_hist(s) )
call HistoryPut('x', s_X( FileXMin: FileXMax ), gt_hist(s) )
call HistoryPut('z', s_Z( FileZMin: FileZMax ), gt_hist(s) )
! call HistoryPut('z', xz_PressBasicZ( 1, FileZMin: FileZMax ), gt_hist(s) )
end do
!-----------------------------------------------------------
! 予報変数の出力
!-----------------------------------------------------------
!無次元圧力の擾乱
call HistoryAddVariable( varname='Exner', dims=(/'x','z','t'/), longname='disturbunce of Exner', units='1', xtype='double', history=gt_hist(1) )
!温位の擾乱
call HistoryAddVariable( varname='PotTempDist', dims=(/'x','z','t'/), longname='disturbunce of potential temperature', units='K', xtype='double', history=gt_hist(2) )
!温位
call HistoryAddVariable( varname='PotTemp', dims=(/'x','z','t'/), longname='potential temperature', units='K', xtype='double', history=gt_hist(2) )
!温度
call HistoryAddVariable( varname='Temp', dims=(/'x','z','t'/), longname='temperature', units='K', xtype='double', history=gt_hist(2) )
!水平速度
call HistoryAddVariable( varname='VelX', dims=(/'x','z','t'/), longname='zonal velocity', units='m s|-1"', xtype='double', history=gt_hist(3) )
!鉛直速度
call HistoryAddVariable( varname='VelZ', dims=(/'x','z','t'/), longname='vertical velocity', units='m s|-1"', xtype='double', history=gt_hist(4) )
!渦粘性係数(運動量)
call HistoryAddVariable( varname='Km', dims=(/'x','z','t'/), longname='turbulent diffusion coefficient', units='1', xtype='double', history=gt_hist(5) )
!渦粘性係数(熱)
call HistoryAddVariable( varname='Kh', dims=(/'x','z','t'/), longname='turbulent diffusion coefficient for heat', units='1', xtype='double', history=gt_hist(6) )
!雲密度
call HistoryAddVariable( varname='DensCloud', dims=(/'x','z','t'/), longname='density of cloud', units='kg/m^3', xtype='double', history=gt_hist(9) )
!飽和比
call HistoryAddVariable( varname='SatRatio', dims=(/'x','z','t'/), longname='saturation ratio', units='1', xtype='double', history=gt_hist(10) )
!混合比
do s = 1, SpcNum
call HistoryAddVariable( varname=trim(SpcWetSymbol(s)), dims=(/'x','z','t'/), longname=trim(SpcWetSymbol(s))//' Mixing Ratio', units='kg kg|-1"', xtype='double', history=gt_hist(10+s))
end do
!----------------------------------------------------------------
! 解析値
!----------------------------------------------------------------
call HistoryAddVariable( varname='BuoyTemp', dims=(/'z','t'/), longname='Buoyancy (Temp)', units='s|-2"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='BuoyMolWt', dims=(/'z','t'/), longname='Buoyancy (MolWt)', units='s|-2"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='BuoyDrag', dims=(/'z','t'/), longname='Buoyancy (Drag)', units='s|-2"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='StabTemp', dims=(/'z','t'/), longname='Stability (Temp)', units='s|-2"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='StabMolWt', dims=(/'z','t'/), longname='Stability (MolWt)', units='s|-2"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='PotTempAdv', dims=(/'x','z','t'/), longname='Advection term of potential temperature', units='K day|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='PotTempTurb', dims=(/'x','z','t'/), longname='Turbulence term of potential temperature', units='K day|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='PotTempDisp', dims=(/'x','z','t'/), longname='Dissipation term of potential temperature', units='K day|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='PotTempRad', dims=(/'x','z','t'/), longname='Radiation term of potential temperature', units='K day|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='PotTempDiff', dims=(/'x','z','t'/), longname='Numerical diffusion term of potential temperature', units='K day|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='PotTempCond', dims=(/'x','z','t'/), longname='Latent heat term of potential temperature', units='K day|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='PotTempFlux', dims=(/'x','z','t'/), longname='Surface Flux term of potential temperature', units='K day|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='PotTempDamp', dims=(/'x','z','t'/), longname='Newtonian Cooling term of potential temperature', units='K day|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='DensCloudAdv', dims=(/'x','z','t'/), longname='Advection term of cloud density', units='kg m|-3" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='DensCloudTurb', dims=(/'x','z','t'/), longname='Turbulence term of cloud density', units='kg m|-3" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='DensCloudDiff', dims=(/'x','z','t'/), longname='Numerical diffusion term of cloud density', units='kg m|-3" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='DensCloudCond', dims=(/'x','z','t'/), longname='Condensation term of cloud density', units='kg m|-3" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='DensCloudFill', dims=(/'x','z','t'/), longname='Filling Negative term of cloud density', units='kg m|-3" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='DensCloudFillZero', dims=(/'x','z','t'/), longname='Filling Negative term of cloud density 2', units='kg m|-3" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='MassTotal', dims=(/'t'/), longname='Total mass', units='kg', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='MassTend', dims=(/'t'/), longname='Tendency of Total mass', units='kg s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='KineticEnergyTotal', dims=(/'t'/), longname='Total kinetic energy', units='J', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='CloudMassTotal', dims=(/'t'/), longname='Total cloud mass', units='kg"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='PotentialEnergyTotal', dims=(/'t'/), longname='Total potential energy', units='J', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='ElasticEnergyFOTotal', dims=(/'t'/), longname='Total elastic energy(1st)', units='J', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='ElasticEnergySOTotal', dims=(/'t'/), longname='Total elastic energy(2st)', units='J', xtype='double', history=gt_hist(8) )
!----------------------------------------------------------------
! Mixing Ratio time change
!----------------------------------------------------------------
do s = 1, SpcNum
call HistoryAddVariable( varname=trim(SpcWetSymbol(s))//'_Adv', dims=(/'z','t'/), longname='Advection term of ' //trim(SpcWetSymbol(s))//' mixing ratio', units='kg kg|-1" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname=trim(SpcWetSymbol(s))//'_Turb', dims=(/'z','t'/), longname='Turbulence term of ' //trim(SpcWetSymbol(s))//' mixing ratio', units='kg kg|-1" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname=trim(SpcWetSymbol(s))//'_Diff', dims=(/'z','t'/), longname='Diffusion term of ' //trim(SpcWetSymbol(s))//' mixing ratio', units='kg kg|-1" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname=trim(SpcWetSymbol(s))//'_Flux', dims=(/'z','t'/), longname='Surface Flux term of ' //trim(SpcWetSymbol(s))//' mixing ratio', units='kg kg|-1" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname=trim(SpcWetSymbol(s))//'_Rain', dims=(/'z','t'/), longname='Fall Rain term of ' //trim(SpcWetSymbol(s))//' mixing ratio', units='kg kg|-1" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname=trim(SpcWetSymbol(s))//'_Fill1', dims=(/'z','t'/), longname='Filling Negative term 1 of ' //trim(SpcWetSymbol(s))//' mixing ratio', units='kg kg|-1" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname=trim(SpcWetSymbol(s))//'_Fill2', dims=(/'z','t'/), longname='Filling Negative term 2 of ' //trim(SpcWetSymbol(s))//' mixing ratio', units='kg kg|-1" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname=trim(SpcWetSymbol(s))//'_Cond', dims=(/'z','t'/), longname='Condensation term of ' //trim(SpcWetSymbol(s))//' mixing ratio', units='kg kg|-1" s|-1"', xtype='double', history=gt_hist(8) )
! call HistoryAddVariable( &
! & varname=trim(SpcWetSymbol(s))//'_Asln', &
! & dims=(/'z','t'/), &
! & longname='Asselin time filter term of ' &
! & //trim(SpcWetSymbol(s))//' mixing ratio', &
! & units='kg kg|-1" s|-1"', &
! & xtype='double', &
! & history=gt_hist(8) )
end do
!-----------------------------------------------------------
! 基本場の出力
!-----------------------------------------------------------
!無次元圧力の基本場
call HistoryAddVariable( varname='ExnerBasicZ', dims=(/'x','z'/), longname='nondimensional pressure', units='1', xtype='double', history=gt_hist(7) )
!温位の基本場
call HistoryAddVariable( varname='PotTempBasicZ', dims=(/'x','z'/), longname='potential temperature', units='K', xtype='double', history=gt_hist(7) )
!仮温位の基本場
call HistoryAddVariable( varname='VPotTempBasicZ', dims=(/'x','z'/), longname='vertial potential temperature', units='K', xtype='double', history=gt_hist(7) )
!密度の基本場
call HistoryAddVariable( varname='DensBasicZ', dims=(/'x','z'/), longname='density', units='Kg/m^3', xtype='double', history=gt_hist(7) )
!音波速度の基本場
call HistoryAddVariable( varname='VelSoundBasicZ', dims=(/'x','z'/), longname='sound velocity', units='m/s|2', xtype='double', history=gt_hist(7) )
!温度の基本場
call HistoryAddVariable( varname='TempBasicZ', dims=(/'x','z'/), longname='Temperature of basic state', units='K', xtype='double', history=gt_hist(7) )
!圧力の基本場
call HistoryAddVariable( varname='PressBasicZ', dims=(/'x','z'/), longname='Pressure of basic state', units='Pa', xtype='double', history=gt_hist(7) )
!混合比の基本場
do s = 1, SpcNum
call HistoryAddVariable( varname=trim(SpcWetSymbol(s))//'BasicZ', dims=(/'x','z'/), longname=trim(SpcWetSymbol(s))//' Mixing Ratio of basic state', units='kg/kg', xtype='double', history=gt_hist(7) )
end do
!分子量効果
call HistoryAddVariable( varname='EffMolWtBasicZ', dims=(/'x','z'/), longname='Effect of Mole Weight', units='1', xtype='double', history=gt_hist(7) )
!-------------------------------------------------------------
! 基本場のファイル出力
!-------------------------------------------------------------
call HistoryPut( 'DensBasicZ', xz_DensBasicZ(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(7) )
call HistoryPut( 'ExnerBasicZ', xz_ExnerBasicZ(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(7) )
call HistoryPut( 'PotTempBasicZ', xz_PotTempBasicZ(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(7) )
call HistoryPut( 'VPotTempBasicZ', xz_PotTempBasicZ(FileXMin:FileXMax, FileZMin:FileZMax) / xz_EffMolWtBasicZ(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(7) )
call HistoryPut( 'VelSoundBasicZ', xz_VelSoundBasicZ(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(7) )
call HistoryPut( 'TempBasicZ', xz_TempBasicZ(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(7) )
call HistoryPut( 'PressBasicZ', xz_PressBasicZ(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(7) )
do s = 1, SpcNum
call HistoryPut( trim(SpcWetSymbol(s))//'BasicZ', xza_MixRtBasicZ(FileXMin:FileXMax, FileZMin:FileZMax, s), gt_hist(7) )
end do
call HistoryPut( 'EffMolWtBasicZ', xz_EffMolWtBasicZ(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(7) )
end subroutine HistoryFile_Open
| Subroutine : |
ヒストリファイルの定義
subroutine HistoryFile_Open( )
!
!ヒストリファイルの定義
!
!暗黙の型宣言禁止
implicit none
!変数定義
integer :: s ! ループ添字
!-----------------------------------------------------------
! ヒストリー作成
!-----------------------------------------------------------
do s = 1, FileNum
call HistoryCreate( file = HistoryFile(s), title = exptitle, source = expsrc, institution = expinst, dims=(/'x','z','t'/), dimsizes=(/FileNX, FileNZ, 0/), longnames=(/'X-coordinate', 'Z-coordinate', 'Time '/), units=(/'m','m','s'/), origin=0.0, xtypes=(/'double', 'double', 'double'/), interval=0.0, history=gt_hist(s) )
call HistoryPut('x', s_X( FileXMin: FileXMax ), gt_hist(s) )
call HistoryPut('z', s_Z( FileZMin: FileZMax ), gt_hist(s) )
! call HistoryPut('z', xz_PressBasicZ( 1, FileZMin: FileZMax ), gt_hist(s) )
end do
!-----------------------------------------------------------
! 予報変数の出力
!-----------------------------------------------------------
!無次元圧力の擾乱
call HistoryAddVariable( varname='Exner', dims=(/'x','z','t'/), longname='disturbunce of Exner', units='1', xtype='double', history=gt_hist(1) )
!温位の擾乱
call HistoryAddVariable( varname='PotTempDist', dims=(/'x','z','t'/), longname='disturbunce of potential temperature', units='K', xtype='double', history=gt_hist(2) )
!温位
call HistoryAddVariable( varname='PotTemp', dims=(/'x','z','t'/), longname='potential temperature', units='K', xtype='double', history=gt_hist(2) )
!温度
call HistoryAddVariable( varname='Temp', dims=(/'x','z','t'/), longname='temperature', units='K', xtype='double', history=gt_hist(2) )
!水平速度
call HistoryAddVariable( varname='VelX', dims=(/'x','z','t'/), longname='zonal velocity', units='m s|-1"', xtype='double', history=gt_hist(3) )
!鉛直速度
call HistoryAddVariable( varname='VelZ', dims=(/'x','z','t'/), longname='vertical velocity', units='m s|-1"', xtype='double', history=gt_hist(4) )
!渦粘性係数(運動量)
call HistoryAddVariable( varname='Km', dims=(/'x','z','t'/), longname='turbulent diffusion coefficient', units='1', xtype='double', history=gt_hist(5) )
!渦粘性係数(熱)
call HistoryAddVariable( varname='Kh', dims=(/'x','z','t'/), longname='turbulent diffusion coefficient for heat', units='1', xtype='double', history=gt_hist(6) )
!雲密度
call HistoryAddVariable( varname='DensCloud', dims=(/'x','z','t'/), longname='density of cloud', units='kg/m^3', xtype='double', history=gt_hist(9) )
!飽和比
call HistoryAddVariable( varname='SatRatio', dims=(/'x','z','t'/), longname='saturation ratio', units='1', xtype='double', history=gt_hist(10) )
!混合比
do s = 1, SpcNum
call HistoryAddVariable( varname=trim(SpcWetSymbol(s)), dims=(/'x','z','t'/), longname=trim(SpcWetSymbol(s))//' Mixing Ratio', units='kg kg|-1"', xtype='double', history=gt_hist(10+s))
end do
!----------------------------------------------------------------
! 解析値
!----------------------------------------------------------------
call HistoryAddVariable( varname='BuoyTemp', dims=(/'z','t'/), longname='Buoyancy (Temp)', units='s|-2"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='BuoyMolWt', dims=(/'z','t'/), longname='Buoyancy (MolWt)', units='s|-2"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='BuoyDrag', dims=(/'z','t'/), longname='Buoyancy (Drag)', units='s|-2"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='StabTemp', dims=(/'z','t'/), longname='Stability (Temp)', units='s|-2"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='StabMolWt', dims=(/'z','t'/), longname='Stability (MolWt)', units='s|-2"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='PotTempAdv', dims=(/'z','t'/), longname='Advection term of potential temperature', units='K day|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='PotTempTurb', dims=(/'z','t'/), longname='Turbulence term of potential temperature', units='K day|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='PotTempDisp', dims=(/'z','t'/), longname='Dissipation term of potential temperature', units='K day|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='PotTempRad', dims=(/'z','t'/), longname='Radiation term of potential temperature', units='K day|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='PotTempDiff', dims=(/'z','t'/), longname='Numerical diffusion term of potential temperature', units='K day|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='PotTempCond', dims=(/'z','t'/), longname='Latent heat term of potential temperature', units='K day|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='PotTempFlux', dims=(/'z','t'/), longname='Surface Flux term of potential temperature', units='K day|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='PotTempDamp', dims=(/'z','t'/), longname='Newtonian Cooling term of potential temperature', units='K day|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='DensCloudAdv', dims=(/'z','t'/), longname='Advection term of cloud density', units='kg m|-3" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='DensCloudTurb', dims=(/'z','t'/), longname='Turbulence term of cloud density', units='kg m|-3" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='DensCloudDiff', dims=(/'z','t'/), longname='Numerical diffusion term of cloud density', units='kg m|-3" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='DensCloudCond', dims=(/'z','t'/), longname='Condensation term of cloud density', units='kg m|-3" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='DensCloudFill', dims=(/'z','t'/), longname='Filling Negative term of cloud density', units='kg m|-3" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='MassTotal', dims=(/'t'/), longname='Total mass', units='kg', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='MassTend', dims=(/'t'/), longname='Tendency of Total mass', units='kg s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='KineticEnergyTotal', dims=(/'t'/), longname='Total kinetic energy', units='J', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='CloudMassTotal', dims=(/'t'/), longname='Total cloud mass', units='kg"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='PotentialEnergyTotal', dims=(/'t'/), longname='Total potential energy', units='J', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='ElasticEnergyFOTotal', dims=(/'t'/), longname='Total elastic energy(1st)', units='J', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='ElasticEnergySOTotal', dims=(/'t'/), longname='Total elastic energy(2st)', units='J', xtype='double', history=gt_hist(8) )
!----------------------------------------------------------------
! Mixing Ratio time change
!----------------------------------------------------------------
do s = 1, SpcNum
call HistoryAddVariable( varname=trim(SpcWetSymbol(s))//'_Adv', dims=(/'z','t'/), longname='Advection term of ' //trim(SpcWetSymbol(s))//' mixing ratio', units='kg kg|-1" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname=trim(SpcWetSymbol(s))//'_Turb', dims=(/'z','t'/), longname='Turbulence term of ' //trim(SpcWetSymbol(s))//' mixing ratio', units='kg kg|-1" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname=trim(SpcWetSymbol(s))//'_Diff', dims=(/'z','t'/), longname='Diffusion term of ' //trim(SpcWetSymbol(s))//' mixing ratio', units='kg kg|-1" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname=trim(SpcWetSymbol(s))//'_Flux', dims=(/'z','t'/), longname='Surface Flux term of ' //trim(SpcWetSymbol(s))//' mixing ratio', units='kg kg|-1" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname=trim(SpcWetSymbol(s))//'_Rain', dims=(/'z','t'/), longname='Fall Rain term of ' //trim(SpcWetSymbol(s))//' mixing ratio', units='kg kg|-1" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname=trim(SpcWetSymbol(s))//'_Fill1', dims=(/'z','t'/), longname='Filling Negative term 1 of ' //trim(SpcWetSymbol(s))//' mixing ratio', units='kg kg|-1" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname=trim(SpcWetSymbol(s))//'_Fill2', dims=(/'z','t'/), longname='Filling Negative term 2 of ' //trim(SpcWetSymbol(s))//' mixing ratio', units='kg kg|-1" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname=trim(SpcWetSymbol(s))//'_Cond', dims=(/'z','t'/), longname='Condensation term of ' //trim(SpcWetSymbol(s))//' mixing ratio', units='kg kg|-1" s|-1"', xtype='double', history=gt_hist(8) )
! call HistoryAddVariable( &
! & varname=trim(SpcWetSymbol(s))//'_Asln', &
! & dims=(/'z','t'/), &
! & longname='Asselin time filter term of ' &
! & //trim(SpcWetSymbol(s))//' mixing ratio', &
! & units='kg kg|-1" s|-1"', &
! & xtype='double', &
! & history=gt_hist(8) )
end do
!-----------------------------------------------------------
! 基本場の出力
!-----------------------------------------------------------
!無次元圧力の基本場
call HistoryAddVariable( varname='ExnerBasicZ', dims=(/'x','z'/), longname='nondimensional pressure', units='1', xtype='double', history=gt_hist(7) )
!温位の基本場
call HistoryAddVariable( varname='PotTempBasicZ', dims=(/'x','z'/), longname='potential temperature', units='K', xtype='double', history=gt_hist(7) )
!仮温位の基本場
call HistoryAddVariable( varname='VPotTempBasicZ', dims=(/'x','z'/), longname='vertial potential temperature', units='K', xtype='double', history=gt_hist(7) )
!密度の基本場
call HistoryAddVariable( varname='DensBasicZ', dims=(/'x','z'/), longname='density', units='Kg/m^3', xtype='double', history=gt_hist(7) )
!音波速度の基本場
call HistoryAddVariable( varname='VelSoundBasicZ', dims=(/'x','z'/), longname='sound velocity', units='m/s|2', xtype='double', history=gt_hist(7) )
!温度の基本場
call HistoryAddVariable( varname='TempBasicZ', dims=(/'x','z'/), longname='Temperature of basic state', units='K', xtype='double', history=gt_hist(7) )
!圧力の基本場
call HistoryAddVariable( varname='PressBasicZ', dims=(/'x','z'/), longname='Pressure of basic state', units='Pa', xtype='double', history=gt_hist(7) )
!混合比の基本場
do s = 1, SpcNum
call HistoryAddVariable( varname=trim(SpcWetSymbol(s))//'BasicZ', dims=(/'x','z'/), longname=trim(SpcWetSymbol(s))//' Mixing Ratio of basic state', units='kg/kg', xtype='double', history=gt_hist(7) )
end do
!分子量効果
call HistoryAddVariable( varname='EffMolWtBasicZ', dims=(/'x','z'/), longname='Effect of Mole Weight', units='1', xtype='double', history=gt_hist(7) )
!-------------------------------------------------------------
! 基本場のファイル出力
!-------------------------------------------------------------
call HistoryPut( 'DensBasicZ', xz_DensBasicZ(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(7) )
call HistoryPut( 'ExnerBasicZ', xz_ExnerBasicZ(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(7) )
call HistoryPut( 'PotTempBasicZ', xz_PotTempBasicZ(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(7) )
call HistoryPut( 'VPotTempBasicZ', xz_PotTempBasicZ(FileXMin:FileXMax, FileZMin:FileZMax) / xz_EffMolWtBasicZ(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(7) )
call HistoryPut( 'VelSoundBasicZ', xz_VelSoundBasicZ(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(7) )
call HistoryPut( 'TempBasicZ', xz_TempBasicZ(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(7) )
call HistoryPut( 'PressBasicZ', xz_PressBasicZ(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(7) )
do s = 1, SpcNum
call HistoryPut( trim(SpcWetSymbol(s))//'BasicZ', xza_MixRtBasicZ(FileXMin:FileXMax, FileZMin:FileZMax, s), gt_hist(7) )
end do
call HistoryPut( 'EffMolWtBasicZ', xz_EffMolWtBasicZ(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(7) )
end subroutine HistoryFile_Open
| Subroutine : |
ヒストリファイルの定義
subroutine HistoryFile_Open( )
!
!ヒストリファイルの定義
!
!暗黙の型宣言禁止
implicit none
!変数定義
integer :: s ! ループ添字
!-----------------------------------------------------------
! ヒストリー作成
!-----------------------------------------------------------
do s = 1, FileNum
call HistoryCreate( file = HistoryFile(s), title = exptitle, source = expsrc, institution = expinst, dims=(/'x','z','t'/), dimsizes=(/FileNX, FileNZ, 0/), longnames=(/'X-coordinate', 'Z-coordinate', 'Time '/), units=(/'m','m','s'/), origin=0.0, xtypes=(/'double', 'double', 'double'/), interval=0.0, history=gt_hist(s) )
call HistoryPut('x', s_X( FileXMin: FileXMax ), gt_hist(s) )
call HistoryPut('z', s_Z( FileZMin: FileZMax ), gt_hist(s) )
! call HistoryPut('z', xz_PressBasicZ( 1, FileZMin: FileZMax ), gt_hist(s) )
end do
!-----------------------------------------------------------
! 予報変数の出力
!-----------------------------------------------------------
!無次元圧力の擾乱
call HistoryAddVariable( varname='Exner', dims=(/'x','z','t'/), longname='disturbunce of Exner', units='1', xtype='double', history=gt_hist(1) )
!温位の擾乱
call HistoryAddVariable( varname='PotTempDist', dims=(/'x','z','t'/), longname='disturbunce of potential temperature', units='K', xtype='double', history=gt_hist(2) )
!温位
call HistoryAddVariable( varname='PotTemp', dims=(/'x','z','t'/), longname='potential temperature', units='K', xtype='double', history=gt_hist(2) )
!温度
call HistoryAddVariable( varname='Temp', dims=(/'x','z','t'/), longname='temperature', units='K', xtype='double', history=gt_hist(2) )
!水平速度
call HistoryAddVariable( varname='VelX', dims=(/'x','z','t'/), longname='zonal velocity', units='m s|-1"', xtype='double', history=gt_hist(3) )
!鉛直速度
call HistoryAddVariable( varname='VelZ', dims=(/'x','z','t'/), longname='vertical velocity', units='m s|-1"', xtype='double', history=gt_hist(4) )
!渦粘性係数(運動量)
call HistoryAddVariable( varname='Km', dims=(/'x','z','t'/), longname='turbulent diffusion coefficient', units='1', xtype='double', history=gt_hist(5) )
!渦粘性係数(熱)
call HistoryAddVariable( varname='Kh', dims=(/'x','z','t'/), longname='turbulent diffusion coefficient for heat', units='1', xtype='double', history=gt_hist(6) )
!雲密度
call HistoryAddVariable( varname='DensCloud', dims=(/'x','z','t'/), longname='density of cloud', units='kg/m^3', xtype='double', history=gt_hist(9) )
!飽和比
call HistoryAddVariable( varname='SatRatio', dims=(/'x','z','t'/), longname='saturation ratio', units='1', xtype='double', history=gt_hist(10) )
!混合比
do s = 1, SpcNum
call HistoryAddVariable( varname=trim(SpcWetSymbol(s)), dims=(/'x','z','t'/), longname=trim(SpcWetSymbol(s))//' Mixing Ratio', units='kg kg|-1"', xtype='double', history=gt_hist(10+s))
end do
!----------------------------------------------------------------
! 解析値
!----------------------------------------------------------------
call HistoryAddVariable( varname='BuoyTemp', dims=(/'z','t'/), longname='Buoyancy (Temp)', units='s|-2"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='BuoyMolWt', dims=(/'z','t'/), longname='Buoyancy (MolWt)', units='s|-2"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='BuoyDrag', dims=(/'z','t'/), longname='Buoyance (Drag)', units='s|-2"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='StabTemp', dims=(/'z','t'/), longname='Stability (Temp)', units='s|-2"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='StabMolWt', dims=(/'z','t'/), longname='Stability (MolWt)', units='s|-2"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='PotTempAdv', dims=(/'z','t'/), longname='Advection term of potential temperature', units='K day|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='PotTempTurb', dims=(/'z','t'/), longname='Turbulence term of potential temperature', units='K day|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='PotTempDisp', dims=(/'z','t'/), longname='Dissipation term of potential temperature', units='K day|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='PotTempRad', dims=(/'z','t'/), longname='Radiation term of potential temperature', units='K day|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='PotTempDiff', dims=(/'z','t'/), longname='Numerical diffusion term of potential temperature', units='K day|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='PotTempCond', dims=(/'z','t'/), longname='Latent heat term of potential temperature', units='K day|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='PotTempFlux', dims=(/'z','t'/), longname='Surface Flux term of potential temperature', units='K day|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='PotTempDamp', dims=(/'z','t'/), longname='Newtonian Cooling term of potential temperature', units='K day|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='MassTotal', dims=(/'t'/), longname='Total mass', units='kg', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='KineticEnergyTotal', dims=(/'t'/), longname='Total kinetic energy', units='J', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='CloudMassTotal', dims=(/'t'/), longname='Total cloud mass', units='kg"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='PotentialEnergyTotal', dims=(/'t'/), longname='Total potential energy', units='J', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='ElasticEnergyFOTotal', dims=(/'t'/), longname='Total elastic energy(1st)', units='J', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='ElasticEnergySOTotal', dims=(/'t'/), longname='Total elastic energy(2st)', units='J', xtype='double', history=gt_hist(8) )
!----------------------------------------------------------------
! Mixing Ratio time change
!----------------------------------------------------------------
do s = 1, SpcNum
call HistoryAddVariable( varname=trim(SpcWetSymbol(s))//'_Adv', dims=(/'z','t'/), longname='Advection term of ' //trim(SpcWetSymbol(s))//' mixing ratio', units='kg kg|-1" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname=trim(SpcWetSymbol(s))//'_Turb', dims=(/'z','t'/), longname='Turbulence term of ' //trim(SpcWetSymbol(s))//' mixing ratio', units='kg kg|-1" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname=trim(SpcWetSymbol(s))//'_Diff', dims=(/'z','t'/), longname='Diffusion term of ' //trim(SpcWetSymbol(s))//' mixing ratio', units='kg kg|-1" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname=trim(SpcWetSymbol(s))//'_Flux', dims=(/'z','t'/), longname='Surface Flux term of ' //trim(SpcWetSymbol(s))//' mixing ratio', units='kg kg|-1" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname=trim(SpcWetSymbol(s))//'_Rain', dims=(/'z','t'/), longname='Fall Rain term of ' //trim(SpcWetSymbol(s))//' mixing ratio', units='kg kg|-1" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname=trim(SpcWetSymbol(s))//'_Fill1', dims=(/'z','t'/), longname='Filling Negative term 1 of ' //trim(SpcWetSymbol(s))//' mixing ratio', units='kg kg|-1" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname=trim(SpcWetSymbol(s))//'_Fill2', dims=(/'z','t'/), longname='Filling Negative term 2 of ' //trim(SpcWetSymbol(s))//' mixing ratio', units='kg kg|-1" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname=trim(SpcWetSymbol(s))//'_Cond', dims=(/'z','t'/), longname='Condensation term of ' //trim(SpcWetSymbol(s))//' mixing ratio', units='kg kg|-1" s|-1"', xtype='double', history=gt_hist(8) )
! call HistoryAddVariable( &
! & varname=trim(SpcWetSymbol(s))//'_Asln', &
! & dims=(/'z','t'/), &
! & longname='Asselin time filter term of ' &
! & //trim(SpcWetSymbol(s))//' mixing ratio', &
! & units='kg kg|-1" s|-1"', &
! & xtype='double', &
! & history=gt_hist(8) )
end do
!-----------------------------------------------------------
! 基本場の出力
!-----------------------------------------------------------
!無次元圧力の基本場
call HistoryAddVariable( varname='ExnerBasicZ', dims=(/'x','z'/), longname='nondimensional pressure', units='1', xtype='double', history=gt_hist(7) )
!温位の基本場
call HistoryAddVariable( varname='PotTempBasicZ', dims=(/'x','z'/), longname='potential temperature', units='K', xtype='double', history=gt_hist(7) )
!仮温位の基本場
call HistoryAddVariable( varname='VPotTempBasicZ', dims=(/'x','z'/), longname='vertial potential temperature', units='K', xtype='double', history=gt_hist(7) )
!密度の基本場
call HistoryAddVariable( varname='DensBasicZ', dims=(/'x','z'/), longname='density', units='Kg/m^3', xtype='double', history=gt_hist(7) )
!音波速度の基本場
call HistoryAddVariable( varname='VelSoundBasicZ', dims=(/'x','z'/), longname='sound velocity', units='m/s|2', xtype='double', history=gt_hist(7) )
!温度の基本場
call HistoryAddVariable( varname='TempBasicZ', dims=(/'x','z'/), longname='Temperature of basic state', units='K', xtype='double', history=gt_hist(7) )
!圧力の基本場
call HistoryAddVariable( varname='PressBasicZ', dims=(/'x','z'/), longname='Pressure of basic state', units='Pa', xtype='double', history=gt_hist(7) )
!混合比の基本場
do s = 1, SpcNum
call HistoryAddVariable( varname=trim(SpcWetSymbol(s))//'BasicZ', dims=(/'x','z'/), longname=trim(SpcWetSymbol(s))//' Mixing Ratio of basic state', units='kg/kg', xtype='double', history=gt_hist(7) )
end do
!分子量効果
call HistoryAddVariable( varname='EffMolWtBasicZ', dims=(/'x','z'/), longname='Effect of Mole Weight', units='1', xtype='double', history=gt_hist(7) )
!-------------------------------------------------------------
! 基本場のファイル出力
!-------------------------------------------------------------
call HistoryPut( 'DensBasicZ', xz_DensBasicZ(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(7) )
call HistoryPut( 'ExnerBasicZ', xz_ExnerBasicZ(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(7) )
call HistoryPut( 'PotTempBasicZ', xz_PotTempBasicZ(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(7) )
call HistoryPut( 'VPotTempBasicZ', xz_PotTempBasicZ(FileXMin:FileXMax, FileZMin:FileZMax) / xz_EffMolWtBasicZ(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(7) )
call HistoryPut( 'VelSoundBasicZ', xz_VelSoundBasicZ(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(7) )
call HistoryPut( 'TempBasicZ', xz_TempBasicZ(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(7) )
call HistoryPut( 'PressBasicZ', xz_PressBasicZ(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(7) )
do s = 1, SpcNum
call HistoryPut( trim(SpcWetSymbol(s))//'BasicZ', xza_MixRtBasicZ(FileXMin:FileXMax, FileZMin:FileZMax, s), gt_hist(7) )
end do
call HistoryPut( 'EffMolWtBasicZ', xz_EffMolWtBasicZ(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(7) )
end subroutine HistoryFile_Open
| Subroutine : |
ヒストリファイルの定義
subroutine HistoryFile_Open( )
!
!ヒストリファイルの定義
!
!暗黙の型宣言禁止
implicit none
!変数定義
integer :: s ! ループ添字
!-----------------------------------------------------------
! ヒストリー作成
!-----------------------------------------------------------
do s = 1, FileNum
call HistoryCreate( file = HistoryFile(s), title = exptitle, source = expsrc, institution = expinst, dims=(/'x','z','t'/), dimsizes=(/FileNX, FileNZ, 0/), longnames=(/'X-coordinate', 'Z-coordinate', 'Time '/), units=(/'m','m','s'/), origin=0.0, xtypes=(/'double', 'double', 'double'/), interval=0.0, history=gt_hist(s) )
call HistoryPut('x', s_X( FileXMin: FileXMax ), gt_hist(s) )
call HistoryPut('z', s_Z( FileZMin: FileZMax ), gt_hist(s) )
! call HistoryPut('z', xz_PressBasicZ( 1, FileZMin: FileZMax ), gt_hist(s) )
end do
!-----------------------------------------------------------
! 予報変数の出力
!-----------------------------------------------------------
!無次元圧力の擾乱
call HistoryAddVariable( varname='Exner', dims=(/'x','z','t'/), longname='disturbunce of Exner', units='1', xtype='double', history=gt_hist(1) )
!温位の擾乱
call HistoryAddVariable( varname='PotTempDist', dims=(/'x','z','t'/), longname='disturbunce of potential temperature', units='K', xtype='double', history=gt_hist(2) )
!温位
call HistoryAddVariable( varname='PotTemp', dims=(/'x','z','t'/), longname='potential temperature', units='K', xtype='double', history=gt_hist(2) )
!温度
call HistoryAddVariable( varname='Temp', dims=(/'x','z','t'/), longname='temperature', units='K', xtype='double', history=gt_hist(2) )
!水平速度
call HistoryAddVariable( varname='VelX', dims=(/'x','z','t'/), longname='zonal velocity', units='m s|-1"', xtype='double', history=gt_hist(3) )
!鉛直速度
call HistoryAddVariable( varname='VelZ', dims=(/'x','z','t'/), longname='vertical velocity', units='m s|-1"', xtype='double', history=gt_hist(4) )
!渦粘性係数(運動量)
call HistoryAddVariable( varname='Km', dims=(/'x','z','t'/), longname='turbulent diffusion coefficient', units='1', xtype='double', history=gt_hist(5) )
!渦粘性係数(熱)
call HistoryAddVariable( varname='Kh', dims=(/'x','z','t'/), longname='turbulent diffusion coefficient for heat', units='1', xtype='double', history=gt_hist(6) )
!雲密度
call HistoryAddVariable( varname='DensCloud', dims=(/'x','z','t'/), longname='density of cloud', units='kg/m^3', xtype='double', history=gt_hist(9) )
!飽和比
call HistoryAddVariable( varname='SatRatio', dims=(/'x','z','t'/), longname='saturation ratio', units='1', xtype='double', history=gt_hist(10) )
!混合比
do s = 1, SpcNum
call HistoryAddVariable( varname=trim(SpcWetSymbol(s)), dims=(/'x','z','t'/), longname=trim(SpcWetSymbol(s))//' Mixing Ratio', units='kg kg|-1"', xtype='double', history=gt_hist(10+s))
end do
!----------------------------------------------------------------
! 解析値
!----------------------------------------------------------------
call HistoryAddVariable( varname='BuoyTemp', dims=(/'z','t'/), longname='Buoyancy (Temp)', units='s|-2"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='BuoyMolWt', dims=(/'z','t'/), longname='Buoyancy (MolWt)', units='s|-2"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='BuoyDrag', dims=(/'z','t'/), longname='Buoyancy (Drag)', units='s|-2"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='StabTemp', dims=(/'z','t'/), longname='Stability (Temp)', units='s|-2"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='StabMolWt', dims=(/'z','t'/), longname='Stability (MolWt)', units='s|-2"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='PotTempAdv', dims=(/'x','z','t'/), longname='Advection term of potential temperature', units='K day|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='PotTempTurb', dims=(/'x','z','t'/), longname='Turbulence term of potential temperature', units='K day|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='PotTempDisp', dims=(/'x','z','t'/), longname='Dissipation term of potential temperature', units='K day|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='PotTempRad', dims=(/'x','z','t'/), longname='Radiation term of potential temperature', units='K day|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='PotTempDiff', dims=(/'x','z','t'/), longname='Numerical diffusion term of potential temperature', units='K day|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='PotTempCond', dims=(/'x','z','t'/), longname='Latent heat term of potential temperature', units='K day|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='PotTempFlux', dims=(/'x','z','t'/), longname='Surface Flux term of potential temperature', units='K day|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='PotTempDamp', dims=(/'x','z','t'/), longname='Newtonian Cooling term of potential temperature', units='K day|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='DensCloudAdv', dims=(/'x','z','t'/), longname='Advection term of cloud density', units='kg m|-3" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='DensCloudTurb', dims=(/'x','z','t'/), longname='Turbulence term of cloud density', units='kg m|-3" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='DensCloudDiff', dims=(/'x','z','t'/), longname='Numerical diffusion term of cloud density', units='kg m|-3" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='DensCloudCond', dims=(/'x','z','t'/), longname='Condensation term of cloud density', units='kg m|-3" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='DensCloudFill', dims=(/'x','z','t'/), longname='Filling Negative term of cloud density', units='kg m|-3" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='MassTotal', dims=(/'t'/), longname='Total mass', units='kg', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='MassTend', dims=(/'t'/), longname='Tendency of Total mass', units='kg s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='KineticEnergyTotal', dims=(/'t'/), longname='Total kinetic energy', units='J', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='CloudMassTotal', dims=(/'t'/), longname='Total cloud mass', units='kg"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='PotentialEnergyTotal', dims=(/'t'/), longname='Total potential energy', units='J', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='ElasticEnergyFOTotal', dims=(/'t'/), longname='Total elastic energy(1st)', units='J', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname='ElasticEnergySOTotal', dims=(/'t'/), longname='Total elastic energy(2st)', units='J', xtype='double', history=gt_hist(8) )
!----------------------------------------------------------------
! Mixing Ratio time change
!----------------------------------------------------------------
do s = 1, SpcNum
call HistoryAddVariable( varname=trim(SpcWetSymbol(s))//'_Adv', dims=(/'z','t'/), longname='Advection term of ' //trim(SpcWetSymbol(s))//' mixing ratio', units='kg kg|-1" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname=trim(SpcWetSymbol(s))//'_Turb', dims=(/'z','t'/), longname='Turbulence term of ' //trim(SpcWetSymbol(s))//' mixing ratio', units='kg kg|-1" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname=trim(SpcWetSymbol(s))//'_Diff', dims=(/'z','t'/), longname='Diffusion term of ' //trim(SpcWetSymbol(s))//' mixing ratio', units='kg kg|-1" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname=trim(SpcWetSymbol(s))//'_Flux', dims=(/'z','t'/), longname='Surface Flux term of ' //trim(SpcWetSymbol(s))//' mixing ratio', units='kg kg|-1" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname=trim(SpcWetSymbol(s))//'_Rain', dims=(/'z','t'/), longname='Fall Rain term of ' //trim(SpcWetSymbol(s))//' mixing ratio', units='kg kg|-1" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname=trim(SpcWetSymbol(s))//'_Fill1', dims=(/'z','t'/), longname='Filling Negative term 1 of ' //trim(SpcWetSymbol(s))//' mixing ratio', units='kg kg|-1" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname=trim(SpcWetSymbol(s))//'_Fill2', dims=(/'z','t'/), longname='Filling Negative term 2 of ' //trim(SpcWetSymbol(s))//' mixing ratio', units='kg kg|-1" s|-1"', xtype='double', history=gt_hist(8) )
call HistoryAddVariable( varname=trim(SpcWetSymbol(s))//'_Cond', dims=(/'z','t'/), longname='Condensation term of ' //trim(SpcWetSymbol(s))//' mixing ratio', units='kg kg|-1" s|-1"', xtype='double', history=gt_hist(8) )
! call HistoryAddVariable( &
! & varname=trim(SpcWetSymbol(s))//'_Asln', &
! & dims=(/'z','t'/), &
! & longname='Asselin time filter term of ' &
! & //trim(SpcWetSymbol(s))//' mixing ratio', &
! & units='kg kg|-1" s|-1"', &
! & xtype='double', &
! & history=gt_hist(8) )
end do
!-----------------------------------------------------------
! 基本場の出力
!-----------------------------------------------------------
!無次元圧力の基本場
call HistoryAddVariable( varname='ExnerBasicZ', dims=(/'x','z'/), longname='nondimensional pressure', units='1', xtype='double', history=gt_hist(7) )
!温位の基本場
call HistoryAddVariable( varname='PotTempBasicZ', dims=(/'x','z'/), longname='potential temperature', units='K', xtype='double', history=gt_hist(7) )
!仮温位の基本場
call HistoryAddVariable( varname='VPotTempBasicZ', dims=(/'x','z'/), longname='vertial potential temperature', units='K', xtype='double', history=gt_hist(7) )
!密度の基本場
call HistoryAddVariable( varname='DensBasicZ', dims=(/'x','z'/), longname='density', units='Kg/m^3', xtype='double', history=gt_hist(7) )
!音波速度の基本場
call HistoryAddVariable( varname='VelSoundBasicZ', dims=(/'x','z'/), longname='sound velocity', units='m/s|2', xtype='double', history=gt_hist(7) )
!温度の基本場
call HistoryAddVariable( varname='TempBasicZ', dims=(/'x','z'/), longname='Temperature of basic state', units='K', xtype='double', history=gt_hist(7) )
!圧力の基本場
call HistoryAddVariable( varname='PressBasicZ', dims=(/'x','z'/), longname='Pressure of basic state', units='Pa', xtype='double', history=gt_hist(7) )
!混合比の基本場
do s = 1, SpcNum
call HistoryAddVariable( varname=trim(SpcWetSymbol(s))//'BasicZ', dims=(/'x','z'/), longname=trim(SpcWetSymbol(s))//' Mixing Ratio of basic state', units='kg/kg', xtype='double', history=gt_hist(7) )
end do
!分子量効果
call HistoryAddVariable( varname='EffMolWtBasicZ', dims=(/'x','z'/), longname='Effect of Mole Weight', units='1', xtype='double', history=gt_hist(7) )
!-------------------------------------------------------------
! 基本場のファイル出力
!-------------------------------------------------------------
call HistoryPut( 'DensBasicZ', xz_DensBasicZ(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(7) )
call HistoryPut( 'ExnerBasicZ', xz_ExnerBasicZ(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(7) )
call HistoryPut( 'PotTempBasicZ', xz_PotTempBasicZ(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(7) )
call HistoryPut( 'VPotTempBasicZ', xz_PotTempBasicZ(FileXMin:FileXMax, FileZMin:FileZMax) / xz_EffMolWtBasicZ(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(7) )
call HistoryPut( 'VelSoundBasicZ', xz_VelSoundBasicZ(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(7) )
call HistoryPut( 'TempBasicZ', xz_TempBasicZ(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(7) )
call HistoryPut( 'PressBasicZ', xz_PressBasicZ(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(7) )
do s = 1, SpcNum
call HistoryPut( trim(SpcWetSymbol(s))//'BasicZ', xza_MixRtBasicZ(FileXMin:FileXMax, FileZMin:FileZMax, s), gt_hist(7) )
end do
call HistoryPut( 'EffMolWtBasicZ', xz_EffMolWtBasicZ(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(7) )
end subroutine HistoryFile_Open
| Subroutine : | |
| Time : | real(8), intent(in) |
| xz_PotTemp(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| xz_PotTempSum(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| xz_TempSum(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| xz_Exner(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| pz_VelX(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| xr_VelZ(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| xza_MixRt(DimXMin:DimXMax, DimZMin:DimZMax, SpcNum) : | real(8), intent(in) |
| xz_Km(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| xz_Kh(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| xz_DensCloud(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| xz_DensCloudNoFillNeg(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| xz_SatRatio(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| MassTotal : | real(8), intent(in) |
| KineticEnergyTotal : | real(8), intent(in) |
| CloudMassTotal : | real(8), intent(in) |
| PotentialEnergyTotal : | real(8), intent(in) |
| ElasticEnergyFOTotal : | real(8), intent(in) |
| ElasticEnergySOTotal : | real(8), intent(in) |
予報変数のヒストリファイルへの出力. 出力時には半格子点の位置でプロット.
subroutine HistoryFile_OutPut( Time, xz_PotTemp, xz_PotTempSum, xz_TempSum, xz_Exner, pz_VelX, xr_VelZ, xza_MixRt, xz_Km, xz_Kh, xz_DensCloud, xz_DensCloudNoFillNeg, xz_SatRatio, MassTotal, KineticEnergyTotal, CloudMassTotal, PotentialEnergyTotal, ElasticEnergyFOTotal, ElasticEnergySOTotal )
!
!予報変数のヒストリファイルへの出力. 出力時には半格子点の位置でプロット.
!
!モジュール読み込み
use average, only: xz_avr_pz, xz_avr_xr
!暗黙の型宣言禁止
implicit none
!変数定義
real(8), intent(in) :: Time
real(8), intent(in) :: pz_VelX(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xr_VelZ(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xz_Exner(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xz_PotTemp(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xz_PotTempSum(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xz_TempSum(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xz_Km(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xz_DensCloud(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xz_DensCloudNoFillNeg(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xz_SatRatio(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xz_Kh(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xza_MixRt(DimXMin:DimXMax, DimZMin:DimZMax, SpcNum)
real(8), intent(in) :: MassTotal
real(8), intent(in) :: KineticEnergyTotal
real(8), intent(in) :: CloudMassTotal
real(8), intent(in) :: PotentialEnergyTotal
real(8), intent(in) :: ElasticEnergyFOTotal
real(8), intent(in) :: ElasticEnergySOTotal
real(8) :: xz_VelX(DimXMin:DimXMax, DimZMin:DimZMax)
real(8) :: xz_VelZ(DimXMin:DimXMax, DimZMin:DimZMax)
integer :: s
!----------------------------------------------------------------
! 格子点位置を変換
!----------------------------------------------------------------
xz_VelX = xz_avr_pz( pz_VelX )
xz_VelZ = xz_avr_xr( xr_VelZ )
!----------------------------------------------------------------
! 値を出力
!----------------------------------------------------------------
do s = 1, 10 + SpcNum
call HistoryPut( 't', Time, gt_hist(s) )
end do
call HistoryPut( 'Exner', xz_Exner(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(1) )
call HistoryPut( 'PotTempDist', xz_PotTemp(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(2) )
call HistoryPut( 'PotTemp', xz_PotTempSum(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(2) )
call HistoryPut( 'Temp', xz_TempSum(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(2) )
call HistoryPut( 'VelX', xz_VelX(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(3) )
call HistoryPut( 'VelZ', xz_VelZ(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(4) )
call HistoryPut( 'Km', xz_Km(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(5) )
call HistoryPut( 'Kh', xz_Kh(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(6) )
call HistoryPut( 'DensCloud', xz_DensCloud(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(9) )
call HistoryPut( 'DensCloudNoFillNeg', xz_DensCloudNoFillNeg(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(9) )
call HistoryPut( 'SatRatio', xz_SatRatio(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(10) )
do s = 1, SpcNum
call HistoryPut( trim(SpcWetSymbol(s)), xza_MixRt(FileXMin:FileXMax, FileZMin:FileZMax, s), gt_hist(10+s) )
end do
!----------------------------------------------------------------
! 解析値を出力
!----------------------------------------------------------------
call StorePotTempMeanX()
call StoreMixRtMeanX()
call StoreBuoyMeanX()
call StoreStabMeanX()
call HistoryPut( 'BuoyTemp', z_BuoyTemp(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'BuoyMolWt', z_BuoyMolWt(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'BuoyDrag', z_BuoyDrag(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'StabTemp', z_StabTemp(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'StabMolWt', z_StabMolWt(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'PotTempAdv', z_Adv(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'PotTempTurb', z_Turb(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'PotTempDisp', z_Disp(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'PotTempDiff', z_Diff(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'PotTempRad', z_Rad(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'PotTempCond', z_Cond(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'PotTempFlux', z_Flux(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'PotTempDamp', z_Damp(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'MassTotal', MassTotal, gt_hist(8) )
call HistoryPut( 'KineticEnergyTotal', KineticEnergyTotal, gt_hist(8) )
call HistoryPut( 'CloudMassTotal', CloudMassTotal, gt_hist(8) )
call HistoryPut( 'PotentialEnergyTotal', PotentialEnergyTotal, gt_hist(8) )
call HistoryPut( 'ElasticEnergyFOTotal', ElasticEnergyFOTotal, gt_hist(8) )
call HistoryPut( 'ElasticEnergySOTotal', ElasticEnergySOTotal, gt_hist(8) )
do s = 1, SpcNum
call HistoryPut( trim(SpcWetSymbol(s))//'_Adv', za_Adv(FileZMin:FileZMax, s), gt_hist(8) )
call HistoryPut( trim(SpcWetSymbol(s))//'_Turb', za_Turb(FileZMin:FileZMax, s), gt_hist(8) )
call HistoryPut( trim(SpcWetSymbol(s))//'_Diff', za_Diff(FileZMin:FileZMax, s), gt_hist(8) )
call HistoryPut( trim(SpcWetSymbol(s))//'_Flux', za_Flux(FileZMin:FileZMax, s), gt_hist(8) )
call HistoryPut( trim(SpcWetSymbol(s))//'_Rain', za_Rain(FileZMin:FileZMax, s), gt_hist(8) )
call HistoryPut( trim(SpcWetSymbol(s))//'_Fill1', za_Fill1(FileZMin:FileZMax, s), gt_hist(8) )
call HistoryPut( trim(SpcWetSymbol(s))//'_Fill2', za_Fill2(FileZMin:FileZMax, s), gt_hist(8) )
call HistoryPut( trim(SpcWetSymbol(s))//'_Cond', za_cond(FileZMin:FileZMax, s), gt_hist(8) )
! call HistoryPut( &
! & trim(SpcWetSymbol(s))//'_Asln', &
! & za_Asln(FileZMin:FileZMax, s), &
! & gt_hist(8) )
end do
end subroutine HistoryFile_OutPut
| Subroutine : | |
| Time : | real(8), intent(in) |
| xz_PotTemp(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| xz_PotTempSum(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| xz_TempSum(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| xz_Exner(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| pz_VelX(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| xr_VelZ(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| xza_MixRt(DimXMin:DimXMax, DimZMin:DimZMax, SpcNum) : | real(8), intent(in) |
| xz_Km(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| xz_Kh(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| xz_DensCloud(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| xz_DensCloudNoFillNeg(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| xz_SatRatio(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| MassTotal : | real(8), intent(in) |
| MassTotal01 : | real(8), intent(in) |
| MassTotal02 : | real(8), intent(in) |
| MassTotal03 : | real(8), intent(in) |
| MassTend : | real(8), intent(in) |
| KineticEnergyTotal : | real(8), intent(in) |
| CloudMassTotal : | real(8), intent(in) |
| CloudMassTotal01 : | real(8), intent(in) |
| CloudMassTotal02 : | real(8), intent(in) |
| PotentialEnergyTotal : | real(8), intent(in) |
| ElasticEnergyFOTotal : | real(8), intent(in) |
| ElasticEnergySOTotal : | real(8), intent(in) |
予報変数のヒストリファイルへの出力. 出力時には半格子点の位置でプロット.
subroutine HistoryFile_OutPut( Time, xz_PotTemp, xz_PotTempSum, xz_TempSum, xz_Exner, pz_VelX, xr_VelZ, xza_MixRt, xz_Km, xz_Kh, xz_DensCloud, xz_DensCloudNoFillNeg, xz_SatRatio, MassTotal, MassTotal01, MassTotal02, MassTotal03, MassTend, KineticEnergyTotal, CloudMassTotal, CloudMassTotal01, CloudMassTotal02, PotentialEnergyTotal, ElasticEnergyFOTotal, ElasticEnergySOTotal )
!
!予報変数のヒストリファイルへの出力. 出力時には半格子点の位置でプロット.
!
!モジュール読み込み
use average, only: xz_avr_pz, xz_avr_xr
!暗黙の型宣言禁止
implicit none
!変数定義
real(8), intent(in) :: Time
real(8), intent(in) :: pz_VelX(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xr_VelZ(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xz_Exner(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xz_PotTemp(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xz_PotTempSum(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xz_TempSum(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xz_Km(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xz_DensCloud(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xz_DensCloudNoFillNeg(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xz_SatRatio(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xz_Kh(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xza_MixRt(DimXMin:DimXMax, DimZMin:DimZMax, SpcNum)
real(8), intent(in) :: MassTotal
real(8), intent(in) :: MassTotal01
real(8), intent(in) :: MassTotal02
real(8), intent(in) :: MassTotal03
real(8), intent(in) :: MassTend
real(8), intent(in) :: KineticEnergyTotal
real(8), intent(in) :: CloudMassTotal
real(8), intent(in) :: CloudMassTotal01
real(8), intent(in) :: CloudMassTotal02
real(8), intent(in) :: PotentialEnergyTotal
real(8), intent(in) :: ElasticEnergyFOTotal
real(8), intent(in) :: ElasticEnergySOTotal
real(8) :: xz_VelX(DimXMin:DimXMax, DimZMin:DimZMax)
real(8) :: xz_VelZ(DimXMin:DimXMax, DimZMin:DimZMax)
integer :: s
!----------------------------------------------------------------
! 格子点位置を変換
!----------------------------------------------------------------
xz_VelX = xz_avr_pz( pz_VelX )
xz_VelZ = xz_avr_xr( xr_VelZ )
!----------------------------------------------------------------
! 値を出力
!----------------------------------------------------------------
do s = 1, 10 + SpcNum
call HistoryPut( 't', Time, gt_hist(s) )
end do
call HistoryPut( 'Exner', xz_Exner(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(1) )
call HistoryPut( 'PotTempDist', xz_PotTemp(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(2) )
call HistoryPut( 'PotTemp', xz_PotTempSum(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(2) )
call HistoryPut( 'Temp', xz_TempSum(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(2) )
call HistoryPut( 'VelX', xz_VelX(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(3) )
call HistoryPut( 'VelZ', xz_VelZ(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(4) )
call HistoryPut( 'Km', xz_Km(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(5) )
call HistoryPut( 'Kh', xz_Kh(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(6) )
call HistoryPut( 'DensCloud', xz_DensCloud(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(9) )
call HistoryPut( 'DensCloudNoFillNeg', xz_DensCloudNoFillNeg(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(9) )
call HistoryPut( 'SatRatio', xz_SatRatio(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(10) )
do s = 1, SpcNum
call HistoryPut( trim(SpcWetSymbol(s)), xza_MixRt(FileXMin:FileXMax, FileZMin:FileZMax, s), gt_hist(10+s) )
end do
!----------------------------------------------------------------
! 解析値を出力
!----------------------------------------------------------------
call StorePotTempMeanX()
call StoreMixRtMeanX()
call StoreBuoyMeanX()
call StoreStabMeanX()
call HistoryPut( 'BuoyTemp', z_BuoyTemp(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'BuoyMolWt', z_BuoyMolWt(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'BuoyDrag', z_BuoyDrag(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'StabTemp', z_StabTemp(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'StabMolWt', z_StabMolWt(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'PotTempAdv', z_Adv(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'PotTempTurb', z_Turb(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'PotTempDisp', z_Disp(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'PotTempDiff', z_Diff(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'PotTempRad', z_Rad(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'PotTempCond', z_Cond(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'PotTempFlux', z_Flux(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'PotTempDamp', z_Damp(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'MassTotal', MassTotal, gt_hist(8) )
call HistoryPut( 'MassTotal01', MassTotal01, gt_hist(8) )
call HistoryPut( 'MassTotal02', MassTotal02, gt_hist(8) )
call HistoryPut( 'MassTotal03', MassTotal03, gt_hist(8) )
call HistoryPut( 'MassTend', MassTend, gt_hist(8) )
call HistoryPut( 'KineticEnergyTotal', KineticEnergyTotal, gt_hist(8) )
call HistoryPut( 'CloudMassTotal', CloudMassTotal, gt_hist(8) )
call HistoryPut( 'CloudMassTotal01', CloudMassTotal01, gt_hist(8) )
call HistoryPut( 'CloudMassTotal02', CloudMassTotal02, gt_hist(8) )
call HistoryPut( 'PotentialEnergyTotal', PotentialEnergyTotal, gt_hist(8) )
call HistoryPut( 'ElasticEnergyFOTotal', ElasticEnergyFOTotal, gt_hist(8) )
call HistoryPut( 'ElasticEnergySOTotal', ElasticEnergySOTotal, gt_hist(8) )
do s = 1, SpcNum
call HistoryPut( trim(SpcWetSymbol(s))//'_Adv', za_Adv(FileZMin:FileZMax, s), gt_hist(8) )
call HistoryPut( trim(SpcWetSymbol(s))//'_Turb', za_Turb(FileZMin:FileZMax, s), gt_hist(8) )
call HistoryPut( trim(SpcWetSymbol(s))//'_Diff', za_Diff(FileZMin:FileZMax, s), gt_hist(8) )
call HistoryPut( trim(SpcWetSymbol(s))//'_Flux', za_Flux(FileZMin:FileZMax, s), gt_hist(8) )
call HistoryPut( trim(SpcWetSymbol(s))//'_Rain', za_Rain(FileZMin:FileZMax, s), gt_hist(8) )
call HistoryPut( trim(SpcWetSymbol(s))//'_Fill1', za_Fill1(FileZMin:FileZMax, s), gt_hist(8) )
call HistoryPut( trim(SpcWetSymbol(s))//'_Fill2', za_Fill2(FileZMin:FileZMax, s), gt_hist(8) )
call HistoryPut( trim(SpcWetSymbol(s))//'_Cond', za_cond(FileZMin:FileZMax, s), gt_hist(8) )
! call HistoryPut( &
! & trim(SpcWetSymbol(s))//'_Asln', &
! & za_Asln(FileZMin:FileZMax, s), &
! & gt_hist(8) )
end do
end subroutine HistoryFile_OutPut
| Subroutine : | |
| Time : | real(8), intent(in) |
| xz_PotTemp(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| xz_PotTempSum(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| xz_TempSum(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| xz_Exner(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| pz_VelX(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| xr_VelZ(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| xza_MixRt(DimXMin:DimXMax, DimZMin:DimZMax, SpcNum) : | real(8), intent(in) |
| xz_Km(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| xz_Kh(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| xz_DensCloud(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| xz_SatRatio(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
予報変数のヒストリファイルへの出力. 出力時には半格子点の位置でプロット.
subroutine HistoryFile_OutPut( Time, xz_PotTemp, xz_PotTempSum, xz_TempSum, xz_Exner, pz_VelX, xr_VelZ, xza_MixRt, xz_Km, xz_Kh, xz_DensCloud, xz_SatRatio )
!
!予報変数のヒストリファイルへの出力. 出力時には半格子点の位置でプロット.
!
!モジュール読み込み
use average, only: xz_avr_pz, xz_avr_xr
!暗黙の型宣言禁止
implicit none
!変数定義
real(8), intent(in) :: Time
real(8), intent(in) :: pz_VelX(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xr_VelZ(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xz_Exner(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xz_PotTemp(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xz_PotTempSum(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xz_TempSum(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xz_Km(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xz_DensCloud(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xz_SatRatio(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xz_Kh(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xza_MixRt(DimXMin:DimXMax, DimZMin:DimZMax, SpcNum)
real(8) :: xz_VelX(DimXMin:DimXMax, DimZMin:DimZMax)
real(8) :: xz_VelZ(DimXMin:DimXMax, DimZMin:DimZMax)
integer :: s
!----------------------------------------------------------------
! 格子点位置を変換
!----------------------------------------------------------------
xz_VelX = xz_avr_pz( pz_VelX )
xz_VelZ = xz_avr_xr( xr_VelZ )
!----------------------------------------------------------------
! 値を出力
!----------------------------------------------------------------
do s = 1, 10 + SpcNum
call HistoryPut( 't', Time, gt_hist(s) )
end do
call HistoryPut( 'Exner', xz_Exner(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(1) )
call HistoryPut( 'PotTempDist', xz_PotTemp(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(2) )
call HistoryPut( 'PotTemp', xz_PotTempSum(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(2) )
call HistoryPut( 'Temp', xz_TempSum(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(2) )
call HistoryPut( 'VelX', xz_VelX(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(3) )
call HistoryPut( 'VelZ', xz_VelZ(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(4) )
call HistoryPut( 'Km', xz_Km(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(5) )
call HistoryPut( 'Kh', xz_Kh(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(6) )
call HistoryPut( 'DensCloud', xz_DensCloud(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(9) )
call HistoryPut( 'SatRatio', xz_SatRatio(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(10) )
do s = 1, SpcNum
call HistoryPut( trim(SpcWetSymbol(s)), xza_MixRt(FileXMin:FileXMax, FileZMin:FileZMax, s), gt_hist(10+s) )
end do
!----------------------------------------------------------------
! 解析値を出力
!----------------------------------------------------------------
call StorePotTempMeanX()
call StoreMixRtMeanX()
call StoreBuoyMeanX()
call StoreStabMeanX()
call HistoryPut( 'BuoyTemp', z_BuoyTemp(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'BuoyMolWt', z_BuoyMolWt(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'BuoyDrag', z_BuoyDrag(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'StabTemp', z_StabTemp(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'StabMolWt', z_StabMolWt(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'PotTempAdv', z_Adv(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'PotTempTurb', z_Turb(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'PotTempDisp', z_Disp(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'PotTempDiff', z_Diff(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'PotTempRad', z_Rad(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'PotTempCond', z_Cond(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'PotTempFlux', z_Flux(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'PotTempDamp', z_Damp(FileZMin:FileZMax), gt_hist(8) )
do s = 1, SpcNum
call HistoryPut( trim(SpcWetSymbol(s))//'_Adv', za_Adv(FileZMin:FileZMax, s), gt_hist(8) )
call HistoryPut( trim(SpcWetSymbol(s))//'_Turb', za_Turb(FileZMin:FileZMax, s), gt_hist(8) )
call HistoryPut( trim(SpcWetSymbol(s))//'_Diff', za_Diff(FileZMin:FileZMax, s), gt_hist(8) )
call HistoryPut( trim(SpcWetSymbol(s))//'_Flux', za_Flux(FileZMin:FileZMax, s), gt_hist(8) )
call HistoryPut( trim(SpcWetSymbol(s))//'_Rain', za_Rain(FileZMin:FileZMax, s), gt_hist(8) )
call HistoryPut( trim(SpcWetSymbol(s))//'_Fill1', za_Fill1(FileZMin:FileZMax, s), gt_hist(8) )
call HistoryPut( trim(SpcWetSymbol(s))//'_Fill2', za_Fill2(FileZMin:FileZMax, s), gt_hist(8) )
call HistoryPut( trim(SpcWetSymbol(s))//'_Cond', za_cond(FileZMin:FileZMax, s), gt_hist(8) )
! call HistoryPut( &
! & trim(SpcWetSymbol(s))//'_Asln', &
! & za_Asln(FileZMin:FileZMax, s), &
! & gt_hist(8) )
end do
end subroutine HistoryFile_OutPut
| Subroutine : | |
| Time : | real(8), intent(in) |
| xz_PotTemp(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| xz_PotTempSum(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| xz_TempSum(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| xz_Exner(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| pz_VelX(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| xr_VelZ(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| xza_MixRt(DimXMin:DimXMax, DimZMin:DimZMax, SpcNum) : | real(8), intent(in) |
| xz_Km(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| xz_Kh(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| xz_DensCloud(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| xz_SatRatio(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| MassTotal : | real(8), intent(in) |
| KineticEnergyTotal : | real(8), intent(in) |
| CloudMassTotal : | real(8), intent(in) |
予報変数のヒストリファイルへの出力. 出力時には半格子点の位置でプロット.
subroutine HistoryFile_OutPut( Time, xz_PotTemp, xz_PotTempSum, xz_TempSum, xz_Exner, pz_VelX, xr_VelZ, xza_MixRt, xz_Km, xz_Kh, xz_DensCloud, xz_SatRatio, MassTotal, KineticEnergyTotal, CloudMassTotal )
!
!予報変数のヒストリファイルへの出力. 出力時には半格子点の位置でプロット.
!
!モジュール読み込み
use average, only: xz_avr_pz, xz_avr_xr
!暗黙の型宣言禁止
implicit none
!変数定義
real(8), intent(in) :: Time
real(8), intent(in) :: pz_VelX(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xr_VelZ(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xz_Exner(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xz_PotTemp(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xz_PotTempSum(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xz_TempSum(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xz_Km(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xz_DensCloud(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xz_SatRatio(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xz_Kh(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xza_MixRt(DimXMin:DimXMax, DimZMin:DimZMax, SpcNum)
real(8), intent(in) :: MassTotal
real(8), intent(in) :: KineticEnergyTotal
real(8), intent(in) :: CloudMassTotal
real(8) :: xz_VelX(DimXMin:DimXMax, DimZMin:DimZMax)
real(8) :: xz_VelZ(DimXMin:DimXMax, DimZMin:DimZMax)
integer :: s
!----------------------------------------------------------------
! 格子点位置を変換
!----------------------------------------------------------------
xz_VelX = xz_avr_pz( pz_VelX )
xz_VelZ = xz_avr_xr( xr_VelZ )
!----------------------------------------------------------------
! 値を出力
!----------------------------------------------------------------
do s = 1, 10 + SpcNum
call HistoryPut( 't', Time, gt_hist(s) )
end do
call HistoryPut( 'Exner', xz_Exner(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(1) )
call HistoryPut( 'PotTempDist', xz_PotTemp(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(2) )
call HistoryPut( 'PotTemp', xz_PotTempSum(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(2) )
call HistoryPut( 'Temp', xz_TempSum(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(2) )
call HistoryPut( 'VelX', xz_VelX(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(3) )
call HistoryPut( 'VelZ', xz_VelZ(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(4) )
call HistoryPut( 'Km', xz_Km(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(5) )
call HistoryPut( 'Kh', xz_Kh(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(6) )
call HistoryPut( 'DensCloud', xz_DensCloud(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(9) )
call HistoryPut( 'SatRatio', xz_SatRatio(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(10) )
do s = 1, SpcNum
call HistoryPut( trim(SpcWetSymbol(s)), xza_MixRt(FileXMin:FileXMax, FileZMin:FileZMax, s), gt_hist(10+s) )
end do
!----------------------------------------------------------------
! 解析値を出力
!----------------------------------------------------------------
call StorePotTempMeanX()
call StoreMixRtMeanX()
call StoreBuoyMeanX()
call StoreStabMeanX()
call HistoryPut( 'BuoyTemp', z_BuoyTemp(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'BuoyMolWt', z_BuoyMolWt(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'BuoyDrag', z_BuoyDrag(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'StabTemp', z_StabTemp(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'StabMolWt', z_StabMolWt(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'PotTempAdv', z_Adv(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'PotTempTurb', z_Turb(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'PotTempDisp', z_Disp(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'PotTempDiff', z_Diff(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'PotTempRad', z_Rad(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'PotTempCond', z_Cond(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'PotTempFlux', z_Flux(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'PotTempDamp', z_Damp(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'MassTotal', MassTotal, gt_hist(8) )
call HistoryPut( 'KineticEnergyTotal', KineticEnergyTotal, gt_hist(8) )
call HistoryPut( 'CloudMassTotal', CloudMassTotal, gt_hist(8) )
do s = 1, SpcNum
call HistoryPut( trim(SpcWetSymbol(s))//'_Adv', za_Adv(FileZMin:FileZMax, s), gt_hist(8) )
call HistoryPut( trim(SpcWetSymbol(s))//'_Turb', za_Turb(FileZMin:FileZMax, s), gt_hist(8) )
call HistoryPut( trim(SpcWetSymbol(s))//'_Diff', za_Diff(FileZMin:FileZMax, s), gt_hist(8) )
call HistoryPut( trim(SpcWetSymbol(s))//'_Flux', za_Flux(FileZMin:FileZMax, s), gt_hist(8) )
call HistoryPut( trim(SpcWetSymbol(s))//'_Rain', za_Rain(FileZMin:FileZMax, s), gt_hist(8) )
call HistoryPut( trim(SpcWetSymbol(s))//'_Fill1', za_Fill1(FileZMin:FileZMax, s), gt_hist(8) )
call HistoryPut( trim(SpcWetSymbol(s))//'_Fill2', za_Fill2(FileZMin:FileZMax, s), gt_hist(8) )
call HistoryPut( trim(SpcWetSymbol(s))//'_Cond', za_cond(FileZMin:FileZMax, s), gt_hist(8) )
! call HistoryPut( &
! & trim(SpcWetSymbol(s))//'_Asln', &
! & za_Asln(FileZMin:FileZMax, s), &
! & gt_hist(8) )
end do
end subroutine HistoryFile_OutPut
| Subroutine : | |
| Time : | real(8), intent(in) |
| xz_PotTemp(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| xz_PotTempSum(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| xz_TempSum(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| xz_Exner(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| pz_VelX(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| xr_VelZ(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| xza_MixRt(DimXMin:DimXMax, DimZMin:DimZMax, SpcNum) : | real(8), intent(in) |
| xz_Km(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| xz_Kh(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| xz_DensCloud(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| xz_SatRatio(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| MassTotal : | real(8), intent(in) |
| KineticEnergyTotal : | real(8), intent(in) |
| CloudMassTotal : | real(8), intent(in) |
| PotentialEnergyTotal : | real(8), intent(in) |
| ElasticEnergyFOTotal : | real(8), intent(in) |
| ElasticEnergySOTotal : | real(8), intent(in) |
予報変数のヒストリファイルへの出力. 出力時には半格子点の位置でプロット.
subroutine HistoryFile_OutPut( Time, xz_PotTemp, xz_PotTempSum, xz_TempSum, xz_Exner, pz_VelX, xr_VelZ, xza_MixRt, xz_Km, xz_Kh, xz_DensCloud, xz_SatRatio, MassTotal, KineticEnergyTotal, CloudMassTotal, PotentialEnergyTotal, ElasticEnergyFOTotal, ElasticEnergySOTotal )
!
!予報変数のヒストリファイルへの出力. 出力時には半格子点の位置でプロット.
!
!モジュール読み込み
use average, only: xz_avr_pz, xz_avr_xr
!暗黙の型宣言禁止
implicit none
!変数定義
real(8), intent(in) :: Time
real(8), intent(in) :: pz_VelX(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xr_VelZ(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xz_Exner(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xz_PotTemp(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xz_PotTempSum(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xz_TempSum(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xz_Km(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xz_DensCloud(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xz_SatRatio(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xz_Kh(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xza_MixRt(DimXMin:DimXMax, DimZMin:DimZMax, SpcNum)
real(8), intent(in) :: MassTotal
real(8), intent(in) :: KineticEnergyTotal
real(8), intent(in) :: CloudMassTotal
real(8), intent(in) :: PotentialEnergyTotal
real(8), intent(in) :: ElasticEnergyFOTotal
real(8), intent(in) :: ElasticEnergySOTotal
real(8) :: xz_VelX(DimXMin:DimXMax, DimZMin:DimZMax)
real(8) :: xz_VelZ(DimXMin:DimXMax, DimZMin:DimZMax)
integer :: s
!----------------------------------------------------------------
! 格子点位置を変換
!----------------------------------------------------------------
xz_VelX = xz_avr_pz( pz_VelX )
xz_VelZ = xz_avr_xr( xr_VelZ )
!----------------------------------------------------------------
! 値を出力
!----------------------------------------------------------------
do s = 1, 10 + SpcNum
call HistoryPut( 't', Time, gt_hist(s) )
end do
call HistoryPut( 'Exner', xz_Exner(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(1) )
call HistoryPut( 'PotTempDist', xz_PotTemp(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(2) )
call HistoryPut( 'PotTemp', xz_PotTempSum(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(2) )
call HistoryPut( 'Temp', xz_TempSum(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(2) )
call HistoryPut( 'VelX', xz_VelX(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(3) )
call HistoryPut( 'VelZ', xz_VelZ(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(4) )
call HistoryPut( 'Km', xz_Km(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(5) )
call HistoryPut( 'Kh', xz_Kh(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(6) )
call HistoryPut( 'DensCloud', xz_DensCloud(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(9) )
call HistoryPut( 'SatRatio', xz_SatRatio(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(10) )
do s = 1, SpcNum
call HistoryPut( trim(SpcWetSymbol(s)), xza_MixRt(FileXMin:FileXMax, FileZMin:FileZMax, s), gt_hist(10+s) )
end do
!----------------------------------------------------------------
! 解析値を出力
!----------------------------------------------------------------
call StorePotTempMeanX()
call StoreMixRtMeanX()
call StoreBuoyMeanX()
call StoreStabMeanX()
call HistoryPut( 'BuoyTemp', z_BuoyTemp(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'BuoyMolWt', z_BuoyMolWt(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'BuoyDrag', z_BuoyDrag(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'StabTemp', z_StabTemp(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'StabMolWt', z_StabMolWt(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'PotTempAdv', z_Adv(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'PotTempTurb', z_Turb(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'PotTempDisp', z_Disp(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'PotTempDiff', z_Diff(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'PotTempRad', z_Rad(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'PotTempCond', z_Cond(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'PotTempFlux', z_Flux(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'PotTempDamp', z_Damp(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'MassTotal', MassTotal, gt_hist(8) )
call HistoryPut( 'KineticEnergyTotal', KineticEnergyTotal, gt_hist(8) )
call HistoryPut( 'CloudMassTotal', CloudMassTotal, gt_hist(8) )
call HistoryPut( 'PotentialEnergyTotal', PotentialEnergyTotal, gt_hist(8) )
call HistoryPut( 'ElasticEnergyFOTotal', ElasticEnergyFOTotal, gt_hist(8) )
call HistoryPut( 'ElasticEnergySOTotal', ElasticEnergySOTotal, gt_hist(8) )
do s = 1, SpcNum
call HistoryPut( trim(SpcWetSymbol(s))//'_Adv', za_Adv(FileZMin:FileZMax, s), gt_hist(8) )
call HistoryPut( trim(SpcWetSymbol(s))//'_Turb', za_Turb(FileZMin:FileZMax, s), gt_hist(8) )
call HistoryPut( trim(SpcWetSymbol(s))//'_Diff', za_Diff(FileZMin:FileZMax, s), gt_hist(8) )
call HistoryPut( trim(SpcWetSymbol(s))//'_Flux', za_Flux(FileZMin:FileZMax, s), gt_hist(8) )
call HistoryPut( trim(SpcWetSymbol(s))//'_Rain', za_Rain(FileZMin:FileZMax, s), gt_hist(8) )
call HistoryPut( trim(SpcWetSymbol(s))//'_Fill1', za_Fill1(FileZMin:FileZMax, s), gt_hist(8) )
call HistoryPut( trim(SpcWetSymbol(s))//'_Fill2', za_Fill2(FileZMin:FileZMax, s), gt_hist(8) )
call HistoryPut( trim(SpcWetSymbol(s))//'_Cond', za_cond(FileZMin:FileZMax, s), gt_hist(8) )
! call HistoryPut( &
! & trim(SpcWetSymbol(s))//'_Asln', &
! & za_Asln(FileZMin:FileZMax, s), &
! & gt_hist(8) )
end do
end subroutine HistoryFile_OutPut
| Subroutine : | |
| Time : | real(8), intent(in) |
| xz_PotTemp(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| xz_PotTempSum(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| xz_TempSum(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| xz_Exner(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| pz_VelX(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| xr_VelZ(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| xza_MixRt(DimXMin:DimXMax, DimZMin:DimZMax, SpcNum) : | real(8), intent(in) |
| xz_Km(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| xz_Kh(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| xz_DensCloud(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| xz_SatRatio(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| MassTotal : | real(8), intent(in) |
| MassTend : | real(8), intent(in) |
| KineticEnergyTotal : | real(8), intent(in) |
| CloudMassTotal : | real(8), intent(in) |
| PotentialEnergyTotal : | real(8), intent(in) |
| ElasticEnergyFOTotal : | real(8), intent(in) |
| ElasticEnergySOTotal : | real(8), intent(in) |
予報変数のヒストリファイルへの出力. 出力時には半格子点の位置でプロット.
subroutine HistoryFile_OutPut( Time, xz_PotTemp, xz_PotTempSum, xz_TempSum, xz_Exner, pz_VelX, xr_VelZ, xza_MixRt, xz_Km, xz_Kh, xz_DensCloud, xz_SatRatio, MassTotal, MassTend, KineticEnergyTotal, CloudMassTotal, PotentialEnergyTotal, ElasticEnergyFOTotal, ElasticEnergySOTotal )
!
!予報変数のヒストリファイルへの出力. 出力時には半格子点の位置でプロット.
!
!モジュール読み込み
use average, only: xz_avr_pz, xz_avr_xr
!暗黙の型宣言禁止
implicit none
!変数定義
real(8), intent(in) :: Time
real(8), intent(in) :: pz_VelX(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xr_VelZ(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xz_Exner(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xz_PotTemp(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xz_PotTempSum(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xz_TempSum(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xz_Km(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xz_DensCloud(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xz_SatRatio(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xz_Kh(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xza_MixRt(DimXMin:DimXMax, DimZMin:DimZMax, SpcNum)
real(8), intent(in) :: MassTotal
real(8), intent(in) :: MassTend
real(8), intent(in) :: KineticEnergyTotal
real(8), intent(in) :: CloudMassTotal
real(8), intent(in) :: PotentialEnergyTotal
real(8), intent(in) :: ElasticEnergyFOTotal
real(8), intent(in) :: ElasticEnergySOTotal
real(8) :: xz_VelX(DimXMin:DimXMax, DimZMin:DimZMax)
real(8) :: xz_VelZ(DimXMin:DimXMax, DimZMin:DimZMax)
integer :: s
!----------------------------------------------------------------
! 格子点位置を変換
!----------------------------------------------------------------
xz_VelX = xz_avr_pz( pz_VelX )
xz_VelZ = xz_avr_xr( xr_VelZ )
!----------------------------------------------------------------
! 値を出力
!----------------------------------------------------------------
do s = 1, 10 + SpcNum
call HistoryPut( 't', Time, gt_hist(s) )
end do
call HistoryPut( 'Exner', xz_Exner(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(1) )
call HistoryPut( 'PotTempDist', xz_PotTemp(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(2) )
call HistoryPut( 'PotTemp', xz_PotTempSum(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(2) )
call HistoryPut( 'Temp', xz_TempSum(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(2) )
call HistoryPut( 'VelX', xz_VelX(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(3) )
call HistoryPut( 'VelZ', xz_VelZ(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(4) )
call HistoryPut( 'Km', xz_Km(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(5) )
call HistoryPut( 'Kh', xz_Kh(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(6) )
call HistoryPut( 'DensCloud', xz_DensCloud(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(9) )
call HistoryPut( 'SatRatio', xz_SatRatio(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(10) )
do s = 1, SpcNum
call HistoryPut( trim(SpcWetSymbol(s)), xza_MixRt(FileXMin:FileXMax, FileZMin:FileZMax, s), gt_hist(10+s) )
end do
!----------------------------------------------------------------
! 解析値を出力
!----------------------------------------------------------------
call StoreDensCloudMeanX()
call StorePotTempMeanX()
call StoreMixRtMeanX()
call StoreBuoyMeanX()
call StoreStabMeanX()
call HistoryPut( 'BuoyTemp', z_BuoyTemp(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'BuoyMolWt', z_BuoyMolWt(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'BuoyDrag', z_BuoyDrag(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'StabTemp', z_StabTemp(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'StabMolWt', z_StabMolWt(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'PotTempAdv', z_Adv(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'PotTempTurb', z_Turb(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'PotTempDisp', z_Disp(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'PotTempDiff', z_Diff(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'PotTempRad', z_Rad(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'PotTempCond', z_Cond(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'PotTempFlux', z_Flux(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'PotTempDamp', z_Damp(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'DensCloudAdv', z_DensCloudAdv(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'DensCloudTurb', z_DensCloudTurb(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'DensCloudDiff', z_DensCloudDiff(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'DensCloudCond', z_DensCloudCond(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'DensCloudFill', z_DensCloudFill(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'MassTotal', MassTotal, gt_hist(8) )
call HistoryPut( 'MassTend', MassTend, gt_hist(8) )
call HistoryPut( 'KineticEnergyTotal', KineticEnergyTotal, gt_hist(8) )
call HistoryPut( 'CloudMassTotal', CloudMassTotal, gt_hist(8) )
call HistoryPut( 'PotentialEnergyTotal', PotentialEnergyTotal, gt_hist(8) )
call HistoryPut( 'ElasticEnergyFOTotal', ElasticEnergyFOTotal, gt_hist(8) )
call HistoryPut( 'ElasticEnergySOTotal', ElasticEnergySOTotal, gt_hist(8) )
do s = 1, SpcNum
call HistoryPut( trim(SpcWetSymbol(s))//'_Adv', za_Adv(FileZMin:FileZMax, s), gt_hist(8) )
call HistoryPut( trim(SpcWetSymbol(s))//'_Turb', za_Turb(FileZMin:FileZMax, s), gt_hist(8) )
call HistoryPut( trim(SpcWetSymbol(s))//'_Diff', za_Diff(FileZMin:FileZMax, s), gt_hist(8) )
call HistoryPut( trim(SpcWetSymbol(s))//'_Flux', za_Flux(FileZMin:FileZMax, s), gt_hist(8) )
call HistoryPut( trim(SpcWetSymbol(s))//'_Rain', za_Rain(FileZMin:FileZMax, s), gt_hist(8) )
call HistoryPut( trim(SpcWetSymbol(s))//'_Fill1', za_Fill1(FileZMin:FileZMax, s), gt_hist(8) )
call HistoryPut( trim(SpcWetSymbol(s))//'_Fill2', za_Fill2(FileZMin:FileZMax, s), gt_hist(8) )
call HistoryPut( trim(SpcWetSymbol(s))//'_Cond', za_cond(FileZMin:FileZMax, s), gt_hist(8) )
! call HistoryPut( &
! & trim(SpcWetSymbol(s))//'_Asln', &
! & za_Asln(FileZMin:FileZMax, s), &
! & gt_hist(8) )
end do
end subroutine HistoryFile_OutPut
| Subroutine : | |
| Time : | real(8), intent(in) |
| xz_PotTemp(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| xz_PotTempSum(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| xz_TempSum(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| xz_Exner(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| pz_VelX(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| xr_VelZ(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| xza_MixRt(DimXMin:DimXMax, DimZMin:DimZMax, SpcNum) : | real(8), intent(in) |
| xz_Km(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| xz_Kh(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| xz_DensCloud(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| xz_SatRatio(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| MassTotal : | real(8), intent(in) |
| MassTend : | real(8), intent(in) |
| KineticEnergyTotal : | real(8), intent(in) |
| CloudMassTotal : | real(8), intent(in) |
| PotentialEnergyTotal : | real(8), intent(in) |
| ElasticEnergyFOTotal : | real(8), intent(in) |
| ElasticEnergySOTotal : | real(8), intent(in) |
予報変数のヒストリファイルへの出力. 出力時には半格子点の位置でプロット.
subroutine HistoryFile_OutPut( Time, xz_PotTemp, xz_PotTempSum, xz_TempSum, xz_Exner, pz_VelX, xr_VelZ, xza_MixRt, xz_Km, xz_Kh, xz_DensCloud, xz_SatRatio, MassTotal, MassTend, KineticEnergyTotal, CloudMassTotal, PotentialEnergyTotal, ElasticEnergyFOTotal, ElasticEnergySOTotal )
!
!予報変数のヒストリファイルへの出力. 出力時には半格子点の位置でプロット.
!
!モジュール読み込み
use average, only: xz_avr_pz, xz_avr_xr
!暗黙の型宣言禁止
implicit none
!変数定義
real(8), intent(in) :: Time
real(8), intent(in) :: pz_VelX(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xr_VelZ(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xz_Exner(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xz_PotTemp(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xz_PotTempSum(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xz_TempSum(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xz_Km(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xz_DensCloud(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xz_SatRatio(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xz_Kh(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xza_MixRt(DimXMin:DimXMax, DimZMin:DimZMax, SpcNum)
real(8), intent(in) :: MassTotal
real(8), intent(in) :: MassTend
real(8), intent(in) :: KineticEnergyTotal
real(8), intent(in) :: CloudMassTotal
real(8), intent(in) :: PotentialEnergyTotal
real(8), intent(in) :: ElasticEnergyFOTotal
real(8), intent(in) :: ElasticEnergySOTotal
real(8) :: xz_VelX(DimXMin:DimXMax, DimZMin:DimZMax)
real(8) :: xz_VelZ(DimXMin:DimXMax, DimZMin:DimZMax)
integer :: s
!----------------------------------------------------------------
! 格子点位置を変換
!----------------------------------------------------------------
xz_VelX = xz_avr_pz( pz_VelX )
xz_VelZ = xz_avr_xr( xr_VelZ )
!----------------------------------------------------------------
! 値を出力
!----------------------------------------------------------------
do s = 1, 10 + SpcNum
call HistoryPut( 't', Time, gt_hist(s) )
end do
call HistoryPut( 'Exner', xz_Exner(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(1) )
call HistoryPut( 'PotTempDist', xz_PotTemp(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(2) )
call HistoryPut( 'PotTemp', xz_PotTempSum(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(2) )
call HistoryPut( 'Temp', xz_TempSum(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(2) )
call HistoryPut( 'VelX', xz_VelX(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(3) )
call HistoryPut( 'VelZ', xz_VelZ(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(4) )
call HistoryPut( 'Km', xz_Km(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(5) )
call HistoryPut( 'Kh', xz_Kh(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(6) )
call HistoryPut( 'DensCloud', xz_DensCloud(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(9) )
call HistoryPut( 'SatRatio', xz_SatRatio(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(10) )
do s = 1, SpcNum
call HistoryPut( trim(SpcWetSymbol(s)), xza_MixRt(FileXMin:FileXMax, FileZMin:FileZMax, s), gt_hist(10+s) )
end do
!----------------------------------------------------------------
! 解析値を出力
!----------------------------------------------------------------
call StoreDensCloudMean()
call StorePotTempMean()
call StoreMixRtMeanX()
call StoreBuoyMeanX()
call StoreStabMeanX()
call HistoryPut( 'BuoyTemp', z_BuoyTemp(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'BuoyMolWt', z_BuoyMolWt(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'BuoyDrag', z_BuoyDrag(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'StabTemp', z_StabTemp(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'StabMolWt', z_StabMolWt(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'PotTempAdv', xz_Adv(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'PotTempTurb', xz_Turb(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'PotTempDisp', xz_Disp(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'PotTempDiff', xz_Diff(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'PotTempRad', xz_Rad(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'PotTempCond', xz_Cond(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'PotTempFlux', xz_Flux(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'PotTempDamp', xz_Damp(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'DensCloudAdv', xz_DensCloudAdv(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'DensCloudTurb', xz_DensCloudTurb(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'DensCloudDiff', xz_DensCloudDiff(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'DensCloudCond', xz_DensCloudCond(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'DensCloudFill', xz_DensCloudFill(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'MassTotal', MassTotal, gt_hist(8) )
call HistoryPut( 'MassTend', MassTend, gt_hist(8) )
call HistoryPut( 'KineticEnergyTotal', KineticEnergyTotal, gt_hist(8) )
call HistoryPut( 'CloudMassTotal', CloudMassTotal, gt_hist(8) )
call HistoryPut( 'PotentialEnergyTotal', PotentialEnergyTotal, gt_hist(8) )
call HistoryPut( 'ElasticEnergyFOTotal', ElasticEnergyFOTotal, gt_hist(8) )
call HistoryPut( 'ElasticEnergySOTotal', ElasticEnergySOTotal, gt_hist(8) )
do s = 1, SpcNum
call HistoryPut( trim(SpcWetSymbol(s))//'_Adv', za_Adv(FileZMin:FileZMax, s), gt_hist(8) )
call HistoryPut( trim(SpcWetSymbol(s))//'_Turb', za_Turb(FileZMin:FileZMax, s), gt_hist(8) )
call HistoryPut( trim(SpcWetSymbol(s))//'_Diff', za_Diff(FileZMin:FileZMax, s), gt_hist(8) )
call HistoryPut( trim(SpcWetSymbol(s))//'_Flux', za_Flux(FileZMin:FileZMax, s), gt_hist(8) )
call HistoryPut( trim(SpcWetSymbol(s))//'_Rain', za_Rain(FileZMin:FileZMax, s), gt_hist(8) )
call HistoryPut( trim(SpcWetSymbol(s))//'_Fill1', za_Fill1(FileZMin:FileZMax, s), gt_hist(8) )
call HistoryPut( trim(SpcWetSymbol(s))//'_Fill2', za_Fill2(FileZMin:FileZMax, s), gt_hist(8) )
call HistoryPut( trim(SpcWetSymbol(s))//'_Cond', za_cond(FileZMin:FileZMax, s), gt_hist(8) )
! call HistoryPut( &
! & trim(SpcWetSymbol(s))//'_Asln', &
! & za_Asln(FileZMin:FileZMax, s), &
! & gt_hist(8) )
end do
end subroutine HistoryFile_OutPut
| Subroutine : | |
| Time : | real(8), intent(in) |
| xz_PotTemp(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| xz_PotTempSum(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| xz_TempSum(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| xz_Exner(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| pz_VelX(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| xr_VelZ(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| xza_MixRt(DimXMin:DimXMax, DimZMin:DimZMax, SpcNum) : | real(8), intent(in) |
| xz_Km(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| xz_Kh(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| xz_DensCloud(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| xz_SatRatio(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| MassTotal : | real(8), intent(in) |
| MassTend : | real(8), intent(in) |
| KineticEnergyTotal : | real(8), intent(in) |
| CloudMassTotal : | real(8), intent(in) |
| PotentialEnergyTotal : | real(8), intent(in) |
| ElasticEnergyFOTotal : | real(8), intent(in) |
| ElasticEnergySOTotal : | real(8), intent(in) |
予報変数のヒストリファイルへの出力. 出力時には半格子点の位置でプロット.
subroutine HistoryFile_OutPut( Time, xz_PotTemp, xz_PotTempSum, xz_TempSum, xz_Exner, pz_VelX, xr_VelZ, xza_MixRt, xz_Km, xz_Kh, xz_DensCloud, xz_SatRatio, MassTotal, MassTend, KineticEnergyTotal, CloudMassTotal, PotentialEnergyTotal, ElasticEnergyFOTotal, ElasticEnergySOTotal )
!
!予報変数のヒストリファイルへの出力. 出力時には半格子点の位置でプロット.
!
!モジュール読み込み
use average, only: xz_avr_pz, xz_avr_xr
!暗黙の型宣言禁止
implicit none
!変数定義
real(8), intent(in) :: Time
real(8), intent(in) :: pz_VelX(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xr_VelZ(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xz_Exner(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xz_PotTemp(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xz_PotTempSum(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xz_TempSum(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xz_Km(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xz_DensCloud(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xz_SatRatio(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xz_Kh(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xza_MixRt(DimXMin:DimXMax, DimZMin:DimZMax, SpcNum)
real(8), intent(in) :: MassTotal
real(8), intent(in) :: MassTend
real(8), intent(in) :: KineticEnergyTotal
real(8), intent(in) :: CloudMassTotal
real(8), intent(in) :: PotentialEnergyTotal
real(8), intent(in) :: ElasticEnergyFOTotal
real(8), intent(in) :: ElasticEnergySOTotal
real(8) :: xz_VelX(DimXMin:DimXMax, DimZMin:DimZMax)
real(8) :: xz_VelZ(DimXMin:DimXMax, DimZMin:DimZMax)
integer :: s
!----------------------------------------------------------------
! 格子点位置を変換
!----------------------------------------------------------------
xz_VelX = xz_avr_pz( pz_VelX )
xz_VelZ = xz_avr_xr( xr_VelZ )
!----------------------------------------------------------------
! 値を出力
!----------------------------------------------------------------
do s = 1, 10 + SpcNum
call HistoryPut( 't', Time, gt_hist(s) )
end do
call HistoryPut( 'Exner', xz_Exner(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(1) )
call HistoryPut( 'PotTempDist', xz_PotTemp(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(2) )
call HistoryPut( 'PotTemp', xz_PotTempSum(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(2) )
call HistoryPut( 'Temp', xz_TempSum(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(2) )
call HistoryPut( 'VelX', xz_VelX(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(3) )
call HistoryPut( 'VelZ', xz_VelZ(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(4) )
call HistoryPut( 'Km', xz_Km(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(5) )
call HistoryPut( 'Kh', xz_Kh(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(6) )
call HistoryPut( 'DensCloud', xz_DensCloud(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(9) )
call HistoryPut( 'SatRatio', xz_SatRatio(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(10) )
do s = 1, SpcNum
call HistoryPut( trim(SpcWetSymbol(s)), xza_MixRt(FileXMin:FileXMax, FileZMin:FileZMax, s), gt_hist(10+s) )
end do
!----------------------------------------------------------------
! 解析値を出力
!----------------------------------------------------------------
call StorePotTempMean()
call StoreMixRtMeanX()
call StoreBuoyMeanX()
call StoreStabMeanX()
call HistoryPut( 'BuoyTemp', z_BuoyTemp(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'BuoyMolWt', z_BuoyMolWt(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'BuoyDrag', z_BuoyDrag(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'StabTemp', z_StabTemp(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'StabMolWt', z_StabMolWt(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'PotTempAdv', xz_Adv(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'PotTempTurb', xz_Turb(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'PotTempDisp', xz_Disp(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'PotTempDiff', xz_Diff(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'PotTempRad', xz_Rad(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'PotTempCond', xz_Cond(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'PotTempFlux', xz_Flux(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'PotTempDamp', xz_Damp(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'DensCloudAdv', xz_DensCloudAdv2(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'DensCloudTurb', xz_DensCloudTurb2(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'DensCloudDiff', xz_DensCloudDiff2(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'DensCloudCond', xz_DensCloudCond2(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'DensCloudFill', xz_DensCloudFill2(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'DensCloudFillZero', xz_DensCloudFillZero2(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'DensCloudFall', xz_DensCloudFall2(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'MassTotal', MassTotal, gt_hist(8) )
call HistoryPut( 'MassTend', MassTend, gt_hist(8) )
call HistoryPut( 'KineticEnergyTotal', KineticEnergyTotal, gt_hist(8) )
call HistoryPut( 'CloudMassTotal', CloudMassTotal, gt_hist(8) )
call HistoryPut( 'PotentialEnergyTotal', PotentialEnergyTotal, gt_hist(8) )
call HistoryPut( 'ElasticEnergyFOTotal', ElasticEnergyFOTotal, gt_hist(8) )
call HistoryPut( 'ElasticEnergySOTotal', ElasticEnergySOTotal, gt_hist(8) )
do s = 1, SpcNum
call HistoryPut( trim(SpcWetSymbol(s))//'_Adv', za_Adv(FileZMin:FileZMax, s), gt_hist(8) )
call HistoryPut( trim(SpcWetSymbol(s))//'_Turb', za_Turb(FileZMin:FileZMax, s), gt_hist(8) )
call HistoryPut( trim(SpcWetSymbol(s))//'_Diff', za_Diff(FileZMin:FileZMax, s), gt_hist(8) )
call HistoryPut( trim(SpcWetSymbol(s))//'_Flux', za_Flux(FileZMin:FileZMax, s), gt_hist(8) )
call HistoryPut( trim(SpcWetSymbol(s))//'_Rain', za_Rain(FileZMin:FileZMax, s), gt_hist(8) )
call HistoryPut( trim(SpcWetSymbol(s))//'_Fill1', za_Fill1(FileZMin:FileZMax, s), gt_hist(8) )
call HistoryPut( trim(SpcWetSymbol(s))//'_Fill2', za_Fill2(FileZMin:FileZMax, s), gt_hist(8) )
call HistoryPut( trim(SpcWetSymbol(s))//'_Cond', za_cond(FileZMin:FileZMax, s), gt_hist(8) )
! call HistoryPut( &
! & trim(SpcWetSymbol(s))//'_Asln', &
! & za_Asln(FileZMin:FileZMax, s), &
! & gt_hist(8) )
end do
end subroutine HistoryFile_OutPut
| Subroutine : | |
| Time : | real(8), intent(in) |
| xz_PotTemp(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| xz_PotTempSum(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| xz_TempSum(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| xz_Exner(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| pz_VelX(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| xr_VelZ(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| xza_MixRt(DimXMin:DimXMax, DimZMin:DimZMax, SpcNum) : | real(8), intent(in) |
| xz_Km(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| xz_Kh(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| xz_DensCloud(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| xz_SatRatio(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| MassTotal : | real(8), intent(in) |
| MassTend : | real(8), intent(in) |
| KineticEnergyTotal : | real(8), intent(in) |
| CloudMassTotal : | real(8), intent(in) |
| PotentialEnergyTotal : | real(8), intent(in) |
| ElasticEnergyFOTotal : | real(8), intent(in) |
| ElasticEnergySOTotal : | real(8), intent(in) |
予報変数のヒストリファイルへの出力. 出力時には半格子点の位置でプロット.
subroutine HistoryFile_OutPut( Time, xz_PotTemp, xz_PotTempSum, xz_TempSum, xz_Exner, pz_VelX, xr_VelZ, xza_MixRt, xz_Km, xz_Kh, xz_DensCloud, xz_SatRatio, MassTotal, MassTend, KineticEnergyTotal, CloudMassTotal, PotentialEnergyTotal, ElasticEnergyFOTotal, ElasticEnergySOTotal )
!
!予報変数のヒストリファイルへの出力. 出力時には半格子点の位置でプロット.
!
!モジュール読み込み
use average, only: xz_avr_pz, xz_avr_xr
!暗黙の型宣言禁止
implicit none
!変数定義
real(8), intent(in) :: Time
real(8), intent(in) :: pz_VelX(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xr_VelZ(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xz_Exner(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xz_PotTemp(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xz_PotTempSum(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xz_TempSum(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xz_Km(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xz_DensCloud(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xz_SatRatio(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xz_Kh(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xza_MixRt(DimXMin:DimXMax, DimZMin:DimZMax, SpcNum)
real(8), intent(in) :: MassTotal
real(8), intent(in) :: MassTend
real(8), intent(in) :: KineticEnergyTotal
real(8), intent(in) :: CloudMassTotal
real(8), intent(in) :: PotentialEnergyTotal
real(8), intent(in) :: ElasticEnergyFOTotal
real(8), intent(in) :: ElasticEnergySOTotal
real(8) :: xz_VelX(DimXMin:DimXMax, DimZMin:DimZMax)
real(8) :: xz_VelZ(DimXMin:DimXMax, DimZMin:DimZMax)
integer :: s
!----------------------------------------------------------------
! 格子点位置を変換
!----------------------------------------------------------------
xz_VelX = xz_avr_pz( pz_VelX )
xz_VelZ = xz_avr_xr( xr_VelZ )
!----------------------------------------------------------------
! 値を出力
!----------------------------------------------------------------
do s = 1, 10 + SpcNum
call HistoryPut( 't', Time, gt_hist(s) )
end do
call HistoryPut( 'Exner', xz_Exner(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(1) )
call HistoryPut( 'PotTempDist', xz_PotTemp(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(2) )
call HistoryPut( 'PotTemp', xz_PotTempSum(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(2) )
call HistoryPut( 'Temp', xz_TempSum(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(2) )
call HistoryPut( 'VelX', xz_VelX(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(3) )
call HistoryPut( 'VelZ', xz_VelZ(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(4) )
call HistoryPut( 'Km', xz_Km(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(5) )
call HistoryPut( 'Kh', xz_Kh(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(6) )
call HistoryPut( 'DensCloud', xz_DensCloud(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(9) )
call HistoryPut( 'SatRatio', xz_SatRatio(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(10) )
do s = 1, SpcNum
call HistoryPut( trim(SpcWetSymbol(s)), xza_MixRt(FileXMin:FileXMax, FileZMin:FileZMax, s), gt_hist(10+s) )
end do
!----------------------------------------------------------------
! 解析値を出力
!----------------------------------------------------------------
call StorePotTempMean()
call StoreMixRtMeanX()
call StoreBuoyMeanX()
call StoreStabMeanX()
call HistoryPut( 'BuoyTemp', z_BuoyTemp(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'BuoyMolWt', z_BuoyMolWt(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'BuoyDrag', z_BuoyDrag(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'StabTemp', z_StabTemp(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'StabMolWt', z_StabMolWt(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'PotTempAdv', xz_Adv(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'PotTempTurb', xz_Turb(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'PotTempDisp', xz_Disp(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'PotTempDiff', xz_Diff(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'PotTempRad', xz_Rad(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'PotTempCond', xz_Cond(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'PotTempFlux', xz_Flux(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'PotTempDamp', xz_Damp(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'DensCloudAdv', xz_DensCloudAdv2(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'DensCloudTurb', xz_DensCloudTurb2(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'DensCloudDiff', xz_DensCloudDiff2(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'DensCloudCond', xz_DensCloudCond2(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'DensCloudFill', xz_DensCloudFill2(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'DensCloudFillZero', xz_DensCloudFillZero2(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'MassTotal', MassTotal, gt_hist(8) )
call HistoryPut( 'MassTend', MassTend, gt_hist(8) )
call HistoryPut( 'KineticEnergyTotal', KineticEnergyTotal, gt_hist(8) )
call HistoryPut( 'CloudMassTotal', CloudMassTotal, gt_hist(8) )
call HistoryPut( 'PotentialEnergyTotal', PotentialEnergyTotal, gt_hist(8) )
call HistoryPut( 'ElasticEnergyFOTotal', ElasticEnergyFOTotal, gt_hist(8) )
call HistoryPut( 'ElasticEnergySOTotal', ElasticEnergySOTotal, gt_hist(8) )
do s = 1, SpcNum
call HistoryPut( trim(SpcWetSymbol(s))//'_Adv', za_Adv(FileZMin:FileZMax, s), gt_hist(8) )
call HistoryPut( trim(SpcWetSymbol(s))//'_Turb', za_Turb(FileZMin:FileZMax, s), gt_hist(8) )
call HistoryPut( trim(SpcWetSymbol(s))//'_Diff', za_Diff(FileZMin:FileZMax, s), gt_hist(8) )
call HistoryPut( trim(SpcWetSymbol(s))//'_Flux', za_Flux(FileZMin:FileZMax, s), gt_hist(8) )
call HistoryPut( trim(SpcWetSymbol(s))//'_Rain', za_Rain(FileZMin:FileZMax, s), gt_hist(8) )
call HistoryPut( trim(SpcWetSymbol(s))//'_Fill1', za_Fill1(FileZMin:FileZMax, s), gt_hist(8) )
call HistoryPut( trim(SpcWetSymbol(s))//'_Fill2', za_Fill2(FileZMin:FileZMax, s), gt_hist(8) )
call HistoryPut( trim(SpcWetSymbol(s))//'_Cond', za_cond(FileZMin:FileZMax, s), gt_hist(8) )
! call HistoryPut( &
! & trim(SpcWetSymbol(s))//'_Asln', &
! & za_Asln(FileZMin:FileZMax, s), &
! & gt_hist(8) )
end do
end subroutine HistoryFile_OutPut
| Subroutine : | |
| Time : | real(8), intent(in) |
| xz_PotTemp(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| xz_PotTempSum(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| xz_TempSum(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| xz_Exner(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| pz_VelX(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| xr_VelZ(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| xza_MixRt(DimXMin:DimXMax, DimZMin:DimZMax, SpcNum) : | real(8), intent(in) |
| xz_Km(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| xz_Kh(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| xz_DensCloud(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| xz_SatRatio(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| MassTotal : | real(8), intent(in) |
| MassTend : | real(8), intent(in) |
| KineticEnergyTotal : | real(8), intent(in) |
| CloudMassTotal : | real(8), intent(in) |
| PotentialEnergyTotal : | real(8), intent(in) |
| ElasticEnergyFOTotal : | real(8), intent(in) |
| ElasticEnergySOTotal : | real(8), intent(in) |
予報変数のヒストリファイルへの出力. 出力時には半格子点の位置でプロット.
subroutine HistoryFile_OutPut( Time, xz_PotTemp, xz_PotTempSum, xz_TempSum, xz_Exner, pz_VelX, xr_VelZ, xza_MixRt, xz_Km, xz_Kh, xz_DensCloud, xz_SatRatio, MassTotal, MassTend, KineticEnergyTotal, CloudMassTotal, PotentialEnergyTotal, ElasticEnergyFOTotal, ElasticEnergySOTotal )
!
!予報変数のヒストリファイルへの出力. 出力時には半格子点の位置でプロット.
!
!モジュール読み込み
use average, only: xz_avr_pz, xz_avr_xr
!暗黙の型宣言禁止
implicit none
!変数定義
real(8), intent(in) :: Time
real(8), intent(in) :: pz_VelX(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xr_VelZ(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xz_Exner(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xz_PotTemp(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xz_PotTempSum(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xz_TempSum(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xz_Km(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xz_DensCloud(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xz_SatRatio(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xz_Kh(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xza_MixRt(DimXMin:DimXMax, DimZMin:DimZMax, SpcNum)
real(8), intent(in) :: MassTotal
real(8), intent(in) :: MassTend
real(8), intent(in) :: KineticEnergyTotal
real(8), intent(in) :: CloudMassTotal
real(8), intent(in) :: PotentialEnergyTotal
real(8), intent(in) :: ElasticEnergyFOTotal
real(8), intent(in) :: ElasticEnergySOTotal
real(8) :: xz_VelX(DimXMin:DimXMax, DimZMin:DimZMax)
real(8) :: xz_VelZ(DimXMin:DimXMax, DimZMin:DimZMax)
integer :: s
!----------------------------------------------------------------
! 格子点位置を変換
!----------------------------------------------------------------
xz_VelX = xz_avr_pz( pz_VelX )
xz_VelZ = xz_avr_xr( xr_VelZ )
!----------------------------------------------------------------
! 値を出力
!----------------------------------------------------------------
do s = 1, 10 + SpcNum
call HistoryPut( 't', Time, gt_hist(s) )
end do
call HistoryPut( 'Exner', xz_Exner(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(1) )
call HistoryPut( 'PotTempDist', xz_PotTemp(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(2) )
call HistoryPut( 'PotTemp', xz_PotTempSum(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(2) )
call HistoryPut( 'Temp', xz_TempSum(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(2) )
call HistoryPut( 'VelX', xz_VelX(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(3) )
call HistoryPut( 'VelZ', xz_VelZ(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(4) )
call HistoryPut( 'Km', xz_Km(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(5) )
call HistoryPut( 'Kh', xz_Kh(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(6) )
call HistoryPut( 'DensCloud', xz_DensCloud(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(9) )
call HistoryPut( 'SatRatio', xz_SatRatio(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(10) )
do s = 1, SpcNum
call HistoryPut( trim(SpcWetSymbol(s)), xza_MixRt(FileXMin:FileXMax, FileZMin:FileZMax, s), gt_hist(10+s) )
end do
!----------------------------------------------------------------
! 解析値を出力
!----------------------------------------------------------------
call StorePotTempMean()
call StoreMixRtMeanX()
call StoreBuoyMeanX()
call StoreStabMeanX()
call HistoryPut( 'BuoyTemp', z_BuoyTemp(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'BuoyMolWt', z_BuoyMolWt(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'BuoyDrag', z_BuoyDrag(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'StabTemp', z_StabTemp(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'StabMolWt', z_StabMolWt(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'PotTempAdv', xz_Adv(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'PotTempTurb', xz_Turb(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'PotTempDisp', xz_Disp(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'PotTempDiff', xz_Diff(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'PotTempRad', xz_Rad(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'PotTempCond', xz_Cond(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'PotTempFlux', xz_Flux(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'PotTempDamp', xz_Damp(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'DensCloudAdv', xz_DensCloudAdv2(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'DensCloudTurb', xz_DensCloudTurb2(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'DensCloudDiff', xz_DensCloudDiff2(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'DensCloudCond', xz_DensCloudCond2(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'DensCloudFill', xz_DensCloudFill2(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'DensCloudFillZero', xz_DensCloudFillZero2(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'MassTotal', MassTotal, gt_hist(8) )
call HistoryPut( 'MassTend', MassTend, gt_hist(8) )
call HistoryPut( 'KineticEnergyTotal', KineticEnergyTotal, gt_hist(8) )
call HistoryPut( 'CloudMassTotal', CloudMassTotal, gt_hist(8) )
call HistoryPut( 'PotentialEnergyTotal', PotentialEnergyTotal, gt_hist(8) )
call HistoryPut( 'ElasticEnergyFOTotal', ElasticEnergyFOTotal, gt_hist(8) )
call HistoryPut( 'ElasticEnergySOTotal', ElasticEnergySOTotal, gt_hist(8) )
do s = 1, SpcNum
call HistoryPut( trim(SpcWetSymbol(s))//'_Adv', za_Adv(FileZMin:FileZMax, s), gt_hist(8) )
call HistoryPut( trim(SpcWetSymbol(s))//'_Turb', za_Turb(FileZMin:FileZMax, s), gt_hist(8) )
call HistoryPut( trim(SpcWetSymbol(s))//'_Diff', za_Diff(FileZMin:FileZMax, s), gt_hist(8) )
call HistoryPut( trim(SpcWetSymbol(s))//'_Flux', za_Flux(FileZMin:FileZMax, s), gt_hist(8) )
call HistoryPut( trim(SpcWetSymbol(s))//'_Rain', za_Rain(FileZMin:FileZMax, s), gt_hist(8) )
call HistoryPut( trim(SpcWetSymbol(s))//'_Fill1', za_Fill1(FileZMin:FileZMax, s), gt_hist(8) )
call HistoryPut( trim(SpcWetSymbol(s))//'_Fill2', za_Fill2(FileZMin:FileZMax, s), gt_hist(8) )
call HistoryPut( trim(SpcWetSymbol(s))//'_Cond', za_cond(FileZMin:FileZMax, s), gt_hist(8) )
! call HistoryPut( &
! & trim(SpcWetSymbol(s))//'_Asln', &
! & za_Asln(FileZMin:FileZMax, s), &
! & gt_hist(8) )
end do
end subroutine HistoryFile_OutPut
| Subroutine : | |
| Time : | real(8), intent(in) |
| xz_PotTemp(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| xz_PotTempSum(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| xz_TempSum(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| xz_Exner(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| pz_VelX(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| xr_VelZ(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| xza_MixRt(DimXMin:DimXMax, DimZMin:DimZMax, SpcNum) : | real(8), intent(in) |
| xz_Km(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| xz_Kh(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| xz_DensCloud(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| xz_SatRatio(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| MassTotal : | real(8), intent(in) |
| MassTend : | real(8), intent(in) |
| KineticEnergyTotal : | real(8), intent(in) |
| CloudMassTotal : | real(8), intent(in) |
| PotentialEnergyTotal : | real(8), intent(in) |
| ElasticEnergyFOTotal : | real(8), intent(in) |
| ElasticEnergySOTotal : | real(8), intent(in) |
予報変数のヒストリファイルへの出力. 出力時には半格子点の位置でプロット.
subroutine HistoryFile_OutPut( Time, xz_PotTemp, xz_PotTempSum, xz_TempSum, xz_Exner, pz_VelX, xr_VelZ, xza_MixRt, xz_Km, xz_Kh, xz_DensCloud, xz_SatRatio, MassTotal, MassTend, KineticEnergyTotal, CloudMassTotal, PotentialEnergyTotal, ElasticEnergyFOTotal, ElasticEnergySOTotal )
!
!予報変数のヒストリファイルへの出力. 出力時には半格子点の位置でプロット.
!
!モジュール読み込み
use average, only: xz_avr_pz, xz_avr_xr
!暗黙の型宣言禁止
implicit none
!変数定義
real(8), intent(in) :: Time
real(8), intent(in) :: pz_VelX(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xr_VelZ(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xz_Exner(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xz_PotTemp(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xz_PotTempSum(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xz_TempSum(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xz_Km(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xz_DensCloud(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xz_SatRatio(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xz_Kh(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xza_MixRt(DimXMin:DimXMax, DimZMin:DimZMax, SpcNum)
real(8), intent(in) :: MassTotal
real(8), intent(in) :: MassTend
real(8), intent(in) :: KineticEnergyTotal
real(8), intent(in) :: CloudMassTotal
real(8), intent(in) :: PotentialEnergyTotal
real(8), intent(in) :: ElasticEnergyFOTotal
real(8), intent(in) :: ElasticEnergySOTotal
real(8) :: xz_VelX(DimXMin:DimXMax, DimZMin:DimZMax)
real(8) :: xz_VelZ(DimXMin:DimXMax, DimZMin:DimZMax)
integer :: s
!----------------------------------------------------------------
! 格子点位置を変換
!----------------------------------------------------------------
xz_VelX = xz_avr_pz( pz_VelX )
xz_VelZ = xz_avr_xr( xr_VelZ )
!----------------------------------------------------------------
! 値を出力
!----------------------------------------------------------------
do s = 1, 10 + SpcNum
call HistoryPut( 't', Time, gt_hist(s) )
end do
call HistoryPut( 'Exner', xz_Exner(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(1) )
call HistoryPut( 'PotTempDist', xz_PotTemp(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(2) )
call HistoryPut( 'PotTemp', xz_PotTempSum(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(2) )
call HistoryPut( 'Temp', xz_TempSum(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(2) )
call HistoryPut( 'VelX', xz_VelX(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(3) )
call HistoryPut( 'VelZ', xz_VelZ(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(4) )
call HistoryPut( 'Km', xz_Km(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(5) )
call HistoryPut( 'Kh', xz_Kh(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(6) )
call HistoryPut( 'DensCloud', xz_DensCloud(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(9) )
call HistoryPut( 'SatRatio', xz_SatRatio(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(10) )
do s = 1, SpcNum
call HistoryPut( trim(SpcWetSymbol(s)), xza_MixRt(FileXMin:FileXMax, FileZMin:FileZMax, s), gt_hist(10+s) )
end do
!----------------------------------------------------------------
! 解析値を出力
!----------------------------------------------------------------
call StorePotTempMean()
call StoreMixRtMeanX()
call StoreBuoyMeanX()
call StoreStabMeanX()
call HistoryPut( 'BuoyTemp', z_BuoyTemp(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'BuoyMolWt', z_BuoyMolWt(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'BuoyDrag', z_BuoyDrag(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'StabTemp', z_StabTemp(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'StabMolWt', z_StabMolWt(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'PotTempAdv', xz_Adv(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'PotTempTurb', xz_Turb(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'PotTempDisp', xz_Disp(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'PotTempDiff', xz_Diff(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'PotTempRad', xz_Rad(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'PotTempCond', xz_Cond(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'PotTempFlux', xz_Flux(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'PotTempDamp', xz_Damp(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'DensCloudAdv', xz_DensCloudAdv2(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'DensCloudTurb', xz_DensCloudTurb2(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'DensCloudDiff', xz_DensCloudDiff2(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'DensCloudCond', xz_DensCloudCond2(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'DensCloudFill', xz_DensCloudFill2(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'MassTotal', MassTotal, gt_hist(8) )
call HistoryPut( 'MassTend', MassTend, gt_hist(8) )
call HistoryPut( 'KineticEnergyTotal', KineticEnergyTotal, gt_hist(8) )
call HistoryPut( 'CloudMassTotal', CloudMassTotal, gt_hist(8) )
call HistoryPut( 'PotentialEnergyTotal', PotentialEnergyTotal, gt_hist(8) )
call HistoryPut( 'ElasticEnergyFOTotal', ElasticEnergyFOTotal, gt_hist(8) )
call HistoryPut( 'ElasticEnergySOTotal', ElasticEnergySOTotal, gt_hist(8) )
do s = 1, SpcNum
call HistoryPut( trim(SpcWetSymbol(s))//'_Adv', za_Adv(FileZMin:FileZMax, s), gt_hist(8) )
call HistoryPut( trim(SpcWetSymbol(s))//'_Turb', za_Turb(FileZMin:FileZMax, s), gt_hist(8) )
call HistoryPut( trim(SpcWetSymbol(s))//'_Diff', za_Diff(FileZMin:FileZMax, s), gt_hist(8) )
call HistoryPut( trim(SpcWetSymbol(s))//'_Flux', za_Flux(FileZMin:FileZMax, s), gt_hist(8) )
call HistoryPut( trim(SpcWetSymbol(s))//'_Rain', za_Rain(FileZMin:FileZMax, s), gt_hist(8) )
call HistoryPut( trim(SpcWetSymbol(s))//'_Fill1', za_Fill1(FileZMin:FileZMax, s), gt_hist(8) )
call HistoryPut( trim(SpcWetSymbol(s))//'_Fill2', za_Fill2(FileZMin:FileZMax, s), gt_hist(8) )
call HistoryPut( trim(SpcWetSymbol(s))//'_Cond', za_cond(FileZMin:FileZMax, s), gt_hist(8) )
! call HistoryPut( &
! & trim(SpcWetSymbol(s))//'_Asln', &
! & za_Asln(FileZMin:FileZMax, s), &
! & gt_hist(8) )
end do
end subroutine HistoryFile_OutPut
| Subroutine : | |
| Time : | real(8), intent(in) |
| xz_PotTemp(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| xz_PotTempSum(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| xz_TempSum(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| xz_Exner(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| pz_VelX(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| xr_VelZ(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| xza_MixRt(DimXMin:DimXMax, DimZMin:DimZMax, SpcNum) : | real(8), intent(in) |
| xz_Km(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| xz_Kh(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| xz_DensCloud(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| xz_SatRatio(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
| MassTotal : | real(8), intent(in) |
| MassTend : | real(8), intent(in) |
| KineticEnergyTotal : | real(8), intent(in) |
| CloudMassTotal : | real(8), intent(in) |
| PotentialEnergyTotal : | real(8), intent(in) |
| ElasticEnergyFOTotal : | real(8), intent(in) |
| ElasticEnergySOTotal : | real(8), intent(in) |
予報変数のヒストリファイルへの出力. 出力時には半格子点の位置でプロット.
subroutine HistoryFile_OutPut( Time, xz_PotTemp, xz_PotTempSum, xz_TempSum, xz_Exner, pz_VelX, xr_VelZ, xza_MixRt, xz_Km, xz_Kh, xz_DensCloud, xz_SatRatio, MassTotal, MassTend, KineticEnergyTotal, CloudMassTotal, PotentialEnergyTotal, ElasticEnergyFOTotal, ElasticEnergySOTotal )
!
!予報変数のヒストリファイルへの出力. 出力時には半格子点の位置でプロット.
!
!モジュール読み込み
use average, only: xz_avr_pz, xz_avr_xr
!暗黙の型宣言禁止
implicit none
!変数定義
real(8), intent(in) :: Time
real(8), intent(in) :: pz_VelX(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xr_VelZ(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xz_Exner(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xz_PotTemp(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xz_PotTempSum(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xz_TempSum(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xz_Km(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xz_DensCloud(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xz_SatRatio(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xz_Kh(DimXMin:DimXMax, DimZMin:DimZMax)
real(8), intent(in) :: xza_MixRt(DimXMin:DimXMax, DimZMin:DimZMax, SpcNum)
real(8), intent(in) :: MassTotal
real(8), intent(in) :: MassTend
real(8), intent(in) :: KineticEnergyTotal
real(8), intent(in) :: CloudMassTotal
real(8), intent(in) :: PotentialEnergyTotal
real(8), intent(in) :: ElasticEnergyFOTotal
real(8), intent(in) :: ElasticEnergySOTotal
real(8) :: xz_VelX(DimXMin:DimXMax, DimZMin:DimZMax)
real(8) :: xz_VelZ(DimXMin:DimXMax, DimZMin:DimZMax)
integer :: s
!----------------------------------------------------------------
! 格子点位置を変換
!----------------------------------------------------------------
xz_VelX = xz_avr_pz( pz_VelX )
xz_VelZ = xz_avr_xr( xr_VelZ )
!----------------------------------------------------------------
! 値を出力
!----------------------------------------------------------------
do s = 1, 10 + SpcNum
call HistoryPut( 't', Time, gt_hist(s) )
end do
call HistoryPut( 'Exner', xz_Exner(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(1) )
call HistoryPut( 'PotTempDist', xz_PotTemp(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(2) )
call HistoryPut( 'PotTemp', xz_PotTempSum(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(2) )
call HistoryPut( 'Temp', xz_TempSum(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(2) )
call HistoryPut( 'VelX', xz_VelX(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(3) )
call HistoryPut( 'VelZ', xz_VelZ(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(4) )
call HistoryPut( 'Km', xz_Km(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(5) )
call HistoryPut( 'Kh', xz_Kh(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(6) )
call HistoryPut( 'DensCloud', xz_DensCloud(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(9) )
call HistoryPut( 'SatRatio', xz_SatRatio(FileXMin:FileXMax, FileZMin:FileZMax), gt_hist(10) )
do s = 1, SpcNum
call HistoryPut( trim(SpcWetSymbol(s)), xza_MixRt(FileXMin:FileXMax, FileZMin:FileZMax, s), gt_hist(10+s) )
end do
!----------------------------------------------------------------
! 解析値を出力
!----------------------------------------------------------------
! call StoreDensCloudMeanX()
call StorePotTempMeanX()
call StoreMixRtMeanX()
call StoreBuoyMeanX()
call StoreStabMeanX()
call HistoryPut( 'BuoyTemp', z_BuoyTemp(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'BuoyMolWt', z_BuoyMolWt(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'BuoyDrag', z_BuoyDrag(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'StabTemp', z_StabTemp(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'StabMolWt', z_StabMolWt(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'PotTempAdv', z_Adv(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'PotTempTurb', z_Turb(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'PotTempDisp', z_Disp(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'PotTempDiff', z_Diff(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'PotTempRad', z_Rad(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'PotTempCond', z_Cond(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'PotTempFlux', z_Flux(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'PotTempDamp', z_Damp(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'DensCloudAdv', z_DensCloudAdv(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'DensCloudTurb', z_DensCloudTurb(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'DensCloudDiff', z_DensCloudDiff(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'DensCloudCond', z_DensCloudCond(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'DensCloudFill', z_DensCloudFill(FileZMin:FileZMax), gt_hist(8) )
call HistoryPut( 'MassTotal', MassTotal, gt_hist(8) )
call HistoryPut( 'MassTend', MassTend, gt_hist(8) )
call HistoryPut( 'KineticEnergyTotal', KineticEnergyTotal, gt_hist(8) )
call HistoryPut( 'CloudMassTotal', CloudMassTotal, gt_hist(8) )
call HistoryPut( 'PotentialEnergyTotal', PotentialEnergyTotal, gt_hist(8) )
call HistoryPut( 'ElasticEnergyFOTotal', ElasticEnergyFOTotal, gt_hist(8) )
call HistoryPut( 'ElasticEnergySOTotal', ElasticEnergySOTotal, gt_hist(8) )
do s = 1, SpcNum
call HistoryPut( trim(SpcWetSymbol(s))//'_Adv', za_Adv(FileZMin:FileZMax, s), gt_hist(8) )
call HistoryPut( trim(SpcWetSymbol(s))//'_Turb', za_Turb(FileZMin:FileZMax, s), gt_hist(8) )
call HistoryPut( trim(SpcWetSymbol(s))//'_Diff', za_Diff(FileZMin:FileZMax, s), gt_hist(8) )
call HistoryPut( trim(SpcWetSymbol(s))//'_Flux', za_Flux(FileZMin:FileZMax, s), gt_hist(8) )
call HistoryPut( trim(SpcWetSymbol(s))//'_Rain', za_Rain(FileZMin:FileZMax, s), gt_hist(8) )
call HistoryPut( trim(SpcWetSymbol(s))//'_Fill1', za_Fill1(FileZMin:FileZMax, s), gt_hist(8) )
call HistoryPut( trim(SpcWetSymbol(s))//'_Fill2', za_Fill2(FileZMin:FileZMax, s), gt_hist(8) )
call HistoryPut( trim(SpcWetSymbol(s))//'_Cond', za_cond(FileZMin:FileZMax, s), gt_hist(8) )
! call HistoryPut( &
! & trim(SpcWetSymbol(s))//'_Asln', &
! & za_Asln(FileZMin:FileZMax, s), &
! & gt_hist(8) )
end do
end subroutine HistoryFile_OutPut