Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Note: The edge1, edge2, and edge3 are in a 3D grid aligned to the dimensions1, 2, and 3 respectively, whereas the edge1 and edge2 are in a 2D grid perpendicular to the dimensions 1 and 2 respectively. The face1, face2, and face3 play that role in the 3D grid.

Examples

Delft3D

...

This example shows the use of asymmetric padding (at the low end of the horizontal coordinate indices there is an extra line of face/mid-point values). In the vertical there is no padding, so the number of layer interfaces is one more than the number of layers. The integer coodinate variables KMAX and KMAX1 are used to indicate that layer interfaces are numbered 0 to KMAX whereas all other indices use the default numbering from 1 to the maximum value.

Code Block
netcdf trim-f34 {
dimensions:
	NMAX = 22 ;
	NMAXZ = 22 ;
	MMAX = 15 ;
	MMAXZ = 15 ;
	KMAX = 5 ;
	KMAX1 = 6 ;
	time = UNLIMITED ; // (6 currently)
variables:
	int KMAX(KMAX) ;
	int KMAX1(KMAX1) ;
	float XCOR(MMAX, NMAX) ;
		XCOR:standard_name = "projection_x_coordinate" ;
		XCOR:long_name = "X-coordinate of grid points" ;
		XCOR:units = "m" ;
	float YCOR(MMAX, NMAX) ;
		YCOR:standard_name = "projection_y_coordinate" ;
		YCOR:long_name = "Y-coordinate of grid points" ;
		YCOR:units = "m" ;
	float XZ(MMAXZ, NMAXZ) ;
		XZ:standard_name = "projection_x_coordinate" ;
		XZ:long_name = "X-coordinate of cell centres" ;
		XZ:units = "m" ;
	float YZ(MMAXZ, NMAXZ) ;
		YZ:standard_name = "projection_y_coordinate" ;
		YZ:long_name = "Y-coordinate of cell centres" ;
		YZ:units = "m" ;
	float THICK(KMAX) ;
		THICK:long_name = "Fraction part of layer thickness of total water-height" ;
		THICK:units = "[ .01*% ]" ;
	float time(time) ;
		time:standard_name = "time" ;
		time:long_name = "time" ;
		time:units = "seconds since 1990-08-05 00:00:00" ;
	float S1(time, MMAXZ, NMAXZ) ;
		S1:long_name = "Water-level in zeta point" ;
		S1:units = "m" ;
		S1:coordinates = "XZ YZ" ;
	float U1(time, KMAX, MMAX, NMAXZ) ;
		U1:long_name = "U-velocity per layer in U-point (Eulerian)" ;
		U1:units = "m/s" ;
	float V1(time, KMAX, MMAXZ, NMAX) ;
		V1:long_name = "V-velocity per layer in V-point (Eulerian)" ;
		V1:units = "m/s" ;
	float W(time, KMAX1, MMAXZ, NMAXZ) ;
		W:long_name = "W-omega per layer in zeta point" ;
		W:units = "m/s" ;
// SGRID variable
	int grid ;
		grid:cf_role = grid_topology
		grid:topology_dimension = 2 ;
		grid:node_dimensions = "MMAX NMAX" ;
		grid:face_dimensions = "MMAXZ: MMAX (padding: low) NMAXZ: NMAX (padding: low)" ;
		grid:node_coordinates = "XCOR YCOR" ;
		grid:face_coordinates = "XZ YZ" ;
		grid:vertical_dimensions = "KMAX: KMAX1 (padding: none)" ;

// global attributes:
		:title = "Het Friesche Zeegaatje" ;

data:
 KMAX = 1, 2, 3, 4, 5 ;
 KMAX1 = 0, 1, 2, 3, 4, 5 ;
}

The edge_dimension attributes are not needed.

...