[Wrf-users] WRF-Var radiance workaround on SGI Altix
Alex Conselvan de Oliveira
alex at simepar.br
Fri Dec 18 09:53:37 MST 2009
Hello,
I'm compiling WRF-Var (V3.1.1) with the ifort compiler on a SGI Altix and
did have some problems. I found that the problem is related to the
endianness of the buffer library.
I added the line "call openbf(lnbufr, 'QUIET', 2)" to the file
"var/da/da_radiance/da_read_
obs_bufrtovs.inc" (before the line "call openbf(lnbufr,'IN',lnbufr)") and
did get the following output:
=============== WELCOME TO BUFR ARCHIVE LIBRARY ===============
MACHINE CHARACTERISTICS: NUMBER OF BYTES PER WORD = 4, NUMBER OF BITS PER
WORD = 32,
BYTE ORDER IS LITTLE ENDIAN (NREV= 1,
IORD=4321****),
ASCII IS THE NATIVE LANGUAGE
============== VERSION: 2007-01-19 ==============
The bufr library (embedded in the WRF-Var code) was compiled to work with
little_endian files, but the parameter "-convert big_endian" on the
configure file forces the "amsua.bufr" file to be open converted to
"big_endian" causing the following error message when trying to read the
"amsua.bufr" file unblocked and re-blocked with the "cwordsh" program:
**************BUFR ARCHIVE LIBRARY ABORT*****************
BUFRLIB: OPENBF - ERROR READING INPUT FILE CONNECTED TO UNIT 26 WHEN
CHECKING
FOR 'BUFR' IN FIRST 4 BYTES OF RECORD
**************BUFR ARCHIVE LIBRARY ABORT*****************
I'm not sure if is safe to remove the '-convert big_endian' parameter from
the configure file, so I forced the 'amsua.bufr' file to be open converted
to 'little_endian' adding "convert = 'LITTLE_ENDIAN'" to the line 159 of the
file "var/da/da_radiance/da_read_obs_bufrtovs.inc":
open(unit=lnbufr,file=trim(infile),form='unformatted', &
iostat = iost, status = 'old', convert = 'LITTLE_ENDIAN')
It seems to work...
Alex
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.ucar.edu/pipermail/wrf-users/attachments/20091218/7aed16d0/attachment.html
More information about the Wrf-users
mailing list