Intrinsic not supported in initialization: scale

Hello all…

I’ve come across an issue trying to compile WPSV3.9.0.1 from:
http://www2.mmm.ucar.edu/wrf/users/wpsv3.9/known-prob-3.9.html

I’m using pgfortran 17.5-0, and I get the following problem with a couple of the included code segments:

pgfortran -c mkieee.f
PGF90-S-0155-Intrinsic not supported in initialization: scale (mkieee.f: 35)
PGF90-S-0155-Intrinsic not supported in initialization: scale (mkieee.f: 36)
0 inform, 0 warnings, 2 severes, 0 fatal for mkieee

The problematic code is this:
real, parameter :: two23=scale(1.0,23)
real, parameter :: two126=scale(1.0,126)

I gather this is an F2003 feature. Is it not implemented in this version of pgfortran? Or is there a problem with my installation? I did have to use a couple tricks to get it running, and that might have been problematic…

In the end, I was able to work around the issue by using older versions of the problematic routines, where the the initialization and use of scale was moved to the body of the code.

But I just wanted to know whether this is an issue with the compiler, or my install…

Thanks,
Mike

Hello,

We are aware of a number of intrinsics that are not supported in the
initialization phase of execution. We are working on them.

The workaround is to initialize the arrays in program at runtime,
instead of where you declare the data types.

This is logged as TPR 24544.

dave

Got it - thanks for the quick reply.

I’m a little surprised that they updated those subroutines to use that F2003 functionality. Slightly cleaner code, but provided no other benefit - and made it tougher to build.