[ncl-install] ncl not seeing NCARG_ROOT?

Mary Haley haley at ucar.edu
Wed Feb 21 11:34:29 MST 2018


Jeremy is right about the Ubuntu installation: it puts things in /usr/bin,
/usr/lib and /usr/share. The /usr/share directory is where the 'ncarg'
directory gets installed.

So, in order for NCL to work, you have to set two environment variables:


This is necessary because by default, NCL looks in $NCARG_ROOT/lib/ncarg to
find things like font tables and map databases. When you set NCARG_NCARG,
NCL will look in that first.

However, as you saw, the load commands will still not work, because they
are effectively looking in /usr/lib/ncarg/..., which doesn't exist with the
Ubuntu install.

To fix, you need to change the load commands to replace "lib" with "share"

load "$NCARG_ROOT/
load "$NCARG_ROOT/
load "$NCARG_ROOT/

or this would also work:

load "$NCARG_NCARG/nclscripts/csm/gsn_code.ncl"
load "$NCARG_NCARG/nclscripts/csm/gsn_csm.ncl"
load "$NCARG_NCARG/nclscripts/csm/contributed.ncl"

HOWEVER, I don't really like either of these solutions. If you need to
share scripts with users on other systems, they may not have the same set
up as you and then they will need to go in and fix the modified load
commands to be what they originally were.

I suggest upgrading to NCL V6.4.0 as Kevin suggested, and then you can put
NCL wherever you want, preferably under a single root directory like
"/usr/local/lib/ncl-6.4.0". Then, you only need to set NCARG_ROOT and the
scripts should work without modifications. (Also, in V6.4.0, those three
scripts and some others are loaded by default, so technically, you won't
need to load them at all.)

For the next release (NCL V6.5.0), we've added even more scripts to the
"automatically loaded by NCL" list. For more information, see:



On Fri, Feb 16, 2018 at 5:07 PM, JeremyWinick via ncl-install <
ncl-install at ucar.edu> wrote:

> I think the Ubuntu install from the repository puts the binary in /usr/bin
> and most other stuff in /usr/share/ncarg. So if you set NCAR's suggested
> paths it won't work or find things.
> Jeremy
> On 02/16/2018 03:36 PM, Dave Burns via ncl-install wrote:
> Hello.
> Executing ncl on a newly installed ubuntu box and an old ncl file that
> used to work generates this error:
> >fatal:Could not open ($NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl)
> >fatal:error at line 2 in file proj1.ncl
> That's odd, because NCARG_ROOT is defined and that file is openable and
> has permissive permissions for all users:
> >user at host:~/Downloads/1200/0214$ echo $NCARG_ROOT
> /usr
> >user at host:~/Downloads/1200/0214$ ls -la $NCARG_ROOT/lib/ncarg/
> nclscripts/csm/gsn_code.ncl
> -rwxr-xr-x 1 root root 490093 Jan 28  2016 /usr/lib/ncarg/nclscripts/csm/
> gsn_code.ncl
> >user at host:~/Downloads/1200/0214$ head  $NCARG_ROOT/lib/ncarg/
> nclscripts/csm/gsn_code.ncl
> ;
> ;      $Id: gsn_code.ncl,v 2010-05-06 17:13:26 haley Exp $
> ;;;;;
> So I am confused. The only way "could not open" would make sense was if
> ncl was opening the file for write access, which still doesn't make sense.
> Here are the first lines from the ncl file:
> load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl"      ; These
> four libraries are automatically
> load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl"       ; loaded
> from NCL V6.4.0 onward.
> load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/contributed.ncl"   ; No need
> for user to explicitly load.
> How do I fix this?
> thanks,
> Dave
> _______________________________________________
> ncl-install mailing list
> List instructions, subscriber options, unsubscribe:http://mailman.ucar.edu/mailman/listinfo/ncl-install
> _______________________________________________
> ncl-install mailing list
> List instructions, subscriber options, unsubscribe:
> http://mailman.ucar.edu/mailman/listinfo/ncl-install
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.ucar.edu/pipermail/ncl-install/attachments/20180221/6148d519/attachment.html>

More information about the ncl-install mailing list