NCEPLIBS-bufr  12.0.1
pkvs01.f File Reference

Specify a value to be included in Section 0 or Section 1 when writing BUFR messages. More...

Go to the source code of this file.

Functions/Subroutines

recursive subroutine pkvs01 (S01MNEM, IVAL)
 This subroutine is used to specify a value to be written into a specified location within Section 0 or Section 1 of all BUFR messages output by future calls to other message-writing subroutines and subset-writing subroutines. More...
 

Detailed Description

Specify a value to be included in Section 0 or Section 1 when writing BUFR messages.

Authors
J. Ator
Date
2005-11-29

Definition in file pkvs01.f.

Function/Subroutine Documentation

◆ pkvs01()

recursive subroutine pkvs01 ( character*(*)  S01MNEM,
  IVAL 
)

This subroutine is used to specify a value to be written into a specified location within Section 0 or Section 1 of all BUFR messages output by future calls to other message-writing subroutines and subset-writing subroutines.

This subroutine is similar to subroutine pkbs1(), except that pkbs1() operates on a single BUFR message passed in via a memory array. Alternatively, whenever this subroutine is called, the specified IVAL will be written into all BUFR messages output by all future calls to other message-writing subroutines and subset-writing subroutines, for all Fortran logical units that are open for output within the application program, unless a subsequent call is made to this subroutine with the same value of S01MNEM in order to reset the corresponding IVAL again. Otherwise, if this subroutine is never called for a particular value of S01MNEM, then a default value is used for the corresponding IVAL, as set within subroutine msgini(), cmsgini() or dxmini().

Parameters
[in]IVAL– integer: Value to be stored
[in]S01MNEM– character*(*): Location where IVAL is to be stored within Section 0 or Section 1 of all future output BUFR messages
  • 'BEN' = BUFR edition number
  • 'BMT' = BUFR master table
  • 'OGCE' = Originating center
  • 'GSES' = Originating subcenter
  • 'USN' = Update sequence number
  • 'MTYP' = Data category
  • 'MSBTI' = Data subcategory (international)
  • 'MSBT' = Data subcategory (local)
  • 'MTV' = Version number of master table
  • 'MTVL' = Version number of local tables
  • 'YCEN' = Year of century (1-100)
  • 'CENT' = Century (e.g., 20 for years 1901-2000, 21 for years 2001-2100)
  • 'YEAR' = Year (4-digit)
  • 'MNTH' = Month
  • 'DAYS' = Day
  • 'HOUR' = Hour
  • 'MINU' = Minute
  • 'SECO' = Second
Remarks
  • A separate call to this subroutine must be made for each value of S01MNEM that is to be set within Section 0 or Section 1 of all future output BUFR messages.
  • A call to this subroutine with S01MNEM = 'BEN' and IVAL = 4 will force all future output BUFR messages to be encoded using BUFR edition 4; otherwise, messages will be encoded using BUFR edition 3 by default.
  • Values corresponding to S01MNEM = 'YCEN' or 'CENT' can only be stored within BUFR messages encoded using BUFR edition 3.
  • Values corresponding to S01MNEM = 'YEAR', 'SECO' or 'MSBTI' can only be stored within BUFR messages encoded using BUFR edition 4.
Authors
J. Ator
Date
2005-11-29

Definition at line 65 of file pkvs01.f.

References bort(), moda_s01cm::cmnem, modv_im8b::im8b, moda_s01cm::ivmnem, modv_mxs01v::mxs01v, moda_s01cm::ns01v, openbf(), and x84().