I am having serious problems getting nf90_inquire_variable to behave. I
have now had issues with this library function 3 different times using 3
different compilers on 3 different Linux machines, with 3 different codes.
The first time I was using Intel ifort compiler. This code gave me a
segmentation fault (core dump) error. I was using
a previously written FORTRAN wrapper code which called this function.
I sand-boxed the function and slowly rebuilt the code from the ground up
and this time I did not have the segmentation fault error. Never did
figure out what caused the problem, but just re-writing the code exactly
the same way as before seemed to work.
The second time I was using Portland Group pgf90 compiler. This code did
not give me a segmentation fault, it actually returned the a -36 error
code. I was correctly passing it a dimids array, but once it got into the
library code it could see that the array existed but it saw it as size 0,
not size 4 (or NF90_MAX_VAR_DIMS - when I tried that instead). I finally
got this to work by changing the nf90_inquire_variable function in where it
declares integer, dimension(:),optional, intent(out) :: dimids and changed
it to integer, dimension(nf90_max_var_dims),optional, intent(out) :: dimids.
Now the third and final time I'm attempting to use this function I am
compiling it with the GNU gfortran compiler. It is once again giving me
Segmentation fault (core dump). I tried re-writing the code again as I did
with the ifort code, but that did not work. I also tried the fix I used
for the pgf90 compiler and that too failed to fix the problem. I am now
totally stumped with this function.
Has anybody else experienced these types of issues? If so how did you
solve it?
Thank you,
Tish Soulliard
NOAA/NESDIS/STAR
letitia.soulliard@xxxxxxxx
301-683-3538
National Oceanic and Atmospheric Administration
NESDIS/STAR/SMCD/OPDB
Letitia Soulliard
NCWCP (E/RA23)
5830 University Research Court
Floor 2, Room 2686
College Park, MD 20740-3818