Dear Mat,
thanks for your answer.
I tried to use “isnanf” and “isnand” but, unfortunately, I have the same warnings.
As I wrote previously, when I tried to substitute “isnan” with “ieee_is_nan” by adding the ieee_arithmetic module, the compiler accepted the replacement, but it doesn’t work for the subsequent warning.
Here is the code were I changed “isnan” with “ieee_is_nan”:
! Total fluxes (vegetation + ground)
eflx_sh_tot(p) = eflx_sh_veg(p) + eflx_sh_grnd(p)
qflx_evap_tot(p) = qflx_evap_veg(p) + qflx_evap_soi(p)
if ((abs(qflx_evap_tot(p)) < 1.e-12_r8) .or.(isnan(qflx_evap_tot(p)))) then
!write(6,) ‘qflx_tot is:’,qflx_evap_tot(p)
qflx_evap_tot(p) = 0._r8
qflx_evap_veg(p) = 0._r8
qflx_evap_soi(p) = 0._r8
endif
eflx_lh_tot(p)= (hvapqflx_evap_veg(p) + htvp(c)*qflx_evap_soi(p)) - energy_change(p)
For #2, I have included the ieee_arithmetic module in the script, but nothing is changed. I have still this error:
PGF90-S-0091-Constant expression of wrong data type (/root/Scrivania/cam/cam1/models/atm/cam/src/physics/cam1/carma.F90: 236)
0 inform, 0 warnings, 1 severes, 0 fatal for carma
0 inform, 0 warnings, 1 severes, 0 fatal for carma
make: *** [carma.o] Error 2
The code I’m referring to is the following:
\
integer, dimension(NGAS) :: icnst4gas
logical :: addedgas(NGAS)
use constituents, only: ppcnst, cnst_add, advected, cnst_get_ind, &
cnst_name, cnst_longname, cnst_type
if (icnst4gas(i) == -1) then
! Add the gas.
addedgas(i) = .true.
call cnst_add(gassname(i), advected, gwtmol(i), 1._r8, 0._r8, &
icnst4gas(i), longname=trim(gasname(i)), mixtype=carma_mixtype)
else
addedgas(i) = .false.
endif
Have you any idea why it doesn’t work?
Finally, a last question: when I changed “isnan” with “.ne” many times ago, the realese 15.1 of the compilers accepted it, but now, when I try to use the same product, it doesn’t work. Is this a compiler problem or maybe I’m wrong in replying the building instruction of my software? In other words: is it possible that the same change now is not accepted by the same compilerts used before?
Thanks in advance,
Alessandro