{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Chapter 3: Journey to the Frozen Sea" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In this chapter, we'll delve into sea ice and the clear evidence it presents of our shifting climate. We'll employ satellite data to explore various attributes of sea ice in both the Arctic and Antarctic." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
Run the tutorial via free cloud platforms: | \n", "\n",
" | \n",
" \n",
" | \n",
" \n",
" | \n",
"
---|
<xarray.Dataset>\n", "Dimensions: (time: 1, nv: 2, xc: 432, yc: 432)\n", "Coordinates:\n", " * time (time) datetime64[ns] 2022-09-30T12:00:00\n", " * xc (xc) float64 -5.388e+03 -5.362e+03 ... 5.388e+03\n", " * yc (yc) float64 5.388e+03 5.362e+03 ... -5.388e+03\n", " lat (yc, xc) float32 ...\n", " lon (yc, xc) float32 ...\n", "Dimensions without coordinates: nv\n", "Data variables:\n", " Lambert_Azimuthal_Grid int32 ...\n", " time_bnds (time, nv) datetime64[ns] ...\n", " ice_conc (time, yc, xc) float64 ...\n", " raw_ice_conc_values (time, yc, xc) float64 ...\n", " total_standard_error (time, yc, xc) float64 ...\n", " smearing_standard_error (time, yc, xc) float64 ...\n", " algorithm_standard_error (time, yc, xc) float64 ...\n", " status_flag (time, yc, xc) float32 ...\n", "Attributes: (12/41)\n", " title: Interim Sea Ice Concentration Climate Data Rec...\n", " summary: This Interim Climate Data Record implements an...\n", " topiccategory: Oceans ClimatologyMeteorologyAtmosphere\n", " keywords: Earth Science > Cryosphere > Sea Ice > Sea Ice...\n", " keywords_vocabulary: GCMD Science Keywords\n", " geospatial_lat_min: 16.62393\n", " ... ...\n", " tracking_id: 40d1b998-ea2b-4d1e-b761-0b501e06448c\n", " Conventions: CF-1.7 ACDD-1.3\n", " standard_name_vocabulary: CF Standard Name Table (v65, 09 April 2019)\n", " product_id: osi-430-b\n", " product_name: osi_saf_sea_ice_conc_climate_data_record_interim\n", " product_status: demonstration
<xarray.Dataset>\n", "Dimensions: (time: 3735, xc: 432, yc: 432)\n", "Coordinates:\n", " * time (time) datetime64[ns] 1979-01-02T12:00:00 ... 2022-09-30T12:00:00\n", " * xc (xc) float64 -5.388e+03 -5.362e+03 ... 5.362e+03 5.388e+03\n", " * yc (yc) float64 5.388e+03 5.362e+03 ... -5.362e+03 -5.388e+03\n", "Data variables:\n", " ice_conc (time, yc, xc) float64 dask.array<chunksize=(1, 432, 432), meta=np.ndarray>
<xarray.DataArray 'ice_conc' (time: 1320, yc: 432, xc: 432)>\n", "dask.array<transpose, shape=(1320, 432, 432), dtype=float64, chunksize=(1320, 50, 50), chunktype=numpy.ndarray>\n", "Coordinates:\n", " * time (time) datetime64[ns] 1979-09-01T12:00:00 ... 2022-09-30T12:00:00\n", " * xc (xc) float64 -5.388e+03 -5.362e+03 ... 5.362e+03 5.388e+03\n", " * yc (yc) float64 5.388e+03 5.362e+03 ... -5.362e+03 -5.388e+03\n", "Attributes:\n", " long_name: fully filtered concentration of sea ice using atmos...\n", " standard_name: sea_ice_area_fraction\n", " units: %\n", " valid_min: 0\n", " valid_max: 10000\n", " grid_mapping: Lambert_Azimuthal_Grid\n", " ancillary_variables: total_standard_error status_flag\n", " comment: this field is the primary sea ice concentration est...
<xarray.DataArray 'ice_conc' (time: 1320)>\n", "dask.array<sum-aggregate, shape=(1320,), dtype=int64, chunksize=(50,), chunktype=numpy.ndarray>\n", "Coordinates:\n", " * time (time) datetime64[ns] 1979-09-01T12:00:00 ... 2022-09-30T12:00:00
<xarray.Dataset>\n", "Dimensions: (time: 16399, nv: 2)\n", "Coordinates:\n", " * time (time) datetime64[ns] 1978-10-25 1978-10-26 ... 2023-09-17\n", " sic_threshold float32 ...\n", " lat float32 ...\n", " lon float32 ...\n", "Dimensions without coordinates: nv\n", "Data variables:\n", " lat_bounds (nv) float32 ...\n", " lon_bounds (nv) float32 ...\n", " area |S64 ...\n", " sie (time) float64 ...\n", " source (time) float64 ...\n", "Attributes: (12/35)\n", " title: Daily Northern Hemisphere Sea Ice Extent from EU...\n", " product_id: OSI-420\n", " product_name: OSI SAF Sea Ice Index\n", " product_status: demonstration\n", " version: v2p2\n", " summary: Time series of Daily Sea Ice Extent (SIE) for No...\n", " ... ...\n", " distribution_statement: Free\n", " copyright_statement: Copyright 2023 EUMETSAT\n", " references: Product User Manual for OSI-420, Lavergne et al....\n", " featureType: timeSeries\n", " DODS.strlen: 2\n", " DODS.dimName: nchar
<xarray.Dataset>\n", "Dimensions: (time: 16399)\n", "Coordinates:\n", " * time (time) datetime64[ns] 1978-10-25 1978-10-26 ... 2023-09-17\n", "Data variables:\n", " Arctic (time) float64 ...\n", " Antarctic (time) float64 ...
<xarray.Dataset>\n", "Dimensions: (year: 46, dayofyear: 366)\n", "Coordinates:\n", " * year (year) int64 1978 1979 1980 1981 1982 ... 2020 2021 2022 2023\n", " * dayofyear (dayofyear) int64 1 2 3 4 5 6 7 8 ... 360 361 362 363 364 365 366\n", "Data variables:\n", " Arctic (year, dayofyear) float64 nan nan nan nan nan ... nan nan nan nan\n", " Antarctic (year, dayofyear) float64 nan nan nan nan nan ... nan nan nan nan
<xarray.Dataset>\n", "Dimensions: (yc: 432, xc: 432, degree: 2)\n", "Coordinates:\n", " * yc (yc) float64 5.388e+06 ... -5.388e+06\n", " * xc (xc) float64 -5.388e+06 ... 5.388e+06\n", " * degree (degree) int64 1 0\n", "Data variables:\n", " ice_conc_polyfit_coefficients (degree, yc, xc) float64 0.0 0.0 ... nan nan
<xarray.Dataset>\n", "Dimensions: (time: 1, nv: 2, xc: 864, yc: 864)\n", "Coordinates:\n", " * time (time) datetime64[ns] 1979-02-01T12:00:00\n", " * xc (xc) float64 -5.394e+03 -5.381e+03 ... 5.394e+03\n", " * yc (yc) float64 5.394e+03 5.381e+03 ... -5.394e+03\n", " lat (yc, xc) float32 ...\n", " lon (yc, xc) float32 ...\n", "Dimensions without coordinates: nv\n", "Data variables:\n", " Lambert_Azimuthal_Grid int32 ...\n", " time_bnds (time, nv) datetime64[ns] ...\n", " ice_edge (time, yc, xc) float32 ...\n", " uncertainty (time, yc, xc) float32 ...\n", " status_flag (time, yc, xc) float32 ...\n", "Attributes: (12/43)\n", " title: Sea Ice Edge\n", " summary: Daily gridded Level-4 Sea Ice Edge Climate Dat...\n", " topiccategory: Oceans ClimatologyMeteorologyAtmosphere\n", " keywords: GCMDSK:Earth Science > Cryosphere > Sea Ice > ...\n", " keywords_vocabulary: GCMDSK:GCMD Science Keywords:https://gcmd.eart...\n", " geospatial_lat_min: 16.62393\n", " ... ...\n", " processing_level: Level-4 (l4)\n", " tracking_id: 7905b5d9-d8f8-4260-9edb-86bb27b88d8b\n", " doi: https://doi.org/10.24381/cds.29c46d83\n", " naming_authority: no.met\n", " Conventions: CF-1.7 ACDD-1.3\n", " standard_name_vocabulary: CF Standard Name Table (v36, 21 September 2016)
<xarray.Dataset>\n", "Dimensions: (time: 3524, xc: 864, yc: 864)\n", "Coordinates:\n", " * time (time) datetime64[ns] 1979-02-01T12:00:00 ... 2022-09-30T12:00:00\n", " * xc (xc) float64 -5.394e+03 -5.381e+03 ... 5.381e+03 5.394e+03\n", " * yc (yc) float64 5.394e+03 5.381e+03 ... -5.381e+03 -5.394e+03\n", "Data variables:\n", " ice_edge (time, yc, xc) float32 dask.array<chunksize=(1, 864, 864), meta=np.ndarray>
<xarray.DataArray 'ice_edge' (time: 3524, yc: 864, xc: 864)>\n", "dask.array<rechunk-merge, shape=(3524, 864, 864), dtype=float32, chunksize=(3524, 50, 50), chunktype=numpy.ndarray>\n", "Coordinates:\n", " * time (time) datetime64[ns] 1979-02-01T12:00:00 ... 2022-09-30T12:00:00\n", " * xc (xc) float64 -5.394e+03 -5.381e+03 ... 5.381e+03 5.394e+03\n", " * yc (yc) float64 5.394e+03 5.381e+03 ... -5.381e+03 -5.394e+03\n", "Attributes:\n", " long_name: Classification of sea surface into the classes of o...\n", " standard_name: sea_ice_classification\n", " valid_min: 1\n", " valid_max: 3\n", " grid_mapping: Lambert_Azimuthal_Grid\n", " flag_values: [1 2 3]\n", " flag_meanings: open_water open_ice closed_ice\n", " flag_descriptions: flag 1: No ice or very open ice (less than 30% ice ...\n", " ancillary_variables: uncertainty status_flag\n", " comment: this field is the primary sea ice edge estimate for...
<xarray.Dataset>\n", "Dimensions: (time: 1, nv: 2, xc: 432, yc: 432)\n", "Coordinates:\n", " * time (time) datetime64[ns] 1979-02-01T12:00:00\n", " * xc (xc) float64 -5.388e+03 -5.362e+03 ... 5.388e+03\n", " * yc (yc) float64 5.388e+03 5.362e+03 ... -5.388e+03\n", " lat (yc, xc) float32 ...\n", " lon (yc, xc) float32 ...\n", "Dimensions without coordinates: nv\n", "Data variables:\n", " Lambert_Azimuthal_Grid int32 ...\n", " time_bnds (time, nv) datetime64[ns] ...\n", " ice_type (time, yc, xc) float32 ...\n", " uncertainty (time, yc, xc) float32 ...\n", " status_flag (time, yc, xc) float32 ...\n", "Attributes: (12/44)\n", " title: Sea Ice Type\n", " summary: Daily gridded Level-4 Sea Ice Type Climate Dat...\n", " comment: Northern Hemisphere sea ice type classificatio...\n", " topiccategory: Oceans ClimatologyMeteorologyAtmosphere\n", " keywords: GCMDSK:Earth Science > Cryosphere > Sea Ice > ...\n", " keywords_vocabulary: GCMDSK:GCMD Science Keywords:https://gcmd.eart...\n", " ... ...\n", " processing_level: Level-4 (l4)\n", " tracking_id: 43552121-b502-4672-877e-4807b5f50fb5\n", " doi: https://doi.org/10.24381/cds.29c46d83\n", " naming_authority: no.met\n", " Conventions: CF-1.7 ACDD-1.3\n", " standard_name_vocabulary: CF Standard Name Table (v36, 21 September 2016)
<xarray.DataArray 'ice_type' (time: 3376, yc: 432, xc: 432)>\n", "dask.array<concatenate, shape=(3376, 432, 432), dtype=float32, chunksize=(1, 432, 432), chunktype=numpy.ndarray>\n", "Coordinates:\n", " * time (time) datetime64[ns] 1979-01-02T12:00:00 ... 2022-03-31T12:00:00\n", " * xc (xc) float64 -5.388e+03 -5.362e+03 ... 5.362e+03 5.388e+03\n", " * yc (yc) float64 5.388e+03 5.362e+03 ... -5.362e+03 -5.388e+03\n", "Attributes:\n", " long_name: Classification of sea ice into the classes of first...\n", " standard_name: sea_ice_classification\n", " valid_min: 1\n", " valid_max: 4\n", " grid_mapping: Lambert_Azimuthal_Grid\n", " flag_values: [1 2 3 4]\n", " flag_meanings: open_water first_year_ice multi_year_ice ambiguous\n", " flag_descriptions: flag 1: No ice or very open ice (less than 30% ice ...\n", " ancillary_variables: uncertainty status_flag\n", " comment: this field is the primary sea ice type estimate for...
<xarray.DataArray 'ice_type' (ice_type: 3, time: 2539, yc: 432, xc: 432)>\n", "dask.array<concatenate, shape=(3, 2539, 432, 432), dtype=bool, chunksize=(1, 1, 432, 432), chunktype=numpy.ndarray>\n", "Coordinates:\n", " * time (time) datetime64[ns] 1979-01-02T12:00:00 ... 2022-03-31T12:00:00\n", " * xc (xc) float64 -5.388e+03 -5.362e+03 ... 5.362e+03 5.388e+03\n", " * yc (yc) float64 5.388e+03 5.362e+03 ... -5.362e+03 -5.388e+03\n", " * ice_type (ice_type) <U9 'seasonal' 'multiyear' 'ambiguous'
ice_type | \n", "seasonal | \n", "multiyear | \n", "ambiguous | \n", "
---|---|---|---|
year | \n", "\n", " | \n", " | \n", " |
1979 | \n", "7.186122 | \n", "3.819843 | \n", "0.491337 | \n", "
1980 | \n", "6.942890 | \n", "3.375394 | \n", "0.843926 | \n", "
1981 | \n", "6.023046 | \n", "4.460483 | \n", "0.450165 | \n", "
1982 | \n", "7.324388 | \n", "3.460484 | \n", "0.478364 | \n", "
1983 | \n", "6.805154 | \n", "3.625870 | \n", "0.675470 | \n", "