[Met_help] building bufrlib and test code on Intel 32 or 64-bit

John Halley Gotway johnhg at rap.ucar.edu
Thu Jul 2 09:53:38 MDT 2009


David,

Great.  Thanks for sending me the information.

I just want to clarify though.  In (1), (2), and (3) below, am I correct in thinking that you used the Intel compilers throughout?

It's clear to me that you used Intel for (3), but for (1) and (2), if not Intel, which compilers did you use?

Thanks,
John

David Ovens wrote:
> John,
> 
> Good news.
> 
> 1) I successfully compiled METv2.0 and BUFRLIB on a 32-bit Linux system
>    with the standard
>     ARCH_FLAGS = -DBLOCK4
>    setting.  
>    Running METv2.0/scripts/test_pb2nc.sh worked fine.
> 
> 2) I compiled METv2.0 and BUFRLIB on the 32-bit Linux system with your
>    suggested 
>     ARCH_FLAGS = #-DBLOCK4
>    setting, but the test_pb2nc.sh script fails with the 
>  **************BUFR ARCHIVE LIBRARY ABORT*****************
>  BUFRLIB: OPENBF - FIRST 4 BYTES READ FROM RECORD IN INPUT FILE
>  CONNECTED TO UNIT  11 NOT 'BUFR', DOES NOT CONTAIN BUFR DATA     
>  **************BUFR ARCHIVE LIBRARY ABORT*****************
>     error.
> 
> 3) I successfully compiled METv2.0 and BUFRLIB on a 64-bit Linux system
>    with the standard
>     ARCH_FLAGS = -DBLOCK4
>    setting. (See the bottom of this email for additional Makefile_intel
>    modifications I was forced to make.)
> 
>    Running METv2.0/scripts/test_all.sh seems to have worked fine.
>    
>    An ncdump of the netcdf file created from test_pb2nc.sh
>    when compared to the one produced on the 32-bit machine shows 
>    identical output.  The only exception is that some of the times
>    placed into hdr_vld sometimes differ by 1-second.  This is not
>    important, but as an example,  
>      "20070331_115101",   - 32-bit version
>      "20070331_115100",   - 64-bit version
> 
>    NOTE: I successfully built the 64-bit BUFRLIB using ifort and icc and
>    figured out how to get the NCEP test programs to work with the
>    PREPBUFR files after I ran the 'cwordsh' program to FORTRAN-block the
>    data so that the FORTRAN code could read them.  The relevant URLs
>    that helped me figure this out are:
>     Example Program: Decoding NCEP PREPBUFR files:
>      http://www.nco.ncep.noaa.gov/sib/decoders/BUFRLIB/toc/prepbufr/
>     cwordsh:
>      http://www.nco.ncep.noaa.gov/sib/decoders/BUFRLIB/cwordsh/
>    I did not use gcc or g77/gfortran and used 64-bit everything.
> 
> --------------------
> Makefile_intel file changes I needed to make on my Debian 64-bit
> system: 
>  a) changed 
>      CXX_FLAGS    = -Wall -Wshadow -static # -g
>     to
>      CXX_FLAGS    = -Wall -Wshadow -I/usr/include # -g
>  b) changed 
>      GSL_INCS     = -I$(GSL_BASE)/include
>     to
>      GSL_INCS     = -I$(GSL_BASE)/include/gsl
> --------------------
> 
> --------------------
> How I compiled the 64-bit BUFRLIB on Debian system:
>  icc -c -DUNDERSCORE *.c
>  ifort -c -DUNDERSCORE *.f 
>  ar crv libbufr.a *.o
> --------------------
> 
> Let me know if you'd like me to pass on any further information on how
> I got the 64-bit stuff working.
> 
> I am now continuing on with the online tutorial.
> 
> David


More information about the Met_help mailing list