Los glaciares como recursos hídricos: parte 2 (proyecciones)

Objetivos de este cuaderno:

  • ejecutar simulaciones utilizando proyecciones climáticas para explorar el papel de los glaciares como recursos hídricos

Preparando el escenario: la escorrentía de los glaciares y el “pico de agua”

¡Recomendamos enfáticamente ejecutar Parte 1 de este cuaderno antes de continuar!

Configuración

import matplotlib.pyplot as plt
import seaborn as sns
%matplotlib inline
sns.set_context('notebook')
# One interactive plot below requires Bokeh
# The rest of the notebook works without this dependency
import holoviews as hv
hv.extension('bokeh')
import geoviews as gv
import geoviews.tile_sources as gts
# Temporarily ignore warnings from shapely
import warnings
from shapely.errors import ShapelyDeprecationWarning
warnings.filterwarnings('ignore', category=ShapelyDeprecationWarning)
import xarray as xr
import salem
import numpy as np
import pandas as pd
import oggm.cfg
from oggm import utils, workflow, tasks, graphics
# OGGM options
oggm.cfg.initialize(logging_level='WARNING')
oggm.cfg.PATHS['working_dir'] = utils.gettempdir(dirname='WaterResources')
oggm.cfg.PARAMS['min_ice_thick_for_length'] = 1  # a glacier is when ice thicker than 1m
oggm.cfg.PARAMS['store_model_geometry'] = True
2022-05-31 14:24:36: oggm.cfg: Reading default parameters from the OGGM `params.cfg` configuration file.
2022-05-31 14:24:36: oggm.cfg: Multiprocessing switched OFF according to the parameter file.
2022-05-31 14:24:36: oggm.cfg: Multiprocessing: using all available processors (N=2)
2022-05-31 14:24:37: oggm.cfg: PARAMS['min_ice_thick_for_length'] changed from `0.0` to `1`.
2022-05-31 14:24:37: oggm.cfg: PARAMS['store_model_geometry'] changed from `False` to `True`.

Definir el glaciar con el que jugaremos

Para este cuaderno usamos Hintereisferner, Austria. Algunas otras posibilidades para jugar: -Hintereisferner, Austria: RGI60-11.00897

  • Artesonraju, Peru: RGI60-16.02444 -Rikha Samba, Nepal: RGI60-15.04847 -Parlung No. 94, China: RGI60-15.11693 Y prácticamente cualquier glaciar en el que pueda encontrar el RGI Id, p. en el GLIMS viewer! Sin embargo, los grandes glaciares pueden necesitar simulaciones más largas para ver los cambios. Para parámetros de calibración menos inciertos, también recomendamos elegir uno de los muchos glaciares de referencia GLIMS viewer, donde nos aseguramos de que las observaciones del balance de masa coincidan mejor. Comencemos primero con Hintereisferner y al final de este cuaderno se le invitará a probar su glaciar favorito.

# Hintereisferner
rgi_id = 'RGI60-11.00897'

Preparando los datos del glaciar

Esto puede tardar unos minutos en la primera llamada debido a la descarga de los datos necesarios:

# We pick the elevation-bands glaciers because they run a bit faster - but they create more step changes in the area outputs
base_url = 'https://cluster.klima.uni-bremen.de/~oggm/gdirs/oggm_v1.4/L3-L5_files/CRU/elev_bands/qc3/pcp2.5/no_match'
gdir = workflow.init_glacier_directories([rgi_id], from_prepro_level=5, prepro_border=80, prepro_base_url=base_url)[0]
2022-05-31 14:24:37: oggm.workflow: init_glacier_directories from prepro level 5 on 1 glaciers.
2022-05-31 14:24:37: oggm.workflow: Execute entity tasks [gdir_from_prepro] on 1 glaciers

Mapa glaciar interactivo

Un primer vistazo al glaciar de interés. Sugerencia: puede usar el mouse para desplazarse y hacer zoom en el mapa

sh = salem.transform_geopandas(gdir.read_shapefile('outlines'))
(gv.Polygons(sh).opts(fill_color=None, color_index=None) *
 gts.tile_sources['EsriImagery'] * gts.tile_sources['StamenLabels']).opts(width=800, height=500, active_tools=['pan', 'wheel_zoom'])

Para OGGM, los glaciares tienen una dimensión de “1,5” a lo largo de su línea de flujo:

fls = gdir.read_pickle('model_flowlines')
graphics.plot_modeloutput_section(fls);
../_images/glacier_water_resources_projections_es_21_0.png

“Ejecución de compromiso”

Ahora estamos listos para ejecutar nuestra primera simulación. Esta es la llamada “ejecución de compromiso”: ¿cuánta pérdida de hielo está “ya comprometida” para este glaciar, incluso si el cambio climático se detuviera hoy? Este es un experimento útil pero puramente teórico: el cambio climático no se detendrá hoy, desafortunadamente. Para obtener más información sobre la pérdida de masa comprometida a escala global, lea Marzeion et al., 2018. Aquí, ejecutamos una simulación durante 100 años con un clima constante basado en los últimos 11 años:

# file identifier where the model output is saved
file_id = '_ct'

# We are using the task run_with_hydro to store hydrological outputs along with the usual glaciological outputs
tasks.run_with_hydro(gdir,
                     run_task=tasks.run_constant_climate,  # which climate? See below for other examples
                     nyears=100,  # length of the simulation
                     y0=2014, halfsize=5,  # For the constant climate, period over which the climate is taken from
                     store_monthly_hydro=True,  # Monthly ouptuts provide additional information
                     output_filesuffix=file_id);  # an identifier for the output file to read it later

Entonces podemos echar un vistazo a la salida:

with xr.open_dataset(gdir.get_filepath('model_diagnostics', filesuffix=file_id)) as ds:
    # The last step of hydrological output is NaN (we can't compute it for this year)
    ds = ds.isel(time=slice(0, -1)).load()

¡Hay muchas variables en este conjunto de datos! Podemos enumerarlos con:

ds
<xarray.Dataset>
Dimensions:                       (time: 100, month_2d: 12)
Coordinates:
  * time                          (time) float64 0.0 1.0 2.0 ... 97.0 98.0 99.0
    hydro_year                    (time) int64 0 1 2 3 4 5 ... 94 95 96 97 98 99
    hydro_month                   (time) int64 1 1 1 1 1 1 1 1 ... 1 1 1 1 1 1 1
    calendar_year                 (time) int64 -1 0 1 2 3 4 ... 94 95 96 97 98
    calendar_month                (time) int64 10 10 10 10 10 ... 10 10 10 10 10
  * month_2d                      (month_2d) int64 1 2 3 4 5 6 7 8 9 10 11 12
    calendar_month_2d             (month_2d) int64 10 11 12 1 2 3 4 5 6 7 8 9
Data variables: (12/21)
    volume_m3                     (time) float64 6.305e+08 ... 8.315e+07
    volume_bsl_m3                 (time) float64 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0
    volume_bwl_m3                 (time) float64 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0
    area_m2                       (time) float64 8.036e+06 ... 2.501e+06
    length_m                      (time) float64 5.6e+03 5.6e+03 ... 1.1e+03
    calving_m3                    (time) float64 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0
    ...                            ...
    liq_prcp_on_glacier           (time) float64 1.034e+10 ... 2.419e+09
    liq_prcp_on_glacier_monthly   (time, month_2d) float64 2.42e+08 ... 2.159...
    snowfall_off_glacier          (time) float64 0.108 5.96e+07 ... 1.191e+10
    snowfall_off_glacier_monthly  (time, month_2d) float64 0.002158 ... 2.46e+08
    snowfall_on_glacier           (time) float64 1.945e+10 ... 6.851e+09
    snowfall_on_glacier_monthly   (time, month_2d) float64 1.969e+09 ... 4.89...
Attributes:
    description:          OGGM model output
    oggm_version:         1.5.4.dev10+g1fca0cb
    calendar:             365-day no leap
    creation_date:        2022-05-31 14:24:38
    water_level:          0
    glen_a:               6.774049426121393e-24
    fs:                   0
    mb_model_class:       MultipleFlowlineMassBalance
    mb_model_hemisphere:  nh

Consejo: puede hacer clic en una variable y mostrar su atributo con el botón “página” a la derecha. Las variables time y month_2d son coordenadas, y las otras variables se proporcionan como información adicional (por ejemplo, calendar_month, volveremos a esto), o proporcionan los datos reales. Por ejemplo, podemos trazar la evolución anual del volumen y longitud de nuestro glaciar:

fig, axs = plt.subplots(nrows=2, figsize=(10, 7), sharex=True)
ds.volume_m3.plot(ax=axs[0]);
ds.length_m.plot(ax=axs[1]);
axs[0].set_xlabel(''); axs[0].set_title(f'{rgi_id}'); axs[1].set_xlabel('Years');
../_images/glacier_water_resources_projections_es_30_0.png

La longitud y el volumen del glaciar disminuyen durante los primeros ~40 años de la simulación: esta es la fase de retroceso del glaciar. Posteriormente, tanto la longitud como el volumen oscilan en torno a un valor más o menos constante indicando que el glaciar ha alcanzado el equilibrio. La diferencia entre el volumen inicial y el volumen de equilibrio se denomina pérdida de masa comprometida. Puede ser bastante alto en los Alpes y depende de muchos factores (como el tamaño del glaciar, la ubicación y el período climático de referencia),

escurrimiento anual

A medida que los glaciares retroceden, contribuyen al aumento del nivel del mar (¡visite la aplicación World Glaciers Explorer OGGM-Edu para obtener más información!). Esto no es lo que nos interesa aquí. De hecho, también tendrán impactos locales importantes: en este cuaderno, veremos su impacto en el flujo de agua. Echemos un vistazo a algunos de los resultados hidrológicos calculados por OGGM. Comenzamos creando un DataFrame de pandas de todas las variables “1D” (anuales):

sel_vars = [v for v in ds.variables if 'month_2d' not in ds[v].dims]
df_annual = ds[sel_vars].to_dataframe()

Luego podemos seleccionar las variables hidrológicas y sumarlas para obtener la escorrentía total anual:

# Select only the runoff variables
runoff_vars = ['melt_off_glacier', 'melt_on_glacier', 'liq_prcp_off_glacier', 'liq_prcp_on_glacier']
# Convert them to megatonnes (instead of kg)
df_runoff = df_annual[runoff_vars] * 1e-9
fig, ax = plt.subplots(figsize=(10, 3.5), sharex=True)
df_runoff.sum(axis=1).plot(ax=ax);
plt.ylabel('Mt'); plt.xlabel('Years'); plt.title(f'Total annual runoff for {rgi_id}');
../_images/glacier_water_resources_projections_es_36_0.png

Las variables hidrológicas se calculan sobre la mayor área posible cubierta por hielo glaciar durante la simulación. Esto es equivalente a la escorrentía que se mediría en una estación hidrológica de calibre fijo en el extremo del glaciar. La escorrentía total anual consta de los siguientes componentes:

  • fusión fuera del glaciar: la nieve se derrite en áreas que ahora están libres de glaciares (es decir, 0 en el año de mayor extensión del glaciar, en este ejemplo al comienzo de la simulación)

  • derretimiento en el glaciar: hielo + nieve estacional derretida en el glaciar

  • precipitación líquida dentro y fuera del glaciar (esta última siendo cero en el año de mayor extensión glacial, en este ejemplo al comienzo de la simulación)

f, ax = plt.subplots(figsize=(10, 6));
df_runoff.plot.area(ax=ax, color=sns.color_palette("rocket")); plt.xlabel('Years'); plt.ylabel('Runoff (Mt)'); plt.title(rgi_id);
../_images/glacier_water_resources_projections_es_38_0.png

Antes de continuar, recordemos la contribución esperada de los glaciares a la escorrentía. Figura 1 de https://www.nature. com/articulos/s41558-017-0049-x Gráfico de Huss & Hock (2018) Preguntas para explorar:

  • ¿Dónde aproximadamente en este gráfico se encuentra el glaciar estudiado?

  • ¿Puedes explicar la contribución relativa de cada componente, con base en el cuaderno anterior?

La escorrentía total de la cuenca de un glaciar es la suma de las cuatro contribuciones anteriores. Para mostrar que la contribución total del glaciar es de hecho cero (\(\Delta M = 0\)) cuando está en equilibrio, podemos calcularlo a partir del cambio de masa del glaciar:

glacier_mass = ds.volume_m3.to_series() * oggm.cfg.PARAMS['ice_density'] * 1e-9  # In Megatonnes, Mt

glacier_mass.diff().plot()
plt.axhline(y=0, color='k', ls=':')
plt.ylabel('Annual glacier mass change (Mt yr$^{-1}$)')
plt.xlabel('Years'); plt.title('Glacier contribution to annual runoff');
../_images/glacier_water_resources_projections_es_41_0.png

¡Tenga en cuenta que esto no significa que el hielo no se esté derritiendo! En equilibrio, esto significa que el hielo que se derrite cada año sobre el glaciar es reemplazado por nieve en el área de acumulación del glaciar. Esto ilustra bien que los glaciares en equilibrio no son recursos hídricos netos en promedio anual: en el transcurso del año ganan tanta masa como liberan.

escorrentía mensual

Las variables “2D” contienen los mismos datos pero a resolución mensual, con la dimensión (tiempo, mes). Por ejemplo, la escorrentía se puede calcular mismo camino:

# Select only the runoff variables and convert them to megatonnes (instead of kg)
monthly_runoff = (ds['melt_off_glacier_monthly'] + ds['melt_on_glacier_monthly'] +
                  ds['liq_prcp_off_glacier_monthly'] + ds['liq_prcp_on_glacier_monthly'])
monthly_runoff *= 1e-9
monthly_runoff.clip(0).plot(cmap='Blues', cbar_kwargs={'label': 'Mt'}); plt.xlabel('Months'); plt.ylabel('Years');
../_images/glacier_water_resources_projections_es_45_0.png

Pero tenga en cuenta que algo está un poco mal con esto: las coordenadas son meses hidrológicos; mejoremos esto:

# This should work in both hemispheres maybe?
ds_roll = ds.roll(month_2d=ds['calendar_month_2d'].data[0] - 1, roll_coords=True)
ds_roll['month_2d'] = ds_roll['calendar_month_2d']

# Select only the runoff variables and convert them to megatonnes (instead of kg)
monthly_runoff = (ds_roll['melt_off_glacier_monthly'] + ds_roll['melt_on_glacier_monthly'] +
                  ds_roll['liq_prcp_off_glacier_monthly'] + ds_roll['liq_prcp_on_glacier_monthly'])
monthly_runoff *= 1e-9
monthly_runoff.clip(0).plot(cmap='Blues', cbar_kwargs={'label': 'Mt'}); plt.xlabel('Months'); plt.ylabel('Years');
../_images/glacier_water_resources_projections_es_47_0.png

Como podemos ver, la escorrentía es aproximadamente cero durante los meses de invierno, mientras que es relativamente alta durante los meses de verano. Esto implica que el glaciar es una fuente de agua en el verano cuando libera el agua acumulada en el invierno. El ciclo anual cambia a medida que el glaciar retrocede:

monthly_runoff.sel(time=[0, 30, 99]).plot(hue='time');
plt.title('Annual cycle');
plt.xlabel('Month');
plt.ylabel('Runoff (Mt)');
../_images/glacier_water_resources_projections_es_49_0.png

No solo disminuye la escorrentía total durante los meses de verano a medida que avanza la simulación, sino que el mes de máxima escorrentía también se cambia a principios del verano.

Ejecuciones de proyección CMIP5

Ahora ha aprendido a simular y analizar un glaciar específico bajo un clima constante. Ahora daremos un paso más y simularemos dos glaciares diferentes, ubicados en diferentes regiones climáticas, forzados con las proyecciones climáticas de CMIP5. Comenzamos inicializando los directorios de los glaciares:

# We keep Hintereisferner from earlier, but also add a new glacier
rgi_ids = [rgi_id, 'RGI60-15.02420']
gdirs = workflow.init_glacier_directories(rgi_ids, from_prepro_level=5, prepro_border=80, prepro_base_url=base_url)
2022-05-31 14:24:41: oggm.workflow: init_glacier_directories from prepro level 5 on 2 glaciers.
2022-05-31 14:24:41: oggm.workflow: Execute entity tasks [gdir_from_prepro] on 2 glaciers

gdirs ahora contiene dos glaciares, uno en Europa Central y otro en los Himalayas Orientales:

gdirs
[<oggm.GlacierDirectory>
   RGI id: RGI60-11.00897
   Region: 11: Central Europe
   Subregion: 11-01: Alps                            
   Name: Hintereisferner
   Glacier type: Glacier
   Terminus type: Land-terminating
   Status: Glacier or ice cap
   Area: 8.036 km2
   Lon, Lat: (10.7584, 46.8003)
   Grid (nx, ny): (279, 234)
   Grid (dx, dy): (50.0, -50.0),
 <oggm.GlacierDirectory>
   RGI id: RGI60-15.02420
   Region: 15: South Asia East
   Subregion: 15-02: E Himalaya                      
   Glacier type: Glacier
   Terminus type: Land-terminating
   Status: Glacier or ice cap
   Area: 4.401 km2
   Lon, Lat: (90.276115723, 27.926776205)
   Grid (nx, ny): (232, 233)
   Grid (dx, dy): (39.0, -39.0)]

Podemos echar un vistazo rápido al nuevo glaciar:

sh = salem.transform_geopandas(gdirs[1].read_shapefile('outlines'))
(gv.Polygons(sh).opts(fill_color=None, color_index=None) *
 gts.tile_sources['EsriImagery'] * gts.tile_sources['StamenLabels']).opts(width=800, height=500, active_tools=['pan', 'wheel_zoom'])

Reducción climática

Antes de ejecutar nuestra simulación, tenemos que procesar los datos climáticos del glaciar i.i.e. reducir la escala: (Esto puede llevar algún tiempo)

from oggm.shop import gcm_climate
bp = 'https://cluster.klima.uni-bremen.de/~oggm/cmip5-ng/pr/pr_mon_CCSM4_{}_r1i1p1_g025.nc'
bt = 'https://cluster.klima.uni-bremen.de/~oggm/cmip5-ng/tas/tas_mon_CCSM4_{}_r1i1p1_g025.nc'
for rcp in ['rcp26', 'rcp45', 'rcp60', 'rcp85']:
    # Download the files
    ft = utils.file_downloader(bt.format(rcp))
    fp = utils.file_downloader(bp.format(rcp))
    workflow.execute_entity_task(gcm_climate.process_cmip_data, gdirs,
                                 # Name file to recognize it later
                                 filesuffix='_CCSM4_{}'.format(rcp),
                                 # temperature projections
                                 fpath_temp=ft,
                                 # precip projections
                                 fpath_precip=fp,
                                 );
2022-05-31 14:24:55: oggm.workflow: Execute entity tasks [process_cmip_data] on 2 glaciers
2022-05-31 14:25:07: oggm.workflow: Execute entity tasks [process_cmip_data] on 2 glaciers
2022-05-31 14:25:19: oggm.workflow: Execute entity tasks [process_cmip_data] on 2 glaciers
2022-05-31 14:25:31: oggm.workflow: Execute entity tasks [process_cmip_data] on 2 glaciers

Ejecución de proyección

Con la reducción de escala completa, podemos ejecutar las simulaciones forzadas:

for rcp in ['rcp26', 'rcp45', 'rcp60', 'rcp85']:
    rid = '_CCSM4_{}'.format(rcp)
    workflow.execute_entity_task(tasks.run_with_hydro, gdirs,
                                 run_task=tasks.run_from_climate_data, ys=2020,
                                 # use gcm_data, not climate_historical
                                 climate_filename='gcm_data',
                                 # use the chosen scenario
                                 climate_input_filesuffix=rid,
                                 # this is important! Start from 2020 glacier
                                 init_model_filesuffix='_historical',
                                 # recognize the run for later
                                 output_filesuffix=rid,
                                 # add monthly diagnostics
                                 store_monthly_hydro=True);
2022-05-31 14:25:33: oggm.workflow: Execute entity tasks [run_with_hydro] on 2 glaciers
2022-05-31 14:25:34: oggm.workflow: Execute entity tasks [run_with_hydro] on 2 glaciers
2022-05-31 14:25:35: oggm.workflow: Execute entity tasks [run_with_hydro] on 2 glaciers
2022-05-31 14:25:36: oggm.workflow: Execute entity tasks [run_with_hydro] on 2 glaciers
# Create the figure
f, ax = plt.subplots(figsize=(18, 7), sharex=True)
# Loop over all scenarios
for i, rcp in enumerate(['rcp26', 'rcp45', 'rcp60', 'rcp85']):
    file_id = f'_CCSM4_{rcp}'
    # Open the data, gdirs[0] correspond to Hintereisferner.
    with xr.open_dataset(gdirs[0].get_filepath('model_diagnostics', filesuffix=file_id)) as ds:
        # Load the data into a dataframe
        ds = ds.isel(time=slice(0, -1)).load()

    # Select annual variables
    sel_vars = [v for v in ds.variables if 'month_2d' not in ds[v].dims]
    # And create a dataframe
    df_annual = ds[sel_vars].to_dataframe()

    # Select the variables relevant for runoff.
    runoff_vars = ['melt_off_glacier', 'melt_on_glacier', 'liq_prcp_off_glacier', 'liq_prcp_on_glacier']
    # Convert to mega tonnes instead of kg.
    df_runoff = df_annual[runoff_vars].clip(0) * 1e-9
    # Sum the variables each year "axis=1", take the 11 year rolling mean
    # and plot it.
    df_runoff.sum(axis=1).rolling(window=11).mean().plot(ax=ax, label=rcp, color=sns.color_palette("rocket")[i])

ax.set_ylabel('Annual runoff (Mt)'); ax.set_xlabel('Year'); plt.title(gdirs[1].rgi_id); plt.legend();
../_images/glacier_water_resources_projections_es_62_0.png

Para Hintereisferner, la escorrentía continúa disminuyendo a lo largo del siglo XXI para todos los escenarios, lo que indica que el pico de agua ya se alcanzó en algún momento del pasado. Este es el caso de muchos glaciares europeos. ¿Qué pasa con nuestro glaciar sin nombre en el Himalaya?

# Create the figure
f, ax = plt.subplots(figsize=(18, 7), sharex=True)
# Loop over all scenarios
for i, rcp in enumerate(['rcp26', 'rcp45', 'rcp60', 'rcp85']):
    file_id = f'_CCSM4_{rcp}'
    # Open the data, gdirs[1] correspond to the unnamed glacier.
    with xr.open_dataset(gdirs[1].get_filepath('model_diagnostics', filesuffix=file_id)) as ds:
        # Load the data into a dataframe
        ds = ds.isel(time=slice(0, -1)).load()

    # Select annual variables
    sel_vars = [v for v in ds.variables if 'month_2d' not in ds[v].dims]
    # And create a dataframe
    df_annual = ds[sel_vars].to_dataframe()

    # Select the variables relevant for runoff.
    runoff_vars = ['melt_off_glacier', 'melt_on_glacier',
                   'liq_prcp_off_glacier', 'liq_prcp_on_glacier']
    # Convert to mega tonnes instead of kg.
    df_runoff = df_annual[runoff_vars].clip(0) * 1e-9
    # Sum the variables each year "axis=1", take the 11 year rolling mean
    # and plot it.
    df_runoff.sum(axis=1).rolling(window=11).mean().plot(ax=ax, label=rcp, color=sns.color_palette("rocket")[i])

ax.set_ylabel('Annual runoff (Mt)'); ax.set_xlabel('Year'); plt.title(rgi_id); plt.legend();
../_images/glacier_water_resources_projections_es_64_0.png

A diferencia de Hintereisferner, estas proyecciones indican que la escorrentía anual aumentará en todos los escenarios para la primera mitad del siglo. Los escenarios de RCP más altos pueden alcanzar el pico de agua más adelante en el siglo, ya que el exceso de derretimiento puede seguir aumentando. Por otro lado, para los escenarios de RCP más bajos, el glaciar podría estar acercándose a un nuevo equilibrio, lo que reduce la escorrentía a principios de siglo (Rounce et. al., 2020). Después de alcanzar el pico de agua (RCP2.6: ~2055, RCP8.5: ~2070 en estas proyecciones), la escorrentía anual comienza a disminuir. Esta disminución se debe a que el glaciar que se encoge ya no puede soportar los altos niveles de derretimiento.

¿Otra ejecución de proyección con sesgo de temperatura o precipitación?

TAREAS: incluya algo sobre cómo el sesgo de temperatura afecta el tamaño del glaciar y la producción de agua de deshielo.

Llévate puntos a casa

  • Los glaciares en equilibrio no son recursos hídricos netos: ganan tanta masa como liberan durante un año.

  • Sin embargo, tienen una función amortiguadora estacional: liberan agua durante los meses de deshielo.

  • El tamaño de un glaciar influye en la disponibilidad de agua aguas abajo durante la estación seca. El impacto es más importante si la temporada de derretimiento (cálida) coincide con la estación seca (ver Kaser et al., 2010).

  • Cuando los glaciares se derriten, se convierten en recursos hídricos netos a lo largo del año. El “pico de agua” es el momento en el que el suministro de deshielo de los glaciares alcanza su máximo, es decir, cuando se produce la máxima escorrentía.

Referencias

  • Kaser, G., Großhauser, M. y Marzeion, B.: Potencial de contribución de los glaciares a la disponibilidad de agua en diferentes regímenes climáticos, PNAS, 07 (47) 20223-20227, doi:10.1073/pnas.1008162107, 2010

  • Huss, M. y Hock, R.: Respuesta hidrológica a escala mundial a la futura pérdida de masa de los glaciares, Nat. Clima Chang., 8(2), 135–140, doi:10.1038/s41558-017-0049-x, 2018.

  • Marzeion, B., Kaser, G., Maussion, F. y Champollion, N.: Influencia limitada de la mitigación del cambio climático en la pérdida de masa glaciar a corto plazo, Nat. Clima Chang., 8, doi:10.1038/s41558-018-0093-1, 2018.

  • Rounce, D. R., Hock, R., McNabb, R. W., Millan, R., Sommer, C., Braun, M. H., Malz, P., Maussion, F., Mouginot, J., Seehaus, T. C. y Shean, D. E. : Las estimaciones del espesor de los escombros globales distribuidos revelan que los escombros tienen un impacto significativo en el balance de masa de los glaciares, Geophys. Res. Lett., doi:10.1029/2020GL091311, 2021.

¿Que sigue?

xx_markdown_enlace_xx