This archive contains answers to questions sent to Unidata support through mid-2025. Note that the archive is no longer being updated. We provide the archive for reference; many of the answers presented here remain technically correct, even if somewhat outdated. For the most up-to-date information on the use of NSF Unidata software and data services, please consult the Software Documentation first.
Hi Tom-
> Full Name: Tom Coleman
> Email Address: address@hidden
> Organization: Australian Bureau of Meteorology
> Package Version:
> Operating System:
> Hardware:
> Description of problem: I'm looking for some code in Java which converts
> McIDAS grids to netCDF files. I know it can be done as I can do it using your
> ToolsUI application, but as I'm very inexperienced with Java I'm not sure how
> to do it.
Below is some code that will read a McIDAS grid file and write out a CF
compliant netCDF file. The program is attached. It will only work with McIDAS
grid files where all the grids have the same projection. I don't have a simple
solution for multi-projection cases.
Most of the classes are in the ucar.nc2.dt.grid package:
System.out.println("Reading from: " + args[0]);
GridDataset gridDs = GridDataset.open (args[0]);
List<GridDatatype> grids = gridDs.getGrids();
List<String> gridNames = new ArrayList<String>();
for (GridDatatype grid : grids) {
gridNames.add(grid.getName());
}
System.out.println("Writing to: " + args[1]);
NetcdfCFWriter ncOut = new NetcdfCFWriter();
ncOut.makeFile(args[1], gridDs, gridNames, null, null, true, 0, 0, 0);
This can actually be used to write any kind of grid file that the netCDF-Java
handles (McIDAS, GRIB 1&2, netCDF, GEMPAK) with the same caveat that there can
be only one projection.
You could subset the grids by choosing specific names (above selects all grids)
and subset by lat/lon etc. See the javadoc on
ucar.nc2.dt.grid.NetcdfFileWriter at:
http://www.unidata.ucar.edu/software/netcdf-java/v4.1/javadocAll/index.html
Don Murray
Ticket Details
===================
Ticket ID: VKX-901266
Department: Support netCDF Java
Priority: Normal
Status: OpenAttachment:
McGridToNC.java
Description: Binary data