gtvartmpnam.f90
Go to the documentation of this file.
1 !
2 != 変数名の自動作成
3 !
4 ! Authors:: Eizi TOYODA, Yasuhiro MORIKAWA
5 ! Version:: $Id: gtvartmpnam.f90,v 1.1 2009-05-29 14:40:25 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#GTDataTmpNam
11 ! として提供されます。
12 !
13 
14 subroutine gtvartmpnam(file, base, result)
15  !
16  !== 変数名の自動作成
17  !
18  ! ファイル名 *file* と変数名 *base* から <b>file@base</b> を
19  ! 作成して *result* に返す。
20  ! *file* が空文字の場合は <b>gtool.nc</b> がファイル名として代用され、
21  ! *base* が空文字の場合は <b>tmp</b> が変数名として代用される。
22  !
23  use dc_types, only: string
24  use dc_url, only: urlmerge
25  use gtdata_generic, only: open, close
26  use gtdata_types, only: gt_variable
27  implicit none
28  character(len = *), intent(in):: file
29  character(len = *), intent(in):: base
30  character(len = *), intent(out):: result
31  type(gt_variable):: var
32  integer:: n
33  logical:: failed
34  character(len = STRING):: fnam, vnam, vnambase
35 continue
36  if (file == "") then
37  fnam = "gtool.nc"
38  else
39  fnam = file
40  endif
41  if (base == "") then
42  vnambase = "tmp"
43  else
44  vnambase = base
45  endif
46  n = 0
47  do
48  n = n + 1
49  ! compatibility note (2001-12-02, TOYODA Eizi)
50  ! dc_string の toChar を使いたいのだが FQS Fortran が失敗する
51  write(unit=vnam, fmt="(i32)") n
52  vnam = trim(vnambase) // trim(adjustl(vnam))
53  result = urlmerge(file=fnam, var=vnam)
54  call open(var, result, writable=.false., err=failed)
55  if (failed) return
56  call close(var)
57  enddo
58 end subroutine gtvartmpnam
subroutine gtvartmpnam(file, base, result)
Definition: gtvartmpnam.f90:15
種別型パラメタを提供します。
Definition: dc_types.f90:49
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118