tismip6.rst - pism - [fork] customized build of PISM, the parallel ice sheet model (tillflux branch) (HTM) git clone git://src.adamsgaard.dk/pism (DIR) Log (DIR) Files (DIR) Refs (DIR) LICENSE --- tismip6.rst (6771B) --- 1 .. include:: ../../global.txt 2 3 .. _sec-ismip6: 4 5 ISMIP6 Greenland 6 ---------------- 7 8 Running ISMIP6-Greenland_ projections required implementing some additional sub-models as 9 well as several modifications needed to follow ISMIP6 conventions. This section describes 10 these modifications and explains how to use PISM to run ISMIP6 projections. 11 12 Top surface mass balance and temperature 13 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 14 15 Use the ``ismip6`` surface model to implement ISMIP6 surface mass balance forcing. 16 17 .. code-block:: bash 18 19 pismr -surface ismip6 \ 20 -surface_ismip6_file climate_forcing.nc \ 21 -surface_ismip6_reference_file climate_forcing_reference.nc 22 23 Here ``climate_forcing.nc`` should contain time-dependent variables 24 25 - :var:`climatic_mass_balance_anomaly` (units: `kg / (m^2 s)`) and 26 - :var:`ice_surface_temp_anomaly` (units: *Kelvin*). 27 28 The file ``climate_forcing_reference.nc`` should contain time-independent (2D) variables 29 30 - :var:`climatic_mass_balance_reference` (units: `kg / (m^2 s)`), 31 - :var:`climatic_mass_balance_gradient` (units: `(kg / (m^2 s)) / m`), 32 - :var:`ice_surface_temp_reference` (units: *Kelvin*), 33 - :var:`ice_surface_temp_gradient` (units: *Kelvin / m*), 34 - :var:`surface_elevation` (units: *m*) 35 36 The surface mass balance is computed using the following formula: 37 38 .. code-block:: none 39 40 SMB(x,y,t) = SMB_ref(x,y) + aSMB(x,y,t) + dSMBdz(x,y) * [h(x,y,t) - h_ref(x,y)] 41 42 .. _sec-ismip6-frontal-melt: 43 44 Frontal melt parameterization 45 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 46 47 Use the ``discharge_given`` frontal melt model to implement the ISMIP6 frontal melt 48 parameterization. 49 50 .. code-block:: bash 51 52 pismr -frontal_melt discharge_given \ 53 -frontal_melt_discharge_given_file forcing.nc ... 54 55 The file ``forcing.nc`` has to contain variables :var:`theta_ocean` (potential temperature 56 of adjacent ocean, *degrees Celsius*) and :var:`subglacial_discharge` (water flux per unit 57 area of submerged ice front, `kg / (m^2 s)`). 58 59 These inputs are used in the frontal melt parameterization described in 60 :cite:`Rignotetal2016`: 61 62 .. math:: 63 64 q_m = (A\, h\, q_{sg}^{\alpha} + B)\, \theta^{\beta} 65 66 Here `q_m` is the frontal melt rate in *m/day*, `h` is the water depth at an ice front, 67 `\theta` in the *thermal forcing* and `A`, `B`, `\alpha`, `\beta` are model parameters. 68 69 70 Parameterized front retreat 71 ^^^^^^^^^^^^^^^^^^^^^^^^^^^ 72 73 To use the `parameterized front retreat mechanism <ismip6-greenland_>`_ use the 74 :ref:`sec-prescribed-retreat` mechanism. 75 76 .. code-block:: bash 77 78 pismr -front_retreat_file retreat_forcing.nc ... 79 80 The file ``retreat_forcing.nc`` should contain the variable 81 ``land_ice_area_fraction_retreat`` which defines the maximum ice extent at a given time. 82 83 Mass losses resulting from applying this mechanism are reported as a part of 84 :var:`tendency_of_ice_amount_due_to_discharge` and related diagnostics (i.e. they are 85 *not* attributed to calving or frontal melt). 86 87 88 Output variables 89 ^^^^^^^^^^^^^^^^ 90 91 See :numref:`tab-ismip6-variables` for a list of variables requested by ISMIP6. Note that 92 they have names different from the ones listed in :ref:`sec-extra_vars` and use MKS units. 93 To reduce the amount of post-processing output files require PISM can follow these 94 conventions. 95 96 Setting :config:`output.ISMIP6` makes PISM save diagnostics using MKS units and recognize 97 ISMIP6 variable names. 98 99 To save *all* the diagnostics requested by ISMIP6 use the short-cut 100 101 .. code-block:: bash 102 103 pismr -extra_vars ismip6 ... 104 105 The list of variables is stored in the configuration parameter 106 :config:`output.ISMIP6_extra_variables` and contains variables Greenland projections are 107 required to provide. (Add ``base,ligroundf`` to this list for Antarctic projections.) 108 109 To save all the time series supported by PISM, omit the ``-ts_vars`` option: 110 111 .. code-block:: bash 112 113 pismr -ts_times TIMES -ts_file ts.nc 114 115 To save all variables requested by ISMIP6, use ``-ts_vars ismip6``: 116 117 .. code-block:: bash 118 119 pismr -ts_times TIMES -ts_file ts.nc -ts_vars ismip6 120 121 .. list-table:: ISMIP6 variables 122 :name: tab-ismip6-variables 123 :header-rows: 1 124 :widths: 1,1,3 125 126 * - Variable 127 - Units 128 - Description 129 130 * - ``lithk(x,y,t)`` 131 - m 132 - Ice thickness 133 134 * - ``orog(x,y,t)`` 135 - m 136 - Surface elevation 137 138 * - ``base(x,y,t)`` 139 - m 140 - Base elevation 141 142 * - ``topg(x,y,t)`` 143 - m 144 - Bedrock elevation 145 146 * - ``hfgeoubed(x,y)`` 147 - W m-2 148 - Geothermal heat flux 149 150 * - ``acabf(x,y,t)`` 151 - kg m-2 s-1 152 - Surface mass balance flux 153 154 * - ``libmassbfgr(x,y,t)`` 155 - kg m-2 s-1 156 - Basal mass balance flux beneath grounded ice 157 158 * - ``libmassbffl(x,y,t)`` 159 - kg m-2 s-1 160 - Basal mass balance flux beneath floating ice 161 162 * - ``dlithkdt(x,y,t)`` 163 - m s-1 164 - Ice thickness imbalance 165 166 * - ``xvelsurf(x,y,t)`` 167 - m s-1 168 - Surface velocity in x 169 170 * - ``yvelsurf(x,y,t)`` 171 - m s-1 172 - Surface velocity in y 173 174 * - ``zvelsurf(x,y,t)`` 175 - m s-1 176 - Surface velocity in z 177 178 * - ``xvelbase(x,y,t)`` 179 - m s-1 180 - Basal velocity in x 181 182 * - ``yvelbase(x,y,t)`` 183 - m s-1 184 - Basal velocity in y 185 186 * - ``zvelbase(x,y,t)`` 187 - m s-1 188 - Basal velocity in z 189 190 * - ``xvelmean(x,y,t)`` 191 - m s-1 192 - Mean velocity in x 193 194 * - ``yvelmean(x,y,t)`` 195 - m s-1 196 - Mean velocity in y 197 198 * - ``litemptop(x,y,t)`` 199 - K 200 - Surface temperature 201 202 * - ``litempbotgr(x,y,t)`` 203 - K 204 - Basal temperature beneath grounded ice sheet 205 206 * - ``litempbotfl(x,y,t)`` 207 - K 208 - Basal temperature beneath floating ice shelf 209 210 * - ``strbasemag(x,y,t)`` 211 - Pa 212 - Basal drag 213 214 * - ``licalvf(x,y,t)`` 215 - kg m-2 s-1 216 - Calving flux 217 218 * - ``lifmassbf(x,y,t)`` 219 - kg m-2 s-1 220 - Ice front melt and calving flux 221 222 * - ``ligroundf(x,y,t)`` 223 - kg m-2 s-1 224 - Grounding line flux 225 226 * - ``sftgif(x,y,t)`` 227 - 1 228 - Land ice area fraction 229 230 * - ``sftgrf(x,y,t)`` 231 - 1 232 - Grounded ice sheet area fraction 233 234 * - ``sftflf(x,y,t)`` 235 - 1 236 - Floating ice sheet area fraction 237 238 * - ``lim(t)`` 239 - kg 240 - Total ice mass 241 242 * - ``limnsw(t)`` 243 - kg 244 - Mass above floatation 245 246 * - ``iareagr(t)`` 247 - m^2 248 - Grounded ice area 249 250 * - ``iareafl(t)`` 251 - m^2 252 - Floating ice area 253 254 * - ``tendacabf(t)`` 255 - kg s-1 256 - Total SMB flux 257 258 * - ``tendlibmassbf(t)`` 259 - kg s-1 260 - Total BMB flux 261 262 * - ``tendlibmassbffl(t)`` 263 - kg s-1 264 - Total BMB flux beneath floating ice 265 266 * - ``tendlicalvf(t)`` 267 - kg s-1 268 - Total calving flux 269 270 * - ``tendlifmassbf(t)`` 271 - kg s-1 272 - Total calving and ice front melting flux 273 274 * - ``tendligroundf(t)`` 275 - kg s-1 276 - Total grounding line flux