NCEPLIBS-g2
3.5.0
|
Information on all GRIB2 Product Definition Templates used in Section 4 - the Product Definition Section (PDS) More...
Data Types | |
type | pdstemplate |
This is the defined type for a Product Definition Section (PDS) template. More... | |
Functions/Subroutines | |
subroutine | extpdstemplate (number, list, nummap, map) |
This subroutine generates the remaining octet map for a given Product Definition Template, if required. More... | |
integer function | getpdsindex (number) |
This function returns the index of specified Product Definition Template in array templates. More... | |
subroutine | getpdstemplate (number, nummap, map, needext, iret) |
This subroutine returns PDS template information for a specified Product Definition Template. More... | |
integer function | getpdtlen (number) |
This function returns the initial length (number of entries) in the static part of specified Product Definition Template. More... | |
Variables | |
integer, parameter | maxlen = 200 |
MAXLEN max length of entries. More... | |
integer, parameter | maxtemp = 43 |
MAXTEMP maximum number of templates. More... | |
type(pdstemplate), dimension(maxtemp) | templates |
template in type of pdstemplate More... | |
Information on all GRIB2 Product Definition Templates used in Section 4 - the Product Definition Section (PDS)
Each Template has three parts:
This module also contains two subroutines.
type pdstemplates::pdstemplate |
This is the defined type for a Product Definition Section (PDS) template.
Definition at line 46 of file pdstemplates.F90.
Data Fields | ||
---|---|---|
integer, dimension(maxlen) | mappds | Number of octets in which to pack each value. |
integer | mappdslen | The number of entries in the template. |
logical | needext | Does template need to be extended? |
integer | template_num | Template number. |
subroutine pdstemplates::extpdstemplate | ( | integer, intent(in) | number, |
integer, dimension(*), intent(in) | list, | ||
integer, intent(out) | nummap, | ||
integer, dimension(*), intent(out) | map | ||
) |
This subroutine generates the remaining octet map for a given Product Definition Template, if required.
Some Templates can vary depending on data values given in an earlier part of the Template, and it is necessary to know some of the earlier entry values to generate the full octet map of the Template.
[in] | number | the Product Definition Template number. |
[in] | list | An array containing the number of octets that match the Product Definition Template. |
[out] | nummap | Number of entries in the Template. |
[out] | map | An array containing the number of octets that each template entry occupies when packed up into the PDS. |
Definition at line 430 of file pdstemplates.F90.
References getpdsindex(), and templates.
Referenced by addfield(), gf_unpack4(), and unpack4().
integer function pdstemplates::getpdsindex | ( | integer, intent(in) | number | ) |
This function returns the index of specified Product Definition Template in array templates.
[in] | number | the Product Definition Template number. |
Definition at line 355 of file pdstemplates.F90.
References maxtemp, and templates.
Referenced by extpdstemplate(), getpdstemplate(), and getpdtlen().
subroutine pdstemplates::getpdstemplate | ( | integer, intent(in) | number, |
integer, intent(out) | nummap, | ||
integer, dimension(*), intent(out) | map, | ||
logical, intent(out) | needext, | ||
integer, intent(out) | iret | ||
) |
This subroutine returns PDS template information for a specified Product Definition Template.
The number of entries in the template is returned along with a map of the number of octets occupied by each entry. Also, a flag is returned to indicate whether the template would need to be extended.
[in] | number | the Product Definition Template number that is being requested. |
[out] | nummap | Number of entries in the Template. |
[out] | map | An array containing the number of octets that each template entry occupies when packed up into the PDS. |
[out] | needext | Logical variable indicating whether the Product Defintion Template has to be extended. |
[out] | iret | Error return code.
|
Definition at line 390 of file pdstemplates.F90.
References getpdsindex(), and templates.
Referenced by addfield(), gf_unpack4(), and unpack4().
integer function pdstemplates::getpdtlen | ( | integer, intent(in) | number | ) |
This function returns the initial length (number of entries) in the static part of specified Product Definition Template.
[in] | number | the Product Definition Template number. |
Definition at line 660 of file pdstemplates.F90.
References getpdsindex(), and templates.
integer, parameter pdstemplates::maxlen = 200 |
MAXLEN max length of entries.
Definition at line 41 of file pdstemplates.F90.
integer, parameter pdstemplates::maxtemp = 43 |
MAXTEMP maximum number of templates.
Definition at line 42 of file pdstemplates.F90.
Referenced by getpdsindex().
type(pdstemplate), dimension(maxtemp) pdstemplates::templates |
template in type of pdstemplate
Definition at line 53 of file pdstemplates.F90.
Referenced by extpdstemplate(), getpdsindex(), getpdstemplate(), and getpdtlen().