PGF90-S-0121 error

Hi,
I’m trying to compile ecmwf preprocessing source codes that’s mainly written in fortran 90. And I get the following error:
PGF90-S-0121-Operation requires logical or integer data types

I can not change the source code since there are much more the same statements in the source code. However, when I compile the source on AIX by Xlf compiler with the -qintlog flag, it bypasses the error.

Is there any way of bypassing the compiler error described above with pgf90 ?

Can you include an example of a fortran line that generates this message?

The following lines taken from a fortran source code and I don’t know what it does. When I did a make to compile source, I got this error:
PGF90-S-0121-Operation requires logical or integer data types (qc_routines_indx.f: 162)
line 162 is the first two lines of the sample.

Furthermore, I defined a integer such as
INTEGER :: c32=32
and replaced 32 with c32. So, make passed that step. However, there are
so many equations like this in the source code, and I’m not sure whether it’s
the right way or not.

Can you advise me to solve this problem ?

IF(PP.NE.RMISS.AND.DD.NE.RMISS.AND.FF.NE.RMISS.AND.
X ((IVS.AND.32).EQ.32).AND.NSTD.LT.NLEV) THEN
NSTD=NSTD+1
STDPP(NSTD)=PP
STDDD(NSTD)=DD
STDFF(NSTD)=FF
ISTDDD(NSTD)=NNDD
ISTDFF(NSTD)=NNFF
ENDIF

Hi cemux,

With “IVS.AND.32”, are you trying to do a bitwise AND? If so, use IAND(IVS,32) instead.

  • Mat