ESMValGroup / ESMValCore

ESMValCore: A community tool for pre-processing data from Earth system models in CMIP and running analysis scripts.
https://www.esmvaltool.org
Apache License 2.0
42 stars 38 forks source link

Missing 2m height coordinate for tasmin in CESM2 and CESM2-WACCM #2573

Open Karen-A-Garcia opened 2 weeks ago

Karen-A-Garcia commented 2 weeks ago

I was preproccessing some CMIP6 ScenarioMIP ssp245 tasmin and it seems like the 2m height coordinate are missing in CESM2 and CESM2-WACCM. Also, it looks like one of the time coordinates are not monotonic so if anyone has already fixed this issue, I would love to see how it was fixed so that I can try to do something similar.

Pull request #2574 created

esmvalcore.cmor.check.CMORCheckError: There were errors in variable tasmin:
 height2m: does not exist
 Time coordinate for var time is not monotonic
in cube:
air_temperature / (K)               (-- : 3650; latitude: 192; longitude: 288)
    Dimension coordinates:
        latitude                        -               x               -
        longitude                       -               -               x
    Auxiliary coordinates:
        time                            x               -               -
    Cell methods:
        0                           area: mean
        1                           time: minimum
    Attributes:
        Conventions                 'CF-1.7 CMIP-6.2'
        activity_id                 'ScenarioMIP'
        branch_method               'standard'
        branch_time_in_child        60225
        branch_time_in_parent       60225
        case_id                     '1732'
        cesm_casename               'b.e21.BSSP245cmip6.f09_g17.CMIP6-SSP2-4.5.103'
        contact                     'cesm_cmip6@ucar.edu'
        data_specs_version          '01.00.31'
        description                 'minimum near-surface (usually, 2 meter) air temperature (add cell_method ...'
        experiment                  'SSP-based RCP scenario with medium radiative forcing by the end of the ...'
        experiment_id               'ssp245'
        external_variables          'areacella'
        forcing_index               1
        frequency                   'day'
        further_info_url            'https://furtherinfo.es-doc.org/CMIP6.NCAR.CESM2.ssp245.none.r4i1p1f1'
        grid                        'native 0.9x1.25 finite volume grid (192x288 latxlon)'
        grid_label                  'gn'
        id                          'tasmin'
        initialization_index        1
        institution                 'National Center for Atmospheric Research, Climate and Global Dynamics Laboratory, ...'
        institution_id              'NCAR'
        license                     'CMIP6 model data produced by <The National Center for Atmospheric Research> ...'
        mipTable                    'day'
        mip_era                     'CMIP6'
        model_doi_url               'https://doi.org/10.5065/D67H1H0V'
        nominal_resolution          '100 km'
        out_name                    'tasmin'
        parent_activity_id          'CMIP'
        parent_experiment_id        'historical'
        parent_mip_era              'CMIP6'
        parent_source_id            'CESM2'
        parent_time_units           'days since 1850-1-1 00:00:00'
        parent_variant_label        'r4i1p1f1'
        physics_index               1
        product                     'model-output'
        prov                        'day ((isd.003))'
        realization_index           4
        realm                       'atmos'
        source                      'CESM2 (2017): atmosphere: CAM6 (0.9x1.25 finite volume grid; 288 x 192 ...'
        source_file                 '/space/hall5/sitestore/eccc/crd/crd_shared/ESGF_downloads/CMIP6/Scenar ...'
        source_id                   'CESM2'
        source_type                 'AOGCM BGC AER'
        sub_experiment              'none'
        sub_experiment_id           'none'
        table_id                    'day'
        time                        'time'
        time_label                  'time-mean'
        time_title                  'Temporal mean'
        title                       'Daily Minimum Near-Surface Air Temperature'
        type                        'real'
        variable_id                 'tasmin'
        variant_info                'CMIP6 SSP2-4.5 experiments (2015-2100) with CAM6, interactive land (CLM5), ...'
        variant_label               'r4i1p1f1'

Information from ncdump:

ncdump -h tasmin_day_CESM2_ssp245_r4i1p1f1_gn_20150101-20241231.nc
netcdf tasmin_day_CESM2_ssp245_r4i1p1f1_gn_20150101-20241231 {
dimensions:
        lat = 192 ;
        nbnd = 2 ;
        lon = 288 ;
        time = UNLIMITED ; // (3650 currently)
variables:
        float tasmin(time, lat, lon) ;
                tasmin:_FillValue = 1.e+20f ;
                tasmin:cell_measures = "area: areacella" ;
                tasmin:cell_methods = "area: mean time: minimum" ;
                tasmin:comment = "TREFHTMN" ;
                tasmin:coordinates = "time lat lon" ;
                tasmin:description = "minimum near-surface (usually, 2 meter) air temperature (add cell_method attribute \"time: min\")" ;
                tasmin:frequency = "day" ;
                tasmin:id = "tasmin" ;
                tasmin:long_name = "Daily Minimum Near-Surface Air Temperature" ;
                tasmin:mipTable = "day" ;
                tasmin:missing_value = 1.e+20 ;
                tasmin:out_name = "tasmin" ;
                tasmin:prov = "day ((isd.003))" ;
                tasmin:realm = "atmos" ;
                tasmin:standard_name = "air_temperature" ;
                tasmin:time = "time" ;
                tasmin:time_label = "time-mean" ;
                tasmin:time_title = "Temporal mean" ;
                tasmin:title = "Daily Minimum Near-Surface Air Temperature" ;
                tasmin:type = "real" ;
                tasmin:units = "K" ;
                tasmin:variable_id = "tasmin" ;
        double lat(lat) ;
                lat:axis = "Y" ;
                lat:bounds = "lat_bnds" ;
                lat:standard_name = "latitude" ;
                lat:title = "Latitude" ;
                lat:type = "double" ;
                lat:units = "degrees_north" ;
                lat:valid_max = 90. ;
                lat:valid_min = -90. ;
        double lon(lon) ;
                lon:axis = "X" ;
                lon:bounds = "lon_bnds" ;
                lon:standard_name = "longitude" ;
                lon:title = "Longitude" ;
                lon:type = "double" ;
                lon:units = "degrees_east" ;
                lon:valid_max = 360. ;
                lon:valid_min = 0. ;
        double time(time) ;
                time:axis = "T" ;
                time:bounds = "time_bnds" ;
                time:standard_name = "time" ;
                time:title = "time" ;
                time:type = "double" ;
                time:units = "days since 0001-01-01 00:00:00" ;
                time:calendar = "365_day" ;
        double time_bnds(time, nbnd) ;
                time_bnds:calendar = "noleap" ;
                time_bnds:units = "days since 0001-01-01 00:00:00" ;
        double lat_bnds(lat, nbnd) ;
                lat_bnds:units = "degrees_north" ;
        double lon_bnds(lon, nbnd) ;
                lon_bnds:units = "degrees_east" ;

// global attributes:
                :Conventions = "CF-1.7 CMIP-6.2" ;
                :activity_id = "ScenarioMIP" ;
                :branch_method = "standard" ;
                :branch_time_in_child = 735110. ;
                :branch_time_in_parent = 735110. ;
                :case_id = "1732" ;
                :cesm_casename = "b.e21.BSSP245cmip6.f09_g17.CMIP6-SSP2-4.5.103" ;
                :contact = "cesm_cmip6@ucar.edu" ;
                :creation_date = "2020-05-26T20:21:25Z" ;
                :data_specs_version = "01.00.31" ;
                :experiment = "SSP-based RCP scenario with medium radiative forcing by the end of the century.  Following approximately RCP4.5 global forcing pathway with SSP2 socioeconomic conditions. Radiative forcing reaches a level of 4.5 W/m2 in 2100. Concentration-driven." ;
                :experiment_id = "ssp245" ;
                :external_variables = "areacella" ;
                :forcing_index = 1LL ;
                :frequency = "day" ;
                :further_info_url = "https://furtherinfo.es-doc.org/CMIP6.NCAR.CESM2.ssp245.none.r4i1p1f1" ;
                :grid = "native 0.9x1.25 finite volume grid (192x288 latxlon)" ;
                :grid_label = "gn" ;
                :initialization_index = 1LL ;
                :institution = "National Center for Atmospheric Research, Climate and Global Dynamics Laboratory, 1850 Table Mesa Drive, Boulder, CO 80305, USA" ;
                :institution_id = "NCAR" ;
                :license = "CMIP6 model data produced by <The National Center for Atmospheric Research> is licensed under a Creative Commons Attribution-[]ShareAlike 4.0 International License (https://creativecommons.org/licenses/). Consult https://pcmdi.llnl.gov/CMIP6/TermsOfUse for terms of use governing CMIP6 output, including citation requirements and proper acknowledgment. Further information about this data, including some limitations, can be found via the further_info_url (recorded as a global attribute in this file)[]. The data producers and data providers make no warranty, either express or implied, including, but not limited to, warranties of merchantability and fitness for a particular purpose. All liabilities arising from the supply of the information (including any liability arising in negligence) are excluded to the fullest extent permitted by law." ;
                :mip_era = "CMIP6" ;
                :model_doi_url = "https://doi.org/10.5065/D67H1H0V" ;
                :nominal_resolution = "100 km" ;
                :parent_activity_id = "CMIP" ;
                :parent_experiment_id = "historical" ;
                :parent_mip_era = "CMIP6" ;
                :parent_source_id = "CESM2" ;
                :parent_time_units = "days since 0001-01-01 00:00:00" ;
                :parent_variant_label = "r4i1p1f1" ;
                :physics_index = 1LL ;
                :product = "model-output" ;
                :realization_index = 4LL ;
                :realm = "atmos" ;
                :source = "CESM2 (2017): atmosphere: CAM6 (0.9x1.25 finite volume grid; 288 x 192 longitude/latitude; 32 levels; top level 2.25 mb); ocean: POP2 (320x384 longitude/latitude; 60 levels; top grid cell 0-10 m); sea_ice: CICE5.1 (same grid as ocean); land: CLM5 0.9x1.25 finite volume grid; 288 x 192 longitude/latitude; 32 levels; top level 2.25 mb); aerosol: MAM4 (0.9x1.25 finite volume grid; 288 x 192 longitude/latitude; 32 levels; top level 2.25 mb); atmoschem: MAM4 (0.9x1.25 finite volume grid; 288 x 192 longitude/latitude; 32 levels; top level 2.25 mb); landIce: CISM2.1; ocnBgchem: MARBL (320x384 longitude/latitude; 60 levels; top grid cell 0-10 m)" ;
                :source_id = "CESM2" ;
                :source_type = "AOGCM BGC AER" ;
                :sub_experiment = "none" ;
                :sub_experiment_id = "none" ;
                :table_id = "day" ;
                :tracking_id = "hdl:21.14100/b5cf5f48-9cbf-4abc-8519-94c9fd43fe59" ;
                :variable_id = "tasmin" ;
                :variant_info = "CMIP6 SSP2-4.5 experiments (2015-2100) with CAM6, interactive land (CLM5), coupled ocean (POP2) with biogeochemistry (MARBL), interactive sea ice (CICE5.1), and non-evolving land ice (CISM2.1).\r\n" ;
                :variant_label = "r4i1p1f1" ;

Cheers :beer:

valeriupredoi commented 1 week ago

cheers @Karen-A-Garcia :beer: For a monotonicity fix, have a look at one that @remi-kazeroni put in some time ago https://github.com/ESMValGroup/ESMValCore/pull/1116/files

Karen-A-Garcia commented 1 week ago

Thanks @valeriupredoi!