make_topoa

This program generates an augmented ModelE TOPO file on the atmosphere grid, ready to use by ModelE with elevation classes.

Required inputs, provided on the command line, are:

  1. --topoo: A TOPOO file, as generated by make_topoo_.
  2. --global_ec_mm: Regridding matrices, mismatched, as generated by global_ec_.
  3. --elevmask: File containing high-resolution ice mask FGICE1m (ground ice fraction), ZICETOP1m used to generate the TOPOO file; for example, the output of generated by etopo1_ice_.

The command line argument --topoa (or -o) specifies the ouput file name. A sample TOPOA file is included below. The following variables are the same as in traditional ModelE TOPO files without elevation classes:

  • focean, flake, frnd, fgice: Land surface fractions
  • zatmo: Bottom of the atmosphere (m)
  • zicetop: Bottom of atmosphere (ice-covered regions only)
  • hlake: Lake surface topography

The following additional variables are new:

  • info:segments: Describes how different sets or “segments” of elevation classes are arranged; allowing runs with and without elevation classes to be run in parallel. The default ``legacy,land,ec``produces the following elevation classes:

    1. EC 0: The legacy elevation class, which has the same elevation as the overall gridcell. This is the same as running without elevation classes.
    2. EC 1: The land-only elevation class, with elevation equal to just the land-covered portions of the grid cell. This corrects a known bias for coastal grid cells without otherwise involving a “full” elevation class model.
    3. EC 2-: The rest of elevation classes are created by IceBin.

    Note

    The number of elevation classes in TOPOA will be two greater than the number defined by IceBin.

  • fhc(nhc, jm, im): The fraction that each elevation class contributes to its overall Atmosphere grid cell.

    Note

    1. sum(fhc(:,jm,im))==1.
    2. Elevation classes are only used or “turned on” for grid cells where fhc>0.
    3. Elevation classes that are to be tracked but not used in the computation are multiplied by \(10^-30\). This is typically the case for elevation classes in the legacy and land segments.
  • underice(nhc, jm, im): Describes what is underneath the ice surface model. Only used when coupling with a dynamic ice model:

    • underice==0: Elevation class not used.
    • underice==1: This elevation class contributes to a dynamic ice model.
    • underice==2: No dynamic ice modle is underneath this ice.

An example TOPOA file is:

netcdf topoa {
dimensions:
        jm = 90 ;
        im = 144 ;
        nhc = 34 ;
variables:
        double focean(jm, im) ;
                focean:description = "0 or 1, Bering Strait 1 cell wide" ;
                focean:source = "GISS 1Qx1" ;
                focean:units = "1" ;
        double flake(jm, im) ;
                flake:description = "Lake Surface Fraction" ;
                flake:sources = "GISS 1Qx1" ;
                flake:units = "0:1" ;
        double fgrnd(jm, im) ;
                fgrnd:description = "Ground Surface Fraction" ;
                fgrnd:sources = "GISS 1Qx1" ;
                fgrnd:units = "0:1" ;
        double fgice(jm, im) ;
                fgice:description = "Glacial Ice Surface Fraction" ;
                fgice:sources = "GISS 1Qx1" ;
                fgice:units = "0:1" ;
        double zatmo(jm, im) ;
                zatmo:description = "Atmospheric Topography" ;
                zatmo:sources = "ETOPO2 1Qx1" ;
                zatmo:units = "m" ;
        double hlake(jm, im) ;
                hlake:description = "Lake Surface Topography" ;
                hlake:sources = "ETOPO2 1Qx1" ;
                hlake:units = "m" ;
        double zicetop(jm, im) ;
                zicetop:description = "Atmospheric Topography (Ice-Covered Regions Only)" ;
                zicetop:sources = "ETOPO2 1Qx1" ;
                zicetop:units = "m" ;
        int info ;
                info:segments = "legacy,land,ec" ;
        double fhc(nhc, jm, im) ;
        double elevE(nhc, jm, im) ;
        double underice(nhc, jm, im) ;
}