Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents
minLevel1
maxLevel2
outlinefalse
stylenone
typelist
printabletrue

Overview

Ice sheet coupling with the rest of the model depends on which ice sheet is being modeled, Antarctica or Greenland.

...

ocean coupling: (glc_c2_ocn): Sg_icemask, Sg_blit, Sg_blis, Sg_lithop, Sg_icemask_grounded

compset

(how tested)

glc_c2_lnd

lnd_c2_glc

ocn_c2_glcshelf

glcshelf_c2_ocn

glcshelf_c2_ice

ocn_c2_glctf

glc_c2_ocn

glc_c2_ice

MPAS_LISIO_JRA1p (not tested without mod below)

T

MPAS_LISIO_JRA1p with mod mpaso/ocn_glcshelf ais8to30, MALI%SIA

T

T

T

T

IGELM_MLI

gis20 MALI

T

T

BGWCYCL1850

gis20 MALI

T

T

T

There is no ocn_c2_glc, ice_c2_glcshelf., ice_c2_glc

Attribute strings

Fields passed to/from the coupler related to the ice sheet.

Several fields are calculated per elevation class and so have two-digit numbers appended to them.

land to glc adds the following coupling fields

  • l2x states: Sl_tsrf00 through Sl_tsrf10  and Sl_topo00 through Sl_topo10

  • l2x states to glc: Sl_tsrf00 to Sl_tsrf10 AND Sl_topo00 to Sl_topo10

    • Sl_tsrf: Surface temperature of glacier (one for each elevation class)

    • Sl_topo: surface height of glacier (one for each elevation class)

  • l2x fluxes: Flgl_qice00 through Flgl_qice10

  • l2x_fluxes_to_glc:  Flgl_qice00 to Flgl_qice10

    • Flgl_qice: New glacier ice flux

glc to lnd adds the following coupling fields:

...

Assuming glc_present and glc_prognostic are TRUE so not including.

init

prep_lnd_init (glc_c2_lnd)

if(glc_c2_lnd) init mapper_Sg2l, mapper_Fg2l; derive field lists glc2lnd_non_ec_fields and glc2lnd_ec_extra_fields

prep_ocn_init (glc_c2_ocn, glcshelf_c2_ocn)

if (glc_c2_ocn) init mapper_Rg2o_liq and mapper_Rg2o_ice

if(glcshelf_c2_ocn) init mapper_Sg2o and mapper_Fg2o

prep_ice_init (glc_c2_ice, glcshelf_c2_ice)

if (glc_c2_ice) init mapper_Rg2i

if(glcshelf_c2_ice) init mapper_Sg2i,mapper_Fg2i

prep_glc_init( lnd_c2_glc, ocn_c2_glctf, ocn_c2_glcshelf)

if ( lnd_c2_glc .or. do_hist_l2x1yrg) initialize l2gacc_lx with seq_flds_l2x_fields_to_glc

if ( lnd_c2_glc) initialize l2x_gx with seq_flds_x2g_fields

if (lnd_c2_glc) init mapper_Sl2g, mapper_Fl2g, mapper_Fg2l; form g2x_lx_fields

if (ocn_c2_glctf OR ocn_c2_glcshelf) init o2x_gx with seq_flds_o2x_fields; init x2gacc_gx

also init mapper_So2g, mapper_Fo2g and arrays for compute_melt_fluxes

if (ocn_c2_glctf) init mapper_So2g_tf

if(ocn_c2_glcshelf) init mapper_So2g_shelf

if (glc_c2_ocn) do mapping Rg2o_liq, Rg2o_ice; g2x_gx to g2x_ox; seq_flds_g2o_liq/ice_fluxes,

if (glcshelf_c2_ocn) do mapping Sg2o, Fg2o; g2x_gx to g2x_ox MIGHT OVERWRITE ABOVE

if(glc_c2_ice) do mapping Rg2i; g2x_gx to g2x_ix ‘Fixx_rofi’ only

if(glcshelf_c2_ice) do mapping_Sg2i; g2x_gx, g2x_ix, Sg_icemask_coupled_fluxes

if (glc_c2_lnd) prep_lnd_calc_g2x_lx do mapping with Fg2l, from g2x_gx to g2x_lx, only glc2lnd_non_ec_fields (Sg_icemask, Sg_icemask_coupled_fluxes)

loop over elevation classes: call map_glc2lnd_ec do special mapping from glc to lnd elevation classes using mapper_Fg2l, glc2lnd_ec_extra_fields

...

call cime_run_glc_setup_send

if (lnd_c2_glc OR ocn_c2_glctf OR ocn_c2_glcshelf)

if (glcrun_avg_alarm) accumulate for lnd and ocn

if (lnd_c2_glc) call prep_glc_calc_l2x_gx

...

call prep_glc_map_one_state_field_lnd2glc: special bilinear mapping one state at a time: also call map_lnd2glc

if (ocn_c2_glctf) call prep_glc_mrg_ocn

else prep_glc_zero_flds

...

call cime_run_ocnglc_coupling()

if (ocn_c2_glctf OR (glcshelf_to_ocn AND ocn_to_glcshelf))

call prep_glc_calc_o2x_gx:

if (ocn_c2_gtctf) call mapper_So2g_tf; o2x_ox to o2x_gx seq_flds_x2g_tf_states_from_ocn

if (ocn_c2_glcshelf) call mapper_So2g_shelf; o2x_ox to o2x_gx seq_flds_x2g_shelf_states_from_ocn

if (ocn_c2_glcshelf AND glcshelf_c2_ocn)

call prep_glc_calculate_subshelf_boundary_fluxes

...

call prep_glc_accum_ocn (accumulate x2g_g fields)

if ( glcshelf_c2_ice) call mapper map_Sg2i; g2x_gx, g2x_ix; Sg_icemask_coupled_fluxes

...