'/home/jovyan/earth-analytics/data/crescent-mountain-fire'
OBJECTID agency comments active mapmethod datecurrent uniquefireidentifier fireyear incidentname pooownerunit ... incomplex complexfirecode mergeid latest modifiedon createdon temp shape__Area shape__Length geometry
0 4119 USFS N Infrared Image 1540857600000 2018-WAOWF-000428 2018 CRESCENT MOUNTAIN WAOWF ... N Y NaN NaN NaN 4.829164e+08 437074.605609 MULTIPOLYGON (((-120.54069 48.48590, -120.5405...

1 rows × 30 columns

Crescent Mountain Wildfire near Twisp, WA¶

The Crescent Mountain Fire started on July 29, 2018 approximately 20 miles west of Twisp WA, due to a lightning strike. Several other fires started nearby, which were managed by the same Incident Command team based out of Winthrop WA. The fire burned a total of 52,609 acres of heavily timbered mountain terrain. The area is know for its natural beauty and for the fruit orchards along the Methow river near its confluence with the Columbia River.

Make this Notebook Trusted to load map: File -> Trust Notebook
<xarray.Dataset>
Dimensions:      (x: 158, y: 108, date: 41)
Coordinates:
    band         int64 1
  * x            (x) float64 -120.6 -120.6 -120.6 ... -120.3 -120.3 -120.3
  * y            (y) float64 48.5 48.49 48.49 48.49 ... 48.28 48.28 48.28 48.27
    spatial_ref  int64 0
  * date         (date) datetime64[ns] 2017-05-17 2017-06-02 ... 2022-08-21
Data variables:
    NDVI         (date, y, x) float32 0.0321 -0.0573 -0.0201 ... 0.8012 0.8027
xarray.Dataset
    • x: 158
    • y: 108
    • date: 41
    • band
      ()
      int64
      1
      array(1)
    • x
      (x)
      float64
      -120.6 -120.6 ... -120.3 -120.3
      array([-120.609375, -120.607292, -120.605208, -120.603125, -120.601042,
             -120.598958, -120.596875, -120.594792, -120.592708, -120.590625,
             -120.588542, -120.586458, -120.584375, -120.582292, -120.580208,
             -120.578125, -120.576042, -120.573958, -120.571875, -120.569792,
             -120.567708, -120.565625, -120.563542, -120.561458, -120.559375,
             -120.557292, -120.555208, -120.553125, -120.551042, -120.548958,
             -120.546875, -120.544792, -120.542708, -120.540625, -120.538542,
             -120.536458, -120.534375, -120.532292, -120.530208, -120.528125,
             -120.526042, -120.523958, -120.521875, -120.519792, -120.517708,
             -120.515625, -120.513542, -120.511458, -120.509375, -120.507292,
             -120.505208, -120.503125, -120.501042, -120.498958, -120.496875,
             -120.494792, -120.492708, -120.490625, -120.488542, -120.486458,
             -120.484375, -120.482292, -120.480208, -120.478125, -120.476042,
             -120.473958, -120.471875, -120.469792, -120.467708, -120.465625,
             -120.463542, -120.461458, -120.459375, -120.457292, -120.455208,
             -120.453125, -120.451042, -120.448958, -120.446875, -120.444792,
             -120.442708, -120.440625, -120.438542, -120.436458, -120.434375,
             -120.432292, -120.430208, -120.428125, -120.426042, -120.423958,
             -120.421875, -120.419792, -120.417708, -120.415625, -120.413542,
             -120.411458, -120.409375, -120.407292, -120.405208, -120.403125,
             -120.401042, -120.398958, -120.396875, -120.394792, -120.392708,
             -120.390625, -120.388542, -120.386458, -120.384375, -120.382292,
             -120.380208, -120.378125, -120.376042, -120.373958, -120.371875,
             -120.369792, -120.367708, -120.365625, -120.363542, -120.361458,
             -120.359375, -120.357292, -120.355208, -120.353125, -120.351042,
             -120.348958, -120.346875, -120.344792, -120.342708, -120.340625,
             -120.338542, -120.336458, -120.334375, -120.332292, -120.330208,
             -120.328125, -120.326042, -120.323958, -120.321875, -120.319792,
             -120.317708, -120.315625, -120.313542, -120.311458, -120.309375,
             -120.307292, -120.305208, -120.303125, -120.301042, -120.298958,
             -120.296875, -120.294792, -120.292708, -120.290625, -120.288542,
             -120.286458, -120.284375, -120.282292])
    • y
      (y)
      float64
      48.5 48.49 48.49 ... 48.28 48.27
      array([48.496875, 48.494792, 48.492708, 48.490625, 48.488542, 48.486458,
             48.484375, 48.482292, 48.480208, 48.478125, 48.476042, 48.473958,
             48.471875, 48.469792, 48.467708, 48.465625, 48.463542, 48.461458,
             48.459375, 48.457292, 48.455208, 48.453125, 48.451042, 48.448958,
             48.446875, 48.444792, 48.442708, 48.440625, 48.438542, 48.436458,
             48.434375, 48.432292, 48.430208, 48.428125, 48.426042, 48.423958,
             48.421875, 48.419792, 48.417708, 48.415625, 48.413542, 48.411458,
             48.409375, 48.407292, 48.405208, 48.403125, 48.401042, 48.398958,
             48.396875, 48.394792, 48.392708, 48.390625, 48.388542, 48.386458,
             48.384375, 48.382292, 48.380208, 48.378125, 48.376042, 48.373958,
             48.371875, 48.369792, 48.367708, 48.365625, 48.363542, 48.361458,
             48.359375, 48.357292, 48.355208, 48.353125, 48.351042, 48.348958,
             48.346875, 48.344792, 48.342708, 48.340625, 48.338542, 48.336458,
             48.334375, 48.332292, 48.330208, 48.328125, 48.326042, 48.323958,
             48.321875, 48.319792, 48.317708, 48.315625, 48.313542, 48.311458,
             48.309375, 48.307292, 48.305208, 48.303125, 48.301042, 48.298958,
             48.296875, 48.294792, 48.292708, 48.290625, 48.288542, 48.286458,
             48.284375, 48.282292, 48.280208, 48.278125, 48.276042, 48.273958])
    • spatial_ref
      ()
      int64
      0
      crs_wkt :
      GEOGCS["WGS 84",DATUM["WGS_1984",SPHEROID["WGS 84",6378137,298.257223563,AUTHORITY["EPSG","7030"]],AUTHORITY["EPSG","6326"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],AXIS["Latitude",NORTH],AXIS["Longitude",EAST],AUTHORITY["EPSG","4326"]]
      semi_major_axis :
      6378137.0
      semi_minor_axis :
      6356752.314245179
      inverse_flattening :
      298.257223563
      reference_ellipsoid_name :
      WGS 84
      longitude_of_prime_meridian :
      0.0
      prime_meridian_name :
      Greenwich
      geographic_crs_name :
      WGS 84
      horizontal_datum_name :
      World Geodetic System 1984
      grid_mapping_name :
      latitude_longitude
      spatial_ref :
      GEOGCS["WGS 84",DATUM["WGS_1984",SPHEROID["WGS 84",6378137,298.257223563,AUTHORITY["EPSG","7030"]],AUTHORITY["EPSG","6326"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],AXIS["Latitude",NORTH],AXIS["Longitude",EAST],AUTHORITY["EPSG","4326"]]
      GeoTransform :
      -120.6104166554504 0.002083333333139592 0.0 48.49791666215656 0.0 -0.002083333333139592
      array(0)
    • date
      (date)
      datetime64[ns]
      2017-05-17 ... 2022-08-21
      array(['2017-05-17T00:00:00.000000000', '2017-06-02T00:00:00.000000000',
             '2017-06-18T00:00:00.000000000', '2017-07-04T00:00:00.000000000',
             '2017-07-20T00:00:00.000000000', '2017-08-05T00:00:00.000000000',
             '2017-08-21T00:00:00.000000000', '2018-05-17T00:00:00.000000000',
             '2018-06-02T00:00:00.000000000', '2018-06-18T00:00:00.000000000',
             '2018-07-04T00:00:00.000000000', '2018-07-20T00:00:00.000000000',
             '2018-08-05T00:00:00.000000000', '2018-08-21T00:00:00.000000000',
             '2019-05-17T00:00:00.000000000', '2019-06-02T00:00:00.000000000',
             '2019-06-18T00:00:00.000000000', '2019-07-04T00:00:00.000000000',
             '2019-07-20T00:00:00.000000000', '2019-08-05T00:00:00.000000000',
             '2019-08-21T00:00:00.000000000', '2020-06-01T00:00:00.000000000',
             '2020-06-17T00:00:00.000000000', '2020-07-03T00:00:00.000000000',
             '2020-07-19T00:00:00.000000000', '2020-08-04T00:00:00.000000000',
             '2020-08-20T00:00:00.000000000', '2021-05-17T00:00:00.000000000',
             '2021-06-02T00:00:00.000000000', '2021-06-18T00:00:00.000000000',
             '2021-07-04T00:00:00.000000000', '2021-07-20T00:00:00.000000000',
             '2021-08-05T00:00:00.000000000', '2021-08-21T00:00:00.000000000',
             '2022-05-17T00:00:00.000000000', '2022-06-02T00:00:00.000000000',
             '2022-06-18T00:00:00.000000000', '2022-07-04T00:00:00.000000000',
             '2022-07-20T00:00:00.000000000', '2022-08-05T00:00:00.000000000',
             '2022-08-21T00:00:00.000000000'], dtype='datetime64[ns]')
    • NDVI
      (date, y, x)
      float32
      0.0321 -0.0573 ... 0.8012 0.8027
      array([[[ 0.0321, -0.0573, -0.0201, ...,  0.5833,  0.8016,  0.8016],
              [-0.0577, -0.0577, -0.0508, ...,  0.7287,  0.7287,  0.7239],
              [ 0.0521, -0.0425, -0.0425, ...,  0.6635,  0.7061,  0.7061],
              ...,
              [ 0.6833,  0.6811,  0.6811, ...,  0.7319,  0.7191,  0.7572],
              [ 0.6256,  0.6256,  0.5969, ...,  0.7181,  0.7181,  0.7288],
              [ 0.6539,  0.5072,  0.5072, ...,  0.6747,  0.6979,  0.7112]],
      
             [[ 0.0586, -0.0065, -0.0593, ...,  0.6168,  0.6896,  0.6896],
              [ 0.01  ,  0.01  , -0.0403, ...,  0.7244,  0.7244,  0.7598],
              [-0.0245, -0.0301, -0.0301, ...,  0.6137,  0.6975,  0.6975],
              ...,
              [ 0.6153,  0.6828,  0.6828, ...,  0.7446,  0.7772,  0.7786],
              [ 0.5778,  0.5778,  0.6048, ...,  0.7565,  0.7565,  0.7565],
              [ 0.6211,  0.4915,  0.4915, ...,  0.7551,  0.7452,  0.7901]],
      
             [[ 0.3471,  0.1317,  0.0225, ...,  0.6294,  0.7827,  0.7827],
              [ 0.1704,  0.1704, -0.0063, ...,  0.7377,  0.7377,  0.7512],
              [ 0.1155,  0.0032,  0.0032, ...,  0.7377,  0.6997,  0.6997],
              ...,
      ...
              [ 0.6301,  0.7319,  0.7319, ...,  0.7253,  0.7785,  0.7785],
              [ 0.566 ,  0.566 ,  0.6411, ...,  0.7597,  0.7597,  0.789 ],
              [ 0.6155,  0.6155,  0.6155, ...,  0.7788,  0.7778,  0.7698]],
      
             [[ 0.6067,  0.3354,  0.3245, ...,  0.4509,  0.5849,  0.5849],
              [ 0.3342,  0.3342,  0.2009, ...,  0.5025,  0.5025,  0.5133],
              [ 0.2613,  0.1955,  0.2689, ...,  0.4361,  0.4826,  0.4826],
              ...,
              [ 0.5782,  0.69  ,  0.69  , ...,  0.7218,  0.75  ,  0.7659],
              [ 0.5452,  0.5452,  0.6467, ...,  0.7422,  0.7422,  0.7847],
              [ 0.5959,  0.5194,  0.5194, ...,  0.7886,  0.7707,  0.8079]],
      
             [[ 0.5671,  0.3595,  0.194 , ...,  0.4787,  0.6252,  0.6252],
              [ 0.4855,  0.4855,  0.2249, ...,  0.4863,  0.4863,  0.5299],
              [ 0.2932,  0.2331,  0.2663, ...,  0.481 ,  0.5135,  0.5135],
              ...,
              [ 0.5792,  0.6524,  0.6524, ...,  0.6865,  0.7533,  0.7752],
              [ 0.5484,  0.5484,  0.6101, ...,  0.7697,  0.7697,  0.7697],
              [ 0.5466,  0.4951,  0.4951, ...,  0.8052,  0.8012,  0.8027]]],
            dtype=float32)
    • x
      PandasIndex
      PandasIndex(Index([-120.60937498878383,  -120.6072916554507, -120.60520832211755,
              -120.6031249887844, -120.60104165545127, -120.59895832211814,
             -120.59687498878499, -120.59479165545184, -120.59270832211871,
             -120.59062498878558,
             ...
             -120.30104165547917, -120.29895832214604, -120.29687498881289,
             -120.29479165547974, -120.29270832214661, -120.29062498881348,
             -120.28854165548033, -120.28645832214718, -120.28437498881405,
             -120.28229165548092],
            dtype='float64', name='x', length=158))
    • y
      PandasIndex
      PandasIndex(Index([48.49687499548999, 48.49479166215685, 48.49270832882371,
             48.49062499549057, 48.48854166215743, 48.48645832882429,
             48.48437499549115, 48.48229166215801, 48.48020832882487,
             48.47812499549173,
             ...
             48.29270832884231, 48.29062499550917, 48.28854166217603,
             48.28645832884289, 48.28437499550975, 48.28229166217661,
             48.28020832884347, 48.27812499551033, 48.27604166217719,
             48.27395832884405],
            dtype='float64', name='y', length=108))
    • date
      PandasIndex
      PandasIndex(DatetimeIndex(['2017-05-17', '2017-06-02', '2017-06-18', '2017-07-04',
                     '2017-07-20', '2017-08-05', '2017-08-21', '2018-05-17',
                     '2018-06-02', '2018-06-18', '2018-07-04', '2018-07-20',
                     '2018-08-05', '2018-08-21', '2019-05-17', '2019-06-02',
                     '2019-06-18', '2019-07-04', '2019-07-20', '2019-08-05',
                     '2019-08-21', '2020-06-01', '2020-06-17', '2020-07-03',
                     '2020-07-19', '2020-08-04', '2020-08-20', '2021-05-17',
                     '2021-06-02', '2021-06-18', '2021-07-04', '2021-07-20',
                     '2021-08-05', '2021-08-21', '2022-05-17', '2022-06-02',
                     '2022-06-18', '2022-07-04', '2022-07-20', '2022-08-05',
                     '2022-08-21'],
                    dtype='datetime64[ns]', name='date', freq=None))

NDVI change over time 2017-2019¶

THis map shows the change in NDVI data from 2017 pre-fire, to 2019 post-fire. It is clear from the map that the fire caused significant impacts to the vegetation and forest health inside the fire boundary.

No description has been provided for this image
geometry
0 MULTIPOLYGON (((-120.60954 48.43019, -120.6095...
(      band  spatial_ref      NDVI
 year                             
 2017     1            0  0.675163
 2018     1            0  0.631199
 2019     1            0  0.447035
 2020     1            0  0.501148
 2021     1            0  0.517128
 2022     1            0  0.497369,
       band  spatial_ref      NDVI
 year                             
 2017     1            0  0.537322
 2018     1            0  0.546438
 2019     1            0  0.563249
 2020     1            0  0.554804
 2021     1            0  0.529473
 2022     1            0  0.483290)

Significant Impact to Vegetation in Crescent Mountain Wildfire Burn Zone¶

The plot shows the difference in NDVI for the Crescent Mountain Fire burn area and its surrounding from 2017, before the fire through 2022, 4 years after the fire. The plot shows significant recovery of vegetation health, but still a marked disparity between pre-fire vegetation health and post-fire vegetation health.

<Axes: xlabel='year', ylabel='Difference in NDVI'>
No description has been provided for this image

Data Source¶

The data was collected by Nasa's Aqua MODIS platform, and accessed through the APPEEARS API. Didan, K. (2021). MODIS/Aqua Vegetation Indices 16-Day L3 Global 250m SIN Grid V061. NASA EOSDIS Land Processes Distributed Active Archive Center. Accessed 2023-10-05 from https://doi.org/10.5067/MODIS/MYD13Q1.061. Accessed October 5, 2023.

---------------------------------------------------------------------------
CalledProcessError                        Traceback (most recent call last)
/workspaces/Earthlabnb.github.io/notebooks/crescent-mtn-fire-raster-data.ipynb Cell 18 line 1
----> <a href='vscode-notebook-cell://codespaces%2Bbookish-zebra-5gq57ppr95gjcv7gw/workspaces/Earthlabnb.github.io/notebooks/crescent-mtn-fire-raster-data.ipynb#X23sdnNjb2RlLXJlbW90ZQ%3D%3D?line=0'>1</a> get_ipython().run_cell_magic('bash', '', 'jupyter nbconvert raster-data-analysis.ipynb --to html --no-input\n')

File /opt/conda/lib/python3.10/site-packages/IPython/core/interactiveshell.py:2493, in InteractiveShell.run_cell_magic(self, magic_name, line, cell)
   2491 with self.builtin_trap:
   2492     args = (magic_arg_s, cell)
-> 2493     result = fn(*args, **kwargs)
   2495 # The code below prevents the output from being displayed
   2496 # when using magics with decorator @output_can_be_silenced
   2497 # when the last Python token in the expression is a ';'.
   2498 if getattr(fn, magic.MAGIC_OUTPUT_CAN_BE_SILENCED, False):

File /opt/conda/lib/python3.10/site-packages/IPython/core/magics/script.py:154, in ScriptMagics._make_script_magic.<locals>.named_script_magic(line, cell)
    152 else:
    153     line = script
--> 154 return self.shebang(line, cell)

File /opt/conda/lib/python3.10/site-packages/IPython/core/magics/script.py:314, in ScriptMagics.shebang(self, line, cell)
    309 if args.raise_error and p.returncode != 0:
    310     # If we get here and p.returncode is still None, we must have
    311     # killed it but not yet seen its return code. We don't wait for it,
    312     # in case it's stuck in uninterruptible sleep. -9 = SIGKILL
    313     rc = p.returncode or -9
--> 314     raise CalledProcessError(rc, cell)

CalledProcessError: Command 'b'jupyter nbconvert raster-data-analysis.ipynb --to html --no-input\n'' returned non-zero exit status 255.