!= an_types.f90 - derived type interface for `abstract netcdf' variable interface
!
! Authors::   Yasuhiro MORIKAWA, Eizi TOYODA
! Version::   $Id: an_types.f90,v 1.2 2006-12-30 08:21:22 morikawa Exp $
! Tag Name::  $Name: gt4f90io-20080602 $
! Copyright:: Copyright (C) GFD Dennou Club, 2000-2006. All rights reserved.
! License::   See COPYRIGHT[link:../../COPYRIGHT]
!
! 以下のサブルーチン, 関数は an_generic から提供されます。
!

module an_types

  implicit none

  type AN_VARIABLE
    ! == ユーザ (gtdata 層) が使うべきハンドル
    ! id は an_vartable モジュールの antab 表のインデックスとなる。
    integer:: id
  end type AN_VARIABLE

  type AN_VARIABLE_ENTRY
    !== an_vartable モジュールの antab 表の要素
    !
    !=== ID 情報
    !
    ! 変数 (an_variable 実体) は (/fileid, varid, dimid/) で
    ! 同定される。正当な変数の fileid は必ず正である。
    !
    !
    !=== 次元表
    !
    ! 次元変数については自次元が、非次元変数については
    ! 自分にとっての次元の dimid の一覧が保存される。
    !
    !=== 属性サーチ用イテレータ
    !
    integer:: fileid             ! ID 情報
    integer:: varid              ! ID 情報
    integer:: dimid              ! ID 情報
    integer, pointer:: dimids(:) ! 次元表
    integer:: attrid             ! 属性サーチ用イテレータ
  end type AN_VARIABLE_ENTRY

  type AN_VARIABLE_SEARCH
    !== 変数リスト検索イテレータ用
    integer:: fileid
    integer:: varid
    integer:: dimid
  end type AN_VARIABLE_SEARCH

end module an_types
