NCL > Download

Running NCL under MacOSX

This document contains helpful notes on installing running NCL on MacOSX systems.

Install XQuartz

If you are running MacOS 10.8 or higher, then you may be prompted to install XQuartz the first time you run "ncl". This is an X11 server that allows you to display graphics to your screen if you use "x11" as the graphical output option when running "ncl".

For example, when you type:

    ncl -V

for the first time, even though you are not generating any graphics, it still needs to start XQuartz to execute this command. If you don't have XQuartz, then a web browser should automatically pop up with a link to

Click on the "XQuartz-2.7.x.dmg" file (XQuartz was at version 2.7.7 as of September 2, 2014), which will download the "XQuartz-2.7.x.dmg" file and likely put it in your "Downloads" directory.

Navigate your way to this file and double-click on it. This will cause a window with a open box icon to pop up. Double click on the open-box icon, and this should start the installation. We recommend you accept all the defaults during the installation questions.

Once XQuartz is installed, you can remove the "XQuartz-2.7.x.dmg" file. You may need to logout and log back in order for XQuartz to work properly.

If you have questions about these instructions, or if they don't work, then send email to You need to subscribe first.

Please also visit the section on "Potential issue with displaying graphics to an X11 window".

Install gcc and gfortran

In general, you probably don't need gcc and/or gfortran to run NCL. However, sometimes the "ncl" executable has gcc/gfortran dependencies built in, so these are instructions to help you install gcc/gfortran if there is a dependency.

Open a Terminal window and type the following commands to check if you already have gcc and/or gfortran installed:

   which gcc
   which gfortran

If you don't have them installed, then there are several ways you can get gcc and gfortran installed on your Mac. Here are three of them:

  1. Check if you have a "Developer's Tool" disk that came with your Mac. This may have gcc and gfortran on it.

  2. Download gcc and gfortran from

  3. Use a package manager like Mac Ports or Homebrew to install the compilers (these are also great for installing other software you might need, like ImageMagick)

Go to list of available NCL binaries on the Earth System Grid

Follow these instructions to get to the list of available NCL binaries.

Here's the direct link: NCL 6.3.0 binaries

  1. Open a browser to
  2. Click on "NCL: NCAR Command Language".
  3. Look for the largest NCL version number in the list and click on the link.
  4. Select one of the "precompiled binaries" link, unless you want the source code. Choose the "not OPeNDAP-enabled" link if you don't need OPeNDAP capabilities.
  5. Click on "Download Files".
  6. At this point you will need to login with your OpenID. There are instructions on the page. If you forgot your OpenID or password, then click on the "Forgot your OpenID?" link.
  7. Click on the "Accept License" button after if you've read and agreed to the license.
  8. Click on the "Download Individual Files" button.
  9. Go to the next section on how to choose which binary to download.

Choose and download the right NCL binary for your MacOSX system

All MacOSX binaries are 64-bit, even if they have "i386" in the name of the file. This is because they were all built with the "-m64" option with the gcc and gfortran compilers.

If you're not sure what MacOSX binary you need to download, type:

  sw_vers -productVersion
  uname -m

This will echo something like:


This would mean you need to download this binary:


If it echoes something like:


This would mean you need to download this binary:


Install (and test) NCL from downloaded binary

See the "Install NCL/NCAR Graphics from a precompiled binary" document.

Potential issue with displaying graphics to an X11 window

If you are running MacOS 10.8 or later, or have upgraded your X11 server to be XQuartz 2.7.4 or earlier, then you may run into an issue with NCL's X11 window in which not all graphics get drawn correctly. This behavior is erratic and each time you run "ncl" you will likely get a slightly different partial graphic showing up.

We submitted a bug report to XQuartz awhile back and it was fixed in XQuartz version 2.7.5 (as of 11/10/2013). You can get this release from "".

Missing "___emutls_get_address" symbol with "ncl"

If you are getting the following error when running "ncl":

   dyld: lazy symbol binding failed: Symbol not found: ___emutls_get_address

then it is likely because you have an older version of the gcc/gfortran compilers on your system than what NCL was compiled with.

You can determine what version of gcc your NCL was compiled with by the name of the precompiled NCL binary file that you downloaded. For example, in the file "ncl_ncarg-6.3.0.MacOS_10.9_64bit_gcc492.tar.gz", the compiler version is 4.9.2.

To see what default version of gcc you have on your own system, type "gcc --version" on the UNIX command line. You may have other versions of gcc installed on your system, so look for these first, or check with your system administrator. They might be in directories like "/usr/local/bin" or "/opt/local/bin".

If your gcc is older than the one used to compile NCL and you can't find any newer versions, then you need to install the newer compiler. You can still keep your older compiler, as the newer one can be installed to a separate directory. We suggest using the free MacPorts package to install a newer compiler. For example:

  sudo port install gcc48
If you don't have MacPorts, you can get it from

Another user said he used Homebrew to install a newer compiler:

  brew install gcc48

The final step that you might need is to set the environment variable "DYLD_FALLBACK_LIBRARY_PATH" in one of your .* files, (like ".tcshrc", or ".profile", or ".bashrc"):

   setenv DYLD_FALLBACK_LIBRARY_PATH /opt/local/lib/gcc48
   export DYLD_FALLBACK_LIBRARY_PATH=/opt/local/lib/gcc48

Missing "libgomp" issue with "ncl" and/or "ESMF_RegridWeightGen"

If you are getting the following error when running "ncl" or "ESMF_RegridWeightGen":

  dyld: Library not loaded: /usr/local/lib/libgomp.1.dylib
  Referenced from: /opt/local/bin/ncl
  Reason: image not found

then it is likely because you have an older version of the gcc/gfortran compilers on your system than what NCL was compiled with. See the above section which explains how to install a newer compiler, which should then get you the missing "libgomp.1.dylib" library. After installing the new compiler, it should be in a directory like "/opt/local/lib/gcc48".

Increase stacksize limits

Many people running NCL under MacOSX have reported getting segmentation faults on simple scripts. To avoid this, follow one of the steps depending on whether you're running bash (the default) or csh/tcsh:

For bash, put this in your .profile file:

    ulimit -s unlimited

For csh/tcsh, put this in your .cshrc or .tcshrc file:

    limit stacksize unlimited 

Troubleshooting problems

  • If you try to run NCL, and get an error like:

        dyld: Library not loaded: /usr/local/gfortran/lib/libgfortran.3.dylib

    Then this may mean that you don't have the same version of gcc/gfortran installed that NCL was built with. You can first try typing:

      locate  libgfortran.3.dylib

    to see if this file is already on your machine. If it is, then you may need to set the environment variable DYLD_LIBRARY_PATH to point to the location of this file.

    Otherwise, if you don't have the file, go to and download the latest version of gcc/gfortran.