gtool5 Fortran 90/95 ライブラリ 1.0.0-rc5
English
Loading...
Searching...
No Matches
gdncvarsync.f90
Go to the documentation of this file.
1!> @file gdncvarsync.f90
2!>
3!> @author GFD Dennou Club
4!> @copyright Copyright (C) GFD Dennou Club, 2000-2026. All rights reserved. <br/>
5!> License is BSD-2-Clause. See [COPYRIGHT](@ref COPYRIGHT) in detail
6!>
7!> @en
8!> @brief Synchronize netCDF variable to disk
9!> @enden
10!>
11!> @ja
12!> @brief netCDF 変数をディスクに同期
13!> @endja
14!>
15
16!>
17!> @en
18!> @brief Synchronize variable data to disk
19!>
20!> Flushes pending writes for the variable to disk.
21!> If var is not present, syncs all open files.
22!> @enden
23!>
24!> @ja
25!> @brief 変数データをディスクに同期
26!>
27!> 変数の保留中の書き込みをディスクにフラッシュします。
28!> var が省略された場合、全てのオープン中ファイルを同期します。
29!> @endja
30!>
31!> @param[in] var @en Variable handle (optional) @enden @ja 変数ハンドル (省略可能) @endja
32!> @param[out] stat @en Status code (optional) @enden @ja ステータスコード (省略可能) @endja
33!>
34subroutine gdncvarsync(var, stat)
38 use netcdf, only: nf90_noerr
39 implicit none
40 type(gd_nc_variable), intent(in), optional:: var
41 integer, intent(out), optional:: stat
42 type(gd_nc_variable_entry):: ent
43 integer:: mystat
44 if (.not. present(var)) then
45 call gdncfilesync(stat=stat)
46 return
47 endif
48 mystat = vtable_lookup(var, ent)
49 if (mystat /= nf90_noerr) then
50 if (present(stat)) stat = mystat
51 else
52 call gdncfilesync(ent%fileid, stat=stat)
53 endif
54end subroutine
subroutine gdncvarsync(var, stat)
integer function, public vtable_lookup(var, entry)