Major overhault of scripts in the ROMS Matlab repository

ROMS Code Release Announcements

Moderators: arango, robertson

Post Reply
Message
Author
User avatar
arango
Site Admin
Posts: 1081
Joined: Wed Feb 26, 2003 4:41 pm
Location: IMCS, Rutgers University
Contact:

Major overhault of scripts in the ROMS Matlab repository

#1 Post by arango » Wed May 02, 2012 9:36 pm

I have been working on a major overhaul of Matlab scripts and tools in the ROMS repository for several weeks. Since all the data in ROMS is managed with NetCDF files, some of these scripts use a NetCDF interface to Matlab to process the data. There are several interfaces for Matlab available from third parties. The most widely used interfaces are MEXNC and SNCTOOLS.

:idea: However, starting with Matlab version 2012a, released on Feb 9, 2012, the native interface to NetCDF is the preferred method for processing NetCDF data in the scripts distributed in the ROMS repository matlab and described here. The native interface was introduced in Matlab version 2008b for NetCDF-3 type files. The NetCDF-4 support started in version 2010b. The support for HDF5 files was completed in version 2011a. The OpenDAP support began in version 2012a. If your Matlab version is older than 2008b, we highly recommend that you update to the newest version. However, in the basic generic scripts we have switches for older versions to activate either the MEXNC interface for standard NetCDF files and the SNCTOOLS interface to process NetCDF files on an OpenDAP server.

:idea: Notice that a new sub-directory is added matlab/netcdf containing several :arrow: high level scripts on top of the native NetCDF interface if using Matlab Version 2008b or newer for local NetCDF files and Matlab Version 2012a or newer for OpenDAP files. For older Matlab versions, the MEXNC interface is used for local files whereas the SNCTOOLS java interface is used for OpenDAP files. Notice that processing of OpenDAP files is only possible for reading.

Warning: You need to add the new sub-directory matlab/netcdf of the repository to your Matlab startup.m script of Matlab desktop window Set Path.... Previously, all the nc_*.m scripts were located in the matlab/utility sub-directory. They have been all modified and moved to the new sub-directory matlab/netcdf.

Nesting Scripts:

This update also includes several new scripts to process ROMS nesting contact regions and contact points. The contact points are processed outside of ROMS and all the connectivity within nested grids is read from an input NetCDF file. This facilitates the configuration of various grid Sub-Classes. It tremendously simplifies the processing of such points in parallel computations. It also gives the user full editing control of the contact points. The contact points need to be set-up once for a particular application.

The information about these new scripts is very technical and difficult to explain with plain words. We need definitions, equations, and a lot of diagrams to explain and illustrate the complexity of ROMS nesting capabilities. Therefore, we decided to put all that information in :arrow: WikiROMS instead of a very long message in this forum. In particular, we added two new menus to the documentation portal:
Below is an example of several nested grids for the US East Coast for the ESPRESSO coarse grid. This example is discussed in :arrow: WikiROMS.



I know that several of you are looking forward for start playing with these nesting capabilities. You just need to be a little bit patient 8) It is coming soon 8) This capability is complex and we need provide a lot of documentation and testing. Also, I need to do this systematically. Otherwise, this forum is going to be flooded with a lot of frustrating messages. At least you now have all the Matlab scripts available to start thinking about a particular nesting application. I am sure that setting such applications will take time, knowledge, and experience.

Post Reply