Skip to content

Conversation

@pelson
Copy link
Member

@pelson pelson commented Jun 21, 2013

Updated the NetCDF files produced from the Met Office's data zoo.

These changes have come about through changes to Iris, rather than changes to the data themselves. Most notably, the sample_data/A1B_north_america.nc and sample_data/E1_north_america.nc have changed their dimensions to be time, lat, lon rather than forecast_period, lat, lon.

@pelson
Copy link
Member Author

pelson commented Jun 21, 2013

The full output from ncdump before and after (for the files sample_data/A1B_north_america.nc, sample_data/E1_north_america.nc, sample_data/hybrid_height.nc sample_data/ostia_monthly.nc, sample_data/rotated_pole.nc):

Before

netcdf A1B_north_america {
dimensions:
    forecast_period = 240 ;
    latitude = 37 ;
    longitude = 49 ;
    bnds = 2 ;
variables:
    float air_temperature(forecast_period, latitude, longitude) ;
        air_temperature:standard_name = "air_temperature" ;
        air_temperature:units = "K" ;
        air_temperature:Model\ scenario = "A1B" ;
        air_temperature:ukmo__um_stash_source = "m01s03i236" ;
        air_temperature:cell_methods = "time: mean (interval: 6 hour)" ;
        air_temperature:grid_mapping = "latitude_longitude" ;
        air_temperature:coordinates = "forecast_reference_time height time" ;
    int latitude_longitude ;
        latitude_longitude:grid_mapping_name = "latitude_longitude" ;
        latitude_longitude:longitude_of_prime_meridian = 0. ;
        latitude_longitude:semi_major_axis = 6371229. ;
        latitude_longitude:semi_minor_axis = 6371229. ;
    int forecast_period(forecast_period) ;
        forecast_period:units = "hours" ;
        forecast_period:standard_name = "forecast_period" ;
    float latitude(latitude) ;
        latitude:axis = "Y" ;
        latitude:units = "degrees_north" ;
        latitude:standard_name = "latitude" ;
    float longitude(longitude) ;
        longitude:axis = "X" ;
        longitude:units = "degrees_east" ;
        longitude:standard_name = "longitude" ;
    double forecast_reference_time ;
        forecast_reference_time:units = "hours since 1970-01-01 00:00:00" ;
        forecast_reference_time:standard_name = "forecast_reference_time" ;
        forecast_reference_time:calendar = "360_day" ;
    double height ;
        height:units = "m" ;
        height:standard_name = "height" ;
        height:positive = "up" ;
    double time(forecast_period) ;
        time:bounds = "time_bnds" ;
        time:units = "hours since 1970-01-01 00:00:00" ;
        time:standard_name = "time" ;
        time:calendar = "360_day" ;
    double time_bnds(forecast_period, bnds) ;

// global attributes:
        :Conventions = "CF-1.5" ;
        :source = "Data from Met Office Unified Model 6.05" ;
}
netcdf E1_north_america {
dimensions:
    forecast_period = 240 ;
    latitude = 37 ;
    longitude = 49 ;
    bnds = 2 ;
variables:
    float air_temperature(forecast_period, latitude, longitude) ;
        air_temperature:standard_name = "air_temperature" ;
        air_temperature:units = "K" ;
        air_temperature:Model\ scenario = "E1" ;
        air_temperature:ukmo__um_stash_source = "m01s03i236" ;
        air_temperature:cell_methods = "time: mean (interval: 6 hour)" ;
        air_temperature:grid_mapping = "latitude_longitude" ;
        air_temperature:coordinates = "forecast_reference_time height time" ;
    int latitude_longitude ;
        latitude_longitude:grid_mapping_name = "latitude_longitude" ;
        latitude_longitude:longitude_of_prime_meridian = 0. ;
        latitude_longitude:semi_major_axis = 6371229. ;
        latitude_longitude:semi_minor_axis = 6371229. ;
    int forecast_period(forecast_period) ;
        forecast_period:units = "hours" ;
        forecast_period:standard_name = "forecast_period" ;
    float latitude(latitude) ;
        latitude:axis = "Y" ;
        latitude:units = "degrees_north" ;
        latitude:standard_name = "latitude" ;
    float longitude(longitude) ;
        longitude:axis = "X" ;
        longitude:units = "degrees_east" ;
        longitude:standard_name = "longitude" ;
    double forecast_reference_time ;
        forecast_reference_time:units = "hours since 1970-01-01 00:00:00" ;
        forecast_reference_time:standard_name = "forecast_reference_time" ;
        forecast_reference_time:calendar = "360_day" ;
    double height ;
        height:units = "m" ;
        height:standard_name = "height" ;
        height:positive = "up" ;
    double time(forecast_period) ;
        time:bounds = "time_bnds" ;
        time:units = "hours since 1970-01-01 00:00:00" ;
        time:standard_name = "time" ;
        time:calendar = "360_day" ;
    double time_bnds(forecast_period, bnds) ;

// global attributes:
        :Conventions = "CF-1.5" ;
        :source = "Data from Met Office Unified Model 6.05" ;
}
netcdf hybrid_height {
dimensions:
    level_height = 15 ;
    grid_latitude = 100 ;
    grid_longitude = 100 ;
    bnds = 2 ;
variables:
    float air_potential_temperature(level_height, grid_latitude, grid_longitude) ;
        air_potential_temperature:standard_name = "air_potential_temperature" ;
        air_potential_temperature:units = "K" ;
        air_potential_temperature:ukmo__um_stash_source = "m01s00i004" ;
        air_potential_temperature:grid_mapping = "rotated_latitude_longitude" ;
        air_potential_temperature:coordinates = "forecast_period model_level_number sigma surface_altitude time" ;
    int rotated_latitude_longitude ;
        rotated_latitude_longitude:grid_mapping_name = "rotated_latitude_longitude" ;
        rotated_latitude_longitude:longitude_of_prime_meridian = 0. ;
        rotated_latitude_longitude:semi_major_axis = 6371229. ;
        rotated_latitude_longitude:semi_minor_axis = 6371229. ;
        rotated_latitude_longitude:grid_north_pole_latitude = 37.5f ;
        rotated_latitude_longitude:grid_north_pole_longitude = 177.5f ;
        rotated_latitude_longitude:north_pole_grid_longitude = 0. ;
    float level_height(level_height) ;
        level_height:bounds = "level_height_bnds" ;
        level_height:axis = "Z" ;
        level_height:formula_terms = "a: level_height b: sigma orog: surface_altitude" ;
        level_height:units = "m" ;
        level_height:standard_name = "atmosphere_hybrid_height_coordinate" ;
        level_height:long_name = "level_height" ;
        level_height:positive = "up" ;
    float level_height_bnds(level_height, bnds) ;
    float grid_latitude(grid_latitude) ;
        grid_latitude:axis = "Y" ;
        grid_latitude:bounds = "grid_latitude_bnds" ;
        grid_latitude:units = "degrees" ;
        grid_latitude:standard_name = "grid_latitude" ;
    float grid_latitude_bnds(grid_latitude, bnds) ;
    float grid_longitude(grid_longitude) ;
        grid_longitude:axis = "X" ;
        grid_longitude:bounds = "grid_longitude_bnds" ;
        grid_longitude:units = "degrees" ;
        grid_longitude:standard_name = "grid_longitude" ;
    float grid_longitude_bnds(grid_longitude, bnds) ;
    double forecast_period ;
        forecast_period:units = "hours" ;
        forecast_period:standard_name = "forecast_period" ;
    int model_level_number(level_height) ;
        model_level_number:units = "1" ;
        model_level_number:standard_name = "model_level_number" ;
    float sigma(level_height) ;
        sigma:bounds = "sigma_bnds" ;
        sigma:units = "1" ;
        sigma:long_name = "sigma" ;
    float sigma_bnds(level_height, bnds) ;
    float surface_altitude(grid_latitude, grid_longitude) ;
        surface_altitude:units = "m" ;
        surface_altitude:standard_name = "surface_altitude" ;
    double time ;
        time:units = "hours since 1970-01-01 00:00:00" ;
        time:standard_name = "time" ;
        time:calendar = "gregorian" ;

// global attributes:
        :Conventions = "CF-1.5" ;
        :source = "Data from Met Office Unified Model 7.04" ;
}
netcdf ostia_monthly {
dimensions:
    time = 54 ;
    latitude = 18 ;
    longitude = 432 ;
    bnds = 2 ;
variables:
    float surface_temperature(time, latitude, longitude) ;
        surface_temperature:standard_name = "surface_temperature" ;
        surface_temperature:units = "K" ;
        surface_temperature:ukmo__um_stash_source = "m01s00i024" ;
        surface_temperature:history = "10/08/12 13:06:41 Iris: Mean of surface_temperature aggregated over month, year" ;
        surface_temperature:cell_methods = "month: year: mean" ;
        surface_temperature:grid_mapping = "latitude_longitude" ;
        surface_temperature:coordinates = "forecast_period forecast_reference_time" ;
    int latitude_longitude ;
        latitude_longitude:grid_mapping_name = "latitude_longitude" ;
        latitude_longitude:longitude_of_prime_meridian = 0. ;
        latitude_longitude:semi_major_axis = 6371229. ;
        latitude_longitude:semi_minor_axis = 6371229. ;
    double time(time) ;
        time:axis = "T" ;
        time:bounds = "time_bnds" ;
        time:units = "hours since 1970-01-01 00:00:00" ;
        time:standard_name = "time" ;
        time:calendar = "gregorian" ;
    double time_bnds(time, bnds) ;
    float latitude(latitude) ;
        latitude:axis = "Y" ;
        latitude:units = "degrees_north" ;
        latitude:standard_name = "latitude" ;
    float longitude(longitude) ;
        longitude:axis = "X" ;
        longitude:units = "degrees_east" ;
        longitude:standard_name = "longitude" ;
    int forecast_period ;
        forecast_period:units = "hours" ;
        forecast_period:standard_name = "forecast_period" ;
    double forecast_reference_time(time) ;
        forecast_reference_time:bounds = "forecast_reference_time_bnds" ;
        forecast_reference_time:units = "hours since 1970-01-01 00:00:00" ;
        forecast_reference_time:standard_name = "forecast_reference_time" ;
        forecast_reference_time:calendar = "gregorian" ;
    double forecast_reference_time_bnds(time, bnds) ;

// global attributes:
        :Conventions = "CF-1.5" ;
}
netcdf rotated_pole {
dimensions:
    grid_latitude = 22 ;
    grid_longitude = 36 ;
variables:
    float air_pressure_at_sea_level(grid_latitude, grid_longitude) ;
        air_pressure_at_sea_level:standard_name = "air_pressure_at_sea_level" ;
        air_pressure_at_sea_level:units = "Pa" ;
        air_pressure_at_sea_level:ukmo__um_stash_source = "m01s16i222" ;
        air_pressure_at_sea_level:grid_mapping = "rotated_latitude_longitude" ;
        air_pressure_at_sea_level:coordinates = "forecast_period time" ;
    int rotated_latitude_longitude ;
        rotated_latitude_longitude:grid_mapping_name = "rotated_latitude_longitude" ;
        rotated_latitude_longitude:longitude_of_prime_meridian = 0. ;
        rotated_latitude_longitude:semi_major_axis = 6371229. ;
        rotated_latitude_longitude:semi_minor_axis = 6371229. ;
        rotated_latitude_longitude:grid_north_pole_latitude = 37.5f ;
        rotated_latitude_longitude:grid_north_pole_longitude = 177.5f ;
        rotated_latitude_longitude:north_pole_grid_longitude = 0. ;
    float grid_latitude(grid_latitude) ;
        grid_latitude:axis = "Y" ;
        grid_latitude:units = "degrees" ;
        grid_latitude:standard_name = "grid_latitude" ;
    float grid_longitude(grid_longitude) ;
        grid_longitude:axis = "X" ;
        grid_longitude:units = "degrees" ;
        grid_longitude:standard_name = "grid_longitude" ;
    double forecast_period ;
        forecast_period:units = "hours" ;
        forecast_period:standard_name = "forecast_period" ;
    double time ;
        time:units = "hours since 1970-01-01 00:00:00" ;
        time:standard_name = "time" ;
        time:calendar = "gregorian" ;

// global attributes:
        :Conventions = "CF-1.5" ;
        :source = "Data from Met Office Unified Model 6.01" ;
}

After

netcdf A1B_north_america {
dimensions:
    time = UNLIMITED ; // (240 currently)
    latitude = 37 ;
    longitude = 49 ;
    bnds = 2 ;
variables:
    float air_temperature(time, latitude, longitude) ;
        air_temperature:standard_name = "air_temperature" ;
        air_temperature:units = "K" ;
        air_temperature:Model\ scenario = "A1B" ;
        air_temperature:ukmo__um_stash_source = "m01s03i236" ;
        air_temperature:source = "Data from Met Office Unified Model 6.05" ;
        air_temperature:cell_methods = "time: mean (interval: 6 hour)" ;
        air_temperature:grid_mapping = "latitude_longitude" ;
        air_temperature:coordinates = "forecast_period forecast_reference_time height" ;
    int latitude_longitude ;
        latitude_longitude:grid_mapping_name = "latitude_longitude" ;
        latitude_longitude:longitude_of_prime_meridian = 0. ;
        latitude_longitude:semi_major_axis = 6371229. ;
        latitude_longitude:semi_minor_axis = 6371229. ;
    double time(time) ;
        time:axis = "T" ;
        time:bounds = "time_bnds" ;
        time:units = "hours since 1970-01-01 00:00:00" ;
        time:standard_name = "time" ;
        time:calendar = "360_day" ;
    double time_bnds(time, bnds) ;
    float latitude(latitude) ;
        latitude:axis = "Y" ;
        latitude:units = "degrees_north" ;
        latitude:standard_name = "latitude" ;
    float longitude(longitude) ;
        longitude:axis = "X" ;
        longitude:units = "degrees_east" ;
        longitude:standard_name = "longitude" ;
    int forecast_period(time) ;
        forecast_period:units = "hours" ;
        forecast_period:standard_name = "forecast_period" ;
    double forecast_reference_time ;
        forecast_reference_time:units = "hours since 1970-01-01 00:00:00" ;
        forecast_reference_time:standard_name = "forecast_reference_time" ;
        forecast_reference_time:calendar = "360_day" ;
    double height ;
        height:units = "m" ;
        height:standard_name = "height" ;
        height:positive = "up" ;

// global attributes:
        :Conventions = "CF-1.5" ;
}
netcdf E1_north_america {
dimensions:
    time = UNLIMITED ; // (240 currently)
    latitude = 37 ;
    longitude = 49 ;
    bnds = 2 ;
variables:
    float air_temperature(time, latitude, longitude) ;
        air_temperature:standard_name = "air_temperature" ;
        air_temperature:units = "K" ;
        air_temperature:Model\ scenario = "E1" ;
        air_temperature:ukmo__um_stash_source = "m01s03i236" ;
        air_temperature:source = "Data from Met Office Unified Model 6.05" ;
        air_temperature:cell_methods = "time: mean (interval: 6 hour)" ;
        air_temperature:grid_mapping = "latitude_longitude" ;
        air_temperature:coordinates = "forecast_period forecast_reference_time height" ;
    int latitude_longitude ;
        latitude_longitude:grid_mapping_name = "latitude_longitude" ;
        latitude_longitude:longitude_of_prime_meridian = 0. ;
        latitude_longitude:semi_major_axis = 6371229. ;
        latitude_longitude:semi_minor_axis = 6371229. ;
    double time(time) ;
        time:axis = "T" ;
        time:bounds = "time_bnds" ;
        time:units = "hours since 1970-01-01 00:00:00" ;
        time:standard_name = "time" ;
        time:calendar = "360_day" ;
    double time_bnds(time, bnds) ;
    float latitude(latitude) ;
        latitude:axis = "Y" ;
        latitude:units = "degrees_north" ;
        latitude:standard_name = "latitude" ;
    float longitude(longitude) ;
        longitude:axis = "X" ;
        longitude:units = "degrees_east" ;
        longitude:standard_name = "longitude" ;
    int forecast_period(time) ;
        forecast_period:units = "hours" ;
        forecast_period:standard_name = "forecast_period" ;
    double forecast_reference_time ;
        forecast_reference_time:units = "hours since 1970-01-01 00:00:00" ;
        forecast_reference_time:standard_name = "forecast_reference_time" ;
        forecast_reference_time:calendar = "360_day" ;
    double height ;
        height:units = "m" ;
        height:standard_name = "height" ;
        height:positive = "up" ;

// global attributes:
        :Conventions = "CF-1.5" ;
}
netcdf hybrid_height {
dimensions:
    model_level_number = UNLIMITED ; // (15 currently)
    grid_latitude = 100 ;
    grid_longitude = 100 ;
    bnds = 2 ;
variables:
    float air_potential_temperature(model_level_number, grid_latitude, grid_longitude) ;
        air_potential_temperature:standard_name = "air_potential_temperature" ;
        air_potential_temperature:units = "K" ;
        air_potential_temperature:ukmo__um_stash_source = "m01s00i004" ;
        air_potential_temperature:source = "Data from Met Office Unified Model 7.04" ;
        air_potential_temperature:grid_mapping = "rotated_latitude_longitude" ;
        air_potential_temperature:coordinates = "forecast_period forecast_reference_time level_height sigma surface_altitude time" ;
    int rotated_latitude_longitude ;
        rotated_latitude_longitude:grid_mapping_name = "rotated_latitude_longitude" ;
        rotated_latitude_longitude:longitude_of_prime_meridian = 0. ;
        rotated_latitude_longitude:semi_major_axis = 6371229. ;
        rotated_latitude_longitude:semi_minor_axis = 6371229. ;
        rotated_latitude_longitude:grid_north_pole_latitude = 37.5 ;
        rotated_latitude_longitude:grid_north_pole_longitude = 177.5 ;
        rotated_latitude_longitude:north_pole_grid_longitude = 0. ;
    int model_level_number(model_level_number) ;
        model_level_number:axis = "Z" ;
        model_level_number:units = "1" ;
        model_level_number:standard_name = "model_level_number" ;
        model_level_number:positive = "up" ;
    float grid_latitude(grid_latitude) ;
        grid_latitude:axis = "Y" ;
        grid_latitude:bounds = "grid_latitude_bnds" ;
        grid_latitude:units = "degrees" ;
        grid_latitude:standard_name = "grid_latitude" ;
    float grid_latitude_bnds(grid_latitude, bnds) ;
    float grid_longitude(grid_longitude) ;
        grid_longitude:axis = "X" ;
        grid_longitude:bounds = "grid_longitude_bnds" ;
        grid_longitude:units = "degrees" ;
        grid_longitude:standard_name = "grid_longitude" ;
    float grid_longitude_bnds(grid_longitude, bnds) ;
    double forecast_period ;
        forecast_period:units = "hours" ;
        forecast_period:standard_name = "forecast_period" ;
    double forecast_reference_time ;
        forecast_reference_time:units = "hours since 1970-01-01 00:00:00" ;
        forecast_reference_time:standard_name = "forecast_reference_time" ;
        forecast_reference_time:calendar = "gregorian" ;
    float level_height(model_level_number) ;
        level_height:bounds = "level_height_bnds" ;
        level_height:axis = "Z" ;
        level_height:formula_terms = "a: level_height b: sigma orog: surface_altitude" ;
        level_height:units = "m" ;
        level_height:standard_name = "atmosphere_hybrid_height_coordinate" ;
        level_height:long_name = "level_height" ;
        level_height:positive = "up" ;
    float level_height_bnds(model_level_number, bnds) ;
    float sigma(model_level_number) ;
        sigma:bounds = "sigma_bnds" ;
        sigma:units = "1" ;
        sigma:long_name = "sigma" ;
    float sigma_bnds(model_level_number, bnds) ;
    float surface_altitude(grid_latitude, grid_longitude) ;
        surface_altitude:units = "m" ;
        surface_altitude:standard_name = "surface_altitude" ;
        surface_altitude:ukmo__um_stash_source = "m01s00i033" ;
        surface_altitude:source = "Data from Met Office Unified Model 7.04" ;
    double time ;
        time:units = "hours since 1970-01-01 00:00:00" ;
        time:standard_name = "time" ;
        time:calendar = "gregorian" ;

// global attributes:
        :Conventions = "CF-1.5" ;
}
netcdf ostia_monthly {
dimensions:
    time = UNLIMITED ; // (54 currently)
    latitude = 18 ;
    longitude = 432 ;
    bnds = 2 ;
variables:
    float surface_temperature(time, latitude, longitude) ;
        surface_temperature:standard_name = "surface_temperature" ;
        surface_temperature:units = "K" ;
        surface_temperature:ukmo__um_stash_source = "m01s00i024" ;
        surface_temperature:history = "21/06/13 14:18:45 Iris: Mean of surface_temperature aggregated over month, year" ;
        surface_temperature:cell_methods = "month: year: mean" ;
        surface_temperature:grid_mapping = "latitude_longitude" ;
        surface_temperature:coordinates = "forecast_period forecast_reference_time" ;
    int latitude_longitude ;
        latitude_longitude:grid_mapping_name = "latitude_longitude" ;
        latitude_longitude:longitude_of_prime_meridian = 0. ;
        latitude_longitude:semi_major_axis = 6371229. ;
        latitude_longitude:semi_minor_axis = 6371229. ;
    double time(time) ;
        time:axis = "T" ;
        time:bounds = "time_bnds" ;
        time:units = "hours since 1970-01-01 00:00:00" ;
        time:standard_name = "time" ;
        time:calendar = "gregorian" ;
    double time_bnds(time, bnds) ;
    float latitude(latitude) ;
        latitude:axis = "Y" ;
        latitude:units = "degrees_north" ;
        latitude:standard_name = "latitude" ;
    float longitude(longitude) ;
        longitude:axis = "X" ;
        longitude:units = "degrees_east" ;
        longitude:standard_name = "longitude" ;
    int forecast_period ;
        forecast_period:units = "hours" ;
        forecast_period:standard_name = "forecast_period" ;
    double forecast_reference_time(time) ;
        forecast_reference_time:bounds = "forecast_reference_time_bnds" ;
        forecast_reference_time:units = "hours since 1970-01-01 00:00:00" ;
        forecast_reference_time:standard_name = "forecast_reference_time" ;
        forecast_reference_time:calendar = "gregorian" ;
    double forecast_reference_time_bnds(time, bnds) ;

// global attributes:
        :Conventions = "CF-1.5" ;
}
netcdf rotated_pole {
dimensions:
    grid_latitude = UNLIMITED ; // (22 currently)
    grid_longitude = 36 ;
variables:
    float air_pressure_at_sea_level(grid_latitude, grid_longitude) ;
        air_pressure_at_sea_level:standard_name = "air_pressure_at_sea_level" ;
        air_pressure_at_sea_level:units = "Pa" ;
        air_pressure_at_sea_level:ukmo__um_stash_source = "m01s16i222" ;
        air_pressure_at_sea_level:source = "Data from Met Office Unified Model 6.01" ;
        air_pressure_at_sea_level:grid_mapping = "rotated_latitude_longitude" ;
        air_pressure_at_sea_level:coordinates = "forecast_period forecast_reference_time time" ;
    int rotated_latitude_longitude ;
        rotated_latitude_longitude:grid_mapping_name = "rotated_latitude_longitude" ;
        rotated_latitude_longitude:longitude_of_prime_meridian = 0. ;
        rotated_latitude_longitude:semi_major_axis = 6371229. ;
        rotated_latitude_longitude:semi_minor_axis = 6371229. ;
        rotated_latitude_longitude:grid_north_pole_latitude = 37.5 ;
        rotated_latitude_longitude:grid_north_pole_longitude = 177.5 ;
        rotated_latitude_longitude:north_pole_grid_longitude = 0. ;
    float grid_latitude(grid_latitude) ;
        grid_latitude:axis = "Y" ;
        grid_latitude:units = "degrees" ;
        grid_latitude:standard_name = "grid_latitude" ;
    float grid_longitude(grid_longitude) ;
        grid_longitude:axis = "X" ;
        grid_longitude:units = "degrees" ;
        grid_longitude:standard_name = "grid_longitude" ;
    double forecast_period ;
        forecast_period:units = "hours" ;
        forecast_period:standard_name = "forecast_period" ;
    double forecast_reference_time ;
        forecast_reference_time:units = "hours since 1970-01-01 00:00:00" ;
        forecast_reference_time:standard_name = "forecast_reference_time" ;
        forecast_reference_time:calendar = "gregorian" ;
    double time ;
        time:units = "hours since 1970-01-01 00:00:00" ;
        time:standard_name = "time" ;
        time:calendar = "gregorian" ;

// global attributes:
        :Conventions = "CF-1.5" ;
}

@pelson
Copy link
Member Author

pelson commented Jun 21, 2013

Diff:

--- changed_nc.old.txt  2013-06-21 14:25:38.950099980 +0100
+++ changed_nc.new.txt  2013-06-21 14:23:36.695209670 +0100
@@ -1,26 +1,31 @@
 netcdf A1B_north_america {
 dimensions:
-   forecast_period = 240 ;
+   time = UNLIMITED ; // (240 currently)
    latitude = 37 ;
    longitude = 49 ;
    bnds = 2 ;
 variables:
-   float air_temperature(forecast_period, latitude, longitude) ;
+   float air_temperature(time, latitude, longitude) ;
        air_temperature:standard_name = "air_temperature" ;
        air_temperature:units = "K" ;
        air_temperature:Model\ scenario = "A1B" ;
        air_temperature:ukmo__um_stash_source = "m01s03i236" ;
+       air_temperature:source = "Data from Met Office Unified Model 6.05" ;
        air_temperature:cell_methods = "time: mean (interval: 6 hour)" ;
        air_temperature:grid_mapping = "latitude_longitude" ;
-       air_temperature:coordinates = "forecast_reference_time height time" ;
+       air_temperature:coordinates = "forecast_period forecast_reference_time height" ;
    int latitude_longitude ;
        latitude_longitude:grid_mapping_name = "latitude_longitude" ;
        latitude_longitude:longitude_of_prime_meridian = 0. ;
        latitude_longitude:semi_major_axis = 6371229. ;
        latitude_longitude:semi_minor_axis = 6371229. ;
-   int forecast_period(forecast_period) ;
-       forecast_period:units = "hours" ;
-       forecast_period:standard_name = "forecast_period" ;
+   double time(time) ;
+       time:axis = "T" ;
+       time:bounds = "time_bnds" ;
+       time:units = "hours since 1970-01-01 00:00:00" ;
+       time:standard_name = "time" ;
+       time:calendar = "360_day" ;
+   double time_bnds(time, bnds) ;
    float latitude(latitude) ;
        latitude:axis = "Y" ;
        latitude:units = "degrees_north" ;
@@ -29,6 +34,9 @@
        longitude:axis = "X" ;
        longitude:units = "degrees_east" ;
        longitude:standard_name = "longitude" ;
+   int forecast_period(time) ;
+       forecast_period:units = "hours" ;
+       forecast_period:standard_name = "forecast_period" ;
    double forecast_reference_time ;
        forecast_reference_time:units = "hours since 1970-01-01 00:00:00" ;
        forecast_reference_time:standard_name = "forecast_reference_time" ;
@@ -37,40 +45,38 @@
        height:units = "m" ;
        height:standard_name = "height" ;
        height:positive = "up" ;
-   double time(forecast_period) ;
-       time:bounds = "time_bnds" ;
-       time:units = "hours since 1970-01-01 00:00:00" ;
-       time:standard_name = "time" ;
-       time:calendar = "360_day" ;
-   double time_bnds(forecast_period, bnds) ;

 // global attributes:
        :Conventions = "CF-1.5" ;
-       :source = "Data from Met Office Unified Model 6.05" ;
 }
 netcdf E1_north_america {
 dimensions:
-   forecast_period = 240 ;
+   time = UNLIMITED ; // (240 currently)
    latitude = 37 ;
    longitude = 49 ;
    bnds = 2 ;
 variables:
-   float air_temperature(forecast_period, latitude, longitude) ;
+   float air_temperature(time, latitude, longitude) ;
        air_temperature:standard_name = "air_temperature" ;
        air_temperature:units = "K" ;
        air_temperature:Model\ scenario = "E1" ;
        air_temperature:ukmo__um_stash_source = "m01s03i236" ;
+       air_temperature:source = "Data from Met Office Unified Model 6.05" ;
        air_temperature:cell_methods = "time: mean (interval: 6 hour)" ;
        air_temperature:grid_mapping = "latitude_longitude" ;
-       air_temperature:coordinates = "forecast_reference_time height time" ;
+       air_temperature:coordinates = "forecast_period forecast_reference_time height" ;
    int latitude_longitude ;
        latitude_longitude:grid_mapping_name = "latitude_longitude" ;
        latitude_longitude:longitude_of_prime_meridian = 0. ;
        latitude_longitude:semi_major_axis = 6371229. ;
        latitude_longitude:semi_minor_axis = 6371229. ;
-   int forecast_period(forecast_period) ;
-       forecast_period:units = "hours" ;
-       forecast_period:standard_name = "forecast_period" ;
+   double time(time) ;
+       time:axis = "T" ;
+       time:bounds = "time_bnds" ;
+       time:units = "hours since 1970-01-01 00:00:00" ;
+       time:standard_name = "time" ;
+       time:calendar = "360_day" ;
+   double time_bnds(time, bnds) ;
    float latitude(latitude) ;
        latitude:axis = "Y" ;
        latitude:units = "degrees_north" ;
@@ -79,6 +85,9 @@
        longitude:axis = "X" ;
        longitude:units = "degrees_east" ;
        longitude:standard_name = "longitude" ;
+   int forecast_period(time) ;
+       forecast_period:units = "hours" ;
+       forecast_period:standard_name = "forecast_period" ;
    double forecast_reference_time ;
        forecast_reference_time:units = "hours since 1970-01-01 00:00:00" ;
        forecast_reference_time:standard_name = "forecast_reference_time" ;
@@ -87,47 +96,37 @@
        height:units = "m" ;
        height:standard_name = "height" ;
        height:positive = "up" ;
-   double time(forecast_period) ;
-       time:bounds = "time_bnds" ;
-       time:units = "hours since 1970-01-01 00:00:00" ;
-       time:standard_name = "time" ;
-       time:calendar = "360_day" ;
-   double time_bnds(forecast_period, bnds) ;

 // global attributes:
        :Conventions = "CF-1.5" ;
-       :source = "Data from Met Office Unified Model 6.05" ;
 }
 netcdf hybrid_height {
 dimensions:
-   level_height = 15 ;
+   model_level_number = UNLIMITED ; // (15 currently)
    grid_latitude = 100 ;
    grid_longitude = 100 ;
    bnds = 2 ;
 variables:
-   float air_potential_temperature(level_height, grid_latitude, grid_longitude) ;
+   float air_potential_temperature(model_level_number, grid_latitude, grid_longitude) ;
        air_potential_temperature:standard_name = "air_potential_temperature" ;
        air_potential_temperature:units = "K" ;
        air_potential_temperature:ukmo__um_stash_source = "m01s00i004" ;
+       air_potential_temperature:source = "Data from Met Office Unified Model 7.04" ;
        air_potential_temperature:grid_mapping = "rotated_latitude_longitude" ;
-       air_potential_temperature:coordinates = "forecast_period model_level_number sigma surface_altitude time" ;
+       air_potential_temperature:coordinates = "forecast_period forecast_reference_time level_height sigma surface_altitude time" ;
    int rotated_latitude_longitude ;
        rotated_latitude_longitude:grid_mapping_name = "rotated_latitude_longitude" ;
        rotated_latitude_longitude:longitude_of_prime_meridian = 0. ;
        rotated_latitude_longitude:semi_major_axis = 6371229. ;
        rotated_latitude_longitude:semi_minor_axis = 6371229. ;
-       rotated_latitude_longitude:grid_north_pole_latitude = 37.5f ;
-       rotated_latitude_longitude:grid_north_pole_longitude = 177.5f ;
+       rotated_latitude_longitude:grid_north_pole_latitude = 37.5 ;
+       rotated_latitude_longitude:grid_north_pole_longitude = 177.5 ;
        rotated_latitude_longitude:north_pole_grid_longitude = 0. ;
-   float level_height(level_height) ;
-       level_height:bounds = "level_height_bnds" ;
-       level_height:axis = "Z" ;
-       level_height:formula_terms = "a: level_height b: sigma orog: surface_altitude" ;
-       level_height:units = "m" ;
-       level_height:standard_name = "atmosphere_hybrid_height_coordinate" ;
-       level_height:long_name = "level_height" ;
-       level_height:positive = "up" ;
-   float level_height_bnds(level_height, bnds) ;
+   int model_level_number(model_level_number) ;
+       model_level_number:axis = "Z" ;
+       model_level_number:units = "1" ;
+       model_level_number:standard_name = "model_level_number" ;
+       model_level_number:positive = "up" ;
    float grid_latitude(grid_latitude) ;
        grid_latitude:axis = "Y" ;
        grid_latitude:bounds = "grid_latitude_bnds" ;
@@ -143,17 +142,29 @@
    double forecast_period ;
        forecast_period:units = "hours" ;
        forecast_period:standard_name = "forecast_period" ;
-   int model_level_number(level_height) ;
-       model_level_number:units = "1" ;
-       model_level_number:standard_name = "model_level_number" ;
-   float sigma(level_height) ;
+   double forecast_reference_time ;
+       forecast_reference_time:units = "hours since 1970-01-01 00:00:00" ;
+       forecast_reference_time:standard_name = "forecast_reference_time" ;
+       forecast_reference_time:calendar = "gregorian" ;
+   float level_height(model_level_number) ;
+       level_height:bounds = "level_height_bnds" ;
+       level_height:axis = "Z" ;
+       level_height:formula_terms = "a: level_height b: sigma orog: surface_altitude" ;
+       level_height:units = "m" ;
+       level_height:standard_name = "atmosphere_hybrid_height_coordinate" ;
+       level_height:long_name = "level_height" ;
+       level_height:positive = "up" ;
+   float level_height_bnds(model_level_number, bnds) ;
+   float sigma(model_level_number) ;
        sigma:bounds = "sigma_bnds" ;
        sigma:units = "1" ;
        sigma:long_name = "sigma" ;
-   float sigma_bnds(level_height, bnds) ;
+   float sigma_bnds(model_level_number, bnds) ;
    float surface_altitude(grid_latitude, grid_longitude) ;
        surface_altitude:units = "m" ;
        surface_altitude:standard_name = "surface_altitude" ;
+       surface_altitude:ukmo__um_stash_source = "m01s00i033" ;
+       surface_altitude:source = "Data from Met Office Unified Model 7.04" ;
    double time ;
        time:units = "hours since 1970-01-01 00:00:00" ;
        time:standard_name = "time" ;
@@ -161,11 +172,10 @@

 // global attributes:
        :Conventions = "CF-1.5" ;
-       :source = "Data from Met Office Unified Model 7.04" ;
 }
 netcdf ostia_monthly {
 dimensions:
-   time = 54 ;
+   time = UNLIMITED ; // (54 currently)
    latitude = 18 ;
    longitude = 432 ;
    bnds = 2 ;
@@ -174,7 +184,7 @@
        surface_temperature:standard_name = "surface_temperature" ;
        surface_temperature:units = "K" ;
        surface_temperature:ukmo__um_stash_source = "m01s00i024" ;
-       surface_temperature:history = "10/08/12 13:06:41 Iris: Mean of surface_temperature aggregated over month, year" ;
+       surface_temperature:history = "21/06/13 14:18:45 Iris: Mean of surface_temperature aggregated over month, year" ;
        surface_temperature:cell_methods = "month: year: mean" ;
        surface_temperature:grid_mapping = "latitude_longitude" ;
        surface_temperature:coordinates = "forecast_period forecast_reference_time" ;
@@ -213,22 +223,23 @@
 }
 netcdf rotated_pole {
 dimensions:
-   grid_latitude = 22 ;
+   grid_latitude = UNLIMITED ; // (22 currently)
    grid_longitude = 36 ;
 variables:
    float air_pressure_at_sea_level(grid_latitude, grid_longitude) ;
        air_pressure_at_sea_level:standard_name = "air_pressure_at_sea_level" ;
        air_pressure_at_sea_level:units = "Pa" ;
        air_pressure_at_sea_level:ukmo__um_stash_source = "m01s16i222" ;
+       air_pressure_at_sea_level:source = "Data from Met Office Unified Model 6.01" ;
        air_pressure_at_sea_level:grid_mapping = "rotated_latitude_longitude" ;
-       air_pressure_at_sea_level:coordinates = "forecast_period time" ;
+       air_pressure_at_sea_level:coordinates = "forecast_period forecast_reference_time time" ;
    int rotated_latitude_longitude ;
        rotated_latitude_longitude:grid_mapping_name = "rotated_latitude_longitude" ;
        rotated_latitude_longitude:longitude_of_prime_meridian = 0. ;
        rotated_latitude_longitude:semi_major_axis = 6371229. ;
        rotated_latitude_longitude:semi_minor_axis = 6371229. ;
-       rotated_latitude_longitude:grid_north_pole_latitude = 37.5f ;
-       rotated_latitude_longitude:grid_north_pole_longitude = 177.5f ;
+       rotated_latitude_longitude:grid_north_pole_latitude = 37.5 ;
+       rotated_latitude_longitude:grid_north_pole_longitude = 177.5 ;
        rotated_latitude_longitude:north_pole_grid_longitude = 0. ;
    float grid_latitude(grid_latitude) ;
        grid_latitude:axis = "Y" ;
@@ -241,6 +252,10 @@
    double forecast_period ;
        forecast_period:units = "hours" ;
        forecast_period:standard_name = "forecast_period" ;
+   double forecast_reference_time ;
+       forecast_reference_time:units = "hours since 1970-01-01 00:00:00" ;
+       forecast_reference_time:standard_name = "forecast_reference_time" ;
+       forecast_reference_time:calendar = "gregorian" ;
    double time ;
        time:units = "hours since 1970-01-01 00:00:00" ;
        time:standard_name = "time" ;
@@ -248,5 +263,4 @@

 // global attributes:
        :Conventions = "CF-1.5" ;
-       :source = "Data from Met Office Unified Model 6.01" ;
 }

@bblay
Copy link
Contributor

bblay commented Jun 24, 2013

Out of interest, why change ostia_monthly?

@pelson
Copy link
Member Author

pelson commented Jun 24, 2013

Out of interest, why change ostia_monthly?

I just re-ran the generation script. These were all that changed....

bblay added a commit that referenced this pull request Jun 25, 2013
@bblay bblay merged commit 83bb756 into SciTools:master Jun 25, 2013
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.

2 participants