24 public ::
operator(==)
48 integer,
allocatable :: gdt_tmpl(:)
53 interface operator (==)
55 end interface operator (==)
73 integer,
intent(in) :: gds(:)
75 desc%grid_num = gds(1)
92 integer,
intent(in) :: gdt_num, gdt_len, gdt_tmpl(:)
93 desc%grid_num = gdt_num
95 desc%gdt_num = gdt_num
96 desc%gdt_len = gdt_len
97 allocate(desc%gdt_tmpl(gdt_len))
98 desc%gdt_tmpl = gdt_tmpl
145 if (all(self%gds == grid_desc%gds))
then
165 if (self%grid_num == grid_desc%grid_num)
then
166 if (self%gdt_len == grid_desc%gdt_len)
then
167 if (all(self%gdt_tmpl == grid_desc%gdt_tmpl))
then
Uses derived type grid descriptor objects to abstract away the raw Grib-1 and Grib-2 grid definitions...
type(grib2_descriptor) function, public init_grib2_descriptor(gdt_num, gdt_len, gdt_tmpl)
Initialize grib-2 descriptor from integer grid definition template (GDT).
logical function is_same_grid(grid1, grid2)
Test whether two grid descriptors are the same.
logical function is_same_grid_grib1(self, grid_desc)
Test whether two grib1_descriptors are the same.
logical function is_same_grid_grib2(self, grid_desc)
Test whether two grib2_descriptors are the same.
type(grib1_descriptor) function, public init_grib1_descriptor(gds)
Initialize grib-1 descriptor from integer grid definition section (GDS).
Descriptor representing a grib1 grib descriptor section (GDS) with an integer array.
Grib-2 descriptor containing a grib2 GDT represented by an integer array.
Abstract descriptor object which represents a grib1 or grib2 descriptor.