Class | dycore_out_mod |
In: |
dynamics/dycore_out.f90
|
Subroutine : |
subroutine dycore_out_end !==== Dependency use io_gt4_out_mod, only : io_gt4_out_end use dc_trace, only : BeginSub, EndSub, DbgMessage !=end implicit none !------------------------------------------------------------------- ! 変数定義 !------------------------------------------------------------------- !----- 作業用内部変数 ----- character(len = *), parameter:: subname = "dycore_out_end" continue !---------------------------------------------------------------- ! Check Initialization !---------------------------------------------------------------- call BeginSub(subname) if ( .not. dycore_out_initialized) then call EndSub( subname, 'dycore_out_init was not called', c1=trim(subname) ) return else dycore_out_initialized = .false. endif call io_gt4_out_end call EndSub(subname) end subroutine dycore_out_end
Subroutine : | |||
Dims : | type(DYCORE_DIMS), intent(in)
|
subroutine dycore_out_init(Dims) use dycore_type_mod, only: DYCORE_DIMS use io_gt4_out_mod , only: io_gt4_out_init, io_gt4_out_SetDims, io_gt4_out_SetVars use dc_trace , only: BeginSub, EndSub, DbgMessage !=end implicit none !=begin !==== Input ! type(DYCORE_DIMS), intent(in):: Dims ! 次元データ全種 !=end !----- 作業用内部変数 ----- character(len = *), parameter:: subname = "dycore_out_init" continue !---------------------------------------------------------------- ! Check Initialization !---------------------------------------------------------------- call BeginSub(subname) if (dycore_out_initialized) then call EndSub( subname, '%c is already called.', c1=trim(subname) ) return else dycore_out_initialized = .true. endif !---------------------------------------------------------------- ! Version identifier !---------------------------------------------------------------- call DbgMessage('%c :: %c', c1=trim(version), c2=trim(tagname)) !----------------------------------------------------------------- ! io_gt4_out_mod の初期化 !----------------------------------------------------------------- call io_gt4_out_init ! データ出力の初期設定 !----------------------------------------------------------------- ! 出力用の軸データ設定 !----------------------------------------------------------------- call io_gt4_out_SetDims(Dims%x_Lon) ! 経度座標重みデータ取得 call io_gt4_out_SetDims(Dims%y_Lat) ! 緯度座標重みデータ取得 call io_gt4_out_SetDims(Dims%z_Sigma) ! 整数σレベル座標データ取得 call io_gt4_out_SetDims(Dims%r_Sigma) ! 半整数σレベル座標データ取得 !----------------------------------------------------------------- ! 出力用の変数データ設定 !----------------------------------------------------------------- call io_gt4_out_SetVars('VelLon') call io_gt4_out_SetVars('VelLat') call io_gt4_out_SetVars('Vor') call io_gt4_out_SetVars('Div') call io_gt4_out_SetVars('Temp') call io_gt4_out_SetVars('QVap') call io_gt4_out_SetVars('Ps') call EndSub(subname) end subroutine dycore_out_init
Subroutine : | |||
Vars : | type(DYCORE_VARS), intent(in)
|
subroutine dycore_out_put(Vars) !==== Dependency use dycore_type_mod, only : DYCORE_VARS, DBKIND, REKIND use io_gt4_out_mod, only : io_gt4_out_Put use dc_trace, only : BeginSub, EndSub, DbgMessage, DataDump !=end implicit none !=begin !==== Input ! type(DYCORE_VARS), intent(in):: Vars ! 格子点データ全種 !=end !----- 作業用内部変数 ----- character(len = *), parameter:: subname = "dycore_out_put" continue !---------------------------------------------------------------- ! Check Initialization !---------------------------------------------------------------- call BeginSub(subname) if (.not. dycore_out_initialized) then call EndSub( subname, 'Call dycore_out_init before call %c', c1=trim(subname) ) return endif !!$ call io_gt4_out_Put( 'VelLon', real(Vars%xyz_VelLon(:,:,:), REKIND) ) !!$ call io_gt4_out_Put( 'VelLat', real(Vars%xyz_VelLat(:,:,:), REKIND) ) !!$ call io_gt4_out_Put( 'Vor' , real(Vars%xyz_Vor(:,:,:) , REKIND) ) !!$ call io_gt4_out_Put( 'Div' , real(Vars%xyz_Div(:,:,:) , REKIND) ) !!$ call io_gt4_out_Put( 'Temp', real(Vars%xyz_Temp(:,:,:), REKIND) ) !!$ call io_gt4_out_Put( 'QVap', real(Vars%xyz_QVap(:,:,:), REKIND) ) !!$ call io_gt4_out_Put( 'Ps' , real(Vars%xy_Ps(:,:) , REKIND) ) call io_gt4_out_Put( 'VelLon', real(Vars%xyz_VelLon(:,:,:), DBKIND) ) call io_gt4_out_Put( 'VelLat', real(Vars%xyz_VelLat(:,:,:), DBKIND) ) call io_gt4_out_Put( 'Vor' , real(Vars%xyz_Vor(:,:,:) , DBKIND) ) call io_gt4_out_Put( 'Div' , real(Vars%xyz_Div(:,:,:) , DBKIND) ) call io_gt4_out_Put( 'Temp', real(Vars%xyz_Temp(:,:,:), DBKIND) ) call io_gt4_out_Put( 'QVap', real(Vars%xyz_QVap(:,:,:), DBKIND) ) !!$ call io_gt4_out_Put( 'Ps' , real(Vars%xy_Ps(:,:) , DBKIND) ) ! テスト用に、一時 hPa で出力 call io_gt4_out_Put( 'Ps' , real(Vars%xy_Ps(:,:) , DBKIND)/100.0d0 ) call EndSub(subname) end subroutine dycore_out_put