NCEPLIBS-bufr 11.7.1
mvb.f
Go to the documentation of this file.
1C> @file
2C> @author WOOLLEN @date 1994-01-06
3
4C> THIS SUBROUTINE COPIES A SPECIFIED NUMBER OF BYTES FROM
5C> ONE PACKED BINARY ARRAY TO ANOTHER.
6C>
7C> PROGRAM HISTORY LOG:
8C> 1994-01-06 J. WOOLLEN -- ORIGINAL AUTHOR
9C> 1998-07-08 J. WOOLLEN -- REPLACED CALL TO CRAY LIBRARY ROUTINE
10C> "ABORT" WITH CALL TO NEW INTERNAL BUFRLIB
11C> ROUTINE "BORT"
12C> 1998-10-27 J. WOOLLEN -- MODIFIED TO CORRECT PROBLEMS CAUSED BY IN-
13C> LINING CODE WITH FPP DIRECTIVES
14C> 2002-05-14 J. WOOLLEN -- REMOVED OLD CRAY COMPILER DIRECTIVES
15C> 2003-11-04 S. BENDER -- ADDED REMARKS/BUFRLIB ROUTINE
16C> INTERDEPENDENCIES
17C> 2003-11-04 D. KEYSER -- UNIFIED/PORTABLE FOR WRF; ADDED
18C> DOCUMENTATION (INCLUDING HISTORY); OUTPUTS
19C> MORE COMPLETE DIAGNOSTIC INFO WHEN ROUTINE
20C> TERMINATES ABNORMALLY
21C> 2005-11-29 J. ATOR -- MAXIMUM NUMBER OF BYTES TO COPY INCREASED
22C> FROM 24000 TO MXIMB
23C> 2014-10-22 J. ATOR -- MERGE TWO DO LOOPS INTO ONE, AND REMOVE
24C> MXIMB PARAMETER AND DIMENSIONING OF NVAL
25C>
26C> USAGE: CALL MVB (IB1, NB1, IB2, NB2, NBM)
27C> INPUT ARGUMENT LIST:
28C> IB1 - INTEGER: *-WORD PACKED INPUT BINARY ARRAY
29C> NB1 - INTEGER: POINTER TO FIRST BYTE IN IB1 TO COPY FROM
30C> NB2 - INTEGER: POINTER TO FIRST BYTE IN IB2 TO COPY TO
31C> NBM - INTEGER: NUMBER OF BYTES TO COPY
32C>
33C> OUTPUT ARGUMENT LIST:
34C> IB2 - INTEGER: *-WORD PACKED OUTPUT BINARY ARRAY
35C>
36C> REMARKS:
37C> THIS ROUTINE CALLS: PKB UPB
38C> THIS ROUTINE IS CALLED BY: ATRCPT CNVED4 CPYUPD MSGUPD
39C> STNDRD
40C> Normally not called by any application
41C> programs.
42C>
43 SUBROUTINE mvb(IB1,NB1,IB2,NB2,NBM)
44
45 CHARACTER*128 BORT_STR
46 dimension ib1(*),ib2(*)
47
48C-----------------------------------------------------------------------
49C-----------------------------------------------------------------------
50
51 jb1 = 8*(nb1-1)
52 jb2 = 8*(nb2-1)
53
54 DO n=1,nbm
55 CALL upb(nval,8,ib1,jb1)
56 CALL pkb(nval,8,ib2,jb2)
57 ENDDO
58
59C EXITS
60C -----
61
62 RETURN
63 END
subroutine mvb(IB1, NB1, IB2, NB2, NBM)
THIS SUBROUTINE COPIES A SPECIFIED NUMBER OF BYTES FROM ONE PACKED BINARY ARRAY TO ANOTHER.
Definition: mvb.f:44
subroutine pkb(NVAL, NBITS, IBAY, IBIT)
This subroutine encodes an integer value within a specified number of bits of an integer array,...
Definition: pkb.f:39
subroutine upb(NVAL, NBITS, IBAY, IBIT)
THIS SUBROUTINE UNPACKS AND RETURNS A BINARY INTEGER CONTAINED WITHIN NBITS BITS OF IBAY,...
Definition: upb.f:50