NCEPLIBS-bufr
11.6.0
|
Go to the source code of this file.
Functions/Subroutines | |
subroutine | ufbrw (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... | |
Definition in file ufbrw.f.
subroutine ufbrw | ( | 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 PART OF A DELAYED-REPLICATION SEQUENCE, OR FOR WHICH THERE IS NO REPLICATION AT ALL.
THIS SUBROUTINE SHOULD NEVER BE CALLED BY ANY APPLICATION PROGRAM; INSTEAD, APPLICATION PROGRAMS SHOULD ALWAYS CALL BUFR ARCHIVE LIBRARY SUBROUTINE UFBINT.
PROGRAM HISTORY LOG: 1994-01-06 J. WOOLLEN – ORIGINAL AUTHOR 1996-12-11 J. WOOLLEN – REMOVED A HARD ABORT FOR USERS WHO TRY TO WRITE NON-EXISTING MNEMONICS 1998-07-08 J. WOOLLEN – IMPROVED MACHINE PORTABILITY 1998-10-27 J. WOOLLEN – MODIFIED TO CORRECT PROBLEMS CAUSED BY IN- LINING CODE WITH FPP DIRECTIVES 1999-11-18 J. WOOLLEN – THE NUMBER OF BUFR FILES WHICH CAN BE OPENED AT ONE TIME INCREASED FROM 10 TO 32 (NECESSARY IN ORDER TO PROCESS MULTIPLE BUFR FILES UNDER THE MPI) 2002-05-14 J. WOOLLEN – REMOVED OLD CRAY COMPILER DIRECTIVES 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) 2007-01-19 J. ATOR – USE FUNCTION IBFMS 2009-03-31 J. WOOLLEN – ADD DOCUMENTATION 2009-04-21 J. ATOR – USE ERRWRT; USE LSTJPB INSTEAD OF LSTRPS 2014-12-10 J. ATOR – USE MODULES INSTEAD OF COMMON BLOCKS
USAGE: CALL UFBRW (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:
REMARKS: THIS ROUTINE CALLS: CONWIN DRSTPL ERRWRT GETWIN IBFMS INVWIN LSTJPB NEWWIN NXTWIN THIS ROUTINE IS CALLED BY: TRYBUMP UFBINT Normally not called by any application programs (they should call UFBINT).
Definition at line 79 of file ufbrw.f.
References conwin(), drstpl(), errwrt(), getwin(), ibfms(), invwin(), lstjpb(), newwin(), and nxtwin().