24 public ::
operator(==)
50 integer,
allocatable :: gdt_tmpl(:)
56 interface operator (==)
58 end interface operator (==)
76 integer,
intent(in) :: gds(:)
78 desc%grid_num = gds(1)
95 integer,
intent(in) :: gdt_num, gdt_len, gdt_tmpl(:)
96 desc%grid_num = gdt_num
98 desc%gdt_num = gdt_num
99 desc%gdt_len = gdt_len
100 allocate(desc%gdt_tmpl(gdt_len))
101 desc%gdt_tmpl = gdt_tmpl
148 if (all(self%gds == grid_desc%gds))
then
168 if (self%grid_num == grid_desc%grid_num)
then
169 if (self%gdt_len == grid_desc%gdt_len)
then
170 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.