!
!= ファイル入出力の同期
!
! Authors:: Eizi TOYODA, Yasuhiro MORIKAWA
! Version:: $Id: gtvarsync.f90,v 1.3 2006/01/15 07:10:30 morikawa Exp $
! Tag Name:: $Name: gt4f90io-20060627 $
! Copyright:: Copyright (C) GFD Dennou Club, 2000-2005. All rights reserved.
! License:: See COPYRIGHT[link:../../COPYRIGHT]
!
! 以下のサブルーチン、関数は gtdata_generic から gtdata_generic#GTVarSync
! として提供されます。
!
subroutine GTVarSync(var, stat) 7,6
!
!== ファイル入出力の同期
!
! 変数 *var* に関するメモリ内のバッファと netCDF ファイルのディスク上の
! コピーとを同期します。*var* が与えられない場合、プログラム内で
! これまでに入出力した全てのファイルに関して同期がおこなわれます。
!
! *stat* にはステータスが返ります。
!
use gtdata_types
, only: GT_VARIABLE
use gt_map
, only: var_class, vtb_class_netcdf, vtb_class_memory
use an_generic
, only: ANVarSync, an_variable
type(GT_VARIABLE), intent(inout), optional:: var
integer, intent(out), optional:: stat
integer:: class, cid
if (.not. present(var)) then
call ANVarSync
(stat=stat)
else
call var_class
(var, class, cid)
select case (class)
case(vtb_class_netcdf)
call ANVarSync
(an_variable(cid), stat=stat)
end select
endif
end subroutine GTVarSync