Versions Compared

Key

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

...

The edge_dimension attributes are not needed.

ROMS

...

The ROMS output file uses different dimensions for all stagger locations. In this case we need all attributes defined above including the edge<i>_dimension attributes..

Code Block
netcdf sed023_last {
dimensions:
	ocean_time = UNLIMITED ; // (1 currently)
	s_w = 21 ;
	eta_rho = 60 ;
	xi_rho = 160 ;
	tracer = 10 ;
	s_rho = 20 ;
	eta_u = 60 ;
	xi_u = 159 ;
	eta_v = 59 ;
	xi_v = 160 ;
	eta_psi = 59 ;
	xi_psi = 159 ;
variables:
	double lat_psi(eta_psi, xi_psi) ;
		lat_psi:long_name = "latitude of PSI-points" ;
		lat_psi:units = "degree_north" ;
	double lat_rho(eta_rho, xi_rho) ;
		lat_rho:long_name = "latitude of RHO-points" ;
		lat_rho:units = "degree_north" ;
	double lat_u(eta_u, xi_u) ;
		lat_u:long_name = "latitude of U-points" ;
		lat_u:units = "degree_north" ;
	double lat_v(eta_v, xi_v) ;
		lat_v:long_name = "latitude of V-points" ;
		lat_v:units = "degree_north" ;
	double lon_psi(eta_psi, xi_psi) ;
		lon_psi:long_name = "longitude of PSI-points" ;
		lon_psi:units = "degree_east" ;
	double lon_rho(eta_rho, xi_rho) ;
		lon_rho:long_name = "longitude of RHO-points" ;
		lon_rho:units = "degree_east" ;
	double lon_u(eta_u, xi_u) ;
		lon_u:long_name = "longitude of U-points" ;
		lon_u:units = "degree_east" ;
	double lon_v(eta_v, xi_v) ;
		lon_v:long_name = "longitude of V-points" ;
		lon_v:units = "degree_east" ;
	double ocean_time(ocean_time) ;
		ocean_time:long_name = "time since initialization" ;
		ocean_time:units = "seconds since 1968-05-23 00:00:00 GMT" ;
		ocean_time:calendar = "gregorian" ;
	double s_rho(s_rho) ;
		s_rho:long_name = "S-coordinate at RHO-points" ;
		s_rho:valid_min = -1. ;
		s_rho:valid_max = 0. ;
		s_rho:standard_name = "ocean_s_coordinate" ;
		s_rho:formula_terms = "s: s_rho eta: zeta depth: h a: theta_s b: theta_b depth_c: hc" ;
	double s_w(s_w)

...

 ;
		s_w:long_name = "S-coordinate at W-points" ;
		s_w:valid_min = -1. ;
		s_w:valid_max = 0. ;
		s_w:standard_name = "ocean_s_coordinate" ;
		s_w:formula_terms = "s: s_w eta: zeta depth: h a: theta_s b: theta_b depth_c: hc" ;
	float u(ocean_time, s_rho, eta_u, xi_u)

...

 ;
		u:long_name = "u-momentum component" ;
		u:units = "meter second-1" ;
		u:coordinates = "lat_u lon_u" ;
		u:grid = "grid" ; // SGRID attribute
		u:location = "edge1" ; // SGRID attribute
	float v(ocean_time, s_rho, eta_v, xi_v)

...

 ;
		v:long_name = "v-momentum component" ;
		v:units = "meter second-1" ;
		v:coordinates = "lat_v lon_v" ;
		v:grid = "grid" ; // SGRID attribute
		v:location = "edge2" ; // SGRID attribute
	float zeta(ocean_time, eta_rho, xi_rho) ;
		zeta:long_name = "free-surface" ;
		zeta:units = "meter" ;
		zeta:time = "ocean_time" ;
		zeta:coordinates = "lat_rho lon_rho" ;
		zeta:grid = "grid" ; // SGRID attribute
		zeta:location = "face" ; // SGRID attribute
// new SGRID variable
	int grid ;
		grid:cf_role = grid_topology
		grid:topology_dimension = 2 ;
		grid:node_dimensions = "xi_psi eta_psi" ;
		grid:face_dimensions = "xi_rho: xi_psi (padding: both) eta_rho: eta_psi (padding: both)" ;
		grid:edge1_dimensions = "xi_u: xi_psi eta_u: eta_psi (padding: both)" ;
		grid:edge2_dimensions = "xi_v: xi_psi (padding: both) eta_v: eta_psi" ;
		grid:node_coordinates = "lon_psi lat_psi" ;
		grid:face_coordinates = "lon_rho lat_rho" ;
		grid:edge1_coordinates = "lon_u lat_u" ;
		grid:edge2_coordinates = "lon_v lat_v" ;
		grid:vertical_dimensions = "s_rho: s_w (padding: none)" ;

// global attributes:
		:Conventions = "CF-1.0" ;
		:title = "ROMS/TOMS 2.2 - Adria02 Uber Run" ;
}

WRF?

Some example for another type of structured grid?