24 public ::
operator(==)
52 integer,
allocatable :: gdt_tmpl(:)
59 interface operator (==)
61 end interface operator (==)
79 integer,
intent(in) :: gds(:)
81 desc%grid_num = gds(1)
98 integer,
intent(in) :: gdt_num, gdt_len, gdt_tmpl(:)
99 desc%grid_num = gdt_num
101 desc%gdt_num = gdt_num
102 desc%gdt_len = gdt_len
103 allocate(desc%gdt_tmpl(gdt_len))
104 desc%gdt_tmpl = gdt_tmpl
151 if (all(self%gds == grid_desc%gds))
then
171 if (self%grid_num == grid_desc%grid_num)
then
172 if (self%gdt_len == grid_desc%gdt_len)
then
173 if (all(self%gdt_tmpl == grid_desc%gdt_tmpl))
then
Users derived type grid descriptor objects to abstract away the raw GRIB1 and GRIB2 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.