Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

This PR adds support for nemo 5.0 #127

Merged
merged 5 commits into from
Jan 15, 2025
Merged

This PR adds support for nemo 5.0 #127

merged 5 commits into from
Jan 15, 2025

Conversation

rcaneill
Copy link
Owner

No description provided.

@rcaneill
Copy link
Owner Author

In my nemo 5.0 test data, it seems that they changed the name of some dimensions.

ncdump -h gives

netcdf GYRE_1y_00010101_00011230_grid_T {
dimensions:
	axis_nbounds = 2 ;
	x_grid_T = 32 ;
	y_grid_T = 22 ;
	deptht = 4 ;
	x_grid_T_3D_inner = 32 ;
	y_grid_T_3D_inner = 22 ;
	grid_T_3D_inner = 4 ;
	time_counter = UNLIMITED ; // (1 currently)
variables:
	float nav_lat_grid_T(y_grid_T, x_grid_T) ;
		nav_lat_grid_T:standard_name = "latitude" ;
		nav_lat_grid_T:long_name = "Latitude" ;
		nav_lat_grid_T:units = "degrees_north" ;
	float nav_lon_grid_T(y_grid_T, x_grid_T) ;
		nav_lon_grid_T:standard_name = "longitude" ;
		nav_lon_grid_T:long_name = "Longitude" ;
		nav_lon_grid_T:units = "degrees_east" ;
	float deptht(deptht) ;
		deptht:name = "deptht" ;
		deptht:long_name = "Vertical T levels" ;
		deptht:units = "m" ;
		deptht:positive = "down" ;
		deptht:bounds = "deptht_bounds" ;
	float deptht_bounds(deptht, axis_nbounds) ;
		deptht_bounds:units = "m" ;
	float nav_lat_grid_T_3D_inner(y_grid_T_3D_inner, x_grid_T_3D_inner) ;
		nav_lat_grid_T_3D_inner:standard_name = "latitude" ;
		nav_lat_grid_T_3D_inner:long_name = "Latitude" ;
		nav_lat_grid_T_3D_inner:units = "degrees_north" ;
	float nav_lon_grid_T_3D_inner(y_grid_T_3D_inner, x_grid_T_3D_inner) ;
		nav_lon_grid_T_3D_inner:standard_name = "longitude" ;
		nav_lon_grid_T_3D_inner:long_name = "Longitude" ;
		nav_lon_grid_T_3D_inner:units = "degrees_east" ;
	float grid_T_3D_inner(grid_T_3D_inner) ;
		grid_T_3D_inner:name = "grid_T_3D_inner" ;
		grid_T_3D_inner:long_name = "Vertical T levels" ;
		grid_T_3D_inner:units = "m" ;
		grid_T_3D_inner:positive = "down" ;
		grid_T_3D_inner:bounds = "grid_T_3D_inner_bounds" ;
	float grid_T_3D_inner_bounds(grid_T_3D_inner, axis_nbounds) ;
		grid_T_3D_inner_bounds:units = "m" ;
	double time_centered(time_counter) ;
		time_centered:standard_name = "time" ;
		time_centered:long_name = "Time axis" ;
		time_centered:calendar = "360_day" ;
		time_centered:units = "seconds since 1900-01-01 00:00:00" ;
		time_centered:time_origin = "1900-01-01 00:00:00" ;
		time_centered:bounds = "time_centered_bounds" ;
	double time_centered_bounds(time_counter, axis_nbounds) ;
	double time_counter(time_counter) ;
		time_counter:axis = "T" ;
		time_counter:standard_name = "time" ;
		time_counter:long_name = "Time axis" ;
		time_counter:calendar = "360_day" ;
		time_counter:units = "seconds since 1900-01-01 00:00:00" ;
		time_counter:time_origin = "1900-01-01 00:00:00" ;
		time_counter:bounds = "time_counter_bounds" ;
	double time_counter_bounds(time_counter, axis_nbounds) ;
	float toce(time_counter, deptht, y_grid_T, x_grid_T) ;
		toce:standard_name = "sea_water_potential_temperature" ;
		toce:long_name = "temperature" ;
		toce:units = "degC" ;
		toce:online_operation = "average" ;
		toce:interval_operation = "7200 s" ;
		toce:interval_write = "1 yr" ;
		toce:cell_methods = "time: mean (interval: 7200 s)" ;
		toce:_FillValue = 1.e+20f ;
		toce:missing_value = 1.e+20f ;
		toce:coordinates = "time_centered nav_lat_grid_T nav_lon_grid_T" ;
	float soce(time_counter, deptht, y_grid_T, x_grid_T) ;
		soce:standard_name = "sea_water_practical_salinity" ;
		soce:long_name = "salinity" ;
		soce:units = "1e-3" ;
		soce:online_operation = "average" ;
		soce:interval_operation = "7200 s" ;
		soce:interval_write = "1 yr" ;
		soce:cell_methods = "time: mean (interval: 7200 s)" ;
		soce:_FillValue = 1.e+20f ;
		soce:missing_value = 1.e+20f ;
		soce:coordinates = "time_centered nav_lat_grid_T nav_lon_grid_T" ;
	float e3t(time_counter, grid_T_3D_inner, y_grid_T_3D_inner, x_grid_T_3D_inner) ;
		e3t:standard_name = "cell_thickness" ;
		e3t:long_name = "T-cell thickness" ;
		e3t:units = "m" ;
		e3t:online_operation = "average" ;
		e3t:interval_operation = "7200 s" ;
		e3t:interval_write = "1 yr" ;
		e3t:cell_methods = "time: mean (interval: 7200 s)" ;
		e3t:_FillValue = 1.e+20f ;
		e3t:missing_value = 1.e+20f ;
		e3t:coordinates = "time_centered nav_lat_grid_T_3D_inner nav_lon_grid_T_3D_inner" ;

// global attributes:
		:name = "GYRE_1y_00010101_00011230_grid_T" ;
		:description = "ocean T grid variables" ;
		:title = "ocean T grid variables" ;
		:Conventions = "CF-1.6" ;
		:timeStamp = "2025-Jan-14 15:48:57 GMT" ;
		:uuid = "3fcd5091-2555-4f9a-8613-f49975a58927" ;

and similarly on the U,V points. So we should now handle the XX_grid_X_2D/3D_/inner dimensions

@rcaneill
Copy link
Owner Author

I forgot that it was already raised in #34 and partly fixed in #57

@rcaneill
Copy link
Owner Author

We are just left with the vertical, i.e. the grid_T_3D_inner (and maybe other ones...)

@rcaneill rcaneill merged commit 3de4680 into main Jan 15, 2025
16 checks passed
@rcaneill rcaneill deleted the add_nemo5 branch January 15, 2025 16:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant