Opened 12 years ago

Closed 12 years ago

#563 closed upgrade (Done)

Updated and corrected several Matlab scripts

Reported by: arango Owned by: arango
Priority: major Milestone: Matlab Processing Scripts
Component: Matlab Version: 3.6
Keywords: Cc:

Description (last modified by arango)

Several Matlab scripts where updated. The processing scripts roms2roms.m and obc_roms2roms.m have the incorrect calls to the nc_vinfo function. Many thanks to John Wilkin to remind me of these typos.

In addition several new scripts were introduced:

  • coastline/get_coast.m: Extracts coastline data from the Global Self-consistent, Hierarchical, High-resolution Shoreline (GSHHS) database for the box corners bounded by (Llon,Blat) and (Rlon,Tlat).
  • forcing/d_core2_frc.m: Driver template script showing how to create ROMS forcing NetCDF file(s) using ROMS metadata structure. The data source is the CORE 2 Global Air-Sea Flux Dataset. Notice that the original data set is sampled for the Gulf of Mexico (GOM).
  • netcdf/check_metadata.m: Checks ROMS metadata structure for consistency and fills unassigned fields. This structure will be used elsewhere to create NetCDF files in a compact way.
  • netcdf/nc_append.m: Defines/appends new variables to an existing NetCDF file. The variable(s) metadata is provided in input structure, which includes information about variable type, dimensions and attributes.
  • roms_metadata.m: Sets metadata structure for requested ROMS NetCDF variable. The structure contains the same fields that are returned by nc_inq or native interface ncinfo. This can be used elsewhere to create a NetCDF file in a compact way.
  • plot_field.m: Plots requested ROMS variable from input history NetCDF file. This function is very useful when debugging a ROMS application. The plotting is not that fancy but it provides enough information for browsing ROMS variables very quickly. The location of the minimum is marked with a filled magenta circle whereas the maximum is marked with a filled magenta square. It also draws the coastline, if the data is available in the grid file or structure.

Notice that the roms_metadata function builds a structure with similar information as in ROMS varinfo.dat. The strategy here is to create a structure that can be used with nc_create to generate ROMS input NetCDF files in a compact way. The driver template forcing/d_core2_frc.m provides an example of how the ROMS metadata structure is used to create several atmospheric forcing NetCDF files. It creates a single NetCDF file per forcing field. This is kind of nice since creating NetCDF file is too verbose and requirse hundreds of lines of coding. Here this is done in a very compact and generic way and with few lines. In addition, it provides the correct CF compliance.

I assume the the function roms_metadata will continue evolving in the future as we add more fields.

Change History (1)

comment:1 by arango, 12 years ago

Description: modified (diff)
Resolution: Done
Status: newclosed
Note: See TracTickets for help on using tickets.