NCEPLIBS-g2  3.4.5
jpcunpack.f
Go to the documentation of this file.
1 
5 
19 
20  subroutine jpcunpack(cpack,len,idrstmpl,ndpts,fld)
21 
22  character(len=1),intent(in) :: cpack(len)
23  integer,intent(in) :: ndpts,len
24  integer,intent(in) :: idrstmpl(*)
25  real,intent(out) :: fld(ndpts)
26 
27  integer :: ifld(ndpts)
28  integer(4) :: ieee
29  real :: ref,bscale,dscale
30  integer :: dec_jpeg2000
31 
32  ieee = idrstmpl(1)
33  call rdieee(ieee,ref,1)
34  bscale = 2.0**real(idrstmpl(2))
35  dscale = 10.0**real(-idrstmpl(3))
36  nbits = idrstmpl(4)
37 !
38 ! if nbits equals 0, we have a constant field where the reference value
39 ! is the data value at each gridpoint
40 !
41  if (nbits.ne.0) then
42 ! call g2_gbytesc(cpack,ifld,0,nbits,0,ndpts)
43  iret=dec_jpeg2000(cpack,len,ifld)
44  do j=1,ndpts
45  fld(j)=((real(ifld(j))*bscale)+ref)*dscale
46  enddo
47  else
48  do j=1,ndpts
49  fld(j)=ref
50  enddo
51  endif
52 
53 
54  return
55  end
rdieee
subroutine rdieee(rieee, a, num)
This subroutine reads a list of real values in 32-bit IEEE floating point format.
Definition: rdieee.f:16
jpcunpack
subroutine jpcunpack(cpack, len, idrstmpl, ndpts, fld)
This subroutine unpacks a data field that was packed into a JPEG2000 code stream using info from the ...
Definition: jpcunpack.f:21