diff --git a/_images/2621ccf0d19b26cc3f0fa8f4cd80289f52a6161aae819e11923e6cea5bacbc85.png b/_images/2621ccf0d19b26cc3f0fa8f4cd80289f52a6161aae819e11923e6cea5bacbc85.png deleted file mode 100644 index 5b177f35..00000000 Binary files a/_images/2621ccf0d19b26cc3f0fa8f4cd80289f52a6161aae819e11923e6cea5bacbc85.png and /dev/null differ diff --git a/_images/4a8ea0cabb91c9316444964a7ad063a9ff52913bf131dc7bee40e3680e326446.png b/_images/4a8ea0cabb91c9316444964a7ad063a9ff52913bf131dc7bee40e3680e326446.png new file mode 100644 index 00000000..7c50f721 Binary files /dev/null and b/_images/4a8ea0cabb91c9316444964a7ad063a9ff52913bf131dc7bee40e3680e326446.png differ diff --git a/_images/a63c661b902670440c220196af59860dfc43d6400fb9d57c5caed045314921e4.png b/_images/a63c661b902670440c220196af59860dfc43d6400fb9d57c5caed045314921e4.png deleted file mode 100644 index 782fc93d..00000000 Binary files a/_images/a63c661b902670440c220196af59860dfc43d6400fb9d57c5caed045314921e4.png and /dev/null differ diff --git a/_images/c80677a7babfcb634e997325f1feec6f43f8862157ace8775f3ce78f5b07f4a2.png b/_images/c80677a7babfcb634e997325f1feec6f43f8862157ace8775f3ce78f5b07f4a2.png deleted file mode 100644 index d4002863..00000000 Binary files a/_images/c80677a7babfcb634e997325f1feec6f43f8862157ace8775f3ce78f5b07f4a2.png and /dev/null differ diff --git a/_images/cb37ccf6e5c2b0d2549145b94502e3a43c355cd7a06e086da98bad1da72a04ae.png b/_images/cb37ccf6e5c2b0d2549145b94502e3a43c355cd7a06e086da98bad1da72a04ae.png deleted file mode 100644 index ebdce013..00000000 Binary files a/_images/cb37ccf6e5c2b0d2549145b94502e3a43c355cd7a06e086da98bad1da72a04ae.png and /dev/null differ diff --git a/advanced/accessors/01_accessor_examples.html b/advanced/accessors/01_accessor_examples.html index f9c2e56b..1dbf93c5 100644 --- a/advanced/accessors/01_accessor_examples.html +++ b/advanced/accessors/01_accessor_examples.html @@ -964,17 +964,17 @@

Example 1: accessing scipy functionality.stats clearly differentiates our new “accessor method” from core xarray methods.

@@ -1570,19 +1570,19 @@

Example 2: creating your own workflows
    • lon
      ()
      float32
      200.0
      array(200., dtype=float32)
    • time
      ()
      datetime64[ns]
      2013-01-01
      array('2013-01-01T00:00:00.000000000', dtype='datetime64[ns]')
    • @@ -1966,7 +1966,7 @@

      Vectorization with
      @@ -1385,7 +1385,7 @@

      Introduction @@ -1857,7 +1857,7 @@

      Introduction @@ -2261,27 +2261,27 @@

      Returning multiple variables"lat" is removed (or reduced over).

      @@ -2666,18 +2666,18 @@

      Returning multiple variables diff --git a/advanced/apply_ufunc/core-dimensions.html b/advanced/apply_ufunc/core-dimensions.html index 3cf4c92f..f5193c34 100644 --- a/advanced/apply_ufunc/core-dimensions.html +++ b/advanced/apply_ufunc/core-dimensions.html @@ -962,17 +962,17 @@

      Setup# title: 4x daily NMC reanalysis (1948) description: Data is from NMC initialized reanalysis\n(4x/day). These a... platform: Model - references: http://www.esrl.noaa.gov/psd/data/gridded/data.ncep.reanaly...

      @@ -1423,27 +1423,27 @@

      Reducing with n 260.4 260.2 259.9 259.5 259.0 258.6 ... 298.0 297.9 297.8 297.3 297.3 297.3 Coordinates: * lat (lat) float32 75.0 72.5 70.0 67.5 65.0 ... 25.0 22.5 20.0 17.5 15.0 - * lon (lon) float32 200.0 202.5 205.0 207.5 ... 322.5 325.0 327.5 330.0 + dtype='float32', name='lon'))
    • @@ -1992,27 +1992,27 @@

      Reducing with n * lat (lat) float32 75.0 72.5 70.0 67.5 65.0 ... 25.0 22.5 20.0 17.5 15.0 * lon (lon) float32 200.0 202.5 205.0 207.5 ... 322.5 325.0 327.5 330.0 Data variables: - air (lat, lon) float32 260.4 260.2 259.9 259.5 ... 297.3 297.3 297.3 + dtype='float32', name='lon'))

    • diff --git a/advanced/apply_ufunc/dask_apply_ufunc.html b/advanced/apply_ufunc/dask_apply_ufunc.html index c997cae2..c2ac79c4 100644 --- a/advanced/apply_ufunc/dask_apply_ufunc.html +++ b/advanced/apply_ufunc/dask_apply_ufunc.html @@ -609,7 +609,7 @@

      Setup#

      Client

      -

      Client-742238c3-cde4-11ee-8d99-6045bdb39b6d

      +

      Client-dc406596-f06c-11ee-8dec-000d3a5a4dbe

      @@ -644,7 +644,7 @@

      Client

      LocalCluster

      -

      40a3cc6c

      +

      9878cca8

      @@ -681,11 +681,11 @@

      Scheduler Info

      Scheduler

      -

      Scheduler-c6ee7b92-3b96-496e-b498-1d4be8c5f3c7

      +

      Scheduler-511f20ac-4538-47dd-84e9-2082ade1206a

      - Comm: tcp://127.0.0.1:45657 + Comm: tcp://127.0.0.1:45635 Workers: 4 @@ -727,7 +727,7 @@

      Worker: 0

      @@ -772,7 +772,7 @@

      Worker: 1

      - Comm: tcp://127.0.0.1:42009 + Comm: tcp://127.0.0.1:38227 Total threads: 1 @@ -735,7 +735,7 @@

      Worker: 0

      - Dashboard: http://127.0.0.1:42887/status + Dashboard: http://127.0.0.1:46575/status Memory: 3.90 GiB @@ -743,13 +743,13 @@

      Worker: 0

      - Nanny: tcp://127.0.0.1:37741 + Nanny: tcp://127.0.0.1:42125
      - Local directory: /tmp/dask-scratch-space/worker-og6fjuo7 + Local directory: /tmp/dask-scratch-space/worker-ive339zm
      @@ -817,7 +817,7 @@

      Worker: 2

      - Comm: tcp://127.0.0.1:38845 + Comm: tcp://127.0.0.1:44347 Total threads: 1 @@ -780,7 +780,7 @@

      Worker: 1

      - Dashboard: http://127.0.0.1:33093/status + Dashboard: http://127.0.0.1:33397/status Memory: 3.90 GiB @@ -788,13 +788,13 @@

      Worker: 1

      - Nanny: tcp://127.0.0.1:46711 + Nanny: tcp://127.0.0.1:38437
      - Local directory: /tmp/dask-scratch-space/worker-fun48k6v + Local directory: /tmp/dask-scratch-space/worker-llls6uv4
      @@ -862,7 +862,7 @@

      Worker: 3

      - Comm: tcp://127.0.0.1:34689 + Comm: tcp://127.0.0.1:39485 Total threads: 1 @@ -825,7 +825,7 @@

      Worker: 2

      - Dashboard: http://127.0.0.1:33701/status + Dashboard: http://127.0.0.1:44849/status Memory: 3.90 GiB @@ -833,13 +833,13 @@

      Worker: 2

      - Nanny: tcp://127.0.0.1:38497 + Nanny: tcp://127.0.0.1:38633
      - Local directory: /tmp/dask-scratch-space/worker-wwyimwwd + Local directory: /tmp/dask-scratch-space/worker-y0mz2jw8
      @@ -1315,17 +1315,17 @@

      Worker: 3

      title: 4x daily NMC reanalysis (1948) description: Data is from NMC initialized reanalysis\n(4x/day). These a... platform: Model - references: http://www.esrl.noaa.gov/psd/data/gridded/data.ncep.reanaly...
      - Comm: tcp://127.0.0.1:42529 + Comm: tcp://127.0.0.1:46465 Total threads: 1 @@ -870,7 +870,7 @@

      Worker: 3

      - Dashboard: http://127.0.0.1:36163/status + Dashboard: http://127.0.0.1:39417/status Memory: 3.90 GiB @@ -878,13 +878,13 @@

      Worker: 3

      - Nanny: tcp://127.0.0.1:44171 + Nanny: tcp://127.0.0.1:34177
      - Local directory: /tmp/dask-scratch-space/worker-14kbs3pb + Local directory: /tmp/dask-scratch-space/worker-28u4lecz
      + dtype='datetime64[ns]')
      • air
        (time, lat, lon)
        float32
        dask.array<chunksize=(100, 25, 53), meta=np.ndarray>
        long_name :
        4xDaily Air temperature at sigma level 995
        units :
        degK
        precision :
        2
        GRIB_id :
        11
        GRIB_name :
        TMP
        var_desc :
        Air temperature
        dataset :
        NMC Reanalysis
        level_desc :
        Surface
        statistic :
        Individual Obs
        parent_stat :
        Other
        actual_range :
        [185.16 322.1 ]
    • @@ -1439,16 +1439,16 @@

      Worker: 3

      -
      • lat
        PandasIndex
        PandasIndex(Index([75.0, 72.5, 70.0, 67.5, 65.0, 62.5, 60.0, 57.5, 55.0, 52.5, 50.0, 47.5,
        +
      • lat
        PandasIndex
        PandasIndex(Index([75.0, 72.5, 70.0, 67.5, 65.0, 62.5, 60.0, 57.5, 55.0, 52.5, 50.0, 47.5,
                45.0, 42.5, 40.0, 37.5, 35.0, 32.5, 30.0, 27.5, 25.0, 22.5, 20.0, 17.5,
                15.0],
        -      dtype='float32', name='lat'))
      • lon
        PandasIndex
        PandasIndex(Index([200.0, 202.5, 205.0, 207.5, 210.0, 212.5, 215.0, 217.5, 220.0, 222.5,
        +      dtype='float32', name='lat'))
      • lon
        PandasIndex
        PandasIndex(Index([200.0, 202.5, 205.0, 207.5, 210.0, 212.5, 215.0, 217.5, 220.0, 222.5,
                225.0, 227.5, 230.0, 232.5, 235.0, 237.5, 240.0, 242.5, 245.0, 247.5,
                250.0, 252.5, 255.0, 257.5, 260.0, 262.5, 265.0, 267.5, 270.0, 272.5,
                275.0, 277.5, 280.0, 282.5, 285.0, 287.5, 290.0, 292.5, 295.0, 297.5,
                300.0, 302.5, 305.0, 307.5, 310.0, 312.5, 315.0, 317.5, 320.0, 322.5,
                325.0, 327.5, 330.0],
        -      dtype='float32', name='lon'))
      • time
        PandasIndex
        PandasIndex(DatetimeIndex(['2013-01-01 00:00:00', '2013-01-01 06:00:00',
        +      dtype='float32', name='lon'))
      • time
        PandasIndex
        PandasIndex(DatetimeIndex(['2013-01-01 00:00:00', '2013-01-01 06:00:00',
                        '2013-01-01 12:00:00', '2013-01-01 18:00:00',
                        '2013-01-02 00:00:00', '2013-01-02 06:00:00',
                        '2013-01-02 12:00:00', '2013-01-02 18:00:00',
        @@ -1459,7 +1459,7 @@ 

        Worker: 3

        '2014-12-30 12:00:00', '2014-12-30 18:00:00', '2014-12-31 00:00:00', '2014-12-31 06:00:00', '2014-12-31 12:00:00', '2014-12-31 18:00:00'], - dtype='datetime64[ns]', name='time', length=2920, freq=None))
    • Conventions :
      COARDS
      title :
      4x daily NMC reanalysis (1948)
      description :
      Data is from NMC initialized reanalysis + dtype='datetime64[ns]', name='time', length=2920, freq=None))
    • Conventions :
      COARDS
      title :
      4x daily NMC reanalysis (1948)
      description :
      Data is from NMC initialized reanalysis (4x/day). These are the 0.9950 sigma level values.
      platform :
      Model
      references :
      http://www.esrl.noaa.gov/psd/data/gridded/data.ncep.reanalysis.html
    • @@ -2019,7 +2019,7 @@

      A simple example @@ -2133,26 +2133,26 @@

      A simple example

      Understanding what’s happening#

      @@ -2554,7 +2554,7 @@

      Understanding what’s happening @@ -2668,26 +2668,26 @@

      Understanding what’s happening
      -
      /tmp/ipykernel_3481/2065701532.py:4: DeprecationWarning: 'scipy.integrate.trapz' is deprecated in favour of 'scipy.integrate.trapezoid' and will be removed in SciPy 1.14.0
      +
      /tmp/ipykernel_3564/2065701532.py:4: DeprecationWarning: 'scipy.integrate.trapz' is deprecated in favour of 'scipy.integrate.trapezoid' and will be removed in SciPy 1.14.0
         sp.integrate.trapz(
       
      @@ -3179,12 +3179,12 @@

      Basics + dtype='datetime64[ns]', name='time', length=2920, freq=None))

    • And make sure the returned data is a dask array

      @@ -3735,20 +3735,20 @@

      Basics + dtype='datetime64[ns]', name='time', length=2920, freq=None))

    • @@ -3953,7 +3953,7 @@

      Understanding execution -
      /tmp/ipykernel_3481/2804912483.py:3: DeprecationWarning: 'scipy.integrate.trapz' is deprecated in favour of 'scipy.integrate.trapezoid' and will be removed in SciPy 1.14.0
      +
      /tmp/ipykernel_3564/2804912483.py:3: DeprecationWarning: 'scipy.integrate.trapz' is deprecated in favour of 'scipy.integrate.trapezoid' and will be removed in SciPy 1.14.0
         result = sp.integrate.trapz(array, **kwargs)
       
      @@ -4326,12 +4326,12 @@

      Understanding execution + dtype='datetime64[ns]', name='time', length=2920, freq=None))

    • Note that we received an Xarray object back (integrated) but our wrapper function was called with a numpy array of shape (1,1,1).

      -
      /tmp/ipykernel_3481/2804912483.py:3: DeprecationWarning: 'scipy.integrate.trapz' is deprecated in favour of 'scipy.integrate.trapezoid' and will be removed in SciPy 1.14.0
      -/tmp/ipykernel_3481/2804912483.py:3: DeprecationWarning: 'scipy.integrate.trapz' is deprecated in favour of 'scipy.integrate.trapezoid' and will be removed in SciPy 1.14.0
      -/tmp/ipykernel_3481/2804912483.py:3: DeprecationWarning: 'scipy.integrate.trapz' is deprecated in favour of 'scipy.integrate.trapezoid' and will be removed in SciPy 1.14.0
      -/tmp/ipykernel_3481/2804912483.py:3: DeprecationWarning: 'scipy.integrate.trapz' is deprecated in favour of 'scipy.integrate.trapezoid' and will be removed in SciPy 1.14.0
      -/tmp/ipykernel_3481/2804912483.py:3: DeprecationWarning: 'scipy.integrate.trapz' is deprecated in favour of 'scipy.integrate.trapezoid' and will be removed in SciPy 1.14.0
      -/tmp/ipykernel_3481/2804912483.py:3: DeprecationWarning: 'scipy.integrate.trapz' is deprecated in favour of 'scipy.integrate.trapezoid' and will be removed in SciPy 1.14.0
      -/tmp/ipykernel_3481/2804912483.py:3: DeprecationWarning: 'scipy.integrate.trapz' is deprecated in favour of 'scipy.integrate.trapezoid' and will be removed in SciPy 1.14.0
      -/tmp/ipykernel_3481/2804912483.py:3: DeprecationWarning: 'scipy.integrate.trapz' is deprecated in favour of 'scipy.integrate.trapezoid' and will be removed in SciPy 1.14.0
      -/tmp/ipykernel_3481/2804912483.py:3: DeprecationWarning: 'scipy.integrate.trapz' is deprecated in favour of 'scipy.integrate.trapezoid' and will be removed in SciPy 1.14.0
      -/tmp/ipykernel_3481/2804912483.py:3: DeprecationWarning: 'scipy.integrate.trapz' is deprecated in favour of 'scipy.integrate.trapezoid' and will be removed in SciPy 1.14.0
      -/tmp/ipykernel_3481/2804912483.py:3: DeprecationWarning: 'scipy.integrate.trapz' is deprecated in favour of 'scipy.integrate.trapezoid' and will be removed in SciPy 1.14.0
      -/tmp/ipykernel_3481/2804912483.py:3: DeprecationWarning: 'scipy.integrate.trapz' is deprecated in favour of 'scipy.integrate.trapezoid' and will be removed in SciPy 1.14.0
      -/tmp/ipykernel_3481/2804912483.py:3: DeprecationWarning: 'scipy.integrate.trapz' is deprecated in favour of 'scipy.integrate.trapezoid' and will be removed in SciPy 1.14.0
      -/tmp/ipykernel_3481/2804912483.py:3: DeprecationWarning: 'scipy.integrate.trapz' is deprecated in favour of 'scipy.integrate.trapezoid' and will be removed in SciPy 1.14.0
      -/tmp/ipykernel_3481/2804912483.py:3: DeprecationWarning: 'scipy.integrate.trapz' is deprecated in favour of 'scipy.integrate.trapezoid' and will be removed in SciPy 1.14.0
      -/tmp/ipykernel_3481/2804912483.py:3: DeprecationWarning: 'scipy.integrate.trapz' is deprecated in favour of 'scipy.integrate.trapezoid' and will be removed in SciPy 1.14.0
      -/tmp/ipykernel_3481/2804912483.py:3: DeprecationWarning: 'scipy.integrate.trapz' is deprecated in favour of 'scipy.integrate.trapezoid' and will be removed in SciPy 1.14.0
      -/tmp/ipykernel_3481/2804912483.py:3: DeprecationWarning: 'scipy.integrate.trapz' is deprecated in favour of 'scipy.integrate.trapezoid' and will be removed in SciPy 1.14.0
      -/tmp/ipykernel_3481/2804912483.py:3: DeprecationWarning: 'scipy.integrate.trapz' is deprecated in favour of 'scipy.integrate.trapezoid' and will be removed in SciPy 1.14.0
      -/tmp/ipykernel_3481/2804912483.py:3: DeprecationWarning: 'scipy.integrate.trapz' is deprecated in favour of 'scipy.integrate.trapezoid' and will be removed in SciPy 1.14.0
      -/tmp/ipykernel_3481/2804912483.py:3: DeprecationWarning: 'scipy.integrate.trapz' is deprecated in favour of 'scipy.integrate.trapezoid' and will be removed in SciPy 1.14.0
      -/tmp/ipykernel_3481/2804912483.py:3: DeprecationWarning: 'scipy.integrate.trapz' is deprecated in favour of 'scipy.integrate.trapezoid' and will be removed in SciPy 1.14.0
      -/tmp/ipykernel_3481/2804912483.py:3: DeprecationWarning: 'scipy.integrate.trapz' is deprecated in favour of 'scipy.integrate.trapezoid' and will be removed in SciPy 1.14.0
      -/tmp/ipykernel_3481/2804912483.py:3: DeprecationWarning: 'scipy.integrate.trapz' is deprecated in favour of 'scipy.integrate.trapezoid' and will be removed in SciPy 1.14.0
      -/tmp/ipykernel_3481/2804912483.py:3: DeprecationWarning: 'scipy.integrate.trapz' is deprecated in favour of 'scipy.integrate.trapezoid' and will be removed in SciPy 1.14.0
      -/tmp/ipykernel_3481/2804912483.py:3: DeprecationWarning: 'scipy.integrate.trapz' is deprecated in favour of 'scipy.integrate.trapezoid' and will be removed in SciPy 1.14.0
      -/tmp/ipykernel_3481/2804912483.py:3: DeprecationWarning: 'scipy.integrate.trapz' is deprecated in favour of 'scipy.integrate.trapezoid' and will be removed in SciPy 1.14.0
      -/tmp/ipykernel_3481/2804912483.py:3: DeprecationWarning: 'scipy.integrate.trapz' is deprecated in favour of 'scipy.integrate.trapezoid' and will be removed in SciPy 1.14.0
      -/tmp/ipykernel_3481/2804912483.py:3: DeprecationWarning: 'scipy.integrate.trapz' is deprecated in favour of 'scipy.integrate.trapezoid' and will be removed in SciPy 1.14.0
      -/tmp/ipykernel_3481/2804912483.py:3: DeprecationWarning: 'scipy.integrate.trapz' is deprecated in favour of 'scipy.integrate.trapezoid' and will be removed in SciPy 1.14.0
      +
      /tmp/ipykernel_3564/2804912483.py:3: DeprecationWarning: 'scipy.integrate.trapz' is deprecated in favour of 'scipy.integrate.trapezoid' and will be removed in SciPy 1.14.0
      +/tmp/ipykernel_3564/2804912483.py:3: DeprecationWarning: 'scipy.integrate.trapz' is deprecated in favour of 'scipy.integrate.trapezoid' and will be removed in SciPy 1.14.0
      +/tmp/ipykernel_3564/2804912483.py:3: DeprecationWarning: 'scipy.integrate.trapz' is deprecated in favour of 'scipy.integrate.trapezoid' and will be removed in SciPy 1.14.0
      +/tmp/ipykernel_3564/2804912483.py:3: DeprecationWarning: 'scipy.integrate.trapz' is deprecated in favour of 'scipy.integrate.trapezoid' and will be removed in SciPy 1.14.0
      +/tmp/ipykernel_3564/2804912483.py:3: DeprecationWarning: 'scipy.integrate.trapz' is deprecated in favour of 'scipy.integrate.trapezoid' and will be removed in SciPy 1.14.0
      +/tmp/ipykernel_3564/2804912483.py:3: DeprecationWarning: 'scipy.integrate.trapz' is deprecated in favour of 'scipy.integrate.trapezoid' and will be removed in SciPy 1.14.0
      +/tmp/ipykernel_3564/2804912483.py:3: DeprecationWarning: 'scipy.integrate.trapz' is deprecated in favour of 'scipy.integrate.trapezoid' and will be removed in SciPy 1.14.0
      +/tmp/ipykernel_3564/2804912483.py:3: DeprecationWarning: 'scipy.integrate.trapz' is deprecated in favour of 'scipy.integrate.trapezoid' and will be removed in SciPy 1.14.0
      +/tmp/ipykernel_3564/2804912483.py:3: DeprecationWarning: 'scipy.integrate.trapz' is deprecated in favour of 'scipy.integrate.trapezoid' and will be removed in SciPy 1.14.0
      +/tmp/ipykernel_3564/2804912483.py:3: DeprecationWarning: 'scipy.integrate.trapz' is deprecated in favour of 'scipy.integrate.trapezoid' and will be removed in SciPy 1.14.0
      +/tmp/ipykernel_3564/2804912483.py:3: DeprecationWarning: 'scipy.integrate.trapz' is deprecated in favour of 'scipy.integrate.trapezoid' and will be removed in SciPy 1.14.0
      +/tmp/ipykernel_3564/2804912483.py:3: DeprecationWarning: 'scipy.integrate.trapz' is deprecated in favour of 'scipy.integrate.trapezoid' and will be removed in SciPy 1.14.0
      +/tmp/ipykernel_3564/2804912483.py:3: DeprecationWarning: 'scipy.integrate.trapz' is deprecated in favour of 'scipy.integrate.trapezoid' and will be removed in SciPy 1.14.0
      +/tmp/ipykernel_3564/2804912483.py:3: DeprecationWarning: 'scipy.integrate.trapz' is deprecated in favour of 'scipy.integrate.trapezoid' and will be removed in SciPy 1.14.0
      +/tmp/ipykernel_3564/2804912483.py:3: DeprecationWarning: 'scipy.integrate.trapz' is deprecated in favour of 'scipy.integrate.trapezoid' and will be removed in SciPy 1.14.0
      +/tmp/ipykernel_3564/2804912483.py:3: DeprecationWarning: 'scipy.integrate.trapz' is deprecated in favour of 'scipy.integrate.trapezoid' and will be removed in SciPy 1.14.0
      +/tmp/ipykernel_3564/2804912483.py:3: DeprecationWarning: 'scipy.integrate.trapz' is deprecated in favour of 'scipy.integrate.trapezoid' and will be removed in SciPy 1.14.0
      +/tmp/ipykernel_3564/2804912483.py:3: DeprecationWarning: 'scipy.integrate.trapz' is deprecated in favour of 'scipy.integrate.trapezoid' and will be removed in SciPy 1.14.0
      +/tmp/ipykernel_3564/2804912483.py:3: DeprecationWarning: 'scipy.integrate.trapz' is deprecated in favour of 'scipy.integrate.trapezoid' and will be removed in SciPy 1.14.0
      +/tmp/ipykernel_3564/2804912483.py:3: DeprecationWarning: 'scipy.integrate.trapz' is deprecated in favour of 'scipy.integrate.trapezoid' and will be removed in SciPy 1.14.0
      +/tmp/ipykernel_3564/2804912483.py:3: DeprecationWarning: 'scipy.integrate.trapz' is deprecated in favour of 'scipy.integrate.trapezoid' and will be removed in SciPy 1.14.0
      +/tmp/ipykernel_3564/2804912483.py:3: DeprecationWarning: 'scipy.integrate.trapz' is deprecated in favour of 'scipy.integrate.trapezoid' and will be removed in SciPy 1.14.0
      +/tmp/ipykernel_3564/2804912483.py:3: DeprecationWarning: 'scipy.integrate.trapz' is deprecated in favour of 'scipy.integrate.trapezoid' and will be removed in SciPy 1.14.0
      +
      +
      +
      /tmp/ipykernel_3564/2804912483.py:3: DeprecationWarning: 'scipy.integrate.trapz' is deprecated in favour of 'scipy.integrate.trapezoid' and will be removed in SciPy 1.14.0
      +/tmp/ipykernel_3564/2804912483.py:3: DeprecationWarning: 'scipy.integrate.trapz' is deprecated in favour of 'scipy.integrate.trapezoid' and will be removed in SciPy 1.14.0
      +/tmp/ipykernel_3564/2804912483.py:3: DeprecationWarning: 'scipy.integrate.trapz' is deprecated in favour of 'scipy.integrate.trapezoid' and will be removed in SciPy 1.14.0
      +/tmp/ipykernel_3564/2804912483.py:3: DeprecationWarning: 'scipy.integrate.trapz' is deprecated in favour of 'scipy.integrate.trapezoid' and will be removed in SciPy 1.14.0
      +/tmp/ipykernel_3564/2804912483.py:3: DeprecationWarning: 'scipy.integrate.trapz' is deprecated in favour of 'scipy.integrate.trapezoid' and will be removed in SciPy 1.14.0
      +/tmp/ipykernel_3564/2804912483.py:3: DeprecationWarning: 'scipy.integrate.trapz' is deprecated in favour of 'scipy.integrate.trapezoid' and will be removed in SciPy 1.14.0
      +/tmp/ipykernel_3564/2804912483.py:3: DeprecationWarning: 'scipy.integrate.trapz' is deprecated in favour of 'scipy.integrate.trapezoid' and will be removed in SciPy 1.14.0
       
      @@ -4851,20 +4853,20 @@

      Understanding execution + dtype='datetime64[ns]', name='time', length=2920, freq=None))

    • We see that integrate_wrapper is called many times! As many times as there are blocks in the array in fact, which is 30 here (ds.air.data.numblocks).

      Our function is independently executed on each block of the array, and then the results are concatenated to form the final result.

      @@ -5326,7 +5328,7 @@

      Adding new dimensions + dtype='datetime64[ns]', name='time', length=2920, freq=None))
    • @@ -5988,7 +5990,7 @@

      Dimensions that change size @@ -6102,21 +6104,21 @@

      Dimensions that change size

      Tip

      @@ -6527,15 +6529,15 @@

      Automatic Vectorizing + dtype='datetime64[ns]', name='time', length=2920, freq=None))
    • Again, it is important to understand the conceptual flow of information between the variuus packages when executing interped.compute() which looks ilke

      xarray.apply_ufuncdask.array.apply_gufuncnumpy.vectorizenumpy.interp

      diff --git a/advanced/apply_ufunc/example-interp.html b/advanced/apply_ufunc/example-interp.html index d89729c0..c6a4a666 100644 --- a/advanced/apply_ufunc/example-interp.html +++ b/advanced/apply_ufunc/example-interp.html @@ -980,7 +980,7 @@

      Load datanp.interp which expects 1D numpy arrays. This functionality is already implemented in xarray so we use that capability to make sure we are not making mistakes.

      @@ -1402,7 +1402,7 @@

      Load datalat at a time.

      @@ -2024,7 +2024,7 @@

      Core dimensions @@ -2534,7 +2534,7 @@

      Automatic vectorization with + dtype='float64', name='lat'))

    • Notice that the printed input shapes are all 1D and correspond to one vector along the lat dimension.

      The result is now an xarray object with coordinate values copied over from data. This is why apply_ufunc is so convenient; it takes care of a lot of boilerplate necessary to apply functions that consume and produce numpy arrays to xarray objects.

      diff --git a/advanced/apply_ufunc/numba-vectorization.html b/advanced/apply_ufunc/numba-vectorization.html index a0df75f5..8e87ba45 100644 --- a/advanced/apply_ufunc/numba-vectorization.html +++ b/advanced/apply_ufunc/numba-vectorization.html @@ -941,9 +941,9 @@

      Load data @@ -1339,9 +1339,9 @@

      vectorize + [ 49., 64., 81., 100.]])
      • x
        (x)
        int64
        12 13 14
        array([12, 13, 14])
      • x
        PandasIndex
        PandasIndex(Index([12, 13, 14], dtype='int64', name='x'))
    • @@ -1771,10 +1771,10 @@

      guvectorize + [ 4, 8, 12]])
      • x
        (x)
        int64
        12 13 14
        array([12, 13, 14])
      • x
        PandasIndex
        PandasIndex(Index([12, 13, 14], dtype='int64', name='x'))
    • Notice the following:

        @@ -2163,7 +2163,7 @@

        With dask @@ -2221,7 +2221,7 @@

        With dask diff --git a/advanced/apply_ufunc/simple_numpy_apply_ufunc.html b/advanced/apply_ufunc/simple_numpy_apply_ufunc.html index c037c218..539023b2 100644 --- a/advanced/apply_ufunc/simple_numpy_apply_ufunc.html +++ b/advanced/apply_ufunc/simple_numpy_apply_ufunc.html @@ -966,17 +966,17 @@

        Setup# title: 4x daily NMC reanalysis (1948) description: Data is from NMC initialized reanalysis\n(4x/day). These a... platform: Model - references: http://www.esrl.noaa.gov/psd/data/gridded/data.ncep.reanaly...

      @@ -1479,7 +1479,7 @@

      A simple example: pure numpyDataArray.copy

      @@ -1923,7 +1923,7 @@

      A simple example: pure numpy

      Caution

      @@ -2363,7 +2363,7 @@

      apply_ufunc @@ -2817,7 +2817,7 @@

      How does apply_ufunc work?wrapper receives the underlying numpy array (ds.air.data), and the integer 1.

      Essentially, apply_ufunc does the following:

      @@ -3334,17 +3334,17 @@

      Handling datasets
      @@ -3773,17 +3773,17 @@

      Handling datasets @@ -4222,7 +4222,7 @@

      Passing positional and keyword arguments
      @@ -1384,12 +1384,12 @@

      It Works!
      @@ -1764,7 +1764,7 @@

      It Works! @@ -1105,7 +1105,7 @@

      Reduced memory usage with dask
      @@ -1478,7 +1478,7 @@

      Reduced memory usage with dask @@ -1517,7 +1517,7 @@

      Reduced memory usage with dask
      @@ -1891,7 +1891,7 @@

      Reduced memory usage with dask @@ -1946,7 +1946,7 @@

      Reduced memory usage with dask
      @@ -2320,7 +2320,7 @@

      Reduced memory usage with dask
      @@ -2694,7 +2694,7 @@

      Reduced memory usage with dask#

      Client

      -

      Client-846154ec-cde4-11ee-8e76-6045bdb39b6d

      +

      Client-ed2625eb-f06c-11ee-8ec0-000d3a5a4dbe

      @@ -607,7 +607,7 @@

      Client

      LocalCluster

      -

      887a9c54

      +

      9585966d

      @@ -644,11 +644,11 @@

      Scheduler Info

      Scheduler

      -

      Scheduler-db32dcac-46ff-43bc-b368-496df1056dc2

      +

      Scheduler-1509e73d-a322-4011-afe8-38739f60f68e

      - Comm: tcp://127.0.0.1:46747 + Comm: tcp://127.0.0.1:42621 Workers: 4 @@ -690,7 +690,7 @@

      Worker: 0

      @@ -735,7 +735,7 @@

      Worker: 1

      - Comm: tcp://127.0.0.1:38977 + Comm: tcp://127.0.0.1:43699 Total threads: 1 @@ -698,7 +698,7 @@

      Worker: 0

      - Dashboard: http://127.0.0.1:37841/status + Dashboard: http://127.0.0.1:40623/status Memory: 3.90 GiB @@ -706,13 +706,13 @@

      Worker: 0

      - Nanny: tcp://127.0.0.1:37741 + Nanny: tcp://127.0.0.1:34569
      - Local directory: /tmp/dask-scratch-space/worker-kpg_a7pj + Local directory: /tmp/dask-scratch-space/worker-sxwlr90s
      @@ -780,7 +780,7 @@

      Worker: 2

      - Comm: tcp://127.0.0.1:36241 + Comm: tcp://127.0.0.1:44281 Total threads: 1 @@ -743,7 +743,7 @@

      Worker: 1

      - Dashboard: http://127.0.0.1:40947/status + Dashboard: http://127.0.0.1:41615/status Memory: 3.90 GiB @@ -751,13 +751,13 @@

      Worker: 1

      - Nanny: tcp://127.0.0.1:39127 + Nanny: tcp://127.0.0.1:38791
      - Local directory: /tmp/dask-scratch-space/worker-bhj3jvbz + Local directory: /tmp/dask-scratch-space/worker-u7201uv6
      @@ -825,7 +825,7 @@

      Worker: 3

      - Comm: tcp://127.0.0.1:45831 + Comm: tcp://127.0.0.1:44153 Total threads: 1 @@ -788,7 +788,7 @@

      Worker: 2

      - Dashboard: http://127.0.0.1:45115/status + Dashboard: http://127.0.0.1:39161/status Memory: 3.90 GiB @@ -796,13 +796,13 @@

      Worker: 2

      - Nanny: tcp://127.0.0.1:36341 + Nanny: tcp://127.0.0.1:33773
      - Local directory: /tmp/dask-scratch-space/worker-ujrcqz91 + Local directory: /tmp/dask-scratch-space/worker-so34otxr
      @@ -1280,17 +1280,17 @@

      Worker: 3

      title: 4x daily NMC reanalysis (1948) description: Data is from NMC initialized reanalysis\n(4x/day). These a... platform: Model - references: http://www.esrl.noaa.gov/psd/data/gridded/data.ncep.reanaly...
      - Comm: tcp://127.0.0.1:46873 + Comm: tcp://127.0.0.1:34817 Total threads: 1 @@ -833,7 +833,7 @@

      Worker: 3

      - Dashboard: http://127.0.0.1:38183/status + Dashboard: http://127.0.0.1:40889/status Memory: 3.90 GiB @@ -841,13 +841,13 @@

      Worker: 3

      - Nanny: tcp://127.0.0.1:46017 + Nanny: tcp://127.0.0.1:46683
      - Local directory: /tmp/dask-scratch-space/worker-gkr01wp1 + Local directory: /tmp/dask-scratch-space/worker-8k1w9914
      + dtype='datetime64[ns]')
      • air
        (time, lat, lon)
        float32
        dask.array<chunksize=(100, 25, 53), meta=np.ndarray>
        long_name :
        4xDaily Air temperature at sigma level 995
        units :
        degK
        precision :
        2
        GRIB_id :
        11
        GRIB_name :
        TMP
        var_desc :
        Air temperature
        dataset :
        NMC Reanalysis
        level_desc :
        Surface
        statistic :
        Individual Obs
        parent_stat :
        Other
        actual_range :
        [185.16 322.1 ]
    • @@ -1404,16 +1404,16 @@

      Worker: 3

      -
      • lat
        PandasIndex
        PandasIndex(Index([75.0, 72.5, 70.0, 67.5, 65.0, 62.5, 60.0, 57.5, 55.0, 52.5, 50.0, 47.5,
        +
      • lat
        PandasIndex
        PandasIndex(Index([75.0, 72.5, 70.0, 67.5, 65.0, 62.5, 60.0, 57.5, 55.0, 52.5, 50.0, 47.5,
                45.0, 42.5, 40.0, 37.5, 35.0, 32.5, 30.0, 27.5, 25.0, 22.5, 20.0, 17.5,
                15.0],
        -      dtype='float32', name='lat'))
      • lon
        PandasIndex
        PandasIndex(Index([200.0, 202.5, 205.0, 207.5, 210.0, 212.5, 215.0, 217.5, 220.0, 222.5,
        +      dtype='float32', name='lat'))
      • lon
        PandasIndex
        PandasIndex(Index([200.0, 202.5, 205.0, 207.5, 210.0, 212.5, 215.0, 217.5, 220.0, 222.5,
                225.0, 227.5, 230.0, 232.5, 235.0, 237.5, 240.0, 242.5, 245.0, 247.5,
                250.0, 252.5, 255.0, 257.5, 260.0, 262.5, 265.0, 267.5, 270.0, 272.5,
                275.0, 277.5, 280.0, 282.5, 285.0, 287.5, 290.0, 292.5, 295.0, 297.5,
                300.0, 302.5, 305.0, 307.5, 310.0, 312.5, 315.0, 317.5, 320.0, 322.5,
                325.0, 327.5, 330.0],
        -      dtype='float32', name='lon'))
      • time
        PandasIndex
        PandasIndex(DatetimeIndex(['2013-01-01 00:00:00', '2013-01-01 06:00:00',
        +      dtype='float32', name='lon'))
      • time
        PandasIndex
        PandasIndex(DatetimeIndex(['2013-01-01 00:00:00', '2013-01-01 06:00:00',
                        '2013-01-01 12:00:00', '2013-01-01 18:00:00',
                        '2013-01-02 00:00:00', '2013-01-02 06:00:00',
                        '2013-01-02 12:00:00', '2013-01-02 18:00:00',
        @@ -1424,7 +1424,7 @@ 

        Worker: 3

        '2014-12-30 12:00:00', '2014-12-30 18:00:00', '2014-12-31 00:00:00', '2014-12-31 06:00:00', '2014-12-31 12:00:00', '2014-12-31 18:00:00'], - dtype='datetime64[ns]', name='time', length=2920, freq=None))
    • Conventions :
      COARDS
      title :
      4x daily NMC reanalysis (1948)
      description :
      Data is from NMC initialized reanalysis + dtype='datetime64[ns]', name='time', length=2920, freq=None))
    • Conventions :
      COARDS
      title :
      4x daily NMC reanalysis (1948)
      description :
      Data is from NMC initialized reanalysis (4x/day). These are the 0.9950 sigma level values.
      platform :
      Model
      references :
      http://www.esrl.noaa.gov/psd/data/gridded/data.ncep.reanalysis.html
    • @@ -1809,20 +1809,20 @@

      Simple example @@ -1895,13 +1895,7 @@

      Simple example
      diff --git a/fundamentals/01.1_creating_data_structures.html b/fundamentals/01.1_creating_data_structures.html index 1cb60668..5c08e79d 100644 --- a/fundamentals/01.1_creating_data_structures.html +++ b/fundamentals/01.1_creating_data_structures.html @@ -945,17 +945,17 @@

      Creating Data Structures @@ -1410,7 +1410,7 @@

      DataArray
      @@ -1862,7 +1862,7 @@

      DataArraydim_0, dim_1, dim_2

      @@ -2280,7 +2280,7 @@

      Dimension Names @@ -3142,7 +3142,7 @@

      Coordinates @@ -3572,7 +3572,7 @@

      Coordinates @@ -4012,7 +4012,7 @@

      Attributes @@ -4450,7 +4450,7 @@

      Attributes @@ -4891,7 +4891,7 @@

      Non-dimension coordinates @@ -5339,7 +5339,7 @@

      Exercises @@ -5750,7 +5750,7 @@

      Exercises @@ -6180,7 +6180,7 @@

      Exercises

      Data Variables#

      @@ -6984,14 +6984,14 @@

      Data Variables @@ -7464,14 +7464,14 @@

      Data Variables @@ -7616,7 +7616,7 @@

      Coordinates -
      /tmp/ipykernel_3787/2620785341.py:3: FutureWarning: 'H' is deprecated and will be removed in a future version, please use 'h' instead.
      +
      /tmp/ipykernel_3861/2620785341.py:3: FutureWarning: 'H' is deprecated and will be removed in a future version, please use 'h' instead.
         coords={"time": pd.date_range("2013-01-01", "2014-12-31 18:00", freq="6H")},
       
      @@ -7992,17 +7992,17 @@

      Coordinates @@ -8485,14 +8485,14 @@

      Coordinates
      @@ -8631,7 +8631,7 @@

      Coordinates -
      /tmp/ipykernel_3787/664840668.py:1: FutureWarning: 'H' is deprecated and will be removed in a future version, please use 'h' instead.
      +
      /tmp/ipykernel_3861/664840668.py:1: FutureWarning: 'H' is deprecated and will be removed in a future version, please use 'h' instead.
         ds.coords["time"] = pd.date_range("2013-01-01", "2014-12-31 18:00", freq="6H")
       
      @@ -9008,17 +9008,17 @@

      Coordinates @@ -9174,7 +9174,7 @@

      Attributes -
      /tmp/ipykernel_3787/3710195814.py:3: FutureWarning: 'H' is deprecated and will be removed in a future version, please use 'h' instead.
      +
      /tmp/ipykernel_3861/3710195814.py:3: FutureWarning: 'H' is deprecated and will be removed in a future version, please use 'h' instead.
         coords={"time": pd.date_range("2013-01-01", "2014-12-31 18:00", freq="6H")},
       
      @@ -9552,17 +9552,17 @@

      Attributes

        1. @@ -10497,7 +10497,7 @@

          Exercises + dtype='int64', name='longitude', length=360))

        1. add metadata to coordinates and variables:

        2. @@ -10951,7 +10951,7 @@

          Exercises + dtype='int64', name='longitude', length=360))
        3. diff --git a/fundamentals/01.1_io.html b/fundamentals/01.1_io.html index a9c2f874..b01aa40c 100644 --- a/fundamentals/01.1_io.html +++ b/fundamentals/01.1_io.html @@ -992,7 +992,7 @@

          NetCDF + b (z, x) float64 ... + * y (y) int64 -2 -1 https://zarr.readthedocs.io/en/stable/_static/logo1.png @@ -1387,7 +1387,7 @@

          Zarr# + b (z, x) float64 ...

          setting the chunks parameter to None avoids dask (more on that in a later session)

          @@ -1785,7 +1785,7 @@

          Zarr#
          -
          <xarray.backends.zarr.ZarrStore at 0x7f190a47dac0>
          +
          <xarray.backends.zarr.ZarrStore at 0x7f68bef820c0>
           
          @@ -2184,10 +2184,10 @@

          Raster files using rioxarray
          diff --git a/fundamentals/01_datastructures.html b/fundamentals/01_datastructures.html index 0ff54350..91289868 100644 --- a/fundamentals/01_datastructures.html +++ b/fundamentals/01_datastructures.html @@ -998,17 +998,17 @@

          Datasetmean).

          @@ -2000,7 +2000,7 @@

          Dataset

          What is all this anyway? (String representations)#

          @@ -2463,17 +2463,17 @@

          What is all this anyway? (String representations)

          The output consists of:

          @@ -3007,7 +3007,7 @@

          DataArray

          String representations#

          @@ -3511,7 +3511,7 @@

          String representations + dtype='datetime64[ns]', name='time', length=2920, freq=None))
        4. long_name :
          4xDaily Air temperature at sigma level 995
          units :
          degK
          precision :
          2
          GRIB_id :
          11
          GRIB_name :
          TMP
          var_desc :
          Air temperature
          dataset :
          NMC Reanalysis
          level_desc :
          Surface
          statistic :
          Individual Obs
          parent_stat :
          Other
          actual_range :
          [185.16 322.1 ]
        5. @@ -4248,7 +4248,7 @@

          To Pandas and back
          diff --git a/fundamentals/02.1_indexing_Basic.html b/fundamentals/02.1_indexing_Basic.html index 8461cef6..1e6a43d4 100644 --- a/fundamentals/02.1_indexing_Basic.html +++ b/fundamentals/02.1_indexing_Basic.html @@ -1003,17 +1003,17 @@

          Quick Overview @@ -1516,10 +1516,10 @@

          NumPy style indexing with Xarray @@ -2004,7 +2004,7 @@

          Label-based Indexing + dtype='datetime64[ns]', name='time', length=2920, freq=None))

        6. long_name :
          4xDaily Air temperature at sigma level 995
          units :
          degK
          precision :
          2
          GRIB_id :
          11
          GRIB_name :
          TMP
          var_desc :
          Air temperature
          dataset :
          NMC Reanalysis
          level_desc :
          Surface
          statistic :
          Individual Obs
          parent_stat :
          Other
          actual_range :
          [185.16 322.1 ]
        7. @@ -2442,7 +2442,7 @@

          Label-based Indexing + dtype='datetime64[ns]', name='time', length=2920, freq=None))

        8. long_name :
          4xDaily Air temperature at sigma level 995
          units :
          degK
          precision :
          2
          GRIB_id :
          11
          GRIB_name :
          TMP
          var_desc :
          Air temperature
          dataset :
          NMC Reanalysis
          level_desc :
          Surface
          statistic :
          Individual Obs
          parent_stat :
          Other
          actual_range :
          [185.16 322.1 ]
        9. Dropping using drop_sel#

          @@ -2878,7 +2878,7 @@

          Dropping using * lat (lat) float32 75.0 72.5 70.0 67.5 65.0 ... 25.0 22.5 20.0 17.5 15.0 * lon (lon) float32 202.5 205.0 207.5 210.0 ... 322.5 325.0 327.5 330.0 * time (time) datetime64[ns] 2013-01-01 ... 2014-12-31T18:00:00 -Attributes: (11) + dtype='datetime64[ns]', name='time', length=2920, freq=None))
        10. long_name :
          4xDaily Air temperature at sigma level 995
          units :
          degK
          precision :
          2
          GRIB_id :
          11
          GRIB_name :
          TMP
          var_desc :
          Air temperature
          dataset :
          NMC Reanalysis
          level_desc :
          Surface
          statistic :
          Individual Obs
          parent_stat :
          Other
          actual_range :
          [185.16 322.1 ]
        11. So far, all the above will require us to specify exact coordinate values, but what if we don’t have the exact values? We can use nearest neighbor lookups to address this issue:

          @@ -3331,11 +3331,11 @@

          Nearest Neighbor Lookupstolerance argument limits the maximum distance for valid matches with an inexact lookup:

          @@ -3725,11 +3725,11 @@

          Nearest Neighbor Lookups

          Tip

          @@ -4125,11 +4125,11 @@

          Nearest Neighbor Lookupstime="2013-01-01" will return all timestamps for that day (4 of them here):

          @@ -4939,16 +4939,16 @@

          Selecting data based on single datetime @@ -6808,15 +6808,15 @@

          Indexing with a DatetimeIndex or date string list

          @@ -7250,17 +7250,17 @@

          Fancy indexing based on year, month, day, or other datetime components

          Or, if you wanted to select data from a specific day of each month, you could use:

          @@ -7702,14 +7702,14 @@

          Fancy indexing based on year, month, day, or other datetime components diff --git a/fundamentals/02.2_manipulating_dimensions.html b/fundamentals/02.2_manipulating_dimensions.html index c9855871..695f9c12 100644 --- a/fundamentals/02.2_manipulating_dimensions.html +++ b/fundamentals/02.2_manipulating_dimensions.html @@ -564,7 +564,7 @@

          Manipulating Dimensions (Data Resolution) - + * time (time) int64 0 1 2 3

          Here’s a visual depiction of all the join options

          @@ -5350,10 +5350,10 @@

          Controlling the fill valuefill_value keyword argument

          @@ -5734,10 +5734,10 @@

          Controlling the fill value @@ -6179,10 +6179,10 @@

          Controlling automatic alignment @@ -1924,7 +1924,7 @@

          Applying functions @@ -2453,7 +2453,7 @@

          Applying Arbitrary Functions

          Tip

          @@ -2923,7 +2923,7 @@

          Reductionsaxis (as in numpy), we can instead perform them using dimension names. This turns out to be a huge convenience, particularly in @@ -3349,7 +3349,7 @@

          Reductions @@ -3771,7 +3771,7 @@

          Reductions @@ -4199,7 +4199,7 @@

          Reductionsmin, max, sum, std, etc.) are available on both Datasets and DataArrays.

          diff --git a/fundamentals/03.2_groupby_with_xarray.html b/fundamentals/03.2_groupby_with_xarray.html index 12572d78..582a5199 100644 --- a/fundamentals/03.2_groupby_with_xarray.html +++ b/fundamentals/03.2_groupby_with_xarray.html @@ -961,14 +961,14 @@

          Example Dataset @@ -1450,20 +1450,20 @@

          Groupby @@ -1489,7 +1489,7 @@

          Identifying groups -
          @@ -6589,7 +6589,7 @@

          GroupBy vs Resample
          diff --git a/fundamentals/03.3_windowed.html b/fundamentals/03.3_windowed.html index 1b843e6c..729a08f7 100644 --- a/fundamentals/03.3_windowed.html +++ b/fundamentals/03.3_windowed.html @@ -960,14 +960,14 @@

          Windowed Computations + dtype='datetime64[ns]', name='time', length=624, freq=None))

        12. climatology :
          Climatology is based on 1971-2000 SST, Xue, Y., T. M. Smith, and R. W. Reynolds, 2003: Interdecadal changes of 30-yr SST normals during 1871.2000. Journal of Climate, 16, 1601-1612.
          description :
          In situ data: ICOADS2.5 before 2007 and NCEP in situ data from 2008 to present. Ice data: HadISST ice before 2010 and NCEP ice after 2010.
          keywords_vocabulary :
          NASA Global Change Master Directory (GCMD) Science Keywords
          keywords :
          Earth Science > Oceans > Ocean Temperature > Sea Surface Temperature >
          instrument :
          Conventional thermometers
          source_comment :
          SSTs were observed by conventional thermometers in Buckets (insulated or un-insulated canvas and wooded buckets) or Engine Room Intaker
          geospatial_lon_min :
          -1.0
          geospatial_lon_max :
          359.0
          geospatial_laty_max :
          89.0
          geospatial_laty_min :
          -89.0
          geospatial_lat_max :
          89.0
          geospatial_lat_min :
          -89.0
          geospatial_lat_units :
          degrees_north
          geospatial_lon_units :
          degrees_east
          cdm_data_type :
          Grid
          project :
          NOAA Extended Reconstructed Sea Surface Temperature (ERSST)
          original_publisher_url :
          http://www.ncdc.noaa.gov
          References :
          https://www.ncdc.noaa.gov/data-access/marineocean-data/extended-reconstructed-sea-surface-temperature-ersst-v5 at NCEI and http://www.esrl.noaa.gov/psd/data/gridded/data.noaa.ersst.v5.html
          source :
          In situ data: ICOADS R3.0 before 2015, NCEP in situ GTS from 2016 to present, and Argo SST from 1999 to present. Ice data: HadISST2 ice before 2015, and NCEP ice after 2015
          title :
          NOAA ERSSTv5 (in situ only)
          history :
          created 07/2017 by PSD data using NCEI's ERSST V5 NetCDF values
          institution :
          This version written at NOAA/ESRL PSD: obtained from NOAA/NESDIS/National Centers for Environmental Information and time aggregated. Original Full Source: NOAA/NESDIS/NCEI/CCOG
          citation :
          Huang et al, 2017: Extended Reconstructed Sea Surface Temperatures Version 5 (ERSSTv5): Upgrades, Validations, and Intercomparisons. Journal of Climate, https://doi.org/10.1175/JCLI-D-16-0836.1
          platform :
          Ship and Buoy SSTs from ICOADS R3.0 and NCEP GTS
          standard_name_vocabulary :
          CF Standard Name Table (v40, 25 January 2017)
          processing_level :
          NOAA Level 4
          Conventions :
          CF-1.6, ACDD-1.3
          metadata_link :
          :metadata_link = https://doi.org/10.7289/V5T72FNM (original format)
          creator_name :
          Boyin Huang (original)
          date_created :
          2017-06-30T12:18:00Z (original)
          product_version :
          Version 5
          creator_url_original :
          https://www.ncei.noaa.gov
          license :
          No constraints on data access or use
          comment :
          SSTs were observed by conventional thermometers in Buckets (insulated or un-insulated canvas and wooded buckets), Engine Room Intakers, or floats and drifters
          summary :
          ERSST.v5 is developed based on v4 after revisions of 8 parameters using updated data sets and advanced knowledge of ERSST analysis
          dataset_title :
          NOAA Extended Reconstructed SST V5
          data_modified :
          2022-06-07
        13. Rolling or moving windows#

          @@ -1454,17 +1454,17 @@

          Rolling or moving windows
          @@ -1537,7 +1537,7 @@

          Rolling or moving windows -
          <matplotlib.legend.Legend at 0x7fd63b7f46d0>
          +
          <matplotlib.legend.Legend at 0x7f71f6156ad0>
           
          ../_images/3932baedbee30f69546d16ebf2602d94e12304576085e59003f45c189d571b18.png @@ -1941,7 +1941,7 @@

          Custom reductionsconstruct and provide a name for the new dimension: window

          @@ -2319,11 +2319,11 @@

          Custom reductions @@ -2816,18 +2816,18 @@

          Coarsening
          @@ -3263,10 +3263,10 @@

          Custom reductionsyear of size 12.

          @@ -3644,9 +3644,9 @@

          Custom reductions diff --git a/fundamentals/03.4_weighted.html b/fundamentals/03.4_weighted.html index 3c773b8c..5a09f5f2 100644 --- a/fundamentals/03.4_weighted.html +++ b/fundamentals/03.4_weighted.html @@ -942,14 +942,14 @@

          Weighted Reductions -
          [<matplotlib.lines.Line2D at 0x7f7e9cc4e790>]
          +
          [<matplotlib.lines.Line2D at 0x7f0e9c439f50>]
           
          ../_images/1cf104813e97db64222189723c5b9c52b46a4a6e2a0dfa642e276c40af22ea90.png diff --git a/fundamentals/04.1_basic_plotting.html b/fundamentals/04.1_basic_plotting.html index 9c47fe7d..1e981547 100644 --- a/fundamentals/04.1_basic_plotting.html +++ b/fundamentals/04.1_basic_plotting.html @@ -956,26 +956,26 @@

          Load dataTair is air temperature and dTdx @@ -1051,7 +1051,7 @@

          2D plots -
          <matplotlib.collections.QuadMesh at 0x7fc86fb94a10>
          +
          <matplotlib.collections.QuadMesh at 0x7fbc6bd3d090>
           
          ../_images/0ca0c8e7b183955b8eb593cc9ac804d6629027605efd8a0471ca89dd0135cd4f.png @@ -1065,7 +1065,7 @@

          2D plots -
          <matplotlib.collections.QuadMesh at 0x7fc86fb37f10>
          +
          <matplotlib.collections.QuadMesh at 0x7fbc6aaf6390>
           
          ../_images/0ca0c8e7b183955b8eb593cc9ac804d6629027605efd8a0471ca89dd0135cd4f.png @@ -1097,7 +1097,7 @@

          2D plots -
          -
          -
          <matplotlib.contour.QuadContourSet at 0x7fc86fad0550>
          +
          <matplotlib.contour.QuadContourSet at 0x7fbc6a90d010>
           
          ../_images/e98fa07a0342dd492c216f71fb8061ce8216edacb584fe7fa5c00d2a931373c3.png @@ -1188,7 +1188,7 @@

          1D line plots -
          [<matplotlib.lines.Line2D at 0x7fc86e867390>]
          +
          [<matplotlib.lines.Line2D at 0x7fbc6bc11d90>]
           
          ../_images/90958817a58ed370cc7ee8ae93368d3c6b31602f3031aa6e89c4aeb12c5e6983.png @@ -1202,7 +1202,7 @@

          1D line plots -
          [<matplotlib.lines.Line2D at 0x7fc86e692a10>]
          +
          [<matplotlib.lines.Line2D at 0x7fbc6bca99d0>]
           
          ../_images/90958817a58ed370cc7ee8ae93368d3c6b31602f3031aa6e89c4aeb12c5e6983.png @@ -1219,9 +1219,9 @@

          Multiple lines with -
          [<matplotlib.lines.Line2D at 0x7fc86e5825d0>,
          - <matplotlib.lines.Line2D at 0x7fc86e5db3d0>,
          - <matplotlib.lines.Line2D at 0x7fc86e5cb8d0>]
          +
          [<matplotlib.lines.Line2D at 0x7fbc6a8a9910>,
          + <matplotlib.lines.Line2D at 0x7fbc6a782810>,
          + <matplotlib.lines.Line2D at 0x7fbc6a762bd0>]
           
          ../_images/0958b9c62bc5a656fb5f6208487c8801fe00e322a866664ab74bee50215501a4.png diff --git a/fundamentals/04.2_faceting.html b/fundamentals/04.2_faceting.html index 6f78a026..e5f274cb 100644 --- a/fundamentals/04.2_faceting.html +++ b/fundamentals/04.2_faceting.html @@ -634,7 +634,7 @@

          Exercise -
          -
          <xarray.plot.facetgrid.FacetGrid at 0x7fc1861b4590>
          +
          <xarray.plot.facetgrid.FacetGrid at 0x7f63c1ab7a10>
           
          ../_images/4b2f22cade5338aa6874dcbd6947cfbebd34ee10714cb7c64ecfe4715149ffcb.png @@ -1101,7 +1101,7 @@

          Faceting multiple DataArrays diff --git a/fundamentals/04.3_geographic_plotting.html b/fundamentals/04.3_geographic_plotting.html index 9b7a200d..b1dd5408 100644 --- a/fundamentals/04.3_geographic_plotting.html +++ b/fundamentals/04.3_geographic_plotting.html @@ -583,7 +583,7 @@

          Basic plot -
          <cartopy.mpl.feature_artist.FeatureArtist at 0x7ff82d1c0390>
          +
          <cartopy.mpl.feature_artist.FeatureArtist at 0x7fb98e05c7d0>
           
          /home/runner/micromamba/envs/xarray-tutorial/lib/python3.11/site-packages/cartopy/io/__init__.py:241: DownloadWarning: Downloading: https://naturalearth.s3.amazonaws.com/110m_physical/ne_110m_coastline.zip
          @@ -616,7 +616,7 @@ 

          Faceting maps -
          <xarray.plot.facetgrid.FacetGrid at 0x7ff82c8c9590>
          +
          <xarray.plot.facetgrid.FacetGrid at 0x7fb97e653990>
           
          ../_images/d42ea224879b0993d6348e40f1a973f9138cbe5f2aeef7f1f5983857069ef1e5.png diff --git a/intermediate/01-high-level-computation-patterns.html b/intermediate/01-high-level-computation-patterns.html index e0ff990c..b0308120 100644 --- a/intermediate/01-high-level-computation-patterns.html +++ b/intermediate/01-high-level-computation-patterns.html @@ -1052,7 +1052,7 @@

          Load example dataset + dtype='datetime64[ns]', name='time', length=2920, freq=None))

        14. long_name :
          4xDaily Air temperature at sigma level 995
          units :
          degK
          precision :
          2
          GRIB_id :
          11
          GRIB_name :
          TMP
          var_desc :
          Air temperature
          dataset :
          NMC Reanalysis
          level_desc :
          Surface
          statistic :
          Individual Obs
          parent_stat :
          Other
          actual_range :
          [185.16 322.1 ]

        15. @@ -1593,7 +1593,7 @@

          Concept refresher: “index space” vs “label space”
          • lat
            (lat)
            float32
            75.0 72.5 70.0 ... 20.0 17.5 15.0
            standard_name :
            latitude
            long_name :
            Latitude
            units :
            degrees_north
            axis :
            Y
            array([75. , 72.5, 70. , 67.5, 65. , 62.5, 60. , 57.5, 55. , 52.5, 50. , 47.5,
            +        296.6    ]], dtype=float32)
          • lat
            (lat)
            float32
            75.0 72.5 70.0 ... 20.0 17.5 15.0
            standard_name :
            latitude
            long_name :
            Latitude
            units :
            degrees_north
            axis :
            Y
            array([75. , 72.5, 70. , 67.5, 65. , 62.5, 60. , 57.5, 55. , 52.5, 50. , 47.5,
                    45. , 42.5, 40. , 37.5, 35. , 32.5, 30. , 27.5, 25. , 22.5, 20. , 17.5,
            -       15. ], dtype=float32)
          • lon
            (lon)
            float32
            200.0 202.5 205.0 ... 327.5 330.0
            standard_name :
            longitude
            long_name :
            Longitude
            units :
            degrees_east
            axis :
            X
            array([200. , 202.5, 205. , 207.5, 210. , 212.5, 215. , 217.5, 220. , 222.5,
            +       15. ], dtype=float32)
          • lon
            (lon)
            float32
            200.0 202.5 205.0 ... 327.5 330.0
            standard_name :
            longitude
            long_name :
            Longitude
            units :
            degrees_east
            axis :
            X
            array([200. , 202.5, 205. , 207.5, 210. , 212.5, 215. , 217.5, 220. , 222.5,
                    225. , 227.5, 230. , 232.5, 235. , 237.5, 240. , 242.5, 245. , 247.5,
                    250. , 252.5, 255. , 257.5, 260. , 262.5, 265. , 267.5, 270. , 272.5,
                    275. , 277.5, 280. , 282.5, 285. , 287.5, 290. , 292.5, 295. , 297.5,
                    300. , 302.5, 305. , 307.5, 310. , 312.5, 315. , 317.5, 320. , 322.5,
            -       325. , 327.5, 330. ], dtype=float32)
          • time
            ()
            datetime64[ns]
            2013-01-01
            standard_name :
            time
            long_name :
            Time
            array('2013-01-01T00:00:00.000000000', dtype='datetime64[ns]')
          • lat
            PandasIndex
            PandasIndex(Index([75.0, 72.5, 70.0, 67.5, 65.0, 62.5, 60.0, 57.5, 55.0, 52.5, 50.0, 47.5,
            +       325. , 327.5, 330. ], dtype=float32)
          • time
            ()
            datetime64[ns]
            2013-01-01
            standard_name :
            time
            long_name :
            Time
            array('2013-01-01T00:00:00.000000000', dtype='datetime64[ns]')
          • lat
            PandasIndex
            PandasIndex(Index([75.0, 72.5, 70.0, 67.5, 65.0, 62.5, 60.0, 57.5, 55.0, 52.5, 50.0, 47.5,
                    45.0, 42.5, 40.0, 37.5, 35.0, 32.5, 30.0, 27.5, 25.0, 22.5, 20.0, 17.5,
                    15.0],
            -      dtype='float32', name='lat'))
          • lon
            PandasIndex
            PandasIndex(Index([200.0, 202.5, 205.0, 207.5, 210.0, 212.5, 215.0, 217.5, 220.0, 222.5,
            +      dtype='float32', name='lat'))
          • lon
            PandasIndex
            PandasIndex(Index([200.0, 202.5, 205.0, 207.5, 210.0, 212.5, 215.0, 217.5, 220.0, 222.5,
                    225.0, 227.5, 230.0, 232.5, 235.0, 237.5, 240.0, 242.5, 245.0, 247.5,
                    250.0, 252.5, 255.0, 257.5, 260.0, 262.5, 265.0, 267.5, 270.0, 272.5,
                    275.0, 277.5, 280.0, 282.5, 285.0, 287.5, 290.0, 292.5, 295.0, 297.5,
                    300.0, 302.5, 305.0, 307.5, 310.0, 312.5, 315.0, 317.5, 320.0, 322.5,
                    325.0, 327.5, 330.0],
            -      dtype='float32', name='lon'))
        16. long_name :
          4xDaily Air temperature at sigma level 995
          units :
          degK
          precision :
          2
          GRIB_id :
          11
          GRIB_name :
          TMP
          var_desc :
          Air temperature
          dataset :
          NMC Reanalysis
          level_desc :
          Surface
          statistic :
          Individual Obs
          parent_stat :
          Other
          actual_range :
          [185.16 322.1 ]
        17. + dtype='float32', name='lon'))
        18. long_name :
          4xDaily Air temperature at sigma level 995
          units :
          degK
          precision :
          2
          GRIB_id :
          11
          GRIB_name :
          TMP
          var_desc :
          Air temperature
          dataset :
          NMC Reanalysis
          level_desc :
          Surface
          statistic :
          Individual Obs
          parent_stat :
          Other
          actual_range :
          [185.16 322.1 ]
          • lat
            ()
            float32
            50.0
            standard_name :
            latitude
            long_name :
            Latitude
            units :
            degrees_north
            axis :
            Y
            array(50., dtype=float32)
          • lon
            (lon)
            float32
            200.0 202.5 205.0 ... 327.5 330.0
            standard_name :
            longitude
            long_name :
            Longitude
            units :
            degrees_east
            axis :
            X
            array([200. , 202.5, 205. , 207.5, 210. , 212.5, 215. , 217.5, 220. , 222.5,
            +      dtype=float32)
          • lat
            ()
            float32
            50.0
            standard_name :
            latitude
            long_name :
            Latitude
            units :
            degrees_north
            axis :
            Y
            array(50., dtype=float32)
          • lon
            (lon)
            float32
            200.0 202.5 205.0 ... 327.5 330.0
            standard_name :
            longitude
            long_name :
            Longitude
            units :
            degrees_east
            axis :
            X
            array([200. , 202.5, 205. , 207.5, 210. , 212.5, 215. , 217.5, 220. , 222.5,
                    225. , 227.5, 230. , 232.5, 235. , 237.5, 240. , 242.5, 245. , 247.5,
                    250. , 252.5, 255. , 257.5, 260. , 262.5, 265. , 267.5, 270. , 272.5,
                    275. , 277.5, 280. , 282.5, 285. , 287.5, 290. , 292.5, 295. , 297.5,
                    300. , 302.5, 305. , 307.5, 310. , 312.5, 315. , 317.5, 320. , 322.5,
            -       325. , 327.5, 330. ], dtype=float32)
          • time
            ()
            datetime64[ns]
            2013-01-01
            standard_name :
            time
            long_name :
            Time
            array('2013-01-01T00:00:00.000000000', dtype='datetime64[ns]')
          • lon
            PandasIndex
            PandasIndex(Index([200.0, 202.5, 205.0, 207.5, 210.0, 212.5, 215.0, 217.5, 220.0, 222.5,
            +       325. , 327.5, 330. ], dtype=float32)
          • time
            ()
            datetime64[ns]
            2013-01-01
            standard_name :
            time
            long_name :
            Time
            array('2013-01-01T00:00:00.000000000', dtype='datetime64[ns]')
          • lon
            PandasIndex
            PandasIndex(Index([200.0, 202.5, 205.0, 207.5, 210.0, 212.5, 215.0, 217.5, 220.0, 222.5,
                    225.0, 227.5, 230.0, 232.5, 235.0, 237.5, 240.0, 242.5, 245.0, 247.5,
                    250.0, 252.5, 255.0, 257.5, 260.0, 262.5, 265.0, 267.5, 270.0, 272.5,
                    275.0, 277.5, 280.0, 282.5, 285.0, 287.5, 290.0, 292.5, 295.0, 297.5,
                    300.0, 302.5, 305.0, 307.5, 310.0, 312.5, 315.0, 317.5, 320.0, 322.5,
                    325.0, 327.5, 330.0],
            -      dtype='float32', name='lon'))
        19. long_name :
          4xDaily Air temperature at sigma level 995
          units :
          degK
          precision :
          2
          GRIB_id :
          11
          GRIB_name :
          TMP
          var_desc :
          Air temperature
          dataset :
          NMC Reanalysis
          level_desc :
          Surface
          statistic :
          Individual Obs
          parent_stat :
          Other
          actual_range :
          [185.16 322.1 ]
        20. + dtype='float32', name='lon'))
        21. long_name :
          4xDaily Air temperature at sigma level 995
          units :
          degK
          precision :
          2
          GRIB_id :
          11
          GRIB_name :
          TMP
          var_desc :
          Air temperature
          dataset :
          NMC Reanalysis
          level_desc :
          Surface
          statistic :
          Individual Obs
          parent_stat :
          Other
          actual_range :
          [185.16 322.1 ]
          • lat
            ()
            float32
            50.0
            standard_name :
            latitude
            long_name :
            Latitude
            units :
            degrees_north
            axis :
            Y
            array(50., dtype=float32)
          • lon
            (lon)
            float32
            200.0 202.5 205.0 ... 327.5 330.0
            standard_name :
            longitude
            long_name :
            Longitude
            units :
            degrees_east
            axis :
            X
            array([200. , 202.5, 205. , 207.5, 210. , 212.5, 215. , 217.5, 220. , 222.5,
            +      dtype=float32)
          • lat
            ()
            float32
            50.0
            standard_name :
            latitude
            long_name :
            Latitude
            units :
            degrees_north
            axis :
            Y
            array(50., dtype=float32)
          • lon
            (lon)
            float32
            200.0 202.5 205.0 ... 327.5 330.0
            standard_name :
            longitude
            long_name :
            Longitude
            units :
            degrees_east
            axis :
            X
            array([200. , 202.5, 205. , 207.5, 210. , 212.5, 215. , 217.5, 220. , 222.5,
                    225. , 227.5, 230. , 232.5, 235. , 237.5, 240. , 242.5, 245. , 247.5,
                    250. , 252.5, 255. , 257.5, 260. , 262.5, 265. , 267.5, 270. , 272.5,
                    275. , 277.5, 280. , 282.5, 285. , 287.5, 290. , 292.5, 295. , 297.5,
                    300. , 302.5, 305. , 307.5, 310. , 312.5, 315. , 317.5, 320. , 322.5,
            -       325. , 327.5, 330. ], dtype=float32)
          • time
            ()
            datetime64[ns]
            2013-01-01
            standard_name :
            time
            long_name :
            Time
            array('2013-01-01T00:00:00.000000000', dtype='datetime64[ns]')
          • lon
            PandasIndex
            PandasIndex(Index([200.0, 202.5, 205.0, 207.5, 210.0, 212.5, 215.0, 217.5, 220.0, 222.5,
            +       325. , 327.5, 330. ], dtype=float32)
          • time
            ()
            datetime64[ns]
            2013-01-01
            standard_name :
            time
            long_name :
            Time
            array('2013-01-01T00:00:00.000000000', dtype='datetime64[ns]')
          • lon
            PandasIndex
            PandasIndex(Index([200.0, 202.5, 205.0, 207.5, 210.0, 212.5, 215.0, 217.5, 220.0, 222.5,
                    225.0, 227.5, 230.0, 232.5, 235.0, 237.5, 240.0, 242.5, 245.0, 247.5,
                    250.0, 252.5, 255.0, 257.5, 260.0, 262.5, 265.0, 267.5, 270.0, 272.5,
                    275.0, 277.5, 280.0, 282.5, 285.0, 287.5, 290.0, 292.5, 295.0, 297.5,
                    300.0, 302.5, 305.0, 307.5, 310.0, 312.5, 315.0, 317.5, 320.0, 322.5,
                    325.0, 327.5, 330.0],
            -      dtype='float32', name='lon'))
        22. long_name :
          4xDaily Air temperature at sigma level 995
          units :
          degK
          precision :
          2
          GRIB_id :
          11
          GRIB_name :
          TMP
          var_desc :
          Air temperature
          dataset :
          NMC Reanalysis
          level_desc :
          Surface
          statistic :
          Individual Obs
          parent_stat :
          Other
          actual_range :
          [185.16 322.1 ]
        23. + dtype='float32', name='lon'))
        24. long_name :
          4xDaily Air temperature at sigma level 995
          units :
          degK
          precision :
          2
          GRIB_id :
          11
          GRIB_name :
          TMP
          var_desc :
          Air temperature
          dataset :
          NMC Reanalysis
          level_desc :
          Surface
          statistic :
          Individual Obs
          parent_stat :
          Other
          actual_range :
          [185.16 322.1 ]
          • lat
            ()
            float32
            50.0
            standard_name :
            latitude
            long_name :
            Latitude
            units :
            degrees_north
            axis :
            Y
            array(50., dtype=float32)
          • lon
            (lon)
            float32
            200.0 202.5 205.0 ... 327.5 330.0
            standard_name :
            longitude
            long_name :
            Longitude
            units :
            degrees_east
            axis :
            X
            array([200. , 202.5, 205. , 207.5, 210. , 212.5, 215. , 217.5, 220. , 222.5,
            +      dtype=float32)
          • lat
            ()
            float32
            50.0
            standard_name :
            latitude
            long_name :
            Latitude
            units :
            degrees_north
            axis :
            Y
            array(50., dtype=float32)
          • lon
            (lon)
            float32
            200.0 202.5 205.0 ... 327.5 330.0
            standard_name :
            longitude
            long_name :
            Longitude
            units :
            degrees_east
            axis :
            X
            array([200. , 202.5, 205. , 207.5, 210. , 212.5, 215. , 217.5, 220. , 222.5,
                    225. , 227.5, 230. , 232.5, 235. , 237.5, 240. , 242.5, 245. , 247.5,
                    250. , 252.5, 255. , 257.5, 260. , 262.5, 265. , 267.5, 270. , 272.5,
                    275. , 277.5, 280. , 282.5, 285. , 287.5, 290. , 292.5, 295. , 297.5,
                    300. , 302.5, 305. , 307.5, 310. , 312.5, 315. , 317.5, 320. , 322.5,
            -       325. , 327.5, 330. ], dtype=float32)
          • time
            ()
            datetime64[ns]
            2013-01-01
            standard_name :
            time
            long_name :
            Time
            array('2013-01-01T00:00:00.000000000', dtype='datetime64[ns]')
          • lon
            PandasIndex
            PandasIndex(Index([200.0, 202.5, 205.0, 207.5, 210.0, 212.5, 215.0, 217.5, 220.0, 222.5,
            +       325. , 327.5, 330. ], dtype=float32)
          • time
            ()
            datetime64[ns]
            2013-01-01
            standard_name :
            time
            long_name :
            Time
            array('2013-01-01T00:00:00.000000000', dtype='datetime64[ns]')
          • lon
            PandasIndex
            PandasIndex(Index([200.0, 202.5, 205.0, 207.5, 210.0, 212.5, 215.0, 217.5, 220.0, 222.5,
                    225.0, 227.5, 230.0, 232.5, 235.0, 237.5, 240.0, 242.5, 245.0, 247.5,
                    250.0, 252.5, 255.0, 257.5, 260.0, 262.5, 265.0, 267.5, 270.0, 272.5,
                    275.0, 277.5, 280.0, 282.5, 285.0, 287.5, 290.0, 292.5, 295.0, 297.5,
                    300.0, 302.5, 305.0, 307.5, 310.0, 312.5, 315.0, 317.5, 320.0, 322.5,
                    325.0, 327.5, 330.0],
            -      dtype='float32', name='lon'))
        25. long_name :
          4xDaily Air temperature at sigma level 995
          units :
          degK
          precision :
          2
          GRIB_id :
          11
          GRIB_name :
          TMP
          var_desc :
          Air temperature
          dataset :
          NMC Reanalysis
          level_desc :
          Surface
          statistic :
          Individual Obs
          parent_stat :
          Other
          actual_range :
          [185.16 322.1 ]
        26. + dtype='float32', name='lon'))
        27. long_name :
          4xDaily Air temperature at sigma level 995
          units :
          degK
          precision :
          2
          GRIB_id :
          11
          GRIB_name :
          TMP
          var_desc :
          Air temperature
          dataset :
          NMC Reanalysis
          level_desc :
          Surface
          statistic :
          Individual Obs
          parent_stat :
          Other
          actual_range :
          [185.16 322.1 ]
          • lat
            ()
            float32
            50.0
            standard_name :
            latitude
            long_name :
            Latitude
            units :
            degrees_north
            axis :
            Y
            array(50., dtype=float32)
          • lon
            (lon)
            float32
            200.0 202.5 205.0 ... 327.5 330.0
            standard_name :
            longitude
            long_name :
            Longitude
            units :
            degrees_east
            axis :
            X
            array([200. , 202.5, 205. , 207.5, 210. , 212.5, 215. , 217.5, 220. , 222.5,
            +      dtype=float32)
          • lat
            ()
            float32
            50.0
            standard_name :
            latitude
            long_name :
            Latitude
            units :
            degrees_north
            axis :
            Y
            array(50., dtype=float32)
          • lon
            (lon)
            float32
            200.0 202.5 205.0 ... 327.5 330.0
            standard_name :
            longitude
            long_name :
            Longitude
            units :
            degrees_east
            axis :
            X
            array([200. , 202.5, 205. , 207.5, 210. , 212.5, 215. , 217.5, 220. , 222.5,
                    225. , 227.5, 230. , 232.5, 235. , 237.5, 240. , 242.5, 245. , 247.5,
                    250. , 252.5, 255. , 257.5, 260. , 262.5, 265. , 267.5, 270. , 272.5,
                    275. , 277.5, 280. , 282.5, 285. , 287.5, 290. , 292.5, 295. , 297.5,
                    300. , 302.5, 305. , 307.5, 310. , 312.5, 315. , 317.5, 320. , 322.5,
            -       325. , 327.5, 330. ], dtype=float32)
          • time
            ()
            datetime64[ns]
            2013-01-01
            standard_name :
            time
            long_name :
            Time
            array('2013-01-01T00:00:00.000000000', dtype='datetime64[ns]')
          • lon
            PandasIndex
            PandasIndex(Index([200.0, 202.5, 205.0, 207.5, 210.0, 212.5, 215.0, 217.5, 220.0, 222.5,
            +       325. , 327.5, 330. ], dtype=float32)
          • time
            ()
            datetime64[ns]
            2013-01-01
            standard_name :
            time
            long_name :
            Time
            array('2013-01-01T00:00:00.000000000', dtype='datetime64[ns]')
          • lon
            PandasIndex
            PandasIndex(Index([200.0, 202.5, 205.0, 207.5, 210.0, 212.5, 215.0, 217.5, 220.0, 222.5,
                    225.0, 227.5, 230.0, 232.5, 235.0, 237.5, 240.0, 242.5, 245.0, 247.5,
                    250.0, 252.5, 255.0, 257.5, 260.0, 262.5, 265.0, 267.5, 270.0, 272.5,
                    275.0, 277.5, 280.0, 282.5, 285.0, 287.5, 290.0, 292.5, 295.0, 297.5,
                    300.0, 302.5, 305.0, 307.5, 310.0, 312.5, 315.0, 317.5, 320.0, 322.5,
                    325.0, 327.5, 330.0],
            -      dtype='float32', name='lon'))
        28. long_name :
          4xDaily Air temperature at sigma level 995
          units :
          degK
          precision :
          2
          GRIB_id :
          11
          GRIB_name :
          TMP
          var_desc :
          Air temperature
          dataset :
          NMC Reanalysis
          level_desc :
          Surface
          statistic :
          Individual Obs
          parent_stat :
          Other
          actual_range :
          [185.16 322.1 ]
        29. + dtype='float32', name='lon'))
        30. long_name :
          4xDaily Air temperature at sigma level 995
          units :
          degK
          precision :
          2
          GRIB_id :
          11
          GRIB_name :
          TMP
          var_desc :
          Air temperature
          dataset :
          NMC Reanalysis
          level_desc :
          Surface
          statistic :
          Individual Obs
          parent_stat :
          Other
          actual_range :
          [185.16 322.1 ]
        31. @@ -3738,7 +3738,7 @@

          View the rollin
          <xarray.DataArray (time: 10)>
           0 1 2 3 4 5 6 7 8 9
           Coordinates:
          -  * time     (time) int64 0 1 2 3 4 5 6 7 8 9
          + * time (time) int64 0 1 2 3 4 5 6 7 8 9
          @@ -4115,7 +4115,7 @@

          View the rollin nan nan 0.0 1.0 2.0 nan 0.0 1.0 2.0 3.0 ... 7.0 8.0 9.0 nan 7.0 8.0 9.0 nan nan Coordinates: * time (time) int64 0 1 2 3 4 5 6 7 8 9 -Dimensions without coordinates: window + [ 7., 8., 9., nan, nan]])

          • time
            (time)
            int64
            0 1 2 3 4 5 6 7 8 9
            array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
          • time
            PandasIndex
            PandasIndex(Index([0, 1, 2, 3, 4, 5, 6, 7, 8, 9], dtype='int64', name='time'))
        32. long_name :
          4xDaily Air temperature at sigma level 995
          units :
          degK
          precision :
          2
          GRIB_id :
          11
          GRIB_name :
          TMP
          var_desc :
          Air temperature
          dataset :
          NMC Reanalysis
          level_desc :
          Surface
          statistic :
          Individual Obs
          parent_stat :
          Other
          actual_range :
          [185.16 322.1 ]
        33. @@ -5428,7 +5428,7 @@

          Block windows of fixed length: + 297.5628 , 297.21838, 298.0064 , 297.0692 ]], dtype=float32)

          • lat
            (lat)
            float32
            70.0 57.5 45.0 32.5 20.0
            standard_name :
            latitude
            long_name :
            Latitude
            units :
            degrees_north
            axis :
            Y
            array([70. , 57.5, 45. , 32.5, 20. ], dtype=float32)
          • lon
            (lon)
            float32
            205.0 217.5 230.0 ... 305.0 317.5
            standard_name :
            longitude
            long_name :
            Longitude
            units :
            degrees_east
            axis :
            X
            array([205. , 217.5, 230. , 242.5, 255. , 267.5, 280. , 292.5, 305. , 317.5],
            +      dtype=float32)
          • time
            ()
            datetime64[ns]
            2013-01-01
            standard_name :
            time
            long_name :
            Time
            array('2013-01-01T00:00:00.000000000', dtype='datetime64[ns]')
          • lat
            PandasIndex
            PandasIndex(Index([70.0, 57.5, 45.0, 32.5, 20.0], dtype='float32', name='lat'))
          • lon
            PandasIndex
            PandasIndex(Index([205.0, 217.5, 230.0, 242.5, 255.0, 267.5, 280.0, 292.5, 305.0, 317.5], dtype='float32', name='lon'))
        34. long_name :
          4xDaily Air temperature at sigma level 995
          units :
          degK
          precision :
          2
          GRIB_id :
          11
          GRIB_name :
          TMP
          var_desc :
          Air temperature
          dataset :
          NMC Reanalysis
          level_desc :
          Surface
          statistic :
          Individual Obs
          parent_stat :
          Other
          actual_range :
          [185.16 322.1 ]
        35. @@ -5447,7 +5447,7 @@

          Block windows of fixed length:

          -
          <matplotlib.collections.QuadMesh at 0x7f9be5091650>
          +
          <matplotlib.collections.QuadMesh at 0x7fd3bd30e450>
           
          ../_images/b2f10ad43e7a4b37e66f3517124462b15cc02b1b35855d403e9afd11e9acd3aa.png @@ -5857,11 +5857,11 @@

          Coarsen supports
          @@ -6238,9 +6238,9 @@

          Coarsen supports @@ -6623,9 +6623,9 @@

          Coarsen supports side kwarg to coarsen. For side="right" we get more sensible output.

          @@ -7005,9 +7005,9 @@

          Coarsen supports coarsen pads with NaNs. For more control over padding, use DataArray.pad explicitly.

          @@ -7390,9 +7390,9 @@

          Coarsen supports

          Note

          @@ -7890,7 +7890,7 @@

          Deconstructing GroupBy + dtype='datetime64[ns]', name='time', length=2920, freq=None))

        36. long_name :
          4xDaily Air temperature at sigma level 995
          units :
          degK
          precision :
          2
          GRIB_id :
          11
          GRIB_name :
          TMP
          var_desc :
          Air temperature
          dataset :
          NMC Reanalysis
          level_desc :
          Surface
          statistic :
          Individual Obs
          parent_stat :
          Other
          actual_range :
          [185.16 322.1 ]
        37. @@ -8367,7 +8367,7 @@

          Deconstructing GroupBy + dtype='float32', name='lon'))

        38. PandasIndex(Index([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12], dtype='int64', name='month'))
        39. long_name :
          4xDaily Air temperature at sigma level 995
          units :
          degK
          precision :
          2
          GRIB_id :
          11
          GRIB_name :
          TMP
          var_desc :
          Air temperature
          dataset :
          NMC Reanalysis
          level_desc :
          Surface
          statistic :
          Individual Obs
          parent_stat :
          Other
          actual_range :
          [185.16 322.1 ]
        40. Notice that since we have averaged over all the years for each month, our resulting DataArray no longer has a “year” coordinate.

          If we want to see how Xarray identifies “groups” for the monthly climatology computation, we can plot our input to groupby. GroupBy is clever enough to figure out how many values there are an thus how many groups to make.

          @@ -8876,13 +8876,13 @@

          @@ -9271,10 +9271,10 @@

          @@ -9660,10 +9660,10 @@

          @@ -10052,10 +10052,10 @@

          @@ -10491,10 +10491,10 @@
          Custom seasons with
          @@ -10521,7 +10521,7 @@
          Custom seasons with -
          <xarray.plot.facetgrid.FacetGrid at 0x7f9be4fada50>
          +
          <xarray.plot.facetgrid.FacetGrid at 0x7fd3bd2110d0>
           
          ../_images/db5599ea76cdd5f5b925127eda5533ce4544a76c902cc6089e9e9dd25b5f0a37.png @@ -10907,13 +10907,13 @@
          floor + dtype='datetime64[ns]', name='time', length=2920, freq=None))
        41. standard_name :
          time
          long_name :
          Time
        42. @@ -11304,13 +11304,13 @@
          floor + dtype='datetime64[ns]', name='time', length=2920, freq=None))
        43. standard_name :
          time
          long_name :
          Time
        44. @@ -11701,11 +11701,11 @@
          strftime
          <xarray.DataArray 'strftime' (time: 2920)>
           'Jan-01' 'Jan-01' 'Jan-01' 'Jan-01' ... 'Dec-31' 'Dec-31' 'Dec-31' 'Dec-31'
           Coordinates:
          -  * time     (time) datetime64[ns] 2013-01-01 ... 2014-12-31T18:00:00
          + dtype='datetime64[ns]', name='time', length=2920, freq=None))
        45. @@ -11731,7 +11731,7 @@

          Custom reductions with
          -
          • lat
            (lat)
            float32
            75.0 72.5 70.0 ... 20.0 17.5 15.0
            standard_name :
            latitude
            long_name :
            Latitude
            units :
            degrees_north
            axis :
            Y
            array([75. , 72.5, 70. , 67.5, 65. , 62.5, 60. , 57.5, 55. , 52.5, 50. , 47.5,
            +          1.43247986,  1.5       ]]])
          • lat
            (lat)
            float32
            75.0 72.5 70.0 ... 20.0 17.5 15.0
            standard_name :
            latitude
            long_name :
            Latitude
            units :
            degrees_north
            axis :
            Y
            array([75. , 72.5, 70. , 67.5, 65. , 62.5, 60. , 57.5, 55. , 52.5, 50. , 47.5,
                    45. , 42.5, 40. , 37.5, 35. , 32.5, 30. , 27.5, 25. , 22.5, 20. , 17.5,
            -       15. ], dtype=float32)
          • lon
            (lon)
            float32
            200.0 202.5 205.0 ... 327.5 330.0
            standard_name :
            longitude
            long_name :
            Longitude
            units :
            degrees_east
            axis :
            X
            array([200. , 202.5, 205. , 207.5, 210. , 212.5, 215. , 217.5, 220. , 222.5,
            +       15. ], dtype=float32)
          • lon
            (lon)
            float32
            200.0 202.5 205.0 ... 327.5 330.0
            standard_name :
            longitude
            long_name :
            Longitude
            units :
            degrees_east
            axis :
            X
            array([200. , 202.5, 205. , 207.5, 210. , 212.5, 215. , 217.5, 220. , 222.5,
                    225. , 227.5, 230. , 232.5, 235. , 237.5, 240. , 242.5, 245. , 247.5,
                    250. , 252.5, 255. , 257.5, 260. , 262.5, 265. , 267.5, 270. , 272.5,
                    275. , 277.5, 280. , 282.5, 285. , 287.5, 290. , 292.5, 295. , 297.5,
                    300. , 302.5, 305. , 307.5, 310. , 312.5, 315. , 317.5, 320. , 322.5,
            -       325. , 327.5, 330. ], dtype=float32)
          • month
            (month)
            int64
            1 2 3 4 5 6 7 8 9 10 11 12
            array([ 1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12])
          • lat
            PandasIndex
            PandasIndex(Index([75.0, 72.5, 70.0, 67.5, 65.0, 62.5, 60.0, 57.5, 55.0, 52.5, 50.0, 47.5,
            +       325. , 327.5, 330. ], dtype=float32)
          • month
            (month)
            int64
            1 2 3 4 5 6 7 8 9 10 11 12
            array([ 1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12])
          • lat
            PandasIndex
            PandasIndex(Index([75.0, 72.5, 70.0, 67.5, 65.0, 62.5, 60.0, 57.5, 55.0, 52.5, 50.0, 47.5,
                    45.0, 42.5, 40.0, 37.5, 35.0, 32.5, 30.0, 27.5, 25.0, 22.5, 20.0, 17.5,
                    15.0],
            -      dtype='float32', name='lat'))
          • lon
            PandasIndex
            PandasIndex(Index([200.0, 202.5, 205.0, 207.5, 210.0, 212.5, 215.0, 217.5, 220.0, 222.5,
            +      dtype='float32', name='lat'))
          • lon
            PandasIndex
            PandasIndex(Index([200.0, 202.5, 205.0, 207.5, 210.0, 212.5, 215.0, 217.5, 220.0, 222.5,
                    225.0, 227.5, 230.0, 232.5, 235.0, 237.5, 240.0, 242.5, 245.0, 247.5,
                    250.0, 252.5, 255.0, 257.5, 260.0, 262.5, 265.0, 267.5, 270.0, 272.5,
                    275.0, 277.5, 280.0, 282.5, 285.0, 287.5, 290.0, 292.5, 295.0, 297.5,
                    300.0, 302.5, 305.0, 307.5, 310.0, 312.5, 315.0, 317.5, 320.0, 322.5,
                    325.0, 327.5, 330.0],
            -      dtype='float32', name='lon'))
          • month
            PandasIndex
            PandasIndex(Index([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12], dtype='int64', name='month'))
        46. long_name :
          4xDaily Air temperature at sigma level 995
          units :
          degK
          precision :
          2
          GRIB_id :
          11
          GRIB_name :
          TMP
          var_desc :
          Air temperature
          dataset :
          NMC Reanalysis
          level_desc :
          Surface
          statistic :
          Individual Obs
          parent_stat :
          Other
          actual_range :
          [185.16 322.1 ]
        47. + dtype='float32', name='lon'))
        48. month
          PandasIndex
          PandasIndex(Index([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12], dtype='int64', name='month'))
        49. long_name :
          4xDaily Air temperature at sigma level 995
          units :
          degK
          precision :
          2
          GRIB_id :
          11
          GRIB_name :
          TMP
          var_desc :
          Air temperature
          dataset :
          NMC Reanalysis
          level_desc :
          Surface
          statistic :
          Individual Obs
          parent_stat :
          Other
          actual_range :
          [185.16 322.1 ]
        50. diff --git a/intermediate/cmip6-cloud.html b/intermediate/cmip6-cloud.html index 2838a715..635649b1 100644 --- a/intermediate/cmip6-cloud.html +++ b/intermediate/cmip6-cloud.html @@ -1351,7 +1351,7 @@

          Reading from the remote Zarr storage @@ -1406,7 +1406,7 @@

          Reading from the remote Zarr storage @@ -1484,7 +1484,7 @@

          Reading from the remote Zarr storage @@ -1539,7 +1539,7 @@

          Reading from the remote Zarr storage @@ -1617,14 +1617,14 @@

          Reading from the remote Zarr storage @@ -1679,8 +1679,8 @@

          Reading from the remote Zarr storage @@ -1790,7 +1790,7 @@

          Reading from the remote Zarr storage
          -
          <matplotlib.image.AxesImage at 0x7fdcb862b210>
          +
          <matplotlib.image.AxesImage at 0x7f48fc709710>
           
          ../_images/3af3141b95784b56086d44b3816f14ab7009f0ff2eb38def58bbffc6b47bbb65.png diff --git a/intermediate/data_cleaning/05.3_ice_velocity.html b/intermediate/data_cleaning/05.3_ice_velocity.html index bd4df257..f8d32cd2 100644 --- a/intermediate/data_cleaning/05.3_ice_velocity.html +++ b/intermediate/data_cleaning/05.3_ice_velocity.html @@ -942,7 +942,7 @@

          Re-organize InSAR ice velocity data @@ -1345,7 +1345,7 @@

          Re-organize InSAR ice velocity data @@ -1373,9 +1373,9 @@

          Re-organize InSAR ice velocity data
          /tmp/ipykernel_4187/3673374015.py:1: FutureWarning: The return type of `Dataset.dims` will be changed to return a set of dimension names in future, in order to be more consistent with `DataArray.dims`. To access a mapping from dimension names to lengths, please use `Dataset.sizes`.
          +
          /tmp/ipykernel_4264/3673374015.py:1: FutureWarning: The return type of `Dataset.dims` will be changed to return a set of dimension names in future, in order to be more consistent with `DataArray.dims`. To access a mapping from dimension names to lengths, please use `Dataset.sizes`.
             print(ds.dims['ny'])
          -/tmp/ipykernel_4187/3673374015.py:2: FutureWarning: The return type of `Dataset.dims` will be changed to return a set of dimension names in future, in order to be more consistent with `DataArray.dims`. To access a mapping from dimension names to lengths, please use `Dataset.sizes`.
          +/tmp/ipykernel_4264/3673374015.py:2: FutureWarning: The return type of `Dataset.dims` will be changed to return a set of dimension names in future, in order to be more consistent with `DataArray.dims`. To access a mapping from dimension names to lengths, please use `Dataset.sizes`.
             print(ds.dims['nx'])
           
          @@ -1805,19 +1805,19 @@

          Re-organize InSAR ice velocity datayaxis and xaxis and drop the nx and ny coordinates:

          @@ -2229,19 +2229,19 @@

          Re-organize InSAR ice velocity datadata_vars are really only 3 unique variables that exist along a time dimension (with a length of 10). We want to add a time dimension to the dataset and concatenate the data variables in each of the three groups together.

          @@ -2652,19 +2652,19 @@

          Re-organize InSAR ice velocity datada_vx_ls:

          @@ -3065,7 +3065,7 @@

          Re-organize InSAR ice velocity dataxr.DataArray in the list:

          @@ -3483,7 +3483,7 @@

          Re-organize InSAR ice velocity datada_vx_ls_test is the xr.DataArray containing the vx1996 variable, and the time coord is 0. In the second (1-place) element, the xr.DataArray is called vx2000 and the time coord is 1.

          Finally, we will rename the xr.DataArrays to reflect just the variable name, rather than the year, because that is now referenced in the time coordinate.

          @@ -3908,7 +3908,7 @@

          Re-organize InSAR ice velocity dataxr.DataArrays for the vx data variable where each xr.DataArray has a time dimension and coordinates along the time dimension. This list is ready to be concatenated along the time dimension.

          First, we will perform the same steps for the other two data variables (vy and err) before concatenating all three along the time dimension and merging into one xr.Dataset. For vy and err, we will combine the steps followed for vx into one operation. Note one other difference between the workflow for vx and the workflow for vy and err: rather than assigning coordinate values using the assign_coords() function, we do this within the expand_dims() function, where a time dimension is added as well as coordinate values for the dimension ([int(var[-4:])]).

          @@ -4339,9 +4339,9 @@

          Re-organize InSAR ice velocity data @@ -4488,7 +4488,7 @@

          Re-organize InSAR ice velocity data -
          <matplotlib.collections.QuadMesh at 0x7fcbdd9c5990>
          +
          <matplotlib.collections.QuadMesh at 0x7ff6f2fc5250>
           
          ../../_images/6481fb34fbc12c7770335832f02eecba3dc0e4688580f9271d66d6d5a97e9561.png @@ -4896,9 +4896,9 @@

          Re-organize InSAR ice velocity data @@ -5078,7 +5078,7 @@

          Re-organize InSAR ice velocity data -
          <matplotlib.collections.QuadMesh at 0x7fcc348040d0>
          +
          <matplotlib.collections.QuadMesh at 0x7ff6eaed5d10>
           
          ../../_images/f129bc4f4e62fe93104f5dc345d95f9cd216f5ddf27a322ce05e137d01d7d682.png diff --git a/intermediate/hvplot.html b/intermediate/hvplot.html index 0b0b2659..e7ca4c8b 100644 --- a/intermediate/hvplot.html +++ b/intermediate/hvplot.html @@ -1085,11 +1085,11 @@

          Interactive plots using hvplot
          -
          +