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

projection coordinates cannot pass the check #1064

Open
charlienegri opened this issue Apr 17, 2024 · 2 comments
Open

projection coordinates cannot pass the check #1064

charlienegri opened this issue Apr 17, 2024 · 2 comments
Assignees

Comments

@charlienegri
Copy link

charlienegri commented Apr 17, 2024

Version of compliance checker running: IOOS compliance checker version 5.1.2.dev1+g651b8c7

Describe the checker this affects:
CF 1.8

Describe the issue below:
In case projection coordinates with units in Cartesian system are present, like in the header pasted below, they get listed among other latitude/longitude coordinates by the get_latitude_variables() function in because of the axis: Y attribute, but then do not pass the units check. so they should either be excluded by the list (the function get_true_latitude_variables does that for example, but is not used anymore), or a special case should be made.

Attach a minimal CDL or NetCDF file which is able to reproduce the issue

variables:
	float nox_background_concentration(time, j, i) ;
		nox_background_concentration:_FillValue = -99.f ;
		nox_background_concentration:units = "ug/m3" ;
		nox_background_concentration:coordinates = "lon lat" ;
	int projection_lambert ;
		projection_lambert:grid_mapping_name = "lambert_conformal_conic" ;
		projection_lambert:standard_parallel = 63.3, 63.3 ;
		projection_lambert:longitude_of_central_meridian = 15. ;
		projection_lambert:latitude_of_projection_origin = 63.3 ;
		projection_lambert:earth_radius = 6371000. ;
	float i(i) ;
		i:_FillValue = 0.f ;
		i:standard_name = "projection_x_coordinate" ;
		i:long_name = "x-coordinate in Cartesian system" ;
		i:units = "m" ;
		i:axis = "X" ;
	float j(j) ;
		j:_FillValue = 0.f ;
		j:standard_name = "projection_y_coordinate" ;
		j:long_name = "y-coordinate in Cartesian system" ;
		j:units = "m" ;
		j:axis = "Y" ;
	float lat(j, i) ;
		lat:_FillValue = -999.f ;
		lat:long_name = "latitude" ;
		lat:units = "degrees_north" ;
		lat:standard_name = "latitude" ;
	float lon(j, i) ;
		lon:_FillValue = -999.f ;
		lon:standard_name = "longitude" ;
		lon:long_name = "longitude" ;
		lon:units = "degrees_east" ;
	int time(time) ;
		time:units = "seconds since 2022-01-01T00:00:00+00:00" ;
		time:calendar = "proleptic_gregorian" ;
@benjwadams benjwadams self-assigned this May 13, 2024
@benjwadams
Copy link
Contributor

CDL does not output netCDF with ncgen

@charlienegri
Copy link
Author

test_slice.nc.gz

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

No branches or pull requests

2 participants