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

Dataset problem: Issues with latitude and longitude for tos of BCCs CMIP6 models #537

Closed
schlunma opened this issue Mar 3, 2020 · 2 comments
Assignees

Comments

@schlunma
Copy link
Contributor

schlunma commented Mar 3, 2020

Describe the dataset issue
The names for the 1D grid_latitude and grid_longitude on irregular grids are set to latitude and longitude, causing iris to find duplicate coordinates. Multidimensional latitude and longitude coordinate do not have bounds.

  • Data file has been changed by you in any way
  • Project (CMIP5/CMIP6/OBS/obs4mips/etc): CMIP6
  • Full dataset description (fill out as many as you know, please):
    • dataset: BCC-CSM2-MR, BCC-ESM1
    • experiment: historical
    • mip: Omon
    • grid: gn
    • variable used: tos
  • Pointer to existing copy of data on ESGF node (it would be very useful if you could provide a physical fullpath to the file(s) that are causing the problem, e.g. on CEDA Jasmin or DKRZ):
    /mnt/lustre02/work/ik1017/CMIP6/data/CMIP6/CMIP/BCC/BCC-CSM2-MR/historical/r1i1p1f1/Omon/tos/gn/v20181126/tos_Omon_BCC-CSM2-MR_historical_r1i1p1f1_gn_185001-201412.nc
    /mnt/lustre02/work/ik1017/CMIP6/data/CMIP6/CMIP/BCC/BCC-ESM1/historical/r1i1p1f1/Omon/tos/gn/v20181129/tos_Omon_BCC-ESM1_historical_r1i1p1f1_gn_185001-201412.nc

ncdump (without global attributes):

netcdf tos_Omon_BCC-CSM2-MR_historical_r1i1p1f1_gn_185001-201412 {
dimensions:
        time = UNLIMITED ; // (1980 currently)
        lat = 232 ;
        lon = 360 ;
        bnds = 2 ;
variables:
        double time(time) ;
                time:bounds = "time_bnds" ;
                time:units = "days since 1850-1-1" ;
                time:calendar = "365_day" ;
                time:axis = "T" ;
                time:long_name = "time" ;
                time:standard_name = "time" ;
        double time_bnds(time, bnds) ;
        double lat(lat) ;
                lat:bounds = "lat_bnds" ;
                lat:units = "degrees_north" ;
                lat:axis = "Y" ;
                lat:long_name = "latitude" ;
                lat:standard_name = "latitude" ;
        double lat_bnds(lat, bnds) ;
        double lon(lon) ;
                lon:bounds = "lon_bnds" ;
                lon:units = "degrees_east" ;
                lon:axis = "X" ;
                lon:long_name = "Longitude" ;
                lon:standard_name = "longitude" ;
        double lon_bnds(lon, bnds) ;
        float latitude(lat, lon) ;
                latitude:standard_name = "latitude" ;
                latitude:long_name = "latitude" ;
                latitude:units = "degrees_north" ;
                latitude:missing_value = 1.e+20f ;
                latitude:_FillValue = 1.e+20f ;
        float longitude(lat, lon) ;
                longitude:standard_name = "longitude" ;
                longitude:long_name = "longitude" ;
                longitude:units = "degrees_east" ;
                longitude:missing_value = 1.e+20f ;
                longitude:_FillValue = 1.e+20f ;
        float tos(time, lat, lon) ;
                tos:standard_name = "sea_surface_temperature" ;
                tos:long_name = "Sea Surface Temperature" ;
                tos:comment = "Temperature of upper boundary of the liquid ocean, including temperatures below sea-ice and floating ice shelves." ;
                tos:units = "degC" ;
                tos:original_name = "tos" ;
                tos:cell_methods = "area: mean where sea time: mean (interval: 30 minutes)" ;
                tos:cell_measures = "area: areacello" ;
                tos:missing_value = 1.e+20f ;
                tos:_FillValue = 1.e+20f ;
                tos:coordinates = "latitude longitude" ;
netcdf tos_Omon_BCC-CSM2-MR_historical_r1i1p1f1_gn_185001-201412 {
dimensions:
        time = UNLIMITED ; // (1980 currently)
        lat = 232 ;
        lon = 360 ;
        bnds = 2 ;
variables:
        double time(time) ;
                time:bounds = "time_bnds" ;
                time:units = "days since 1850-1-1" ;
                time:calendar = "365_day" ;
                time:axis = "T" ;
                time:long_name = "time" ;
                time:standard_name = "time" ;
        double time_bnds(time, bnds) ;
        double lat(lat) ;
                lat:bounds = "lat_bnds" ;
                lat:units = "degrees_north" ;
                lat:axis = "Y" ;
                lat:long_name = "latitude" ;
                lat:standard_name = "latitude" ;
        double lat_bnds(lat, bnds) ;
        double lon(lon) ;
                lon:bounds = "lon_bnds" ;
                lon:units = "degrees_east" ;
                lon:axis = "X" ;
                lon:long_name = "Longitude" ;
                lon:standard_name = "longitude" ;
        double lon_bnds(lon, bnds) ;
        float latitude(lat, lon) ;
                latitude:standard_name = "latitude" ;
                latitude:long_name = "latitude" ;
                latitude:units = "degrees_north" ;
                latitude:missing_value = 1.e+20f ;
                latitude:_FillValue = 1.e+20f ;
        float longitude(lat, lon) ;
                longitude:standard_name = "longitude" ;
                longitude:long_name = "longitude" ;
                longitude:units = "degrees_east" ;
                longitude:missing_value = 1.e+20f ;
                longitude:_FillValue = 1.e+20f ;
        float tos(time, lat, lon) ;
                tos:standard_name = "sea_surface_temperature" ;
                tos:long_name = "Sea Surface Temperature" ;
                tos:comment = "Temperature of upper boundary of the liquid ocean, including temperatures below sea-ice and floating ice shelves." ;
                tos:units = "degC" ;
                tos:original_name = "tos" ;
                tos:cell_methods = "area: mean where sea time: mean (interval: 30 minutes)" ;
                tos:cell_measures = "area: areacello" ;
                tos:missing_value = 1.e+20f ;
                tos:_FillValue = 1.e+20f ;
                tos:coordinates = "latitude longitude" ;

Fix provided in #560.

@schlunma schlunma changed the title Dataset problem: Invalid names for grid_latitude and grid_latitude for tos of BCCs CMIP6 models Dataset problem: Issues with latitude and longitude for tos of BCCs CMIP6 models Mar 9, 2020
@zklaus
Copy link

zklaus commented Mar 31, 2021

The 2d coordinates are compatible with the tri-polar grid that is claimed in the description; the 1d coordinates are not.

I think we should just drop the 1d coordinates and only go off the 2d coordinates.

Essentially duplicate of #303 and #151, already reported upstream in #303.

@schlunma
Copy link
Contributor Author

Fix for this exists. I am 99% sure that this data will not be fixed on ESGF (we are approaching CMIP7), so I am closing this now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Development

No branches or pull requests

3 participants