Difference between revisions of "MEXNC"

From WikiROMS
Jump to navigationJump to search
Line 36: Line 36:
#* Copy the <span style="color:red">netcdf.dll</span> file and PASTE it into one (or both) of the following directories:<div class="box"><span style="color:red">C:\MATLAB\bin</span><br /><br />and/or<br /><br /><span style="color:red">C:\MATLAB\bin\win32</span></div>{{warning}} <small>In the example above, <span class="red">C:\MATLAB</span> is the location where matlab is located, but this '''may be different''' in your computer.</small><br /><br />
#* Copy the <span style="color:red">netcdf.dll</span> file and PASTE it into one (or both) of the following directories:<div class="box"><span style="color:red">C:\MATLAB\bin</span><br /><br />and/or<br /><br /><span style="color:red">C:\MATLAB\bin\win32</span></div>{{warning}} <small>In the example above, <span class="red">C:\MATLAB</span> is the location where matlab is located, but this '''may be different''' in your computer.</small><br /><br />
#* Similarly as in '''(5)''', add the path to the directory(ies) above (i.e. <span class="red">C:\MATLAB\bin</span> and <span class="red">C:\MATLAB\bin\win32</span>) to the Matlab search path.<br />{{note}} <small>NOTE: In some cases, it will be important to have <span class="red">C:\MATLAB\bin</span> and <span class="red">C:\MATLAB\bin\win32</span> at the '''TOP''' of the searching path.</small><br /><br />
#* Similarly as in '''(5)''', add the path to the directory(ies) above (i.e. <span class="red">C:\MATLAB\bin</span> and <span class="red">C:\MATLAB\bin\win32</span>) to the Matlab search path.<br />{{note}} <small>NOTE: In some cases, it will be important to have <span class="red">C:\MATLAB\bin</span> and <span class="red">C:\MATLAB\bin\win32</span> at the '''TOP''' of the searching path.</small><br /><br />
#* Done! However, you may need have to download [http://mexcdf.sourceforge.net/ SNCTOOLS] and the matlab tool-kit to be fully operational... read below.
#* Done! However, you may need to download [http://mexcdf.sourceforge.net/ SNCTOOLS] and the matlab tool-kit to be fully operational... read below.





Revision as of 05:04, 24 April 2008

Matlab MEXNC, SNCTOOLS and ROMS tool-kit

MATLAB is powerful software that is commonly used to create ROMS inputs and to visualize and analyze ROMS output. However, out-of-the-box Matlab doesn't come with the capabilities to read/write ROMS NetCDF files. For that you need to download and install MEXNC, which is a mex-file interface to NetCDF files for MATLAB. In simple terms, it is a set of files (mex and .m files) that allows Matlab to read and write NetCDF files. Also, if you want to fully exploit Matlab's capabilities to manipulate/analyze ROMS files, you may want to download/install SNCTOOLS and the ROMS Matlab tool-kit, which are Matlab routines (that sit on top of MEXNC) that facilitate the manipulation, visualization and analysis of ROMS input/output NetCDF files. There are free alternatives to Matlab (see links below), however in this tutorial I will only review (some) tools for Matlab.

Quick links:
MATLAB MEXNC project page SNCTOOLS tutorial (for Matlab)
Scilab Free Matlab-clone Scilab/NetCDF Interface NetCDF Toolbox (for Matlab)
Octave Free Matlab-clone OCTCDF Octave/NetCDF interface



How to install MEXNC?

You have to download the MEXNC version that matches BOTH, your specific Matlab version and your operating system.

  1. First determine what Matlab version you have by typing on the Matlab command line:
    version('-release')
  2. Then, go to the download area, scroll down and click on your Matlab version (verify that you operating system is listed as an option).
  3. Download the latest release
  4. Extract (i.e. unzip or unpack) the file in a location where it can stay indefinitely
  5. In Matlab, add the path of your recently extracted mexnc directory. To do this...
    • Click on File > Set Path... (a GUI will pop-up)
    • Click on the Add with Subfolders... button, and add the path to your new mexnc folder
    • Click on the Save button, and close the GUI

  6. If you are using WINDOWS operating system (I don't know if others too), you will have to add the netcdf.dll file to your Matlab system directory. To do this...
    • Go to your recently extracted mexnc directory and go inside the win32 folder...
    • Copy the netcdf.dll file and PASTE it into one (or both) of the following directories:
      C:\MATLAB\bin

      and/or

      C:\MATLAB\bin\win32
      Warning In the example above, C:\MATLAB is the location where matlab is located, but this may be different in your computer.

    • Similarly as in (5), add the path to the directory(ies) above (i.e. C:\MATLAB\bin and C:\MATLAB\bin\win32) to the Matlab search path.
      Note NOTE: In some cases, it will be important to have C:\MATLAB\bin and C:\MATLAB\bin\win32 at the TOP of the searching path.

    • Done! However, you may need to download SNCTOOLS and the matlab tool-kit to be fully operational... read below.


Note If you are using Scilab (free Matlab-clone)... Click here to get the Scilab interface to NetCDF files.

How to install SNCTOOLS?

Written by John Evans, SNCTOOLS is a set of m-files that sit on top of MEXNC (and optionally, java) and strive to provide the user with a kinder, gentler interface (rather than MEXNC alone). Here is a tutorial and below are instructions for download and "installation":

  1. Go to the download page and get the latest release.
  2. Extract the file in a location where it can stay indefinitely
  3. Similar to step (5) above, add the path to the recently extracted directory to the Matlab search path.


How to install ROMS Matlab tool-kit?

This is a compilation (from a lot of smart people) of matlab tools (i.e. m-files), that sit on top of SNCTOOLS (which sits on top of MEXNC). Here are instructions for download and "installation":

  1. Go to the download page, enter the matlab directory, and download the matlab.tar.gz file.
  2. Extract the file in a location where it can stay indefinitely
  3. Similar to step (5) above, add the path to the recently extracted directory to the Matlab search path.