! an_types.f90 - derived type interface for `abstract netcdf' variable if
! Copyright (C) GFD Dennou Club, 2000.  All rights reserved
! vi: set ts=8 sw=4:

module an_types

    implicit none

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

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

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

end module
