gtvardelattr.f90
Go to the documentation of this file.
1 !
2 != 属性の削除
3 !
4 ! Authors:: Eizi TOYODA, Yasuhiro MORIKAWA
5 ! Version:: $Id: gtvardelattr.f90,v 1.5 2009-05-25 09:55:58 morikawa Exp $
6 ! Tag Name:: $Name: $
7 ! Copyright:: Copyright (C) GFD Dennou Club, 2000-2005. All rights reserved.
8 ! License:: See COPYRIGHT[link:../../COPYRIGHT]
9 !
10 ! 以下のサブルーチン、関数は gtdata_generic から gtdata_generic#Del_Attr
11 ! として提供されます。
12 
13 subroutine gtvardelattr(var, name, err)
14  !
15  !== 属性の削除
16  !
17  ! 変数 *var* の属性 *name* を削除します。
18  !
19  ! 属性の削除時にエラーが生じた場合、メッセージを出力
20  ! してプログラムは強制終了します。*err* を与えてある場合には
21  ! の引数に .true. が返り、プログラムは終了しません。
22  !
23  use gtdata_types, only: gt_variable
24  use gtdata_internal_map, only: var_class, vtb_class_netcdf, vtb_class_memory
29  use dc_error, only: gt_ebadvar, storeerror
30  implicit none
31  type(gt_variable), intent(inout):: var
32  character(len = *), intent(in):: name
33  logical, intent(out), optional:: err
34  integer:: class, cid
35 continue
36  call var_class(var, class, cid)
37  if (class == vtb_class_netcdf) then
38  call del_attr(gd_nc_variable(cid), name, err)
39  else if (class == vtb_class_memory) then
40  call del_attr(gd_mem_variable(cid), name, err)
41  else
42  call storeerror(gt_ebadvar, 'GTVarDelAttr', err)
43  endif
44 end subroutine gtvardelattr
subroutine gtvardelattr(var, name, err)
subroutine, public storeerror(number, where, err, cause_c, cause_i)
Definition: dc_error.f90:830
integer, parameter, public gt_ebadvar
Definition: dc_error.f90:539
subroutine, public var_class(var, class, cid)