Output Format

From Interactive System for Ice sheet Simulation
Revision as of 09:10, 6 November 2009 by Scrooks (Talk | contribs)

Jump to: navigation, search

All the SeaRISE model results should be stored in the NetCDF format and follow CF Metadata Conventions. This page will (hopefully) make it easier.

Contents

Coordinate system and grid

The horizontal grid should match the one used in the corresponding master data set (see Present Day Antarctica and Present Day Greenland). Please refer to these pages for projection and grid parameters.

It is left to every modeler to decide the grid size to use for the simulations, and at present there is no common way to interpolate the output back on the master data set. Since your future model experiments will be compared to your control run, it is suggested that the same interpolation is used for all the outputs that you will produce. Please indicate in the comment part of the NetCDF file, the model resolution prior to interpolation and the interpolation used (for example nearest neighbors, linear etc).

Variables

All SeaRISE output variables should be stored using the variable names given in the tables below. This requirement facilitates the multi-model analysis. The current standard names are described on the following page: CF standard names for Glaciology and Ice-Sheet Modeling.

For the experiments, annual outputs are required for both 1D scalar fields and 2D variables.

Coordinate variables

Variable name units NetCDF standard_name Comments
time years since 2004-1-1 0:0:0 time For the experiments, annual outputs are required.
x m projection_x_coordinate
y m projection_y_coordinate

Scalar output variables

Variable name Description units NetCDF standard_name Proposed NetCDF standard_name Comments
ivol ice volume m3 NA land_ice_volume
iareag area covered by grounded ice m2 NA land_ice_area_grounded
iareaf area covered by floating ice m2 NA land_ice_area_floating

Two-dimensional output variables

Variable name Description units NetCDF standard_name Proposed NetCDF standard_name Comments
usurf Surface topography or elevation m surface_altitude NA
topg Bedrock topography or elevation m bedrock_altitude NA
thk Ice thickness m land_ice_thickness NA
acab upper surface mass balance m/year NA ?
bmelt lower surface mass balance m/year NA ? O if surface mass balance only, positive if mass loss (i.e. use outward normal)
bwa basal water amount m NA ? effective thickness of subglacial water
bwp basal water pressure Pa
dHdt tendency of ice thickness m/year ice equivalent
mask integer mask NA NA NA Someone needs to list flags corresponding to: 1) ice free ocean 2) ice free land 3) grounded ice 4) floating ice 5) grounding line 6) calving front
gline_flux grounding line flux m2 a-1 NA ? column average velocity x column height
uvelsurf U-velocity at the ice surface m/year NA ?
vvelsurf V-velocity at the ice surface m/year NA ?
wvelsurf W-velocity at the ice surface m/year NA ? positive upwards
uvelbase U-velocity at the base of ice m/year NA ?
vvelbase V-velocity at the base of ice m/year NA ?
wvelbase W-velocity at the base of ice m/year NA ? positive upwards
tempsurf ice temperature at the surface K NA ?
tempbase ice temperature at the base of ice K NA ?

Note that the mask variable is unit-less, not dimension-less (i.e. units of "1" do not apply). CF Conventions provide a way to describe the meaning of such a variable:

       byte mask(time, y, x) ;
               mask:flag_meanings = "ocean grounded_ice floating_ice" ;
               mask:flag_values = 0b, 1b, 2b ;

CF requirements

Once we agree on variables to include and their names, we need to know how to put them together to get a usable NetCDF dataset. You can find it all in the CF Conventions Document, but here's a very compressed version:

  • all output variables should use units supported by UDUNITS.
  • all output variables should have standard_names (if possible)
  • if latitude and longitude fields are provided, spatial variables should have the coordinates attribute listing the names of these auxiliary coordinate variables
  • all spatial variables should have the grid_mapping variable with the name of the mapping variable
  • the dataset should have the Conventions attribute stating the version of the CF conventions followed
  • the mapping variable defines the projection (see below)

The following is an example of an output variable with all the necessary metadata:

float thk(time, y, x) ;
      thk:long_name = "ice thickness" ;
      thk:standard_name = "land_ice_thickness" ;
      thk:units = "meter" ;
      thk:grid_mapping = "mapping" ;

Regarding the mapping variable, we have two cases:

Greenland

char mapping ;
      mapping:grid_mapping_name = "polar_stereographic" ;
      mapping:false_easting = 0. ;
      mapping:false_northing = 0. ;
      mapping:latitude_of_projection_origin = 90. ;
      mapping:straight_vertical_longitude_from_pole = -39. ;
      mapping:standard_parallel = 71. ;

Perhaps we should add:

      mapping:ellipsoid = "WGS84"

Antarctica

char mapping ;
      mapping:grid_mapping_name = "polar_stereographic" ;
      mapping:false_easting = 0. ;
      mapping:false_northing = 0. ;
      mapping:latitude_of_projection_origin = -90. ;
      mapping:straight_vertical_longitude_from_pole = 0. ;
      mapping:standard_parallel = 71. ;

Attached Media:dummy.nc is a very small dummy NetCDF dataset using all the attributes necessary for IDV to open it.

NetCDF global attributes

As mentioned above, it is necessary to specify the version of CF conventions by providing the Conventions attribute:

// global attributes:
     :Conventions = "CF-1.4" ;

In addition to this, NetCDF User's Guide and CF Conventions define a number of attributes we can use to describe a model output. The list includes

  • title -- can be used for experiment names,
  • institution,
  • source -- can be used for model names,
  • history,
  • references,
  • comment.

This list can (and should) be extended to include SeaRISE-specific attributes, such as experiment category, model dimension and model climate.