Toggle navigation
Gtool Project
地球流体電脳倶楽部
dcmodel プロジェクト
SIGEN
English
gtdata
gtvardimname2ord.f90
Go to the documentation of this file.
1
!
2
!= 次元相対名から次元順序番号の問い合わせ
3
!
4
! Authors:: Eizi TOYODA, Yasuhiro MORIKAWA
5
! Version:: $Id: gtvardimname2ord.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#Dimname_to_Dimord
11
! として提供されます。
12
13
integer
function
gtvardimname2ord
(var, name)
result
(result)
14
!
15
!== 次元相対名から次元順序番号の問い合わせ
16
!
17
! 変数には複数の次元が所属します。次元は順序番号で識別されますが、
18
! 変数における次元の順序は入れ替えることもできるため、
19
! 変数に相対的短い名前で識別することが便利な場合もあります。
20
! たとえば変数 <tt>filename?var</tt> に対して
21
! <tt>filename?var,dim=1</tt> のような
22
! コンマ記法 ({gtool4 netCDF 規約}[link:../xref.htm#label-6] の
23
! 「5.4 コンマ記法」参照)
24
! で用いられるものです。(NetCDF 変数 <tt>filename?varname</tt>
25
! に対する次元名 <tt>dim</tt> は <tt>filename?dim</tt>
26
! を指示するでしょうが、必ずしもそのような関係が成り立つとは限りません)
27
!
28
! Dimname_to_Dimord 手続はこのような相対次元名から次元順序番号を与えます。
29
! 正当な番号は1以上であり、0以下の番号はエラーを示します。
30
!
31
use
gtdata_types
, only
:
gt_variable
32
use
dc_string
, only
:
stoi
33
use
gtdata_netcdf_generic
, only
:
search_dim
34
use
gtdata_netcdf_types
, only
:
gd_nc_variable
35
use
gtdata_internal_map
, only
:
var_class
, vtb_class_netcdf
36
implicit none
37
type
(
gt_variable
),
intent(in)
:: var
38
character(len = *)
,
intent(in)
:: name
39
integer
::
class
, cid
40
result = -1
41
if
(name ==
' '
)
return
42
result =
stoi
(name)
43
if
(result /= 0)
return
44
! 個別層に問い合わせて次元番号を得ようと試みる。
45
call
var_class
(var,
class
, cid)
46
if
(
class
== vtb_class_netcdf)
then
47
result =
search_dim
(
gd_nc_variable
(cid), name)
48
endif
49
! map 表から次元名を使って次元番号を得ようと試みる。
50
end function
gtvardimname2ord
gtdata_types::gt_variable
Definition:
gtdata_types.f90:18
gtdata_netcdf_generic::search_dim
Definition:
gtdata_netcdf_generic.f90:64
gtdata_internal_map
Definition:
gtdata_internal_map.f90:10
gtdata_netcdf_types
Definition:
gtdata_netcdf_types.f90:10
gtvardimname2ord
integer function gtvardimname2ord(var, name)
Definition:
gtvardimname2ord.f90:14
dc_string::stoi
Definition:
dc_string.f90:53
gtdata_types
Definition:
gtdata_types.f90:11
dc_string
文字型変数の操作.
Definition:
dc_string.f90:24
gtdata_netcdf_generic
Definition:
gtdata_netcdf_generic.f90:11
gtdata_internal_map::var_class
subroutine, public var_class(var, class, cid)
Definition:
gtdata_internal_map.f90:297
gtdata_netcdf_types::gd_nc_variable
Definition:
gtdata_netcdf_types.f90:14