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

New CICE grids #92

Closed
anton-seaice opened this issue Apr 17, 2024 · 4 comments
Closed

New CICE grids #92

anton-seaice opened this issue Apr 17, 2024 · 4 comments

Comments

@anton-seaice
Copy link

Per COSIMA/om3-utils#5, there are updated cice grids at all resolutions, this requires updating all 0.1 and 1 degree config.yaml files. (0.25 is implemented in #17)

@aidanheerdegen
Copy link
Member

Great work, and the metadata is much improved, thanks.

I did chuck it through cf-xarray to see what it made of it:

Coordinates:
             CF Axes:   X, Y, Z, T: n/a

      CF Coordinates:   longitude: ['tlon', 'ulon']
                        latitude: ['tlat', 'ulat']
                        vertical, time: n/a

       Cell Measures:   area, volume: n/a

      Standard Names:   latitude: ['tlat', 'ulat']
                        longitude: ['tlon', 'ulon']

              Bounds:   n/a

       Grid Mappings:   n/a

Data Variables:
       Cell Measures:   area, volume: n/a

      Standard Names:   angle_of_rotation_from_east_to_x: ['angle', 'angleT']
                        cell_area: ['tarea', 'uarea']

              Bounds:   n/a

       Grid Mappings:   n/a

Are we happy with that?

It can't determine axes. If that was desirable there would need to be variables added for nx and ny with an appropriate non-tripolar cartesian grid (similar to what MOM does).

http://cfconventions.org/cf-conventions/v1.6.0/cf-conventions.html#_two_dimensional_latitude_longitude_coordinate_variables

A potential motivation to have X and Y axes is to facilitate model agnostic analyses, though I don't know off the top of my head if the axes are a useful or necessary variable.

The COSIMA Recipe Tutorial for writing model agnostic code is worth a look:

https://cosima-recipes.readthedocs.io/en/latest/Tutorials/Model_Agnostic_Analysis.html#What-to-do-when-it-goes-wrong

as the ice data poses issues because it is quite different to the MOM outputs. Some of the differences that needed to be accounted for:

  1. Ice output grids contained NAs which required to read in the grid.nc file to get unmasked lat/lon grids
  2. The grid.nc file has different dimensions names to the output data (ni, nj in data vs nx, ny in the grid file)
  3. The grid uses units of radians (which seems incredibly unusual, but would be difficult to modify if the model is expecting radians)

I ran the file through the CF compliance checker

Details

$ cchecker.py /g/data/vk83/experiments/inputs/access-om2/ice/grids/global.1deg/2024.04.17/grid.nc                                                                         [10/1836]
Running Compliance Checker on the datasets from: ['/g/data/vk83/experiments/inputs/access-om2/ice/grids/global.1deg/2024.04.17/grid.nc']                                                                   
                                                                                                                                                                                                           
                                                                                                                                                                                                           
--------------------------------------------------------------------------------                                                                                                                           
                         IOOS Compliance Checker Report                                                                                                                                                    
                                 Version 5.1.0                                                                                                                                                             
                     Report generated 2024-04-18T00:03:17Z                                                                                                                                                 
                                    acdd:1.3                                                                                                                                                               
http://wiki.esipfed.org/index.php?title=Category:Attribute_Conventions_Dataset_Discovery                                                                                                                   
--------------------------------------------------------------------------------                                                                                                                           
                               Corrective Actions
grid.nc has 11 potential issues                       
                                                   
                                                 
                               Highly Recommended
--------------------------------------------------------------------------------
Global Attributes                                                                                                                                                                                          
* Conventions does not contain 'ACDD-1.3'                                                                                                              
* keywords not present                             
* summary not present                            
* title not present                                                                                                                                                                                        
                                                                                                                           
variable "angle" missing the following attributes:                                                                                                                                                         
* coverage_content_type                                                                                                                                                                                    
                                                                                                                  
variable "angleT" missing the following attributes:
* coverage_content_type                  
                                                                                                                                                                                                           
variable "hte" missing the following attributes:                                                                           
* coverage_content_type                                                                                                                                                                                    
* standard_name                                                                                                                                                                                            
                                                                                                                  
variable "htn" missing the following attributes:
* coverage_content_type                                                                                                                                                
* standard_name                            
             
variable "tarea" missing the following attributes: 
* coverage_content_type                           
                                           
variable "uarea" missing the following attributes:
* coverage_content_type                  
                                        
                                                         
                                  Recommended      
--------------------------------------------------------------------------------
Global Attributes                       
* acknowledgment/acknowledgement not present              
* comment not present                             
* creator_name not present   
* creator_url not present               
* creator_email not present                              
* geospatial_bounds not present                  
* geospatial_lat_min not present                                             
* geospatial_lat_max not present                     
* geospatial_lon_min not present                          
* geospatial_lon_max not present                  
* geospatial_vertical_min not present
* geospatial_vertical_max not present
* geospatial_vertical_positive not present                         
* geospatial_bounds_crs not present                                                                                                                                                                        
* geospatial_bounds_vertical_crs not present
* id not present                     
* institution not present         
* license not present                                             
* naming_authority not present                 
* project not present                     
* processing_level not present
* publisher_name not present             
* publisher_url not present                                     
* publisher_email not present                                             
* standard_name_vocabulary not present           
* source not present                        
* time_coverage_start not present
* time_coverage_end not present           
* time_coverage_duration not present                                                                                     
* time_coverage_resolution not present                                     


date_created_is_iso
* Attr date_created is not present

geospatial_lat_extents_match
* geospatial_lat_min/max attribute not found, CF-1.6 spec chapter 4.1

geospatial_lon_extents_match
* geospatial_lon_min/max attribute not found, CF-1.6 spec chapter 4.1

It is notoriously picky, and designed for published data, but some of the suggestions of global attributes seem reasonable, e.g license, date_created

@aidanheerdegen
Copy link
Member

Hey @bschroeter any opinions about what metadata should be included?

We should probably start using something like axiom to validate against a schema

https://axiom.readthedocs.io/en/latest/schemas/schemas.html

Though that is a much wider problem, so have created an issue

ACCESS-NRI/model-config-tests#8

@anton-seaice
Copy link
Author

It can't determine axes. If that was desirable there would need to be variables added for nx and ny with an appropriate non-tripolar cartesian grid (similar to what MOM does).

http://cfconventions.org/cf-conventions/v1.6.0/cf-conventions.html#_two_dimensional_latitude_longitude_coordinate_variables

Yes. That is correct. There are a few things to note:

  • The axis in our case do not have a physical meaning. All analysis needs to use the 2D geolon and geolate fields.
  • From your link, X and Y axis are defined in metres in a Cartesian system. Our grid does contain this information.
  • CICE doesn't use these fields, so to reduce confusion we wouldn't add them to this file.
1. Ice output grids contained NAs which required to read in the `grid.nc` file to get unmasked lat/lon grids

I obviously can't solve that here.

2. The `grid.nc` file has different dimensions names to the output data (`ni`, `nj` in data vs `nx`, `ny` in the grid file)

We might be able to change this. Ill catch this in COSIMA/esmgrids#16

3. The grid uses units of radians (which seems incredibly unusual, but would be difficult to modify if the model is expecting radians)

I obviously can't solve that here either.

I ran the file through the CF compliance checker
Details

We will look at this in more detail for OM3 in conjunction with looking at the output files.

For OM2, we are releasing the current configuration and don't need to do anything further.

@aidanheerdegen
Copy link
Member

All related PRs are merged so will close.

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