Module gt_map
module gt_map
! Uses
use dc_types, only: STRING
use gt_vartable, only: vid_invalid, VTB_CLASS_UNUSED, VTB_CLASS_MEMORY, VTB_CLASS_NETCDF
! Types
public type GT_DIMMAP
public type MAP_TABLE_ENTRY
! Variables
type (MAP_TABLE_ENTRY), private, save, target, allocatable, dimension (:) :: maptab
integer, private, parameter :: maptab_init_size = 16
! Interfaces
public interface dimrange
! Subroutines and functions
public subroutine dimrange_by_dimno (var, dimno, dimlo, dimhi)
public subroutine map_dup (var, source_var)
public subroutine map_create (var, class, cid, ndims, allcount, stat)
public subroutine MapTabAdd (mapid, vid)
public subroutine MapTabDelete (var, err)
public subroutine map_lookup (var, vid, map, ndims)
public subroutine map_set (var, map, stat)
public subroutine var_class (var, class, cid)
public subroutine map_set_ndims (var, ndims, stat)
public subroutine map_set_rank (var, rank, stat)
public subroutine map_to_internal_specs (var, specs, ndims)
public subroutine map_allocate (map, ndims)
public subroutine map_apply (var, map)
public subroutine map_resize (var, ndims)
public subroutine gtvar_dump (var)
public integer function dimord_skip_compact (dimord, map)
end module gt_map
Description of Types
GT_DIMMAP
public type GT_DIMMAP
integer :: dimno
character (len=STRING) :: url
integer :: offset
integer :: step
integer :: allcount
integer :: start
integer :: count
integer :: stride
logical :: scalar
end type GT_DIMMAP
MAP_TABLE_ENTRY
public type MAP_TABLE_ENTRY
integer :: vid
integer :: ndims
type (GT_DIMMAP), pointer, dimension (:) :: map
end type MAP_TABLE_ENTRY
Description of Variables
maptab
type (MAP_TABLE_ENTRY), private, save, target, allocatable, dimension (:) :: maptab
maptab_init_size
integer, private, parameter :: maptab_init_size = 16
Description of Interfaces
dimrange
public interface dimrange
module procedure dimrange_by_dimno
end interface dimrange
Description of Subroutines and Functions
dimrange_by_dimno
public subroutine dimrange_by_dimno (var, dimno, dimlo, dimhi)
type (gt_variable), intent(in) :: var
integer, intent(in) :: dimno
integer, intent(out) :: dimlo
integer, intent(out) :: dimhi
! Calls: close, dimrange, map_lookup, open
end subroutine dimrange_by_dimno
map_dup
public subroutine map_dup (var, source_var)
type (gt_variable), intent(out) :: var
type (gt_variable), intent(in) :: source_var
! Calls: DbgMessage, MapTabAdd, VarTableAdd, VartableLookup, map_lookup
end subroutine map_dup
map_create
public subroutine map_create (var, class, cid, ndims, allcount, stat)
type (gt_variable), intent(out) :: var
integer, intent(in) :: class
integer, intent(in) :: cid
integer, intent(in) :: ndims
integer, intent(in), dimension (:) :: allcount
integer, intent(out) :: stat
! Calls: MapTabAdd, VarTableAdd, map_allocate
end subroutine map_create
MapTabAdd
public subroutine MapTabAdd (mapid, vid)
integer, intent(out) :: mapid
integer, intent(in) :: vid
end subroutine MapTabAdd
MapTabDelete
public subroutine MapTabDelete (var, err)
type (gt_variable), intent(in) :: var
logical, optional, intent(out) :: err
! Calls: DbgMessage, storeerror
end subroutine MapTabDelete
map_lookup
public subroutine map_lookup (var, vid, map, ndims)
type (gt_variable), intent(in) :: var
integer, optional, intent(out) :: vid
type (GT_DIMMAP), optional, intent(out), dimension (:) :: map
integer, optional, intent(out) :: ndims
end subroutine map_lookup
map_set
public subroutine map_set (var, map, stat)
type (gt_variable), intent(in) :: var
type (GT_DIMMAP), intent(in), dimension (:) :: map
integer, intent(out) :: stat
end subroutine map_set
var_class
public subroutine var_class (var, class, cid)
type (gt_variable), intent(in) :: var
integer, optional, intent(out) :: class
integer, optional, intent(out) :: cid
! Calls: map_lookup, vartablelookup
end subroutine var_class
map_set_ndims
public subroutine map_set_ndims (var, ndims, stat)
type (gt_variable), intent(in) :: var
integer, intent(in) :: ndims
integer, intent(out) :: stat
! Calls: map_lookup
end subroutine map_set_ndims
map_set_rank
public subroutine map_set_rank (var, rank, stat)
type (gt_variable), intent(in) :: var
integer, intent(in) :: rank
integer, intent(out) :: stat
! Calls: map_lookup
end subroutine map_set_rank
map_to_internal_specs
public subroutine map_to_internal_specs (var, specs, ndims)
type (gt_variable), intent(in) :: var
integer, pointer, dimension (:, :) :: specs
integer, optional, intent(out) :: ndims
! Calls: map_lookup
end subroutine map_to_internal_specs
map_allocate
public subroutine map_allocate (map, ndims)
type (GT_DIMMAP), pointer, dimension (:) :: map
integer, intent(in) :: ndims
end subroutine map_allocate
map_apply
public subroutine map_apply (var, map)
type (GT_VARIABLE), intent(inout) :: var
type (GT_DIMMAP), pointer, dimension (:) :: map
end subroutine map_apply
map_resize
public subroutine map_resize (var, ndims)
type (GT_VARIABLE), intent(in) :: var
integer, intent(in) :: ndims
! Calls: map_allocate
end subroutine map_resize
gtvar_dump
public subroutine gtvar_dump (var)
type (gt_variable), intent(in) :: var
! Calls: DbgMessage, vartable_dump
end subroutine gtvar_dump
dimord_skip_compact
public function dimord_skip_compact (dimord, map) result (result)
integer, intent(in) :: dimord
type (GT_DIMMAP), intent(in), dimension (:) :: map
integer :: result
! Calls: DbgMessage
end function dimord_skip_compact