gtool5 Fortran 90/95 Library 1.0.0-rc5
日本語
Loading...
Searching...
No Matches
gdncvardelattr.f90
Go to the documentation of this file.
1!> @file gdncvardelattr.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 Delete an attribute from a netCDF variable
9!> @enden
10!>
11!> @ja
12!> @brief netCDF 変数から属性を削除
13!> @endja
14!>
15
16!>
17!> @en
18!> @brief Delete a named attribute
19!>
20!> Removes an attribute from a variable. If the name starts with '+',
21!> the attribute is treated as a global attribute.
22!> @enden
23!>
24!> @ja
25!> @brief 指定された属性を削除
26!>
27!> 変数から属性を削除します。名前が '+' で始まる場合、
28!> グローバル属性として扱われます。
29!> @endja
30!>
31!> @param[in] var @en Variable handle @enden @ja 変数ハンドル @endja
32!> @param[in] name @en Attribute name @enden @ja 属性名 @endja
33!> @param[out] err @en Error flag (optional) @enden @ja エラーフラグ (省略可能) @endja
34!>
35subroutine gdncvardelattr(var, name, err)
39 use netcdf, only: nf90_noerr, nf90_del_att, nf90_global, nf90_enotindefine
40 use dc_url, only: gt_plus
41 use dc_error
42 implicit none
43 type(gd_nc_variable), intent(in):: var
44 character(len = *), intent(in):: name
45 logical, intent(out), optional:: err
46 type(gd_nc_variable_entry):: ent
47 integer:: stat
48continue
49 stat = vtable_lookup(var, ent)
50 if (stat /= nf90_noerr) goto 999
51 stat = nf90_del_att(ent%fileid, ent%varid, name=name)
52 if (stat == 0) goto 999
53 if (stat /= nf90_enotindefine) goto 999
54 stat = gdncfiledefinemode(ent%fileid)
55 if (stat /= nf90_noerr) goto 999
56 if (name(1:1) == gt_plus) then
57 stat = nf90_del_att(ent%fileid, nf90_global, name=name(2:))
58 else
59 stat = nf90_del_att(ent%fileid, ent%varid, name=name)
60 endif
61
62999 continue
63 call storeerror(stat, 'GDNcVarPutAttrChar', err)
64end subroutine
subroutine gdncvardelattr(var, name, err)
Error handling module.
Definition dc_error.f90:454
subroutine, public storeerror(number, where, err, cause_c, cause_i)
Definition dc_error.f90:891
Variable URL string parser.
Definition dc_url.f90:61
character, parameter, public gt_plus
Definition dc_url.f90:109
integer function, public vtable_lookup(var, entry)