gtool5 Fortran 90/95 Library 1.0.0-rc5
日本語
Loading...
Searching...
No Matches
Functions/Subroutines
historyvarinfoaddattr.f90 File Reference

Go to the source code of this file.

Functions/Subroutines

subroutine historyvarinfoaddattrchar0 (varinfo, attrname, value, err)
 GT_HISTORY_VARINFO 型変数への属性付加
 
subroutine historyvarinfoaddattr2char0 (varinfo, attrname, value, err)
 
subroutine historyvarinfoaddattrlogical0 (varinfo, attrname, value, err)
 
subroutine historyvarinfoaddattr2logical0 (varinfo, attrname, value, err)
 
subroutine historyvarinfoaddattrint0 (varinfo, attrname, value, err)
 
subroutine historyvarinfoaddattr2int0 (varinfo, attrname, value, err)
 
subroutine historyvarinfoaddattrint1 (varinfo, attrname, value, err)
 
subroutine historyvarinfoaddattr2int1 (varinfo, attrname, value, err)
 
subroutine historyvarinfoaddattrreal0 (varinfo, attrname, value, err)
 
subroutine historyvarinfoaddattr2real0 (varinfo, attrname, value, err)
 
subroutine historyvarinfoaddattrreal1 (varinfo, attrname, value, err)
 
subroutine historyvarinfoaddattr2real1 (varinfo, attrname, value, err)
 
subroutine historyvarinfoaddattrdouble0 (varinfo, attrname, value, err)
 
subroutine historyvarinfoaddattr2double0 (varinfo, attrname, value, err)
 
subroutine historyvarinfoaddattrdouble1 (varinfo, attrname, value, err)
 
subroutine historyvarinfoaddattr2double1 (varinfo, attrname, value, err)
 

Function/Subroutine Documentation

◆ historyvarinfoaddattr2char0()

subroutine historyvarinfoaddattr2char0 ( type(gt_history_varinfo), intent(inout)  varinfo,
character(*), intent(in)  attrname,
character(*), intent(in)  value,
logical, intent(out), optional  err 
)

Definition at line 128 of file historyvarinfoaddattr.f90.

130 !
131 !
132 ! 使用方法は HistoryVarinfoAddAttr と同様です.
133 !
134 ! Usage is same as "HistoryVarinfoAddAttr".
135 !
136 !--
137 ! 総称名 Put_Attr として提供するための関数です.
138 ! 機能は HistoryVarinfoAttr と同じです.
139 !++
140
141 !
144 use dc_trace, only: beginsub, endsub
145
146 implicit none
147 type(GT_HISTORY_VARINFO),intent(inout) :: varinfo
148 character(*), intent(in):: attrname ! 属性の名前
149 character(*), intent(in):: value
150 logical, intent(out), optional:: err
151 character(*), parameter:: subname = "HistoryVarinfoAddAttr2Char0"
152 continue
153 call beginsub(subname)
155 & varinfo, attrname, value, err )
156 call endsub(subname)
Debug tracing module.
Definition dc_trace.f90:150
subroutine, public beginsub(name, fmt, i, r, d, l, n, c1, c2, c3, ca, version)
Definition dc_trace.f90:476
subroutine, public endsub(name, fmt, i, r, d, l, n, c1, c2, c3, ca)
Definition dc_trace.f90:599

References dc_trace::beginsub(), and dc_trace::endsub().

Here is the call graph for this function:

◆ historyvarinfoaddattr2double0()

subroutine historyvarinfoaddattr2double0 ( type(gt_history_varinfo), intent(inout)  varinfo,
character(*), intent(in)  attrname,
real(dp), intent(in)  value,
logical, intent(out), optional  err 
)

Definition at line 769 of file historyvarinfoaddattr.f90.

771 !
772
773 !
776 use dc_trace, only: beginsub, endsub
777 use dc_types, only: dp
778
779 implicit none
780 type(GT_HISTORY_VARINFO),intent(inout) :: varinfo
781 character(*), intent(in):: attrname ! 属性の名前
782 real(DP), intent(in):: value
783 logical, intent(out), optional:: err
784 character(*), parameter:: subname = "HistoryVarinfoAddAttr2Double0"
785 continue
786 call beginsub(subname)
788 & varinfo, attrname, value, err )
789 call endsub(subname)
Provides kind type parameter values.
Definition dc_types.f90:55
integer, parameter, public dp
Double Precision Real number
Definition dc_types.f90:92

References dc_trace::beginsub(), dc_types::dp, and dc_trace::endsub().

Here is the call graph for this function:

◆ historyvarinfoaddattr2double1()

subroutine historyvarinfoaddattr2double1 ( type(gt_history_varinfo), intent(inout)  varinfo,
character(*), intent(in)  attrname,
real(dp), dimension(:), intent(in)  value,
logical, intent(out), optional  err 
)

Definition at line 876 of file historyvarinfoaddattr.f90.

878 !
879
880 !
883 use dc_trace, only: beginsub, endsub
884 use dc_types, only: dp
885
886 implicit none
887 type(GT_HISTORY_VARINFO),intent(inout) :: varinfo
888 character(*), intent(in):: attrname ! 属性の名前
889 real(DP), intent(in):: value(:)
890 logical, intent(out), optional:: err
891 character(*), parameter:: subname = "HistoryVarinfoAddAttr2Double1"
892 continue
893 call beginsub(subname)
895 & varinfo, attrname, value, err )
896 call endsub(subname)

References dc_trace::beginsub(), dc_types::dp, and dc_trace::endsub().

Here is the call graph for this function:

◆ historyvarinfoaddattr2int0()

subroutine historyvarinfoaddattr2int0 ( type(gt_history_varinfo), intent(inout)  varinfo,
character(*), intent(in)  attrname,
integer, intent(in)  value,
logical, intent(out), optional  err 
)

Definition at line 347 of file historyvarinfoaddattr.f90.

349 !
350
351 !
354 use dc_trace, only: beginsub, endsub
355
356 implicit none
357 type(GT_HISTORY_VARINFO),intent(inout) :: varinfo
358 character(*), intent(in):: attrname ! 属性の名前
359 integer, intent(in):: value
360 logical, intent(out), optional:: err
361 character(*), parameter:: subname = "HistoryVarinfoAddAttr2Int0"
362 continue
363 call beginsub(subname)
365 & varinfo, attrname, value, err )
366 call endsub(subname)

References dc_trace::beginsub(), and dc_trace::endsub().

Here is the call graph for this function:

◆ historyvarinfoaddattr2int1()

subroutine historyvarinfoaddattr2int1 ( type(gt_history_varinfo), intent(inout)  varinfo,
character(*), intent(in)  attrname,
integer, dimension(:), intent(in)  value,
logical, intent(out), optional  err 
)

Definition at line 453 of file historyvarinfoaddattr.f90.

455 !
456
457 !
460 use dc_trace, only: beginsub, endsub
461
462 implicit none
463 type(GT_HISTORY_VARINFO),intent(inout) :: varinfo
464 character(*), intent(in):: attrname ! 属性の名前
465 integer, intent(in):: value(:)
466 logical, intent(out), optional:: err
467 character(*), parameter:: subname = "HistoryVarinfoAddAttr2Int1"
468 continue
469 call beginsub(subname)
471 & varinfo, attrname, value, err )
472 call endsub(subname)

References dc_trace::beginsub(), and dc_trace::endsub().

Here is the call graph for this function:

◆ historyvarinfoaddattr2logical0()

subroutine historyvarinfoaddattr2logical0 ( type(gt_history_varinfo), intent(inout)  varinfo,
character(*), intent(in)  attrname,
logical, intent(in)  value,
logical, intent(out), optional  err 
)

Definition at line 242 of file historyvarinfoaddattr.f90.

244 !
245
246 !
249 use dc_trace, only: beginsub, endsub
250
251 implicit none
252 type(GT_HISTORY_VARINFO),intent(inout) :: varinfo
253 character(*), intent(in):: attrname ! 属性の名前
254 logical, intent(in):: value
255 logical, intent(out), optional:: err
256 character(*), parameter:: subname = "HistoryVarinfoAddAttr2Logical0"
257 continue
258 call beginsub(subname)
260 & varinfo, attrname, value, err )
261 call endsub(subname)

References dc_trace::beginsub(), and dc_trace::endsub().

Here is the call graph for this function:

◆ historyvarinfoaddattr2real0()

subroutine historyvarinfoaddattr2real0 ( type(gt_history_varinfo), intent(inout)  varinfo,
character(*), intent(in)  attrname,
real, intent(in)  value,
logical, intent(out), optional  err 
)

Definition at line 558 of file historyvarinfoaddattr.f90.

560 !
561
562 !
565 use dc_trace, only: beginsub, endsub
566
567 implicit none
568 type(GT_HISTORY_VARINFO),intent(inout) :: varinfo
569 character(*), intent(in):: attrname ! 属性の名前
570 real, intent(in):: value
571 logical, intent(out), optional:: err
572 character(*), parameter:: subname = "HistoryVarinfoAddAttr2Real0"
573 continue
574 call beginsub(subname)
576 & varinfo, attrname, value, err )
577 call endsub(subname)

References dc_trace::beginsub(), and dc_trace::endsub().

Here is the call graph for this function:

◆ historyvarinfoaddattr2real1()

subroutine historyvarinfoaddattr2real1 ( type(gt_history_varinfo), intent(inout)  varinfo,
character(*), intent(in)  attrname,
real, dimension(:), intent(in)  value,
logical, intent(out), optional  err 
)

Definition at line 664 of file historyvarinfoaddattr.f90.

666 !
667
668 !
671 use dc_trace, only: beginsub, endsub
672
673 implicit none
674 type(GT_HISTORY_VARINFO),intent(inout) :: varinfo
675 character(*), intent(in):: attrname ! 属性の名前
676 real, intent(in):: value(:)
677 logical, intent(out), optional:: err
678 character(*), parameter:: subname = "HistoryVarinfoAddAttr2Real1"
679 continue
680 call beginsub(subname)
682 & varinfo, attrname, value, err )
683 call endsub(subname)

References dc_trace::beginsub(), and dc_trace::endsub().

Here is the call graph for this function:

◆ historyvarinfoaddattrchar0()

subroutine historyvarinfoaddattrchar0 ( type(gt_history_varinfo), intent(inout)  varinfo,
character(*), intent(in)  attrname,
character(*), intent(in)  value,
logical, intent(out), optional  err 
)

GT_HISTORY_VARINFO 型変数への属性付加

Parameters
[in,out]varinfo

iline 1

GT_HISTORY_VARINFO 型の変数 varinfo へ属性を付加します。

HistoryVarinfoAddAttr は複数のサブルーチンの総称名です。 value には様々な型の引数を与えることが可能です。 下記のサブルーチンを参照ください。

Definition at line 31 of file historyvarinfoaddattr.f90.

33 !
34 !
42 !
43
44 !
48 use dc_string, only: tochar
51 use dc_types, only: string
52 implicit none
53 type(GT_HISTORY_VARINFO),intent(inout) :: varinfo
54 character(*), intent(in):: attrname ! 属性の名前
55 character(*), intent(in):: value
56 ! 属性に与えられる値
57 !
58 ! 配列の場合でも、数値型以外
59 ! では配列の 1 つ目の要素のみ
60 ! 値として付加されます。
61 !
62
63 logical, intent(out), optional:: err
64 ! 例外処理用フラグ.
65 ! デフォルトでは, この手続き内でエラーが
66 ! 生じた場合, プログラムは強制終了します.
67 ! 引数 *err* が与えられる場合,
68 ! プログラムは強制終了せず, 代わりに
69 ! *err* に .true. が代入されます.
70 !
71 ! Exception handling flag.
72 ! By default, when error occur in
73 ! this procedure, the program aborts.
74 ! If this *err* argument is given,
75 ! .true. is substituted to *err* and
76 ! the program does not abort.
77
78 type(GT_HISTORY_ATTR), pointer:: attrs_tmp(:)
79 integer:: attrs_num, stat
80 character(STRING) :: name, cause_c
81 character(*), parameter:: subname = "HistoryVarinfoAddAttrChar0"
82 continue
83 call beginsub(subname, &
84 & 'attrname=<%c>, value=<%c>', &
85 & c1=trim(attrname), c2=trim(value))
86 stat = dc_noerr
87 cause_c = ''
88
89 if ( .not. varinfo % initialized ) then
90 stat = dc_enotinit
91 cause_c = 'GT_HISTORY_VARINFO'
92 goto 999
93 end if
94
95 call historyvarinfoinquire( varinfo, name )
96 call dbgmessage('varinfo name=<%c>', c1=trim(name))
97
98 ! これまでの属性を保持しつつ配列を1つ増やす
99 if ( .not. associated(varinfo % attrs) ) then
100 allocate( varinfo % attrs(1) )
101 attrs_num = 1
102 else
103 attrs_num = size( varinfo % attrs ) + 1
104 ! 配列データの領域確保
105 allocate( attrs_tmp(attrs_num - 1) )
106 call copy_attrs( from = varinfo % attrs(1:attrs_num - 1), &
107 & to = attrs_tmp(1:attrs_num - 1))
108 deallocate( varinfo % attrs )
109 allocate( varinfo % attrs(attrs_num) )
110 call copy_attrs( from = attrs_tmp(1:attrs_num - 1), &
111 & to = varinfo % attrs(1:attrs_num - 1))
112 deallocate( attrs_tmp )
113 endif
114
115 varinfo % attrs(attrs_num) % attrname = attrname
116 varinfo % attrs(attrs_num) % attrtype = 'Char'
117 varinfo % attrs(attrs_num) % array = .false.
118 varinfo % attrs(attrs_num) % Charvalue = value
119
120
121999 continue
122 call storeerror( stat, subname, err, cause_c )
123 call endsub(subname)
Error handling module.
Definition dc_error.f90:454
subroutine, public storeerror(number, where, err, cause_c, cause_i)
Definition dc_error.f90:891
integer, parameter, public dc_noerr
Error storage variables
Definition dc_error.f90:468
integer, parameter, public dc_enotinit
-400 or less: DC utilities errors
Definition dc_error.f90:534
Handling character types.
Definition dc_string.f90:83
subroutine, public dbgmessage(fmt, i, r, d, l, n, c1, c2, c3, ca)
Definition dc_trace.f90:680
integer, parameter, public string
Character length for string
Definition dc_types.f90:137

References dc_trace::beginsub(), dc_trace::dbgmessage(), dc_error::dc_enotinit, dc_error::dc_noerr, dc_trace::endsub(), dc_error::storeerror(), and dc_types::string.

Here is the call graph for this function:

◆ historyvarinfoaddattrdouble0()

subroutine historyvarinfoaddattrdouble0 ( type(gt_history_varinfo), intent(inout)  varinfo,
character(*), intent(in)  attrname,
real(dp), intent(in)  value,
logical, intent(out), optional  err 
)

Definition at line 687 of file historyvarinfoaddattr.f90.

689 !
690
691 !
695 use dc_string, only: tochar
698 use dc_types, only: string, dp
699 implicit none
700 type(GT_HISTORY_VARINFO),intent(inout) :: varinfo
701 character(*), intent(in):: attrname ! 属性の名前
702 real(DP), intent(in):: value
703
704 logical, intent(out), optional:: err
705 ! 例外処理用フラグ.
706 ! デフォルトでは, この手続き内でエラーが
707 ! 生じた場合, プログラムは強制終了します.
708 ! 引数 *err* が与えられる場合,
709 ! プログラムは強制終了せず, 代わりに
710 ! *err* に .true. が代入されます.
711 !
712 ! Exception handling flag.
713 ! By default, when error occur in
714 ! this procedure, the program aborts.
715 ! If this *err* argument is given,
716 ! .true. is substituted to *err* and
717 ! the program does not abort.
718
719 type(GT_HISTORY_ATTR), pointer:: attrs_tmp(:)
720 integer:: attrs_num, stat
721 character(STRING) :: name, cause_c
722 character(*), parameter:: subname = "HistoryVarinfoAddAttrDouble0"
723 continue
724 call beginsub(subname, &
725 & 'attrname=<%c>, value=<%c>', &
726 & c1=trim(attrname), c2=trim(tochar(value)))
727 stat = dc_noerr
728 cause_c = ''
729
730 if ( .not. varinfo % initialized ) then
731 stat = dc_enotinit
732 cause_c = 'GT_HISTORY_VARINFO'
733 goto 999
734 end if
735
736 call historyvarinfoinquire( varinfo, name )
737 call dbgmessage('varinfo name=<%c>', c1=trim(name))
738
739 ! これまでの属性を保持しつつ配列を1つ増やす
740 if ( .not. associated(varinfo % attrs) ) then
741 allocate( varinfo % attrs(1) )
742 attrs_num = 1
743 else
744 attrs_num = size( varinfo % attrs ) + 1
745 ! 配列データの領域確保
746 allocate( attrs_tmp(attrs_num - 1) )
747 call copy_attrs( from = varinfo % attrs(1:attrs_num - 1), &
748 & to = attrs_tmp(1:attrs_num - 1))
749 deallocate( varinfo % attrs )
750 allocate( varinfo % attrs(attrs_num) )
751 call copy_attrs( from = attrs_tmp(1:attrs_num - 1), &
752 & to = varinfo % attrs(1:attrs_num - 1))
753 deallocate( attrs_tmp )
754 endif
755
756 varinfo % attrs(attrs_num) % attrname = attrname
757 varinfo % attrs(attrs_num) % attrtype = 'Double'
758 varinfo % attrs(attrs_num) % array = .false.
759 varinfo % attrs(attrs_num) % Doublevalue = value
760
761
762999 continue
763 call storeerror( stat, subname, err, cause_c )
764 call endsub(subname)

References dc_trace::beginsub(), dc_trace::dbgmessage(), dc_error::dc_enotinit, dc_error::dc_noerr, dc_types::dp, dc_trace::endsub(), dc_error::storeerror(), and dc_types::string.

Here is the call graph for this function:

◆ historyvarinfoaddattrdouble1()

subroutine historyvarinfoaddattrdouble1 ( type(gt_history_varinfo), intent(inout)  varinfo,
character(*), intent(in)  attrname,
real(dp), dimension(:), intent(in)  value,
logical, intent(out), optional  err 
)

Definition at line 793 of file historyvarinfoaddattr.f90.

795 !
796
797 !
801 use dc_string, only: tochar
804 use dc_types, only: string, dp
805 implicit none
806 type(GT_HISTORY_VARINFO),intent(inout) :: varinfo
807 character(*), intent(in):: attrname ! 属性の名前
808 real(DP), intent(in):: value(:)
809
810 logical, intent(out), optional:: err
811 ! 例外処理用フラグ.
812 ! デフォルトでは, この手続き内でエラーが
813 ! 生じた場合, プログラムは強制終了します.
814 ! 引数 *err* が与えられる場合,
815 ! プログラムは強制終了せず, 代わりに
816 ! *err* に .true. が代入されます.
817 !
818 ! Exception handling flag.
819 ! By default, when error occur in
820 ! this procedure, the program aborts.
821 ! If this *err* argument is given,
822 ! .true. is substituted to *err* and
823 ! the program does not abort.
824
825 type(GT_HISTORY_ATTR), pointer:: attrs_tmp(:)
826 integer:: attrs_num, stat
827 character(STRING) :: name, cause_c
828 character(*), parameter:: subname = "HistoryVarinfoAddAttrDouble1"
829 continue
830 call beginsub(subname, &
831 & 'attrname=<%c>, value=<%c>', &
832 & c1=trim(attrname), c2=trim(tochar(value)))
833 stat = dc_noerr
834 cause_c = ''
835
836 if ( .not. varinfo % initialized ) then
837 stat = dc_enotinit
838 cause_c = 'GT_HISTORY_VARINFO'
839 goto 999
840 end if
841
842 call historyvarinfoinquire( varinfo, name )
843 call dbgmessage('varinfo name=<%c>', c1=trim(name))
844
845 ! これまでの属性を保持しつつ配列を1つ増やす
846 if ( .not. associated(varinfo % attrs) ) then
847 allocate( varinfo % attrs(1) )
848 attrs_num = 1
849 else
850 attrs_num = size( varinfo % attrs ) + 1
851 ! 配列データの領域確保
852 allocate( attrs_tmp(attrs_num - 1) )
853 call copy_attrs( from = varinfo % attrs(1:attrs_num - 1), &
854 & to = attrs_tmp(1:attrs_num - 1))
855 deallocate( varinfo % attrs )
856 allocate( varinfo % attrs(attrs_num) )
857 call copy_attrs( from = attrs_tmp(1:attrs_num - 1), &
858 & to = varinfo % attrs(1:attrs_num - 1))
859 deallocate( attrs_tmp )
860 endif
861
862 varinfo % attrs(attrs_num) % attrname = attrname
863 varinfo % attrs(attrs_num) % attrtype = 'Double'
864 varinfo % attrs(attrs_num) % array = .true.
865 allocate( varinfo % attrs(attrs_num) % Doublearray( size(value) ) )
866 varinfo % attrs(attrs_num) % Doublearray = value
867
868
869999 continue
870 call storeerror( stat, subname, err, cause_c )
871 call endsub(subname)

References dc_trace::beginsub(), dc_trace::dbgmessage(), dc_error::dc_enotinit, dc_error::dc_noerr, dc_types::dp, dc_trace::endsub(), dc_error::storeerror(), and dc_types::string.

Here is the call graph for this function:

◆ historyvarinfoaddattrint0()

subroutine historyvarinfoaddattrint0 ( type(gt_history_varinfo), intent(inout)  varinfo,
character(*), intent(in)  attrname,
integer, intent(in)  value,
logical, intent(out), optional  err 
)

Definition at line 265 of file historyvarinfoaddattr.f90.

267 !
268
269 !
273 use dc_string, only: tochar
276 use dc_types, only: string
277 implicit none
278 type(GT_HISTORY_VARINFO),intent(inout) :: varinfo
279 character(*), intent(in):: attrname ! 属性の名前
280 integer, intent(in):: value
281
282 logical, intent(out), optional:: err
283 ! 例外処理用フラグ.
284 ! デフォルトでは, この手続き内でエラーが
285 ! 生じた場合, プログラムは強制終了します.
286 ! 引数 *err* が与えられる場合,
287 ! プログラムは強制終了せず, 代わりに
288 ! *err* に .true. が代入されます.
289 !
290 ! Exception handling flag.
291 ! By default, when error occur in
292 ! this procedure, the program aborts.
293 ! If this *err* argument is given,
294 ! .true. is substituted to *err* and
295 ! the program does not abort.
296
297 type(GT_HISTORY_ATTR), pointer:: attrs_tmp(:)
298 integer:: attrs_num, stat
299 character(STRING) :: name, cause_c
300 character(*), parameter:: subname = "HistoryVarinfoAddAttrInt0"
301 continue
302 call beginsub(subname, &
303 & 'attrname=<%c>, value=<%c>', &
304 & c1=trim(attrname), c2=trim(tochar(value)))
305 stat = dc_noerr
306 cause_c = ''
307
308 if ( .not. varinfo % initialized ) then
309 stat = dc_enotinit
310 cause_c = 'GT_HISTORY_VARINFO'
311 goto 999
312 end if
313
314 call historyvarinfoinquire( varinfo, name )
315 call dbgmessage('varinfo name=<%c>', c1=trim(name))
316
317 ! これまでの属性を保持しつつ配列を1つ増やす
318 if ( .not. associated(varinfo % attrs) ) then
319 allocate( varinfo % attrs(1) )
320 attrs_num = 1
321 else
322 attrs_num = size( varinfo % attrs ) + 1
323 ! 配列データの領域確保
324 allocate( attrs_tmp(attrs_num - 1) )
325 call copy_attrs( from = varinfo % attrs(1:attrs_num - 1), &
326 & to = attrs_tmp(1:attrs_num - 1))
327 deallocate( varinfo % attrs )
328 allocate( varinfo % attrs(attrs_num) )
329 call copy_attrs( from = attrs_tmp(1:attrs_num - 1), &
330 & to = varinfo % attrs(1:attrs_num - 1))
331 deallocate( attrs_tmp )
332 endif
333
334 varinfo % attrs(attrs_num) % attrname = attrname
335 varinfo % attrs(attrs_num) % attrtype = 'Int'
336 varinfo % attrs(attrs_num) % array = .false.
337 varinfo % attrs(attrs_num) % Intvalue = value
338
339
340999 continue
341 call storeerror( stat, subname, err, cause_c )
342 call endsub(subname)

References dc_trace::beginsub(), dc_trace::dbgmessage(), dc_error::dc_enotinit, dc_error::dc_noerr, dc_trace::endsub(), dc_error::storeerror(), and dc_types::string.

Here is the call graph for this function:

◆ historyvarinfoaddattrint1()

subroutine historyvarinfoaddattrint1 ( type(gt_history_varinfo), intent(inout)  varinfo,
character(*), intent(in)  attrname,
integer, dimension(:), intent(in)  value,
logical, intent(out), optional  err 
)

Definition at line 370 of file historyvarinfoaddattr.f90.

372 !
373
374 !
378 use dc_string, only: tochar
381 use dc_types, only: string
382 implicit none
383 type(GT_HISTORY_VARINFO),intent(inout) :: varinfo
384 character(*), intent(in):: attrname ! 属性の名前
385 integer, intent(in):: value(:)
386
387 logical, intent(out), optional:: err
388 ! 例外処理用フラグ.
389 ! デフォルトでは, この手続き内でエラーが
390 ! 生じた場合, プログラムは強制終了します.
391 ! 引数 *err* が与えられる場合,
392 ! プログラムは強制終了せず, 代わりに
393 ! *err* に .true. が代入されます.
394 !
395 ! Exception handling flag.
396 ! By default, when error occur in
397 ! this procedure, the program aborts.
398 ! If this *err* argument is given,
399 ! .true. is substituted to *err* and
400 ! the program does not abort.
401
402 type(GT_HISTORY_ATTR), pointer:: attrs_tmp(:)
403 integer:: attrs_num, stat
404 character(STRING) :: name, cause_c
405 character(*), parameter:: subname = "HistoryVarinfoAddAttrInt1"
406 continue
407 call beginsub(subname, &
408 & 'attrname=<%c>, value=<%c>', &
409 & c1=trim(attrname), c2=trim(tochar(value)))
410 stat = dc_noerr
411 cause_c = ''
412
413 if ( .not. varinfo % initialized ) then
414 stat = dc_enotinit
415 cause_c = 'GT_HISTORY_VARINFO'
416 goto 999
417 end if
418
419 call historyvarinfoinquire( varinfo, name )
420 call dbgmessage('varinfo name=<%c>', c1=trim(name))
421
422 ! これまでの属性を保持しつつ配列を1つ増やす
423 if ( .not. associated(varinfo % attrs) ) then
424 allocate( varinfo % attrs(1) )
425 attrs_num = 1
426 else
427 attrs_num = size( varinfo % attrs ) + 1
428 ! 配列データの領域確保
429 allocate( attrs_tmp(attrs_num - 1) )
430 call copy_attrs( from = varinfo % attrs(1:attrs_num - 1), &
431 & to = attrs_tmp(1:attrs_num - 1))
432 deallocate( varinfo % attrs )
433 allocate( varinfo % attrs(attrs_num) )
434 call copy_attrs( from = attrs_tmp(1:attrs_num - 1), &
435 & to = varinfo % attrs(1:attrs_num - 1))
436 deallocate( attrs_tmp )
437 endif
438
439 varinfo % attrs(attrs_num) % attrname = attrname
440 varinfo % attrs(attrs_num) % attrtype = 'Int'
441 varinfo % attrs(attrs_num) % array = .true.
442 allocate( varinfo % attrs(attrs_num) % Intarray( size(value) ) )
443 varinfo % attrs(attrs_num) % Intarray = value
444
445
446999 continue
447 call storeerror( stat, subname, err, cause_c )
448 call endsub(subname)

References dc_trace::beginsub(), dc_trace::dbgmessage(), dc_error::dc_enotinit, dc_error::dc_noerr, dc_trace::endsub(), dc_error::storeerror(), and dc_types::string.

Here is the call graph for this function:

◆ historyvarinfoaddattrlogical0()

subroutine historyvarinfoaddattrlogical0 ( type(gt_history_varinfo), intent(inout)  varinfo,
character(*), intent(in)  attrname,
logical, intent(in)  value,
logical, intent(out), optional  err 
)

Definition at line 160 of file historyvarinfoaddattr.f90.

162 !
163
164 !
168 use dc_string, only: tochar
171 use dc_types, only: string
172 implicit none
173 type(GT_HISTORY_VARINFO),intent(inout) :: varinfo
174 character(*), intent(in):: attrname ! 属性の名前
175 logical, intent(in):: value
176
177 logical, intent(out), optional:: err
178 ! 例外処理用フラグ.
179 ! デフォルトでは, この手続き内でエラーが
180 ! 生じた場合, プログラムは強制終了します.
181 ! 引数 *err* が与えられる場合,
182 ! プログラムは強制終了せず, 代わりに
183 ! *err* に .true. が代入されます.
184 !
185 ! Exception handling flag.
186 ! By default, when error occur in
187 ! this procedure, the program aborts.
188 ! If this *err* argument is given,
189 ! .true. is substituted to *err* and
190 ! the program does not abort.
191
192 type(GT_HISTORY_ATTR), pointer:: attrs_tmp(:)
193 integer:: attrs_num, stat
194 character(STRING) :: name, cause_c
195 character(*), parameter:: subname = "HistoryVarinfoAddAttrLogical0"
196 continue
197 call beginsub(subname, &
198 & 'attrname=<%c>, value=<%c>', &
199 & c1=trim(attrname), c2=trim(tochar(value)))
200 stat = dc_noerr
201 cause_c = ''
202
203 if ( .not. varinfo % initialized ) then
204 stat = dc_enotinit
205 cause_c = 'GT_HISTORY_VARINFO'
206 goto 999
207 end if
208
209 call historyvarinfoinquire( varinfo, name )
210 call dbgmessage('varinfo name=<%c>', c1=trim(name))
211
212 ! これまでの属性を保持しつつ配列を1つ増やす
213 if ( .not. associated(varinfo % attrs) ) then
214 allocate( varinfo % attrs(1) )
215 attrs_num = 1
216 else
217 attrs_num = size( varinfo % attrs ) + 1
218 ! 配列データの領域確保
219 allocate( attrs_tmp(attrs_num - 1) )
220 call copy_attrs( from = varinfo % attrs(1:attrs_num - 1), &
221 & to = attrs_tmp(1:attrs_num - 1))
222 deallocate( varinfo % attrs )
223 allocate( varinfo % attrs(attrs_num) )
224 call copy_attrs( from = attrs_tmp(1:attrs_num - 1), &
225 & to = varinfo % attrs(1:attrs_num - 1))
226 deallocate( attrs_tmp )
227 endif
228
229 varinfo % attrs(attrs_num) % attrname = attrname
230 varinfo % attrs(attrs_num) % attrtype = 'Logical'
231 varinfo % attrs(attrs_num) % array = .false.
232 varinfo % attrs(attrs_num) % Logicalvalue = value
233
234
235999 continue
236 call storeerror( stat, subname, err, cause_c )
237 call endsub(subname)

References dc_trace::beginsub(), dc_trace::dbgmessage(), dc_error::dc_enotinit, dc_error::dc_noerr, dc_trace::endsub(), dc_error::storeerror(), and dc_types::string.

Here is the call graph for this function:

◆ historyvarinfoaddattrreal0()

subroutine historyvarinfoaddattrreal0 ( type(gt_history_varinfo), intent(inout)  varinfo,
character(*), intent(in)  attrname,
real, intent(in)  value,
logical, intent(out), optional  err 
)

Definition at line 476 of file historyvarinfoaddattr.f90.

478 !
479
480 !
484 use dc_string, only: tochar
487 use dc_types, only: string
488 implicit none
489 type(GT_HISTORY_VARINFO),intent(inout) :: varinfo
490 character(*), intent(in):: attrname ! 属性の名前
491 real, intent(in):: value
492
493 logical, intent(out), optional:: err
494 ! 例外処理用フラグ.
495 ! デフォルトでは, この手続き内でエラーが
496 ! 生じた場合, プログラムは強制終了します.
497 ! 引数 *err* が与えられる場合,
498 ! プログラムは強制終了せず, 代わりに
499 ! *err* に .true. が代入されます.
500 !
501 ! Exception handling flag.
502 ! By default, when error occur in
503 ! this procedure, the program aborts.
504 ! If this *err* argument is given,
505 ! .true. is substituted to *err* and
506 ! the program does not abort.
507
508 type(GT_HISTORY_ATTR), pointer:: attrs_tmp(:)
509 integer:: attrs_num, stat
510 character(STRING) :: name, cause_c
511 character(*), parameter:: subname = "HistoryVarinfoAddAttrReal0"
512 continue
513 call beginsub(subname, &
514 & 'attrname=<%c>, value=<%c>', &
515 & c1=trim(attrname), c2=trim(tochar(value)))
516 stat = dc_noerr
517 cause_c = ''
518
519 if ( .not. varinfo % initialized ) then
520 stat = dc_enotinit
521 cause_c = 'GT_HISTORY_VARINFO'
522 goto 999
523 end if
524
525 call historyvarinfoinquire( varinfo, name )
526 call dbgmessage('varinfo name=<%c>', c1=trim(name))
527
528 ! これまでの属性を保持しつつ配列を1つ増やす
529 if ( .not. associated(varinfo % attrs) ) then
530 allocate( varinfo % attrs(1) )
531 attrs_num = 1
532 else
533 attrs_num = size( varinfo % attrs ) + 1
534 ! 配列データの領域確保
535 allocate( attrs_tmp(attrs_num - 1) )
536 call copy_attrs( from = varinfo % attrs(1:attrs_num - 1), &
537 & to = attrs_tmp(1:attrs_num - 1))
538 deallocate( varinfo % attrs )
539 allocate( varinfo % attrs(attrs_num) )
540 call copy_attrs( from = attrs_tmp(1:attrs_num - 1), &
541 & to = varinfo % attrs(1:attrs_num - 1))
542 deallocate( attrs_tmp )
543 endif
544
545 varinfo % attrs(attrs_num) % attrname = attrname
546 varinfo % attrs(attrs_num) % attrtype = 'Real'
547 varinfo % attrs(attrs_num) % array = .false.
548 varinfo % attrs(attrs_num) % Realvalue = value
549
550
551999 continue
552 call storeerror( stat, subname, err, cause_c )
553 call endsub(subname)

References dc_trace::beginsub(), dc_trace::dbgmessage(), dc_error::dc_enotinit, dc_error::dc_noerr, dc_trace::endsub(), dc_error::storeerror(), and dc_types::string.

Here is the call graph for this function:

◆ historyvarinfoaddattrreal1()

subroutine historyvarinfoaddattrreal1 ( type(gt_history_varinfo), intent(inout)  varinfo,
character(*), intent(in)  attrname,
real, dimension(:), intent(in)  value,
logical, intent(out), optional  err 
)

Definition at line 581 of file historyvarinfoaddattr.f90.

583 !
584
585 !
589 use dc_string, only: tochar
592 use dc_types, only: string
593 implicit none
594 type(GT_HISTORY_VARINFO),intent(inout) :: varinfo
595 character(*), intent(in):: attrname ! 属性の名前
596 real, intent(in):: value(:)
597
598 logical, intent(out), optional:: err
599 ! 例外処理用フラグ.
600 ! デフォルトでは, この手続き内でエラーが
601 ! 生じた場合, プログラムは強制終了します.
602 ! 引数 *err* が与えられる場合,
603 ! プログラムは強制終了せず, 代わりに
604 ! *err* に .true. が代入されます.
605 !
606 ! Exception handling flag.
607 ! By default, when error occur in
608 ! this procedure, the program aborts.
609 ! If this *err* argument is given,
610 ! .true. is substituted to *err* and
611 ! the program does not abort.
612
613 type(GT_HISTORY_ATTR), pointer:: attrs_tmp(:)
614 integer:: attrs_num, stat
615 character(STRING) :: name, cause_c
616 character(*), parameter:: subname = "HistoryVarinfoAddAttrReal1"
617 continue
618 call beginsub(subname, &
619 & 'attrname=<%c>, value=<%c>', &
620 & c1=trim(attrname), c2=trim(tochar(value)))
621 stat = dc_noerr
622 cause_c = ''
623
624 if ( .not. varinfo % initialized ) then
625 stat = dc_enotinit
626 cause_c = 'GT_HISTORY_VARINFO'
627 goto 999
628 end if
629
630 call historyvarinfoinquire( varinfo, name )
631 call dbgmessage('varinfo name=<%c>', c1=trim(name))
632
633 ! これまでの属性を保持しつつ配列を1つ増やす
634 if ( .not. associated(varinfo % attrs) ) then
635 allocate( varinfo % attrs(1) )
636 attrs_num = 1
637 else
638 attrs_num = size( varinfo % attrs ) + 1
639 ! 配列データの領域確保
640 allocate( attrs_tmp(attrs_num - 1) )
641 call copy_attrs( from = varinfo % attrs(1:attrs_num - 1), &
642 & to = attrs_tmp(1:attrs_num - 1))
643 deallocate( varinfo % attrs )
644 allocate( varinfo % attrs(attrs_num) )
645 call copy_attrs( from = attrs_tmp(1:attrs_num - 1), &
646 & to = varinfo % attrs(1:attrs_num - 1))
647 deallocate( attrs_tmp )
648 endif
649
650 varinfo % attrs(attrs_num) % attrname = attrname
651 varinfo % attrs(attrs_num) % attrtype = 'Real'
652 varinfo % attrs(attrs_num) % array = .true.
653 allocate( varinfo % attrs(attrs_num) % Realarray( size(value) ) )
654 varinfo % attrs(attrs_num) % Realarray = value
655
656
657999 continue
658 call storeerror( stat, subname, err, cause_c )
659 call endsub(subname)

References dc_trace::beginsub(), dc_trace::dbgmessage(), dc_error::dc_enotinit, dc_error::dc_noerr, dc_trace::endsub(), dc_error::storeerror(), and dc_types::string.

Here is the call graph for this function: