NCEPLIBS-bufr  11.5.0
 All Data Structures Files Functions Variables Pages
ufbsp.f File Reference

Go to the source code of this file.

Functions/Subroutines

subroutine ufbsp (LUN, USR, I1, I2, IO, IRET)
 THIS SUBROUTINE WRITES OR READS SPECIFIED VALUES TO OR FROM THE CURRENT BUFR DATA SUBSET WITHIN INTERNAL ARRAYS, WITH THE DIRECTION OF THE DATA TRANSFER DETERMINED BY THE CONTEXT OF IO (I.E., IF IO INDICATES LUN POINTS TO A BUFR FILE THAT IS OPEN FOR INPUT, THEN DATA VALUES ARE READ FROM THE INTERNAL DATA SUBSET; OTHERWISE, DATA VALUES ARE WRITTEN TO THE INTERNAL DATA SUBSET). More...
 

Detailed Description

Author
WOOLLEN
Date
1999-11-18

Definition in file ufbsp.f.

Function/Subroutine Documentation

subroutine ufbsp (   LUN,
real*8, dimension(i1,i2)  USR,
  I1,
  I2,
  IO,
  IRET 
)

THIS SUBROUTINE WRITES OR READS SPECIFIED VALUES TO OR FROM THE CURRENT BUFR DATA SUBSET WITHIN INTERNAL ARRAYS, WITH THE DIRECTION OF THE DATA TRANSFER DETERMINED BY THE CONTEXT OF IO (I.E., IF IO INDICATES LUN POINTS TO A BUFR FILE THAT IS OPEN FOR INPUT, THEN DATA VALUES ARE READ FROM THE INTERNAL DATA SUBSET; OTHERWISE, DATA VALUES ARE WRITTEN TO THE INTERNAL DATA SUBSET).

THE DATA VALUES CORRESPOND TO INTERNAL ARRAYS REPRESENTING PARSED STRINGS OF MNEMONICS WHICH ARE EITHER: 1) PART OF A REGULAR (I.E., NON-DELAYED) REPLICATION SEQUENCE OR 2) REPLICATED BY BEING DIRECTLY LISTED MORE THAN ONCE WITHIN AN OVERALL SUBSET DEFINITION SO IN THAT RESPECT IT IS VERY SIMILAR TO BUFR ARCHIVE LIBRARY SUBROUTINE UFBRP, BUT THERE IS AN IMPORTANT DIFFERENCE (SEE BELOW).

THIS SUBROUTINE SHOULD NEVER BE CALLED BY ANY APPLICATION PROGRAM; INSTEAD, APPLICATION PROGRAMS SHOULD ALWAYS CALL BUFR ARCHIVE LIBRARY SUBROUTINE UFBSTP.

SEE THE DOCBLOCK FOR BUFR ARCHIVE LIBRARY SUBROUTINE UFBREP FOR AN EXPLANATION OF HOW UFBSTP DIFFERS FROM UFBREP, AND THEREFORE HOW UFBSP DIFFERS FROM UFBRP.

PROGRAM HISTORY LOG: 1999-11-18 J. WOOLLEN – ORIGINAL AUTHOR 2003-11-04 S. BENDER – ADDED REMARKS/BUFRLIB ROUTINE INTERDEPENDENCIES 2003-11-04 D. KEYSER – MAXJL (MAXIMUM NUMBER OF JUMP/LINK ENTRIES) INCREASED FROM 15000 TO 16000 (WAS IN VERIFICATION VERSION); UNIFIED/PORTABLE FOR WRF; ADDED DOCUMENTATION (INCLUDING HISTORY) 2009-03-31 J. WOOLLEN – ADD DOCUMENTATION 2014-12-10 J. ATOR – USE MODULES INSTEAD OF COMMON BLOCKS

USAGE: CALL UFBSP (LUN, USR, I1, I2, IO, IRET) INPUT ARGUMENT LIST: LUN - INTEGER: I/O STREAM INDEX INTO INTERNAL MEMORY ARRAYS USR - ONLY IF BUFR FILE OPEN FOR OUTPUT: REAL*8: (I1,I2) STARTING ADDRESS OF DATA VALUES WRITTEN TO DATA SUBSET I1 - INTEGER: LENGTH OF FIRST DIMENSION OF USR I2 - INTEGER: LENGTH OF SECOND DIMENSION OF USR IO - INTEGER: STATUS INDICATOR FOR BUFR FILE ASSOCIATED WITH LUN: 0 = input file 1 = output file

OUTPUT ARGUMENT LIST: USR - ONLY IF BUFR FILE OPEN FOR INPUT: REAL*8: (I1,I2) STARTING ADDRESS OF DATA VALUES READ FROM DATA SUBSET IRET - INTEGER:

  • IF BUFR FILE OPEN FOR INPUT: NUMBER OF "LEVELS" OF DATA VALUES READ FROM DATA SUBSET (MUST BE NO LARGER THAN I2)
  • IF BUFR FILE OPEN FOR OUTPUT: NUMBER OF "LEVELS" OF DATA VALUES WRITTEN TO DATA SUBSET (SHOULD BE SAME AS I2)

REMARKS: THIS ROUTINE CALLS: INVTAG THIS ROUTINE IS CALLED BY: UFBSTP Normally not called by any application programs (they should call UFBSTP).

Definition at line 70 of file ufbsp.f.

References invtag().

Referenced by ufbstp().