Output Format

From Interactive System for Ice sheet Simulation
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.


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).


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.

Coordinate variables

Variable name units CF standard_name Comments
time reported years (at constant interval) since 2004-1-1 0:0:0 time used for 2D output variables; i.e., 0, 5, 10... for Greenland and 0, 10, 20,...for Antarctica
tseries every year since 2004-1-1 0:0:0 used for scalar output variables; i.e., 0, 1, 2, 3,...
x m projection_x_coordinate
y m projection_y_coordinate

Two different reporting time intervals are used to retain sufficient information whilst keeping the files sizes manageable. Yearly outputs for the 2D variables creates files that would be too large (see also discussion below) so yearly output is only for the scalar variables, e.g., ice volume, to allow them to be examined in more detail.

time: reported years (at constant interval) for 2D outputs. For Greenland, the interval is every 5yrs for Greenland (on a suggested 5km grid) and for Antarctica, the interval is every 10yrs (on a suggested 10km grid).

tseries: annual output for scalar variables

The total time duration of each experiment (or control run) is 500 years.

Scalar output variables (reported yearly, or at the same regular interval as the two-dimensional variables)

Variable name Description units CF standard_name Proposed CF standard_name Comments
ivol ice volume (ice equiv.) 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 (reported at regular interval)

Variable name Description units CF standard_name Proposed CF 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 (ice equiv.) m/year NA ?
bmelt lower surface mass balance (ice equiv) m/year land_ice_basal_melt_rate ? O if surface mass balance only, positive if mass loss (i.e. use outward normal)
bwa basal water amount (water equiv.) m NA ? effective thickness of subglacial water
bwp basal water pressure Pa
dHdt tendency of ice thickness (ice equiv.) m/year annual averaged value using a one-year period ending at the reporting time
mask integer mask NA NA NA Flags corresponding to: 1) ice free ocean 2) ice free land 3) grounded ice 4) floating ice
gline_flux grounding line flux (ice equiv.) m2 a-1 NA ? column average velocity x column height; NOTE: this quantity is not natural for a spatial gridded output; use of contour programs on the flotation criterion, as in this application to Antarctica, is recommended to determine the grounding line itself, but the flux is still nontrivial Based on note above, this parameter is optional. Comparisons between models will use GL flux calculated from velocities and ice thicknesses.
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 = "ice_free_ocean ice_free_land grounded_ice floating_ice" ;
               mask:flag_values = 1, 2, 3, 4 ;

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 for which there is a CF standard_name should have that attribute
  • 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 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:


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"


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

The file should 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 could be extended to include SeaRISE-specific attributes, such as experiment category, model dimension and model climate.

Output file size

The bold entries in the table below were agreed upon, during the January 12 SeaRISE telecon, as the preferred choices.

These file size calculations may be useful in making choices for the more complete SeaRISE Experiments and finalized control runs. The calculations assume that:

  • there are 16 two-dimensional fields specified in Two-dimensional output variables above; the size of the NC_BYTE variable mask is ignored, and gline_flux is assumed to be absent (see comment in table above)
  • each floating point number is stored as NC_FLOAT (=4 bytes), and not NC_DOUBLE (=8 bytes)
  • the size of the "Scalar output variables" is neglect-able, and is ignored
  • 1GB = 2^(30) bytes, and not 10^9 bytes

All cases in the table assume a 500 year model run. The Greenland 5 km grid is 301 x 561 points. The Antarctic 5 km grid is 1200 x 1200 points. The size of files is, obviously, linear in the temporal length of the run.

continent grid, reporting interval file size in GB comments
Greenland 5 km, annual 5.0 gzip --fast reduces PISM version to 2.9GB; such files take about 1 hour to transfer at 1MB/s;
Greenland 5 km, every 5 years 1.0 preferred
Greenland 10 km, annual 1.3
Antarctica 5 km, annual 43 too large, I would think
Antarctica 10 km, annual 10.7 still quite large
Antarctica 5 km, every 10 years 4.3
Antarctica 10 km, every 10 years 1.1 preferred
Antarctica 20 km, annual 2.7

File naming for whole ice sheet SeaRISE submissions

The seaRISE output file name needs to contain info on: author, model, case (Antarctica or Greenland), dimension, experiment, climate driver etc. For future reference, it is simpler if the model outputs follow a standard naming convention.

A suggestion based on the MISMIP convention is NNNn_X_Dd_Cc_Ee.nc, with the following components:

• NNN = three letter characters for name, either a group name like PSU for Penn State, or an individual name made up by the first character of the first name followed by the first two characters of the last name (e.g. SNO = Sophie Nowicki)

• n = model number (n = 1 if you have only one model, or 2, 3, . . . if you have more than one model).

• X = experiment category, either ‘A’ for Antarctica, or ‘G’ for Greenland.

• D = denotes the model dimension.

• d = model dimension identifier (‘1’ for 1D, ‘2’ for 2D, ‘3’ for 3D).

• C = denotes the model climate

• c = model climate identifier ( ‘1’ for constant climate, ‘2’ for 4th Assessment future climate forcing)

• E = denotes experiment category

• e = experiment number (‘0’ for no "forcing", versus >0 for experiments described at the Category_1:_Whole_Ice_Sheet experiments page).

The "E0" cases are called control runs.

Thus, SNO1_A_D3_C1_E0.nc would be an output submitted by Sophie Nowicki, from model version 1, for a 3D Antarctic control run under a constant climate with none of the experimental forcings.

Model results should be submitted via FTP to Sophie Nowicki. Please request the FTP server detail and password by email (sophie.nowicki-at-nasa.gov). The password changes regularly, so do not hesitate to ask for the most current one!