Hi Rich: You need to add a directory path to your LD_LIBRARY_PATH variable. When the Portland Group compiler was upgraded the dynamic libraries were split out into a new directory. For instance if the error you are seeing at runtime is a missing library (libpgmp or libpghpf or something like that) then you need to find out where that library exists on your system and add that directory to the LD_LIBRARY_PATH.ex.
1111> locate libpgmp.so
/usr/local/pgi-pgcc-pghf-13.10/linux86-64/13.10/REDIST/libpgmp.so
/usr/local/pgi-pgcc-pghf-13.10/linux86-64/13.10/libso/libpgmp.so
/usr/local/pgi-pgcc-pghf-14.1/linux86-64/14.1/REDIST/libpgmp.so
/usr/local/pgi-pgcc-pghf-14.1/linux86-64/14.1/libso/libpgmp.so
If you are using the 14.1 version of portland group compiler then the command to add the directory is:
setenv LD_LIBRARY_PATH=/usr/local/pgi-pgcc-pghf-14.1/linux86-64/14.1/libso:${LD_LIBRARY_PATH}
You want to put the new directory first in the directory path because often times the existing LD_LIBRARY_PATH will contain a pointer to /usr/local/lib higher up in the path and the executable will then pick up the wrong dynamic library. You can use the ldd command to see what dynamic libraries are being loaded by the executable
ldd cam
You should see a print out of all resolved libraries. If it is showing you something like
libpgmp.so => not found
libpgf90.so => not found
libpgf90_rpm1.so => not found
then you are missing a directory entry in your LD_LIBRARY_PATH
The path could also say something like libpgmp.so =>/usr/local/lib
Which although it found a library in /usr/local/lib it most likely isn't the one you need for running. If it is the wrong library the model will fail during the run when it tries to make a netcdf call to open a file. jt