NCEPLIBS-bufr
12.0.1
|
Try to expand a delayed replication sequence. More...
Go to the source code of this file.
Functions/Subroutines | |
subroutine | trybump (LUN, USR, I1, I2, IO, IRET) |
This subroutine checks the first node associated with a character string (parsed into arrays in common block /usrstr/) in order to determine if it represents a delayed replication sequence. More... | |
subroutine trybump | ( | LUN, | |
real*8, dimension(i1,i2) | USR, | ||
I1, | |||
I2, | |||
IO, | |||
IRET | |||
) |
This subroutine checks the first node associated with a character string (parsed into arrays in common block /usrstr/) in order to determine if it represents a delayed replication sequence.
If so, then the delayed replication sequence is initialized and expanded (i.e. "bumped") to the value of input argument I2. A call is then made to subroutine ufbrw() in order to write user data into the newly expanded replication sequence.
trybump() is usually called from ufbint() after ufbint() receives a non-zero return code from ufbrw(). The cause of a bad return from ufbrw() is usually a delayed replication sequence which isn't expanded enough to hold the array of data the user is trying to write. So trybump() is one last chance to resolve that situation.
[in] | LUN | - integer: file ID of open BUFR file |
[in] | USR | - real*8: (i1,i2) starting address of data values to be written to data subset. |
[in] | I1 | - integer: length of first dimension of USR. |
[in] | I2 | - integer: number of "levels" of data values to be written to data subset. |
[in] | IO | - integer: status indicator for BUFR file
|
[out] | IRET | - integer: number of "levels" of data values written to data subset. |
Definition at line 37 of file trybump.f.
References moda_usrint::inv, invwin(), lstjpb(), moda_usrint::nval, ufbrw(), usrtpl(), and moda_usrint::val.