NCEPLIBS-bufr 11.7.1
|
Copy a BUFR data subset. More...
Go to the source code of this file.
Functions/Subroutines | |
subroutine | copysb (LUNIN, LUNOT, IRET) |
This subroutine copies a BUFR data subset from one Fortran logical unit to another. More... | |
Copy a BUFR data subset.
Definition in file copysb.f.
subroutine copysb | ( | LUNIN, | |
LUNOT, | |||
IRET | |||
) |
This subroutine copies a BUFR data subset from one Fortran logical unit to another.
[in] | LUNIN | – integer: Fortran logical unit number for source BUFR file |
[in] | LUNOT | – integer: Fortran logical unit number for target BUFR file |
[out] | IRET | – integer: return code
|
Logical unit LUNIN should have already been opened for input operations via a previous call to subroutine openbf(), and a BUFR message should have already been read into internal arrays for LUNIN via a previous call to one of the message-reading subroutines.
Logical unit LUNOT should have already been opened for output operations via a previous call to subroutine openbf(), and a BUFR message should already be open for output within internal arrays via a previous call to one of the BUFRLIB message-writing subroutines.
The compression status of the data subset (i.e. compressed or uncompressed) will be preserved when copying from LUNIN to LUNOT.
If LUNOT < 0, then a data subset is read from the BUFR message in internal arrays for LUNIN but is not copied to the BUFR message in internal arrays for LUNOT. Otherwise, the DX BUFR Table information associated with each of the logical units LUNIN and LUNOT must contain identical definitions for the type of BUFR message containing the data subset to be copied from LUNIN to LUNOT.
Program history log:
Date | Programmer | Comments |
---|---|---|
1994-01-06 | J. Woollen | Original author |
1998-07-08 | J. Woollen | Replaced call to Cray library routine ABORT with call to new internal routine bort() |
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) |
2000-09-19 | J. Woollen | Maximum message length increased from 10,000 to 20,000 bytes |
2002-05-14 | J. Woollen | Removed old Cray compiler directives |
2004-08-09 | J. Ator | Maximum message length increased from 20,000 to 50,000 bytes |
2005-09-16 | J. Woollen | Now writes out compressed subset/message if input subset/message is compressed |
2009-06-26 | J. Ator | Use iok2cpy() |
2014-11-03 | J. Ator | Handle oversized (>65530 bytes) subsets |
2014-12-10 | J. Ator | Use modules instead of COMMON blocks |
Definition at line 57 of file copysb.f.
References bort(), cmpmsg(), cpyupd(), getlens(), iok2cpy(), moda_bitbuf::mbay, moda_bitbuf::mbyt, mesgbc(), readsb(), status(), moda_tables::tag, ufbcpy(), upb(), and writsb().
Referenced by icopysb().