gtool5 Fortran 90/95 Library 1.0.0-rc5
日本語
Loading...
Searching...
No Matches
historygetattr.f90
Go to the documentation of this file.
1!--
2! *** Caution!! ***
3!
4! This file is generated from "historygetattr.rb2f90" by Ruby 3.3.8.
5! Please do not edit this file directly.
6!
7! [JAPANESE]
8!
9! ※※※ 注意!!! ※※※
10!
11! このファイルは "historygetattr.rb2f90" から Ruby 3.3.8
12! によって自動生成されたファイルです.
13! このファイルを直接編集しませんようお願い致します.
14!
15!
16!++
37 & file, varname, attrname, & ! (in)
38 & value, & ! (out)
39 & flag_mpi_split, & ! (in) optional
40 & err & ! (out) optional
41 & )
42 !
43 !
63 !
64 !
65 use gtdata_types, only: gt_variable
67 use dc_types, only: string
68 use dc_url, only: urlmerge
70 use dc_trace, only: beginsub, endsub
72 implicit none
73 character(*), intent(in):: file
74 ! netCDF ファイル名.
75 character(*), intent(in):: varname
76 ! 変数名.
77 character(*), intent(in):: attrname
78 ! 属性の名称.
79 !
80 ! "<b><tt>+</tt></b>" (プラス)
81 ! を属性名の先頭につける場合には,
82 ! 大域属性を取得します.
83 character(*), intent(out):: value
84 ! 属性の値.
85 !
86 logical, intent(in), optional:: flag_mpi_split
87 ! MPI 使用時にこの引数に .true. を与えると,
88 ! *file* 引数に "_rankXXXXXX"
89 ! (X は [0-9] の数値で, ノード番号を指す)
90 ! を付加したファイル名を各ノードで読み込みます.
91 ! 例えば, *file* に "input.nc" を与えた場合.
92 ! ノード 0 では "input_rank000000.nc",
93 ! ノード 12 では "input_rank000012.nc"
94 ! を読み込みます.
95 ! デフォルトは .false. です.
96 !
97 ! When MPI is used, if ".true." is given,
98 ! a filename that "_rankXXXXXX"
99 ! (X is [0-9] that indicates node number)
100 ! is added to *file* argument is loaded
101 ! on each node.
102 ! For example, "input.nc" is given to *file*,
103 ! "input_rank000000.nc", "input_rank000012.nc"
104 ! are loaded on node 0 and node 12.
105 ! Default value is ".false.".
106 !
107 logical, intent(out), optional:: err
108 ! 例外処理用フラグ.
109 ! デフォルトでは, この手続き内でエラーが
110 ! 生じた場合, プログラムは強制終了します.
111 ! 引数 *err* が与えられる場合,
112 ! プログラムは強制終了せず, 代わりに
113 ! *err* に .true. が代入されます.
114 !
115 ! Exception handling flag.
116 ! By default, when error occur in
117 ! this procedure, the program aborts.
118 ! If this *err* argument is given,
119 ! .true. is substituted to *err* and
120 ! the program does not abort.
121 type(gt_variable):: var
122 character(STRING):: file_work, url
123 integer:: stat
124 character(STRING):: cause_c
125 character(len = *), parameter:: subname = "HistoryGetAttrChar0"
126 !--
127 interface ! historyget.rb2f90 で定義されているものを使用
128 function file_rename_mpi( file ) result(result)
129 use dc_types, only: string
130 character(*), intent(in):: file
131 character(STRING):: result
132 end function file_rename_mpi
133 end interface
134 !++
135 continue
136 call beginsub(subname, &
137 & 'file=<%c> varname=<%c> attrname=<%c>', &
138 & c1=trim(file), c2=trim(varname), c3=trim(attrname) )
139 stat = dc_noerr
140 cause_c = ''
141 ! ファイル名の変更 (MPI 用)
142 ! Change filename (for MPI)
143 !
144 file_work = file
145 if ( present_and_true( flag_mpi_split ) ) &
146 & file_work = file_rename_mpi( file_work )
147 ! 変数 URL の作成
148 ! Create variable URL
149 !
150 url = urlmerge( file_work, varname )
151 ! ファイルオープン
152 ! File open
153 !
154 call open( var, url, err = err )
155 if ( present_and_true(err) ) then
156 stat = gt_enoturl
157 cause_c = url
158 goto 999
159 end if
160 ! デフォルト値の設定
161 ! Set default value
162 !
163 ! 属性の取得
164 ! Get an attribute
165 !
166 call get_attr( var, attrname, value &
167 & )
168 ! ファイルオープン
169 ! File open
170 !
171 call close( var )
172999 continue
173 call storeerror(stat, subname, err, cause_c=cause_c)
174 call endsub(subname)
175 end subroutine
177 & file, varname, attrname, & ! (in)
178 & value, & ! (out)
179 & flag_mpi_split, & ! (in) optional
180 & err & ! (out) optional
181 & )
182 !
183 !
184 use gtdata_types, only: gt_variable
185 use gtdata_generic, only: get_attr, open, close
186 use dc_types, only: string
187 use dc_url, only: urlmerge
189 use dc_trace, only: beginsub, endsub
191 implicit none
192 character(*), intent(in):: file
193 character(*), intent(in):: varname
194 character(*), intent(in):: attrname
195 integer, intent(out):: value
196 logical, intent(in), optional:: flag_mpi_split
197 logical, intent(out), optional:: err
198 type(gt_variable):: var
199 character(STRING):: file_work, url
200 integer:: stat
201 character(STRING):: cause_c
202 character(len = *), parameter:: subname = "HistoryGetAttrInt0"
203 !--
204 interface ! historyget.rb2f90 で定義されているものを使用
205 function file_rename_mpi( file ) result(result)
206 use dc_types, only: string
207 character(*), intent(in):: file
208 character(STRING):: result
209 end function file_rename_mpi
210 end interface
211 !++
212 continue
213 call beginsub(subname, &
214 & 'file=<%c> varname=<%c> attrname=<%c>', &
215 & c1=trim(file), c2=trim(varname), c3=trim(attrname) )
216 stat = dc_noerr
217 cause_c = ''
218 ! ファイル名の変更 (MPI 用)
219 ! Change filename (for MPI)
220 !
221 file_work = file
222 if ( present_and_true( flag_mpi_split ) ) &
223 & file_work = file_rename_mpi( file_work )
224 ! 変数 URL の作成
225 ! Create variable URL
226 !
227 url = urlmerge( file_work, varname )
228 ! ファイルオープン
229 ! File open
230 !
231 call open( var, url, err = err )
232 if ( present_and_true(err) ) then
233 stat = gt_enoturl
234 cause_c = url
235 goto 999
236 end if
237 ! デフォルト値の設定
238 ! Set default value
239 !
240 ! 属性の取得
241 ! Get an attribute
242 !
243 call get_attr( var, attrname, value &
244 & )
245 ! ファイルオープン
246 ! File open
247 !
248 call close( var )
249999 continue
250 call storeerror(stat, subname, err, cause_c=cause_c)
251 call endsub(subname)
252 end subroutine
254 & file, varname, attrname, & ! (in)
255 & value, & ! (out)
256 & flag_mpi_split, & ! (in) optional
257 & err & ! (out) optional
258 & )
259 !
260 !
261 use gtdata_types, only: gt_variable
262 use gtdata_generic, only: get_attr, open, close
263 use dc_types, only: string
264 use dc_url, only: urlmerge
266 use dc_trace, only: beginsub, endsub
268 use netcdf, only: nf90_fill_int
269 implicit none
270 character(*), intent(in):: file
271 character(*), intent(in):: varname
272 character(*), intent(in):: attrname
273 integer, intent(out):: value(:)
274 logical, intent(in), optional:: flag_mpi_split
275 logical, intent(out), optional:: err
276 type(gt_variable):: var
277 integer:: default
278 character(STRING):: file_work, url
279 integer:: stat
280 character(STRING):: cause_c
281 character(len = *), parameter:: subname = "HistoryGetAttrInt1"
282 !--
283 interface ! historyget.rb2f90 で定義されているものを使用
284 function file_rename_mpi( file ) result(result)
285 use dc_types, only: string
286 character(*), intent(in):: file
287 character(STRING):: result
288 end function file_rename_mpi
289 end interface
290 !++
291 continue
292 call beginsub(subname, &
293 & 'file=<%c> varname=<%c> attrname=<%c>', &
294 & c1=trim(file), c2=trim(varname), c3=trim(attrname) )
295 stat = dc_noerr
296 cause_c = ''
297 ! ファイル名の変更 (MPI 用)
298 ! Change filename (for MPI)
299 !
300 file_work = file
301 if ( present_and_true( flag_mpi_split ) ) &
302 & file_work = file_rename_mpi( file_work )
303 ! 変数 URL の作成
304 ! Create variable URL
305 !
306 url = urlmerge( file_work, varname )
307 ! ファイルオープン
308 ! File open
309 !
310 call open( var, url, err = err )
311 if ( present_and_true(err) ) then
312 stat = gt_enoturl
313 cause_c = url
314 goto 999
315 end if
316 ! デフォルト値の設定
317 ! Set default value
318 !
319 default = nf90_fill_int
320 ! 属性の取得
321 ! Get an attribute
322 !
323 call get_attr( var, attrname, value &
324 & , default &
325 & )
326 ! ファイルオープン
327 ! File open
328 !
329 call close( var )
330999 continue
331 call storeerror(stat, subname, err, cause_c=cause_c)
332 call endsub(subname)
333 end subroutine
335 & file, varname, attrname, & ! (in)
336 & value, & ! (out)
337 & flag_mpi_split, & ! (in) optional
338 & err & ! (out) optional
339 & )
340 !
341 !
342 use gtdata_types, only: gt_variable
343 use gtdata_generic, only: get_attr, open, close
344 use dc_types, only: string
345 use dc_url, only: urlmerge
347 use dc_trace, only: beginsub, endsub
349 implicit none
350 character(*), intent(in):: file
351 character(*), intent(in):: varname
352 character(*), intent(in):: attrname
353 real, intent(out):: value
354 logical, intent(in), optional:: flag_mpi_split
355 logical, intent(out), optional:: err
356 type(gt_variable):: var
357 character(STRING):: file_work, url
358 integer:: stat
359 character(STRING):: cause_c
360 character(len = *), parameter:: subname = "HistoryGetAttrReal0"
361 !--
362 interface ! historyget.rb2f90 で定義されているものを使用
363 function file_rename_mpi( file ) result(result)
364 use dc_types, only: string
365 character(*), intent(in):: file
366 character(STRING):: result
367 end function file_rename_mpi
368 end interface
369 !++
370 continue
371 call beginsub(subname, &
372 & 'file=<%c> varname=<%c> attrname=<%c>', &
373 & c1=trim(file), c2=trim(varname), c3=trim(attrname) )
374 stat = dc_noerr
375 cause_c = ''
376 ! ファイル名の変更 (MPI 用)
377 ! Change filename (for MPI)
378 !
379 file_work = file
380 if ( present_and_true( flag_mpi_split ) ) &
381 & file_work = file_rename_mpi( file_work )
382 ! 変数 URL の作成
383 ! Create variable URL
384 !
385 url = urlmerge( file_work, varname )
386 ! ファイルオープン
387 ! File open
388 !
389 call open( var, url, err = err )
390 if ( present_and_true(err) ) then
391 stat = gt_enoturl
392 cause_c = url
393 goto 999
394 end if
395 ! デフォルト値の設定
396 ! Set default value
397 !
398 ! 属性の取得
399 ! Get an attribute
400 !
401 call get_attr( var, attrname, value &
402 & )
403 ! ファイルオープン
404 ! File open
405 !
406 call close( var )
407999 continue
408 call storeerror(stat, subname, err, cause_c=cause_c)
409 call endsub(subname)
410 end subroutine
412 & file, varname, attrname, & ! (in)
413 & value, & ! (out)
414 & flag_mpi_split, & ! (in) optional
415 & err & ! (out) optional
416 & )
417 !
418 !
419 use gtdata_types, only: gt_variable
420 use gtdata_generic, only: get_attr, open, close
421 use dc_types, only: string
422 use dc_url, only: urlmerge
424 use dc_trace, only: beginsub, endsub
426 use netcdf, only: nf90_fill_float
427 implicit none
428 character(*), intent(in):: file
429 character(*), intent(in):: varname
430 character(*), intent(in):: attrname
431 real, intent(out):: value(:)
432 logical, intent(in), optional:: flag_mpi_split
433 logical, intent(out), optional:: err
434 type(gt_variable):: var
435 real:: default
436 character(STRING):: file_work, url
437 integer:: stat
438 character(STRING):: cause_c
439 character(len = *), parameter:: subname = "HistoryGetAttrReal1"
440 !--
441 interface ! historyget.rb2f90 で定義されているものを使用
442 function file_rename_mpi( file ) result(result)
443 use dc_types, only: string
444 character(*), intent(in):: file
445 character(STRING):: result
446 end function file_rename_mpi
447 end interface
448 !++
449 continue
450 call beginsub(subname, &
451 & 'file=<%c> varname=<%c> attrname=<%c>', &
452 & c1=trim(file), c2=trim(varname), c3=trim(attrname) )
453 stat = dc_noerr
454 cause_c = ''
455 ! ファイル名の変更 (MPI 用)
456 ! Change filename (for MPI)
457 !
458 file_work = file
459 if ( present_and_true( flag_mpi_split ) ) &
460 & file_work = file_rename_mpi( file_work )
461 ! 変数 URL の作成
462 ! Create variable URL
463 !
464 url = urlmerge( file_work, varname )
465 ! ファイルオープン
466 ! File open
467 !
468 call open( var, url, err = err )
469 if ( present_and_true(err) ) then
470 stat = gt_enoturl
471 cause_c = url
472 goto 999
473 end if
474 ! デフォルト値の設定
475 ! Set default value
476 !
477 default = nf90_fill_float
478 ! 属性の取得
479 ! Get an attribute
480 !
481 call get_attr( var, attrname, value &
482 & , default &
483 & )
484 ! ファイルオープン
485 ! File open
486 !
487 call close( var )
488999 continue
489 call storeerror(stat, subname, err, cause_c=cause_c)
490 call endsub(subname)
491 end subroutine
493 & file, varname, attrname, & ! (in)
494 & value, & ! (out)
495 & flag_mpi_split, & ! (in) optional
496 & err & ! (out) optional
497 & )
498 !
499 !
500 use gtdata_types, only: gt_variable
501 use gtdata_generic, only: get_attr, open, close
502 use dc_types, only: string, dp
503 use dc_url, only: urlmerge
505 use dc_trace, only: beginsub, endsub
507 implicit none
508 character(*), intent(in):: file
509 character(*), intent(in):: varname
510 character(*), intent(in):: attrname
511 real(DP), intent(out):: value
512 logical, intent(in), optional:: flag_mpi_split
513 logical, intent(out), optional:: err
514 type(gt_variable):: var
515 character(STRING):: file_work, url
516 integer:: stat
517 character(STRING):: cause_c
518 character(len = *), parameter:: subname = "HistoryGetAttrDouble0"
519 !--
520 interface ! historyget.rb2f90 で定義されているものを使用
521 function file_rename_mpi( file ) result(result)
522 use dc_types, only: string
523 character(*), intent(in):: file
524 character(STRING):: result
525 end function file_rename_mpi
526 end interface
527 !++
528 continue
529 call beginsub(subname, &
530 & 'file=<%c> varname=<%c> attrname=<%c>', &
531 & c1=trim(file), c2=trim(varname), c3=trim(attrname) )
532 stat = dc_noerr
533 cause_c = ''
534 ! ファイル名の変更 (MPI 用)
535 ! Change filename (for MPI)
536 !
537 file_work = file
538 if ( present_and_true( flag_mpi_split ) ) &
539 & file_work = file_rename_mpi( file_work )
540 ! 変数 URL の作成
541 ! Create variable URL
542 !
543 url = urlmerge( file_work, varname )
544 ! ファイルオープン
545 ! File open
546 !
547 call open( var, url, err = err )
548 if ( present_and_true(err) ) then
549 stat = gt_enoturl
550 cause_c = url
551 goto 999
552 end if
553 ! デフォルト値の設定
554 ! Set default value
555 !
556 ! 属性の取得
557 ! Get an attribute
558 !
559 call get_attr( var, attrname, value &
560 & )
561 ! ファイルオープン
562 ! File open
563 !
564 call close( var )
565999 continue
566 call storeerror(stat, subname, err, cause_c=cause_c)
567 call endsub(subname)
568 end subroutine
570 & file, varname, attrname, & ! (in)
571 & value, & ! (out)
572 & flag_mpi_split, & ! (in) optional
573 & err & ! (out) optional
574 & )
575 !
576 !
577 use gtdata_types, only: gt_variable
578 use gtdata_generic, only: get_attr, open, close
579 use dc_types, only: string, dp
580 use dc_url, only: urlmerge
582 use dc_trace, only: beginsub, endsub
584 use netcdf, only: nf90_fill_double
585 implicit none
586 character(*), intent(in):: file
587 character(*), intent(in):: varname
588 character(*), intent(in):: attrname
589 real(DP), intent(out):: value(:)
590 logical, intent(in), optional:: flag_mpi_split
591 logical, intent(out), optional:: err
592 type(gt_variable):: var
593 real(DP):: default
594 character(STRING):: file_work, url
595 integer:: stat
596 character(STRING):: cause_c
597 character(len = *), parameter:: subname = "HistoryGetAttrDouble1"
598 !--
599 interface ! historyget.rb2f90 で定義されているものを使用
600 function file_rename_mpi( file ) result(result)
601 use dc_types, only: string
602 character(*), intent(in):: file
603 character(STRING):: result
604 end function file_rename_mpi
605 end interface
606 !++
607 continue
608 call beginsub(subname, &
609 & 'file=<%c> varname=<%c> attrname=<%c>', &
610 & c1=trim(file), c2=trim(varname), c3=trim(attrname) )
611 stat = dc_noerr
612 cause_c = ''
613 ! ファイル名の変更 (MPI 用)
614 ! Change filename (for MPI)
615 !
616 file_work = file
617 if ( present_and_true( flag_mpi_split ) ) &
618 & file_work = file_rename_mpi( file_work )
619 ! 変数 URL の作成
620 ! Create variable URL
621 !
622 url = urlmerge( file_work, varname )
623 ! ファイルオープン
624 ! File open
625 !
626 call open( var, url, err = err )
627 if ( present_and_true(err) ) then
628 stat = gt_enoturl
629 cause_c = url
630 goto 999
631 end if
632 ! デフォルト値の設定
633 ! Set default value
634 !
635 default = nf90_fill_double
636 ! 属性の取得
637 ! Get an attribute
638 !
639 call get_attr( var, attrname, value &
640 & , default &
641 & )
642 ! ファイルオープン
643 ! File open
644 !
645 call close( var )
646999 continue
647 call storeerror(stat, subname, err, cause_c=cause_c)
648 call endsub(subname)
649 end subroutine
650!--
651! vi:set readonly sw=4 ts=8:
652!
653!Local Variables:
654!mode: f90
655!buffer-read-only: t
656!End:
657!
658!++
character(string) function file_rename_mpi(file)
subroutine historygettattrdouble1(file, varname, attrname, value, flag_mpi_split, err)
subroutine historygettattrint0(file, varname, attrname, value, flag_mpi_split, err)
subroutine historygettattrint1(file, varname, attrname, value, flag_mpi_split, err)
subroutine historygettattrchar0(file, varname, attrname, value, flag_mpi_split, err)
gtool4 データ内の変数の属性の取得
subroutine historygettattrreal0(file, varname, attrname, value, flag_mpi_split, err)
subroutine historygettattrreal1(file, varname, attrname, value, flag_mpi_split, err)
subroutine historygettattrdouble0(file, varname, attrname, value, flag_mpi_split, err)
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 gt_enoturl
Definition dc_error.f90:525
Judge optional control parameters.
logical function, public present_and_true(arg)
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
Provides kind type parameter values.
Definition dc_types.f90:55
integer, parameter, public dp
Double Precision Real number
Definition dc_types.f90:92
integer, parameter, public string
Character length for string
Definition dc_types.f90:137
Variable URL string parser.
Definition dc_url.f90:61