NCEPLIBS-bufr 11.7.1
cpymem.f File Reference

Copy a BUFR message. More...

Go to the source code of this file.

Functions/Subroutines

subroutine cpymem (LUNOT)
 This subroutine copies a BUFR message from internal arrays in memory to a specified Fortran logical unit. More...
 

Detailed Description

Copy a BUFR message.

Definition in file cpymem.f.

Function/Subroutine Documentation

◆ cpymem()

subroutine cpymem (   LUNOT)

This subroutine copies a BUFR message from internal arrays in memory to a specified Fortran logical unit.

This subroutine is similar to subroutine copymg(), except that it copies a BUFR message from internal arrays in memory to a specified Fortran logical unit, whereas copymg() copies a BUFR message from one Fortran logical unit to another.

Author
J. Woollen
Date
1994-01-06
Parameters
[in]LUNOT– integer: Fortran logical unit number for target BUFR file

One or more files of BUFR messages should have already been read into internal arrays in memory via one or more previous calls to subroutine ufbmem(), and a BUFR message should already be in scope for processing from these arrays via a previous call to subroutine rdmemm() or readmm().

Logical unit LUNOT should have already been opened for output operations via a previous call to subroutine openbf(), but there should not be any BUFR message already open for output within the internal arrays for LUNOT via a previous call to one of the BUFRLIB message-writing subroutines.

The DX BUFR Table information associated with the internal arrays in memory and with logical unit LUNOT must contain identical definitions for the type of BUFR message to be copied from the former to the latter.

Remarks
  • This subroutine uses subroutine msgwrt() to write to LUNOT; therefore, it can be used to transform a copy of the original BUFR message from memory with any or all of the updates described in the documentation for subroutine msgwrt().

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
2001-08-15 D. Keyser Increased MAXMEM from 8 Mb to 16 Mb
2004-08-09 J. Ator Maximum message length increased from 20,000 to 50,000 bytes
2004-11-15 D. Keyser Increased MAXMEM from 16 Mb to 50 Mb
2005-11-29 J. Ator Use iupbs01()
2009-06-26 J. Ator Use iok2cpy()
2014-12-10 J. Ator Use modules instead of COMMON blocks

Definition at line 55 of file cpymem.f.

References bort(), iok2cpy(), iupbs01(), moda_bitbuf::mbay, msgwrt(), moda_msgmem::munit, nemtba(), status(), and moda_tables::tag.