diff --git a/.github/workflows/test_file_reader.yml b/.github/workflows/test_file_reader.yml new file mode 100644 index 00000000..fbe54239 --- /dev/null +++ b/.github/workflows/test_file_reader.yml @@ -0,0 +1,35 @@ +name: file_reader test + +on: + push: + branches: + - main + pull_request: + branches: + - main + + + +jobs: + linux: + runs-on: ubuntu-latest + strategy: + matrix: + python-version: ['3.11'] + + steps: + - uses: actions/checkout@v4 + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v5 + with: + python-version: ${{ matrix.python-version }} + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install -r requirements.txt + pip install . + pip install graphviz + - name: Test reader + run: | + pip install pytest + pytest dsi/plugins/tests/test_file_reader.py \ No newline at end of file diff --git a/.github/workflows/test_file_writer.yml b/.github/workflows/test_file_writer.yml new file mode 100644 index 00000000..ef4f0c0d --- /dev/null +++ b/.github/workflows/test_file_writer.yml @@ -0,0 +1,36 @@ +name: file_writer test + +on: + push: + branches: + - main + pull_request: + branches: + - main + + +jobs: + linux: + runs-on: ubuntu-latest + strategy: + matrix: + python-version: ['3.11'] + + steps: + - uses: actions/checkout@v4 + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v5 + with: + python-version: ${{ matrix.python-version }} + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install -r requirements.txt + python -m pip install opencv-python + pip install . + pip install graphviz + sudo apt-get install graphviz + - name: Test reader + run: | + pip install pytest + pytest dsi/plugins/tests/test_file_writer.py \ No newline at end of file diff --git a/.github/workflows/test_sqlite.yml b/.github/workflows/test_sqlite.yml new file mode 100644 index 00000000..b402b5c3 --- /dev/null +++ b/.github/workflows/test_sqlite.yml @@ -0,0 +1,34 @@ +name: sqlite.py test + +on: + push: + branches: + - main + pull_request: + branches: + - main + + +jobs: + linux: + runs-on: ubuntu-latest + strategy: + matrix: + python-version: ['3.11'] + + steps: + - uses: actions/checkout@v4 + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v5 + with: + python-version: ${{ matrix.python-version }} + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install -r requirements.txt + pip install . + pip install ipykernel + - name: Test reader + run: | + pip install pytest + pytest dsi/backends/tests/test_sqlite.py \ No newline at end of file diff --git a/.gitignore b/.gitignore index 5ea73793..f758e662 100644 --- a/.gitignore +++ b/.gitignore @@ -14,6 +14,8 @@ __pycache__/ # Distribution / packaging .Python build/ +dist/ +*.dist/ lib/ lib64/ parts/ @@ -23,6 +25,10 @@ wheels/ share/python-wheels/ MANIFEST +# Local environment +pcenv/ +dsienv/ + # PyInstaller # Usually these files are written by a python script from a template # before PyInstaller builds the exe, so as to inject date/other infos into it. @@ -50,13 +56,20 @@ cover/ # Testing artifacts *query.csv -dsi_parquet_driver_output.ipynb +dsi_parquet_backend_output.ipynb *.ipynb_checkpoints parquet.data +# Intermediate data types +# Unless manually specified in a git add +*.csv +*.cdb + # Force coverage svg include !coverage.svg # Misc .vscode docs/_build dsi.egg-info/ +*.egg-info/ +.DS_Store diff --git a/.vscode/launch.json b/.vscode/launch.json deleted file mode 100644 index fdebd85a..00000000 --- a/.vscode/launch.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - // Use IntelliSense to learn about possible attributes. - // Hover to view descriptions of existing attributes. - // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 - "version": "0.2.0", - "configurations": [ - - { - "name": "Python: Current File", - "type": "python", - "request": "launch", - "program": "${file}", - "console": "integratedTerminal", - "cwd": "${fileDirname}" - }, - - { - "name": "Python: Workflow", - "type": "python", - "request": "launch", - "console": "integratedTerminal", - "cwd": "${fileDirname}", - "module": "unittest", - "args": [ - "discover", - "testing" - ] - }, - - { - "name": "Launch on Server", - "request": "launch", - "type": "msedge", - "url": "http://localhost:8080", - "webRoot": "${workspaceFolder}/viewers" - }, - - { - "type": "msedge", - "request": "launch", - "name": "Html local test", - "url": "${file}", - "cwd": "${fileDirname}" - } - ] -} \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json deleted file mode 100644 index d3fc88ce..00000000 --- a/.vscode/settings.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "python.pythonPath": "H:\\Program Files\\Python38\\python.exe" -} \ No newline at end of file diff --git a/README.rst b/README.rst index 3e911ae3..557f63d4 100644 --- a/README.rst +++ b/README.rst @@ -2,36 +2,33 @@ DSI ============= -.. image:: coverage.svg - :target: https://lanl.github.io/dsi/htmlcov/index.html - The goal of the Data Science Infrastructure Project (DSI) is to provide a flexible, AI-ready metadata query capability which returns data subject to strict, POSIX-enforced file security. The data lifecycle for AI/ML requires seamless transitions from data-intensive/AI/ML research activity to long-term archiving and shared data repositories. DSI enables flexible, data-intensive scientific workflows that meet researcher needs. DSI is implemented in three parts: -* Plugins -* Drivers +* Plugins (Readers and Writers) +* Backends * Core middleware -Plugins curate metadata for query and data return. Plugins can have producer or consumer funcitonality. Plugins acting as consumers harvest data from files and streams. Plugins acting as producers execute containerized or baremetal applications to supplement queriable metadata and data. Plugins may be user contributed and a default set of plugins is available with usage examples in our `Core documentation `_. +Plugins curate metadata for query and data return. Plugins can have read or write funcitonality acting as Readers and Writers for DSI. Plugins acting as readers harvest data from files and streams. Plugins acting as writers execute containerized or baremetal applications to supplement queriable metadata and data. Plugins may be user contributed and a default set of plugins is available with usage examples in our `Core documentation `_. -Drivers are interfaces for the Core middleware. Drivers can have front-end or back-end functionalities. Driver front-ends are the interface between a DSI user and the Core middleware. Driver back-ends are the interface between the Core Middleware and a data store. Drivers may be user contributed and a default set of drivers is available with usage examples in our `Core documentation `_. +Backends are interfaces for the Core middleware. Backends consist mostly of back-end/storage functionalities and are the interface between the Core Middleware and a data store. Backends may also have some front-end functionality interfacing between a DSI user and the Core middleware. Backends may be user contributed and a default set of backends are available with usage examples in our `Core documentation `_. -DSI Core middleware provides the user/machine interface. The Core middleware defines a Terminal object. An instantiated Core Terminal can load zero or more plugins and drivers. A Terminal object can be used in scripting workflows and program loops. +DSI Core middleware provides the user/machine interface. The Core middleware defines a Terminal object. An instantiated Core Terminal can load zero or more plugins and backends. A Terminal object can be used in scripting workflows and program loops. ===================== DSI Core Requirements ===================== * python3 (3.11 tested) -* Linux OS (RHEL- and Debian-based distributions tested) +* Cross-platform (Unix / macOS / Windows) * Git -* Plugins and Drivers introduce further requirements +* Plugins and Backends introduce further requirements =============== Getting Started =============== -DSI does not yet have a versioned release and should be considered pre-alpha. Project contributors are encouraged to prototype solutions which do not contain sensitive data at this time. Consequently a PyPA release is planned but incomplete. It is possible to install DSI locally instead. +DSI has several versioned releases and cloning from 'main' can be considered as alpha-versions. Project contributors are encouraged to prototype solutions which do not contain sensitive data at this time. It is possible to install DSI locally instead with the following. We recommend Miniconda3 for managing virtual environments for DSI:: @@ -39,12 +36,25 @@ We recommend Miniconda3 for managing virtual environments for DSI:: conda create -n dsi python=3.11 conda activate dsi +Python virtual environments can also be used for DSI:: + + python3 -m venv dsienv + source dsienv/bin/activate + pip install --upgrade pip + After activating your environment:: git clone https://github.com/lanl/dsi.git cd dsi/ - python -m pip install . + python3 -m pip install . +===================== +Release Versions +===================== + +Install release versions of DSI can be found in (https://pypi.org/project/dsi-workflow/), to install the latest try the following:: + + python3 -m pip install dsi-workflow ===================== Copyright and License diff --git a/coverage.svg b/coverage.svg deleted file mode 100644 index e5db27cd..00000000 --- a/coverage.svg +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - - - - - - - coverage - coverage - 100% - 100% - - diff --git a/docs/Makefile b/docs/Makefile index 03fd4a30..e8fb85dc 100644 --- a/docs/Makefile +++ b/docs/Makefile @@ -10,16 +10,16 @@ all: html # Build HTML html: python ./plugins/generate_plugin_class_hierarchy.py ../dsi/plugins/ - python ./drivers/generate_driver_class_hierarchy.py ../dsi/drivers/ + python ./backends/generate_backend_class_hierarchy.py ../dsi/backends/ mv PluginClassHierarchy.gv.png PluginClassHierarchy.png - mv DriverClassHierarchy.gv.png DriverClassHierarchy.png + mv BackendClassHierarchy.gv.png BackendClassHierarchy.png + rm -rf $(BUILDDIR)/html $(SPHINXBUILD) -b html . $(BUILDDIR)/html - rm -rf $(BUILDDIR)/html/htmlcov - pytest --cov --cov-report=html ../ - mv ./htmlcov $(BUILDDIR)/html +# pytest --cov --cov-report=html ../ +# mv ./htmlcov $(BUILDDIR)/html rm -f ../coverage.svg - coverage-badge -o ../coverage.svg - git add ../coverage.svg +# coverage-badge -o ../coverage.svg +# git add ../coverage.svg @echo @echo "Build finished. The HTML pages are in $(BUILDDIR)/html." @@ -29,6 +29,8 @@ html: # github for some reason runs jekyll automatically on gh-pages # files, but we don't want that. 'touch .nojekyll' takes care # of it. +# git add --force ./htmlcov && \ + gh-pages: _build/html root="$$(git rev-parse --show-toplevel)" && \ cd _build/html && \ @@ -36,7 +38,6 @@ gh-pages: _build/html touch .nojekyll && \ git init && \ git add . && \ - git add --force ./htmlcov && \ git commit -m "DSI Documentation" && \ git push -f $$root master:gh-pages && \ rm -rf .git @@ -60,4 +61,4 @@ help: @echo " publish upload documentation to github" clean: - -rm -rf $(BUILDDIR)/* *ClassHierarchy.gv *Hierarchy.png + -rm -rf $(BUILDDIR)/* *ClassHierarchy.gv *Hierarchy.png diff --git a/docs/README.rst b/docs/README.rst index f169bf37..9fc73fb5 100644 --- a/docs/README.rst +++ b/docs/README.rst @@ -1,22 +1,67 @@ -=========================== +.. _label_builddocs: + How to build documentation -=========================== - -1. Create or activate a DSI virtual environment † -2. ``cd`` into the project space root -3. ``python -m pip install sphinx sphinx_rtd_theme pytest-cov coverage-badge gitpython graphviz .`` -4. ``cd ./docs`` -5. ``make html`` -6. ``make gh-pages`` -7. Only if you want to update official documentation on Github: ``make publish`` - -==================================================== -† How to create and activate a virtual environment -==================================================== -We recommend Miniconda for virtual environment management (`https://docs.conda.io/en/latest/miniconda.html`). To create and activate a Miniconda virtual environment: - -1. Download and install the appropriate Miniconda installer for your platform. -2. If this is the first time creating a DSI virtual environment: ``conda create -n 'dsi' python=3.11``. The ``-n`` name argument can be anything you like. -3. Once the virtual environment is created, activate it with ``conda activate dsi``, or whatever name you picked in the preceding step. -4. Proceed with Step 2 in the "How to build documentation" section. -5. When you've completed work, deativate the conda environment with ``conda deactivate``. +========================== + +#. Create or activate a DSI virtual environment (`How to create and activate a virtual environment`_). + +#. Go down into the project space root and use pip to install dsi along with other libraries needed for the documentation: + +.. code-block:: unixconfig + + cd dsi + pip install . + pip install sphinx sphinx_rtd_theme pytest-cov coverage-badge gitpython . + pip install pyarrow nbconvert pydantic pandas pydot . + pip install graphviz . + +Note that if graphviz does not install, you may need to install via homebrew or manually build. + +3. Go down into the docs directory. + +.. code-block:: unixconfig + + cd dsi + +4. Make your changes to the documentation. Use: + +.. code-block:: unixconfig + + make html + +to build the documents. When complete, push the changes to the repo. + +5. Then trigger the changes to the gh-pages via: + +.. code-block:: unixconfig + + make gh-pages + +6. And update the official documentation on Github (this may take a few minutes to propogate): + +.. code-block:: unixconfig + + make publish + +.. _label_virtual: + +How to create and activate a virtual environment +================================================ + +We suggest creating a python environment: + +1. Navigate to the project workspace. +2. If this is the first time creating a DSI virtual environment, choose a name, e.g. **mydsi**: + +.. code-block:: unixconfig + + python -m venv mydsi + +3. Then activate the environment: + +.. code-block:: unixconfig + + source mydsi/bin/activate + +4. Proceed with the pip installation in the `How to build documentation`_ section. +5. When you've completed work, deativate the environment with ``deactivate`` . diff --git a/docs/backends.rst b/docs/backends.rst new file mode 100644 index 00000000..39c13b0e --- /dev/null +++ b/docs/backends.rst @@ -0,0 +1,25 @@ +Backends +======== + +Backends connect users to DSI Core middleware and backends allow DSI middleware data structures to read and write to persistent external storage. Backends are modular to support user contribution. Backend contributors are encouraged to offer custom backend abstract classes and backend implementations. A contributed backend abstract class may extend another backend to inherit the properties of the parent. In order to be compatible with DSI core middleware, backends should create an interface to Python built-in data structures or data structures from the Python ``collections`` library. Backend extensions will be accepted conditional to the extention of ``backends/tests`` to demonstrate new Backend capability. We can not accept pull requests that are not tested. + +Note that any contributed backends or extensions should include unit tests in ``backends/tests`` to demonstrate the new Backend capability. + +.. figure:: BackendClassHierarchy.png + :alt: Figure depicting the current backend class hierarchy. + :class: with-shadow + :scale: 100% + + Figure depicts the current DSI backend class hierarchy. + +.. automodule:: dsi.backends.filesystem + :members: + +.. automodule:: dsi.backends.sqlite + :members: + +.. automodule:: dsi.backends.gufi + :members: + +.. automodule:: dsi.backends.parquet + :members: diff --git a/docs/drivers/generate_driver_class_hierarchy.py b/docs/backends/generate_backend_class_hierarchy.py similarity index 89% rename from docs/drivers/generate_driver_class_hierarchy.py rename to docs/backends/generate_backend_class_hierarchy.py index 7cb945a1..979a1635 100644 --- a/docs/drivers/generate_driver_class_hierarchy.py +++ b/docs/backends/generate_backend_class_hierarchy.py @@ -1,4 +1,4 @@ -from dsi.drivers.filesystem import Driver +from dsi.backends.filesystem import Backend import os import sys @@ -48,5 +48,5 @@ def process_children(r): if __name__ == "__main__": - ct = ClassTreeNode(Driver) # generate class hierarchy for Driver - ct.export_png(name="DriverClassHierarchy") + ct = ClassTreeNode(Backend) # generate class hierarchy for Backend + ct.export_png(name="BackendClassHierarchy") diff --git a/docs/conf.py b/docs/conf.py index 59f6672e..1789e6b4 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -7,14 +7,17 @@ # https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information project = 'DSI' -copyright = '2023, Terry Turton' -author = 'Terry Turton' +copyright = '2023, Triad National Security, LLC. All rights reserved.' +author = 'The DSI Project team' release = '0.0.0' # -- General configuration --------------------------------------------------- # https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration -extensions = ['sphinx_rtd_theme', 'sphinx.ext.autodoc'] +extensions = ['sphinx_rtd_theme', 'sphinx.ext.autodoc', 'sphinx.ext.autosectionlabel'] + +# Make sure the target is unique +autosectionlabel_prefix_document = True templates_path = ['_templates'] exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store', 'README.rst'] diff --git a/docs/contributing_readers.rst b/docs/contributing_readers.rst new file mode 100644 index 00000000..c0055911 --- /dev/null +++ b/docs/contributing_readers.rst @@ -0,0 +1,90 @@ +==================================== +Making a Reader for Your Application +==================================== + +DSI readers are the primary way to transform outside data to metadata that DSI can ingest. Readers are Python classes that must include a few methods, namely ``__init__``, ``pack_header``, and ``add_rows``. + +Initializer: ``__init__(self) -> None:`` +------------------------------------------- +``__init__`` is where you can include all of your initialization logic, just make sure to initialize your superclass. +Note: ``__init__`` can also take whatever parameters needed for a given application. + +Example ``__init__``: :: + + def __init__(self) -> None: + super().__init__() # see "plugins" to determine which superclass your reader should extend + +Pack Header: ``pack_header(self) -> None`` +--------------------------------------------- + +``pack_header`` is responsible for setting a schema, registering which columns +will be populated by the reader. The ``set_schema(self, table_data: list, validation_model=None) -> None`` method +is available to subclasses of ``StructuredMetadata``, which allows one to simply give a list of column names to register. +``validation_model`` is an pydantic model that can help you enforce types, but is completely optional. + +Example ``pack_header``: :: + + def pack_header(self) -> None: + column_names = ["foo", "bar", "baz"] + self.set_schema(column_names) + +Add Rows: ``add_rows(self) -> None`` +------------------------------------- + +``add_rows`` is responsible for appending to the internal metadata buffer. +Whatever data is being ingested, it's done here. The ``add_to_output(self, row: list) -> None`` method is available to subclasses +of ``StructuredMetadata``, which takes a list of data that matches the schema and appends it to the internal metadata buffer. + +Note: ``pack_header`` must be called before metadata is appended in ``add_rows``. Another helper method of +``StructuredMetadata`` is ``schema_is_set``, which provides a way to tell if this restriction is met. + +Example ``add_rows``: :: + + def add_rows(self) -> None: + if not self.schema_is_set(): + self.pack_header() + + # data parsing can go here (or abstracted to other functions) + my_data = [1, 2, 3] + + self.add_to_output(my_data) + +*Alternate* Add Rows: ``add_rows(self) -> None`` +------------------------------------- +If you are confident that the the data you read in ``add_rows`` is in the form of an OrderedDict (the data structure used to store all ingested data), you can bypass the use of ``pack_header`` and ``add_to_output`` with an alternate ``set_schema`` function. + +This function, ``set_schema_2(self, collection, validation_model=None) -> None``, directly assigns the data you read in ``add_rows`` to the internal DSI abstraction layer, provided that the data you pass as the ``collection`` variable is an OrderedDict. This method allows you to quickly append data to the abstraction wholesale, rather than row-by-row. + +Example alternate ``add_rows``: :: + + def add_rows(self) -> None: + + # data is stored as an OrderedDict so can use set_schema2 + my_data = OrderedDict() + my_data["jack"] = 10 + my_data["joey"] = 20 + my_data["amy"] = 30 + + self.set_schema2(my_data) + +Implemented Examples +-------------------------------- +If you want to see some full reader examples in-code, some can be found in +`dsi/plugins/env.py `_. +``Hostname`` is an especially simple example to go off of. + +Loading Your Reader +------------------------- +There are two ways to load your reader, internally and externally. + + - Internally: If you want your reader loadable internally with the rest of the provided implementations (in `dsi/plugins `_), it must be registered in the class variables of ``Terminal`` in `dsi/core.py `_. If this is done correctly, your reader will be loadable by the ``load_module`` method of ``Terminal``. + - Externally: If your reader is not along side the other provided implementations, possibly somewhere else on the filesystem, your reader will be loaded externally. This is done by using the ``add_external_python_module`` method of ``Terminal``. If you load an external Python module this way (ex. ``term.add_external_python_module('plugin','my_python_file','/the/path/to/my_python_file.py')``), your reader will then be loadable by the ``load_module`` method of ``Terminal``. + + +Contributing Your Reader +-------------------------- +If your reader is helpful and acceptable for public use, you should consider making a pull request (PR) into DSI. + +Please note that any accepted PRs into DSI should satisfy the following: + - Passes all tests in ``dsi/plugins/tests`` + - Has no ``pylama`` errors/warnings (see `dsi/.githooks `_) diff --git a/docs/core.rst b/docs/core.rst index 78efff07..a1cf85fe 100644 --- a/docs/core.rst +++ b/docs/core.rst @@ -1,86 +1,31 @@ Core -=================== -The DSI Core middleware defines the Terminal concept. An instantiated Terminal is the human/machine DSI interface. The person setting up a Core Terminal only needs to know how they want to ask questions, and what metadata they want to ask questions about. If they don’t see an option to ask questions the way they like, or they don’t see the metadata they want to ask questions about, then they should ask a Driver Contributor or a Plugin Contributor, respectively. +==== -A Core Terminal is a home for Plugins, and an interface for Drivers. A Core Terminal is instantiated with a set of default Plugins and Drivers, but they must be loaded before a user query is attempted. Here's an example of how you might work with DSI using an interactive Python interpreter for your data science workflows:: +The DSI Core middleware defines the Terminal concept. An instantiated Terminal is the human/machine DSI interface. The person setting up a Core Terminal only needs to know how they want to ask questions, and what metadata they want to ask questions about. If they don’t see an option to ask questions the way they like, or they don’t see the metadata they want to ask questions about, then they should ask a Backend Contributor or a Plugin Contributor, respectively. ->>> from dsi.core import Terminal ->>> a=Terminal() ->>> a.list_available_modules('plugin') ->>> # ['Bueno', 'Hostname', 'SystemKernel'] ->>> a.load_module('plugin','Bueno','consumer',filename='./data/bueno.data') ->>> # Bueno plugin consumer loaded successfully. ->>> a.load_module('plugin','Hostname','producer') ->>> # Hostname plugin producer loaded successfully. ->>> a.list_loaded_modules() ->>> # {'producer': [], ->>> # 'consumer': [], ->>> # 'front-end': [], ->>> # 'back-end': []} +A Core Terminal is a home for Plugins (Readers/Writers), and an interface for Backends. A Core Terminal is instantiated with a set of default Plugins and Backends, but they must be loaded before a user query is attempted. ``core.py`` contains examples of how you might work with DSI using an interactive Python interpreter for your data science workflows: +.. literalinclude:: ../examples/coreterminal.py -At this point, you might decide that you are ready to collect data for inspection. It is possible to utilize DSI Drivers to load additional metadata to supplement your Plugin metadata, but you can also sample Plugin data and search it directly. +At this point, you might decide that you are ready to collect data for inspection. It is possible to utilize DSI Backends to load additional metadata to supplement your Plugin metadata, but you can also sample Plugin data and search it directly. -The process of transforming a set of Plugin producers and consumers into a querable format is called transloading. A DSI Core Terminal has a ``transload()`` method which may be called to execute all Plugins at once:: ->>> a.transload() ->>> a.active_metadata ->>> # OrderedDict([('uid', [1000]), ('effective_gid', [1000]), ('moniker', ['qwofford'])... - -Once a Core Terminal has been transloaded, no further Plugins may be added. However, the transload method can be used to samples of each plugin as many times as you like:: +The process of transforming a set of Plugin writers and readers into a queryable format is called transloading. A DSI Core Terminal has a ``transload()`` method which may be called to execute all Plugins at once:: ->>> a.transload() ->>> a.transload() >>> a.transload() >>> a.active_metadata ->>> # OrderedDict([('uid', [1000, 1000, 1000, 1000]), ('effective_gid', [1000, 1000, 1000... - -If you perform data science tasks using Python, it is not necessary to create a DSI Core Terminal front-end because the data is already in a Python data structure. If your data science tasks can be completed in one session, it is not required to interact with DSI Drivers. However, if you do want to save your work, you can load a DSI Driver with a back-end function:: - ->>> a.list_available_modules('driver') ->>> # ['Gufi', 'Sqlite', 'Parquet'] ->>> a.load_module('driver','Parquet','back-end',filename='parquet.data') ->>> # Parquet driver back-end loaded successfully. ->>> a.list_loaded_modules() ->>> # {'producer': [], ->>> # 'consumer': [], ->>> # 'front-end': [], ->>> # 'back-end': []} ->>> a.artifact_handler(interaction_type='put') - -The contents of the active DSI Core Terminal metadata storage will be saved to a Parquet object at the path you provided at module loading time. - -It is possible that you prefer to perform data science tasks using a higher level abstraction than Python itself. This is the purpose of the DSI Driver front-end functionality. Unlike Plugins, Drivers can be added after the initial ``transload()`` operation has been performed:: - ->>> a.load_module('driver','Parquet','front-end',filename='parquet.data') ->>> # Parquet driver front-end loaded successfully. ->>> a.list_loaded_modules() ->>> # {'producer': [], ->>> # 'consumer': [], ->>> # 'front-end': [], ->>> # 'back-end': []} - -Any front-end may be used, but in this case the Parquet driver has a front-end implementation which builds a jupyter notebook from scratch that loads your metadata collection into a Pandas Dataframe. The Parquet front-end will then launch the Jupyter Notebook to support an interactive data science workflow:: - ->>> a.artifact_handler(interaction_type='inspect') ->>> # Writing Jupyter notebook... ->>> # Opening Jupyter notebook... +>>> # OrderedDict([('uid', [1000]), ('effective_gid', [1000]), ('moniker', ['qwofford'])... -.. image:: jupyter_frontend.png - :scale: 33% +Once a Core Terminal has been transloaded, no further Plugins may be added. -You can then close your Jupyter notebook, ``transload()`` additionally to increase your sample size, and use the interface to explore more data. +Core:Sync +--------- -Although this demonstration only used one Plugin per Plugin functionality, any number of plugins can be added to collect an arbitrary amount of queriable metadata:: +The DSI Core middleware also defines data management functionality in ``Sync``. The purpose of ``Sync`` is to provide file metadata documentation and data movement capabilities when moving data to/from local and remote locations. The purpose of data documentation is to capture and archive metadata (i.e. location of local file structure, their access permissions, file sizes, and creation/access/modification dates) and track their movement to the remote location for future access. The primary functions, ``Copy``, ``Move``, and ``Get`` serve as mechanisms to copy data, move data, or retrieve data from remote locations by creating a DSI database in the process, or retrieving an existing DSI database that contains the location(s) of the target data. ->>> a.load_module('plugin','SystemKernel','producer') ->>> # SystemKernel plugin producer loaded successfully ->>> a.list_loaded_modules() ->>> # {'producer': [, ], ->>> # 'consumer': [], ->>> # 'front-end': [], ->>> # 'back-end': []} +Core Modules and Functions +-------------------------- .. automodule:: dsi.core :members: diff --git a/docs/drivers.rst b/docs/drivers.rst deleted file mode 100644 index d59d0f42..00000000 --- a/docs/drivers.rst +++ /dev/null @@ -1,21 +0,0 @@ -Drivers -======================== - -Drivers have front-end and back-end functions. Drivers connect users to DSI Core middleware (front-end), and Drivers allow DSI Middleware data structures to read and write to persistent external storage (back-end). Drivers are modular to support user contribution. Driver contributors are encouraged to offer custom Driver abstract classes and Driver implementations. A contributed Driver abstract class may extend another Driver to inherit the properties of the parent. In order to be compatible with DSI Core middleware, Drivers should create an interface to Python built-in data structures or data structures from the Python ``collections`` library. Driver extensions will be accepted conditional to the extention of ``drivers/tests`` to demonstrate new Driver capability. We can not accept pull requests that are not tested. - - -.. image:: DriverClassHierarchy.png - -.. automodule:: dsi.drivers.filesystem - :members: - -.. automodule:: dsi.drivers.sqlite - :members: - -.. automodule:: dsi.drivers.gufi - :members: - -.. automodule:: dsi.drivers.parquet - :members: - - diff --git a/docs/example-pennant-output.png b/docs/example-pennant-output.png new file mode 100644 index 00000000..14e59968 Binary files /dev/null and b/docs/example-pennant-output.png differ diff --git a/docs/example-wildfire-jupyter.png b/docs/example-wildfire-jupyter.png new file mode 100644 index 00000000..1d9f47fc Binary files /dev/null and b/docs/example-wildfire-jupyter.png differ diff --git a/docs/example-wildfire-load.png b/docs/example-wildfire-load.png new file mode 100644 index 00000000..11dabc77 Binary files /dev/null and b/docs/example-wildfire-load.png differ diff --git a/docs/example-wildfire-pycinema.png b/docs/example-wildfire-pycinema.png new file mode 100644 index 00000000..30a21329 Binary files /dev/null and b/docs/example-wildfire-pycinema.png differ diff --git a/docs/examples.rst b/docs/examples.rst new file mode 100644 index 00000000..8621d5c4 --- /dev/null +++ b/docs/examples.rst @@ -0,0 +1,164 @@ + +DSI Examples +============ + +PENNANT mini-app +---------------- + +`PENNANT`_ is an unstructured mesh physics mini-application developed at Los Alamos National Laboratory +for advanced architecture research. +It contains mesh data structures and a few +physics algorithms from radiation hydrodynamics and serves as an example of +typical memory access patterns for an HPC simulation code. + +This DSI PENNANT example is used to show a common use case: create and query a set of metadata derived from an ensemble of simulation runs. The example GitHub directory includes 10 PENNANT runs using the PENNANT *Leblanc* test problem. + +In the first step, a python script is used to parse the slurm output files and create a CSV (comma separated value) file with the output metadata. + +.. code-block:: unixconfig + + ./parse_slurm_output.py --testname leblanc + + +.. literalinclude:: ../examples/pennant/parse_slurm_output.py + +A second python script, + +.. code-block:: unixconfig + + ./create_and_query_dsi_db.py --testname leblanc + + +reads in the CSV file and creates a database: + +.. code-block:: python + + """ + Creates the DSI db from the csv file + """ + """ + This script reads in the csv file created from parse_slurm_output.py. + Then it creates a DSI db from the csv file and performs a query. + """ + + import argparse + import sys + from dsi.backends.sqlite import Sqlite, DataType + import os + from dsi.core import Terminal + + isVerbose = True + + if __name__ == "__main__": + """ The testname argument is required """ + parser = argparse.ArgumentParser() + parser.add_argument('--testname', help='the test name') + args = parser.parse_args() + test_name = args.testname + if test_name is None: + parser.print_help() + sys.exit(0) + + table_name = "rundata" + csvpath = 'pennant_' + test_name + '.csv' + dbpath = 'pennant_' + test_name + '.db' + output_csv = "pennant_read_query.csv" + + #read in csv + core = Terminal(run_table_flag=False) + core.load_module('plugin', "Csv", "reader", filenames = csvpath, table_name = table_name) + + if os.path.exists(dbpath): + os.remove(dbpath) + + #load data into sqlite db + core.load_module('backend','Sqlite','back-write', filename=dbpath) + core.artifact_handler(interaction_type='put') + + # update dsi abstraction using a query to the sqlite db + query_data = core.artifact_handler(interaction_type='get', query = f"SELECT * FROM {table_name} WHERE hydro_cycle_run_time > 0.006;", dict_return = True) + core.update_abstraction(table_name, query_data) + + #export to csv + core.load_module('plugin', "Csv_Writer", "writer", filename = output_csv, table_name = table_name) + core.transload() + +Resulting in the output of the query: + +.. figure:: example-pennant-output.png + :alt: Screenshot of computer program output. + :class: with-shadow + + + The output of the PENNANT example. + + + +Wildfire Dataset +---------------- + +This example highlights the use of the DSI framework with QUIC-Fire simulation data and resulting images. QUIC-Fire is a fire-atmosphere modeling framework for prescribed fire burn analysis. It is light-weight (able to run on a laptop), allowing scientists to generate ensembles of thousands of simulations in weeks. This QUIC-fire dataset is an ensemble of prescribed fire burns for the Wawona region of Yosemite National Park. + +The original file, wildfire.csv, lists 1889 runs of a wildfire simulation. Each row is a unique run with input and output values and associated image url. The columns list the various parameters of interest. The input columns are: wild_speed, wdir (wind direction), smois (surface moisture), fuels, ignition, safe_unsafe_ignition_pattern, safe_unsafe_fire_behavior, does_fire_meet_objectives, and rationale_if_unsafe. The output of the simulation (and post-processing steps) include the burned_area and the url to the wildfire images stored on the San Diego Super Computer. + +All paths in this example are defined from the main dsi repository folder, assumed to be ``~//dsi``. + +To run this example, load dsi and run: + +.. code-block:: unixconfig + + python3 examples/wildfire/wildfire.py + +Within ``wildfire.py``, Sqlite is imported from the available DSI backends and DataType is the derived class for the defined (regular) schema. + +.. code-block:: unixconfig + + from dsi.backends.sqlite import Sqlite, DataType + + +This will generate a wildfire.cdb folder with downloaded images from the server and a data.csv file of numerical properties of interest. This cdb folder is called a `Cinema`_ database (CDB). Cinema is an ecosystem for management and analysis of high dimensional data artifacts that promotes flexible and interactive data exploration and analysis. A Cinema database is comprised of a CSV file where each row of the table is a data element (a run or ensemble member of a simulation or experiment, for example) and each column is a property of the data element. Any column name that starts with 'FILE' is a path to a file associated with the data element. This could be an image, a plot, a simulation mesh or other data artifact. + +Cinema databases can be visualized through various tools. We illustrate two options below: + +To visualize the results using Jupyter Lab and Plotly, run: + +.. code-block:: unixconfig + + python3 -m pip install plotly + python3 -m pip install jupyterlab + + +Open Jupyter Lab with: + +.. code-block:: unixconfig + + jupyter lab --browser Firefox + +and navigate to ``wildfire_plotly.ipynb``. Run the cells to visualize the results of the DSI pipeline. + +.. figure:: example-wildfire-jupyter.png + :alt: User interface showing the visualization code to load the CSV file and resultant parallel coordinates plot. + :class: with-shadow + :scale: 50% + + Screenshot of the JupyterLab workflow. The CSV file is loaded and used to generate a parallel coordinates plot showing the parameters of interest from the simulation. + +Another option is to use `Pycinema`_, a QT-based GUI that supports visualization and analysis of Cinema databases. To open a pycinema viewer, first install pycinema and then run the example script. + +.. code-block:: unixconfig + + python3 -m pip install pycinema + cinema examples/wildfire/wildfire_pycinema.py + + +.. figure:: example-wildfire-pycinema.png + :alt: Pycinema user interface showing the minimal set of components. Left: the nodeview showing the various pycinema components in the visualization pipeline; upper-right: the table-view; lower-right: the image view. Pycinema components are linked such that making a selection in one view will propagate to the other views. + :class: with-shadow + :scale: 40% + + Screenshot of the Pycinema user interface showing the minimal set of components. Left: the nodeview showing the various pycinema components in the visualization pipeline; upper-right: the table-view; lower-right: the image view. Pycinema components are linked such that making a selection in one view will propagate to the other views. + + +.. _PENNANT: https://github.com/lanl/PENNANT +.. _Cinema: https://github.com/cinemascience +.. _PyCinema: https://github.com/cinemascience/pycinema diff --git a/docs/index.rst b/docs/index.rst index 5b3df85d..aabffed5 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -3,7 +3,6 @@ You can adapt this file completely to your liking, but it should at least contain the root `toctree` directive. -============================================= The Data Science Infrastructure Project (DSI) ============================================= @@ -13,10 +12,12 @@ The Data Science Infrastructure Project (DSI) introduction installation - core plugins - drivers - + backends + core + contributing_readers + tiers + examples Indices and tables ================== diff --git a/docs/installation.rst b/docs/installation.rst index 487ca750..67efbd84 100644 --- a/docs/installation.rst +++ b/docs/installation.rst @@ -1,19 +1,30 @@ -Installation -=================== - -1. Create or activate a DSI virtual environment. -2. ``cd`` into the project space root -3. ``python -m pip install .`` -4. [Optional] If you are running DSI Unit tests ``python -m pip install pytest gitpython coverage-badge pytest-cov``. -5. [Optional] If you are HTML documentation ``python -m pip install sphinx sphinx_rtd_theme`` - -How to create and activate a virtual environment --------------------------------------------------- -We recommend Miniconda for virtual environment management (`https://docs.conda.io/en/latest/miniconda.html`). To create and activate a Miniconda virtual environment: - -1. Download and install the appropriate Miniconda installer for your platform. -2. If this is the first time creating a DSI virtual environment: ``conda create -n 'dsi' python=3.11``. The ``-n`` name argument can be anything you like. -3. Once the virtual environment is created, activate it with ``conda activate dsi``, or whatever name you picked in the preceding step. -4. Proceed with Step 2 in the "Installation" section. -5. When you've completed work, deativate the conda environment with ``conda deactivate``. - +Quick Start: Installation +========================= + +#. If this is the first time using DSI, start by creating a DSI virtual environment with a name of your choice, e.g., **mydsi**: + + .. code-block:: unixconfig + + python -m venv mydsi + +#. Then activate the environment (start here if you already have a DSI virtual environment) and install the latest pip in your environment: + + .. code-block:: unixconfig + + source mydsi/bin/activate + pip install --upgrade pip + +#. Go down into the project space root, clone the dsi repo and use pip to install dsi: + + .. code-block:: unixconfig + + git clone https://github.com/lanl/dsi.git + cd dsi + pip install . + + +#. When you've completed work, deactivate the environment with: + + .. code-block:: unixconfig + + deactivate diff --git a/docs/introduction.rst b/docs/introduction.rst index 568bca55..38724871 100644 --- a/docs/introduction.rst +++ b/docs/introduction.rst @@ -1,39 +1,75 @@ -============ -Introduction -============ -The goal of the Data Science Infrastructure Project (DSI) is to provide a flexible, AI-ready metadata query capability which returns data subject to strict, POSIX-enforced file security. The data lifecycle for AI/ML requires seamless transitions from data-intensive/AI/ML research activity to long-term archiving and share data repositories. DSI enables flexible, data-intensive scientific workflows that meet researcher needs. -.. image:: data_lifecycle.png - :scale: 50% -DSI system design is driven by experiences which satisfy User Stories. DSI uses Object Oriented design principles to encourage modularity and to support contributions by the user community. +The goal of the Data Science Infrastructure Project (DSI) is to manage data through metadata capture and curation. DSI capabilities can be used to develop workflows to support management of simulation data, AI/ML approaches, ensemble data, and other sources of data typically found in scientific computing. DSI infrastructure is designed to be flexible and with these considerations in mind: + +- Data management is subject to strict, POSIX-enforced, file security. +- DSI capabilities support a wide range of common metadata queries. +- DSI interfaces with multiple database technologies and archival storage options. +- Query-driven data movement is supported and is transparent to the user. +- The DSI API can be used to develop user-specific workflows. + +.. figure:: data_lifecycle.png + :alt: Figure depicting the data life cycle + :class: with-shadow + :scale: 50% + + A depiction of data life cycle can be seen here. The Data Science Infrastructure API supports the user to manage the life cycle aspects of their data. +DSI system design has been driven by specific use cases, both AI/ML and more generic usage. These use cases can often be generalized to user stories and needs that can be addressed by specific features, e.g., flexible, human-readable query capabilities. DSI uses Object Oriented design principles to encourage modularity and to support contributions by the user community. The DSI API is Python-based. -Implementation -============== -The DSI system is composed of three fundamental parts: +Implementation Overview +======================= -.. image:: three_easy_pieces.png - :scale: 33% +The DSI API is broken into three main categories: -DSI Core Middleware -------------------- -DSI's core middleware is focused on delivering user-queries on unified metadata which are distributed across many files and security domains. DSI currently supports Linux, and is tested on RedHat- and Debian-based distributions. The DSI Core middleware is a home for DSI Plugins and an interface for DSI Drivers. +- Plugins: these are frontend capabilities that will be commonly used by the generic DSI user. These include readers and writers. +- Backends: these are used to interact with storage devices and other ways of moving data. +- DSI Core: the *middleware* that contains the basic functionality to use the DSI API. Plugin Abstract Classes ----------------------- -Plugins transform an arbitrary data source into a format that is compatible with our middleware. We call the parsed and queriable attributes "metadata" (data about the data). Metadata share the same security profile as the source data. -Plugins can operate as data consumers or data producers. A simple data consumer might parse an application's output file and place it into a middleware compatible data structure: Python built-ins and members of the popular Python ``collection`` module. A simple data producer might execute an application to supplement existing data and queriable metadata. +Plugins transform an arbitrary data source into a format that is compatible with the DSI core. The parsed and queryable attributes of the data are called *metadata* -- data about the data. Metadata share the same security profile as the source data. + +Plugins can operate as data readers or data writers. A simple data reader might parse an application's output file and place it into a core-compatible data structure such as Python built-ins and members of the popular Python ``collection`` module. A simple data writer might execute an application to supplement existing data and queryable metadata, e.g., adding locations of outputs data or plots after running an analysis workflow. Plugins are defined by a base abstract class, and support child abstract classes which inherit the properties of their ancestors. -.. image:: PluginClassHierarchy.png +Currently, DSI has the following readers: -Driver Abstract Classes ------------------------ -Drivers are an interface between the User and the Core, or an interface between the Core and a storage medium. Drivers can operate as Front-ends or Back-ends, and a Driver contributor can choose to implement one or both. Driver front-ends are built to deliver an experience which is compatible with a User Story. A simple supporting User Story is a need to query metadata by SQL query. Because the set of queriable metadata are spread across filesystems and security domains, a supporting Driver Back-end is required to assemble query results and present them to the DSI core middleware for transformation and return, creating an experience which is compatible with the User Story. + - CSV file reader: reads in comma separated value (CSV) files. + - Bueno reader: can be used to capture performance data from `Bueno `_. + +.. figure:: PluginClassHierarchy.png + :alt: Figure depicting the current plugin class hierarchy. + :class: with-shadow + :scale: 100% + + Figure depicting the current DSI plugin class hierarchy. -.. image:: user_story.png +Backend Abstract Classes +------------------------ + +Backends are an interface between the core and a storage medium. +Backends are designed to support a user-needed functionality. Given a set of user metadata captured by a DSI frontend, a typical functionality needed by DSI users is to query that metadata by SQL query. Because the files associated with the queryable metadata may be spread across filesystems and security domains, a supporting backend is required to assemble query results and present them to the DSI core for transformation and return. + +.. figure:: user_story.png + :alt: This figure depicts a user asking a typical query on the user's metadata + :class: with-shadow :scale: 50% + + In this typical **user story**, the user has metadata about their data stored in DSI storage of some type. The user needs to extract all files with the variable **foo** above a specific threshold. DSI backends query the DSI metadata store to locate and return all such files. + +Current DSI backends include: + +- Sqlite: Python based SQL database and backend; the default DSI API backend. +- GUFI: the Grand Unified File Index system `Grand Unified File-Index `_ ; developed at LANL, GUFI is a fast, secure metadata search across a filesystem accessible to both privileged and unprivileged users. +- Parquet: a columnar storage format for `Apache Hadoop `_. + +DSI Core +-------- + +DSI basic functionality is contained within the middleware known as the *core*. The DSI core is focused on delivering user-queries on unified metadata which can be distributed across many files and security domains. DSI currently supports Linux, and is tested on RedHat- and Debian-based distributions. The DSI core is a home for DSI Plugins and an interface for DSI Backends. + +Core Documentation diff --git a/docs/plugins.rst b/docs/plugins.rst index 94d728b5..836cb6c7 100644 --- a/docs/plugins.rst +++ b/docs/plugins.rst @@ -1,8 +1,20 @@ Plugins -=================== -Plugins connect data-producing applications to DSI middleware. Plugins have "producer" or "consumer" functions. A Plugin consumer function deals with existing data files or input streams. A Plugin producer deals with generating new data. Plugins are modular to support user contribution. Plugin contributors are encouraged to offer custom Plugin abstract classes and Plugin implementations. A contributed Plugin abstract class may extend another plugin to inherit the properties of the parent. In order to be compatible with DSI middleware, Plugins should produce data in Python built-in data structures or data structures sourced from the Python ``collections`` library. Plugin extensions will be accepted conditional to the extention of ``plugins/tests`` to demonstrate the new Plugin capability. We can not accept pull requests that are not tested. +======= +Plugins connect data-producing applications to DSI core functionalities. Plugins have *writers* or *readers* functions. A Plugin reader function deals with existing data files or input streams. A Plugin writer deals with generating new data. Plugins are modular to support user contribution. -.. image:: PluginClassHierarchy.png +Plugin contributors are encouraged to offer custom Plugin abstract classes and Plugin implementations. A contributed Plugin abstract class may extend another plugin to inherit the properties of the parent. In order to be compatible with DSI core, Plugins should produce data in Python built-in data structures or data structures sourced from the Python ``collections`` library. + +Note that any contributed plugins or extension should include unit tests in ``plugins/tests`` to demonstrate the new Plugin capability. + +.. figure:: PluginClassHierarchy.png + :alt: Figure depicting the current plugin class hierarchy. + :class: with-shadow + :scale: 100% + + Figure depicts the current DSI plugin class hierarchy. + +.. automodule:: dsi.plugins.plugin + :members: .. automodule:: dsi.plugins.metadata :members: @@ -17,5 +29,4 @@ Plugins take data in an arbitrary format, and transform it into metadata which i .. automodule:: dsi.plugins.plugin_models - :members: - + :members: \ No newline at end of file diff --git a/docs/plugins/generate_plugin_class_hierarchy.py b/docs/plugins/generate_plugin_class_hierarchy.py index a96dba89..36941656 100644 --- a/docs/plugins/generate_plugin_class_hierarchy.py +++ b/docs/plugins/generate_plugin_class_hierarchy.py @@ -1,4 +1,4 @@ -from dsi.plugins.metadata import Plugin +from dsi.plugins.plugin import Plugin import os import sys diff --git a/docs/tiers.rst b/docs/tiers.rst new file mode 100644 index 00000000..560a6182 --- /dev/null +++ b/docs/tiers.rst @@ -0,0 +1,52 @@ +DSI Development Plans +===================== + +DSI v1.0 has a core set of capabilities with plans to add functionality in future releases. This is user-driven so feel free to raise an issue on the `DSI GitHub repo `_ for suggested capabilities. + +Current capabilities include the DSI Core and associated DSI data services. The DSI data services include the functionality to store and retrieve user metadata in DSI accessible storage. + +DSI core functionalities +^^^^^^^^^^^^^^^^^^^^^^^^ + +* DSI software/API (v1.0) released via GitHub +* Can be used on its own or as part of a data service workflow +* Provides an API for users/services + +.. list-table:: Current and Future DSI Capabilities + :widths: 20 20 55 5 + :header-rows: 1 + + * - Functionality + - DSI module + - Description + - Release + + * - Ingest data + - Plugins: Readers + - Ability to read in data; users can create data-specific readers + - DSI v1.0 + + * - Write data + - Plugins: Writers + - Ability to write data; users can create data-specific writers + - DSI v1.0 + + * - Query/Find + - Backends: Sqlite + - Search across file store types and/or locations to retrieve data or files matching the query + - DSI v1.0 + + * - Move + - Core:Sync + - Move data between file store types + - DSI v1.0 + + * - Iterate/Process + - Core + - Action applied to collection returned from Query/Find + - Future release + + * - Versioning + - Core + - Track and identify different versions of the same data + - Future release diff --git a/dsi/_version.py b/dsi/_version.py new file mode 100644 index 00000000..f5fe9643 --- /dev/null +++ b/dsi/_version.py @@ -0,0 +1 @@ +__version__ = "1.0" \ No newline at end of file diff --git a/dsi/drivers/filesystem.py b/dsi/backends/filesystem.py similarity index 94% rename from dsi/drivers/filesystem.py rename to dsi/backends/filesystem.py index a2bd161d..925d0a90 100644 --- a/dsi/drivers/filesystem.py +++ b/dsi/backends/filesystem.py @@ -1,7 +1,7 @@ from abc import ABCMeta, abstractmethod -class Driver(metaclass=ABCMeta): +class Backend(metaclass=ABCMeta): @abstractmethod def __init__(self, filename) -> None: pass @@ -24,7 +24,7 @@ def inspect_artifacts(self): pass -class Filesystem(Driver): +class Filesystem(Backend): git_commit_sha = '5d79e08d4a6c1570ceb47cdd61d2259505c05de9' # Declare named types DOUBLE = "DOUBLE" diff --git a/dsi/drivers/gufi.py b/dsi/backends/gufi.py similarity index 98% rename from dsi/drivers/gufi.py rename to dsi/backends/gufi.py index ff6bdbfb..4ad61bc5 100644 --- a/dsi/drivers/gufi.py +++ b/dsi/backends/gufi.py @@ -2,7 +2,7 @@ # Holds table name and data properties -from dsi.drivers.filesystem import Filesystem +from dsi.backends.filesystem import Filesystem class DataType: diff --git a/dsi/drivers/parquet.py b/dsi/backends/parquet.py similarity index 61% rename from dsi/drivers/parquet.py rename to dsi/backends/parquet.py index 71ab62c9..7bb38b9a 100644 --- a/dsi/drivers/parquet.py +++ b/dsi/backends/parquet.py @@ -1,14 +1,13 @@ import pyarrow as pa from pyarrow import parquet as pq -import nbformat as nbf import subprocess -from dsi.drivers.filesystem import Filesystem +from dsi.backends.filesystem import Filesystem class Parquet(Filesystem): """ - Support for a Parquet back-end Driver. + Support for a Parquet back-end. Parquet is a convenient format when metadata are larger than SQLite supports. """ @@ -44,11 +43,14 @@ def get_cmd_output(cmd: list) -> str: raise Exception(proc.stderr) return proc.stdout.strip().decode("utf-8") - def inspect_artifacts(self, collection): + def inspect_artifacts(self, collection, interactive=False): + import nbconvert as nbc + import nbformat as nbf + """Populate a Jupyter notebook with tools required to look at Parquet data.""" nb = nbf.v4.new_notebook() text = """\ - # This notebook was auto-generated by a DSI Driver for Parquet. + # This notebook was auto-generated by a DSI Backend for Parquet. # Execute the Jupyter notebook cells below and interact with "df" # to explore your data. """ @@ -71,12 +73,29 @@ def inspect_artifacts(self, collection): nbf.v4.new_code_cell(code2), nbf.v4.new_code_cell(code3)] - fname = 'dsi_parquet_driver_output.ipynb' + fname = 'dsi_parquet_backend_output.ipynb' print('Writing Jupyter notebook...') with open(fname, 'w') as fh: nbf.write(nb, fh) - print('Opening Jupyter notebook...') - self.get_cmd_output( - cmd=['jupyter-lab ./dsi_parquet_driver_output.ipynb']) + # open the jupyter notebook for static page generation + with open(fname, 'r', encoding='utf-8') as fh: + nb_content = nbf.read(fh, as_version=4) + # Init executor for notebook + run_nb = nbc.preprocessors.ExecutePreprocessor(timeout=-1) # No timeout + # Execute the notebook + run_nb.preprocess(nb_content, {'metadata':{'path':'.'}}) + + if interactive: + print('Opening Jupyter notebook...') + self.get_cmd_output(cmd=['jupyter-lab ./dsi_parquet_backend_output.ipynb']) + else: +# self.get_cmd_output(cmd=['jupyter nbconvert --to html {}'.format(fname)]) + # Init HTML exporter + html_exporter = nbc.HTMLExporter() + html_content,_ = html_exporter.from_notebook_node(nb_content) + # Save HTML file + html_filename = 'dsi_parquet_backend_output.html' + with open(html_filename, 'w', encoding='utf-8') as fh: + fh.write(html_content) diff --git a/dsi/backends/sqlalchemy.py b/dsi/backends/sqlalchemy.py new file mode 100644 index 00000000..22645012 --- /dev/null +++ b/dsi/backends/sqlalchemy.py @@ -0,0 +1,43 @@ +from typing import List +from typing import Optional +from sqlalchemy import ForeignKey +from sqlalchemy import String +from sqlalchemy.orm import DeclarativeBase +from sqlalchemy.orm import Mapped +from sqlalchemy.orm import mapped_column +from sqlalchemy.orm import relationship +from sqlalchemy import create_engine +from sqlalchemy.orm import Session +import csv +import json +import re +import yaml +import toml + +from dsi.backends.filesystem import Filesystem + +class SqlAlchemy(Filesystem): + filename = "sqlite:///fs.db" + engine = None + + def __init__(self, filename, base): + self.filename = filename + self.engine = create_engine(filename, echo=True) + base.metadata.create_all(self.engine) + + def put_artifacts(self, artifact_list): + with Session(self.engine) as session: + session.add_all(artifact_list) + session.commit() + + def query(self, stmt): + results = [] + with Session(self.engine) as session: + for obj in session.scalars(stmt): + results.append(obj) + + return results + + def close(self): + if self.engine: + self.engine.dispose() diff --git a/dsi/backends/sqlite.py b/dsi/backends/sqlite.py new file mode 100644 index 00000000..1f0ceb36 --- /dev/null +++ b/dsi/backends/sqlite.py @@ -0,0 +1,784 @@ +# import csv +import sqlite3 +# import json +import re +import subprocess +from datetime import datetime +import textwrap + +from collections import OrderedDict +from dsi.backends.filesystem import Filesystem + +# Declare supported named types for sql + +DOUBLE = "DOUBLE" +STRING = "VARCHAR" +FLOAT = "FLOAT" +INT = "INT" +JSON = "TEXT" + +# Holds table name and data properties +class DataType: + name = "" # Note: using the word DEFAULT outputs a syntax error + properties = {} + unit_keys = [] #should be same length as number of keys in properties + +class Artifact: + """ + Primary Artifact class that holds database schema in memory. + An Artifact is a generic construct that defines the schema for metadata that + defines the tables inside of SQL + """ + name = "" + properties = {} + +# Main storage class, interfaces with SQL +class Sqlite(Filesystem): + """ + Primary storage class, inherits sql class + """ + filename = "fs.db" + types = None + con = None + cur = None + + def __init__(self, filename, run_table = True): + self.filename = filename + self.con = sqlite3.connect(filename) + self.cur = self.con.cursor() + self.run_flag = run_table + + def check_type(self, text): + """ + Tests input text and returns a predicted compatible SQL Type + `text`: text string + `return`: string description of a SQL data type + """ + try: + _ = int(text) + return " INT" + except ValueError: + try: + _ = float(text) + return " FLOAT" + except ValueError: + return " VARCHAR" + + def put_artifact_type(self, types, foreign_query = None, isVerbose=False): + """ + Primary class for defining metadata Artifact schema. + + `types`: DataType derived class that defines the string name, properties + (named SQL type), and units for each column in the schema. + `return`: none + """ + if self.cur.execute(f"SELECT name FROM sqlite_master WHERE type='table' AND name='{types.name}';").fetchone(): + col_names = types.properties.keys() + col_info = self.cur.execute(f"PRAGMA table_info({types.name});").fetchall() + query_cols = [column[1] for column in col_info] + diff_cols = list(set(col_names) - set(query_cols)) + if len(diff_cols) > 0: + for col in diff_cols: + temp_name = col + self.check_type(str(types.properties[col][0])) + self.cur.execute(f"ALTER TABLE {types.name} ADD COLUMN {temp_name};") + else: + sql_cols = ', '.join(types.unit_keys) + str_query = "CREATE TABLE IF NOT EXISTS {} ({}".format(str(types.name), sql_cols) + if self.run_flag: + str_query = "CREATE TABLE IF NOT EXISTS {} (run_id, {}".format(str(types.name), sql_cols) + if foreign_query != None: + str_query += foreign_query + if self.run_flag: + str_query += ", FOREIGN KEY (run_id) REFERENCES runTable (run_id)" + str_query += ");" + + if isVerbose: + print(str_query) + self.cur.execute(str_query) + self.types = types + + def put_artifacts(self, collection, isVerbose=False): + """ + Primary class for insertion of collection of Artifacts metadata into a defined schema + + `collection`: A Python Collection of an Artifact derived class that has multiple regular structures of a defined schema, + filled with rows to insert. + `return`: none + """ + # Core compatibility name assignment + artifacts = collection + + if self.run_flag: + runTable_create = "CREATE TABLE IF NOT EXISTS runTable (run_id INTEGER PRIMARY KEY AUTOINCREMENT, run_timestamp TEXT UNIQUE);" + self.cur.execute(runTable_create) + self.con.commit() + + timestamp = datetime.now().strftime('%Y-%m-%d %H:%M:%S') + runTable_insert = f"INSERT INTO runTable (run_timestamp) VALUES ('{timestamp}');" + self.cur.execute(runTable_insert) + + for tableName, tableData in artifacts.items(): + if tableName == "dsi_relations" or tableName == "dsi_units": + continue + + types = DataType() + types.properties = {} + types.unit_keys = [] + types.name = tableName + + foreign_query = "" + for key in tableData: + comboTuple = (tableName, key) + dsi_name = "dsi_relations" + if dsi_name in artifacts.keys() and comboTuple in artifacts[dsi_name]["foreign_key"]: + foreignIndex = artifacts[dsi_name]["foreign_key"].index(comboTuple) + primaryTuple = artifacts[dsi_name]['primary_key'][foreignIndex] + foreign_query += f", FOREIGN KEY ({key}) REFERENCES {primaryTuple[0]} ({primaryTuple[1]})" + + types.properties[key.replace('-','_minus_')] = tableData[key] + + if dsi_name in artifacts.keys() and comboTuple in artifacts[dsi_name]["primary_key"]: + types.unit_keys.append(key + f"{self.check_type(str(tableData[key][0]))} PRIMARY KEY") + else: + types.unit_keys.append(key + self.check_type(str(tableData[key][0]))) + + self.put_artifact_type(types, foreign_query) + + col_names = ', '.join(types.properties.keys()) + placeholders = ', '.join('?' * len(types.properties)) + + str_query = "INSERT INTO " + if self.run_flag: + run_id = self.cur.execute("SELECT run_id FROM runTable ORDER BY run_id DESC LIMIT 1;").fetchone()[0] + str_query += "{} (run_id, {}) VALUES ({}, {});".format(str(types.name), col_names, run_id, placeholders) + else: + str_query += "{} ({}) VALUES ({});".format(str(types.name), col_names, placeholders) + if isVerbose: + print(str_query) + + rows = zip(*types.properties.values()) + try: + self.cur.executemany(str_query,rows) + except sqlite3.Error as e: + self.con.rollback() + return e + + self.types = types #This will only copy the last table from artifacts (collections input) + + if "dsi_units" in artifacts.keys(): + create_query = "CREATE TABLE IF NOT EXISTS dsi_units (table_name TEXT, column TEXT UNIQUE, unit TEXT)" + self.cur.execute(create_query) + for tableName, tableData in artifacts["dsi_units"].items(): + if len(tableData) > 0: + for col_unit_pair in tableData: + str_query = f'INSERT OR IGNORE INTO dsi_units VALUES ("{tableName}", "{col_unit_pair[0]}", "{col_unit_pair[1]}")' + try: + self.cur.execute(str_query) + except sqlite3.Error as e: + self.con.rollback() + return e + + try: + self.con.commit() + except Exception as e: + self.con.rollback() + return e + + # Returns text list from query + def get_artifacts(self, query, isVerbose=False, dict_return = False): + if query[:6].lower() == "select" or query[:6].lower() == "pragma" : + try: + data = self.cur.execute(query).fetchall() + if isVerbose: + print(data) + except: + raise ValueError("Error in get_artifacts handler: Incorrect SELECT query on the data. Please try again") + else: + raise ValueError("Error in get_artifacts handler: Can only run SELECT or PRAGMA queries on the data") + + if dict_return: + query_cols = [description[0] for description in self.cur.description] + + tables = re.findall(r'FROM\s+(\w+)|JOIN\s+(\w+)', query, re.IGNORECASE) + # table_names = [table[0] or table[1] for table in tables] + if len(tables) > 1: + raise ValueError("Error in get_artifacts handler: Can only return ordered dictionary if query with one table") + # col_info = self.cur.execute(f"PRAGMA table_info({table_names[0]});").fetchall() + # complete_cols = [column[1] for column in col_info] + # if not set(query_cols).issubset(set(complete_cols)): + # raise ValueError("Select query cannot create non-table columns when trying to return an ordered dictionary") + + queryDict = OrderedDict() + for row in data: + for colName, val in zip(query_cols, row): + if colName not in queryDict.keys(): + queryDict[colName] = [] + queryDict[colName].append(val) + return queryDict + else: + return data + + def inspect_artifacts(self, collection, interactive=False): + import nbconvert as nbc + import nbformat as nbf + dsi_relations, dsi_units = None, None + if "dsi_relations" in collection.keys(): + dsi_relations = dict(collection["dsi_relations"]) + if "dsi_units" in collection.keys(): + dsi_units = dict(collection["dsi_units"]) + + nb = nbf.v4.new_notebook() + text = """\ + This notebook was auto-generated by a DSI Backend for SQLite. + Depending on the data, there might be several tables stored in the DSI abstraction (OrderedDict). + Therefore, the data will be stored as a list of dataframes where each table corresponds to a dataframe. + Execute the Jupyter notebook cells below and interact with table_list to explore your data. + """ + code1 = """\ + import pandas as pd + import sqlite3 + """ + code2 = f"""\ + dbPath = '{self.filename}' + conn = sqlite3.connect(dbPath) + tables = pd.read_sql_query('SELECT name FROM sqlite_master WHERE type="table";', conn) + """ + if dsi_units is not None: + code2 += f"""dsi_units = {dsi_units} + """ + if dsi_relations is not None: + code2 += f"""dsi_relations = {dsi_relations} + """ + + code3 = """\ + table_list = [] + for table_name in tables['name']: + if table_name not in [""" + if dsi_units is not None: + code3 += "'dsi_units', " + if dsi_relations is not None: + code3 += "'dsi_relations', " + code3+="""'sqlite_sequence']: + query = 'SELECT * FROM ' + table_name + df = pd.read_sql_query(query, conn) + df.attrs['name'] = table_name + """ + if dsi_units is not None: + code3+= """if table_name in dsi_units: + df.attrs['units'] = dsi_units[table_name] + """ + code3+= """table_list.append(df) + """ + + if dsi_relations is not None: + code3+= """ + df = pd.DataFrame(dsi_relations) + df.attrs['name'] = 'dsi_relations' + table_list.append(df) + """ + + code4 = """\ + for table_df in table_list: + print(table_df.attrs) + print(table_df) + # table_df.info() + # table_df.describe() + """ + + nb['cells'] = [nbf.v4.new_markdown_cell(text), + nbf.v4.new_code_cell(textwrap.dedent(code1)), + nbf.v4.new_code_cell(textwrap.dedent(code2)), + nbf.v4.new_code_cell(textwrap.dedent(code3)), + nbf.v4.new_code_cell(textwrap.dedent(code4))] + + fname = 'dsi_sqlite_backend_output.ipynb' + print('Writing Jupyter notebook...') + with open(fname, 'w') as fh: + nbf.write(nb, fh) + + # open the jupyter notebook for static page generation + with open(fname, 'r', encoding='utf-8') as fh: + nb_content = nbf.read(fh, as_version=4) + run_nb = nbc.preprocessors.ExecutePreprocessor(timeout=-1) # No timeout + run_nb.preprocess(nb_content, {'metadata':{'path':'.'}}) + + if interactive: + print('Opening Jupyter notebook...') + + proc = subprocess.run(['jupyter-lab ./dsi_sqlite_backend_output.ipynb'], capture_output=True, shell=True) + if proc.stderr != b"": + raise Exception(proc.stderr) + return proc.stdout.strip().decode("utf-8") + else: + # Init HTML exporter + html_exporter = nbc.HTMLExporter() + html_content,_ = html_exporter.from_notebook_node(nb_content) + # Save HTML file + html_filename = 'dsi_sqlite_backend_output.html' + with open(html_filename, 'w', encoding='utf-8') as fh: + fh.write(html_content) + + # SQLITE READER FUNCTION + def read_to_artifact(self): + artifact = OrderedDict() + artifact["dsi_relations"] = OrderedDict([("primary_key",[]), ("foreign_key", [])]) + + tableList = self.cur.execute("SELECT name FROM sqlite_master WHERE type ='table';").fetchall() + pkList = [] + for item in tableList: + tableName = item[0] + if tableName == "dsi_units": + artifact["dsi_units"] = self.read_units_helper() + continue + if tableName == "sqlite_sequence": + continue + + tableInfo = self.cur.execute(f"PRAGMA table_info({tableName});").fetchall() + colDict = OrderedDict() + for colInfo in tableInfo: + colDict[colInfo[1]] = [] + if colInfo[5] == 1: + pkList.append((tableName, colInfo[1])) + + data = self.cur.execute(f"SELECT * FROM {tableName};").fetchall() + for row in data: + for colName, val in zip(colDict.keys(), row): + if val == "NULL": + colDict[colName].append(None) + else: + colDict[colName].append(val) + artifact[tableName] = colDict + + fkData = self.cur.execute(f"PRAGMA foreign_key_list({tableName});").fetchall() + for row in fkData: + artifact["dsi_relations"]["primary_key"].append((row[2], row[4])) + artifact["dsi_relations"]["foreign_key"].append((tableName, row[3])) + if (row[2], row[4]) in pkList: + pkList.remove((row[2], row[4])) + + for pk_tuple in pkList: + if pk_tuple not in artifact["dsi_relations"]["primary_key"]: + artifact["dsi_relations"]["primary_key"].append(pk_tuple) + artifact["dsi_relations"]["foreign_key"].append((None, None)) + + if len(artifact["dsi_relations"]["primary_key"]) == 0: + del artifact["dsi_relations"] + + return artifact + + def read_units_helper(self): + unitsDict = OrderedDict() + unitsTable = self.cur.execute("SELECT * FROM dsi_units;").fetchall() + for row in unitsTable: + tableName = row[0] + if tableName not in unitsDict.keys(): + unitsDict[tableName] = [] + unitsDict[tableName].append((row[1], row[2])) + return unitsDict + + # Closes connection to server + def close(self): + self.con.close() + + def put_artifacts_t(self, collection, tableName="TABLENAME", isVerbose=False): + """ + Primary class for insertion of collection of Artifacts metadata into a defined schema, with a table passthrough + + `collection`: A Python Collection of an Artifact derived class that has multiple regular structures of a defined schema, + filled with rows to insert. + + `tableName`: A passthrough to define a table and set the name of a table + + `return`: none + """ + + # Define table name in local class space + self.types = DataType() + self.types.name = tableName + self.put_artifacts(collection, isVerbose) + + # OLD GET ARTIFACTS FUNCTION + # OLD GET ARTIFACTS FUNCTION + # OLD GET ARTIFACTS FUNCTION + # def get_artifact_list(self, query, isVerbose=False): + # """ + # Function that returns a list of all of the Artifact names (represented as sql tables) + + # `return`: list of Artifact names + # """ + # str_query = query + # if isVerbose: + # print(str_query) + + # resout = self.cur.execute(str_query).fetchall() + + # if isVerbose: + # print(resout) + + # return resout + + """ + OLD PASS THROUGH PUT ARTIFACT FUNCTIONS + OLD PASS THROUGH PUT ARTIFACT FUNCTIONS + OLD PASS THROUGH PUT ARTIFACT FUNCTIONS + """ + # def put_artifacts_only(self, artifacts, isVerbose=False): + # """ + # Function for insertion of Artifact metadata into a defined schema as a Tuple + + # `Artifacts`: DataType derived class that has a regular structure of a defined schema, + # filled with rows to insert. + + # `return`: none + # """ + # self.types = artifacts + + # #self.types already defined previous + # col_names = ', '.join(self.types.properties.keys()) + # placeholders = ', '.join('?' * len(self.types.properties)) + + # str_query = "INSERT INTO {} ({}) VALUES ({});".format(str(self.types.name), col_names, placeholders) + + # if isVerbose: + # print(str_query) + + # # col_list helps access the specific keys of the dictionary in the for loop + # col_list = col_names.split(', ') + + # # loop through the contents of each column and insert into table as a row + # for ind1 in range(len(self.types.properties[col_list[0]])): + # vals = [] + # for ind2 in range(len(self.types.properties.keys())): + # if len(self.types.properties[col_list[ind2]]) <= ind1: + # vals.append(str('')) + # continue + # vals.append(str(self.types.properties[col_list[ind2]][ind1])) + # # Make sure this works if types.properties[][] is already a string + # tup_vals = tuple(vals) + # self.cur.execute(str_query,tup_vals) + + # self.con.commit() + + # Adds rows to the columns defined previously + def put_artifacts_lgcy(self,artifacts, isVerbose=False): + """ + Legacy function for insertion of artifact metadata into a defined schema + + `artifacts`: data_type derived class that has a regular structure of a defined schema, filled with rows to insert. + + `return`: none + """ + str_query = "INSERT INTO " + str(self.types.name) + " VALUES ( " + for key, value in artifacts.properties.items(): + if 'file' in key: # Todo, use this to detect str type + str_query = str_query + " '" + str(value) +"' " + else: + str_query = str_query + " " + str(value) + + str_query = str_query + "," + + str_query = str_query.rstrip(',') + str_query = str_query + " )" + + if isVerbose: + print(str_query) + + self.cur.execute(str_query) + self.con.commit() + + # def put_artifacts_json(self, fname, tname, isVerbose=False): + # """ + # Function for insertion of Artifact metadata into a defined schema by using a JSON file + # `fname`: filepath to the .json file to be read and inserted into the database + + # `tname`: String name of the table to be inserted + + # `return`: none + # """ + + # json_str = None + # try: + # j = open(fname) + # data = json.load(j) + # json_str = json.dumps(data) + # json_str = "'" + json_str + "'" + # j.close() + # except IOError as i: + # print(i) + # return + # except ValueError as v: + # print(v) + # return + + # types = DataType() + # types.properties = {} + # types.name = tname + + # # Check if this has been defined from helper function + # if self.types != None: + # types.name = self.types.name + + # col_name = re.sub(r'.json', '', fname) + # col_name = re.sub(r'.*/', '', col_name) + # col_name = "'" + col_name + "'" + # types.properties[col_name] = JSON + + # self.put_artifact_type(types) + # col_names = ', '.join(types.properties.keys()) + # str_query = "INSERT INTO {} ({}) VALUES ({});".format(str(types.name), col_names, json_str) + # if isVerbose: + # print(str_query) + + # self.types = types + # self.cur.execute(str_query) + # self.con.commit() + + # Adds columns and rows automaticallly based on a csv file + #[NOTE 3] This method should be deprecated in favor of put_artifacts. + # def put_artifacts_csv(self, fname, tname, isVerbose=False): + # """ + # Function for insertion of Artifact metadata into a defined schema by using a CSV file, + # where the first row of the CSV contains the column names of the schema. Any rows + # thereafter contain data to be inserted. Data types are automatically assigned based on + # typecasting and default to a string type if none can be found. + + # `fname`: filepath to the .csv file to be read and inserted into the database + + # `tname`: String name of the table to be inserted + + # `return`: none + # """ + # if isVerbose: + # print("Opening " + fname) + + # print('Entering csv method') + # #[BEGIN NOTE 1] This is a csv getter. Does it belong? QW + # with open(fname) as csv_file: + # csv_reader = csv.reader(csv_file, delimiter=',') + # header = next(csv_reader) + + # line_count = 0 + # for row in csv_reader: + # if line_count == 0: + # str_query = "CREATE TABLE IF NOT EXISTS " + \ + # str(tname) + " ( " + # for columnd, columnh in zip(row, header): + # DataType = self.check_type(columnd) + # str_query = str_query + \ + # str(columnh) + str(DataType) + "," + + # str_query = str_query.rstrip(',') + # str_query = str_query + " )" + + # if isVerbose: + # print(str_query) + + # self.cur.execute(str_query) + # self.con.commit() + # line_count += 1 + # #[END NOTE 1] QW + # #[BEGIN NOTE 2] This puts each row into a potentially new table. It does not take existing metadata as input. QW + # str_query = "INSERT INTO " + str(tname) + " VALUES ( " + # for column in row: + # str_query = str_query + " '" + str(column) + "'" + # str_query = str_query + "," + + # str_query = str_query.rstrip(',') + # str_query = str_query + " )" + + # if isVerbose: + # print(str_query) + + # self.cur.execute(str_query) + # self.con.commit() + # line_count += 1 + + # if isVerbose: + # print("Read " + str(line_count) + " rows.") + # #[END NOTE 2] + + # ------- Query related functions ----- + # Raw sql query + # def sqlquery(self, query, isVerbose=False): + # """ + # Function that provides a direct sql query passthrough to the database. + + # `query`: raw SQL query to be executed on current table + + # `return`: raw sql query list that contains result of the original query + # """ + # if isVerbose: + # print(query) + + # self.cur = self.con.cursor() + # self.res = self.cur.execute(query) + # resout = self.res.fetchall() + # self.con.commit() + + # if isVerbose: + # print(resout) + + # return resout + + # Given an output of a sql query, reformat and write a csv of the subset data + # def export_csv_query(self, query, fname, isVerbose=False): + # """ + # Function that outputs a csv file of a return query, given an initial query. + + # `query`: raw SQL query to be executed on current table + + # `fname`: target filename (including path) that will output the return query as a csv file + + # `return`: none + # """ + # if isVerbose: + # print(query) + + # # Parse the table out of the query + # tname = query.split("FROM ",1)[1] + # # Check to see if query is delimited + # if ";" in query: + # tname = tname[:-1] + + # # Isolate table name from other commands + # if "WHERE" in tname: + # tname = tname.split("WHERE ",1)[0][:-1] + + # if isVerbose: + # print("Table: " + tname) + + # self.cur = self.con.cursor() + # # Carry out query + # qdata = self.con.execute(query) + + # # Gather column names + # if "*" in query: + # cdata = self.con.execute(f'PRAGMA table_info({tname});').fetchall() + # cnames = [entry[1] for entry in cdata] + # else: + # cnames = query.split("SELECT ",1)[1] + # cnames = cnames.split("FROM ",1)[0][:-1] + # cnames = cnames.split(',') + + # if isVerbose: + # print(cnames) + + # with open(fname, "w+") as ocsv: + # csvWriter = csv.writer(ocsv, delimiter=',') + # csvWriter.writerow(cnames) + + # for row in qdata: + # print(row) + # csvWriter.writerow(row) + + # return 1 + + # def export_csv(self, rquery, tname, fname, isVerbose=False): + # """ + # Function that outputs a csv file of a return query, not the query itself + + # `rquery`: return of an already called query output + + # `tname`: name of the table for (all) columns to export + + # `fname`: target filename (including path) that will output the return query as a csv file + + # `return`: none + # """ + # if isVerbose: + # print(rquery) + + # self.cur = self.con.cursor() + # cdata = self.con.execute(f'PRAGMA table_info({tname});').fetchall() + # cnames = [entry[1] for entry in cdata] + # if isVerbose: + # print(cnames) + + # with open(fname, "w+") as ocsv: + # csvWriter = csv.writer(ocsv, delimiter=',') + # csvWriter.writerow(cnames) + + # for row in rquery: + # print(row) + # csvWriter.writerow(row) + + # return 1 + + '''UNUSED QUERY FUNCTIONS''' + + # Query file name + # def query_fname(self, name, isVerbose=False): + # """ + # Function that queries filenames within the filesystem metadata store + + # `name`: string name of a subsection of a filename to be searched + + # `return`: query list of filenames matching `name` string + # """ + # table = "filesystem" + # str_query = "SELECT * FROM " + \ + # str(table) + " WHERE file LIKE '%" + str(name) + "%'" + # if isVerbose: + # print(str_query) + + # self.cur = self.con.cursor() + # self.res = self.cur.execute(str_query) + # resout = self.res.fetchall() + + # if isVerbose: + # print(resout) + + # return resout + + # # Query file size + + # def query_fsize(self, operator, size, isVerbose=False): + # """ + # Function that queries ranges of file sizes within the filesystem metadata store + + # `operator`: operator input GT, LT, EQ as a modifier for a filesize search + + # `size`: size in bytes + + # `return`: query list of filenames matching filesize criteria with modifiers + # """ + # str_query = "SELECT * FROM " + \ + # str(self.types.name) + " WHERE st_size " + \ + # str(operator) + " " + str(size) + # if isVerbose: + # print(str_query) + + # self.cur = self.con.cursor() + # self.res = self.cur.execute(str_query) + # resout = self.res.fetchall() + + # if isVerbose: + # print(resout) + + # return resout + + # # Query file creation time + # def query_fctime(self, operator, ctime, isVerbose=False): + # """ + # Function that queries file creation times within the filesystem metadata store + + # `operator`: operator input GT, LT, EQ as a modifier for a creation time search + + # `ctime`: creation time in POSIX format, see the utils `dateToPosix` conversion function + + # `return`: query list of filenames matching the creation time criteria with modifiers + # """ + # str_query = "SELECT * FROM " + \ + # str(self.types.name) + " WHERE st_ctime " + \ + # str(operator) + " " + str(ctime) + # if isVerbose: + # print(str_query) + + # self.cur = self.con.cursor() + # self.res = self.cur.execute(str_query) + # resout = self.res.fetchall() + + # if isVerbose: + # print(resout) + + # return resout \ No newline at end of file diff --git a/dsi/drivers/tests/test_gufi.py b/dsi/backends/tests/test_gufi.py similarity index 91% rename from dsi/drivers/tests/test_gufi.py rename to dsi/backends/tests/test_gufi.py index 83033be3..50821d94 100644 --- a/dsi/drivers/tests/test_gufi.py +++ b/dsi/backends/tests/test_gufi.py @@ -1,4 +1,4 @@ -from dsi.drivers.gufi import Gufi +from dsi.backends.gufi import Gufi isVerbose = False diff --git a/dsi/backends/tests/test_parquet.py b/dsi/backends/tests/test_parquet.py new file mode 100644 index 00000000..7a055f3c --- /dev/null +++ b/dsi/backends/tests/test_parquet.py @@ -0,0 +1,29 @@ +import git +from collections import OrderedDict + +from dsi.backends.parquet import Parquet + +isVerbose = True + + +def get_git_root(path): + git_repo = git.Repo(path, search_parent_directories=True) + git_root = git_repo.git.rev_parse("--show-toplevel") + return (git_root) + +def test_get_artifacts(): + a = Parquet(filename='/'.join([get_git_root('.'), 'dsi/data/wildfiredata.pq'])) + b = a.get_artifacts() + cnt = 0 + for key in b: + cnt = cnt + 1 + assert 4 == len(b[key]) + assert 11 == cnt + +def test_inspect_artifact(): + a = Parquet(filename='/'.join([get_git_root('.'), 'dsi/data/wildfiredata.pq'])) + b = a.get_artifacts() + a.inspect_artifacts(b) + # No error on inspect_artifact return implies success + assert True + diff --git a/dsi/backends/tests/test_sqlalchemy.py b/dsi/backends/tests/test_sqlalchemy.py new file mode 100644 index 00000000..0f433ee4 --- /dev/null +++ b/dsi/backends/tests/test_sqlalchemy.py @@ -0,0 +1,243 @@ +import git +from collections import OrderedDict + +from dsi.backends.sqlalchemy import SqlAlchemy +from typing import List +from typing import Optional +from sqlalchemy import ForeignKey +from sqlalchemy import String +from sqlalchemy.orm import DeclarativeBase +from sqlalchemy.orm import Mapped +from sqlalchemy.orm import mapped_column +from sqlalchemy.orm import relationship +from sqlalchemy import select +import os +import subprocess +import csv +import json +from typing import Any +from sqlalchemy.types import JSON + +isVerbose = True + +class Base(DeclarativeBase): + pass + +class Wildfire(Base): + __tablename__ = "wildfire" + + id: Mapped[int] = mapped_column(primary_key=True) + files: Mapped[List["File"]] = relationship( + back_populates="wildfire", cascade="all, delete-orphan" + ) + wind_speed: Mapped[float] + wdir: Mapped[int] + smois: Mapped[float] + fuels: Mapped[str] + ignition: Mapped[str] + safe_unsafe_ignition_pattern: Mapped[str] + safe_unsafe_fire_behavior: Mapped[str] + does_fire_meet_objectives: Mapped[str] + rationale_if_unsafe: Mapped[Optional[str]] + burned_area: Mapped[int] + def __repr__(self) -> str: + return f"Wildfire(id={self.id!r})" + +class JSONBase(DeclarativeBase): + type_annotation_map = { + dict[str, Any]: JSON + } + +class JSONItem(JSONBase): + __tablename__ = "json_items" + + id: Mapped[int] = mapped_column(primary_key=True) + item: Mapped[dict[str, Any]] + +class YosemiteBase(DeclarativeBase): + pass + +class Yosemite(YosemiteBase): + __tablename__ = "yosemite" + + id: Mapped[int] = mapped_column(primary_key=True) + files: Mapped[List["YosemiteFile"]] = relationship( + back_populates="yosemite", cascade="all, delete-orphan" + ) + wind_speed: Mapped[float] + wdir: Mapped[int] + smois: Mapped[float] + fuels: Mapped[str] + ignition: Mapped[str] + inside_burned_area: Mapped[int] + outside_burned_area: Mapped[int] + + def __repr__(self) -> str: + return f"Yosemite(id={self.id!r})" + + +class File(Base): + __tablename__ = "file" + + id: Mapped[int] = mapped_column(primary_key=True) + wildfire_id: Mapped[int] = mapped_column(ForeignKey("wildfire.id")) + path: Mapped[str] + wildfire: Mapped["Wildfire"] = relationship(back_populates="files") + def __repr__(self) -> str: + return f"File(id={self.id!r}, artifact_id={self.wildfire_id!r}, path={self.path!r})" + +class YosemiteFile(YosemiteBase): + __tablename__ = "file" + + id: Mapped[int] = mapped_column(primary_key=True) + yosemite_id: Mapped[int] = mapped_column(ForeignKey("yosemite.id")) + path: Mapped[str] + yosemite: Mapped["Yosemite"] = relationship(back_populates="files") + def __repr__(self) -> str: + return f"File(id={self.id!r}, artifact_id={self.yosemite_id!r}, path={self.path!r})" + +def get_git_root(path): + git_repo = git.Repo(path, search_parent_directories=True) + git_root = git_repo.git.rev_parse("--show-toplevel") + return (git_root) + + +def test_wildfire_data_sql_artifact(): + engine_path = "sqlite:///wildfire.db" + store = SqlAlchemy(engine_path, Base) + store.close() + + # No error implies success + assert True + +def test_wildfire_data_csv_artifact(): + csvpath = '/'.join([get_git_root('.'), 'examples/wildfire/wildfiredata.csv']) + engine_path = "sqlite:///wildfire.db" + store = SqlAlchemy(engine_path, Base) + print(csvpath) + with open(csvpath) as csv_file: + print(csvpath) + csv_reader = csv.reader(csv_file, delimiter=',') + header = next(csv_reader) + artifacts = [] + for row in csv_reader: + row_zipped = zip(header, row) + row_dict = dict(row_zipped) + wildfire_row = Wildfire( + wind_speed=row_dict['wind_speed'], + wdir=row_dict['wdir'], + smois=row_dict['smois'], + fuels=row_dict['fuels'], + ignition=row_dict['ignition'], + safe_unsafe_ignition_pattern=row_dict['safe_unsafe_ignition_pattern'], + safe_unsafe_fire_behavior=row_dict['safe_unsafe_fire_behavior'], + does_fire_meet_objectives=row_dict['does_fire_meet_objectives'], + rationale_if_unsafe=row_dict['rationale_if_unsafe'], + burned_area=row_dict['burned_area'], + files=[File(path=row_dict['FILE'])] + ) + print(row) + artifacts.append(wildfire_row) + store.put_artifacts(artifacts) + store.close() + + # No error implies success + assert True + +def test_wildfire_artifact_query(): + engine_path = "sqlite:///wildfire.db" + store = SqlAlchemy(engine_path, Base) + stmt = select(Wildfire).where(Wildfire.burned_area > 188000) + results = store.query(stmt) + print(results) + store.close() + + # No error implies success + assert True + +def test_wildfiredata_artifact_put(): + engine_path = "sqlite:///wildfire.db" + store = SqlAlchemy(engine_path, Base) + artifacts = [] + wildfire_row = Wildfire( + wind_speed=9, + wdir=255, + smois=0.5, + fuels='ST5_FF_DUET', + ignition='ST5_ignite_strip', + safe_unsafe_ignition_pattern='safe', + safe_unsafe_fire_behavior='safe', + does_fire_meet_objectives='Yes', + rationale_if_unsafe='', + burned_area=61502, + files=[File(path='https://wifire-data.sdsc.edu/data//burnpro3d/d/fa/20/run_fa20ed73-8a0b-40e3-bd3f-bca2ff76e3d0/png/run_fa20ed73-8a0b-40e3-bd3f-bca2ff76e3d0_fuels-dens_2100_000.png')] + ) + artifacts.append(wildfire_row) + store.put_artifacts(artifacts) + store.close() + + # No error implies success + assert True + +#Data from: https://microsoftedge.github.io/Demos/json-dummy-data/64KB.json +def test_jsondata_artifact_put(): + engine_path = "sqlite:///jsondata.db" + store = SqlAlchemy(engine_path, JSONBase) + artifacts = [] + jsonpath = '/'.join([get_git_root('.'), 'dsi/data/64KB.json']) + try: + j = open(jsonpath) + data = json.load(j) + except IOError as i: + print(i) + return + except ValueError as v: + print(v) + return + + artifacts = [] + for d in data: + print(d) + json_row = JSONItem( + item=d + ) + artifacts.append(json_row) + + store.put_artifacts(artifacts) + store.close() + + # No error implies success + assert True + +def test_yosemite_data_csv_artifact(): + csvpath = '/'.join([get_git_root('.'), 'examples/data/yosemite5.csv']) + engine_path = "sqlite:///yosemite.db" + store = SqlAlchemy(engine_path, YosemiteBase) + print(csvpath) + with open(csvpath) as csv_file: + print(csvpath) + csv_reader = csv.reader(csv_file, delimiter=',') + header = next(csv_reader) + artifacts = [] + for row in csv_reader: + row_zipped = zip(header, row) + row_dict = dict(row_zipped) + yosemite_row = Yosemite( + wind_speed=row_dict['wind_speed'], + wdir=row_dict['wdir'], + smois=row_dict['smois'], + fuels=row_dict['fuels'], + ignition=row_dict['ignition'], + inside_burned_area=row_dict['inside_burned_area'], + outside_burned_area=row_dict['outside_burned_area'], + files=[YosemiteFile(path=row_dict['FILE'])] + ) + + artifacts.append(yosemite_row) + + store.put_artifacts(artifacts) + store.close() + + # No error implies success + assert True + diff --git a/dsi/backends/tests/test_sqlite.py b/dsi/backends/tests/test_sqlite.py new file mode 100644 index 00000000..4e8a6e45 --- /dev/null +++ b/dsi/backends/tests/test_sqlite.py @@ -0,0 +1,101 @@ +import git +from collections import OrderedDict + +from dsi.backends.sqlite import Sqlite, DataType +import os + +isVerbose = True + + +# def get_git_root(path): +# git_repo = git.Repo(path, search_parent_directories=True) +# git_root = git_repo.git.rev_parse("--show-toplevel") +# return (git_root) + +def test_sql_artifact(): + dbpath = "wildfire.db" + store = Sqlite(dbpath) + store.close() + # No error implies success + assert True + +# def test_wildfire_data_csv_artifact(): +# csvpath = '/'.join([get_git_root('.'), 'examples/data/wildfiredata.csv']) +# dbpath = "wildfire.db" +# store = Sqlite(dbpath) +# store.put_artifacts_csv(csvpath, "simulation", isVerbose=isVerbose) +# store.close() +# # No error implies success +# assert True + +def test_artifact_put(): + valid_middleware_datastructure = OrderedDict({"wildfire": OrderedDict({'foo':[1,2,3],'bar':[3,2,1]})}) + dbpath = 'test_artifact.db' + if os.path.exists(dbpath): + os.remove(dbpath) + store = Sqlite(dbpath, run_table=False) + store.put_artifacts(valid_middleware_datastructure) + store.close() + # No error implies success + assert True + +def test_wildfiredata_artifact_put_t(): + valid_middleware_datastructure = OrderedDict({'foo':[1,2,3],'bar':[3,2,1]}) + dbpath = 'test_wildfiredata_artifact.db' + store = Sqlite(dbpath) + store.put_artifacts_t(OrderedDict([("wildfire", valid_middleware_datastructure)]), tableName="Wildfire") + store.close() + # No error implies success + assert True + +def test_artifact_get(): + valid_middleware_datastructure = OrderedDict({"wildfire": OrderedDict({'foo':[1,2,3],'bar':[3,2,1]})}) + dbpath = 'test_artifact.db' + if os.path.exists(dbpath): + os.remove(dbpath) + store = Sqlite(dbpath, run_table=False) + store.put_artifacts(valid_middleware_datastructure) + query_data = store.get_artifacts(query = "SELECT * FROM wildfire;") + store.close() + correct_output = [(1, 3), (2, 2), (3, 1)] + assert query_data == correct_output + +def test_artifact_inspect(): + valid_middleware_datastructure = OrderedDict({"wildfire": OrderedDict({'foo':[1,2,3],'bar':[3,2,1]})}) + dbpath = 'test_artifact.db' + if os.path.exists(dbpath): + os.remove(dbpath) + store = Sqlite(dbpath, run_table=False) + store.put_artifacts(valid_middleware_datastructure) + store.inspect_artifacts(valid_middleware_datastructure) + assert True + +def test_artifact_read(): + valid_middleware_datastructure = OrderedDict({"wildfire": OrderedDict({'foo':[1,2,3],'bar':[3,2,1]})}) + dbpath = 'test_artifact.db' + if os.path.exists(dbpath): + os.remove(dbpath) + store = Sqlite(dbpath, run_table=False) + store.put_artifacts(valid_middleware_datastructure) + artifact = store.read_to_artifact() + store.close() + assert artifact == valid_middleware_datastructure + +# #Data from: https://microsoftedge.github.io/Demos/json-dummy-data/64KB.json +# def test_jsondata_artifact_put(): +# jsonpath = '/'.join([get_git_root('.'), 'dsi/data/64KB.json']) +# dbpath = "jsondata.db" +# store = Sqlite(dbpath) +# store.put_artifacts_json(jsonpath, tname="JSONData") +# store.close() +# # No error implies success +# assert True + +# def test_yosemite_data_csv_artifact(): +# csvpath = '/'.join([get_git_root('.'), 'examples/data/yosemite5.csv']) +# dbpath = "yosemite.db" +# store = Sqlite(dbpath) +# store.put_artifacts_csv(csvpath, "vision", isVerbose=isVerbose) +# store.close() +# # No error implies success +# assert True \ No newline at end of file diff --git a/dsi/core.py b/dsi/core.py index 15ee4867..0046eca6 100644 --- a/dsi/core.py +++ b/dsi/core.py @@ -2,38 +2,56 @@ from importlib.machinery import SourceFileLoader from collections import OrderedDict from itertools import product +import os +import shutil +from pathlib import Path +import logging +from datetime import datetime + +from dsi.backends.filesystem import Filesystem +from dsi.backends.sqlite import Sqlite, DataType, Artifact class Terminal(): """ An instantiated Terminal is the DSI human/machine interface. - Terminals are a home for Plugins and an interface for Drivers. Drivers may be - front-ends or back-ends. Plugins may be producers or consumers. See documentation + Terminals are a home for Plugins and an interface for Backends. Backends may be + back-reads or back-writes. Plugins may be writers or readers. See documentation for more information. """ - DRIVER_PREFIX = ['dsi.drivers'] - DRIVER_IMPLEMENTATIONS = ['gufi', 'sqlite', 'parquet'] + BACKEND_PREFIX = ['dsi.backends'] + BACKEND_IMPLEMENTATIONS = ['gufi', 'sqlite', 'parquet'] PLUGIN_PREFIX = ['dsi.plugins'] - PLUGIN_IMPLEMENTATIONS = ['env'] - VALID_PLUGINS = ['Hostname', 'SystemKernel', 'Bueno', 'GitInfo'] - VALID_DRIVERS = ['Gufi', 'Sqlite', 'Parquet'] - VALID_MODULES = VALID_PLUGINS + VALID_DRIVERS - VALID_MODULE_FUNCTIONS = {'plugin': [ - 'producer', 'consumer'], 'driver': ['front-end', 'back-end']} - VALID_ARTIFACT_INTERACTION_TYPES = ['get', 'set', 'put', 'inspect'] - - def __init__(self): - # Helper function to get parent module names. + PLUGIN_IMPLEMENTATIONS = ['env', 'file_reader', 'file_writer'] + VALID_PLUGINS = ['Hostname', 'SystemKernel', 'GitInfo', 'Bueno', 'Csv', 'ER_Diagram', 'YAML1', 'TOML1', "Table_Plot", "Schema", "Csv_Writer"] + VALID_BACKENDS = ['Gufi', 'Sqlite', 'Parquet'] + VALID_MODULES = VALID_PLUGINS + VALID_BACKENDS + VALID_MODULE_FUNCTIONS = {'plugin': ['reader', 'writer'], + 'backend': ['back-read', 'back-write']} + VALID_ARTIFACT_INTERACTION_TYPES = ['get', 'set', 'put', 'inspect', 'read'] + + def __init__(self, debug_flag = False, backup_db_flag = False, run_table_flag = True): + """ + Initialization helper function to pass through optional parameters for DSI core. + + Optional flags can be set and defined: + + `debug_flag`: Undefined False as default. If set to True, Debug information will be printed to the terminal output and written to a local debug.log text file with runtime benchmarks. + + `backup_db_flag`: Undefined False as default. If set to True, this creates a backup database before committing new changes. + + `run_table_flag`: Undefined True as default. When new metadata is ingested, a 'run_table' is created, appended, and timestamped when database in incremented. Recommended for in-situ use-cases. + """ def static_munge(prefix, implementations): return (['.'.join(i) for i in product(prefix, implementations)]) self.module_collection = {} - driver_modules = static_munge( - self.DRIVER_PREFIX, self.DRIVER_IMPLEMENTATIONS) - self.module_collection['driver'] = {} - for module in driver_modules: - self.module_collection['driver'][module] = import_module(module) + backend_modules = static_munge( + self.BACKEND_PREFIX, self.BACKEND_IMPLEMENTATIONS) + self.module_collection['backend'] = {} + for module in backend_modules: + self.module_collection['backend'][module] = import_module(module) plugin_modules = static_munge( self.PLUGIN_PREFIX, self.PLUGIN_IMPLEMENTATIONS) @@ -43,17 +61,30 @@ def static_munge(prefix, implementations): self.active_modules = {} valid_module_functions_flattened = self.VALID_MODULE_FUNCTIONS['plugin'] + \ - self.VALID_MODULE_FUNCTIONS['driver'] + self.VALID_MODULE_FUNCTIONS['backend'] for valid_function in valid_module_functions_flattened: self.active_modules[valid_function] = [] self.active_metadata = OrderedDict() - self.transload_lock = False + # self.transload_lock = False + + self.runTable = run_table_flag + self.backup_db_flag = backup_db_flag + + self.logger = logging.getLogger(self.__class__.__name__) + + if debug_flag: + logging.basicConfig( + filename='debug.log', # Name of the log file + filemode='w', # Overwrite mode ('a' for append) + format='%(asctime)s - %(levelname)s - %(message)s', # Log message format + level=logging.INFO # Minimum log level to capture + ) def list_available_modules(self, mod_type): """ List available DSI modules of an arbitrary module type. - This method is useful for Core Terminal setup. Plugin and Driver type DSI modules + This method is useful for Core Terminal setup. Plugin and Backend type DSI modules are supported, but this getter can be extended to support any new DSI module types which are added. Note: self.VALID_MODULES refers to _DSI_ Modules however, DSI Modules are classes, hence the naming idiosynchrocies below. @@ -69,74 +100,117 @@ def list_available_modules(self, mod_type): def load_module(self, mod_type, mod_name, mod_function, **kwargs): """ - Load a DSI module from the available Plugin and Drive module collection. + Load a DSI module from the available Plugin and Backend module collection. DSI modules may be loaded which are not explicitly listed by the list_available_modules. This flexibility ensures that advanced users can access higher level abstractions. We expect most users will work with module implementations rather than templates, but but all high level class abstractions are accessible with this method. """ - if self.transload_lock and mod_type == 'plugin': - print('Plugin module loading is prohibited after transload. No action taken.') - return + self.logger.info(f"-------------------------------------") + self.logger.info(f"Loading {mod_name} {mod_function} {mod_type}") + start = datetime.now() + # if self.transload_lock and mod_type == 'plugin': + # print('Plugin module loading is prohibited after transload. No action taken.') + # end = datetime.now() + # self.logger.info(f"Runtime: {end-start}") + # return if mod_function not in self.VALID_MODULE_FUNCTIONS[mod_type]: print( 'Hint: Did you declare your Module Function in the Terminal Global vars?') + end = datetime.now() + self.logger.info(f"Runtime: {end-start}") raise NotImplementedError - if mod_name in [obj.__class__.__name__ for obj in self.active_modules[mod_function]]: - print('{} {} already loaded as {}. Nothing to do.'.format( - mod_name, mod_type, mod_function)) - return + # if mod_name in [obj.__class__.__name__ for obj in self.active_modules[mod_function]]: + # print('{} {} already loaded as {}. Nothing to do.'.format( + # mod_name, mod_type, mod_function)) + # end = datetime.now() + # self.logger.info(f"Runtime: {end-start}") + # return + # DSI Modules are Python classes. - class_name = mod_name load_success = False for python_module in list(self.module_collection[mod_type].keys()): try: this_module = import_module(python_module) - class_ = getattr(this_module, class_name) + class_ = getattr(this_module, mod_name) + if mod_function == "reader": + obj = class_(**kwargs) + obj.add_rows() + for table_name, table_metadata in obj.output_collector.items(): + if "hostname" in table_name.lower(): + for colName, colData in table_metadata.items(): + if isinstance(colData[0], list): + str_list = [] + for val in colData: + str_list.append(f'{val}') + table_metadata[colName] = str_list + if table_name not in self.active_metadata.keys(): + self.active_metadata[table_name] = table_metadata + else: + for colName, colData in table_metadata.items(): + if colName in self.active_metadata[table_name].keys() and table_name != "dsi_units": + self.active_metadata[table_name][colName] += colData + elif colName not in self.active_metadata[table_name].keys():# and table_name == "dsi_units": + self.active_metadata[table_name][colName] = colData + # elif colName not in self.active_metadata[table_name].keys() and table_name != "dsi_units": + # raise ValueError(f"Mismatched column input for table {table_name}") + elif mod_type == "backend": + if "run_table" in class_.__init__.__code__.co_varnames: + kwargs['run_table'] = self.runTable self.active_modules[mod_function].append(class_(**kwargs)) load_success = True + print(f'{mod_name} {mod_type} {mod_function} loaded successfully.') + end = datetime.now() + self.logger.info(f"Runtime: {end-start}") except AttributeError: continue - if load_success: - print('{} {} {} loaded successfully.'.format( - mod_name, mod_type, mod_function)) - else: - print('Hint: Did you declare your Plugin/Driver in the Terminal Global vars?') + if not load_success: + print('Hint: Did you declare your Plugin/Backend in the Terminal Global vars?') + end = datetime.now() + self.logger.info(f"Runtime: {end-start}") raise NotImplementedError def unload_module(self, mod_type, mod_name, mod_function): """ Unloads a DSI module from the active_modules collection """ - if self.transload_lock and mod_type == 'plugin': - print( - 'Plugin module unloading is prohibited after transload. No action taken.') - return + # if self.transload_lock and mod_type == 'plugin': + # print( + # 'Plugin module unloading is prohibited after transload. No action taken.') + # return for i, mod in enumerate(self.active_modules[mod_function]): + self.logger.info(f"-------------------------------------") + self.logger.info(f"Unloading {mod_name} {mod_function} {mod_type}") + start = datetime.now() if mod.__class__.__name__ == mod_name: + if mod_type == 'backend': + mod.close() self.active_modules[mod_function].pop(i) - print("{} {} {} unloaded successfully.".format( - mod_name, mod_type, mod_function)) + print(f"{mod_name} {mod_type} {mod_function} unloaded successfully.") + end = datetime.now() + self.logger.info(f"Runtime: {end-start}") return - print("{} {} {} could not be found in active_modules. No action taken.".format( - mod_name, mod_type, mod_function)) + print(f"{mod_name} {mod_type} {mod_function} could not be found in active_modules. No action taken.") + self.logger.info(f"Could not find {mod_name} {mod_function} {mod_type} to unload") + end = datetime.now() + self.logger.info(f"Runtime: {end-start}") def add_external_python_module(self, mod_type, mod_name, mod_path): """ - Adds a given external, meaning not from the DSI repo, Python module to the module_collection + Adds an external, meaning not from the DSI repo, Python module to the module_collection. Afterwards, load_module can be used to load a DSI module from the added Python module. - - Note: mod_type is needed because each Python module should only implement plugins or drivers + Note: mod_type is needed because each Python module only implements plugins or backends. For example, term = Terminal() + term.add_external_python_module('plugin', 'my_python_file', - term.add_external_python_module('plugin','my_python_file','/the/path/to/my_python_file.py') + '/the/path/to/my_python_file.py') - term.load_module('plugin', 'MyPlugin', 'consumer') + term.load_module('plugin', 'MyPlugin', 'reader') term.list_loaded_modules() # includes MyPlugin """ @@ -146,8 +220,7 @@ def add_external_python_module(self, mod_type, mod_name, mod_path): def list_loaded_modules(self): """ List DSI modules which have already been loaded. - - These Plugins and Drivers are active or ready to execute a post-processing task. + These Plugins and Backends are active or ready to execute a post-processing task. """ return (self.active_modules) @@ -159,54 +232,278 @@ def transload(self, **kwargs): storage is possible. Transloading is the process of merging Plugin metadata from many data sources to a single DSI Core Middleware data structure. """ - selected_function_modules = dict( - (k, self.active_modules[k]) for k in ('producer', 'consumer')) - # Note this transload supports plugin.env Environment types now. - for module_type, objs in selected_function_modules.items(): - for obj in objs: - obj.add_row(**kwargs) - for col_name, col_metadata in obj.output_collector.items(): - self.active_metadata[col_name] = col_metadata - self.transload_lock = True + used_writers = [] + for obj in self.active_modules['writer']: + self.logger.info(f"-------------------------------------") + self.logger.info(f"Transloading {obj.__class__.__name__} {'writer'}") + start = datetime.now() + obj.get_rows(self.active_metadata, **kwargs) + used_writers.append(obj) + end = datetime.now() + self.logger.info(f"Runtime: {end-start}") + if self.active_modules["writer"] == used_writers: + self.active_modules["writer"] = [] + else: + raise ValueError("Not all plugin writers were successfully transloaded") - def artifact_handler(self, interaction_type, **kwargs): + def artifact_handler(self, interaction_type, query = None, **kwargs): """ - Store or retrieve using all loaded DSI Drivers with back-end functionality. + Store or retrieve using all loaded DSI Backends with storage functionality. - A DSI Core Terminal may load zero or more Drivers with back-end storage functionality. - Calling artifact_handler will execute all back-end functionality currently loaded, given + A DSI Core Terminal may load zero or more Backends with storage functionality. + Calling artifact_handler will execute all back-write functionality currently loaded, given the provided ``interaction_type``. """ if interaction_type not in self.VALID_ARTIFACT_INTERACTION_TYPES: - print( - 'Hint: Did you declare your artifact interaction type in the Terminal Global vars?') + print('Hint: Did you declare your artifact interaction type in the Terminal Global vars?') raise NotImplementedError operation_success = False # Perform artifact movement first, because inspect implementation may rely on # self.active_metadata or some stored artifact. - selected_function_modules = dict( - (k, self.active_modules[k]) for k in (['back-end'])) - for module_type, objs in selected_function_modules.items(): + selected_active_backends = dict((k, self.active_modules[k]) for k in (['back-write', 'back-read'])) + get_artifact_data = None + for module_type, objs in selected_active_backends.items(): for obj in objs: - if interaction_type == 'put' or interaction_type == 'set': - obj.put_artifacts( - collection=self.active_metadata, **kwargs) + self.logger.info(f"-------------------------------------") + self.logger.info(obj.__class__.__name__ + f" backend - {interaction_type} the data") + start = datetime.now() + + if interaction_type in ['put', 'set'] and module_type == 'back-write': + if self.backup_db_flag == True and os.path.getsize(obj.filename) > 100: + backup_file = obj.filename[:obj.filename.rfind('.')] + "_backup" + obj.filename[obj.filename.rfind('.'):] + shutil.copyfile(obj.filename, backup_file) + errorMessage = obj.put_artifacts(collection = self.active_metadata, **kwargs) + if errorMessage is not None: + print(f"Error in put artifact handler: No data was inserted into {obj.filename} due to the error {errorMessage}") operation_success = True + elif interaction_type in ['put', 'set'] and module_type == 'back-read': + raise ValueError("Can only call put artifact handler with a back-WRITE backend") + elif interaction_type == 'get': - self.active_metadata = obj.get_artifacts(**kwargs) + if "query" in obj.get_artifacts.__code__.co_varnames: + self.logger.info(f"Query to get data: {query}") + kwargs['query'] = query + get_artifact_data = obj.get_artifacts(**kwargs) + # else: + # #raise ValueError("Need to specify a query of the database to return data") + # # This is a valid use-case, may give a warning for now + # get_artifact_data = obj.get_artifacts(**kwargs) + operation_success = True + + elif interaction_type == 'inspect': + # if module_type == 'back-write': + # errorMessage = obj.put_artifacts( + # collection=self.active_metadata, **kwargs) + # if errorMessage is not None: + # print("Error in ingesting data to db in inspect artifact handler. Generating Jupyter notebook with previous instance of db") + if not self.active_metadata: + raise ValueError("Error in inspect artifact handler: Need to ingest data to DSI abstraction before generating Jupyter notebook") + obj.inspect_artifacts(collection=self.active_metadata, **kwargs) operation_success = True - if interaction_type == 'inspect': - for module_type, objs in selected_function_modules.items(): - for obj in objs: - obj.put_artifacts( - collection=self.active_metadata, **kwargs) - self.active_metadata = obj.inspect_artifacts( - collection=self.active_metadata, **kwargs) + + elif interaction_type == "read" and module_type == 'back-read': + self.active_metadata = obj.read_to_artifact() operation_success = True + elif interaction_type == "read" and module_type == 'back-write': + raise ValueError("Can only call read to artifact handler with a back-READ backend") + + end = datetime.now() + self.logger.info(f"Runtime: {end-start}") if operation_success: + if interaction_type == 'get' and get_artifact_data: + return get_artifact_data return else: - print( - 'Hint: Did you implement a case for your artifact interaction in the \ - artifact_handler loop?') + print('Is your artifact interaction spelled correct and is it implemented in your backend?') + print('Remember that backend writers cannot read a db and backend readers cannot write to a db') raise NotImplementedError + + def get_current_abstraction(self, table_name = None): + if table_name is not None and table_name not in self.active_metadata.keys(): + raise ValueError(f"{table_name} not in current abstraction") + if table_name is None: + return self.active_metadata + else: + return self.active_metadata[table_name] + + def update_abstraction(self, table_name, table_data): + if table_name not in self.active_metadata.keys(): + raise ValueError(f"{table_name} not in current abstraction") + if not isinstance(table_data, OrderedDict): + raise ValueError("table_data needs to be in the form of an Ordered Dictionary") + self.active_metadata[table_name] = table_data + + #allow more plugins to be loaded and can call transload again + # self.transload_lock = False + + #need to unload all loaded plugins to prevent duplicate reading when transload called again + # mods = self.active_modules + # for obj in mods['reader']: + # self.unload_module('plugin', obj.__class__.__name__, "reader") + # for obj in mods['writer']: + # self.unload_module('plugin', obj.__class__.__name__, "writer") + + +class Sync(): + """ + A class defined to assist in data management activities for DSI + + Sync is where data movement functions such as copy (to remote location) and + sync (local filesystem with remote) exist. + """ + remote_location = [] + local_location = [] + + def __init__(self, project_name="test"): + # Helper function to get parent module names. + #self.remote_location = {} + #self.local_location = {} + self.project_name = project_name + + def populate(self, local_loc, remote_loc, isVerbose=False): + """ + Helper function to gather filesystem information, local and remote locations + to create a filesystem entry in a new or existing database + """ + True + + def copy(self, local_loc, remote_loc, isVerbose=False): + """ + Helper function to stage location and get filesystem information, and copy + data over using a preferred API + """ + if isVerbose: + print("loc: "+local_loc+ " rem: "+remote_loc) + # Data Crawl and gather metadata of local location + file_list = self.dircrawl(local_loc) + + # populate st_list to hold all filesystem attributes + st_list = [] + rfile_list = [] + + # Do a quick validation of group permissions + for file in file_list: + file = os.path.relpath(file,local_loc) #rel path + #utils.isgroupreadable(file) # quick test + filepath = os.path.join(local_loc, file) + st = os.stat(filepath) + # append future location to st + rfilepath = os.path.join(remote_loc,self.project_name, file) + rfile_list.append(rfilepath) + st_list.append(st) + + # Test remote location validity, try to check access + # Future: iterate through remote/server list here, for now::: + remote_list = [ os.path.join(remote_loc,self.project_name) ] + for remote in remote_list: + try: # Try for file permissions + if os.path.exists(remote): # Check if exists + print(f"The directory '{remote}' already exists locally.") + else: + os.makedirs(remote) # Create it + print(f"The directory '{remote}' has been created locally.") + except Exception as err: + print(f"Unexpected {err=}, {type(err)=}") + raise + + # Try to open or create a local database to store fs info before copy + # Open and validate local DSI data store + try: + #f = os.path.join((local_loc, str(self.project_name+".db") )) + f = local_loc+"/"+self.project_name+".db" + print("db: ", f) + store = Sqlite( f ) + except Exception as err: + print(f"Unexpected {err=}, {type(err)=}") + raise + + # Create new filesystem table with origin and remote locations + data_type = DataType() + data_type.name = "filesystem" + data_type.properties["file_origin"] = Sqlite.STRING + data_type.properties["st_mode"] = Sqlite.DOUBLE + data_type.properties["st_ino"] = Sqlite.DOUBLE + data_type.properties["st_dev"] = Sqlite.DOUBLE + data_type.properties["st_nlink"] = Sqlite.DOUBLE + data_type.properties["st_uid"] = Sqlite.DOUBLE + data_type.properties["st_gid"] = Sqlite.DOUBLE + data_type.properties["st_size"] = Sqlite.DOUBLE + data_type.properties["st_atime"] = Sqlite.DOUBLE + data_type.properties["st_mtime"] = Sqlite.DOUBLE + data_type.properties["st_ctime"] = Sqlite.DOUBLE + data_type.properties["file_remote"] = Sqlite.STRING + #print(data_type.properties) + store.put_artifact_type(data_type, isVerbose) + + artifact = Artifact() + artifact.name = "filesystem" + for file,st,file_remote in zip(file_list,st_list,rfile_list): + artifact.properties["file_origin"] = str(file) + artifact.properties["st_mode"] = st.st_mode + artifact.properties["st_ino"] = st.st_ino + artifact.properties["st_dev"] = st.st_dev + artifact.properties["st_nlink"] = st.st_nlink + artifact.properties["st_uid"] = st.st_uid + artifact.properties["st_gid"] = st.st_gid + artifact.properties["st_size"] = st.st_size + artifact.properties["st_atime"] = st.st_atime + artifact.properties["st_mtime"] = st.st_mtime + artifact.properties["st_ctime"] = st.st_ctime + artifact.properties["file_remote"] = str(file_remote) + #print(artifact.properties) + store.put_artifacts_lgcy(artifact, isVerbose) + + store.close() + + # Data movement + # Future: have movement service handle type (cp,scp,ftp,rsync,etc.) + for file,file_remote in zip(file_list,rfile_list): + abspath = os.path.dirname(os.path.abspath(file_remote)) + if not os.path.exists(abspath): + if isVerbose: + print( " mkdir " + abspath) + path = Path(abspath) + path.mkdir(parents=True) + + if isVerbose: + print( " cp " + file + " " + file_remote) + shutil.copyfile(file , file_remote) + + + # Database movement + if isVerbose: + print( " cp " + os.path.join(local_loc, str(self.project_name+".db") ) + " " + os.path.join(remote_loc, self.project_name, self.project_name+".db" ) ) + shutil.copyfile(os.path.join(local_loc, str(self.project_name+".db") ), os.path.join(remote_loc, self.project_name, self.project_name+".db" ) ) + + print( " Data Copy Complete! ") + + + def dircrawl(self,filepath): + """ + Crawls the root 'filepath' directory and returns files + + `filepath`: source filepath to be crawled + + `return`: returns crawled file-list + """ + file_list = [] + for root, dirs, files in os.walk(filepath): + #if os.path.basename(filepath) != 'tmp': # Lets skip some files + # continue + + for f in files: # Appent root-level files + file_list.append(os.path.join(root, f)) + for d in dirs: # Recursively dive into directories + sub_list = self.dircrawl(os.path.join(root, d)) + for sf in sub_list: + file_list.append(sf) + + return file_list + + def get(project_name = "Project"): + ''' + Helper function that searches remote location based on project name, and retrieves + DSI database + ''' + True + diff --git a/dsi/data/bueno.data b/dsi/data/bueno.data deleted file mode 100644 index 3d030360..00000000 --- a/dsi/data/bueno.data +++ /dev/null @@ -1,3 +0,0 @@ -foo:9 -bar:7 -baz:9 diff --git a/dsi/drivers/sqlite.py b/dsi/drivers/sqlite.py deleted file mode 100644 index 1597c6b9..00000000 --- a/dsi/drivers/sqlite.py +++ /dev/null @@ -1,328 +0,0 @@ -import csv -import sqlite3 - -from dsi.drivers.filesystem import Filesystem - -# Holds table name and data properties - - -class DataType: - name = "DEFAULT" - properties = {} - units = {} - -# Holds the main data - - -class Artifact: - """ - Primary Artifact class that holds database schema in memory. - An Artifact is a generic construct that defines the schema for metadata that - defines the tables inside of SQL - """ - properties = {} - -# Main storage class, interfaces with SQL - - -class Sqlite(Filesystem): - """ - Primary storage class, inherits sql class - """ - filename = "fs.db" - types = None - con = None - cur = None - - def __init__(self, filename): - self.filename = filename - self.con = sqlite3.connect(filename) - self.cur = self.con.cursor() - - def check_type(self, text): - """ - Tests input text and returns a predicted compatible SQL Type - `text`: text string - `return`: string description of a SQL data type - """ - try: - _ = int(text) - return " INT" - except ValueError: - try: - _ = float(text) - return " FLOAT" - except ValueError: - return " VARCHAR" - - # Adds columns to table and their types - def put_artifact_type(self, types, isVerbose=False): - """ - Primary class for defining metadata Artifact schema. - - `types`: DataType derived class that defines the string name, properties - (named SQL type), and units for each column in the schema. - - `return`: none - """ - str_query = "CREATE TABLE IF NOT EXISTS " + str(types.name) + " ( " - for key, value in types.properties.items(): - str_query = str_query + str(key) + " " + str(value) - str_query = str_query + "," - - str_query = str_query.rstrip(',') - str_query = str_query + " )" - - if isVerbose: - print(str_query) - - self.cur.execute(str_query) - self.con.commit() - - self.types = types - - # Adds rows to the columns defined previously - def put_artifacts(self, artifacts, isVerbose=False): - """ - Primary class for insertion of Artifact metadata into a defined schema - - `Artifacts`: DataType derived class that has a regular structure of a defined schema, - filled with rows to insert. - - `return`: none - """ - str_query = "INSERT INTO " + str(self.types.name) + " VALUES ( " - for key, value in artifacts.properties.items(): - if key == 'file': # Todo, use this to detect str type - str_query = str_query + " '" + str(value) + "' " - else: - str_query = str_query + " " + str(value) - - str_query = str_query + "," - - str_query = str_query.rstrip(',') - str_query = str_query + " )" - - if isVerbose: - print(str_query) - - self.cur.execute(str_query) - self.con.commit() - - # Adds columns and rows automaticallly based on a csv file - def put_artifacts_csv(self, fname, tname, isVerbose=False): - """ - Function for insertion of Artifact metadata into a defined schema by using a CSV file, - where the first row of the CSV contains the column names of the schema. Any rows - thereafter contain data to be inserted. Data types are automatically assigned based on - typecasting and default to a string type if none can be found. - - `fname`: filepath to the .csv file to be read and inserted into the database - - `tname`: String name of the table to be inserted - - `return`: none - """ - if isVerbose: - print("Opening " + fname) - - print('Entering csv method') - with open(fname) as csv_file: - csv_reader = csv.reader(csv_file, delimiter=',') - header = next(csv_reader) - - line_count = 0 - for row in csv_reader: - if line_count == 0: - str_query = "CREATE TABLE IF NOT EXISTS " + \ - str(tname) + " ( " - for columnd, columnh in zip(row, header): - DataType = self.check_type(columnd) - str_query = str_query + \ - str(columnh) + str(DataType) + "," - - str_query = str_query.rstrip(',') - str_query = str_query + " )" - - if isVerbose: - print(str_query) - - self.cur.execute(str_query) - self.con.commit() - line_count += 1 - - str_query = "INSERT INTO " + str(tname) + " VALUES ( " - for column in row: - str_query = str_query + " '" + str(column) + "'" - str_query = str_query + "," - - str_query = str_query.rstrip(',') - str_query = str_query + " )" - - if isVerbose: - print(str_query) - - self.cur.execute(str_query) - self.con.commit() - line_count += 1 - - if isVerbose: - print("Read " + str(line_count) + " rows.") - - # Returns text list from query - def get_artifact_list(self, isVerbose=False): - """ - Function that returns a list of all of the Artifact names (represented as sql tables) - - `return`: list of Artifact names - """ - str_query = "SELECT name FROM sqlite_master WHERE type='table';" - if isVerbose: - print(str_query) - - self.cur = self.con.cursor() - self.res = self.cur.execute(str_query) - resout = self.res.fetchall() - - if isVerbose: - print(resout) - - return resout - - # Returns reference from query - def get_artifacts(self, query): - self.get_artifacts_list() - - # Closes connection to server - def close(self): - self.con.close() - - # ------- Query related functions ----- - # Raw sql query - def sqlquery(self, query, isVerbose=False): - """ - Function that provides a direct sql query passthrough to the database. - - `query`: raw SQL query to be executed on current table - - `return`: raw sql query list that contains result of the original query - """ - if isVerbose: - print(query) - - self.cur = self.con.cursor() - self.res = self.cur.execute(query) - resout = self.res.fetchall() - - if isVerbose: - print(resout) - - return resout - - # Given an output of a sql query, reformat and write a csv of the subset data - def export_csv(self, query, fname, isVerbose=False): - """ - Function that outputs a csv file of a return query, given an initial query. - - `query`: raw SQL query to be executed on current table - - `fname`: target filename (including path) that will output the return query as a csv file - - `return`: none - """ - if isVerbose: - print(query) - - tname = "vision" - self.cur = self.con.cursor() - cdata = self.con.execute(f'PRAGMA table_info({tname});').fetchall() - cnames = [entry[1] for entry in cdata] - if isVerbose: - print(cnames) - - with open(fname, "w+") as ocsv: - csvWriter = csv.writer(ocsv, delimiter=',') - csvWriter.writerow(cnames) - - for row in query: - print(row) - csvWriter.writerow(row) - - return 1 - - # Query file name - def query_fname(self, name, isVerbose=False): - """ - Function that queries filenames within the filesystem metadata store - - `name`: string name of a subsection of a filename to be searched - - `return`: query list of filenames matching `name` string - """ - table = "filesystem" - str_query = "SELECT * FROM " + \ - str(table) + " WHERE file LIKE '%" + str(name) + "%'" - if isVerbose: - print(str_query) - - self.cur = self.con.cursor() - self.res = self.cur.execute(str_query) - resout = self.res.fetchall() - - if isVerbose: - print(resout) - - return resout - - # Query file size - - def query_fsize(self, operator, size, isVerbose=False): - """ - Function that queries ranges of file sizes within the filesystem metadata store - - `operator`: operator input GT, LT, EQ as a modifier for a filesize search - - `size`: size in bytes - - `return`: query list of filenames matching filesize criteria with modifiers - """ - str_query = "SELECT * FROM " + \ - str(self.types.name) + " WHERE st_size " + \ - str(operator) + " " + str(size) - if isVerbose: - print(str_query) - - self.cur = self.con.cursor() - self.res = self.cur.execute(str_query) - resout = self.res.fetchall() - - if isVerbose: - print(resout) - - return resout - - # Query file creation time - def query_fctime(self, operator, ctime, isVerbose=False): - """ - Function that queries file creation times within the filesystem metadata store - - `operator`: operator input GT, LT, EQ as a modifier for a creation time search - - `ctime`: creation time in POSIX format, see the utils `dateToPosix` conversion function - - `return`: query list of filenames matching the creation time criteria with modifiers - """ - str_query = "SELECT * FROM " + \ - str(self.types.name) + " WHERE st_ctime " + \ - str(operator) + " " + str(ctime) - if isVerbose: - print(str_query) - - self.cur = self.con.cursor() - self.res = self.cur.execute(str_query) - resout = self.res.fetchall() - - if isVerbose: - print(resout) - - return resout diff --git a/dsi/drivers/tests/query.csv b/dsi/drivers/tests/query.csv deleted file mode 100644 index c43b5bba..00000000 --- a/dsi/drivers/tests/query.csv +++ /dev/null @@ -1,3 +0,0 @@ - -2,180,0.05,ST5_FF_DUET,ST5_ignite_contour.dat,safe,safe,yes,,122388,https://wifire-data.sdsc.edu/data//burnpro3d/d/07/12/run_07127fcc-66c4-4498-a4c6-8e9f6e5fbe68/png/run_07127fcc-66c4-4498-a4c6-8e9f6e5fbe68_fuels-dens_2100_000.png,2 -8,225,0.05,ST5_FFDUET_TLS,ST5_ignite_contour.dat,safe,unsafe,no,,169302,https://wifire-data.sdsc.edu/data//burnpro3d/d/cd/34/run_cd34e198-92d8-465d-b7d7-9cdf8b4dbd12/png/run_cd34e198-92d8-465d-b7d7-9cdf8b4dbd12_fuels-dens_2100_000.png,8 diff --git a/dsi/drivers/tests/test_sqlite.py b/dsi/drivers/tests/test_sqlite.py deleted file mode 100644 index 14ae0f5b..00000000 --- a/dsi/drivers/tests/test_sqlite.py +++ /dev/null @@ -1,53 +0,0 @@ -import git - -from dsi.drivers.sqlite import Sqlite, DataType - -isVerbose = True - - -def get_git_root(path): - git_repo = git.Repo(path, search_parent_directories=True) - git_root = git_repo.git.rev_parse("--show-toplevel") - return (git_root) - - -def test_wildfire_data_sql_artifact(): - dbpath = "wildfire.db" - store = Sqlite(dbpath) - store.close() - # No error implies success - assert True - - -def test_wildfire_data_csv_artifact(): - csvpath = '/'.join([get_git_root('.'), 'dsi/data/wildfiredata.csv']) - dbpath = "wildfire.db" - store = Sqlite(dbpath) - store.put_artifacts_csv(csvpath, "simulation", isVerbose=isVerbose) - store.close() - # No error implies success - assert True - - -def test_yosemite_data_csv_artifact(): - csvpath = '/'.join([get_git_root('.'), 'dsi/data/yosemite5.csv']) - dbpath = "yosemite.db" - store = Sqlite(dbpath) - store.put_artifacts_csv(csvpath, "vision", isVerbose=isVerbose) - store.close() - # No error implies success - assert True - - -def test_artifact_query(): - dbpath = "wildfire.db" - store = Sqlite(dbpath) - _ = store.get_artifact_list(isVerbose=isVerbose) - data_type = DataType() - data_type.name = "simulation" - result = store.sqlquery("SELECT *, MAX(wind_speed) AS max_windspeed FROM " + - str(data_type.name) + " GROUP BY safe_unsafe_fire_behavior") - store.export_csv(result, "query.csv") - store.close() - # No error implies success - assert True diff --git a/dsi/plugins/collection_reader.py b/dsi/plugins/collection_reader.py new file mode 100644 index 00000000..96136a5b --- /dev/null +++ b/dsi/plugins/collection_reader.py @@ -0,0 +1,65 @@ +from collections import OrderedDict +from os.path import abspath +from hashlib import sha1 +import json +from math import isnan +from pandas import DataFrame, read_csv, concat + +from dsi.plugins.metadata import StructuredMetadata + + +class CollectionReader(StructuredMetadata): + """ + FileReader Plugins keep information about the file that + they are ingesting, namely absolute path and hash. + """ + + def __init__(self, collections, **kwargs): + super().__init__(**kwargs) + if type(collections) == dict: + self.collections = [collections] + elif type(filenames) == list: + self.collections = collections + else: + raise TypeError + +class Dict(CollectionReader): + """ + A Plugin to capture data from a dicitonary + + The dictionary's data keys are used as columns and values are rows + + """ + + def __init__(self, collections, **kwargs) -> None: + super().__init__(collections, **kwargs) + self.key_data = [] + self.base_dict = OrderedDict() + + def pack_header(self) -> None: + """Set schema with POSIX and JSON data.""" + self.set_schema(self.key_data) + + def add_rows(self) -> None: + """Reads the dictionary data and adds a list containing 1 or more rows.""" + + objs = [] + for idx, collection in enumerate(self.collections): + objs.append(collection) + for key, val in collection.items(): + # Check if column already exists + if key not in self.key_data: + self.key_data.append(key) + + if not self.schema_is_set(): + self.pack_header() + for key in self.key_data: + self.base_dict[key] = None + + for o in objs: + new_row = self.base_dict.copy() + for key, val in o.items(): + new_row[key] = val + print(new_row.values()) + self.add_to_output(list(new_row.values())) + diff --git a/dsi/plugins/env.py b/dsi/plugins/env.py index 1421217b..90d349a4 100644 --- a/dsi/plugins/env.py +++ b/dsi/plugins/env.py @@ -9,7 +9,7 @@ from dsi.plugins.metadata import StructuredMetadata from dsi.plugins.plugin_models import ( - EnvironmentModel, GitInfoModel, HostnameModel, SystemKernelModel, create_dynamic_model + GitInfoModel, HostnameModel, SystemKernelModel ) @@ -49,7 +49,7 @@ def pack_header(self) -> None: column_names = list(self.posix_info.keys()) + ["hostname"] self.set_schema(column_names, validation_model=HostnameModel) - def add_row(self) -> None: + def add_rows(self) -> None: """Parses environment provenance data and adds the row.""" if not self.schema_is_set(): self.pack_header() @@ -58,46 +58,6 @@ def add_row(self) -> None: self.add_to_output(row) -class Bueno(Environment): - """ - A Plugin to capture performance data from Bueno (github.com/lanl/bueno) - - Bueno outputs performance data in keyvalue pairs in a file. Keys and values - are delimited by ``:``. Keyval pairs are delimited by ``\\n``. - """ - - def __init__(self, filename, **kwargs) -> None: - super().__init__() - self.bueno_data = OrderedDict() - self.filename = filename - - def pack_header(self) -> None: - """Set schema with POSIX and Bueno data.""" - bueno_names = list(self.bueno_data.keys()) - column_names = list(self.posix_info.keys()) + bueno_names - model = create_dynamic_model("BuenoModel", col_names=bueno_names, - col_types=[str] * len(bueno_names), base=EnvironmentModel) - self.set_schema(column_names, validation_model=model) - - def add_row(self) -> None: - """Parses environment provenance data and adds the row.""" - if not self.schema_is_set(): - with open(self.filename, 'r') as fh: - file_content = (fh.read()) - rows = file_content.split('\n') - drop_rows = [row for row in rows if row != ''] - rows = drop_rows - for row in rows: - colon_split = row.split(':', maxsplit=1) - if len(colon_split) != 2: - raise TypeError - self.bueno_data[colon_split[0]] = colon_split[1] - self.pack_header() - - row = list(self.posix_info.values()) + list(self.bueno_data.values()) - self.add_to_output(row) - - class GitInfo(Environment): """ A Plugin to capture Git information. @@ -125,7 +85,7 @@ def pack_header(self) -> None: list(self.git_info.keys()) self.set_schema(column_names, validation_model=GitInfoModel) - def add_row(self) -> None: + def add_rows(self) -> None: """ Adds a row to the output with POSIX info, git remote, and git commit """ if not self.schema_is_set(): self.pack_header() @@ -159,7 +119,7 @@ def pack_header(self) -> None: column_names = list(self.posix_info.keys()) + self.column_names self.set_schema(column_names, validation_model=SystemKernelModel) - def add_row(self) -> None: + def add_rows(self) -> None: """Parses environment provenance data and adds the row.""" if not self.schema_is_set(): self.pack_header() diff --git a/dsi/plugins/file_reader.py b/dsi/plugins/file_reader.py new file mode 100644 index 00000000..db40c05d --- /dev/null +++ b/dsi/plugins/file_reader.py @@ -0,0 +1,579 @@ +from collections import OrderedDict +from os.path import abspath +from hashlib import sha1 +import json +from math import isnan +from pandas import DataFrame, read_csv, concat +import re +import yaml +try: import tomllib +except ModuleNotFoundError: import pip._vendor.tomli as tomllib +# import ast + +from dsi.plugins.metadata import StructuredMetadata + + +class FileReader(StructuredMetadata): + """ + FileReader Plugins keep information about the file that + they are ingesting, namely absolute path and hash. + """ + + def __init__(self, filenames, **kwargs): + super().__init__(**kwargs) + if type(filenames) == str: + self.filenames = [filenames] + elif type(filenames) == list: + self.filenames = filenames + else: + raise TypeError + self.file_info = {} + for filename in self.filenames: + sha = sha1(open(filename, 'rb').read()) + self.file_info[abspath(filename)] = sha.hexdigest() + + +class Csv(FileReader): + """ + A Plugin to ingest CSV data + """ + + # This turns on strict_mode when reading in multiple csv files that need matching schemas. + # Default value is False. + strict_mode = False + + def __init__(self, filenames, table_name = None, **kwargs): + super().__init__(filenames, **kwargs) + self.csv_data = OrderedDict() + if isinstance(filenames, str): + self.filenames = [filenames] + else: + self.filenames = filenames + self.table_name = table_name + + # def pack_header(self) -> None: + # """ Set schema based on the CSV columns """ + + # column_names = list(self.file_info.keys()) + list(self.csv_data.keys()) + # self.set_schema(column_names) + + def add_rows(self) -> None: + """ Adds a list containing one or more rows of the CSV along with file_info to output. """ + + total_df = DataFrame() + for filename in self.filenames: + temp_df = read_csv(filename) + try: + total_df = concat([total_df, temp_df], axis=0, ignore_index=True) + except: + raise ValueError(f"Error in adding {filename} to the existing csv data. Please recheck column names and data structure") + + #convert total_df to ordered dict + table_data = OrderedDict(total_df.to_dict(orient='list')) + for col, coldata in table_data.items(): # replace NaNs with None + table_data[col] = [None if type(item) == float and isnan(item) else item for item in coldata] + + if self.table_name is not None: + self.csv_data[self.table_name] = table_data + else: + self.csv_data = table_data + + self.set_schema_2(self.csv_data) + + # if not self.schema_is_set(): + # # use Pandas to append all CSVs together as a + # # dataframe, then convert to dict + # if self.strict_mode: + # total_df = DataFrame() + # dfs = [] + # for filename in self.filenames: + # # Initial case. Empty df collection. + # if total_df.empty: + # total_df = read_csv(filename) + # dfs.append(total_df) + # else: # One or more dfs in collection + # temp_df = read_csv(filename) + # # raise exception if schemas do not match + # if any([set(temp_df.columns) != set(df.columns) for df in dfs]): + # print('Error: Strict schema mode is on. Schemas do not match.') + # raise TypeError + # dfs.append(temp_df) + # total_df = concat([total_df, temp_df]) + + # # Reminder: Schema is not set in this block. + # else: # self.strict_mode == False + # total_df = DataFrame() + # for filename in self.filenames: + # temp_df = read_csv(filename) + # total_df = concat([total_df, temp_df]) + + # # Columns are present in the middleware already (schema_is_set==True). + # # TODO: Can this go under the else block at line #79? + # self.csv_data = total_df.to_dict('list') + # for col, coldata in self.csv_data.items(): # replace NaNs with None + # self.csv_data[col] = [None if type(item) == float and isnan(item) else item + # for item in coldata] + # self.pack_header() + + # total_length = len(self.csv_data[list(self.csv_data.keys())[0]]) + # for row_idx in range(total_length): + # row = [self.csv_data[k][row_idx] for k in self.csv_data.keys()] + # row_w_fileinfo = list(self.file_info.values()) + row + # self.add_to_output(row_w_fileinfo) + + +class Bueno(FileReader): + """ + A Plugin to capture performance data from Bueno (github.com/lanl/bueno) + + Bueno outputs performance data in keyvalue pairs in a file. Keys and values + are delimited by ``:``. Keyval pairs are delimited by ``\\n``. + """ + + def __init__(self, filenames, **kwargs) -> None: + super().__init__(filenames, **kwargs) + if isinstance(filenames, str): + self.filenames = [filenames] + else: + self.filenames = filenames + self.bueno_data = OrderedDict() + + # def pack_header(self) -> None: + # """Set schema with POSIX and Bueno data.""" + # column_names = list(self.bueno_data.keys()) + # self.set_schema(column_names) + + def add_rows(self) -> None: + """Parses Bueno data and adds a list containing 1 or more rows.""" + file_counter = 0 + total_df = DataFrame() + for filename in self.filenames: + with open(filename, 'r') as fh: + file_content = json.load(fh) + temp_df = DataFrame([file_content]) + total_df = concat([total_df, temp_df], axis=0, ignore_index=True) + + #convert total_df to ordered dict + self.bueno_data = OrderedDict(total_df.to_dict(orient='list')) + for col, coldata in self.bueno_data.items(): # replace NaNs with None + self.bueno_data[col] = [None if type(item) == float and isnan(item) else item for item in coldata] + + # for key, val in file_content.items(): + # if key not in self.bueno_data: + # new_list = [] + # if self.bueno_data and file_counter > 0: + # curr_len = len(self.bueno_data[next(iter(self.bueno_data))]) + # if curr_len > 0: + # new_list = [None] * (curr_len -1) + # self.bueno_data[key] = new_list + # self.bueno_data[key].append(val) + # file_counter += 1 + + # max_length = max(len(lst) for lst in self.bueno_data.values()) + + # # Fill the shorter lists with None (or another value) + # for key, value in self.bueno_data.items(): + # if len(value) < max_length: + # # Pad the list with None (or any other value) + # self.bueno_data[key] = value + [None] * (max_length - len(value)) + + self.set_schema_2(self.bueno_data) + + # for idx, filename in enumerate(self.filenames): + # with open(filename, 'r') as fh: + # file_content = json.load(fh) + # for key, val in file_content.items(): + # # Check if column already exists + # if key not in self.bueno_data: + # # Initialize empty column if first time seeing it + # self.bueno_data[key] = [None] \ + # * len(self.filenames) + # # Set the appropriate row index value for this keyval_pair + # self.bueno_data[key][idx] = val + # self.pack_header() + + # rows = list(self.bueno_data.values()) + # self.add_to_output(rows) + # # Flatten multiple samples of the same file. + # try: + # for col, rows in self.output_collector["Bueno"].items(): + # self.output_collector["Bueno"][col] = rows[0] + rows[1] + # except IndexError: + # # First pass. Nothing to do. + # pass + +class JSON(FileReader): + """ + A Plugin to capture JSON data + + The JSON data's keys are used as columns and values are rows + + """ + def __init__(self, filenames, **kwargs) -> None: + super().__init__(filenames, **kwargs) + self.key_data = [] + self.base_dict = OrderedDict() + + def pack_header(self) -> None: + """Set schema with POSIX and JSON data.""" + self.set_schema(self.key_data) + + def add_rows(self) -> None: + """Parses JSON data and adds a list containing 1 or more rows.""" + + objs = [] + for idx, filename in enumerate(self.filenames): + with open(filename, 'r') as fh: + file_content = json.load(fh) + objs.append(file_content) + for key, val in file_content.items(): + # Check if column already exists + if key not in self.key_data: + self.key_data.append(key) + if not self.schema_is_set(): + self.pack_header() + for key in self.key_data: + self.base_dict[key] = None + + for o in objs: + new_row = self.base_dict.copy() + for key, val in o.items(): + new_row[key] = val + print(new_row.values()) + self.add_to_output(list(new_row.values())) + +class Schema(FileReader): + ''' + Plugin to parse schema of a data source that is about to be ingested. + Schema file input should be a JSON file that stores primary and foreign keys for all tables in the data source. + Store all relations in global dsi_relations table used for creating backends/writers + ''' + def __init__(self, filename, target_table_prefix = None, **kwargs): + super().__init__(filename, **kwargs) + self.schema_file = filename + self.target_table_prefix = target_table_prefix + self.schema_data = OrderedDict() + + def pack_header(self) -> None: + """Set schema with YAML data.""" + table_info = [] + for table_name in list(self.schema_data.keys()): + table_info.append((table_name, list(self.schema_data[table_name].keys()))) + self.set_schema(table_info) + + def add_rows(self) -> None: + self.schema_data["dsi_relations"] = OrderedDict([('primary_key', []), ('foreign_key', [])]) + with open(self.schema_file, 'r') as fh: + schema_content = json.load(fh) + + for tableName, tableData in schema_content.items(): + if self.target_table_prefix is not None: + tableName = self.target_table_prefix + "__" + tableName + + pkList = [] + for colName, colData in tableData["foreign_key"].items(): + if self.target_table_prefix is not None: + colData[0] = self.target_table_prefix + "__" + colData[0] + self.schema_data["dsi_relations"]["primary_key"].append((colData[0], colData[1])) + self.schema_data["dsi_relations"]["foreign_key"].append((tableName, colName)) + + if "primary_key" in tableData.keys(): + pkList.append((tableName, tableData["primary_key"])) + + for pk in pkList: + if pk not in self.schema_data["dsi_relations"]["primary_key"]: + self.schema_data["dsi_relations"]["primary_key"].append(pk) + self.schema_data["dsi_relations"]["foreign_key"].append((None, None)) + self.set_schema_2(self.schema_data) + + # if not self.schema_is_set(): + # self.schema_data["dsi_relations"] = OrderedDict([('primary_key', []), ('foreign_key', [])]) + # self.pack_header() + + # with open(self.schema_file, 'r') as fh: + # schema_content = json.load(fh) + + # for tableName, tableData in schema_content.items(): + # if self.target_table_prefix is not None: + # tableName = self.target_table_prefix + "__" + tableName + # if tableData["primary_key"] != "NULL": + # self.schema_data["dsi_relations"]["primary_key"].append((tableName, tableData["primary_key"])) + # self.schema_data["dsi_relations"]["foreign_key"].append(("NULL", "NULL")) + # self.add_to_output([(tableName, tableData["primary_key"]), ("NULL", "NULL")], "dsi_relations") + + # for colName, colData in tableData["foreign_key"].items(): + # if self.target_table_prefix is not None: + # colData[0] = self.target_table_prefix + "__" + colData[0] + # self.schema_data["dsi_relations"]["primary_key"].append((colData[0], colData[1])) + # self.schema_data["dsi_relations"]["foreign_key"].append((tableName, colName)) + # self.add_to_output([(colData[0], colData[1]), (tableName, colName)], "dsi_relations") + +class YAML1(FileReader): + ''' + Plugin to read in an individual or a set of YAML files + Table names are the keys for the main ordered dictionary and column names are the keys for each table's nested ordered dictionary + ''' + def __init__(self, filenames, target_table_prefix = None, yamlSpace = ' ', **kwargs): + ''' + `filenames`: one yaml file or a list of yaml files to be ingested + `target_table_prefix`: prefix to be added to every table created to differentiate between other yaml sources + `yamlSpace`: indent used in ingested yaml files - default 2 spaces but can change to the indentation used in input + ''' + super().__init__(filenames, **kwargs) + if isinstance(filenames, str): + self.yaml_files = [filenames] + else: + self.yaml_files = filenames + self.yamlSpace = yamlSpace + self.yaml_data = OrderedDict() + self.target_table_prefix = target_table_prefix + + # def pack_header(self) -> None: + # """Set schema with YAML data.""" + # table_info = [] + # for table_name in list(self.yaml_data.keys()): + # table_info.append((table_name, list(self.yaml_data[table_name].keys()))) + # self.set_schema(table_info) + + def check_type(self, text): + """ + Tests input text and returns a predicted compatible SQL Type + `text`: text string + `return`: string returned as int, float or still a string + """ + try: + _ = int(text) + return int(text) + except ValueError: + try: + _ = float(text) + return float(text) + except ValueError: + return text + + def add_rows(self) -> None: + """ + Parses YAML data and creates an ordered dict which stores an ordered dict for each table. + """ + file_counter = 0 + for filename in self.yaml_files: + with open(filename, 'r') as yaml_file: + editedString = yaml_file.read() + editedString = re.sub('specification', f'columns:\n{self.yamlSpace}specification', editedString) + editedString = re.sub(r'(!.+)\n', r"'\1'\n", editedString) + yaml_load_data = list(yaml.safe_load_all(editedString)) + + if "dsi_units" not in self.yaml_data.keys(): + self.yaml_data["dsi_units"] = OrderedDict() + for table in yaml_load_data: + tableName = table["segment"] + if self.target_table_prefix is not None: + tableName = self.target_table_prefix + "__" + table["segment"] + if tableName not in self.yaml_data.keys(): + self.yaml_data[tableName] = OrderedDict() + unitsList = [] + for col_name, data in table["columns"].items(): + unit_data = None + if isinstance(data, str) and not isinstance(self.check_type(data[:data.find(" ")]), str): + unit_data = data[data.find(" ")+1:] + data = self.check_type(data[:data.find(" ")]) + if col_name not in self.yaml_data[tableName].keys(): + self.yaml_data[tableName][col_name] = [None] * (file_counter) + self.yaml_data[tableName][col_name].append(data) + if unit_data is not None and (col_name, unit_data) not in unitsList: + unitsList.append((col_name, unit_data)) + if len(unitsList) > 0: + if tableName not in self.yaml_data["dsi_units"].keys(): + self.yaml_data["dsi_units"][tableName] = unitsList + else: + self.yaml_data["dsi_units"][tableName] += list(set(unitsList) - set(self.yaml_data["dsi_units"][tableName])) + + max_length = max(len(lst) for lst in self.yaml_data[tableName].values()) + for key, value in self.yaml_data[tableName].items(): + if len(value) < max_length: + self.yaml_data[tableName][key] = value + [None] * (max_length - len(value)) + file_counter += 1 + + if len(self.yaml_data["dsi_units"]) == 0: + del self.yaml_data["dsi_units"] + self.set_schema_2(self.yaml_data) + + # if not self.schema_is_set(): + # self.yaml_data["dsi_units"] = OrderedDict() + # for table in yaml_load_data: + # tableName = table["segment"] + # if self.target_table_prefix is not None: + # tableName = self.target_table_prefix + "__" + table["segment"] + # self.yaml_data[tableName] = OrderedDict((key, []) for key in table["columns"].keys()) + # self.yaml_data["dsi_units"][tableName] = [] + # # self.yaml_data["dsi_relations"] = OrderedDict([('primary_key', []), ('foreign_key', [])]) + # self.pack_header() + + # unit_row = [] + # for table in yaml_load_data: + # row = [] + # table_unit_row = [] + # tableName = table["segment"] + # if self.target_table_prefix is not None: + # tableName = self.target_table_prefix + "__" + table["segment"] + # for col_name, data in table["columns"].items(): + # unit_data = "NULL" + # if isinstance(data, str) and not isinstance(self.check_type(data[:data.find(" ")]), str): + # unit_data = data[data.find(' ')+1:] + # data = self.check_type(data[:data.find(" ")]) + # self.yaml_data[tableName][col_name].append(data) + # if (col_name, unit_data) not in self.yaml_data["dsi_units"][tableName]: + # table_unit_row.append((col_name, unit_data)) + # self.yaml_data["dsi_units"][tableName].append((col_name, unit_data)) + # row.append(data) + # self.add_to_output(row, tableName) + # unit_row.append(table_unit_row) + # if len(next(iter(self.output_collector["dsi_units"].values()))) < 1: + # self.add_to_output(unit_row, "dsi_units") + +class TOML1(FileReader): + ''' + Plugin to read in an individual or a set of TOML files + Table names are the keys for the main ordered dictionary and column names are the keys for each table's nested ordered dictionary + ''' + def __init__(self, filenames, target_table_prefix = None, **kwargs): + ''' + `filenames`: one toml file or a list of toml files to be ingested + `target_table_prefix`: prefix to be added to every table created to differentiate between other toml sources + ''' + super().__init__(filenames, **kwargs) + if isinstance(filenames, str): + self.toml_files = [filenames] + else: + self.toml_files = filenames + self.toml_data = OrderedDict() + self.target_table_prefix = target_table_prefix + + # def pack_header(self) -> None: + # """Set schema with TOML data.""" + # table_info = [] + # for table_name in list(self.toml_data.keys()): + # table_info.append((table_name, list(self.toml_data[table_name].keys()))) + # self.set_schema(table_info) + + def add_rows(self) -> None: + """ + Parses TOML data and creates an ordered dict whose keys are table names and values are an ordered dict for each table. + """ + file_counter = 0 + for filename in self.toml_files: + # with open(filename, 'r+') as temp_file: + # editedString = temp_file.read() + # if '"{' not in editedString: + # editedString = re.sub('{', '"{', editedString) + # editedString = re.sub('}', '}"', editedString) + # temp_file.seek(0) + # temp_file.write(editedString) + + toml_load_data = None + with open(filename, 'rb') as toml_file: + toml_load_data = tomllib.load(toml_file) + + if "dsi_units" not in self.toml_data.keys(): + self.toml_data["dsi_units"] = OrderedDict() + for tableName, tableData in toml_load_data.items(): + if self.target_table_prefix is not None: + tableName = self.target_table_prefix + "__" + tableName + if tableName not in self.toml_data.keys(): + self.toml_data[tableName] = OrderedDict() + unitsList = [] + for col_name, data in tableData.items(): + unit_data = None + if isinstance(data, dict): + unit_data = data["units"] + data = data["value"] + # IF statement for manual data parsing for python 3.10 and below + # if isinstance(data, str) and data[0] == "{" and data[-1] == "}": + # data = ast.literal_eval(data) + # unit_data = data["units"] + # data = data["value"] + if col_name not in self.toml_data[tableName].keys(): + self.toml_data[tableName][col_name] = [None] * (file_counter) + self.toml_data[tableName][col_name].append(data) + if unit_data is not None and (col_name, unit_data) not in unitsList: + unitsList.append((col_name, unit_data)) + if len(unitsList) > 0: + if tableName not in self.toml_data["dsi_units"].keys(): + self.toml_data["dsi_units"][tableName] = unitsList + else: + self.toml_data["dsi_units"][tableName] += list(set(unitsList) - set(self.toml_data["dsi_units"][tableName])) + + max_length = max(len(lst) for lst in self.toml_data[tableName].values()) + for key, value in self.toml_data[tableName].items(): + if len(value) < max_length: + self.toml_data[tableName][key] = value + [None] * (max_length - len(value)) + file_counter += 1 + + if len(self.toml_data["dsi_units"]) == 0: + del self.toml_data["dsi_units"] + self.set_schema_2(self.toml_data) + + # if not self.schema_is_set(): + # for tableName, tableData in toml_load_data.items(): + # if self.target_table_prefix is not None: + # tableName = self.target_table_prefix + "__" + tableName + # self.toml_data[tableName] = OrderedDict((key, []) for key in tableData.keys()) + # self.toml_data["dsi_units"] = OrderedDict([(tableName,[])]) + # # self.toml_data["dsi_relations"] = OrderedDict([('primary_key', []), ('foreign_key', [])]) + # self.pack_header() + + # unit_row = [] + # for tableName, tableData in toml_load_data.items(): + # row = [] + # table_unit_row = [] + # if self.target_table_prefix is not None: + # tableName = self.target_table_prefix + "__" + tableName + # for col_name, data in tableData.items(): + # unit_data = "NULL" + # if isinstance(data, dict): + # unit_data = data["units"] + # data = data["value"] + # # IF statement for manual data parsing for python 3.10 and below + # # if isinstance(data, str) and data[0] == "{" and data[-1] == "}": + # # data = ast.literal_eval(data) + # # unit_data = data["units"] + # # data = data["value"] + # self.toml_data[tableName][col_name].append(data) + # if (col_name, unit_data) not in self.toml_data["dsi_units"][tableName]: + # table_unit_row.append((col_name, unit_data)) + # self.toml_data["dsi_units"][tableName].append((col_name, unit_data)) + # row.append(data) + # self.add_to_output(row, tableName) + # unit_row.append(table_unit_row) + # if len(next(iter(self.output_collector["dsi_units"].values()))) < 1: + # self.add_to_output(unit_row, "dsi_units") + +class TextFile(FileReader): + ''' + Plugin to read in an individual or a set of text files + Table names are the keys for the main ordered dictionary and column names are the keys for each table's nested ordered dictionary + ''' + def __init__(self, filenames, target_table_prefix = None, **kwargs): + ''' + `filenames`: one text file or a list of text files to be ingested + `target_table_prefix`: prefix to be added to every table created to differentiate between other text file sources + ''' + super().__init__(filenames, **kwargs) + if isinstance(filenames, str): + self.text_files = [filenames] + else: + self.text_files = filenames + self.text_file_data = OrderedDict() + self.target_table_prefix = target_table_prefix + + def add_rows(self) -> None: + """ + Parses text file data and creates an ordered dict whose keys are table names and values are an ordered dict for each table. + """ + for filename in self.text_files: + df = read_csv(filename) + if self.target_table_prefix is not None: + self.text_file_data[f"{self.target_table_prefix}__text_file"] = OrderedDict(df.to_dict(orient='list')) + else: + self.text_file_data["text_file"] = OrderedDict(df.to_dict(orient='list')) + self.set_schema_2(self.text_file_data) \ No newline at end of file diff --git a/dsi/plugins/file_writer.py b/dsi/plugins/file_writer.py new file mode 100644 index 00000000..3bb5954f --- /dev/null +++ b/dsi/plugins/file_writer.py @@ -0,0 +1,378 @@ +import pandas as pd +from matplotlib import pyplot as plt + +from dsi.plugins.metadata import StructuredMetadata + +class FileWriter(StructuredMetadata): + """ + FileWriter Plugins keep information about the file that + they are ingesting, namely absolute path and hash. + """ + def __init__(self, filenames, **kwargs): + super().__init__(**kwargs) + if type(filenames) == str: + self.filenames = [filenames] + elif type(filenames) == list: + self.filenames = filenames + else: + raise TypeError + + '''self.file_info = {} + for filename in self.filenames: + sha = sha1(open(filename, 'rb').read()) + self.file_info[abspath(filename)] = sha.hexdigest()''' + +class ER_Diagram(FileWriter): + + def __init__(self, filename, dbname = None, target_table_prefix = None, **kwargs): + super().__init__(filename, **kwargs) + self.output_filename = filename + self.target_table_prefix = target_table_prefix + #COMMENT OUT DBNAME VARIABLE ONCE DELETING export_to_erd + self.dbname = dbname + + def get_rows(self, collection) -> None: + """ + Function that outputs a ER diagram for the given database. + + `dbname`: database to create an ER diagram for + + `fname`: name (including path) of the image file that contains the generated ER diagram - default png if not specified + + `return`: none + """ + # if self.dbname is not None: + # self.export_erd(self.dbname, self.output_filename) + # return + + # else: + file_type = ".png" + if self.output_filename[-4:] == ".png" or self.output_filename[-4:] == ".pdf" or self.output_filename[-4:] == ".jpg": + file_type = self.output_filename[-4:] + self.output_filename = self.output_filename[:-4] + elif self.output_filename[-5:] == ".jpeg": + file_type = self.output_filename[-5:] + self.output_filename = self.output_filename[:-5] + + if self.target_table_prefix is not None and not any(self.target_table_prefix in element for element in collection.keys()): + raise ValueError("Your input for target_table_prefix does not exist in the database. Please enter a valid prefix for table names.") + + manual_dot = False + try: from graphviz import Digraph + except ModuleNotFoundError: + manual_dot = True + import subprocess + import os + + if manual_dot: + dot_file = open(self.output_filename + ".dot", "w") + dot_file.write("digraph workflow_schema { ") + if self.target_table_prefix is not None: + dot_file.write(f'label="ER Diagram for {self.target_table_prefix} tables"; labelloc="t"; ') + dot_file.write("node [shape=plaintext]; dpi=300 rankdir=LR splines=true overlap=false ") + else: + dot = Digraph('workflow_schema', format = file_type[1:]) + if self.target_table_prefix is not None: + dot.attr(label = f'ER Diagram for {self.target_table_prefix} tables', labelloc='t') + dot.attr('node', shape='plaintext') + dot.attr(dpi='300', rankdir='LR', splines='true', overlap='false') + + num_tbl_cols = 1 + for tableName, tableData in collection.items(): + if tableName == "dsi_relations" or tableName == "sqlite_sequence": + continue + elif self.target_table_prefix is not None and self.target_table_prefix not in tableName: + continue + + html_table = "" + if manual_dot: + html_table = f"{tableName} [label=" + html_table += f"<" + + col_list = tableData.keys() + if tableName == "dsi_units": + col_list = ["table_name", "column_and_unit"] + curr_row = 0 + inner_brace = 0 + for col_name in col_list: + if curr_row % num_tbl_cols == 0: + inner_brace = 1 + html_table += "" + html_table += f"" + curr_row += 1 + if curr_row % num_tbl_cols == 0: + inner_brace = 0 + html_table += "" + + if inner_brace: + html_table += "" + html_table += "
{tableName}
{col_name}
>" + + if manual_dot: dot_file.write(html_table+"]; ") + else: dot.node(tableName, label = html_table) + + for f_table, f_col in collection["dsi_relations"]["foreign_key"]: + if self.target_table_prefix is not None and self.target_table_prefix not in f_table: + continue + if f_table != "NULL": + foreignIndex = collection["dsi_relations"]["foreign_key"].index((f_table, f_col)) + fk_string = f"{f_table}:{f_col}" + pk_string = f"{collection['dsi_relations']['primary_key'][foreignIndex][0]}:{collection['dsi_relations']['primary_key'][foreignIndex][1]}" + + if manual_dot: dot_file.write(f"{fk_string} -> {pk_string}; ") + else: dot.edge(fk_string, pk_string) + + if manual_dot: + dot_file.write("}") + dot_file.close() + subprocess.run(["dot", "-T", file_type[1:], "-o", self.output_filename + file_type, self.output_filename + ".dot"]) + os.remove(self.output_filename + ".dot") + else: + dot.render(self.output_filename, cleanup=True) + + #REALLLLLY OLD CODE + # def export_erd(self, dbname, fname): + # """ + # Function that outputs a ER diagram for the given database. + + # `dbname`: database to create an ER diagram for + + # `fname`: name (including path) of the image file that contains the generated ER diagram - default png if not specified + + # `return`: none + # """ + + # db = sqlite3.connect(dbname) + + # file_type = ".png" + # if fname[-4:] == ".png" or fname[-4:] == ".pdf" or fname[-4:] == ".jpg": + # file_type = fname[-4:] + # fname = fname[:-4] + # elif fname[-5:] == ".jpeg": + # file_type = fname[-5:] + # fname = fname[:-5] + + # dot_file = open(fname + ".dot", "w") + + # numColsERD = 1 + + # dot_file.write("digraph sqliteschema { ") + # dot_file.write("node [shape=plaintext]; ") + # dot_file.write("rankdir=LR ") + # dot_file.write("splines=true ") + # dot_file.write("overlap=false ") + + # list_db_tbls = "SELECT tbl_name, NULL AS label, NULL AS color, NULL AS clusterid FROM sqlite_master WHERE type='table'" + # try: + # tbl_list_stmt = db.execute(list_db_tbls) + # except sqlite3.Error as er: + # dot_file.write(er.sqlite_errorname) + # dot_file.write("Can't prepare table list statement") + # db.close() + # dot_file.close() + + # for row in tbl_list_stmt: + # tbl_name = row[0] + + # tbl_info_sql = f"PRAGMA table_info({tbl_name})" + # try: + # tbl_info_stmt = db.execute(tbl_info_sql) + # except sqlite3.Error as er: + # dot_file.write(er.sqlite_errorname) + # dot_file.write(f"Can't prepare table info statement on table {tbl_name}") + # db.close() + # dot_file.close() + + # dot_file.write(f"{tbl_name} [label=<") + + # curr_row = 0 + # inner_brace = 0 + # for info_row in tbl_info_stmt: + # if curr_row % numColsERD == 0: + # inner_brace = 1 + # dot_file.write("") + + # dot_file.write(f"") + # curr_row += 1 + # if curr_row % numColsERD == 0: + # inner_brace = 0 + # dot_file.write("") + + # if inner_brace: + # dot_file.write("") + # dot_file.write("
{tbl_name}
{info_row[1]}
>]; ") + + # tbl_list_stmt = db.execute(list_db_tbls) + # for row in tbl_list_stmt: + # tbl_name = row[0] + + # fkey_info_sql = f"PRAGMA foreign_key_list({tbl_name})" + # try: + # fkey_info_stmt = db.execute(fkey_info_sql) + # except sqlite3.Error as er: + # dot_file.write(er.sqlite_errorname) + # dot_file.write(f"Can't prepare foreign key statement on table {tbl_name}") + # db.close() + # dot_file.close() + + # for fkey_row in fkey_info_stmt: + # dot_file.write(f"{tbl_name}:{fkey_row[3]} -> {fkey_row[2]}:{fkey_row[4]}; ") + + # dot_file.write("}") + # db.close() + # dot_file.close() + + # subprocess.run(["dot", "-T", file_type[1:], "-o", fname + file_type, fname + ".dot"]) + # os.remove(fname + ".dot") + +class Csv_Writer(FileWriter): + """ + A Plugin to output queries as CSV data + """ + + # This turns on strict_mode when reading in multiple csv files that need matching schemas. + # Default value is False. + strict_mode = False + + def __init__(self, table_name, filename, cols_to_export = None, **kwargs): + ''' + `table_name`: name of table to be exported to a csv + `filename`: name of output file that the table will be stored in + ''' + super().__init__(filename, **kwargs) + self.csv_file_name = filename + self.table_name = table_name + self.export_cols = cols_to_export + + + # def pack_header(self) -> None: + # """ Set schema based on the CSV columns """ + + # column_names = list(self.file_info.keys()) + list(self.csv_data.keys()) + # self.set_schema(column_names) + + def get_rows(self, collection) -> None: + if self.table_name not in collection.keys(): + raise ValueError(f"{self.table_name} does not exist in this database") + + df = pd.DataFrame(collection[self.table_name]) + + if self.export_cols is not None: + try: + df = df.iloc[:, self.export_cols] + except: + try: + df = df[self.export_cols] + except: + raise ValueError(f"Could not export to csv as specified column input {self.export_cols} is incorrect") + df.to_csv(self.csv_file_name, index=False) + + + # # Given an output of a sql query, reformat and write a csv of the subset data + # def export_csv_query(self,query,fname): + # """ + # Function that outputs a csv file of a return query, given an initial query. + + # `query`: raw SQL query to be executed on current table + + # `fname`: target filename (including path) that will output the return query as a csv file + + # `return`: none + # """ + # #if isVerbose: + # # print(query) + + # # Parse the table out of the query + # tname = query.split("FROM ",1)[1] + # tname = tname[:-1] + + # self.cur = self.con.cursor() + # cdata = self.con.execute(f'PRAGMA table_info({tname});').fetchall() + # cnames = [entry[1] for entry in cdata] + # #if isVerbose: + # # print(cnames) + + # with open(fname,"w+") as ocsv: + # csvWriter = csv.writer(ocsv,delimiter=',') + # csvWriter.writerow(cnames) + + # for row in query: + # print(row) + # csvWriter.writerow(row) + + # return 1 + + # # Given an output of a list, reformat and write a csv of the subset data + # def export_csv(self,qlist,tname,fname): + # """ + # Function that outputs a csv file of a return query, given an initial query. + + # `qlist`: a python list to be executed on current table + + # `tname`: a sql table name that originated qlist + + # `fname`: target filename (including path) that will output the return query as a csv file + + # `return`: none + # """ + + # self.cur = self.con.cursor() + # cdata = self.con.execute(f'PRAGMA table_info({tname});').fetchall() + # cnames = [entry[1] for entry in cdata] + + # with open(fname,"w+") as ocsv: + # csvWriter = csv.writer(ocsv,delimiter=',') + # csvWriter.writerow(cnames) + + # for row in qlist: + # print(row) + # csvWriter.writerow(row) + + # return 1 + +class Table_Plot(FileWriter): + ''' + Plugin that plots all numeric column data for a specified table + ''' + def __init__(self, table_name, filename, display_cols = None, **kwargs): + ''' + `table_name`: name of table to be plotted + `filename`: name of output file that plot be stored in + ''' + super().__init__(filename, **kwargs) + self.output_name = filename + self.table_name = table_name + self.display_cols = display_cols + + def get_rows(self, collection) -> None: + if self.table_name not in collection.keys(): + raise ValueError(f"{self.table_name} not in the dataset") + if self.display_cols is not None and not set(self.display_cols).issubset(set(collection[self.table_name].keys())): + raise ValueError(f"Inputted list of columns to plot for {self.table_name} is incorrect") + + numeric_cols = [] + col_len = None + for colName, colData in collection[self.table_name].items(): + if colName == "run_id" or (self.display_cols is not None and colName not in self.display_cols): + continue + if col_len == None: + col_len = len(colData) + if isinstance(colData[0], str) == False: + unit_tuple = "NULL" + if "dsi_units" in collection.keys() and self.table_name in collection["dsi_units"].keys(): + unit_tuple = next((t[1] for t in collection["dsi_units"][self.table_name] if t[0] == colName), "NULL") + if unit_tuple != "NULL": + numeric_cols.append((colName + f" ({unit_tuple})", colData)) + else: + numeric_cols.append((colName, colData)) + + sim_list = list(range(1, col_len + 1)) + + for colName, colData in numeric_cols: + plt.plot(sim_list, colData, label = colName) + plt.xticks(sim_list) + plt.xlabel("Sim Number") + plt.ylabel("Values") + plt.title(f"{self.table_name} Values") + plt.legend() + plt.savefig(f"{self.table_name} Values", bbox_inches='tight') \ No newline at end of file diff --git a/dsi/plugins/metadata.py b/dsi/plugins/metadata.py index 8ebd9d87..15fdfbfe 100644 --- a/dsi/plugins/metadata.py +++ b/dsi/plugins/metadata.py @@ -1,74 +1,106 @@ from collections import OrderedDict -from abc import ABCMeta, abstractmethod - - -class Plugin(metaclass=ABCMeta): - """Plugin abstract class for DSI core product. - - A Plugin connects a data producer to a compatible middleware - data structure. - """ - - @abstractmethod - def __init__(self, path): - """Initialize Plugin setup. - - Read a Plugin file. Return a Plugin object. - """ - - @property - @abstractmethod - def git_commit_sha(self): - pass - - @abstractmethod - def add_to_output(self, path): - """Initialize Plugin setup. - - Read a Plugin file. Return a Plugin object. - """ - +from dsi.plugins.plugin import Plugin +import inspect class StructuredMetadata(Plugin): """ plugin superclass that provides handy methods for structured data """ git_commit_sha: str = '5d79e08d4a6c1570ceb47cdd61d2259505c05de9' - def __init__(self): + def __init__(self, **kwargs): """ Initializes a StructuredDataPlugin with an output collector and an initially unset column count. """ self.output_collector = OrderedDict() - self.column_cnt = None # schema not set until pack_header + self.table_cnt = None # schema not set until pack_header self.validation_model = None # optional pydantic Model + # Check for strict_mode option + if 'strict_mode' in kwargs: + if type(kwargs['strict_mode']) == bool: + self.strict_mode = kwargs['strict_mode'] + else: + print('strict_mode must be bool type.') + raise TypeError + else: + self.strict_mode = False + # Lock to enforce strict mode + self.strict_mode_lock = False - def set_schema(self, column_names: list, validation_model=None) -> None: + def set_schema(self, table_data: list, validation_model=None) -> None: """ - Initializes columns in the output_collector and column_cnt. + Initializes columns in the output_collector and table_cnt. Useful in a plugin's pack_header method. + + `table_data`: + - for ingested data with multiple tables, table_data is list of tuples where each tuple is structured as (table name, column name list) + - for data without multiple tables, table_data is just a list of column names """ - for name in column_names: - self.output_collector[name] = [] - self.column_cnt = len(column_names) + # Strict mode | SMLock | relation + # -------------------------------- + # 0 | 0 | Proceed, no lock + # 0 | 1 | Raise error. Nonsense. + # 1 | 0 | Proceed, then lock + # 1 | 1 | Raise error. Previously locked. + if self.strict_mode and self.strict_mode_lock: + print('Previously locked schema. Refusing to proceed.') + raise RuntimeError + if not self.strict_mode and self.strict_mode_lock: + print('Strict mode disabled but strict more lock active.') + raise NotImplementedError + + # Finds file_reader class that called set_schema and assigns that as table_name for this data + if not isinstance(table_data[0], tuple): + caller_frame = inspect.stack()[1] + tableName = caller_frame.frame.f_locals.get('self', None).__class__.__name__ + table_data = [(tableName, table_data)] + + for name in table_data: + eachTableDict = OrderedDict((key, []) for key in name[1]) + self.output_collector[name[0]] = eachTableDict + self.table_cnt = len(table_data) self.validation_model = validation_model - def add_to_output(self, row: list) -> None: + if not self.strict_mode_lock: + self.strict_mode_lock = True + + def set_schema_2(self, collection, validation_model=None) -> None: + # Finds file_reader class that called set_schema and assigns that as table_name for this data + if not isinstance(collection[next(iter(collection))], OrderedDict): + caller_frame = inspect.stack()[1] + tableName = caller_frame.frame.f_locals.get('self', None).__class__.__name__ + self.output_collector[tableName] = collection + else: + self.output_collector = collection + self.table_cnt = len(collection.keys()) + self.validation_model = validation_model + + def add_to_output(self, row: list, tableName = None) -> None: """ Adds a row of data to the output_collector and guarantees good structure. - Useful in a plugin's add_row method. + Useful in a plugin's add_rows method. """ + #POTENTIALLY REFACTOR AND AVOID FOR LOOP OF INGESTING DATA ROW BY ROW - MAYBE INGEST WHOLE DATA + + # Finds file_reader class that called add_to_output and assigns that as table_name for this data + if tableName == None: + caller_frame = inspect.stack()[1] + tableName = caller_frame.frame.f_locals.get('self', None).__class__.__name__ + if not self.schema_is_set(): raise RuntimeError("pack_header must be done before add_row") if self.validation_model is not None: - row_dict = {k: v for k, v in zip( - self.output_collector.keys(), row)} + row_dict = {k: v for k, v in zip(self.output_collector[tableName].keys(), row)} self.validation_model.model_validate(row_dict) - elif len(row) != self.column_cnt: - raise RuntimeError("Incorrect length of row was given") - for key, row_elem in zip(self.output_collector.keys(), row): - self.output_collector[key].append(row_elem) + elif len(row) != len(self.output_collector[tableName].keys()): + raise RuntimeError(f"For {tableName}, incorrect number of values was given") + + for key, row_elem in zip(self.output_collector[tableName].keys(), row): + if "dsi_units" != tableName: + self.output_collector[tableName][key].append(row_elem) + else: + self.output_collector[tableName][key] = row_elem def schema_is_set(self) -> bool: """ Helper method to see if the schema has been set """ - return self.column_cnt is not None + return self.table_cnt is not None diff --git a/dsi/plugins/plugin.py b/dsi/plugins/plugin.py new file mode 100644 index 00000000..4e3676c4 --- /dev/null +++ b/dsi/plugins/plugin.py @@ -0,0 +1,27 @@ +from abc import ABCMeta, abstractmethod + +class Plugin(metaclass=ABCMeta): + """Plugin abstract class for DSI core product. + + A Plugin connects a data reader or writer to a compatible middleware + data structure. + """ + + @abstractmethod + def __init__(self, path): + """Initialize Plugin setup. + + Read a Plugin file. Return a Plugin object. + """ + + @property + @abstractmethod + def git_commit_sha(self): + pass + + @abstractmethod + def add_to_output(self, path): + """Initialize Plugin setup. + + Read a Plugin file. Return a Plugin object. + """ \ No newline at end of file diff --git a/dsi/plugins/tests/test_env.py b/dsi/plugins/tests/test_env.py index d46fa5af..4e131c75 100644 --- a/dsi/plugins/tests/test_env.py +++ b/dsi/plugins/tests/test_env.py @@ -1,6 +1,6 @@ import collections -from dsi.plugins.env import Hostname, SystemKernel, Bueno, GitInfo +from dsi.plugins.env import Hostname, SystemKernel, GitInfo import git from json import loads @@ -13,15 +13,15 @@ def get_git_root(path): def test_hostname_plugin_type(): a = Hostname() - a.add_row() - a.add_row() + a.add_rows() + a.add_rows() assert type(a.output_collector) == collections.OrderedDict def test_hostname_plugin_col_shape(): a = Hostname() - a.add_row() - a.add_row() + a.add_rows() + a.add_rows() assert len(a.output_collector.keys()) == len(a.output_collector.values()) @@ -29,7 +29,7 @@ def test_hostname_plugin_row_shape(): for row_cnt in range(1, 10): a = Hostname() for _ in range(row_cnt): - a.add_row() + a.add_rows() column_values = list(a.output_collector.values()) row_shape = len(column_values[0]) for col in column_values[1:]: @@ -43,8 +43,8 @@ def test_systemkernel_plugin_type(): def test_systemkernel_plugin_adds_rows(): plug = SystemKernel() - plug.add_row() - plug.add_row() + plug.add_rows() + plug.add_rows() for key, val in plug.output_collector.items(): assert len(val) == 2 @@ -55,7 +55,7 @@ def test_systemkernel_plugin_adds_rows(): def test_systemkernel_plugin_blob_is_big(): plug = SystemKernel() - plug.add_row() + plug.add_rows() blob = plug.output_collector["kernel_info"][0] info_dict = loads(blob) @@ -64,38 +64,18 @@ def test_systemkernel_plugin_blob_is_big(): assert len(info_dict.keys()) > 1000 -def test_bueno_plugin_type(): - path = '/'.join([get_git_root('.'), 'dsi/data', 'bueno.data']) - plug = Bueno(filename=path) - plug.add_row() - assert type(plug.output_collector) == collections.OrderedDict - - -def test_bueno_plugin_adds_rows(): - path = '/'.join([get_git_root('.'), 'dsi/data', 'bueno.data']) - plug = Bueno(filename=path) - plug.add_row() - plug.add_row() - - for key, val in plug.output_collector.items(): - assert len(val) == 2 - - # 3 Bueno cols + 4 inherited Env cols - assert len(plug.output_collector.keys()) == 7 - - def test_git_plugin_type(): root = get_git_root('.') plug = GitInfo(git_repo_path=root) - plug.add_row() + plug.add_rows() assert type(plug.output_collector) == collections.OrderedDict def test_git_plugin_adds_rows(): root = get_git_root('.') plug = GitInfo(git_repo_path=root) - plug.add_row() - plug.add_row() + plug.add_rows() + plug.add_rows() for key, val in plug.output_collector.items(): assert len(val) == 2 @@ -107,7 +87,7 @@ def test_git_plugin_adds_rows(): def test_git_plugin_infos_are_str(): root = get_git_root('.') plug = GitInfo(git_repo_path=root) - plug.add_row() + plug.add_rows() assert type(plug.output_collector["git_remote"][0]) == str assert type(plug.output_collector["git_commit"][0]) == str diff --git a/dsi/plugins/tests/test_file_reader.py b/dsi/plugins/tests/test_file_reader.py new file mode 100644 index 00000000..e7574314 --- /dev/null +++ b/dsi/plugins/tests/test_file_reader.py @@ -0,0 +1,132 @@ +from dsi.core import Terminal +from collections import OrderedDict +import git + +from dsi.plugins.file_reader import JSON, Bueno, Csv + + +def get_git_root(path): + git_repo = git.Repo(path, search_parent_directories=True) + git_root = git_repo.git.rev_parse("--show-toplevel") + return (git_root) + + +def test_bueno_plugin_type(): + path = '/'.join([get_git_root('.'), 'examples/data', 'bueno1.data']) + plug = Bueno(filenames=path) + plug.add_rows() + assert type(plug.output_collector) == OrderedDict + + +def test_bueno_plugin_adds_rows(): + path1 = '/'.join([get_git_root('.'), 'examples/data', 'bueno1.data']) + path2 = '/'.join([get_git_root('.'), 'examples/data', 'bueno2.data']) + plug = Bueno(filenames=[path1, path2]) + plug.add_rows() + + for key, val in plug.output_collector["Bueno"].items(): + assert len(val) == 2 # two lists of length 4 + + # 4 Bueno cols + assert len(plug.output_collector["Bueno"].keys()) == 4 + +def test_json_plugin_adds_rows(): + path1 = '/'.join([get_git_root('.'), 'examples/data', 'bueno1.data']) + path2 = '/'.join([get_git_root('.'), 'examples/data', 'bueno2.data']) + plug = JSON(filenames=[path1, path2]) + plug.add_rows() + for key, val in plug.output_collector["JSON"].items(): + assert len(val) == 2 # two lists of length 4 + + # 4 Bueno cols + assert len(plug.output_collector["JSON"].keys()) == 4 + +def test_csv_plugin_type(): + path = '/'.join([get_git_root('.'), 'examples/data', 'wildfiredata.csv']) + plug = Csv(filenames=path) + plug.add_rows() + assert type(plug.output_collector) == OrderedDict + +def test_csv_plugin_adds_rows(): + path = '/'.join([get_git_root('.'), 'examples/data', 'wildfiredata.csv']) + plug = Csv(filenames=path) + plug.add_rows() + + for key, val in plug.output_collector["Csv"].items(): + assert len(val) == 4 + + # 11 Csv cols + assert len(plug.output_collector["Csv"].keys()) == 11 + +def test_csv_plugin_adds_rows_multiple_files(): + path1 = '/'.join([get_git_root('.'), 'examples/data', 'wildfiredata.csv']) + path2 = '/'.join([get_git_root('.'), 'examples/data', 'yosemite5.csv']) + + plug = Csv(filenames=[path1, path2]) + plug.add_rows() + + for key, val in plug.output_collector["Csv"].items(): + assert len(val) == 8 + + # 13 Csv cols + assert len(plug.output_collector["Csv"].keys()) == 13 + +def test_csv_plugin_adds_rows_multiple_files_strict_mode(): + path1 = '/'.join([get_git_root('.'), 'examples/data', 'wildfiredata.csv']) + path2 = '/'.join([get_git_root('.'), 'examples/data', 'yosemite5.csv']) + + plug = Csv(filenames=[path1, path2], strict_mode=True) + try: + plug.add_rows() + except TypeError: + # Strict mode will throw TypeError if enabled and csv headers don't match + assert True + +def test_csv_plugin_leaves_active_metadata_wellformed(): + path = '/'.join([get_git_root('.'), 'examples/data', 'wildfiredata.csv']) + + term = Terminal() + term.load_module('plugin', 'Csv', 'reader', filenames=[path]) + #term.load_module('plugin', 'Hostname', 'writer') + term.transload() + + columns = list(term.active_metadata["Csv"].values()) + assert all([len(columns[0]) == len(col) + for col in columns]) # all same length + +def test_yaml_reader(): + a=Terminal() + a.load_module('plugin', 'YAML1', 'reader', filenames=["examples/data/student_test1.yml", "examples/data/student_test2.yml"], target_table_prefix = "student") + a.transload() + + assert len(a.active_metadata.keys()) == 4 # 4 tables - math, address, physics, dsi_units + for name, tableData in a.active_metadata.items(): + assert isinstance(tableData, OrderedDict) + numRows = 2 + if name == "dsi_units": + continue + assert all(len(colData) == numRows for colData in tableData.values()) + +def test_toml_reader(): + a=Terminal() + a.load_module('plugin', 'TOML1', 'reader', filenames="examples/data/results.toml", target_table_prefix = "results") + a.transload() + + assert len(a.active_metadata.keys()) == 2 # 2 tables - people and dsi_units + for name, tableData in a.active_metadata.items(): + assert isinstance(tableData, OrderedDict) + if name == "dsi_units": + continue + numRows = 1 + assert all(len(colData) == numRows for colData in tableData.values()) + +def test_schema_reader(): + a=Terminal() + a.load_module('plugin', 'Schema', 'reader', filename="examples/data/example_schema.json" , target_table_prefix = "student") + a.transload() + + assert len(a.active_metadata.keys()) == 1 + assert "dsi_relations" in a.active_metadata.keys() + for tableData in a.active_metadata.values(): + assert isinstance(tableData, OrderedDict) + assert len(tableData["primary_key"]) == len(tableData["foreign_key"]) \ No newline at end of file diff --git a/dsi/plugins/tests/test_file_writer.py b/dsi/plugins/tests/test_file_writer.py new file mode 100644 index 00000000..3ca1cbf8 --- /dev/null +++ b/dsi/plugins/tests/test_file_writer.py @@ -0,0 +1,35 @@ +from dsi.core import Terminal +from collections import OrderedDict +import git + +# import dsi.plugins.file_writer as wCSV +from dsi.backends.sqlite import Sqlite +import cv2 +import numpy as np +import os + +def get_git_root(path): + git_repo = git.Repo(path, search_parent_directories=True) + git_root = git_repo.git.rev_parse("--show-toplevel") + return (git_root) + +def test_csv_plugin_type(): + path = '/'.join([get_git_root('.'), 'examples/data', 'wildfiredata.sqlite_db']) + back = Sqlite(filename=path) + + #assert type(plug.output_collector) == OrderedDict + +def test_export_db_erd(): + a=Terminal(debug_flag=False) + a.load_module('plugin', 'Schema', 'reader', filename="examples/data/example_schema.json" , target_table_prefix = "student") + a.load_module('plugin', 'YAML1', 'reader', filenames=["examples/data/student_test1.yml", "examples/data/student_test2.yml"], target_table_prefix = "student") + a.load_module('plugin', 'TOML1', 'reader', filenames=["examples/data/results.toml"], target_table_prefix = "results") + a.load_module('plugin', 'ER_Diagram', 'writer', filename = 'erd_test_output.png') + a.transload() + + er_image = cv2.imread("erd_test_output.png") + assert er_image is not None #check if image generated at all + + pixel_mean = np.mean(er_image) + os.remove("erd_test_output.png") + assert pixel_mean != 255 #check if image is all white pixels (no diagram generated) diff --git a/dsi/tests/test_core.py b/dsi/tests/test_core.py index 9e1e6d5b..ff7c60ec 100644 --- a/dsi/tests/test_core.py +++ b/dsi/tests/test_core.py @@ -4,21 +4,21 @@ def test_terminal_module_getter(): a = Terminal() plugins = a.list_available_modules('plugin') - drivers = a.list_available_modules('driver') - assert len(plugins) > 0 and len(drivers) > 0 + backends = a.list_available_modules('backend') + assert len(plugins) > 0 and len(backends) > 0 def test_unload_module(): a = Terminal() - a.load_module('plugin', 'GitInfo', 'producer') - assert len(a.list_loaded_modules()['producer']) == 1 - a.unload_module('plugin', 'GitInfo', 'producer') - assert len(a.list_loaded_modules()['producer']) == 0 + a.load_module('plugin', 'GitInfo', 'writer') + assert len(a.list_loaded_modules()['writer']) == 1 + a.unload_module('plugin', 'GitInfo', 'writer') + assert len(a.list_loaded_modules()['writer']) == 0 def test_unload_after_transload_fails(): a = Terminal() - a.load_module('plugin', 'Hostname', 'producer') + a.load_module('plugin', 'Hostname', 'writer') a.transload() - a.unload_module('plugin', 'Hostname', 'producer') - assert len(a.list_loaded_modules()['producer']) == 1 + a.unload_module('plugin', 'Hostname', 'writer') + assert len(a.list_loaded_modules()['writer']) == 1 diff --git a/examples/coreterminal.py b/examples/coreterminal.py new file mode 100644 index 00000000..ad263b26 --- /dev/null +++ b/examples/coreterminal.py @@ -0,0 +1,57 @@ +#Loading using plugins and backends +from dsi.core import Terminal + +'''This is an example workflow using core.py''' + +a=Terminal(debug_flag=False, backup_db_flag=False) + +a.load_module('plugin','Bueno','reader', filenames=['data/bueno1.data', 'data/bueno2.data']) +a.load_module('plugin','Hostname','reader') + +a.load_module('plugin', 'Schema', 'reader', filename="data/example_schema.json", target_table_prefix = "student") +a.load_module('plugin', 'YAML1', 'reader', filenames=["data/student_test1.yml", "data/student_test2.yml"], target_table_prefix = "student") +a.load_module('plugin', 'TOML1', 'reader', filenames=["data/results.toml", "data/results1.toml"], target_table_prefix = "results") + +# a.load_module('plugin', "Table_Plot", "writer", table_name = "student__physics", filename = "student__physics") +# a.load_module('plugin', 'ER_Diagram', 'writer', filename = 'er_diagram.pdf')#, target_table_prefix = "physics") +a.transload() + +a.load_module('backend','Sqlite','back-write', filename='data/data.db') +# a.load_module('backend','Parquet','back-write',filename='data/bueno.pq') + +a.artifact_handler(interaction_type='put') +# data = a.artifact_handler(interaction_type='get', query = "SELECT * FROM runTable;")#, isVerbose = True) +# print(data) +# a.artifact_handler(interaction_type="inspect") + +# a.unload_module('backend', 'Sqlite', 'back-write') + +# LIST MODULES +# a.list_available_modules('plugin') +# # ['GitInfo', 'Hostname', 'SystemKernel', 'Bueno', 'Csv'] + +# a.list_available_modules('backend') +# # ['Gufi', 'Sqlite', 'Parquet'] + +# print(a.list_loaded_modules()) +# # {'writer': [], +# # 'reader': [], +# # 'back-read': [], +# # 'back-write': []} + + +# Example use 1 +# a.load_module('plugin','Bueno','reader',filenames='data/bueno1.data') +# a.load_module('backend','Sqlite','back-write',filename='data/bueno.db') +# a.transload() +# a.artifact_handler(interaction_type='put') +# data = a.artifact_handler(interaction_type='get', query = "SELECT * FROM sqlite_master WHERE type='table';")#, isVerbose = True) +# print(data) + + +#Example use 2 +# a.load_module('backend','Sqlite','back-read', filename='data/data.db') +# a.artifact_handler(interaction_type="read") +# a.load_module('plugin', "Table_Plot", "writer", table_name = "student__physics", filename = "student__physics") +# a.load_module('plugin', 'ER_Diagram', 'writer', filename = 'er_diagram.pdf')#, target_table_prefix = "physics") +# a.transload() \ No newline at end of file diff --git a/examples/data/bueno1.data b/examples/data/bueno1.data new file mode 100644 index 00000000..55ae0438 --- /dev/null +++ b/examples/data/bueno1.data @@ -0,0 +1 @@ +{"foo":9,"bar":7,"baz":9} diff --git a/examples/data/bueno2.data b/examples/data/bueno2.data new file mode 100644 index 00000000..4ab3ab31 --- /dev/null +++ b/examples/data/bueno2.data @@ -0,0 +1 @@ +{"foo":9,"bar":7,"surprise":"baz"} diff --git a/examples/data/compare-schema.sql b/examples/data/compare-schema.sql new file mode 100644 index 00000000..df2112b0 --- /dev/null +++ b/examples/data/compare-schema.sql @@ -0,0 +1,48 @@ +CREATE TABLE IF NOT EXISTS math ( specification VARCHAR, a INT, b VARCHAR, c FLOAT, d INT, e FLOAT, f FLOAT); + +CREATE TABLE IF NOT EXISTS math_units ( specification VARCHAR, a VARCHAR, b VARCHAR, c VARCHAR, d VARCHAR, e VARCHAR, f VARCHAR); + +INSERT INTO math_units VALUES( NULL, NULL, NULL, 'cm', NULL, NULL, NULL); + +INSERT INTO math VALUES( '!jack', 1, 'there is CM', 45.98, 2, 34.8, 0.0089); + +CREATE TABLE IF NOT EXISTS address ( specification VARCHAR, fileLoc VARCHAR, g VARCHAR, h VARCHAR, i INT, j INT, k INT, l FLOAT, m INT); + +CREATE TABLE IF NOT EXISTS address_units ( specification VARCHAR, fileLoc VARCHAR, g VARCHAR, h VARCHAR, i VARCHAR, j VARCHAR, k VARCHAR, l VARCHAR, m VARCHAR); + +INSERT INTO address_units VALUES( NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); + +INSERT INTO address VALUES( '!sam', '/home/sam/lib/data', 'good memories', '556place street', 2, 3, 4, 1.0, 99); + +CREATE TABLE IF NOT EXISTS physics ( specification VARCHAR, n FLOAT, o VARCHAR, p INT, q VARCHAR, r INT, s FLOAT); + +CREATE TABLE IF NOT EXISTS physics_units ( specification VARCHAR, n VARCHAR, o VARCHAR, p VARCHAR, q VARCHAR, r VARCHAR, s VARCHAR); + +INSERT INTO physics_units VALUES( NULL, 'm / s / s', NULL, 's', NULL, 'million grams', NULL); + +INSERT INTO physics VALUES( '!amy', 9.8, 'gravity', 23, 'home 23', 1, -0.0012); + +CREATE TABLE IF NOT EXISTS math2 ( specification VARCHAR, a INT, b VARCHAR, c FLOAT, d INT, e FLOAT, f FLOAT); + +CREATE TABLE IF NOT EXISTS math2_units ( specification VARCHAR, a VARCHAR, b VARCHAR, c VARCHAR, d VARCHAR, e VARCHAR, f VARCHAR); + +INSERT INTO math2_units VALUES( NULL, NULL, NULL, 'cm', NULL, NULL, NULL); + +INSERT INTO math2 VALUES( '!jack', 1, 'there is CM', 45.98, 2, 34.8, 0.0089); + +CREATE TABLE IF NOT EXISTS address2 ( specification VARCHAR, fileLoc VARCHAR, g VARCHAR, h VARCHAR, i INT, j INT, k INT, l FLOAT, m INT); + +CREATE TABLE IF NOT EXISTS address2_units ( specification VARCHAR, fileLoc VARCHAR, g VARCHAR, h VARCHAR, i VARCHAR, j VARCHAR, k VARCHAR, l VARCHAR, m VARCHAR); + +INSERT INTO address2_units VALUES( NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); + +INSERT INTO address2 VALUES( '!sam', '/home/sam/lib/data', 'good memories', '556place street', 2, 3, 4, 1.0, 99); + +CREATE TABLE IF NOT EXISTS physics2 ( specification VARCHAR, n FLOAT, o VARCHAR, p INT, q VARCHAR, r INT, s FLOAT); + +CREATE TABLE IF NOT EXISTS physics2_units ( specification VARCHAR, n VARCHAR, o VARCHAR, p VARCHAR, q VARCHAR, r VARCHAR, s VARCHAR); + +INSERT INTO physics2_units VALUES( NULL, 'm / s / s', NULL, 's', NULL, 'million grams', NULL); + +INSERT INTO physics2 VALUES( '!amy', 9.8, 'gravity', 23, 'home 23', 1, -0.0012); + diff --git a/examples/data/erd_test.sql b/examples/data/erd_test.sql new file mode 100644 index 00000000..8606f0af --- /dev/null +++ b/examples/data/erd_test.sql @@ -0,0 +1,39 @@ +-- Create the `publishers` table +CREATE TABLE publishers ( + publisher_id INTEGER PRIMARY KEY AUTOINCREMENT, + name TEXT NOT NULL, + address TEXT +); + +-- Create the `authors` table +CREATE TABLE authors ( + author_id INTEGER PRIMARY KEY AUTOINCREMENT, + name TEXT NOT NULL, + birth_date DATE +); + +-- Create the `books` table +CREATE TABLE books ( + book_id INTEGER PRIMARY KEY AUTOINCREMENT, + title TEXT NOT NULL, + publish_date DATE, + publisher_id INTEGER, + author_id INTEGER, + FOREIGN KEY (publisher_id) REFERENCES publishers(publisher_id), + FOREIGN KEY (author_id) REFERENCES authors(author_id) +); + +-- Insert some sample data into `publishers` +INSERT INTO publishers (name, address) VALUES +('Penguin Random House', 'New York, NY'), +('HarperCollins', 'New York, NY'); + +-- Insert some sample data into `authors` +INSERT INTO authors (name, birth_date) VALUES +('J.K. Rowling', '1965-07-31'), +('George R.R. Martin', '1948-09-20'); + +-- Insert some sample data into `books` +INSERT INTO books (title, publish_date, publisher_id, author_id) VALUES +('Harry Potter and the Philosophers Stone', '1997-06-26', 1, 1), +('A Game of Thrones', '1996-08-06', 2, 2); diff --git a/examples/data/example_schema.json b/examples/data/example_schema.json new file mode 100644 index 00000000..6a223b5c --- /dev/null +++ b/examples/data/example_schema.json @@ -0,0 +1,23 @@ +{ + "math": { + "primary_key": "specification", + "foreign_key": { + "b": ["address", "specification"], + "d": ["physics", "specification"] + } + }, + "address": { + "primary_key": "specification", + "foreign_key": { + "g": ["math", "specification"], + "h": ["physics", "specification"] + } + }, + "physics": { + "primary_key": "specification", + "foreign_key": { + "o": ["math", "specification"], + "q": ["address", "specification"] + } + } +} \ No newline at end of file diff --git a/examples/data/results.toml b/examples/data/results.toml new file mode 100644 index 00000000..f22cbdde --- /dev/null +++ b/examples/data/results.toml @@ -0,0 +1,5 @@ + +[people] +avg_height = {'value'= 5.5, 'units'= 'm'} # overall average height +median_speed = {'value'= 6.95, 'units'= 's'} # overall median speed +std_gravity = {'value'= 9.83, 'units'= 'm/s/s'} # overall std dev gravity diff --git a/examples/data/results1.toml b/examples/data/results1.toml new file mode 100644 index 00000000..05c6ef0c --- /dev/null +++ b/examples/data/results1.toml @@ -0,0 +1,5 @@ + +[people] +avg_height2 = {'value'= 5.5, 'units'= 'm'} # overall average height +median_speed2 = {'value'= 6.95, 'units'= 's'} # overall median speed +std_gravity = {'value'= 9.83, 'units'= 'm/s/s'} # overall std dev gravity diff --git a/examples/data/student_test1.yml b/examples/data/student_test1.yml new file mode 100644 index 00000000..7d94e4ab --- /dev/null +++ b/examples/data/student_test1.yml @@ -0,0 +1,29 @@ +--- +segment: math +specification: !jack + a: 1 + b: "there is CM" + c: "45.98 cm" + d: 2 + e: 34.8 + f: 89.0e-4 +--- +segment: address +specification: !sam + fileLoc: '/home/sam/lib/data' + g: "good memories" + h: "556place street" + i: 2 + j: 3 + k: 4 + l: 10000.0e-4 + m: 99 +--- +segment: physics +specification: !amy + n: "9.8 m / s / s" + o: "gravity" + p: "23 s" + q: "home 23" + r: '1 million grams' + s: -12.0e-4 \ No newline at end of file diff --git a/examples/data/student_test2.yml b/examples/data/student_test2.yml new file mode 100644 index 00000000..3ef09e91 --- /dev/null +++ b/examples/data/student_test2.yml @@ -0,0 +1,29 @@ +--- +segment: math +specification: !jack1 + a: 2 + b: "there is CM" + c: "45.98 cm" + d: 3 + e: 44.8 + f: 99.0e-4 +--- +segment: address +specification: !sam1 + fileLoc: '/home/sam/lib/data' + g: "good memories" + h: "556place street" + i: 3 + j: 4 + k: 5 + l: 110000.0e-4 + m: 999 +--- +segment: physics +specification: !amy1 + n: "91.8 m / s / s" + o: "gravity" + p: "233 s" + q: "home 23" + r: '12 million grams' + s: -122.0e-4 diff --git a/dsi/data/viewers/query.csv b/examples/data/viewers/query.csv similarity index 100% rename from dsi/data/viewers/query.csv rename to examples/data/viewers/query.csv diff --git a/dsi/data/viewers/simple.html b/examples/data/viewers/simple.html similarity index 100% rename from dsi/data/viewers/simple.html rename to examples/data/viewers/simple.html diff --git a/dsi/data/viewers/test_data.csv b/examples/data/viewers/test_data.csv similarity index 100% rename from dsi/data/viewers/test_data.csv rename to examples/data/viewers/test_data.csv diff --git a/dsi/data/wildfiredata.csv b/examples/data/wildfiredata.csv similarity index 100% rename from dsi/data/wildfiredata.csv rename to examples/data/wildfiredata.csv diff --git a/examples/data/wildfiredata.pq b/examples/data/wildfiredata.pq new file mode 100644 index 00000000..e683c895 Binary files /dev/null and b/examples/data/wildfiredata.pq differ diff --git a/examples/data/wildfiredata.sqlite_db b/examples/data/wildfiredata.sqlite_db new file mode 100644 index 00000000..e36b4c0c Binary files /dev/null and b/examples/data/wildfiredata.sqlite_db differ diff --git a/dsi/data/yosemite5.csv b/examples/data/yosemite5.csv similarity index 100% rename from dsi/data/yosemite5.csv rename to examples/data/yosemite5.csv diff --git a/examples/datasync/datacopy.py b/examples/datasync/datacopy.py new file mode 100644 index 00000000..db348b05 --- /dev/null +++ b/examples/datasync/datacopy.py @@ -0,0 +1,10 @@ +from dsi.core import Sync + +#Origin +local_files = "H:/Data/Scratch/shaped2d/" +#Remote +remote_path = "H:/tmp/" + +# Create Sync type with project name +s = Sync("shape2d") +s.copy(local_files,remote_path, True) diff --git a/examples/datasync/datasync.py b/examples/datasync/datasync.py new file mode 100644 index 00000000..3386f510 --- /dev/null +++ b/examples/datasync/datasync.py @@ -0,0 +1,81 @@ +#from asyncio.windows_events import NULL +import os +import urllib.request +import sys + +#scp jesus@192.168.0.102:D:\Data\wildfire\wildfire.db . +#powershell Set-ExecutionPolicy RemoteSigned + +# Temporary until DSI becomes a module +# Path to root dsi folder +sys.path.insert(1, '../') +from dsi.backends.sqlite import Sqlite, DataType +from dsi.backends.filesystem import Filesystem as fs + +# Analysis +import matplotlib.pyplot as plt +import numpy as np + +# +# Main Test +# + +datapath = "./" + +ruser = "jesus" +rserver = "192.168.88.248" + +# Define path of the database +dbpath = "wildfire.db" +store = Sqlite(dbpath) + +#Control verbosity of debug prints +fs.isVerbose = 1 + +#List the data in the database +anames = store.get_artifacts() +for name in anames: + print( name[0] ) + +# Do a simple query and fine relevant data +data_type = "vision" +result_data = store.sqlquery("SELECT *, MAX(inside_burned_area) AS inside_burned_area FROM " + str(data_type) + " GROUP BY safe_unsafe_fire_behavior") + +dataiter = [] + +# Let's try to actually use the data that's related to the query above +# Find reference between two tables +data_type = "filesystem" +for res in result_data: + # Trim filename from file entry inside of 'vision' + fname = os.path.basename(os.path.normpath(res[6])) + # Relate to filesystem table + result_fs = store.sqlquery("SELECT * FROM " + str(data_type) + " WHERE file LIKE '%" + fname + "%'") + + # Locate data, see if we need to update it locally + if os.path.isfile(datapath + fname): + print("Local:" + datapath + fname) + # Run hash + + # Run comparison + + else: + # Retrieve data from server + print(result_fs) + rpath, = result_fs + rfile = rpath[0] + os.system('scp -p "%s@%s:%s" "%s" ' % (ruser, rserver, rfile, datapath) ) + print("Remote: " + rfile) + + # Append iterator + datimage=plt.imread(datapath + fname) + dataiter.append(datimage) + +#store.export_csv(result, "query2.csv") +store.close() + + +#for img in datimage: +# print(img.shape) + +print("Done") \ No newline at end of file diff --git a/examples/parquet/requirements.txt b/examples/parquet/requirements.txt new file mode 100644 index 00000000..f33deb85 --- /dev/null +++ b/examples/parquet/requirements.txt @@ -0,0 +1,161 @@ +# This file may be used to create an environment using: +# $ conda create --name --file +# platform: linux-64 +alabaster>=0.7.13, +annotated-types>=0.5.0 +anyio>=3.7.0 +argon2-cffi>=21.3.0 +argon2-cffi-bindings>=21.2.0 +arrow>=1.2.3 +asttokens>=2.2.1 +async-lru>=2.0.4 +attrs>=23.1.0 +autopep8>=2.0.2 +babel>=2.12.1 +backcall>=0.2.0 +beautifulsoup4>=4.12.2 +bleach>=6.0.0 +certifi>=2023.11.17 +cffi>=1.16.0 +chardet>=5.1.0 +charset-normalizer>=3.1.0 +clean-text>=0.6.0 +comm>=0.1.3 +coverage>=7.2.7 +coverage-badge>=1.1.0 +cryptography>=41.0.7 +debugpy>=1.6.7 +decorator>=5.1.1 +defusedxml>=0.7.1 +docutils>=0.18.1 +emoji>=1.7.0 +executing>=1.2.0 +fqdn>=1.5.1 +ftfy>=6.1.3 +gitdb>=4.0.10 +gitpython>=3.1.31 +idna>=3.4 +imagesize>=1.4.1 +iniconfig>=2.0.0 +ipykernel>=6.23.3 +ipython>=8.14.0 +ipython-genutils>=0.2.0 +ipywidgets>=8.0.6 +isoduration>=20.11.0 +jedi>=0.18.2 +jinja2>=3.1.2 +json5>=0.9.6 +jsonpointer>=2.4 +jsonschema>=4.19.2 +jsonschema-specifications>=2023.7.1 +jupyter>=1.0.0 +jupyter-client>=8.3.0 +jupyter-core>=5.3.1 +jupyter-lsp>=2.2.0 +jupyter-server>=2.6.0 +jupyter_client>=8.6.0 +jupyter_console>=6.6.3 +jupyter_core>=5.5.0 +jupyter_events>=0.8.0 +jupyter_server>=2.10.0 +jupyter_server_terminals>=0.4.4 +jupyterlab>=4.0.8 +jupyterlab-pygments>=0.2.2 +jupyterlab-widgets>=3.0.7 +jupyterlab_pygments>=0.1.2 +jupyterlab_server>=2.25.1 +jupyterlab_widgets>=3.0.9 +libclang>=14.0.6 +libsodium>=1.0.18 +markupsafe>=2.1.3 +matplotlib-inline>=0.1.6 +mccabe>=0.7.0 +mistune>=3.0.1 +nbclassic>=1.0.0 +nbclient>=0.8.0 +nbconvert>=7.13.0 +nbformat>=5.9.0 +nest-asyncio>=1.5.6 +notebook>=7.0.6 +notebook-shim>=0.2.3 +numpy>=1.25.0 +overrides>=7.3.1 +packaging>=23.1 +pandas>=2.0.2 +pandocfilters>=1.5.0 +parso>=0.8.3 +pexpect>=4.8.0 +pickleshare>=0.7.5 +pip>=23.3.1 +platformdirs>=3.8.0 +pluggy>=1.2.0 +ply>=3.11 +prometheus-client>=0.17.0 +prometheus_client>=0.14.1 +prompt-toolkit>=3.0.38 +prompt_toolkit>=3.0.36 +psutil>=5.9.5 +ptyprocess>=0.7.0 +pure_eval>=0.2.2 +pyarrow>=12.0.1 +pycodestyle>=2.10.0 +pycparser>=2.21 +pydantic>=2.1.1 +pydantic-core>=2.4.0 +pydocstyle>=6.3.0 +pyflakes>=3.0.1 +pygments>=2.15.1 +pylama>=8.4.1 +pyopenssl>=23.2.0 +pyqt5-sip>=12.13.0 +pyrsistent>=0.19.3 +pysocks>=1.7.1 +pytest>=7.4.0 +pytest-cov>=4.1.0 +python-dateutil>=2.8.2 +python-json-logger>=2.0.7 +pytz>=2023.3 +pyyaml>=6.0.1 +pyzmq>=25.1.0 +qtconsole>=5.4.3 +qtpy>=2.3.1 +referencing>=0.30.2 +requests>=2.31.0 +rfc3339-validator>=0.1.4 +rfc3986-validator>=0.1.1 +rpds-py>=0.10.6 +send2trash>=1.8.2 +setuptools>=68.2.2 +sip>=6.7.12 +six>=1.16.0 +smmap>=5.0.0 +sniffio>=1.3.0 +snowballstemmer>=2.2.0 +soupsieve>=2.4.1 +sphinx>=6.2.1 +sphinx-rtd-theme>=1.2.2 +sphinxcontrib-applehelp>=1.0.4 +sphinxcontrib-devhelp>=1.0.2 +sphinxcontrib-htmlhelp>=2.0.1 +sphinxcontrib-jquery>=4.1 +sphinxcontrib-jsmath>=1.0.1 +sphinxcontrib-qthelp>=1.0.3 +sphinxcontrib-serializinghtml>=1.1.5 +stack-data>=0.6.2 +stack_data>=0.2.0 +terminado>=0.17.1 +tinycss2>=1.2.1 +tornado>=6.3.2 +traitlets>=5.9.0 +typing-extensions>=4.7.1 +typing_extensions>=4.7.1 +tzdata>=2023.3 +uri-template>=1.3.0 +urllib3>=2.0.3 +wcwidth>=0.2.12 +webcolors>=1.13 +webencodings>=0.5.1 +websocket-client>=1.6.1 +wheel>=0.41.2 +widgetsnbextension>=4.0.7 +zstd>=1.5.5 diff --git a/examples/pennant/README.md b/examples/pennant/README.md new file mode 100644 index 00000000..99e8735e --- /dev/null +++ b/examples/pennant/README.md @@ -0,0 +1,20 @@ +# PENNANT DSI example +This is an example for creating and querying a DSI database from PENNANT output. +Output from 10 runs is included in the directory. If you wish to generate your own output, you can download PENNANT: from: [https://github.com/lanl/PENNANT](https://github.com/lanl/PENNANT) and compile with make after editing the Makefile. Runs are provided in this folder ready to ingest. + +## Move into the PENNANT directory +Assuming the DSI library is installed, move first into the root DSI directory, then: +``` +cd examples/pennant/ +``` + +## Create a csv from the included outputs +Create a csv file from the outputs: +``` +python3 parse_slurm_output.py --testname leblanc +``` + +## Create a DSI db and query it +``` +python3 create_and_query_dsi_db.py --testname leblanc +``` diff --git a/examples/pennant/create_and_query_dsi_db.py b/examples/pennant/create_and_query_dsi_db.py new file mode 100644 index 00000000..26c4ed7e --- /dev/null +++ b/examples/pennant/create_and_query_dsi_db.py @@ -0,0 +1,76 @@ +#!/usr/bin/env python3 + +""" +This script reads in the csv file created from parse_slurm_output.py. +Then it creates a DSI db from the csv file and performs a query. +""" + +import argparse +import sys +from dsi.backends.sqlite import Sqlite, DataType +import os +from dsi.core import Terminal + +isVerbose = True + +""" +Creates the DSI db from the csv file +""" + +# def import_pennant_data(test_name): +# csvpath = 'pennant_' + test_name + '.csv' +# dbpath = 'pennant_' + test_name + '.db' +# store = Sqlite(dbpath) +# store.put_artifacts_csv(csvpath, "rundata", isVerbose=isVerbose) +# store.close() +# # No error implies success + +""" +Performs a sample query on the DSI db +""" +# def test_artifact_query(test_name): +# dbpath = "pennant_" + test_name + ".db" +# store = Sqlite(dbpath) +# _ = store.get_artifacts(isVerbose=isVerbose) +# data_type = DataType() +# data_type.name = "rundata" +# query = "SELECT * FROM " + str(data_type.name) + \ +# " where hydro_cycle_run_time > 0.006" +# print("Running Query", query) +# result = store.sqlquery(query) +# store.export_csv(result, "pennant_query.csv") +# store.close() + +if __name__ == "__main__": + """ The testname argument is required """ + parser = argparse.ArgumentParser() + parser.add_argument('--testname', help='the test name') + args = parser.parse_args() + test_name = args.testname + if test_name is None: + parser.print_help() + sys.exit(0) + + table_name = "rundata" + csvpath = 'pennant_' + test_name + '.csv' + dbpath = 'pennant_' + test_name + '.db' + output_csv = "pennant_read_query.csv" + + #read in csv + core = Terminal(run_table_flag=False) + core.load_module('plugin', "Csv", "reader", filenames = csvpath, table_name = table_name) + + if os.path.exists(dbpath): + os.remove(dbpath) + + #load data into sqlite db + core.load_module('backend','Sqlite','back-write', filename=dbpath) + core.artifact_handler(interaction_type='put') + + # update dsi abstraction using a query to the sqlite db + query_data = core.artifact_handler(interaction_type='get', query = f"SELECT * FROM {table_name} WHERE hydro_cycle_run_time > 0.006;", dict_return = True) + core.update_abstraction(table_name, query_data) + + #export to csv + core.load_module('plugin', "Csv_Writer", "writer", filename = output_csv, table_name = table_name) + core.transload() \ No newline at end of file diff --git a/examples/pennant/parse_slurm_output.py b/examples/pennant/parse_slurm_output.py new file mode 100644 index 00000000..a1ded77b --- /dev/null +++ b/examples/pennant/parse_slurm_output.py @@ -0,0 +1,79 @@ +#!/usr/bin/env python3 + +""" +Parses the slurm output from PENNANT runs and creates a csv file +""" + +import argparse +import sys +import re +import glob + +def main(): + """ A testname argument is required """ + parser = argparse.ArgumentParser() + parser.add_argument('--testname', help='the test name') + args = parser.parse_args() + testname = args.testname + if testname is None: + parser.print_help() + sys.exit(0) + + + """ The data is parsed from all of the .out files in the current directory """ + for slurmoutput in glob.glob('*.out'): + with open(slurmoutput, 'r') as slurmout: + data = {} + data['testname'] = testname + for line in slurmout: + if "Running PENNANT" in line: + match = re.match(r'Running PENNANT (.*)', line) + version = match.group(1) + data['version'] = version + elif "MPI PE(s)" in line: + match = re.match(r'Running on (\d+) MPI PE\(s\)', line) + pes = match.group(1) + data['pes'] = int(pes) + elif "thread(s)" in line: + match = re.match(r'Running on (\d+) thread\(s\).*', line) + threads = match.group(1) + data['threads'] = int(threads) + elif "total energy =" in line: + match = re.match(r'.*total energy =\s+([^\s]+)', line) + energy = match.group(1) + data['total_energy'] = float(energy) + elif "internal =" in line and "kinetic =" in line: + match = re.match(r'.*internal =\s+([^\s]+), kinetic =\s+([^\s\)]+).*', line) + internal_energy = match.group(1) + kinetic_energy = match.group(2) + data['internal_energy'] = float(internal_energy) + data['kinetic_energy'] = float(kinetic_energy) + elif "time =" in line: + match = re.match(r'.*time =\s+([^\s,]+),.*', line) + time = match.group(1) + data['time'] = float(time) + elif "hydro cycle run time=" in line: + match = re.match(r'.*hydro cycle run time=\s+([^\s]+).*', line) + hydro_cycle_run_time = match.group(1) + data['hydro_cycle_run_time'] = float(hydro_cycle_run_time) + + """ The csv file is created and written to disk """ + with open('pennant_' + testname + '.csv', 'a+') as pennant_out: + header = "" + row = "" + for key, val in data.items(): + header += key + "," + row += str(val) + "," + + header = header.rstrip(',') + row = row.rstrip(',') + + if pennant_out.tell() == 0: + pennant_out.write(header + "\n") + + pennant_out.write(row + "\n") + +if __name__ == '__main__': + main() + + diff --git a/examples/pennant/run1.out b/examples/pennant/run1.out new file mode 100644 index 00000000..0a05445e --- /dev/null +++ b/examples/pennant/run1.out @@ -0,0 +1,31 @@ +******************** +Running PENNANT v0.9 +******************** + +--- Mesh Information --- +Points: 1001 +Zones: 900 +Sides: 3600 +Edges: 1900 +Side chunks: 8 +Point chunks: 2 +Zone chunks: 2 +Chunk size: 512 +------------------------ +Energy check: total energy = 9.424778e-01 +(internal = 9.424778e-01, kinetic = 0.000000e+00) +End cycle 1, time = 1.00000e-02, dt = 1.00000e-02, wall = 7.19070e-04 +dt limiter: Initial timestep +End cycle 10, time = 2.59587e-01, dt = 5.15978e-02, wall = 5.30887e-03 +dt limiter: Recovery: Initial timestep + +Run complete +cycle = 10, cstop = 10 +time = 2.595868e-01, tstop = 6.000000e+00 + +************************************ +hydro cycle run time= 6.058931e-03 +************************************ +Energy check: total energy = 9.424778e-01 +(internal = 9.359219e-01, kinetic = 6.555903e-03) +Writing .xy file... diff --git a/examples/pennant/run10.out b/examples/pennant/run10.out new file mode 100644 index 00000000..7b476348 --- /dev/null +++ b/examples/pennant/run10.out @@ -0,0 +1,31 @@ +******************** +Running PENNANT v0.9 +******************** + +--- Mesh Information --- +Points: 1001 +Zones: 900 +Sides: 3600 +Edges: 1900 +Side chunks: 8 +Point chunks: 2 +Zone chunks: 2 +Chunk size: 512 +------------------------ +Energy check: total energy = 9.424778e-01 +(internal = 9.424778e-01, kinetic = 0.000000e+00) +End cycle 1, time = 1.00000e-02, dt = 1.00000e-02, wall = 7.16925e-04 +dt limiter: Initial timestep +End cycle 10, time = 2.59587e-01, dt = 5.15978e-02, wall = 5.19800e-03 +dt limiter: Recovery: Initial timestep + +Run complete +cycle = 10, cstop = 10 +time = 2.595868e-01, tstop = 6.000000e+00 + +************************************ +hydro cycle run time= 5.946875e-03 +************************************ +Energy check: total energy = 9.424778e-01 +(internal = 9.359219e-01, kinetic = 6.555903e-03) +Writing .xy file... diff --git a/examples/pennant/run2.out b/examples/pennant/run2.out new file mode 100644 index 00000000..333e8382 --- /dev/null +++ b/examples/pennant/run2.out @@ -0,0 +1,31 @@ +******************** +Running PENNANT v0.9 +******************** + +--- Mesh Information --- +Points: 1001 +Zones: 900 +Sides: 3600 +Edges: 1900 +Side chunks: 8 +Point chunks: 2 +Zone chunks: 2 +Chunk size: 512 +------------------------ +Energy check: total energy = 9.424778e-01 +(internal = 9.424778e-01, kinetic = 0.000000e+00) +End cycle 1, time = 1.00000e-02, dt = 1.00000e-02, wall = 7.20024e-04 +dt limiter: Initial timestep +End cycle 10, time = 2.59587e-01, dt = 5.15978e-02, wall = 5.16081e-03 +dt limiter: Recovery: Initial timestep + +Run complete +cycle = 10, cstop = 10 +time = 2.595868e-01, tstop = 6.000000e+00 + +************************************ +hydro cycle run time= 5.915880e-03 +************************************ +Energy check: total energy = 9.424778e-01 +(internal = 9.359219e-01, kinetic = 6.555903e-03) +Writing .xy file... diff --git a/examples/pennant/run3.out b/examples/pennant/run3.out new file mode 100644 index 00000000..399d28d3 --- /dev/null +++ b/examples/pennant/run3.out @@ -0,0 +1,31 @@ +******************** +Running PENNANT v0.9 +******************** + +--- Mesh Information --- +Points: 1001 +Zones: 900 +Sides: 3600 +Edges: 1900 +Side chunks: 8 +Point chunks: 2 +Zone chunks: 2 +Chunk size: 512 +------------------------ +Energy check: total energy = 9.424778e-01 +(internal = 9.424778e-01, kinetic = 0.000000e+00) +End cycle 1, time = 1.00000e-02, dt = 1.00000e-02, wall = 7.15971e-04 +dt limiter: Initial timestep +End cycle 10, time = 2.59587e-01, dt = 5.15978e-02, wall = 5.17082e-03 +dt limiter: Recovery: Initial timestep + +Run complete +cycle = 10, cstop = 10 +time = 2.595868e-01, tstop = 6.000000e+00 + +************************************ +hydro cycle run time= 5.922794e-03 +************************************ +Energy check: total energy = 9.424778e-01 +(internal = 9.359219e-01, kinetic = 6.555903e-03) +Writing .xy file... diff --git a/examples/pennant/run4.out b/examples/pennant/run4.out new file mode 100644 index 00000000..753bbe6a --- /dev/null +++ b/examples/pennant/run4.out @@ -0,0 +1,31 @@ +******************** +Running PENNANT v0.9 +******************** + +--- Mesh Information --- +Points: 1001 +Zones: 900 +Sides: 3600 +Edges: 1900 +Side chunks: 8 +Point chunks: 2 +Zone chunks: 2 +Chunk size: 512 +------------------------ +Energy check: total energy = 9.424778e-01 +(internal = 9.424778e-01, kinetic = 0.000000e+00) +End cycle 1, time = 1.00000e-02, dt = 1.00000e-02, wall = 5.88179e-04 +dt limiter: Initial timestep +End cycle 10, time = 2.59587e-01, dt = 5.15978e-02, wall = 4.50182e-03 +dt limiter: Recovery: Initial timestep + +Run complete +cycle = 10, cstop = 10 +time = 2.595868e-01, tstop = 6.000000e+00 + +************************************ +hydro cycle run time= 5.123138e-03 +************************************ +Energy check: total energy = 9.424778e-01 +(internal = 9.359219e-01, kinetic = 6.555903e-03) +Writing .xy file... diff --git a/examples/pennant/run5.out b/examples/pennant/run5.out new file mode 100644 index 00000000..8e59e788 --- /dev/null +++ b/examples/pennant/run5.out @@ -0,0 +1,31 @@ +******************** +Running PENNANT v0.9 +******************** + +--- Mesh Information --- +Points: 1001 +Zones: 900 +Sides: 3600 +Edges: 1900 +Side chunks: 8 +Point chunks: 2 +Zone chunks: 2 +Chunk size: 512 +------------------------ +Energy check: total energy = 9.424778e-01 +(internal = 9.424778e-01, kinetic = 0.000000e+00) +End cycle 1, time = 1.00000e-02, dt = 1.00000e-02, wall = 7.19070e-04 +dt limiter: Initial timestep +End cycle 10, time = 2.59587e-01, dt = 5.15978e-02, wall = 5.16987e-03 +dt limiter: Recovery: Initial timestep + +Run complete +cycle = 10, cstop = 10 +time = 2.595868e-01, tstop = 6.000000e+00 + +************************************ +hydro cycle run time= 5.919933e-03 +************************************ +Energy check: total energy = 9.424778e-01 +(internal = 9.359219e-01, kinetic = 6.555903e-03) +Writing .xy file... diff --git a/examples/pennant/run6.out b/examples/pennant/run6.out new file mode 100644 index 00000000..ca5135ae --- /dev/null +++ b/examples/pennant/run6.out @@ -0,0 +1,31 @@ +******************** +Running PENNANT v0.9 +******************** + +--- Mesh Information --- +Points: 1001 +Zones: 900 +Sides: 3600 +Edges: 1900 +Side chunks: 8 +Point chunks: 2 +Zone chunks: 2 +Chunk size: 512 +------------------------ +Energy check: total energy = 9.424778e-01 +(internal = 9.424778e-01, kinetic = 0.000000e+00) +End cycle 1, time = 1.00000e-02, dt = 1.00000e-02, wall = 7.61032e-04 +dt limiter: Initial timestep +End cycle 10, time = 2.59587e-01, dt = 5.15978e-02, wall = 5.11003e-03 +dt limiter: Recovery: Initial timestep + +Run complete +cycle = 10, cstop = 10 +time = 2.595868e-01, tstop = 6.000000e+00 + +************************************ +hydro cycle run time= 5.909204e-03 +************************************ +Energy check: total energy = 9.424778e-01 +(internal = 9.359219e-01, kinetic = 6.555903e-03) +Writing .xy file... diff --git a/examples/pennant/run7.out b/examples/pennant/run7.out new file mode 100644 index 00000000..cf3c1d8a --- /dev/null +++ b/examples/pennant/run7.out @@ -0,0 +1,31 @@ +******************** +Running PENNANT v0.9 +******************** + +--- Mesh Information --- +Points: 1001 +Zones: 900 +Sides: 3600 +Edges: 1900 +Side chunks: 8 +Point chunks: 2 +Zone chunks: 2 +Chunk size: 512 +------------------------ +Energy check: total energy = 9.424778e-01 +(internal = 9.424778e-01, kinetic = 0.000000e+00) +End cycle 1, time = 1.00000e-02, dt = 1.00000e-02, wall = 6.08921e-04 +dt limiter: Initial timestep +End cycle 10, time = 2.59587e-01, dt = 5.15978e-02, wall = 4.51803e-03 +dt limiter: Recovery: Initial timestep + +Run complete +cycle = 10, cstop = 10 +time = 2.595868e-01, tstop = 6.000000e+00 + +************************************ +hydro cycle run time= 5.163908e-03 +************************************ +Energy check: total energy = 9.424778e-01 +(internal = 9.359219e-01, kinetic = 6.555903e-03) +Writing .xy file... diff --git a/examples/pennant/run8.out b/examples/pennant/run8.out new file mode 100644 index 00000000..e29b9670 --- /dev/null +++ b/examples/pennant/run8.out @@ -0,0 +1,31 @@ +******************** +Running PENNANT v0.9 +******************** + +--- Mesh Information --- +Points: 1001 +Zones: 900 +Sides: 3600 +Edges: 1900 +Side chunks: 8 +Point chunks: 2 +Zone chunks: 2 +Chunk size: 512 +------------------------ +Energy check: total energy = 9.424778e-01 +(internal = 9.424778e-01, kinetic = 0.000000e+00) +End cycle 1, time = 1.00000e-02, dt = 1.00000e-02, wall = 7.13110e-04 +dt limiter: Initial timestep +End cycle 10, time = 2.59587e-01, dt = 5.15978e-02, wall = 5.54299e-03 +dt limiter: Recovery: Initial timestep + +Run complete +cycle = 10, cstop = 10 +time = 2.595868e-01, tstop = 6.000000e+00 + +************************************ +hydro cycle run time= 6.292105e-03 +************************************ +Energy check: total energy = 9.424778e-01 +(internal = 9.359219e-01, kinetic = 6.555903e-03) +Writing .xy file... diff --git a/examples/pennant/run9.out b/examples/pennant/run9.out new file mode 100644 index 00000000..2028295c --- /dev/null +++ b/examples/pennant/run9.out @@ -0,0 +1,31 @@ +******************** +Running PENNANT v0.9 +******************** + +--- Mesh Information --- +Points: 1001 +Zones: 900 +Sides: 3600 +Edges: 1900 +Side chunks: 8 +Point chunks: 2 +Zone chunks: 2 +Chunk size: 512 +------------------------ +Energy check: total energy = 9.424778e-01 +(internal = 9.424778e-01, kinetic = 0.000000e+00) +End cycle 1, time = 1.00000e-02, dt = 1.00000e-02, wall = 6.02961e-04 +dt limiter: Initial timestep +End cycle 10, time = 2.59587e-01, dt = 5.15978e-02, wall = 4.48895e-03 +dt limiter: Recovery: Initial timestep + +Run complete +cycle = 10, cstop = 10 +time = 2.595868e-01, tstop = 6.000000e+00 + +************************************ +hydro cycle run time= 5.123854e-03 +************************************ +Energy check: total energy = 9.424778e-01 +(internal = 9.359219e-01, kinetic = 6.555903e-03) +Writing .xy file... diff --git a/examples/wildfire/readme.md b/examples/wildfire/readme.md new file mode 100644 index 00000000..a5b9aab7 --- /dev/null +++ b/examples/wildfire/readme.md @@ -0,0 +1,34 @@ +# QUIC-Fire Wildfire Simulations + +This example highlights the use of the DSI Framework with QUIC-Fire fire-atmosphere simualation data and resulting images. The original file, wildfire.csv, lists 1889 runs of a wildfire simulation. Each row is a unique run with input and output values and associated image url. The columns list the various parameters of interest. The input columns are: wild_speed, wdir (wind direction), smois (surface moisture), fuels, ignition, safe_unsafe_ignition_pattern, safe_unsafe_fire_behavior, does_fire_meet_objectives, and rationale_if_unsafe. The output of the simulation (and post-processing steps) include the burned_area and the url to the wildfire images stored on the San Diego Super Computer. + +All paths in this example are defined as from the main dsi repository folder, then follow the instructions. + +To run this example, install dsi. Then run: + + cd examples/wildfire/ + python3 wildfire.py + +This will generate a wildfire.cdb folder with downloaded images from the server and a data.csv file of numerical properties of interest. This *cdb* folder is called a Cinema Database (https://github.com/cinemascience). A cinema database is comprised of a *csv* file where each row of the table is a data element (a run or ensemble member of a simulation or experiment, for example) and each column is a property of a data element. Any column name that starts with 'FILE' is a path to a file corresponding to the data element. + +Cinema databases can be visualized through various tools (https://github.com/cinemascience). We show two options below: + +To visualize the results using Jupyter Lab and Plotly, run: + + python3 -m pip install plotly + + python3 -m pip install jupyterlab + +Open Jupyter Lab with + + jupyter lab --browser Firefox + +and navigate to wildfire_plotly.ipynb. Run the cells to visualize the results of the DSI pipeline. + +To visualize the results using pycinema (https://github.com/cinemascience/pycinema), run: + + python3 -m pip install pycinema + +and + + cinema examples/wildfire/wildfire_pycinema.py diff --git a/examples/wildfire/wildfire.py b/examples/wildfire/wildfire.py new file mode 100644 index 00000000..f62023a3 --- /dev/null +++ b/examples/wildfire/wildfire.py @@ -0,0 +1,133 @@ +import os +import pandas as pd +import urllib.request +from dsi.backends.sqlite import Sqlite, DataType +import shutil + +from dsi.core import Terminal + +isVerbose = True + +""" +Read and download the images from the SDSC server +""" +def downloadImages(path_to_csv, imageFolder): + df = pd.read_csv (path_to_csv) + + for index, row in df.iterrows(): + url = row['FILE'] + filename = url.rsplit('/', 1)[1] + isExist = os.path.exists(imageFolder) + if not isExist: + os.makedirs(imageFolder) + + dst = imageFolder + filename + urllib.request.urlretrieve(url, dst) + +""" +Create the wildfire database from the csv file +""" +# def generateWildfireDB(dstFolder, path_to_csv, path_to_db, dbName): +# store = Sqlite(path_to_db) +# store.put_artifacts_csv(path_to_csv, dbName, isVerbose=isVerbose) +# store.close() + +""" +Update the urls in the db to the local paths +""" +# def updateDBImagePaths(path_to_db, dbName, imageFolderName): +# store = Sqlite(path_to_db) +# data_type = DataType() +# data_type.name = dbName + +# query = "SELECT FILE FROM " + str(data_type.name) + ";" +# result = store.sqlquery(query) + +# for name in result: +# filename = name[0].rsplit('/', 1)[1] +# filePath = imageFolderName + filename +# updateQuery = "UPDATE " + str(data_type.name) + " SET FILE = '" + filePath + "' WHERE FILE = '" + name[0] + "';" +# store.sqlquery(updateQuery) + +# store.close() + +""" +Query the db to identify columns of interest +""" +# def extractDBColumns(path_to_db, columns_to_keep, dbName, path_to_csv_output): +# store = Sqlite(path_to_db) +# data_type = DataType() +# data_type.name = dbName + +# # for name in result: +# # filename = name[0].rsplit('/', 1)[1] +# # filePath = "images/" + filename +# # updateQuery = "UPDATE " + str(data_type.name) + " SET FILE = '" + filePath + "' WHERE FILE = '" + name[0] + "';" +# # store.sqlquery(updateQuery) + +# #get column names +# query = "SELECT name FROM PRAGMA_TABLE_INFO('" + str(data_type.name) + "')" +# result = store.sqlquery(query) +# print(result) +# columnNames = list(map(result.__getitem__, columns_to_keep)) +# names = "" +# for name in columnNames: +# name = name[0] +# names += name + "," +# names = names[:-1] + +# # query the columns of interest +# query = "SELECT " + names + " FROM " + str(data_type.name) + ";" +# #query = "SELECT * FROM " + str(data_type.name) + " WHERE wind_speed > 5;" +# #result = store.sqlquery(query) + ";" +# store.export_csv_query(query, path_to_csv_output) +# store.close() + +if __name__ == "__main__": + # predefined paths + dstFolder = "" + imageFolderName = "images/" + imgDstFolder = dstFolder + imageFolderName + path_to_csv_input = dstFolder + "wildfiredataSmall.csv" + path_to_sqlite_db = dstFolder + 'wildfire.db' + path_to_cinema_db = dstFolder + "wildfire.cdb/" + path_to_cinema_images = path_to_cinema_db + imageFolderName + path_to_cinema_csv = path_to_cinema_db + "data.csv" + dbName = "wfdata" + columns_to_keep = [0,1,2,9,10] + + #external work from DSI + downloadImages(path_to_csv_input, imgDstFolder) + + # moves the images to the Cinema Database folder - external to DSI + if not os.path.exists(path_to_cinema_db): + os.makedirs(path_to_cinema_db) + if os.path.exists(path_to_cinema_images): + shutil.rmtree(path_to_cinema_images) + os.rename(imgDstFolder, path_to_cinema_images) + + core = Terminal(run_table_flag=False) + core.load_module('plugin', "Csv", "reader", filenames = path_to_csv_input, table_name = dbName) + + # update DSI abstraction directly + updatedFilePaths = [] + wildfire_table = core.get_current_abstraction(table_name = dbName) + for url_image in wildfire_table['FILE']: + image_name = url_image.rsplit('/', 1)[1] + filePath = imageFolderName + image_name + updatedFilePaths.append(filePath) + wildfire_table['FILE'] = updatedFilePaths + core.update_abstraction(dbName, wildfire_table) + + # export data with revised filepaths to CSV + core.load_module('plugin', "Csv_Writer", "writer", filename = path_to_cinema_csv, table_name = dbName, cols_to_export = columns_to_keep) + core.transload() + + if os.path.exists(path_to_sqlite_db): + os.remove(path_to_sqlite_db) + + #load data to a sqlite database + core.load_module('backend','Sqlite','back-write', filename=path_to_sqlite_db) + core.artifact_handler(interaction_type='put') + + diff --git a/examples/wildfire/wildfire_plotly.ipynb b/examples/wildfire/wildfire_plotly.ipynb new file mode 100644 index 00000000..6ae573e9 --- /dev/null +++ b/examples/wildfire/wildfire_plotly.ipynb @@ -0,0 +1,1124 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import plotly.express as px\n", + "import pandas as pd" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "df = pd.read_csv('wildfire.cdb/data.csv')\n", + "df = df.drop(columns=['FILE'])" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
wind_speedwdirsmoisburned_area
021800.05122388
182250.05169302
281950.05187542
352400.05181583
\n", + "
" + ], + "text/plain": [ + " wind_speed wdir smois burned_area\n", + "0 2 180 0.05 122388\n", + "1 8 225 0.05 169302\n", + "2 8 195 0.05 187542\n", + "3 5 240 0.05 181583" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.plotly.v1+json": { + "config": { + "plotlyServerURL": "https://plot.ly" + }, + "data": [ + { + "dimensions": [ + { + "label": "wind_speed", + "values": [ + 2, + 8, + 8, + 5 + ] + }, + { + "label": "wdir", + "values": [ + 180, + 225, + 195, + 240 + ] + }, + { + "label": "smois", + "values": [ + 0.05, + 0.05, + 0.05, + 0.05 + ] + }, + { + "label": "burned_area", + "values": [ + 122388, + 169302, + 187542, + 181583 + ] + } + ], + "domain": { + "x": [ + 0, + 1 + ], + "y": [ + 0, + 1 + ] + }, + "line": { + "color": [ + 2, + 8, + 8, + 5 + ], + "coloraxis": "coloraxis" + }, + "name": "", + "type": "parcoords" + } + ], + "layout": { + "autosize": true, + "coloraxis": { + "cmid": 2, + "colorbar": { + "title": { + "text": "wind_speed" + } + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ] + }, + "legend": { + "tracegroupgap": 0 + }, + "margin": { + "t": 60 + }, + "template": { + "data": { + "bar": [ + { + "error_x": { + "color": "#2a3f5f" + }, + "error_y": { + "color": "#2a3f5f" + }, + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "bar" + } + ], + "barpolar": [ + { + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "barpolar" + } + ], + "carpet": [ + { + "aaxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "baxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "type": "carpet" + } + ], + "choropleth": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "choropleth" + } + ], + "contour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "contour" + } + ], + "contourcarpet": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "contourcarpet" + } + ], + "heatmap": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "heatmap" + } + ], + "heatmapgl": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "heatmapgl" + } + ], + "histogram": [ + { + "marker": { + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "histogram" + } + ], + "histogram2d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "histogram2d" + } + ], + "histogram2dcontour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "histogram2dcontour" + } + ], + "mesh3d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "mesh3d" + } + ], + "parcoords": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "parcoords" + } + ], + "pie": [ + { + "automargin": true, + "type": "pie" + } + ], + "scatter": [ + { + "fillpattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + }, + "type": "scatter" + } + ], + "scatter3d": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatter3d" + } + ], + "scattercarpet": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattercarpet" + } + ], + "scattergeo": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattergeo" + } + ], + "scattergl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattergl" + } + ], + "scattermapbox": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattermapbox" + } + ], + "scatterpolar": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolar" + } + ], + "scatterpolargl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolargl" + } + ], + "scatterternary": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterternary" + } + ], + "surface": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "surface" + } + ], + "table": [ + { + "cells": { + "fill": { + "color": "#EBF0F8" + }, + "line": { + "color": "white" + } + }, + "header": { + "fill": { + "color": "#C8D4E3" + }, + "line": { + "color": "white" + } + }, + "type": "table" + } + ] + }, + "layout": { + "annotationdefaults": { + "arrowcolor": "#2a3f5f", + "arrowhead": 0, + "arrowwidth": 1 + }, + "autotypenumbers": "strict", + "coloraxis": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "colorscale": { + "diverging": [ + [ + 0, + "#8e0152" + ], + [ + 0.1, + "#c51b7d" + ], + [ + 0.2, + "#de77ae" + ], + [ + 0.3, + "#f1b6da" + ], + [ + 0.4, + "#fde0ef" + ], + [ + 0.5, + "#f7f7f7" + ], + [ + 0.6, + "#e6f5d0" + ], + [ + 0.7, + "#b8e186" + ], + [ + 0.8, + "#7fbc41" + ], + [ + 0.9, + "#4d9221" + ], + [ + 1, + "#276419" + ] + ], + "sequential": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "sequentialminus": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ] + }, + "colorway": [ + "#636efa", + "#EF553B", + "#00cc96", + "#ab63fa", + "#FFA15A", + "#19d3f3", + "#FF6692", + "#B6E880", + "#FF97FF", + "#FECB52" + ], + "font": { + "color": "#2a3f5f" + }, + "geo": { + "bgcolor": "white", + "lakecolor": "white", + "landcolor": "#E5ECF6", + "showlakes": true, + "showland": true, + "subunitcolor": "white" + }, + "hoverlabel": { + "align": "left" + }, + "hovermode": "closest", + "mapbox": { + "style": "light" + }, + "paper_bgcolor": "white", + "plot_bgcolor": "#E5ECF6", + "polar": { + "angularaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "bgcolor": "#E5ECF6", + "radialaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "scene": { + "xaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + }, + "yaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + }, + "zaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + } + }, + "shapedefaults": { + "line": { + "color": "#2a3f5f" + } + }, + "ternary": { + "aaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "baxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "bgcolor": "#E5ECF6", + "caxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "title": { + "x": 0.05 + }, + "xaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "zerolinewidth": 2 + }, + "yaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "zerolinewidth": 2 + } + } + } + } + }, + "image/png": "iVBORw0KGgoAAAANSUhEUgAABEMAAAFoCAYAAAC8DzWwAAAgAElEQVR4Xuydd8BN9R/HP8/ey94zWdkjIXskM35GhJBVyCYjKzMpkpkyIisJEZkpsyKSRCJkP5798Mzf9/t93Os+j3ufO86555x7z/v8o577na/v93zOOZ/vZ3iks4twgQAIgAAIgAAIgAAIgAAIgAAIgAAIgIBOCHhAGaKTlcY0QQAEQAAEQAAEQAAEQAAEQAAEQAAEBAEoQ7ARQAAEQAAEQAAEQAAEQAAEQAAEQAAEdEUAyhBdLTcmCwIgAAIgAAIgAAIgAAIgAAIgAAIgAGUI9gAIgAAIgAAIgAAIgAAIgAAIgAAIgICuCEAZoqvlxmRBAARAAARAAARAAARAAARAAARAAASgDMEeAAEQAAEQAAEQAAEQAAEQAAEQAAEQ0BUBKEN0tdyYLAiAAAiAAAiAAAiAAAiAAAiAAAiAAJQh2AMgAAIgAAIgAAIgAAIgAAIgAAIgAAK6IgBliK6WG5MFARAAARAAARAAARAAARAAARAAARCAMgR7AARAAARAAARAAARAAARAAARAAARAQFcEoAzR1XJjsiAAAiAAAiAAAiAAAiAAAiAAAiAAAlCGYA+AAAiAAAiAAAiAAAiAAAiAAAiAAAjoigCUIbpabkwWBEAABEAABEAABEAABEAABEAABEAAyhDsARAAARAAARAAARAAARAAARAAARAAAV0RgDJEV8uNyYIACIAACIAACIAACIAACIAACIAACEAZgj0AAiAAAiAAAiAAAiAAAiAAAiAAAiCgKwJQhuhquTFZEAABEAABEAABEAABEAABEAABEAABKEOwB0AABEAABEAABEAABEAABEAABEAABHRFAMoQXS03JgsCIAACIAACIAACIAACIAACIAACIABlCPYACIAACIAACIAACIAACIAACIAACICArghAGaKr5cZkQQAEQAAEQAAEQAAEQAAEQAAEQAAEoAzBHgABEAABEAABEAABEAABEAABEAABENAVAShDdLXcmCwIgAAIgAAIgAAIgAAIgAAIgAAIgICulCHf//Az5c+bk54rXdymlb999wFNX7CGFkwbYlN5ZxfS2nicPV+0DwIg4BiBQePm06QRPcnDw4N27jtGPTo2d6wh1AIBEAABJxFYvWk3tWzyAuWMCHVSD2gWBEBASwRu3Y2k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", + "text/html": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig = px.parallel_coordinates(df, color=\"wind_speed\",\n", + " color_continuous_scale=px.colors.sequential.Plasma,\n", + " color_continuous_midpoint=2)\n", + "fig.show()\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.8" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/examples/wildfire/wildfire_pycinema.py b/examples/wildfire/wildfire_pycinema.py new file mode 100644 index 00000000..08257e15 --- /dev/null +++ b/examples/wildfire/wildfire_pycinema.py @@ -0,0 +1,47 @@ +import pycinema +import pycinema.filters +import pycinema.theater +import pycinema.theater.views + +# pycinema settings +PYCINEMA = { 'VERSION' : '3.0.0'} + +# filters +CinemaDatabaseReader_0 = pycinema.filters.CinemaDatabaseReader() +TableView_0 = pycinema.filters.TableView() +ImageReader_0 = pycinema.filters.ImageReader() +ImageView_0 = pycinema.filters.ImageView() + +# properties +CinemaDatabaseReader_0.inputs.path.set("./examples/wildfire/wildfire.cdb", False) +CinemaDatabaseReader_0.inputs.file_column.set("FILE", False) +TableView_0.inputs.table.set(CinemaDatabaseReader_0.outputs.table, False) +TableView_0.inputs.selection.set([], False) +ImageReader_0.inputs.table.set(CinemaDatabaseReader_0.outputs.table, False) +ImageReader_0.inputs.file_column.set("FILE", False) +ImageReader_0.inputs.cache.set(True, False) +ImageView_0.inputs.images.set(ImageReader_0.outputs.images, False) +ImageView_0.inputs.selection.set([], False) + +# layout +tabFrame0 = pycinema.theater.TabFrame() +splitFrame0 = pycinema.theater.SplitFrame() +splitFrame0.setHorizontalOrientation() +view0 = pycinema.theater.views.NodeEditorView() +splitFrame0.insertView( 0, view0 ) +splitFrame1 = pycinema.theater.SplitFrame() +splitFrame1.setVerticalOrientation() +view2 = pycinema.theater.views.FilterView( TableView_0 ) +splitFrame1.insertView( 0, view2 ) +view4 = pycinema.theater.views.FilterView( ImageView_0 ) +splitFrame1.insertView( 1, view4 ) +splitFrame1.setSizes([487, 497]) +splitFrame0.insertView( 1, splitFrame1 ) +splitFrame0.setSizes([897, 896]) +tabFrame0.insertTab(0, splitFrame0) +tabFrame0.setTabText(0, 'Layout 1') +tabFrame0.setCurrentIndex(0) +pycinema.theater.Theater.instance.setCentralWidget(tabFrame0) + +# execute pipeline +CinemaDatabaseReader_0.update() diff --git a/examples/wildfire/wildfire_terminal.py b/examples/wildfire/wildfire_terminal.py new file mode 100644 index 00000000..cb90e0b4 --- /dev/null +++ b/examples/wildfire/wildfire_terminal.py @@ -0,0 +1,17 @@ +#Loading using plugins and backends +from dsi.core import Terminal + +'''Example access workflow once database has been generated''' + +a=Terminal(debug_flag=True) +a.load_module('backend','Sqlite','back-read', filename='wildfire.db') +a.transload() +cnames = a.artifact_handler(interaction_type='get', query = "PRAGMA table_info(wfdata);") +data = a.artifact_handler(interaction_type='get', query = "SELECT * FROM wfdata;")#, isVerbose = True) + +# a.artifact_handler(interaction_type="read") +clist = [i[1] for i in cnames] +dlist = list(data) +print(clist) +print(dlist) +# a.unload_module('backend', 'Sqlite', 'back-write') diff --git a/examples/wildfire/wildfiredata.csv b/examples/wildfire/wildfiredata.csv new file mode 100644 index 00000000..d0870369 --- /dev/null +++ b/examples/wildfire/wildfiredata.csv @@ -0,0 +1,1890 @@ +wind_speed,wdir,smois,fuels,ignition,safe_unsafe_ignition_pattern,safe_unsafe_fire_behavior,does_fire_meet_objectives,rationale_if_unsafe,burned_area,FILE +2,180,0.05,ST5_FF_DUET,ST5_ignite_contour.dat,safe,safe,yes,,122388,https://wifire-data.sdsc.edu/data//burnpro3d/d/07/12/run_07127fcc-66c4-4498-a4c6-8e9f6e5fbe68/png/run_07127fcc-66c4-4498-a4c6-8e9f6e5fbe68_fuels-dens_2100_000.png +8,225,0.05,ST5_FFDUET_TLS,ST5_ignite_contour.dat,safe,unsafe,no,,169302,https://wifire-data.sdsc.edu/data//burnpro3d/d/cd/34/run_cd34e198-92d8-465d-b7d7-9cdf8b4dbd12/png/run_cd34e198-92d8-465d-b7d7-9cdf8b4dbd12_fuels-dens_2100_000.png +8,195,0.05,ST5_FFDUET_TLS,ST5_ignite_ring.dat,safe,unsafe,no,,187542,https://wifire-data.sdsc.edu/data//burnpro3d/d/16/f7/run_16f771f5-b830-4c22-962a-e5074d90c9c4/png/run_16f771f5-b830-4c22-962a-e5074d90c9c4_fuels-dens_2100_000.png +5,240,0.05,ST5_FFDUET_TLS,ST5_ignite_strip.dat,safe,unsafe,no,,181583,https://wifire-data.sdsc.edu/data//burnpro3d/d/11/be/run_11bea928-97ce-4188-80b9-06eda10d0a2b/png/run_11bea928-97ce-4188-80b9-06eda10d0a2b_fuels-dens_2100_000.png +8,225,0.05,ST5_FF_DUET,ST5_ignite_contour.dat,safe,unsafe,No,,168955,https://wifire-data.sdsc.edu/data//burnpro3d/d/e6/04/run_e60409b6-fb4e-4657-98e9-74610660014b/png/run_e60409b6-fb4e-4657-98e9-74610660014b_fuels-dens_2100_000.png +8,225,0.05,ST5_FF_DUET,ST5_ignite_ring.dat,unsafe,unsafe,no,,83722,https://wifire-data.sdsc.edu/data//burnpro3d/d/aa/d3/run_aad3bb47-75f1-4db5-b4c6-d09368585317/png/run_aad3bb47-75f1-4db5-b4c6-d09368585317_fuels-dens_2100_000.png +8,225,0.05,ST5_FF_DUET,ST5_ignite_strip.dat,safe,unsafe,no,,183566,https://wifire-data.sdsc.edu/data//burnpro3d/d/e1/ad/run_e1ad0175-130d-413d-8293-31e9ba2ced77/png/run_e1ad0175-130d-413d-8293-31e9ba2ced77_fuels-dens_2100_000.png +3,180,0.05,ST5_FFDUET_TLS,ST5_ignite_ring.dat,safe,safe,yes,,104288,https://wifire-data.sdsc.edu/data//burnpro3d/d/90/c5/run_90c51041-296a-4977-a2da-d764d7d8165d/png/run_90c51041-296a-4977-a2da-d764d7d8165d_fuels-dens_2100_000.png +12,255,0.05,ST5_FF_DUET,ST5_ignite_strip.dat,safe,unsafe,no,,140347,https://wifire-data.sdsc.edu/data//burnpro3d/d/d2/8f/run_d28f79ae-24b7-45aa-a95d-dd2f1333f4a2/png/run_d28f79ae-24b7-45aa-a95d-dd2f1333f4a2_fuels-dens_2100_000.png +12,240,0.05,ST5_FF_DUET,ST5_ignite_strip.dat,safe,unsafe,no,,183895,https://wifire-data.sdsc.edu/data//burnpro3d/d/60/c6/run_60c66649-b8a1-449c-82cb-acc12c6f7ad9/png/run_60c66649-b8a1-449c-82cb-acc12c6f7ad9_fuels-dens_2100_000.png +3,225,0.05,ST5_FF_DUET,ST5_ignite_ring.dat,safe,unsafe,No,,169274,https://wifire-data.sdsc.edu/data//burnpro3d/d/31/0a/run_310aeb02-0def-4e5a-a004-d16725815b85/png/run_310aeb02-0def-4e5a-a004-d16725815b85_fuels-dens_2100_000.png +3,195,0.05,ST5_FF_DUET,ST5_ignite_strip.dat,safe,safe,Yes,,105452,https://wifire-data.sdsc.edu/data//burnpro3d/d/c0/6b/run_c06b62c2-cce4-4a02-8e3c-6433261594c6/png/run_c06b62c2-cce4-4a02-8e3c-6433261594c6_fuels-dens_2100_000.png +12,255,0.05,ST5_FFDUET_TLS,ST5_ignite_strip.dat,safe,unsafe,No,,183503,https://wifire-data.sdsc.edu/data//burnpro3d/d/e3/f4/run_e3f4c121-e202-450e-9152-0ec0a28318ff/png/run_e3f4c121-e202-450e-9152-0ec0a28318ff_fuels-dens_2100_000.png +12,255,0.05,ST5_FFDUET_TLS,ST5_ignite_ring.dat,unsafe,unsafe,No,Ring fire under high winds,137343,https://wifire-data.sdsc.edu/data//burnpro3d/d/d9/cb/run_d9cb6639-a32d-4783-965c-f1389c06bd14/png/run_d9cb6639-a32d-4783-965c-f1389c06bd14_fuels-dens_2100_000.png +8,240,0.05,ST5_FF_DUET,ST5_ignite_contour.dat,safe,unsafe,No,,169209,https://wifire-data.sdsc.edu/data//burnpro3d/d/00/dd/run_00ddce4e-2b42-499c-a8c7-3642b206eee5/png/run_00ddce4e-2b42-499c-a8c7-3642b206eee5_fuels-dens_2100_000.png +8,240,0.05,ST5_FF_DUET,ST5_ignite_ring.dat,safe,unsafe,No,,69828,https://wifire-data.sdsc.edu/data//burnpro3d/d/cc/0c/run_cc0c4fa2-92a2-49bd-bb76-a19b3b7f4da5/png/run_cc0c4fa2-92a2-49bd-bb76-a19b3b7f4da5_fuels-dens_2100_000.png +8,240,0.05,ST5_FF_DUET,ST5_ignite_strip.dat,safe,unsafe,No,,183087,https://wifire-data.sdsc.edu/data//burnpro3d/d/eb/b8/run_ebb86825-dbb9-4992-8544-38dcdcff9d28/png/run_ebb86825-dbb9-4992-8544-38dcdcff9d28_fuels-dens_2100_000.png +12,255,0.05,ST5_FFDUET_TLS,ST5_ignite_contour.dat,safe,unsafe,No,,186314,https://wifire-data.sdsc.edu/data//burnpro3d/d/36/57/run_3657dcc7-0863-4db4-8936-e0ced230c013/png/run_3657dcc7-0863-4db4-8936-e0ced230c013_fuels-dens_2100_000.png +12,180,0.05,ST5_FF_DUET,ST5_ignite_ring.dat,unsafe,unsafe,No,,186512,https://wifire-data.sdsc.edu/data//burnpro3d/d/1e/bf/run_1ebf8029-7b17-4b13-8964-aa4e3a471e25/png/run_1ebf8029-7b17-4b13-8964-aa4e3a471e25_fuels-dens_2100_000.png +12,180,0.05,ST5_FF_DUET,ST5_ignite_contour.dat,safe,unsafe,No,,170842,https://wifire-data.sdsc.edu/data//burnpro3d/d/78/30/run_78303682-4427-42c4-a947-d4405aafadaf/png/run_78303682-4427-42c4-a947-d4405aafadaf_fuels-dens_2100_000.png +12,195,0.05,ST5_FFDUET_TLS,ST5_ignite_contour.dat,safe,unsafe,No,,97083,https://wifire-data.sdsc.edu/data//burnpro3d/d/49/5b/run_495ba59f-860f-463b-8faa-92ff5a3959c2/png/run_495ba59f-860f-463b-8faa-92ff5a3959c2_fuels-dens_2100_000.png +12,195,0.05,ST5_FFDUET_TLS,ST5_ignite_ring.dat,unsafe,unsafe,No,,139775,https://wifire-data.sdsc.edu/data//burnpro3d/d/4f/9b/run_4f9b151b-f1dd-4ab9-947e-b2cd0c21084a/png/run_4f9b151b-f1dd-4ab9-947e-b2cd0c21084a_fuels-dens_2100_000.png +12,195,0.05,ST5_FFDUET_TLS,ST5_ignite_strip.dat,safe,unsafe,No,,186008,https://wifire-data.sdsc.edu/data//burnpro3d/d/8d/0f/run_8d0f252d-198a-4347-9144-c693103b0a34/png/run_8d0f252d-198a-4347-9144-c693103b0a34_fuels-dens_2100_000.png +12,225,0.05,ST5_FFDUET_TLS,ST5_ignite_contour.dat,safe,unsafe,No,,169711,https://wifire-data.sdsc.edu/data//burnpro3d/d/7f/b7/run_7fb7652e-2451-4382-94aa-80ee89fba33e/png/run_7fb7652e-2451-4382-94aa-80ee89fba33e_fuels-dens_2100_000.png +2,180,0.05,ST5_FFDUET_Over10m,ST5_ignite_contour.dat,safe,safe,Yes,,125355,https://wifire-data.sdsc.edu/data//burnpro3d/d/68/63/run_686301e8-e86f-41b0-8e68-4d0bd98e6e41/png/run_686301e8-e86f-41b0-8e68-4d0bd98e6e41_fuels-dens_2100_000.png +12,225,0.05,ST5_FFDUET_TLS,ST5_ignite_ring.dat,unsafe,unsafe,No,,102709,https://wifire-data.sdsc.edu/data//burnpro3d/d/08/fe/run_08fe9400-6dc4-41bd-896c-e69d14ad9587/png/run_08fe9400-6dc4-41bd-896c-e69d14ad9587_fuels-dens_2100_000.png +8,255,0.05,ST5_FF_DUET,ST5_ignite_strip.dat,safe,unsafe,No,,87556,https://wifire-data.sdsc.edu/data//burnpro3d/d/a3/f7/run_a3f75b42-bb4e-4622-8777-07711b1f49f4/png/run_a3f75b42-bb4e-4622-8777-07711b1f49f4_fuels-dens_2100_000.png +8,255,0.05,ST5_FF_DUET,ST5_ignite_ring.dat,unsafe,unsafe,No,,107692,https://wifire-data.sdsc.edu/data//burnpro3d/d/14/d2/run_14d26113-851a-40e1-92fa-65f0eceb1bf6/png/run_14d26113-851a-40e1-92fa-65f0eceb1bf6_fuels-dens_2100_000.png +8,255,0.05,ST5_FF_DUET,ST5_ignite_contour.dat,safe,unsafe,No,,157609,https://wifire-data.sdsc.edu/data//burnpro3d/d/ea/5c/run_ea5c52fb-284b-4b50-9d8b-d2367b822bef/png/run_ea5c52fb-284b-4b50-9d8b-d2367b822bef_fuels-dens_2100_000.png +12,240,0.05,ST5_FFDUET_TLS,ST5_ignite_contour.dat,unsafe,unsafe,No,High ws,56750,https://wifire-data.sdsc.edu/data//burnpro3d/d/50/77/run_50772e14-9ef0-4395-8a70-8e7bb15fcce3/png/run_50772e14-9ef0-4395-8a70-8e7bb15fcce3_fuels-dens_2100_000.png +12,240,0.05,ST5_FFDUET_TLS,ST5_ignite_ring.dat,unsafe,unsafe,No,,186685,https://wifire-data.sdsc.edu/data//burnpro3d/d/6f/73/run_6f73be4e-b9da-4f52-9a9f-115344fc9a05/png/run_6f73be4e-b9da-4f52-9a9f-115344fc9a05_fuels-dens_2100_000.png +12,240,0.05,ST5_FFDUET_TLS,ST5_ignite_strip.dat,safe,unsafe,No,,184798,https://wifire-data.sdsc.edu/data//burnpro3d/d/07/59/run_07597bb1-219b-4f9f-a01b-8218605bfed5/png/run_07597bb1-219b-4f9f-a01b-8218605bfed5_fuels-dens_2100_000.png +12,225,0.05,ST5_FFDUET_TLS,ST5_ignite_strip.dat,safe,unsafe,No,,186048,https://wifire-data.sdsc.edu/data//burnpro3d/d/a0/60/run_a0603b78-4db8-465a-ba4c-5f361dac1dcc/png/run_a0603b78-4db8-465a-ba4c-5f361dac1dcc_fuels-dens_2100_000.png +12,180,0.05,ST5_FF_DUET,ST5_ignite_strip.dat,safe,unsafe,no,,146087,https://wifire-data.sdsc.edu/data//burnpro3d/d/0d/d3/run_0dd31a6f-45e7-4afd-a0fb-4657cba155e0/png/run_0dd31a6f-45e7-4afd-a0fb-4657cba155e0_fuels-dens_2100_000.png +2,180,0.05,ST5_FFDUET_Over10m,ST5_ignite_ring.dat,safe,safe,Yes,,150371,https://wifire-data.sdsc.edu/data//burnpro3d/d/ca/a7/run_caa7d8be-f36b-46bf-b33b-5ec5e8eaa7e9/png/run_caa7d8be-f36b-46bf-b33b-5ec5e8eaa7e9_fuels-dens_2100_000.png +8,195,0.05,ST5_FF_DUET,ST5_ignite_strip.dat,safe,unsafe,No,,185095,https://wifire-data.sdsc.edu/data//burnpro3d/d/f6/71/run_f67173e8-7c68-4620-9987-35cde51847c7/png/run_f67173e8-7c68-4620-9987-35cde51847c7_fuels-dens_2100_000.png +5,225,0.05,ST5_FF_DUET,ST5_ignite_ring.dat,safe,unsafe,No,,186341,https://wifire-data.sdsc.edu/data//burnpro3d/d/8a/ab/run_8aab1e2d-4098-4f93-a0d1-422273c1ee82/png/run_8aab1e2d-4098-4f93-a0d1-422273c1ee82_fuels-dens_2100_000.png +5,225,0.05,ST5_FF_DUET,ST5_ignite_strip.dat,safe,unsafe,No,,182309,https://wifire-data.sdsc.edu/data//burnpro3d/d/7b/4c/run_7b4cbc51-3293-4763-a67b-96b8ee050ef2/png/run_7b4cbc51-3293-4763-a67b-96b8ee050ef2_fuels-dens_2100_000.png +3,195,0.05,ST5_FFDUET_Over10m,ST5_ignite_strip.dat,safe,safe,Yes,,152689,https://wifire-data.sdsc.edu/data//burnpro3d/d/67/92/run_6792fcd4-30de-4694-8b0a-cfb8b38c9353/png/run_6792fcd4-30de-4694-8b0a-cfb8b38c9353_fuels-dens_2100_000.png +3,195,0.05,ST5_FFDUET_Over10m,ST5_ignite_ring.dat,safe,safe,Yes,,165724,https://wifire-data.sdsc.edu/data//burnpro3d/d/3b/04/run_3b04e426-074e-4bb5-a1e4-97cb6ca278bc/png/run_3b04e426-074e-4bb5-a1e4-97cb6ca278bc_fuels-dens_2100_000.png +3,195,0.05,ST5_FFDUET_Over10m,ST5_ignite_contour.dat,safe,safe,Yes,,128678,https://wifire-data.sdsc.edu/data//burnpro3d/d/11/6d/run_116d7d39-77d2-4f6d-bcf0-fe6305e14df6/png/run_116d7d39-77d2-4f6d-bcf0-fe6305e14df6_fuels-dens_2100_000.png +3,180,0.05,ST5_FFDUET_Over10m,ST5_ignite_strip.dat,safe,safe,Yes,,154224,https://wifire-data.sdsc.edu/data//burnpro3d/d/ea/0c/run_ea0c2dd3-dfea-4984-96ee-2ff7d9d6f2b9/png/run_ea0c2dd3-dfea-4984-96ee-2ff7d9d6f2b9_fuels-dens_2100_000.png +3,180,0.05,ST5_FFDUET_Over10m,ST5_ignite_ring.dat,safe,safe,Yes,,159257,https://wifire-data.sdsc.edu/data//burnpro3d/d/16/be/run_16beb53c-ac02-4081-81e1-e3792cc2e1de/png/run_16beb53c-ac02-4081-81e1-e3792cc2e1de_fuels-dens_2100_000.png +5,240,0.05,ST5_FF_DUET,Safe,safe,other,,,145970,https://wifire-data.sdsc.edu/data//burnpro3d/d/74/40/run_7440156c-818c-4aec-8fe1-1be22ce81caa/png/run_7440156c-818c-4aec-8fe1-1be22ce81caa_fuels-dens_2100_000.png +5,240,0.05,ST5_FF_DUET,ST5_ignite_ring.dat,safe,unsafe,No,,70957,https://wifire-data.sdsc.edu/data//burnpro3d/d/67/2b/run_672bbee2-a941-4c4d-8056-91011ed67310/png/run_672bbee2-a941-4c4d-8056-91011ed67310_fuels-dens_2100_000.png +5,240,0.05,ST5_FF_DUET,ST5_ignite_strip.dat,safe,unsafe,No,,182049,https://wifire-data.sdsc.edu/data//burnpro3d/d/47/fd/run_47fdb0a8-1b87-4213-9c75-bec604edacc2/png/run_47fdb0a8-1b87-4213-9c75-bec604edacc2_fuels-dens_2100_000.png +3,180,0.05,ST5_FFDUET_Over10m,ST5_ignite_contour.dat,safe,safe,Yes,,185234,https://wifire-data.sdsc.edu/data//burnpro3d/d/78/3b/run_783b1e9b-4c35-4310-a3ce-4ed177bd6e28/png/run_783b1e9b-4c35-4310-a3ce-4ed177bd6e28_fuels-dens_2100_000.png +2,255,0.05,ST5_FFDUET_Over10m,ST5_ignite_strip.dat,safe,unsafe,No,,110404,https://wifire-data.sdsc.edu/data//burnpro3d/d/bf/ed/run_bfed30ad-2910-4406-a67c-1fb19b719516/png/run_bfed30ad-2910-4406-a67c-1fb19b719516_fuels-dens_2100_000.png +2,255,0.05,ST5_FFDUET_Over10m,ST5_ignite_ring.dat,safe,unsafe,No,,180855,https://wifire-data.sdsc.edu/data//burnpro3d/d/eb/7a/run_eb7ab7c6-3fc1-4523-9865-92a71d37ebea/png/run_eb7ab7c6-3fc1-4523-9865-92a71d37ebea_fuels-dens_2100_000.png +2,255,0.05,ST5_FFDUET_Over10m,ST5_ignite_contour.dat,safe,safe,Yes,,119559,https://wifire-data.sdsc.edu/data//burnpro3d/d/04/77/run_0477232e-2bc8-43e7-a6ab-368ecb45ac27/png/run_0477232e-2bc8-43e7-a6ab-368ecb45ac27_fuels-dens_2100_000.png +5,255,0.05,ST5_FF_DUET,ST5_ignite_contour.dat,safe,unsafe,No,,135267,https://wifire-data.sdsc.edu/data//burnpro3d/d/42/42/run_4242714d-3fbe-4c7c-9e64-67a86792c149/png/run_4242714d-3fbe-4c7c-9e64-67a86792c149_fuels-dens_2100_000.png +5,255,0.05,ST5_FF_DUET,ST5_ignite_ring.dat,safe,unsafe,No,,180421,https://wifire-data.sdsc.edu/data//burnpro3d/d/e5/1f/run_e51f0c5d-1367-487e-ace1-ba48349077b7/png/run_e51f0c5d-1367-487e-ace1-ba48349077b7_fuels-dens_2100_000.png +8,195,0.05,ST5_FF_DUET,ST5_ignite_ring.dat,safe,unsafe,No,,184280,https://wifire-data.sdsc.edu/data//burnpro3d/d/a9/49/run_a9495aaf-4300-4505-b1a4-f91b286c5e58/png/run_a9495aaf-4300-4505-b1a4-f91b286c5e58_fuels-dens_2100_000.png +8,195,0.05,ST5_FF_DUET,ST5_ignite_contour.dat,safe,unsafe,NO,,105874,https://wifire-data.sdsc.edu/data//burnpro3d/d/ed/bc/run_edbc33e5-4de7-4e15-8a7c-8b1e323e2360/png/run_edbc33e5-4de7-4e15-8a7c-8b1e323e2360_fuels-dens_2100_000.png +2,195,0.05,ST5_FFDUET_Over10m,ST5_ignite_contour.dat,safe,safe,Yes,,156104,https://wifire-data.sdsc.edu/data//burnpro3d/d/cd/cf/run_cdcfb066-cdf4-42b9-8d4e-7f0dc145df0f/png/run_cdcfb066-cdf4-42b9-8d4e-7f0dc145df0f_fuels-dens_2100_000.png +2,195,0.05,ST5_FFDUET_Over10m,ST5_ignite_ring.dat,safe,unsafe,No,,152439,https://wifire-data.sdsc.edu/data//burnpro3d/d/5b/bd/run_5bbd2124-4f73-4d23-8f73-b69043832a6a/png/run_5bbd2124-4f73-4d23-8f73-b69043832a6a_fuels-dens_2100_000.png +2,195,0.05,ST5_FFDUET_Over10m,ST5_ignite_strip.dat,safe,unsafe,No,,148742,https://wifire-data.sdsc.edu/data//burnpro3d/d/71/08/run_71081eaf-d0de-43fd-a896-860eaa2aba78/png/run_71081eaf-d0de-43fd-a896-860eaa2aba78_fuels-dens_2100_000.png +2,225,0.05,ST5_FFDUET_Over10m,ST5_ignite_contour.dat,safe,unsafe,Yes,,19787,https://wifire-data.sdsc.edu/data//burnpro3d/d/99/71/run_99718019-1491-44c5-bac5-a3f4ab72b456/png/run_99718019-1491-44c5-bac5-a3f4ab72b456_fuels-dens_2100_000.png +2,180,0.05,ST5_FFDUET_Over10m,ST5_ignite_strip.dat,safe,safe,yes,,146344,https://wifire-data.sdsc.edu/data//burnpro3d/d/e4/a2/run_e4a2c59e-cf87-4272-a2fc-84a2c1347ddf/png/run_e4a2c59e-cf87-4272-a2fc-84a2c1347ddf_fuels-dens_2100_000.png +8,180,0.05,ST5_FF_DUET,ST5_ignite_strip.dat,unsafe,unsafe,No,,107206,https://wifire-data.sdsc.edu/data//burnpro3d/d/97/93/run_9793d952-4099-46a9-b71b-a8886eae3e1d/png/run_9793d952-4099-46a9-b71b-a8886eae3e1d_fuels-dens_2100_000.png +3,180,0.05,ST5_FFDUET_TLS,ST5_ignite_strip.dat,safe,unsafe,yes,,130621,https://wifire-data.sdsc.edu/data//burnpro3d/d/fe/88/run_fe8888bd-e110-4d66-b33d-7c152259f9a8/png/run_fe8888bd-e110-4d66-b33d-7c152259f9a8_fuels-dens_2100_000.png +2,225,0.05,ST5_FFDUET_Over10m,ST5_ignite_ring.dat,safe,safe,marginal,,155098,https://wifire-data.sdsc.edu/data//burnpro3d/d/ef/27/run_ef277141-3637-4610-852d-96464ca85df9/png/run_ef277141-3637-4610-852d-96464ca85df9_fuels-dens_2100_000.png +2,225,0.05,ST5_FFDUET_Over10m,ST5_ignite_strip.dat,safe,unsafe,No,,146039,https://wifire-data.sdsc.edu/data//burnpro3d/d/b8/6d/run_b86d9989-e431-476a-b1f1-40df0cc4532f/png/run_b86d9989-e431-476a-b1f1-40df0cc4532f_fuels-dens_2100_000.png +2,240,0.05,ST5_FFDUET_Over10m,ST5_ignite_contour.dat,safe,unsafe,No,,121441,https://wifire-data.sdsc.edu/data//burnpro3d/d/b4/ed/run_b4edcf32-e7ef-42c9-a1c0-1502be8c1cb8/png/run_b4edcf32-e7ef-42c9-a1c0-1502be8c1cb8_fuels-dens_2100_000.png +2,240,0.05,ST5_FFDUET_Over10m,ST5_ignite_ring.dat,safe,unsafe,No,,154881,https://wifire-data.sdsc.edu/data//burnpro3d/d/53/34/run_5334aa3f-033f-4dc7-91bc-1d2b82b6ae7a/png/run_5334aa3f-033f-4dc7-91bc-1d2b82b6ae7a_fuels-dens_2100_000.png +2,240,0.05,ST5_FFDUET_Over10m,ST5_ignite_strip.dat,safe,unsafe,No,,149166,https://wifire-data.sdsc.edu/data//burnpro3d/d/10/3c/run_103cdd1e-d108-4f88-8b7e-fe840f21b85b/png/run_103cdd1e-d108-4f88-8b7e-fe840f21b85b_fuels-dens_2100_000.png +8,180,0.05,ST5_FF_DUET,ST5_ignite_ring.dat,unsafe,unsafe,No,,187137,https://wifire-data.sdsc.edu/data//burnpro3d/d/66/71/run_6671ce14-f499-4722-8574-5ceaddaf5f3a/png/run_6671ce14-f499-4722-8574-5ceaddaf5f3a_fuels-dens_2100_000.png +5,225,0.05,ST5_FF_DUET,ST5_ignite_contour.dat,safe,unsafe,No,,154372,https://wifire-data.sdsc.edu/data//burnpro3d/d/de/a6/run_dea6770b-a3cb-4013-ba49-be7ab68f1034/png/run_dea6770b-a3cb-4013-ba49-be7ab68f1034_fuels-dens_2100_000.png +12,180,0.05,ST5_FFDUET_TLS,ST5_ignite_strip.dat,unsafe,unsafe,No,,184677,https://wifire-data.sdsc.edu/data//burnpro3d/d/11/0f/run_110f2e20-b8ac-42f8-9ed2-e3723cbecdd5/png/run_110f2e20-b8ac-42f8-9ed2-e3723cbecdd5_fuels-dens_2100_000.png +12,180,0.05,ST5_FFDUET_TLS,ST5_ignite_contour.dat,unsafe,unsafe,No,,170391,https://wifire-data.sdsc.edu/data//burnpro3d/d/8c/ad/run_8cad5161-9e15-4493-8f9c-83cd79979904/png/run_8cad5161-9e15-4493-8f9c-83cd79979904_fuels-dens_2100_000.png +2,195,0.05,ST5_FFDUET_TLS,ST5_ignite_contour.dat,safe,unsafe,No,,21452,https://wifire-data.sdsc.edu/data//burnpro3d/d/76/c2/run_76c21f3f-9da5-4fa6-8995-fb882f880271/png/run_76c21f3f-9da5-4fa6-8995-fb882f880271_fuels-dens_2100_000.png +2,195,0.05,ST5_FFDUET_TLS,ST5_ignite_ring.dat,safe,unsafe,No,,84723,https://wifire-data.sdsc.edu/data//burnpro3d/d/2f/79/run_2f79df5f-61f2-4006-a781-d9ea5c163ac5/png/run_2f79df5f-61f2-4006-a781-d9ea5c163ac5_fuels-dens_2100_000.png +2,195,0.05,ST5_FFDUET_TLS,ST5_ignite_strip.dat,safe,unsafe,No,,148405,https://wifire-data.sdsc.edu/data//burnpro3d/d/f5/93/run_f593870f-dde7-4dca-a367-b19fe81f3994/png/run_f593870f-dde7-4dca-a367-b19fe81f3994_fuels-dens_2100_000.png +5,195,0.05,ST5_FFDUET_TLS,ST5_ignite_strip.dat,safe,unsafe,No,,152445,https://wifire-data.sdsc.edu/data//burnpro3d/d/d5/68/run_d568aa2d-6f7a-406a-92fb-9ac24064ebab/png/run_d568aa2d-6f7a-406a-92fb-9ac24064ebab_fuels-dens_2100_000.png +5,195,0.05,ST5_FFDUET_TLS,ST5_ignite_ring.dat,safe,unsafe,No,,48911,https://wifire-data.sdsc.edu/data//burnpro3d/d/54/90/run_549090ac-5f07-4f27-b4f0-a5bd921d71b2/png/run_549090ac-5f07-4f27-b4f0-a5bd921d71b2_fuels-dens_2100_000.png +5,195,0.05,ST5_FFDUET_TLS,ST5_ignite_contour.dat,safe,unsafe,No,,148504,https://wifire-data.sdsc.edu/data//burnpro3d/d/04/c4/run_04c406e2-7a99-4ae5-99e4-d7449143f6d4/png/run_04c406e2-7a99-4ae5-99e4-d7449143f6d4_fuels-dens_2100_000.png +5,180,0.05,ST5_FFDUET_TLS,ST5_ignite_strip.dat,safe,unsafe,marginal,,173148,https://wifire-data.sdsc.edu/data//burnpro3d/d/1e/96/run_1e967ac8-7bd8-4513-8a0d-1f4a21e59ef7/png/run_1e967ac8-7bd8-4513-8a0d-1f4a21e59ef7_fuels-dens_2100_000.png +2,225,0.05,ST5_FFDUET_TLS,ST5_ignite_contour.dat,safe,safe,Yes,,92417,https://wifire-data.sdsc.edu/data//burnpro3d/d/0e/02/run_0e029133-d031-43c0-ad85-3983315db7cf/png/run_0e029133-d031-43c0-ad85-3983315db7cf_fuels-dens_2100_000.png +2,225,0.05,ST5_FFDUET_TLS,ST5_ignite_ring.dat,safe,unsafe,No,,135639,https://wifire-data.sdsc.edu/data//burnpro3d/d/ca/28/run_ca28486a-6bcb-4ea4-bb86-f35fd3ef98ba/png/run_ca28486a-6bcb-4ea4-bb86-f35fd3ef98ba_fuels-dens_2100_000.png +2,225,0.05,ST5_FFDUET_TLS,ST5_ignite_strip.dat,safe,unsafe,No,,120468,https://wifire-data.sdsc.edu/data//burnpro3d/d/44/73/run_4473c5af-33bf-4e04-be3a-f9ab6465aa3c/png/run_4473c5af-33bf-4e04-be3a-f9ab6465aa3c_fuels-dens_2100_000.png +5,180,0.05,ST5_FFDUET_TLS,ST5_ignite_ring.dat,safe,unsafe,No,,161107,https://wifire-data.sdsc.edu/data//burnpro3d/d/5c/35/run_5c35f38d-ad5e-4c5c-a69e-6bd2914ec403/png/run_5c35f38d-ad5e-4c5c-a69e-6bd2914ec403_fuels-dens_2100_000.png +5,180,0.05,ST5_FFDUET_TLS,ST5_ignite_contour.dat,safe,unsafe,No,,140556,https://wifire-data.sdsc.edu/data//burnpro3d/d/c5/ce/run_c5ce2f2f-63dc-4a92-8db0-664289c9b094/png/run_c5ce2f2f-63dc-4a92-8db0-664289c9b094_fuels-dens_2100_000.png +3,255,0.05,ST5_FFDUET_TLS,ST5_ignite_strip.dat,safe,unsafe,No,,139553,https://wifire-data.sdsc.edu/data//burnpro3d/d/b7/28/run_b728625e-04fe-44bb-9f7e-aa06267db457/png/run_b728625e-04fe-44bb-9f7e-aa06267db457_fuels-dens_2100_000.png +3,255,0.05,ST5_FFDUET_TLS,ST5_ignite_ring.dat,safe,unsafe,No,,162213,https://wifire-data.sdsc.edu/data//burnpro3d/d/c9/77/run_c9774089-891a-4544-a8d9-d3f48822de56/png/run_c9774089-891a-4544-a8d9-d3f48822de56_fuels-dens_2100_000.png +3,255,0.05,ST5_FFDUET_TLS,ST5_ignite_contour.dat,safe,unsafe,No,,126157,https://wifire-data.sdsc.edu/data//burnpro3d/d/a0/79/run_a0796aec-b3a4-448d-8962-dd4f4f963580/png/run_a0796aec-b3a4-448d-8962-dd4f4f963580_fuels-dens_2100_000.png +2,240,0.05,ST5_FFDUET_TLS,ST5_ignite_contour.dat,safe,safe,Yes,,121483,https://wifire-data.sdsc.edu/data//burnpro3d/d/75/9c/run_759cffb5-2d36-4147-947e-baa4256fa468/png/run_759cffb5-2d36-4147-947e-baa4256fa468_fuels-dens_2100_000.png +2,240,0.05,ST5_FFDUET_TLS,ST5_ignite_ring.dat,safe,unsafe,No,,154971,https://wifire-data.sdsc.edu/data//burnpro3d/d/52/d2/run_52d268c0-8d3f-4b8d-abc9-e1bae7c483d4/png/run_52d268c0-8d3f-4b8d-abc9-e1bae7c483d4_fuels-dens_2100_000.png +3,180,0.05,ST5_FFDUET_TLS,ST5_ignite_contour.dat,safe,unsafe,No,,182380,https://wifire-data.sdsc.edu/data//burnpro3d/d/2e/a1/run_2ea18f87-4c83-4ae4-a151-81c8dcb898b6/png/run_2ea18f87-4c83-4ae4-a151-81c8dcb898b6_fuels-dens_2100_000.png +3,195,0.05,ST5_FFDUET_TLS,ST5_ignite_contour.dat,safe,unsafe,No,,129974,https://wifire-data.sdsc.edu/data//burnpro3d/d/4a/f8/run_4af85152-40dd-48f1-a41d-e2824b461d73/png/run_4af85152-40dd-48f1-a41d-e2824b461d73_fuels-dens_2100_000.png +3,195,0.05,ST5_FFDUET_TLS,ST5_ignite_ring.dat,safe,unsafe,No,,170522,https://wifire-data.sdsc.edu/data//burnpro3d/d/ee/cd/run_eecd2a65-3197-4853-9188-820454bd818f/png/run_eecd2a65-3197-4853-9188-820454bd818f_fuels-dens_2100_000.png +3,195,0.05,ST5_FFDUET_TLS,ST5_ignite_strip.dat,safe,unsafe,No,,153921,https://wifire-data.sdsc.edu/data//burnpro3d/d/1a/87/run_1a87ca2a-6118-435e-a109-a2adfcdb08f3/png/run_1a87ca2a-6118-435e-a109-a2adfcdb08f3_fuels-dens_2100_000.png +3,225,0.05,ST5_FFDUET_TLS,ST5_ignite_contour.dat,safe,unsafe,No,,106531,https://wifire-data.sdsc.edu/data//burnpro3d/d/55/0b/run_550b3ea8-563c-4b1b-a139-116201242452/png/run_550b3ea8-563c-4b1b-a139-116201242452_fuels-dens_2100_000.png +3,225,0.05,ST5_FFDUET_TLS,ST5_ignite_ring.dat,safe,unsafe,No,,172822,https://wifire-data.sdsc.edu/data//burnpro3d/d/ad/b8/run_adb85619-f691-4cc9-a6ec-0d16eb77d829/png/run_adb85619-f691-4cc9-a6ec-0d16eb77d829_fuels-dens_2100_000.png +5,225,0.05,ST5_FFDUET_TLS,ST5_ignite_contour.dat,safe,unsafe,NO,,119008,https://wifire-data.sdsc.edu/data//burnpro3d/d/ad/a2/run_ada2dfa8-eef1-44b3-8398-60f552303417/png/run_ada2dfa8-eef1-44b3-8398-60f552303417_fuels-dens_2100_000.png +2,255,0.05,ST5_FFDUET_TLS,ST5_ignite_strip.dat,safe,unsafe,NO,,180740,https://wifire-data.sdsc.edu/data//burnpro3d/d/01/a2/run_01a23402-7463-4cfd-b4a8-2b7609d58071/png/run_01a23402-7463-4cfd-b4a8-2b7609d58071_fuels-dens_2100_000.png +2,255,0.05,ST5_FFDUET_TLS,ST5_ignite_contour.dat,safe,unsafe,No,,108092,https://wifire-data.sdsc.edu/data//burnpro3d/d/1e/cf/run_1ecf97bf-3f91-4de8-8276-19828a9b31d5/png/run_1ecf97bf-3f91-4de8-8276-19828a9b31d5_fuels-dens_2100_000.png +3,225,0.05,ST5_FFDUET_TLS,ST5_ignite_strip.dat,safe,unsafe,No,,154678,https://wifire-data.sdsc.edu/data//burnpro3d/d/f5/29/run_f5299f0c-0695-42cc-8dcd-1436ff82eebe/png/run_f5299f0c-0695-42cc-8dcd-1436ff82eebe_fuels-dens_2100_000.png +3,240,0.05,ST5_FFDUET_TLS,ST5_ignite_contour.dat,safe,unsafe,No,,126058,https://wifire-data.sdsc.edu/data//burnpro3d/d/8d/77/run_8d77872a-ecf9-4fb4-b6a9-0075fb501302/png/run_8d77872a-ecf9-4fb4-b6a9-0075fb501302_fuels-dens_2100_000.png +3,240,0.05,ST5_FFDUET_TLS,ST5_ignite_ring.dat,safe,unsafe,No,,171192,https://wifire-data.sdsc.edu/data//burnpro3d/d/87/93/run_8793ce89-4643-4f62-9b89-deb839d2713e/png/run_8793ce89-4643-4f62-9b89-deb839d2713e_fuels-dens_2100_000.png +3,240,0.05,ST5_FFDUET_TLS,ST5_ignite_strip.dat,safe,unsafe,NO,,154716,https://wifire-data.sdsc.edu/data//burnpro3d/d/f2/fd/run_f2fdec5d-b5b2-4bf6-bfb5-050c120f54ab/png/run_f2fdec5d-b5b2-4bf6-bfb5-050c120f54ab_fuels-dens_2100_000.png +2,240,0.05,ST5_FFDUET_TLS,ST5_ignite_strip.dat,safe,unsafe,No,,176937,https://wifire-data.sdsc.edu/data//burnpro3d/d/1b/24/run_1b24cb43-9504-43be-956f-505120870aa2/png/run_1b24cb43-9504-43be-956f-505120870aa2_fuels-dens_2100_000.png +2,255,0.05,ST5_FFDUET_TLS,ST5_ignite_ring.dat,other,unsafe,No,,33619,https://wifire-data.sdsc.edu/data//burnpro3d/d/39/f1/run_39f1f8d5-e908-4f96-91cf-64d155a2f186/png/run_39f1f8d5-e908-4f96-91cf-64d155a2f186_fuels-dens_2100_000.png +12,180,0.05,ST5_FFDUET_TLS,ST5_ignite_ring.dat,unsafe,unsafe,No,,70829,https://wifire-data.sdsc.edu/data//burnpro3d/d/57/e5/run_57e51b66-9e66-4dfc-be59-3ddc4d4ae4fe/png/run_57e51b66-9e66-4dfc-be59-3ddc4d4ae4fe_fuels-dens_2100_000.png +5,225,0.05,ST5_FFDUET_TLS,ST5_ignite_ring.dat,unsafe,unsafe,No,,163962,https://wifire-data.sdsc.edu/data//burnpro3d/d/39/1d/run_391dc8a5-ebae-48c8-8ada-c04ff6079443/png/run_391dc8a5-ebae-48c8-8ada-c04ff6079443_fuels-dens_2100_000.png +8,180,0.05,ST5_FFDUET_Over10m,ST5_ignite_contour.dat,safe,unsafe,NO,,154464,https://wifire-data.sdsc.edu/data//burnpro3d/d/26/13/run_26136ad9-63f5-485a-992c-38e66f1e635a/png/run_26136ad9-63f5-485a-992c-38e66f1e635a_fuels-dens_2100_000.png +12,195,0.05,ST5_FF_DUET,ST5_ignite_contour.dat,unsafe,unsafe,No,,88796,https://wifire-data.sdsc.edu/data//burnpro3d/d/a4/12/run_a412b4f6-03e4-41b3-a8ee-f1f8494c8bc0/png/run_a412b4f6-03e4-41b3-a8ee-f1f8494c8bc0_fuels-dens_2100_000.png +12,195,0.05,ST5_FF_DUET,ST5_ignite_ring.dat,unsafe,unsafe,No,,187999,https://wifire-data.sdsc.edu/data//burnpro3d/d/54/a0/run_54a040c6-65da-405f-a09f-38a865192180/png/run_54a040c6-65da-405f-a09f-38a865192180_fuels-dens_2100_000.png +12,195,0.05,ST5_FF_DUET,ST5_ignite_strip.dat,unsafe,unsafe,No,,185789,https://wifire-data.sdsc.edu/data//burnpro3d/d/e4/8a/run_e48a79ba-b8b3-473a-90a2-0e622de9ddc8/png/run_e48a79ba-b8b3-473a-90a2-0e622de9ddc8_fuels-dens_2100_000.png +8,255,0.05,ST5_FFDUET_TLS,ST5_ignite_strip.dat,safe,unsafe,No,,177333,https://wifire-data.sdsc.edu/data//burnpro3d/d/8c/42/run_8c425acc-a22d-4d90-8fc6-f6a7f5bb558b/png/run_8c425acc-a22d-4d90-8fc6-f6a7f5bb558b_fuels-dens_2100_000.png +8,255,0.05,ST5_FFDUET_TLS,ST5_ignite_ring.dat,unsafe,unsafe,No,,184015,https://wifire-data.sdsc.edu/data//burnpro3d/d/6c/4f/run_6c4ff5ce-eb7e-49ec-9341-f5f9d89aab27/png/run_6c4ff5ce-eb7e-49ec-9341-f5f9d89aab27_fuels-dens_2100_000.png +8,255,0.05,ST5_FFDUET_TLS,ST5_ignite_contour.dat,unsafe,unsafe,No,,160953,https://wifire-data.sdsc.edu/data//burnpro3d/d/4d/b8/run_4db89191-79fa-4e08-a842-004b7381431f/png/run_4db89191-79fa-4e08-a842-004b7381431f_fuels-dens_2100_000.png +8,240,0.05,ST5_FFDUET_TLS,ST5_ignite_strip.dat,unsafe,unsafe,No,,172474,https://wifire-data.sdsc.edu/data//burnpro3d/d/99/53/run_99539356-35a2-402e-a048-9f4f2f3f384a/png/run_99539356-35a2-402e-a048-9f4f2f3f384a_fuels-dens_2100_000.png +8,240,0.05,ST5_FFDUET_TLS,ST5_ignite_ring.dat,unsafe,unsafe,No,,147462,https://wifire-data.sdsc.edu/data//burnpro3d/d/f8/fe/run_f8fe2f6c-54bf-43e1-a220-052d95f7161f/png/run_f8fe2f6c-54bf-43e1-a220-052d95f7161f_fuels-dens_2100_000.png +12,225,0.05,ST5_FF_DUET,ST5_ignite_contour.dat,unsafe,unsafe,No,,172200,https://wifire-data.sdsc.edu/data//burnpro3d/d/46/49/run_46493303-241d-4139-b4c1-18f6c72cb683/png/run_46493303-241d-4139-b4c1-18f6c72cb683_fuels-dens_2100_000.png +12,225,0.05,ST5_FF_DUET,ST5_ignite_ring.dat,unsafe,unsafe,No,,75531,https://wifire-data.sdsc.edu/data//burnpro3d/d/36/82/run_3682627c-ba06-414b-a000-0464ee390b1d/png/run_3682627c-ba06-414b-a000-0464ee390b1d_fuels-dens_2100_000.png +12,225,0.05,ST5_FF_DUET,ST5_ignite_strip.dat,unsafe,unsafe,No,,145494,https://wifire-data.sdsc.edu/data//burnpro3d/d/f1/26/run_f1264518-0087-462c-9987-b77853008656/png/run_f1264518-0087-462c-9987-b77853008656_fuels-dens_2100_000.png +8,240,0.05,ST5_FFDUET_TLS,ST5_ignite_contour.dat,safe,unsafe,No,,169295,https://wifire-data.sdsc.edu/data//burnpro3d/d/d8/42/run_d8428e41-5a32-4219-92cb-f4ded84c6e8d/png/run_d8428e41-5a32-4219-92cb-f4ded84c6e8d_fuels-dens_2100_000.png +8,225,0.05,ST5_FFDUET_TLS,ST5_ignite_strip.dat,unsafe,unsafe,No,,183524,https://wifire-data.sdsc.edu/data//burnpro3d/d/bf/64/run_bf64ab09-1124-41dd-b788-9644c9e10358/png/run_bf64ab09-1124-41dd-b788-9644c9e10358_fuels-dens_2100_000.png +8,225,0.05,ST5_FFDUET_TLS,ST5_ignite_ring.dat,unsafe,unsafe,No,,187376,https://wifire-data.sdsc.edu/data//burnpro3d/d/c4/6d/run_c46ddb36-f783-40f3-b078-a18609ac2882/png/run_c46ddb36-f783-40f3-b078-a18609ac2882_fuels-dens_2100_000.png +12,240,0.05,ST5_FF_DUET,ST5_ignite_contour.dat,unsafe,unsafe,No,,169983,https://wifire-data.sdsc.edu/data//burnpro3d/d/71/e9/run_71e95e0d-2c17-425f-b256-1fa636341b41/png/run_71e95e0d-2c17-425f-b256-1fa636341b41_fuels-dens_2100_000.png +12,240,0.05,ST5_FF_DUET,ST5_ignite_ring.dat,unsafe,unsafe,No,,50414,https://wifire-data.sdsc.edu/data//burnpro3d/d/3a/af/run_3aaf3961-60dd-4723-aaa8-b672d49c41f6/png/run_3aaf3961-60dd-4723-aaa8-b672d49c41f6_fuels-dens_2100_000.png +8,195,0.05,ST5_FFDUET_TLS,ST5_ignite_strip.dat,unsafe,unsafe,No,,185039,https://wifire-data.sdsc.edu/data//burnpro3d/d/32/71/run_3271683f-06f9-44b2-8fbf-1b77e3461a88/png/run_3271683f-06f9-44b2-8fbf-1b77e3461a88_fuels-dens_2100_000.png +5,240,0.05,ST5_FFDUET_TLS,ST5_ignite_contour.dat,safe,unsafe,No,,111943,https://wifire-data.sdsc.edu/data//burnpro3d/d/3a/63/run_3a63441b-ee36-43d8-8b2d-0e0497851bbb/png/run_3a63441b-ee36-43d8-8b2d-0e0497851bbb_fuels-dens_2100_000.png +2,180,0.05,ST5_FFDUET_TLS,ST5_ignite_strip.dat,safe,unsafe,No,,146243,https://wifire-data.sdsc.edu/data//burnpro3d/d/7a/85/run_7a854189-05b9-4460-a6d6-a498b7d28171/png/run_7a854189-05b9-4460-a6d6-a498b7d28171_fuels-dens_2100_000.png +2,180,0.05,ST5_FFDUET_TLS,ST5_ignite_ring.dat,safe,unsafe,No,,149858,https://wifire-data.sdsc.edu/data//burnpro3d/d/69/da/run_69daf27a-6343-4d3d-886e-a51ccf697db9/png/run_69daf27a-6343-4d3d-886e-a51ccf697db9_fuels-dens_2100_000.png +2,180,0.05,ST5_FFDUET_TLS,ST5_ignite_contour.dat,safe,unsafe,No,,122347,https://wifire-data.sdsc.edu/data//burnpro3d/d/a7/b4/run_a7b496a5-f11b-4546-a288-f5907557839d/png/run_a7b496a5-f11b-4546-a288-f5907557839d_fuels-dens_2100_000.png +5,240,0.05,ST5_FFDUET_TLS,ST5_ignite_ring.dat,unsafe,unsafe,No,,181369,https://wifire-data.sdsc.edu/data//burnpro3d/d/07/d4/run_07d46add-71b8-4700-84ca-b48c4c1b7fd6/png/run_07d46add-71b8-4700-84ca-b48c4c1b7fd6_fuels-dens_2100_000.png +5,255,0.05,ST5_FFDUET_TLS,ST5_ignite_contour.dat,safe,unsafe,No,,143149,https://wifire-data.sdsc.edu/data//burnpro3d/d/2f/6c/run_2f6ce426-fa9f-42e3-9d0f-c9ca6d0eda41/png/run_2f6ce426-fa9f-42e3-9d0f-c9ca6d0eda41_fuels-dens_2100_000.png +5,225,0.05,ST5_FFDUET_TLS,ST5_ignite_strip.dat,unsafe,unsafe,No,,100864,https://wifire-data.sdsc.edu/data//burnpro3d/d/3e/1e/run_3e1efd4f-9391-4afe-ada1-955de886f518/png/run_3e1efd4f-9391-4afe-ada1-955de886f518_fuels-dens_2100_000.png +5,255,0.05,ST5_FFDUET_TLS,ST5_ignite_ring.dat,unsafe,unsafe,No,,25418,https://wifire-data.sdsc.edu/data//burnpro3d/d/c7/d6/run_c7d64393-26c3-4231-a6db-c863382aac2a/png/run_c7d64393-26c3-4231-a6db-c863382aac2a_fuels-dens_2100_000.png +12,255,0.05,ST5_FF_DUET,ST5_ignite_ring.dat,unsafe,unsafe,No,,120044,https://wifire-data.sdsc.edu/data//burnpro3d/d/42/a6/run_42a64ffa-2133-4a38-9a5b-e4a06f3459eb/png/run_42a64ffa-2133-4a38-9a5b-e4a06f3459eb_fuels-dens_2100_000.png +12,255,0.05,ST5_FF_DUET,ST5_ignite_contour.dat,unsafe,unsafe,No,,168997,https://wifire-data.sdsc.edu/data//burnpro3d/d/b3/34/run_b33479a9-dec2-436a-acd5-65af833b8bc7/png/run_b33479a9-dec2-436a-acd5-65af833b8bc7_fuels-dens_2100_000.png +8,180,0.05,ST5_FFDUET_TLS,ST5_ignite_contour.dat,safe,unsafe,No,,161119,https://wifire-data.sdsc.edu/data//burnpro3d/d/f8/6f/run_f86fcafb-763e-4ad7-86be-fc2df3db2841/png/run_f86fcafb-763e-4ad7-86be-fc2df3db2841_fuels-dens_2100_000.png +8,180,0.05,ST5_FFDUET_TLS,ST5_ignite_ring.dat,unsafe,unsafe,No,,184806,https://wifire-data.sdsc.edu/data//burnpro3d/d/91/1f/run_911ffaca-8edc-4be9-99bd-f1809b7531b7/png/run_911ffaca-8edc-4be9-99bd-f1809b7531b7_fuels-dens_2100_000.png +8,180,0.05,ST5_FFDUET_TLS,ST5_ignite_strip.dat,unsafe,unsafe,No,,168167,https://wifire-data.sdsc.edu/data//burnpro3d/d/b6/d9/run_b6d95ab7-8be7-42f7-a860-6aea07adbe5a/png/run_b6d95ab7-8be7-42f7-a860-6aea07adbe5a_fuels-dens_2100_000.png +8,195,0.05,ST5_FFDUET_TLS,ST5_ignite_contour.dat,unsafe,unsafe,No,,168311,https://wifire-data.sdsc.edu/data//burnpro3d/d/08/34/run_08346a86-a2e7-48f7-bfdc-8bcb2ddb0625/png/run_08346a86-a2e7-48f7-bfdc-8bcb2ddb0625_fuels-dens_2100_000.png +5,255,0.05,ST5_FFDUET_TLS,ST5_ignite_strip.dat,safe,unsafe,No,,99404,https://wifire-data.sdsc.edu/data//burnpro3d/d/8f/b5/run_8fb5ee3f-be42-4750-85ce-02edbb54ead4/png/run_8fb5ee3f-be42-4750-85ce-02edbb54ead4_fuels-dens_2100_000.png +3,225,0.05,ST5_FFDUET_Over10m,ST5_ignite_contour.dat,safe,unsafe,No,,126441,https://wifire-data.sdsc.edu/data//burnpro3d/d/54/06/run_5406ca4b-ed0d-43ed-8c54-58f738cc0d07/png/run_5406ca4b-ed0d-43ed-8c54-58f738cc0d07_fuels-dens_2100_000.png +8,180,0.05,ST5_FF_DUET,ST5_ignite_contour.dat,safe,unsafe,No,,98928,https://wifire-data.sdsc.edu/data//burnpro3d/d/de/64/run_de646778-2c81-4744-ba77-820d56d3cda1/png/run_de646778-2c81-4744-ba77-820d56d3cda1_fuels-dens_2100_000.png +3,240,0.05,ST5_FF_DUET,ST5_ignite_contour.dat,safe,unsafe,No,,124465,https://wifire-data.sdsc.edu/data//burnpro3d/d/35/90/run_35900a02-1e3e-42a1-ae73-13718174f257/png/run_35900a02-1e3e-42a1-ae73-13718174f257_fuels-dens_2100_000.png +8,180,0.05,ST5_FFDUET_Over10m,ST5_ignite_ring.dat,safe,unsafe,No,,178349,https://wifire-data.sdsc.edu/data//burnpro3d/d/b7/7f/run_b77f836a-97cf-464e-971c-9e5dbc8742d8/png/run_b77f836a-97cf-464e-971c-9e5dbc8742d8_fuels-dens_2100_000.png +12,195,0.05,ST5_FFDUET_Over10m,ST5_ignite_contour.dat,safe,unsafe,No,,34835,https://wifire-data.sdsc.edu/data//burnpro3d/d/ed/88/run_ed88e8ab-ba7c-4ad2-a8d2-03ee04858e3e/png/run_ed88e8ab-ba7c-4ad2-a8d2-03ee04858e3e_fuels-dens_2100_000.png +12,195,0.05,ST5_FFDUET_Over10m,ST5_ignite_ring.dat,unsafe,unsafe,No,,188357,https://wifire-data.sdsc.edu/data//burnpro3d/d/e9/c9/run_e9c948a8-680c-45b2-a162-98ebe9bf1ef8/png/run_e9c948a8-680c-45b2-a162-98ebe9bf1ef8_fuels-dens_2100_000.png +12,195,0.05,ST5_FFDUET_Over10m,ST5_ignite_strip.dat,unsafe,unsafe,No,,120116,https://wifire-data.sdsc.edu/data//burnpro3d/d/89/5a/run_895a0942-6494-42e9-9eb2-fae03a75ccf2/png/run_895a0942-6494-42e9-9eb2-fae03a75ccf2_fuels-dens_2100_000.png +3,225,0.05,ST5_FF_DUET,ST5_ignite_contour.dat,safe,unsafe,No,,127413,https://wifire-data.sdsc.edu/data//burnpro3d/d/41/04/run_41043f8f-5261-4c5e-a848-e2750e14ca68/png/run_41043f8f-5261-4c5e-a848-e2750e14ca68_fuels-dens_2100_000.png +3,225,0.05,ST5_FF_DUET,ST5_ignite_strip.dat,safe,unsafe,No,,152103,https://wifire-data.sdsc.edu/data//burnpro3d/d/86/b8/run_86b88f50-1bae-4e7a-b503-6183c5073134/png/run_86b88f50-1bae-4e7a-b503-6183c5073134_fuels-dens_2100_000.png +5,255,0.05,ST5_FFDUET_Over10m,ST5_ignite_strip.dat,safe,unsafe,No,,137339,https://wifire-data.sdsc.edu/data//burnpro3d/d/6f/5d/run_6f5d6e2e-b6a5-4eb8-aa83-38b7e8b56395/png/run_6f5d6e2e-b6a5-4eb8-aa83-38b7e8b56395_fuels-dens_2100_000.png +5,255,0.05,ST5_FFDUET_Over10m,ST5_ignite_ring.dat,safe,unsafe,No,,115822,https://wifire-data.sdsc.edu/data//burnpro3d/d/06/00/run_06007942-8dbd-4851-8728-2f3ba1520613/png/run_06007942-8dbd-4851-8728-2f3ba1520613_fuels-dens_2100_000.png +12,225,0.05,ST5_FFDUET_Over10m,ST5_ignite_contour.dat,safe,unsafe,No,,171378,https://wifire-data.sdsc.edu/data//burnpro3d/d/42/ce/run_42ce04f7-04d7-4abb-9c53-abad736485b4/png/run_42ce04f7-04d7-4abb-9c53-abad736485b4_fuels-dens_2100_000.png +12,225,0.05,ST5_FFDUET_Over10m,ST5_ignite_ring.dat,unsafe,unsafe,No,,141776,https://wifire-data.sdsc.edu/data//burnpro3d/d/e8/a9/run_e8a9db20-e73e-4755-9643-bcfb1e450f95/png/run_e8a9db20-e73e-4755-9643-bcfb1e450f95_fuels-dens_2100_000.png +8,180,0.05,ST5_FFDUET_Over10m,ST5_ignite_strip.dat,unsafe,unsafe,No,,100164,https://wifire-data.sdsc.edu/data//burnpro3d/d/ff/8e/run_ff8ed838-9173-4660-b194-302b52019223/png/run_ff8ed838-9173-4660-b194-302b52019223_fuels-dens_2100_000.png +5,240,0.05,ST5_FFDUET_Over10m,ST5_ignite_strip.dat,safe,unsafe,No,,181354,https://wifire-data.sdsc.edu/data//burnpro3d/d/a5/ca/run_a5ca3f93-afa3-4455-b2b8-8359b0daed5b/png/run_a5ca3f93-afa3-4455-b2b8-8359b0daed5b_fuels-dens_2100_000.png +5,240,0.05,ST5_FFDUET_Over10m,ST5_ignite_ring.dat,unsafe,unsafe,No,,184121,https://wifire-data.sdsc.edu/data//burnpro3d/d/87/54/run_875431e2-e622-4e4f-8dbe-07e457459387/png/run_875431e2-e622-4e4f-8dbe-07e457459387_fuels-dens_2100_000.png +5,240,0.05,ST5_FFDUET_Over10m,ST5_ignite_contour.dat,safe,unsafe,No,,58274,https://wifire-data.sdsc.edu/data//burnpro3d/d/66/b2/run_66b2c158-d090-4932-a2d9-661815b4d277/png/run_66b2c158-d090-4932-a2d9-661815b4d277_fuels-dens_2100_000.png +2,255,0.05,ST5_FF_DUET,ST5_ignite_strip.dat,safe,unsafe,No,,146837,https://wifire-data.sdsc.edu/data//burnpro3d/d/a5/57/run_a5574e60-6e1e-4d42-9d30-50c6a9c3c8a4/png/run_a5574e60-6e1e-4d42-9d30-50c6a9c3c8a4_fuels-dens_2100_000.png +3,240,0.05,ST5_FF_DUET,ST5_ignite_ring.dat,safe,unsafe,No,,169628,https://wifire-data.sdsc.edu/data//burnpro3d/d/40/86/run_40869bfd-14d5-47f7-8bc0-f47e4d390c68/png/run_40869bfd-14d5-47f7-8bc0-f47e4d390c68_fuels-dens_2100_000.png +3,240,0.05,ST5_FF_DUET,ST5_ignite_strip.dat,safe,unsafe,No,,150259,https://wifire-data.sdsc.edu/data//burnpro3d/d/e4/8e/run_e48ebc64-083c-42d0-8244-d3925b7d3f55/png/run_e48ebc64-083c-42d0-8244-d3925b7d3f55_fuels-dens_2100_000.png +2,225,0.05,ST5_FF_DUET,ST5_ignite_ring.dat,safe,unsafe,No,,155294,https://wifire-data.sdsc.edu/data//burnpro3d/d/e2/50/run_e25026d7-bec6-4f48-a71f-5938934fb00a/png/run_e25026d7-bec6-4f48-a71f-5938934fb00a_fuels-dens_2100_000.png +5,225,0.05,ST5_FFDUET_Over10m,ST5_ignite_strip.dat,safe,unsafe,No,,181036,https://wifire-data.sdsc.edu/data//burnpro3d/d/7b/fa/run_7bfabe78-5fd5-4e7c-b7ea-71a0c4460ab5/png/run_7bfabe78-5fd5-4e7c-b7ea-71a0c4460ab5_fuels-dens_2100_000.png +5,225,0.05,ST5_FFDUET_Over10m,ST5_ignite_ring.dat,unsafe,unsafe,No,,187048,https://wifire-data.sdsc.edu/data//burnpro3d/d/80/ec/run_80ec6862-6a40-4142-a273-5a9a2ac686dd/png/run_80ec6862-6a40-4142-a273-5a9a2ac686dd_fuels-dens_2100_000.png +5,225,0.05,ST5_FFDUET_Over10m,ST5_ignite_contour.dat,safe,unsafe,No,,155341,https://wifire-data.sdsc.edu/data//burnpro3d/d/bd/d5/run_bdd59d1d-322f-42ed-9a7b-c0438840aad8/png/run_bdd59d1d-322f-42ed-9a7b-c0438840aad8_fuels-dens_2100_000.png +2,225,0.05,ST5_FF_DUET,ST5_ignite_contour.dat,safe,unsafe,No,,184327,https://wifire-data.sdsc.edu/data//burnpro3d/d/00/4e/run_004e4371-f3a9-42a3-9b0a-72299972116e/png/run_004e4371-f3a9-42a3-9b0a-72299972116e_fuels-dens_2100_000.png +2,225,0.05,ST5_FF_DUET,ST5_ignite_strip.dat,safe,safe,yes,,170772,https://wifire-data.sdsc.edu/data//burnpro3d/d/16/8c/run_168cb554-21b6-4179-895a-85a6d0caaa41/png/run_168cb554-21b6-4179-895a-85a6d0caaa41_fuels-dens_2100_000.png +12,225,0.05,ST5_FFDUET_Over10m,ST5_ignite_strip.dat,unsafe,unsafe,no,,186806,https://wifire-data.sdsc.edu/data//burnpro3d/d/19/58/run_195859a2-149a-4ea0-858b-94d8d5d7303b/png/run_195859a2-149a-4ea0-858b-94d8d5d7303b_fuels-dens_2100_000.png +2,240,0.05,ST5_FF_DUET,ST5_ignite_contour.dat,safe,unsafe,No,,163332,https://wifire-data.sdsc.edu/data//burnpro3d/d/80/03/run_80033c9c-cd1d-4853-b3ce-d0017b3db7c6/png/run_80033c9c-cd1d-4853-b3ce-d0017b3db7c6_fuels-dens_2100_000.png +8,195,0.05,ST5_FFDUET_Over10m,ST5_ignite_contour.dat,unsafe,unsafe,No,,34106,https://wifire-data.sdsc.edu/data//burnpro3d/d/f2/38/run_f238c486-077b-44ad-b0bd-b4fdd7cf146e/png/run_f238c486-077b-44ad-b0bd-b4fdd7cf146e_fuels-dens_2100_000.png +2,255,0.05,ST5_FF_DUET,ST5_ignite_ring.dat,safe,unsafe,No,,163672,https://wifire-data.sdsc.edu/data//burnpro3d/d/99/21/run_9921a0f5-a927-4d6c-92a6-3a102bb2e3c7/png/run_9921a0f5-a927-4d6c-92a6-3a102bb2e3c7_fuels-dens_2100_000.png +2,255,0.05,ST5_FF_DUET,ST5_ignite_contour.dat,safe,unsafe,No,,119645,https://wifire-data.sdsc.edu/data//burnpro3d/d/5c/1a/run_5c1a63e4-3de4-4fbf-a52f-57748621218d/png/run_5c1a63e4-3de4-4fbf-a52f-57748621218d_fuels-dens_2100_000.png +8,255,0.05,ST5_FFDUET_Over10m,ST5_ignite_ring.dat,unsafe,unsafe,No,,184179,https://wifire-data.sdsc.edu/data//burnpro3d/d/42/8a/run_428afd3f-d393-4748-a6ec-a212750d8271/png/run_428afd3f-d393-4748-a6ec-a212750d8271_fuels-dens_2100_000.png +8,255,0.05,ST5_FFDUET_Over10m,ST5_ignite_strip.dat,unsafe,unsafe,No,,133901,https://wifire-data.sdsc.edu/data//burnpro3d/d/49/e6/run_49e61f17-aec7-4da2-8f20-63df1391373c/png/run_49e61f17-aec7-4da2-8f20-63df1391373c_fuels-dens_2100_000.png +8,240,0.05,ST5_FFDUET_Over10m,ST5_ignite_strip.dat,unsafe,unsafe,No,,183591,https://wifire-data.sdsc.edu/data//burnpro3d/d/7d/39/run_7d39ffec-6e70-4cd4-b250-34c314878685/png/run_7d39ffec-6e70-4cd4-b250-34c314878685_fuels-dens_2100_000.png +8,240,0.05,ST5_FFDUET_Over10m,ST5_ignite_ring.dat,unsafe,unsafe,No,,184246,https://wifire-data.sdsc.edu/data//burnpro3d/d/78/0c/run_780c3399-87ad-4945-a1be-ccfe18bbc11d/png/run_780c3399-87ad-4945-a1be-ccfe18bbc11d_fuels-dens_2100_000.png +8,240,0.05,ST5_FFDUET_Over10m,ST5_ignite_contour.dat,unsafe,unsafe,No,,169494,https://wifire-data.sdsc.edu/data//burnpro3d/d/4f/45/run_4f45f27f-1712-4c80-875c-f51949021047/png/run_4f45f27f-1712-4c80-875c-f51949021047_fuels-dens_2100_000.png +3,180,0.05,ST5_FF_DUET,ST5_ignite_contour.dat,safe,unsafe,No,,129271,https://wifire-data.sdsc.edu/data//burnpro3d/d/93/d9/run_93d9ded8-0360-4e71-b288-3a62d85be3e6/png/run_93d9ded8-0360-4e71-b288-3a62d85be3e6_fuels-dens_2100_000.png +3,180,0.05,ST5_FF_DUET,ST5_ignite_ring.dat,safe,unsafe,NO,,158968,https://wifire-data.sdsc.edu/data//burnpro3d/d/e2/8c/run_e28c8469-bd15-43ed-aa81-db7f8e85e0bd/png/run_e28c8469-bd15-43ed-aa81-db7f8e85e0bd_fuels-dens_2100_000.png +3,180,0.05,ST5_FF_DUET,ST5_ignite_strip.dat,safe,unsafe,No,,153402,https://wifire-data.sdsc.edu/data//burnpro3d/d/fd/0d/run_fd0dfd15-6abf-4ab1-a266-7f6b3068cc5c/png/run_fd0dfd15-6abf-4ab1-a266-7f6b3068cc5c_fuels-dens_2100_000.png +2,240,0.05,ST5_FF_DUET,ST5_ignite_ring.dat,safe,unsafe,No,,106688,https://wifire-data.sdsc.edu/data//burnpro3d/d/01/17/run_01176c66-ae94-4a5d-bc74-312a008a3491/png/run_01176c66-ae94-4a5d-bc74-312a008a3491_fuels-dens_2100_000.png +8,225,0.05,ST5_FFDUET_Over10m,ST5_ignite_strip.dat,unsafe,unsafe,No,,185112,https://wifire-data.sdsc.edu/data//burnpro3d/d/90/98/run_9098a521-3274-480f-a92f-715027a40d4c/png/run_9098a521-3274-480f-a92f-715027a40d4c_fuels-dens_2100_000.png +8,225,0.05,ST5_FFDUET_Over10m,ST5_ignite_contour.dat,unsafe,unsafe,No,,169106,https://wifire-data.sdsc.edu/data//burnpro3d/d/51/90/run_51909ccd-425c-4f7a-8cb8-b2917ec08f77/png/run_51909ccd-425c-4f7a-8cb8-b2917ec08f77_fuels-dens_2100_000.png +12,180,0.05,ST5_FFDUET_Over10m,ST5_ignite_contour.dat,unsafe,unsafe,No,,169665,https://wifire-data.sdsc.edu/data//burnpro3d/d/b3/7f/run_b37fd7f8-f500-4515-beb5-de7292ec27b3/png/run_b37fd7f8-f500-4515-beb5-de7292ec27b3_fuels-dens_2100_000.png +3,225,0.05,ST5_FFDUET_Over10m,ST5_ignite_ring.dat,safe,unsafe,No,,145943,https://wifire-data.sdsc.edu/data//burnpro3d/d/20/df/run_20dfbd26-7d83-496a-93fa-dc1731308278/png/run_20dfbd26-7d83-496a-93fa-dc1731308278_fuels-dens_2100_000.png +12,180,0.05,ST5_FFDUET_Over10m,ST5_ignite_ring.dat,unsafe,unsafe,No,,175904,https://wifire-data.sdsc.edu/data//burnpro3d/d/bd/66/run_bd66fd42-becc-4fb2-a51d-ec3bf0fe0264/png/run_bd66fd42-becc-4fb2-a51d-ec3bf0fe0264_fuels-dens_2100_000.png +12,180,0.05,ST5_FFDUET_Over10m,ST5_ignite_strip.dat,unsafe,unsafe,No,,184825,https://wifire-data.sdsc.edu/data//burnpro3d/d/8e/7e/run_8e7e2a57-1c48-40e0-a621-e160450d736e/png/run_8e7e2a57-1c48-40e0-a621-e160450d736e_fuels-dens_2100_000.png +2,240,0.05,ST5_FF_DUET,ST5_ignite_strip.dat,safe,unsafe,No,,145179,https://wifire-data.sdsc.edu/data//burnpro3d/d/be/3f/run_be3faeff-2a9f-40f2-8c28-a51e8a7cc125/png/run_be3faeff-2a9f-40f2-8c28-a51e8a7cc125_fuels-dens_2100_000.png +8,195,0.05,ST5_FFDUET_Over10m,ST5_ignite_strip.dat,unsafe,unsafe,No,,184647,https://wifire-data.sdsc.edu/data//burnpro3d/d/93/16/run_931691c5-01cd-441e-adb2-fbf62fd78d38/png/run_931691c5-01cd-441e-adb2-fbf62fd78d38_fuels-dens_2100_000.png +8,195,0.05,ST5_FFDUET_Over10m,ST5_ignite_ring.dat,unsafe,unsafe,No,,187499,https://wifire-data.sdsc.edu/data//burnpro3d/d/c1/14/run_c1144aa8-57e7-416d-9b3e-791d5edfe964/png/run_c1144aa8-57e7-416d-9b3e-791d5edfe964_fuels-dens_2100_000.png +3,195,0.05,ST5_FF_DUET,ST5_ignite_contour.dat,safe,unsafe,No,,129086,https://wifire-data.sdsc.edu/data//burnpro3d/d/75/93/run_7593c4b8-83fe-4ec5-bb51-74792086a383/png/run_7593c4b8-83fe-4ec5-bb51-74792086a383_fuels-dens_2100_000.png +3,195,0.05,ST5_FF_DUET,ST5_ignite_ring.dat,safe,unsafe,No,,138661,https://wifire-data.sdsc.edu/data//burnpro3d/d/08/24/run_08248509-9d32-4d58-9bca-58abc841daf5/png/run_08248509-9d32-4d58-9bca-58abc841daf5_fuels-dens_2100_000.png +8,225,0.05,ST5_FFDUET_Over10m,ST5_ignite_ring.dat,unsafe,unsafe,No,,187430,https://wifire-data.sdsc.edu/data//burnpro3d/d/6b/3c/run_6b3c0fda-ba74-4f28-b298-f349e442a074/png/run_6b3c0fda-ba74-4f28-b298-f349e442a074_fuels-dens_2100_000.png +5,195,0.05,ST5_FFDUET_Over10m,ST5_ignite_strip.dat,unsafe,unsafe,No,,180051,https://wifire-data.sdsc.edu/data//burnpro3d/d/bc/ce/run_bcce4b2d-1b0d-414f-a49f-dff9291090ef/png/run_bcce4b2d-1b0d-414f-a49f-dff9291090ef_fuels-dens_2100_000.png +8,255,0.05,ST5_FFDUET_Over10m,ST5_ignite_contour.dat,unsafe,unsafe,No,,167187,https://wifire-data.sdsc.edu/data//burnpro3d/d/8a/d4/run_8ad4b06b-d192-421a-9acc-ed278ad5ab26/png/run_8ad4b06b-d192-421a-9acc-ed278ad5ab26_fuels-dens_2100_000.png +3,255,0.05,ST5_FF_DUET,ST5_ignite_ring.dat,safe,unsafe,No,,160684,https://wifire-data.sdsc.edu/data//burnpro3d/d/5a/af/run_5aaf4e36-74fc-4f27-a681-09e83d5e9a4e/png/run_5aaf4e36-74fc-4f27-a681-09e83d5e9a4e_fuels-dens_2100_000.png +5,195,0.05,ST5_FF_DUET,ST5_ignite_strip.dat,safe,unsafe,No,,180446,https://wifire-data.sdsc.edu/data//burnpro3d/d/ee/3f/run_ee3f2f19-66a3-4ad9-9f54-e0f913ac396d/png/run_ee3f2f19-66a3-4ad9-9f54-e0f913ac396d_fuels-dens_2100_000.png +2,195,0.05,ST5_FF_DUET,ST5_ignite_contour.dat,safe,unsafe,No,,115425,https://wifire-data.sdsc.edu/data//burnpro3d/d/ce/1a/run_ce1a4937-52c8-45a7-9662-96f13e5143a6/png/run_ce1a4937-52c8-45a7-9662-96f13e5143a6_fuels-dens_2100_000.png +5,180,0.05,ST5_FF_DUET,ST5_ignite_contour.dat,safe,unsafe,No,,123519,https://wifire-data.sdsc.edu/data//burnpro3d/d/22/51/run_22513dca-9887-490c-9e04-0ef0bc8cf96e/png/run_22513dca-9887-490c-9e04-0ef0bc8cf96e_fuels-dens_2100_000.png +5,180,0.05,ST5_FF_DUET,ST5_ignite_ring.dat,safe,unsafe,No,,160578,https://wifire-data.sdsc.edu/data//burnpro3d/d/18/43/run_18436fd6-f070-47a7-8bda-b18a614773c7/png/run_18436fd6-f070-47a7-8bda-b18a614773c7_fuels-dens_2100_000.png +5,195,0.05,ST5_FF_DUET,ST5_ignite_ring.dat,unsafe,unsafe,No,,186368,https://wifire-data.sdsc.edu/data//burnpro3d/d/d5/76/run_d576304c-1eaa-47ff-bc7f-77471acd9a59/png/run_d576304c-1eaa-47ff-bc7f-77471acd9a59_fuels-dens_2100_000.png +5,180,0.05,ST5_FF_DUET,ST5_ignite_strip.dat,safe,unsafe,No,,136125,https://wifire-data.sdsc.edu/data//burnpro3d/d/05/cd/run_05cd5769-48d4-45a2-912b-97e2bcf1b239/png/run_05cd5769-48d4-45a2-912b-97e2bcf1b239_fuels-dens_2100_000.png +5,195,0.05,ST5_FF_DUET,ST5_ignite_contour.dat,safe,unsafe,No,,144703,https://wifire-data.sdsc.edu/data//burnpro3d/d/7c/11/run_7c118ff0-0a8d-48de-b319-2dbbb801808f/png/run_7c118ff0-0a8d-48de-b319-2dbbb801808f_fuels-dens_2100_000.png +2,195,0.05,ST5_FF_DUET,ST5_ignite_strip.dat,safe,unsafe,No,,146215,https://wifire-data.sdsc.edu/data//burnpro3d/d/db/34/run_db34d9b0-0788-4197-8694-66e324490e70/png/run_db34d9b0-0788-4197-8694-66e324490e70_fuels-dens_2100_000.png +3,240,0.05,ST5_FFDUET_Over10m,ST5_ignite_ring.dat,safe,unsafe,No,,166514,https://wifire-data.sdsc.edu/data//burnpro3d/d/4a/18/run_4a180ac2-f91a-4fc6-a8c2-b4d529dcf921/png/run_4a180ac2-f91a-4fc6-a8c2-b4d529dcf921_fuels-dens_2100_000.png +3,240,0.05,ST5_FFDUET_Over10m,ST5_ignite_strip.dat,safe,unsafe,No,,148771,https://wifire-data.sdsc.edu/data//burnpro3d/d/39/af/run_39afc5bb-2dcd-49ca-9c6a-c50a6f0c6e5a/png/run_39afc5bb-2dcd-49ca-9c6a-c50a6f0c6e5a_fuels-dens_2100_000.png +3,255,0.05,ST5_FF_DUET,ST5_ignite_contour.dat,safe,unsafe,No,,184001,https://wifire-data.sdsc.edu/data//burnpro3d/d/9a/f9/run_9af918a3-e414-47eb-9f1b-4784be48fa34/png/run_9af918a3-e414-47eb-9f1b-4784be48fa34_fuels-dens_2100_000.png +3,255,0.05,ST5_FFDUET_Over10m,ST5_ignite_ring.dat,safe,unsafe,No,,164403,https://wifire-data.sdsc.edu/data//burnpro3d/d/f6/f9/run_f6f9eb4d-8729-4281-b561-69a830601ce3/png/run_f6f9eb4d-8729-4281-b561-69a830601ce3_fuels-dens_2100_000.png +3,255,0.05,ST5_FFDUET_Over10m,ST5_ignite_contour.dat,safe,unsafe,No,,149976,https://wifire-data.sdsc.edu/data//burnpro3d/d/74/80/run_7480314b-11c0-4739-b328-62b1328b7772/png/run_7480314b-11c0-4739-b328-62b1328b7772_fuels-dens_2100_000.png +12,255,0.05,ST5_FFDUET_Over10m,ST5_ignite_contour.dat,unsafe,unsafe,No,,111555,https://wifire-data.sdsc.edu/data//burnpro3d/d/31/b3/run_31b3e697-4f33-421c-9968-d51b84c727b4/png/run_31b3e697-4f33-421c-9968-d51b84c727b4_fuels-dens_2100_000.png +12,255,0.05,ST5_FFDUET_Over10m,ST5_ignite_ring.dat,unsafe,unsafe,No,,171062,https://wifire-data.sdsc.edu/data//burnpro3d/d/9d/cd/run_9dcd7677-3740-436e-8891-8a6f815b9bca/png/run_9dcd7677-3740-436e-8891-8a6f815b9bca_fuels-dens_2100_000.png +12,255,0.05,ST5_FFDUET_Over10m,ST5_ignite_strip.dat,unsafe,unsafe,No,,136378,https://wifire-data.sdsc.edu/data//burnpro3d/d/98/66/run_9866b1d7-c21f-4a1f-a4d7-635cf51d9b22/png/run_9866b1d7-c21f-4a1f-a4d7-635cf51d9b22_fuels-dens_2100_000.png +3,255,0.05,ST5_FFDUET_Over10m,ST5_ignite_strip.dat,safe,unsafe,No,,150988,https://wifire-data.sdsc.edu/data//burnpro3d/d/da/7e/run_da7e06ba-4f3e-49a8-8afa-6a9f197d3091/png/run_da7e06ba-4f3e-49a8-8afa-6a9f197d3091_fuels-dens_2100_000.png +5,180,0.05,ST5_FFDUET_Over10m,ST5_ignite_contour.dat,safe,unsafe,No,,69742,https://wifire-data.sdsc.edu/data//burnpro3d/d/93/4d/run_934d4c0d-2a82-42fb-940f-c7a47ec904b7/png/run_934d4c0d-2a82-42fb-940f-c7a47ec904b7_fuels-dens_2100_000.png +2,195,0.05,ST5_FF_DUET,ST5_ignite_ring.dat,safe,unsafe,No,,186873,https://wifire-data.sdsc.edu/data//burnpro3d/d/b8/05/run_b805b741-51b7-4934-bb5e-caedc949a378/png/run_b805b741-51b7-4934-bb5e-caedc949a378_fuels-dens_2100_000.png +2,180,0.05,ST5_FF_DUET,ST5_ignite_strip.dat,safe,unsafe,No,,145651,https://wifire-data.sdsc.edu/data//burnpro3d/d/0e/69/run_0e69ec6b-aaed-4876-a9a6-6c5ea1d16a2a/png/run_0e69ec6b-aaed-4876-a9a6-6c5ea1d16a2a_fuels-dens_2100_000.png +12,240,0.05,ST5_FFDUET_Over10m,ST5_ignite_contour.dat,unsafe,unsafe,No,,79827,https://wifire-data.sdsc.edu/data//burnpro3d/d/63/c9/run_63c9feb1-783e-4281-b89e-c73d8cbd07ed/png/run_63c9feb1-783e-4281-b89e-c73d8cbd07ed_fuels-dens_2100_000.png +12,240,0.05,ST5_FFDUET_Over10m,ST5_ignite_ring.dat,unsafe,unsafe,No,,174775,https://wifire-data.sdsc.edu/data//burnpro3d/d/67/1a/run_671aa2e2-5a18-419e-a1b6-01216771c5bb/png/run_671aa2e2-5a18-419e-a1b6-01216771c5bb_fuels-dens_2100_000.png +5,180,0.05,ST5_FFDUET_Over10m,ST5_ignite_ring.dat,unsafe,unsafe,No,,94662,https://wifire-data.sdsc.edu/data//burnpro3d/d/81/5a/run_815af0e9-f874-4ef8-9adc-cd69615a129e/png/run_815af0e9-f874-4ef8-9adc-cd69615a129e_fuels-dens_2100_000.png +12,240,0.05,ST5_FFDUET_Over10m,ST5_ignite_strip.dat,unsafe,unsafe,No,,124729,https://wifire-data.sdsc.edu/data//burnpro3d/d/82/b6/run_82b682a8-683d-4205-8195-3f6437e520b1/png/run_82b682a8-683d-4205-8195-3f6437e520b1_fuels-dens_2100_000.png +5,255,0.05,ST5_FFDUET_Over10m,ST5_ignite_contour.dat,safe,unsafe,no,,151556,https://wifire-data.sdsc.edu/data//burnpro3d/d/1d/4f/run_1d4f4e0d-d24e-4cf4-8458-133b0f722021/png/run_1d4f4e0d-d24e-4cf4-8458-133b0f722021_fuels-dens_2100_000.png +5,195,0.05,ST5_FFDUET_Over10m,ST5_ignite_contour.dat,safe,unsafe,No,,20445,https://wifire-data.sdsc.edu/data//burnpro3d/d/78/bd/run_78bd1025-d389-4544-b498-2b177dbba260/png/run_78bd1025-d389-4544-b498-2b177dbba260_fuels-dens_2100_000.png +5,195,0.05,ST5_FFDUET_Over10m,ST5_ignite_ring.dat,unsafe,unsafe,No,,186650,https://wifire-data.sdsc.edu/data//burnpro3d/d/03/5c/run_035cd435-efac-4fd3-b1c9-132aef242594/png/run_035cd435-efac-4fd3-b1c9-132aef242594_fuels-dens_2100_000.png +3,240,0.05,ST5_FFDUET_Over10m,ST5_ignite_contour.dat,safe,unsafe,No,,122318,https://wifire-data.sdsc.edu/data//burnpro3d/d/2c/3d/run_2c3dcce5-499e-4f3d-bd4b-9640e4e4d24e/png/run_2c3dcce5-499e-4f3d-bd4b-9640e4e4d24e_fuels-dens_2100_000.png +3,225,0.05,ST5_FFDUET_Over10m,ST5_ignite_strip.dat,safe,unsafe,No,,157608,https://wifire-data.sdsc.edu/data//burnpro3d/d/c0/da/run_c0dafa01-dd59-4c90-be67-7fa033342665/png/run_c0dafa01-dd59-4c90-be67-7fa033342665_fuels-dens_2100_000.png +2,180,0.05,ST5_FF_DUET,ST5_ignite_ring.dat,safe,unsafe,No,,151163,https://wifire-data.sdsc.edu/data//burnpro3d/d/58/cc/run_58cc9e64-469f-481d-86f9-622fbf9555a2/png/run_58cc9e64-469f-481d-86f9-622fbf9555a2_fuels-dens_2100_000.png +5,180,0.05,ST5_FFDUET_Over10m,ST5_ignite_strip.dat,safe,unsafe,No,,173494,https://wifire-data.sdsc.edu/data//burnpro3d/d/a8/c2/run_a8c27ccf-a87e-404d-b12c-d8d6d87dbdf9/png/run_a8c27ccf-a87e-404d-b12c-d8d6d87dbdf9_fuels-dens_2100_000.png +3,255,0.05,ST5_FF_DUET,ST5_ignite_strip.dat,safe,unsafe,No,,145427,https://wifire-data.sdsc.edu/data//burnpro3d/d/92/dc/run_92dc7f60-2cc3-42eb-b22e-a82af6a9605c/png/run_92dc7f60-2cc3-42eb-b22e-a82af6a9605c_fuels-dens_2100_000.png +5,240,0.1,ST5_FFDUET_TLS,ST5_ignite_ring.dat,unsafe,unsafe,No,,183813,https://wifire-data.sdsc.edu/data//burnpro3d/d/07/5c/run_075c83f7-2525-4417-acfc-447e0a5c1800/png/run_075c83f7-2525-4417-acfc-447e0a5c1800_fuels-dens_2100_000.png +12,255,0.1,ST5_FFDUET_Over10m,ST5_ignite_strip.dat,unsafe,unsafe,No,,98176,https://wifire-data.sdsc.edu/data//burnpro3d/d/62/e6/run_62e64467-a020-41f6-87c8-6d4e7653790f/png/run_62e64467-a020-41f6-87c8-6d4e7653790f_fuels-dens_2100_000.png +3,180,0.1,ST5_FFDUET_TLS,ST5_ignite_strip.dat,safe,unsafe,No,,146390,https://wifire-data.sdsc.edu/data//burnpro3d/d/1e/1b/run_1e1b35f0-3f5d-444b-b5a5-2f3876885a1b/png/run_1e1b35f0-3f5d-444b-b5a5-2f3876885a1b_fuels-dens_2100_000.png +8,180,0.1,ST5_FFDUET_TLS,ST5_ignite_contour.dat,safe,unsafe,No,,144078,https://wifire-data.sdsc.edu/data//burnpro3d/d/b6/24/run_b624475a-caca-43ad-bba1-6d2a3d8aabe3/png/run_b624475a-caca-43ad-bba1-6d2a3d8aabe3_fuels-dens_2100_000.png +8,180,0.1,ST5_FFDUET_TLS,ST5_ignite_ring.dat,unsafe,unsafe,No,,187365,https://wifire-data.sdsc.edu/data//burnpro3d/d/27/17/run_27176cfa-a66a-4167-bfba-4816285e1faa/png/run_27176cfa-a66a-4167-bfba-4816285e1faa_fuels-dens_2100_000.png +8,180,0.1,ST5_FFDUET_TLS,ST5_ignite_strip.dat,safe,unsafe,No,,118007,https://wifire-data.sdsc.edu/data//burnpro3d/d/9c/49/run_9c494f8c-ee74-4a7a-88c5-6df828bc0961/png/run_9c494f8c-ee74-4a7a-88c5-6df828bc0961_fuels-dens_2100_000.png +5,240,0.1,ST5_FFDUET_TLS,ST5_ignite_strip.dat,safe,unsafe,No,,169691,https://wifire-data.sdsc.edu/data//burnpro3d/d/13/7d/run_137d3b76-b72e-4bb8-98d7-c9965b537f2c/png/run_137d3b76-b72e-4bb8-98d7-c9965b537f2c_fuels-dens_2100_000.png +8,255,0.1,ST5_FFDUET_Over10m,ST5_ignite_contour.dat,unsafe,unsafe,No,,153853,https://wifire-data.sdsc.edu/data//burnpro3d/d/b4/7f/run_b47fe6aa-345f-4b51-8522-69290b6058bc/png/run_b47fe6aa-345f-4b51-8522-69290b6058bc_fuels-dens_2100_000.png +8,255,0.1,ST5_FFDUET_Over10m,ST5_ignite_strip.dat,unsafe,unsafe,No,,180907,https://wifire-data.sdsc.edu/data//burnpro3d/d/3f/c4/run_3fc4d186-a12a-4cb8-ac99-c6bf13b8feca/png/run_3fc4d186-a12a-4cb8-ac99-c6bf13b8feca_fuels-dens_2100_000.png +3,195,0.1,ST5_FFDUET_TLS,ST5_ignite_ring.dat,safe,unsafe,No,,163097,https://wifire-data.sdsc.edu/data//burnpro3d/d/e2/28/run_e2284392-04c8-47e2-9a11-83cc4daa0af2/png/run_e2284392-04c8-47e2-9a11-83cc4daa0af2_fuels-dens_2100_000.png +3,195,0.1,ST5_FFDUET_TLS,ST5_ignite_contour.dat,safe,unsafe,No,,98465,https://wifire-data.sdsc.edu/data//burnpro3d/d/9e/11/run_9e11fa6b-89ad-4890-9dfe-15892ddce39c/png/run_9e11fa6b-89ad-4890-9dfe-15892ddce39c_fuels-dens_2100_000.png +5,255,0.1,ST5_FFDUET_TLS,ST5_ignite_contour.dat,safe,unsafe,No,,183797,https://wifire-data.sdsc.edu/data//burnpro3d/d/aa/51/run_aa514541-dc71-44b9-80b7-6dcfb9c26062/png/run_aa514541-dc71-44b9-80b7-6dcfb9c26062_fuels-dens_2100_000.png +5,240,0.1,ST5_FFDUET_TLS,ST5_ignite_contour.dat,safe,unsafe,No,,143162,https://wifire-data.sdsc.edu/data//burnpro3d/d/40/63/run_4063734f-1dde-4c36-85a1-5370780754be/png/run_4063734f-1dde-4c36-85a1-5370780754be_fuels-dens_2100_000.png +5,255,0.1,ST5_FFDUET_TLS,ST5_ignite_ring.dat,safe,unsafe,No,,171504,https://wifire-data.sdsc.edu/data//burnpro3d/d/ed/74/run_ed74193f-0627-4cc7-87a7-67dcfc99ec72/png/run_ed74193f-0627-4cc7-87a7-67dcfc99ec72_fuels-dens_2100_000.png +8,255,0.1,ST5_FFDUET_Over10m,ST5_ignite_ring.dat,unsafe,unsafe,No,,177634,https://wifire-data.sdsc.edu/data//burnpro3d/d/31/ef/run_31ef8d4e-0dec-431a-a21e-c7e321b548fe/png/run_31ef8d4e-0dec-431a-a21e-c7e321b548fe_fuels-dens_2100_000.png +5,255,0.1,ST5_FFDUET_TLS,ST5_ignite_strip.dat,safe,unsafe,No,,115648,https://wifire-data.sdsc.edu/data//burnpro3d/d/e0/29/run_e029ec45-7776-4f73-b7a5-9e2bd250867c/png/run_e029ec45-7776-4f73-b7a5-9e2bd250867c_fuels-dens_2100_000.png +3,195,0.1,ST5_FFDUET_TLS,ST5_ignite_strip.dat,safe,unsafe,No,,130401,https://wifire-data.sdsc.edu/data//burnpro3d/d/47/ae/run_47ae71ae-ddd8-4b3a-b6f4-aa4c189296b1/png/run_47ae71ae-ddd8-4b3a-b6f4-aa4c189296b1_fuels-dens_2100_000.png +12,255,0.1,ST5_FFDUET_Over10m,ST5_ignite_ring.dat,unsafe,unsafe,No,,172805,https://wifire-data.sdsc.edu/data//burnpro3d/d/3a/5b/run_3a5b2e04-cb37-45a8-89a7-c506f4018f20/png/run_3a5b2e04-cb37-45a8-89a7-c506f4018f20_fuels-dens_2100_000.png +5,225,0.1,ST5_FFDUET_TLS,ST5_ignite_strip.dat,safe,unsafe,No,,74651,https://wifire-data.sdsc.edu/data//burnpro3d/d/cd/05/run_cd0543a2-1ed8-4845-b953-a9889f246611/png/run_cd0543a2-1ed8-4845-b953-a9889f246611_fuels-dens_2100_000.png +12,255,0.1,ST5_FFDUET_Over10m,ST5_ignite_contour.dat,unsafe,unsafe,No,,102944,https://wifire-data.sdsc.edu/data//burnpro3d/d/2f/84/run_2f845c08-d2b6-4ed5-90a3-a2bced7c46f7/png/run_2f845c08-d2b6-4ed5-90a3-a2bced7c46f7_fuels-dens_2100_000.png +3,255,0.1,ST5_FFDUET_TLS,ST5_ignite_strip.dat,safe,unsafe,No,,143176,https://wifire-data.sdsc.edu/data//burnpro3d/d/6b/20/run_6b20d72c-f849-4d71-a6b2-3ee3ffed1ceb/png/run_6b20d72c-f849-4d71-a6b2-3ee3ffed1ceb_fuels-dens_2100_000.png +12,225,0.1,ST5_FFDUET_Over10m,ST5_ignite_strip.dat,unsafe,unsafe,No,,184819,https://wifire-data.sdsc.edu/data//burnpro3d/d/fd/40/run_fd409b3e-883e-4058-9d79-fbaaea2566a8/png/run_fd409b3e-883e-4058-9d79-fbaaea2566a8_fuels-dens_2100_000.png +12,225,0.1,ST5_FFDUET_Over10m,ST5_ignite_ring.dat,unsafe,unsafe,No,,111744,https://wifire-data.sdsc.edu/data//burnpro3d/d/ad/ce/run_adced607-78cc-47ef-b95d-11bb7cecf5e5/png/run_adced607-78cc-47ef-b95d-11bb7cecf5e5_fuels-dens_2100_000.png +12,225,0.1,ST5_FFDUET_Over10m,ST5_ignite_contour.dat,unsafe,unsafe,No,,170180,https://wifire-data.sdsc.edu/data//burnpro3d/d/65/4e/run_654e512b-3077-40a1-9c54-14aa6598d6b6/png/run_654e512b-3077-40a1-9c54-14aa6598d6b6_fuels-dens_2100_000.png +3,255,0.1,ST5_FFDUET_TLS,ST5_ignite_ring.dat,safe,unsafe,No,,131205,https://wifire-data.sdsc.edu/data//burnpro3d/d/d1/d5/run_d1d5c1e3-444f-4450-a0cb-e5be0cea0b58/png/run_d1d5c1e3-444f-4450-a0cb-e5be0cea0b58_fuels-dens_2100_000.png +3,255,0.1,ST5_FFDUET_TLS,ST5_ignite_contour.dat,safe,unsafe,No,,140505,https://wifire-data.sdsc.edu/data//burnpro3d/d/f8/a8/run_f8a8a511-ec2c-4ec8-bf53-a4a608ebcc61/png/run_f8a8a511-ec2c-4ec8-bf53-a4a608ebcc61_fuels-dens_2100_000.png +5,180,0.1,ST5_FFDUET_TLS,ST5_ignite_contour.dat,safe,unsafe,No,,153069,https://wifire-data.sdsc.edu/data//burnpro3d/d/dc/9e/run_dc9e0ce4-7080-4808-a962-df35709ff42d/png/run_dc9e0ce4-7080-4808-a962-df35709ff42d_fuels-dens_2100_000.png +3,240,0.1,ST5_FFDUET_TLS,ST5_ignite_strip.dat,safe,unsafe,No,,36917,https://wifire-data.sdsc.edu/data//burnpro3d/d/d7/be/run_d7be397f-0ca9-40e4-9408-768948f09f95/png/run_d7be397f-0ca9-40e4-9408-768948f09f95_fuels-dens_2100_000.png +12,240,0.1,ST5_FFDUET_Over10m,ST5_ignite_contour.dat,unsafe,unsafe,No,,168361,https://wifire-data.sdsc.edu/data//burnpro3d/d/4c/94/run_4c94e166-6881-455c-b3af-f99c4ce18bab/png/run_4c94e166-6881-455c-b3af-f99c4ce18bab_fuels-dens_2100_000.png +5,180,0.1,ST5_FFDUET_TLS,ST5_ignite_ring.dat,safe,unsafe,No,,90853,https://wifire-data.sdsc.edu/data//burnpro3d/d/de/26/run_de2641c3-c838-45b2-a240-dd52768a81f3/png/run_de2641c3-c838-45b2-a240-dd52768a81f3_fuels-dens_2100_000.png +12,240,0.1,ST5_FFDUET_Over10m,ST5_ignite_ring.dat,unsafe,unsafe,No,,99634,https://wifire-data.sdsc.edu/data//burnpro3d/d/bf/d6/run_bfd62b03-95bd-4bf8-bb38-6f027d02912b/png/run_bfd62b03-95bd-4bf8-bb38-6f027d02912b_fuels-dens_2100_000.png +5,180,0.1,ST5_FFDUET_TLS,ST5_ignite_strip.dat,safe,unsafe,No,,94806,https://wifire-data.sdsc.edu/data//burnpro3d/d/63/ad/run_63adc5ba-1136-46a0-9713-5786c9613dcc/png/run_63adc5ba-1136-46a0-9713-5786c9613dcc_fuels-dens_2100_000.png +3,240,0.1,ST5_FFDUET_TLS,ST5_ignite_ring.dat,safe,unsafe,No,,157604,https://wifire-data.sdsc.edu/data//burnpro3d/d/af/26/run_af26879d-25ff-419e-8ad9-4463bcf0e47a/png/run_af26879d-25ff-419e-8ad9-4463bcf0e47a_fuels-dens_2100_000.png +5,195,0.1,ST5_FFDUET_TLS,ST5_ignite_contour.dat,safe,unsafe,No,,112074,https://wifire-data.sdsc.edu/data//burnpro3d/d/23/5c/run_235c1a2d-c8c8-42eb-ab93-c6419ca767cb/png/run_235c1a2d-c8c8-42eb-ab93-c6419ca767cb_fuels-dens_2100_000.png +3,240,0.1,ST5_FFDUET_TLS,ST5_ignite_contour.dat,safe,safe,Yes,,138639,https://wifire-data.sdsc.edu/data//burnpro3d/d/cf/6a/run_cf6aa4ab-5ebc-4c66-86c4-dd3240563e9d/png/run_cf6aa4ab-5ebc-4c66-86c4-dd3240563e9d_fuels-dens_2100_000.png +5,195,0.1,ST5_FFDUET_TLS,ST5_ignite_ring.dat,unsafe,unsafe,No,,184322,https://wifire-data.sdsc.edu/data//burnpro3d/d/0c/86/run_0c865be7-1920-43f4-b260-d3619119b563/png/run_0c865be7-1920-43f4-b260-d3619119b563_fuels-dens_2100_000.png +12,195,0.1,ST5_FFDUET_Over10m,ST5_ignite_strip.dat,unsafe,unsafe,No,,178378,https://wifire-data.sdsc.edu/data//burnpro3d/d/cf/93/run_cf9323b3-0091-4a19-91ce-5609e3bcd0fe/png/run_cf9323b3-0091-4a19-91ce-5609e3bcd0fe_fuels-dens_2100_000.png +12,195,0.1,ST5_FFDUET_Over10m,ST5_ignite_ring.dat,unsafe,unsafe,No,,186721,https://wifire-data.sdsc.edu/data//burnpro3d/d/37/2e/run_372ec535-eaff-4844-b147-130e28853eef/png/run_372ec535-eaff-4844-b147-130e28853eef_fuels-dens_2100_000.png +12,195,0.1,ST5_FFDUET_Over10m,ST5_ignite_contour.dat,unsafe,unsafe,No,,169553,https://wifire-data.sdsc.edu/data//burnpro3d/d/98/0c/run_980c22a9-c379-4731-9601-9fcae332e1db/png/run_980c22a9-c379-4731-9601-9fcae332e1db_fuels-dens_2100_000.png +5,195,0.1,ST5_FFDUET_TLS,ST5_ignite_strip.dat,safe,unsafe,No,,132722,https://wifire-data.sdsc.edu/data//burnpro3d/d/a6/99/run_a699e558-deec-4be5-9a7b-b6b65ef5285e/png/run_a699e558-deec-4be5-9a7b-b6b65ef5285e_fuels-dens_2100_000.png +12,240,0.1,ST5_FFDUET_Over10m,ST5_ignite_strip.dat,unsafe,unsafe,No,,183161,https://wifire-data.sdsc.edu/data//burnpro3d/d/e6/c6/run_e6c6ad9d-3873-4080-a261-2f66fdf842e6/png/run_e6c6ad9d-3873-4080-a261-2f66fdf842e6_fuels-dens_2100_000.png +3,225,0.1,ST5_FFDUET_TLS,ST5_ignite_strip.dat,safe,unsafe,No,,147937,https://wifire-data.sdsc.edu/data//burnpro3d/d/48/6c/run_486c1d87-ec2d-4213-9eb5-9d6f489a71f6/png/run_486c1d87-ec2d-4213-9eb5-9d6f489a71f6_fuels-dens_2100_000.png +5,225,0.1,ST5_FFDUET_TLS,ST5_ignite_contour.dat,safe,unsafe,NO,,183536,https://wifire-data.sdsc.edu/data//burnpro3d/d/c7/e0/run_c7e07cd4-0bda-4022-b061-cb049028e8c2/png/run_c7e07cd4-0bda-4022-b061-cb049028e8c2_fuels-dens_2100_000.png +5,225,0.1,ST5_FFDUET_TLS,ST5_ignite_ring.dat,unsafe,unsafe,No,,184006,https://wifire-data.sdsc.edu/data//burnpro3d/d/72/7d/run_727d91b9-fedb-42fc-ab4d-371b27250815/png/run_727d91b9-fedb-42fc-ab4d-371b27250815_fuels-dens_2100_000.png +12,180,0.1,ST5_FFDUET_Over10m,ST5_ignite_strip.dat,safe,unsafe,No,,181252,https://wifire-data.sdsc.edu/data//burnpro3d/d/65/87/run_6587c6bf-8e64-4395-a3fd-a920ada3b069/png/run_6587c6bf-8e64-4395-a3fd-a920ada3b069_fuels-dens_2100_000.png +3,225,0.1,ST5_FFDUET_TLS,ST5_ignite_ring.dat,safe,unsafe,No,,163857,https://wifire-data.sdsc.edu/data//burnpro3d/d/14/7b/run_147bede6-5ed7-4b7f-bf9f-4ae86b413b80/png/run_147bede6-5ed7-4b7f-bf9f-4ae86b413b80_fuels-dens_2100_000.png +3,225,0.1,ST5_FFDUET_TLS,ST5_ignite_contour.dat,safe,safe,Yes,,123618,https://wifire-data.sdsc.edu/data//burnpro3d/d/62/1f/run_621f4f7b-c9db-49f5-b687-5203f253699c/png/run_621f4f7b-c9db-49f5-b687-5203f253699c_fuels-dens_2100_000.png +12,180,0.1,ST5_FFDUET_Over10m,ST5_ignite_contour.dat,safe,unsafe,No,,163162,https://wifire-data.sdsc.edu/data//burnpro3d/d/1c/00/run_1c000f32-6399-47e6-980d-45b13afaf0c2/png/run_1c000f32-6399-47e6-980d-45b13afaf0c2_fuels-dens_2100_000.png +3,195,0.1,ST5_FFDUET_Over10m,ST5_ignite_strip.dat,safe,other,marginal,,145581,https://wifire-data.sdsc.edu/data//burnpro3d/d/26/05/run_26056bc3-b63a-4dcc-a547-aebbcaa62615/png/run_26056bc3-b63a-4dcc-a547-aebbcaa62615_fuels-dens_2100_000.png +8,255,0.1,ST5_FFDUET_TLS,ST5_ignite_ring.dat,unsafe,unsafe,No,,179193,https://wifire-data.sdsc.edu/data//burnpro3d/d/ee/08/run_ee080362-53b4-44c3-92a5-e3ce2f8beec1/png/run_ee080362-53b4-44c3-92a5-e3ce2f8beec1_fuels-dens_2100_000.png +8,195,0.1,ST5_FFDUET_TLS,ST5_ignite_contour.dat,unsafe,unsafe,No,,162667,https://wifire-data.sdsc.edu/data//burnpro3d/d/bc/2b/run_bc2b5fd4-eada-4336-8e6a-a9bb257da154/png/run_bc2b5fd4-eada-4336-8e6a-a9bb257da154_fuels-dens_2100_000.png +2,225,0.1,ST5_FFDUET_Over10m,ST5_ignite_contour.dat,safe,safe,Yes,,126190,https://wifire-data.sdsc.edu/data//burnpro3d/d/9b/91/run_9b91d9bd-909a-45aa-8f65-dbfc8953572e/png/run_9b91d9bd-909a-45aa-8f65-dbfc8953572e_fuels-dens_2100_000.png +3,255,0.1,ST5_FFDUET_Over10m,ST5_ignite_strip.dat,safe,other,marginal,,127842,https://wifire-data.sdsc.edu/data//burnpro3d/d/cc/1c/run_cc1c8e54-c2f5-4b04-aacd-7fdbd28ad4f8/png/run_cc1c8e54-c2f5-4b04-aacd-7fdbd28ad4f8_fuels-dens_2100_000.png +5,180,0.1,ST5_FFDUET_Over10m,ST5_ignite_contour.dat,safe,other,yes,,183516,https://wifire-data.sdsc.edu/data//burnpro3d/d/cf/13/run_cf13842c-e6c4-461b-ae77-8f8a9e954548/png/run_cf13842c-e6c4-461b-ae77-8f8a9e954548_fuels-dens_2100_000.png +5,180,0.1,ST5_FFDUET_Over10m,ST5_ignite_ring.dat,safe,unsafe,No,,82390,https://wifire-data.sdsc.edu/data//burnpro3d/d/53/d4/run_53d42a39-7546-460e-9b37-6cbd9e9675fc/png/run_53d42a39-7546-460e-9b37-6cbd9e9675fc_fuels-dens_2100_000.png +2,195,0.1,ST5_FFDUET_Over10m,ST5_ignite_strip.dat,safe,other,marginal,,105119,https://wifire-data.sdsc.edu/data//burnpro3d/d/f3/da/run_f3da2551-67fb-4f66-b33b-2e49bef09d7a/png/run_f3da2551-67fb-4f66-b33b-2e49bef09d7a_fuels-dens_2100_000.png +2,195,0.1,ST5_FFDUET_Over10m,ST5_ignite_ring.dat,safe,unsafe,marginal,,69255,https://wifire-data.sdsc.edu/data//burnpro3d/d/80/ad/run_80ada8f9-18b8-47c4-bc0d-3b189cfa27b0/png/run_80ada8f9-18b8-47c4-bc0d-3b189cfa27b0_fuels-dens_2100_000.png +2,195,0.1,ST5_FFDUET_Over10m,ST5_ignite_contour.dat,safe,safe,Yes,,96008,https://wifire-data.sdsc.edu/data//burnpro3d/d/a9/1c/run_a91c3dce-bb7b-4d41-bc21-679d9d73061c/png/run_a91c3dce-bb7b-4d41-bc21-679d9d73061c_fuels-dens_2100_000.png +5,180,0.1,ST5_FFDUET_Over10m,ST5_ignite_strip.dat,safe,unsafe,No,,167597,https://wifire-data.sdsc.edu/data//burnpro3d/d/03/82/run_0382e4b2-a202-466f-ad45-9b9012267422/png/run_0382e4b2-a202-466f-ad45-9b9012267422_fuels-dens_2100_000.png +2,180,0.1,ST5_FFDUET_Over10m,ST5_ignite_strip.dat,safe,safe,Yes,,182545,https://wifire-data.sdsc.edu/data//burnpro3d/d/3c/a3/run_3ca3af2f-227b-401a-8911-e550b99e2f35/png/run_3ca3af2f-227b-401a-8911-e550b99e2f35_fuels-dens_2100_000.png +2,180,0.1,ST5_FFDUET_Over10m,ST5_ignite_ring.dat,safe,other,No,,175485,https://wifire-data.sdsc.edu/data//burnpro3d/d/de/4e/run_de4edb6e-b008-43a5-938d-fa9dd4bd186e/png/run_de4edb6e-b008-43a5-938d-fa9dd4bd186e_fuels-dens_2100_000.png +2,180,0.1,ST5_FFDUET_Over10m,ST5_ignite_contour.dat,safe,safe,Yes,,120429,https://wifire-data.sdsc.edu/data//burnpro3d/d/d7/8b/run_d78b5208-b0ed-4f1c-abfb-6142ce45c631/png/run_d78b5208-b0ed-4f1c-abfb-6142ce45c631_fuels-dens_2100_000.png +5,195,0.1,ST5_FFDUET_Over10m,ST5_ignite_contour.dat,safe,unsafe,No,,116553,https://wifire-data.sdsc.edu/data//burnpro3d/d/b8/ab/run_b8ab6fda-a77e-4b4b-8a7f-0c77a88921aa/png/run_b8ab6fda-a77e-4b4b-8a7f-0c77a88921aa_fuels-dens_2100_000.png +5,195,0.1,ST5_FFDUET_Over10m,ST5_ignite_ring.dat,safe,unsafe,No,,181976,https://wifire-data.sdsc.edu/data//burnpro3d/d/0a/af/run_0aafb908-5ccb-4f32-930a-8b6ed274a104/png/run_0aafb908-5ccb-4f32-930a-8b6ed274a104_fuels-dens_2100_000.png +5,195,0.1,ST5_FFDUET_Over10m,ST5_ignite_strip.dat,safe,unsafe,No,,126738,https://wifire-data.sdsc.edu/data//burnpro3d/d/ad/56/run_ad56093a-1b10-499d-9ec0-ca595dddcd2c/png/run_ad56093a-1b10-499d-9ec0-ca595dddcd2c_fuels-dens_2100_000.png +12,255,0.1,ST5_FFDUET_TLS,ST5_ignite_contour.dat,unsafe,unsafe,No,,186750,https://wifire-data.sdsc.edu/data//burnpro3d/d/80/df/run_80df3c18-cc09-4866-89fe-4a1bdde3bc80/png/run_80df3c18-cc09-4866-89fe-4a1bdde3bc80_fuels-dens_2100_000.png +12,195,0.1,ST5_FFDUET_TLS,ST5_ignite_ring.dat,unsafe,unsafe,No,,186725,https://wifire-data.sdsc.edu/data//burnpro3d/d/e0/cd/run_e0cd0ef4-b65f-43ba-85d2-8e8f987e1ce3/png/run_e0cd0ef4-b65f-43ba-85d2-8e8f987e1ce3_fuels-dens_2100_000.png +5,225,0.1,ST5_FFDUET_Over10m,ST5_ignite_contour.dat,safe,unsafe,No,,148598,https://wifire-data.sdsc.edu/data//burnpro3d/d/e2/2c/run_e22c3c85-9050-48d7-b245-76510870d9aa/png/run_e22c3c85-9050-48d7-b245-76510870d9aa_fuels-dens_2100_000.png +2,225,0.1,ST5_FFDUET_Over10m,ST5_ignite_ring.dat,safe,unsafe,No,,146378,https://wifire-data.sdsc.edu/data//burnpro3d/d/f3/a7/run_f3a77e00-5691-43cb-be6e-e291fb2bb028/png/run_f3a77e00-5691-43cb-be6e-e291fb2bb028_fuels-dens_2100_000.png +5,225,0.1,ST5_FFDUET_Over10m,ST5_ignite_ring.dat,unsafe,unsafe,No,,96111,https://wifire-data.sdsc.edu/data//burnpro3d/d/92/16/run_92169266-412f-4dde-af88-afa4892eb910/png/run_92169266-412f-4dde-af88-afa4892eb910_fuels-dens_2100_000.png +2,225,0.1,ST5_FFDUET_Over10m,ST5_ignite_strip.dat,safe,unsafe,No,,164850,https://wifire-data.sdsc.edu/data//burnpro3d/d/c1/42/run_c142bfbb-f937-4800-96f3-8dd8dbedd57b/png/run_c142bfbb-f937-4800-96f3-8dd8dbedd57b_fuels-dens_2100_000.png +2,240,0.1,ST5_FFDUET_Over10m,ST5_ignite_contour.dat,safe,safe,Yes,,119107,https://wifire-data.sdsc.edu/data//burnpro3d/d/7f/3f/run_7f3fd02b-a2c1-4a4a-8199-fe414be5b71e/png/run_7f3fd02b-a2c1-4a4a-8199-fe414be5b71e_fuels-dens_2100_000.png +3,195,0.1,ST5_FFDUET_Over10m,ST5_ignite_ring.dat,safe,unsafe,marginal,,179862,https://wifire-data.sdsc.edu/data//burnpro3d/d/1d/bc/run_1dbcd6a9-2d6b-4113-88f9-f024382d05ae/png/run_1dbcd6a9-2d6b-4113-88f9-f024382d05ae_fuels-dens_2100_000.png +3,225,0.1,ST5_FFDUET_Over10m,ST5_ignite_contour.dat,safe,safe,Yes,,122658,https://wifire-data.sdsc.edu/data//burnpro3d/d/15/5d/run_155d0e55-bb87-4a13-acf7-5082865b208e/png/run_155d0e55-bb87-4a13-acf7-5082865b208e_fuels-dens_2100_000.png +3,225,0.1,ST5_FFDUET_Over10m,ST5_ignite_ring.dat,safe,unsafe,No,,166355,https://wifire-data.sdsc.edu/data//burnpro3d/d/a4/00/run_a4006216-5ef5-49af-947d-eeee00d48d27/png/run_a4006216-5ef5-49af-947d-eeee00d48d27_fuels-dens_2100_000.png +3,195,0.1,ST5_FFDUET_Over10m,ST5_ignite_contour.dat,safe,safe,Yes,,126337,https://wifire-data.sdsc.edu/data//burnpro3d/d/d2/45/run_d245b3f4-fc05-4f34-925b-52d9b3c47aaa/png/run_d245b3f4-fc05-4f34-925b-52d9b3c47aaa_fuels-dens_2100_000.png +3,225,0.1,ST5_FFDUET_Over10m,ST5_ignite_strip.dat,safe,other,No,,137047,https://wifire-data.sdsc.edu/data//burnpro3d/d/75/11/run_751155be-2b8d-4203-9b62-6029f65fb036/png/run_751155be-2b8d-4203-9b62-6029f65fb036_fuels-dens_2100_000.png +3,180,0.1,ST5_FFDUET_Over10m,ST5_ignite_strip.dat,safe,safe,Yes,,145650,https://wifire-data.sdsc.edu/data//burnpro3d/d/14/87/run_14878592-2c90-45c0-9947-765dd89ba2b8/png/run_14878592-2c90-45c0-9947-765dd89ba2b8_fuels-dens_2100_000.png +3,180,0.1,ST5_FFDUET_Over10m,ST5_ignite_ring.dat,safe,unsafe,No,,115521,https://wifire-data.sdsc.edu/data//burnpro3d/d/b3/3a/run_b33a5972-41f0-4a3b-9bc2-dab82c0947aa/png/run_b33a5972-41f0-4a3b-9bc2-dab82c0947aa_fuels-dens_2100_000.png +3,180,0.1,ST5_FFDUET_Over10m,ST5_ignite_contour.dat,safe,safe,Yes,,123396,https://wifire-data.sdsc.edu/data//burnpro3d/d/2b/27/run_2b27869b-3a75-416e-b87e-8aa38649f3f8/png/run_2b27869b-3a75-416e-b87e-8aa38649f3f8_fuels-dens_2100_000.png +3,240,0.1,ST5_FFDUET_Over10m,ST5_ignite_contour.dat,safe,safe,Yes,,121331,https://wifire-data.sdsc.edu/data//burnpro3d/d/7d/5e/run_7d5e5f29-91dc-4925-a3a4-a2ef29eae993/png/run_7d5e5f29-91dc-4925-a3a4-a2ef29eae993_fuels-dens_2100_000.png +3,240,0.1,ST5_FFDUET_Over10m,ST5_ignite_ring.dat,safe,unsafe,No,,160363,https://wifire-data.sdsc.edu/data//burnpro3d/d/9f/91/run_9f910bf2-6d1f-4daa-949f-3291fd63261f/png/run_9f910bf2-6d1f-4daa-949f-3291fd63261f_fuels-dens_2100_000.png +2,255,0.1,ST5_FFDUET_Over10m,ST5_ignite_strip.dat,safe,safe,Yes,,140088,https://wifire-data.sdsc.edu/data//burnpro3d/d/7e/40/run_7e409cd0-d5b7-4459-a007-24525a78a05e/png/run_7e409cd0-d5b7-4459-a007-24525a78a05e_fuels-dens_2100_000.png +2,255,0.1,ST5_FFDUET_Over10m,ST5_ignite_ring.dat,safe,other,yes,,144160,https://wifire-data.sdsc.edu/data//burnpro3d/d/69/bb/run_69bb4f44-4202-4772-a04f-d62e00cf8c9d/png/run_69bb4f44-4202-4772-a04f-d62e00cf8c9d_fuels-dens_2100_000.png +2,255,0.1,ST5_FFDUET_Over10m,ST5_ignite_contour.dat,safe,safe,Yes,,57890,https://wifire-data.sdsc.edu/data//burnpro3d/d/15/6b/run_156b0bf1-34d9-41bc-989f-c6287622316f/png/run_156b0bf1-34d9-41bc-989f-c6287622316f_fuels-dens_2100_000.png +3,240,0.1,ST5_FFDUET_Over10m,ST5_ignite_strip.dat,safe,other,No,,116385,https://wifire-data.sdsc.edu/data//burnpro3d/d/9f/c1/run_9fc1157d-9551-4195-962e-83187d35d4ba/png/run_9fc1157d-9551-4195-962e-83187d35d4ba_fuels-dens_2100_000.png +2,240,0.1,ST5_FFDUET_Over10m,ST5_ignite_strip.dat,other,safe,Yes,,141639,https://wifire-data.sdsc.edu/data//burnpro3d/d/71/a9/run_71a9277d-dd21-4957-b257-6f6048a73a64/png/run_71a9277d-dd21-4957-b257-6f6048a73a64_fuels-dens_2100_000.png +2,240,0.1,ST5_FFDUET_Over10m,ST5_ignite_ring.dat,safe,unsafe,No,,95864,https://wifire-data.sdsc.edu/data//burnpro3d/d/fb/8a/run_fb8a60bc-ddfc-4906-869c-a2745bfc3456/png/run_fb8a60bc-ddfc-4906-869c-a2745bfc3456_fuels-dens_2100_000.png +3,255,0.1,ST5_FFDUET_Over10m,ST5_ignite_contour.dat,safe,safe,Yes,,187375,https://wifire-data.sdsc.edu/data//burnpro3d/d/63/b9/run_63b9e67e-6e32-4ea1-9f94-903115bac4ee/png/run_63b9e67e-6e32-4ea1-9f94-903115bac4ee_fuels-dens_2100_000.png +3,255,0.1,ST5_FFDUET_Over10m,ST5_ignite_ring.dat,safe,unsafe,No,,155071,https://wifire-data.sdsc.edu/data//burnpro3d/d/94/63/run_946340af-38ab-4afb-9d13-6e160d3d68be/png/run_946340af-38ab-4afb-9d13-6e160d3d68be_fuels-dens_2100_000.png +8,240,0.1,ST5_FFDUET_Over10m,ST5_ignite_strip.dat,unsafe,unsafe,No,,177409,https://wifire-data.sdsc.edu/data//burnpro3d/d/bd/c0/run_bdc0d6aa-3a98-450e-99dc-c701d1436cd5/png/run_bdc0d6aa-3a98-450e-99dc-c701d1436cd5_fuels-dens_2100_000.png +5,225,0.1,ST5_FFDUET_Over10m,ST5_ignite_strip.dat,other,unsafe,marginal,,29587,https://wifire-data.sdsc.edu/data//burnpro3d/d/89/ac/run_89ac1664-26b2-425e-838b-2e149a2ff756/png/run_89ac1664-26b2-425e-838b-2e149a2ff756_fuels-dens_2100_000.png +12,255,0.1,ST5_FFDUET_TLS,ST5_ignite_ring.dat,unsafe,unsafe,No,,168593,https://wifire-data.sdsc.edu/data//burnpro3d/d/a1/bd/run_a1bd6b10-a166-448d-96d8-fac3ce78e03c/png/run_a1bd6b10-a166-448d-96d8-fac3ce78e03c_fuels-dens_2100_000.png +8,195,0.1,ST5_FFDUET_Over10m,ST5_ignite_ring.dat,unsafe,unsafe,No,,186239,https://wifire-data.sdsc.edu/data//burnpro3d/d/b5/eb/run_b5eb3156-23a5-4c07-a5da-d7257a31a368/png/run_b5eb3156-23a5-4c07-a5da-d7257a31a368_fuels-dens_2100_000.png +8,195,0.1,ST5_FFDUET_Over10m,ST5_ignite_strip.dat,unsafe,unsafe,No,,169596,https://wifire-data.sdsc.edu/data//burnpro3d/d/8f/09/run_8f097c76-3dd0-4ca7-95df-a05c721605b2/png/run_8f097c76-3dd0-4ca7-95df-a05c721605b2_fuels-dens_2100_000.png +8,255,0.1,ST5_FFDUET_TLS,ST5_ignite_strip.dat,unsafe,unsafe,No,,180289,https://wifire-data.sdsc.edu/data//burnpro3d/d/53/0b/run_530b9a77-eca4-45ea-908e-1f5ccd52502e/png/run_530b9a77-eca4-45ea-908e-1f5ccd52502e_fuels-dens_2100_000.png +8,255,0.1,ST5_FFDUET_TLS,ST5_ignite_contour.dat,unsafe,unsafe,No,,154405,https://wifire-data.sdsc.edu/data//burnpro3d/d/b9/dc/run_b9dcb37b-4012-4e4a-879b-a77f450095d1/png/run_b9dcb37b-4012-4e4a-879b-a77f450095d1_fuels-dens_2100_000.png +8,225,0.1,ST5_FFDUET_Over10m,ST5_ignite_contour.dat,unsafe,unsafe,No,,140964,https://wifire-data.sdsc.edu/data//burnpro3d/d/00/f1/run_00f19e8d-c8b8-4033-a6fe-e0709b165708/png/run_00f19e8d-c8b8-4033-a6fe-e0709b165708_fuels-dens_2100_000.png +8,240,0.1,ST5_FFDUET_TLS,ST5_ignite_strip.dat,unsafe,unsafe,No,,76719,https://wifire-data.sdsc.edu/data//burnpro3d/d/07/40/run_07404bb8-d3a9-4823-847a-35e911ef5085/png/run_07404bb8-d3a9-4823-847a-35e911ef5085_fuels-dens_2100_000.png +8,240,0.1,ST5_FFDUET_TLS,ST5_ignite_ring.dat,unsafe,unsafe,No,,110139,https://wifire-data.sdsc.edu/data//burnpro3d/d/40/c2/run_40c2a9eb-5e09-41b8-ac98-61a3acd69896/png/run_40c2a9eb-5e09-41b8-ac98-61a3acd69896_fuels-dens_2100_000.png +8,240,0.1,ST5_FFDUET_TLS,ST5_ignite_contour.dat,unsafe,unsafe,No,,166741,https://wifire-data.sdsc.edu/data//burnpro3d/d/4d/45/run_4d457d46-7dc5-4ca0-aeb0-47b7b2f5d756/png/run_4d457d46-7dc5-4ca0-aeb0-47b7b2f5d756_fuels-dens_2100_000.png +8,225,0.1,ST5_FFDUET_Over10m,ST5_ignite_ring.dat,unsafe,unsafe,No,,187104,https://wifire-data.sdsc.edu/data//burnpro3d/d/9e/7a/run_9e7a146a-59e7-4069-92ad-efea57dfd776/png/run_9e7a146a-59e7-4069-92ad-efea57dfd776_fuels-dens_2100_000.png +8,225,0.1,ST5_FFDUET_Over10m,ST5_ignite_strip.dat,unsafe,unsafe,No,,182258,https://wifire-data.sdsc.edu/data//burnpro3d/d/3f/48/run_3f480ea2-c5a0-443d-8409-d53cd59ef60b/png/run_3f480ea2-c5a0-443d-8409-d53cd59ef60b_fuels-dens_2100_000.png +8,225,0.1,ST5_FFDUET_TLS,ST5_ignite_strip.dat,unsafe,unsafe,no,,183242,https://wifire-data.sdsc.edu/data//burnpro3d/d/91/f7/run_91f73679-4cd9-45ef-a3f0-6c88294239bd/png/run_91f73679-4cd9-45ef-a3f0-6c88294239bd_fuels-dens_2100_000.png +8,225,0.1,ST5_FFDUET_TLS,ST5_ignite_ring.dat,unsafe,unsafe,no,,186696,https://wifire-data.sdsc.edu/data//burnpro3d/d/d2/b1/run_d2b1d8db-2163-4bf7-843d-2447e2b6a768/png/run_d2b1d8db-2163-4bf7-843d-2447e2b6a768_fuels-dens_2100_000.png +8,225,0.1,ST5_FFDUET_TLS,ST5_ignite_contour.dat,unsafe,unsafe,no,,165976,https://wifire-data.sdsc.edu/data//burnpro3d/d/76/51/run_7651ddec-c342-4add-883a-c1b4b2742b74/png/run_7651ddec-c342-4add-883a-c1b4b2742b74_fuels-dens_2100_000.png +8,240,0.1,ST5_FFDUET_Over10m,ST5_ignite_contour.dat,unsafe,unsafe,no,,35137,https://wifire-data.sdsc.edu/data//burnpro3d/d/47/d3/run_47d383ed-9dc7-44cc-bf01-5c183b01670c/png/run_47d383ed-9dc7-44cc-bf01-5c183b01670c_fuels-dens_2100_000.png +8,240,0.1,ST5_FFDUET_Over10m,ST5_ignite_ring.dat,unsafe,unsafe,no,,117900,https://wifire-data.sdsc.edu/data//burnpro3d/d/49/32/run_4932a718-029b-466d-a51e-82734cffb4de/png/run_4932a718-029b-466d-a51e-82734cffb4de_fuels-dens_2100_000.png +8,195,0.1,ST5_FFDUET_TLS,ST5_ignite_strip.dat,unsafe,unsafe,no,,183835,https://wifire-data.sdsc.edu/data//burnpro3d/d/5c/4c/run_5c4c8dda-158d-4786-97cf-99d5c4584284/png/run_5c4c8dda-158d-4786-97cf-99d5c4584284_fuels-dens_2100_000.png +8,195,0.1,ST5_FFDUET_TLS,ST5_ignite_ring.dat,unsafe,unsafe,no,,186545,https://wifire-data.sdsc.edu/data//burnpro3d/d/c8/02/run_c80280b9-0fdb-492a-825f-a2232803c75f/png/run_c80280b9-0fdb-492a-825f-a2232803c75f_fuels-dens_2100_000.png +8,195,0.1,ST5_FFDUET_Over10m,ST5_ignite_contour.dat,unsafe,unsafe,no,,179773,https://wifire-data.sdsc.edu/data//burnpro3d/d/e1/9b/run_e19b8a30-f627-4be3-afde-520ece1169ed/png/run_e19b8a30-f627-4be3-afde-520ece1169ed_fuels-dens_2100_000.png +12,255,0.1,ST5_FFDUET_TLS,ST5_ignite_strip.dat,unsafe,unsafe,no,,182087,https://wifire-data.sdsc.edu/data//burnpro3d/d/27/a0/run_27a0f6c1-89e6-41e7-a897-790754621912/png/run_27a0f6c1-89e6-41e7-a897-790754621912_fuels-dens_2100_000.png +12,180,0.1,ST5_FFDUET_TLS,ST5_ignite_contour.dat,safe,unsafe,marginal,,119984,https://wifire-data.sdsc.edu/data//burnpro3d/d/22/c0/run_22c0a0a0-de28-4094-85d6-f0bfe2a52883/png/run_22c0a0a0-de28-4094-85d6-f0bfe2a52883_fuels-dens_2100_000.png +12,180,0.1,ST5_FFDUET_TLS,ST5_ignite_strip.dat,unsafe,unsafe,no,,23293,https://wifire-data.sdsc.edu/data//burnpro3d/d/4b/2f/run_4b2f0427-d1be-4ad2-989e-8d9a2ab594be/png/run_4b2f0427-d1be-4ad2-989e-8d9a2ab594be_fuels-dens_2100_000.png +5,240,0.1,ST5_FFDUET_Over10m,ST5_ignite_contour.dat,safe,unsafe,yes,,118425,https://wifire-data.sdsc.edu/data//burnpro3d/d/f9/88/run_f98818eb-e0e1-40c6-b65d-4f9845981b4b/png/run_f98818eb-e0e1-40c6-b65d-4f9845981b4b_fuels-dens_2100_000.png +5,240,0.1,ST5_FFDUET_Over10m,ST5_ignite_ring.dat,unsafe,unsafe,no,,126479,https://wifire-data.sdsc.edu/data//burnpro3d/d/11/0e/run_110e7d53-5054-4efc-bf3d-026975b71f7c/png/run_110e7d53-5054-4efc-bf3d-026975b71f7c_fuels-dens_2100_000.png +5,240,0.1,ST5_FFDUET_Over10m,ST5_ignite_strip.dat,other,unsafe,marginal,,169296,https://wifire-data.sdsc.edu/data//burnpro3d/d/3a/eb/run_3aebc055-f2aa-491f-83b2-6f5fe3d9828a/png/run_3aebc055-f2aa-491f-83b2-6f5fe3d9828a_fuels-dens_2100_000.png +12,240,0.1,ST5_FFDUET_TLS,ST5_ignite_strip.dat,unsafe,unsafe,no,,183472,https://wifire-data.sdsc.edu/data//burnpro3d/d/10/76/run_1076ac76-bc3e-4550-8bb0-974a1e4633f3/png/run_1076ac76-bc3e-4550-8bb0-974a1e4633f3_fuels-dens_2100_000.png +12,240,0.1,ST5_FFDUET_TLS,ST5_ignite_ring.dat,unsafe,unsafe,no,,186048,https://wifire-data.sdsc.edu/data//burnpro3d/d/97/dd/run_97dda619-f4b7-4071-9040-225bb589f587/png/run_97dda619-f4b7-4071-9040-225bb589f587_fuels-dens_2100_000.png +12,240,0.1,ST5_FFDUET_TLS,ST5_ignite_contour.dat,unsafe,unsafe,no,,153155,https://wifire-data.sdsc.edu/data//burnpro3d/d/91/09/run_9109efad-db24-4211-92bf-43eb68be35ef/png/run_9109efad-db24-4211-92bf-43eb68be35ef_fuels-dens_2100_000.png +5,255,0.1,ST5_FFDUET_Over10m,ST5_ignite_contour.dat,other,safe,yes,,167381,https://wifire-data.sdsc.edu/data//burnpro3d/d/59/20/run_59201825-8c53-4790-ae1f-2cd57db706b4/png/run_59201825-8c53-4790-ae1f-2cd57db706b4_fuels-dens_2100_000.png +12,225,0.1,ST5_FFDUET_TLS,ST5_ignite_strip.dat,unsafe,unsafe,no,,139251,https://wifire-data.sdsc.edu/data//burnpro3d/d/c4/b0/run_c4b0ba1a-ba29-48ff-87f2-a9df253867f0/png/run_c4b0ba1a-ba29-48ff-87f2-a9df253867f0_fuels-dens_2100_000.png +12,225,0.1,ST5_FFDUET_TLS,ST5_ignite_ring.dat,unsafe,unsafe,no,,186858,https://wifire-data.sdsc.edu/data//burnpro3d/d/67/3c/run_673cfb19-301a-4600-9737-f0574f91c8be/png/run_673cfb19-301a-4600-9737-f0574f91c8be_fuels-dens_2100_000.png +5,255,0.1,ST5_FFDUET_Over10m,ST5_ignite_ring.dat,unsafe,unsafe,no,,149646,https://wifire-data.sdsc.edu/data//burnpro3d/d/ed/d0/run_edd087ee-725b-4505-a3b0-6d8f13dff91a/png/run_edd087ee-725b-4505-a3b0-6d8f13dff91a_fuels-dens_2100_000.png +5,255,0.1,ST5_FFDUET_Over10m,ST5_ignite_strip.dat,other,other,marginal,,31505,https://wifire-data.sdsc.edu/data//burnpro3d/d/3b/a6/run_3ba69d89-f279-47e0-81f6-75fd806870d9/png/run_3ba69d89-f279-47e0-81f6-75fd806870d9_fuels-dens_2100_000.png +12,225,0.1,ST5_FFDUET_TLS,ST5_ignite_contour.dat,unsafe,unsafe,no,,95958,https://wifire-data.sdsc.edu/data//burnpro3d/d/02/88/run_028873b3-aa6b-4a4f-947a-c90e032a3925/png/run_028873b3-aa6b-4a4f-947a-c90e032a3925_fuels-dens_2100_000.png +8,180,0.1,ST5_FFDUET_Over10m,ST5_ignite_contour.dat,safe,unsafe,no,,151589,https://wifire-data.sdsc.edu/data//burnpro3d/d/55/b9/run_55b929e4-89d1-4a08-8708-3133fa7143c1/png/run_55b929e4-89d1-4a08-8708-3133fa7143c1_fuels-dens_2100_000.png +8,180,0.1,ST5_FFDUET_Over10m,ST5_ignite_ring.dat,unsafe,unsafe,no,,33969,https://wifire-data.sdsc.edu/data//burnpro3d/d/41/4b/run_414b89c4-7d4a-44b7-bdd5-b2edd019fc2f/png/run_414b89c4-7d4a-44b7-bdd5-b2edd019fc2f_fuels-dens_2100_000.png +12,195,0.1,ST5_FFDUET_TLS,ST5_ignite_strip.dat,unsafe,unsafe,no,,184180,https://wifire-data.sdsc.edu/data//burnpro3d/d/be/43/run_be433426-7628-4ca5-aa65-fadbd3d4ff96/png/run_be433426-7628-4ca5-aa65-fadbd3d4ff96_fuels-dens_2100_000.png +12,195,0.1,ST5_FFDUET_TLS,ST5_ignite_contour.dat,unsafe,unsafe,no,,168641,https://wifire-data.sdsc.edu/data//burnpro3d/d/7b/77/run_7b776d41-d4e1-430c-bb67-e7b4348d2446/png/run_7b776d41-d4e1-430c-bb67-e7b4348d2446_fuels-dens_2100_000.png +8,180,0.1,ST5_FFDUET_Over10m,ST5_ignite_strip.dat,safe,unsafe,no,,153268,https://wifire-data.sdsc.edu/data//burnpro3d/d/df/07/run_df07cdef-fb9e-40cc-8714-a4ea067ea9c3/png/run_df07cdef-fb9e-40cc-8714-a4ea067ea9c3_fuels-dens_2100_000.png +12,180,0.1,ST5_FFDUET_TLS,ST5_ignite_ring.dat,unsafe,unsafe,no,,40243,https://wifire-data.sdsc.edu/data//burnpro3d/d/13/81/run_1381ca39-d8a0-40aa-8b77-8c9adc55085f/png/run_1381ca39-d8a0-40aa-8b77-8c9adc55085f_fuels-dens_2100_000.png +3,180,0.1,ST5_FFDUET_TLS,ST5_ignite_ring.dat,other,other,marginal,,131983,https://wifire-data.sdsc.edu/data//burnpro3d/d/43/06/run_430688c2-ee1c-4730-a87f-1a31fc2dd5f5/png/run_430688c2-ee1c-4730-a87f-1a31fc2dd5f5_fuels-dens_2100_000.png +12,180,0.1,ST5_FFDUET_Over10m,ST5_ignite_ring.dat,unsafe,unsafe,no,,183231,https://wifire-data.sdsc.edu/data//burnpro3d/d/98/66/run_9866714a-c501-45c8-ba87-f076794ebfa3/png/run_9866714a-c501-45c8-ba87-f076794ebfa3_fuels-dens_2100_000.png +12,195,0.1,ST5_FF_DUET,ST5_ignite_contour.dat,unsafe,unsafe,no,,168990,https://wifire-data.sdsc.edu/data//burnpro3d/d/92/78/run_92785624-80eb-4525-99c8-cfdd242478d7/png/run_92785624-80eb-4525-99c8-cfdd242478d7_fuels-dens_2100_000.png +12,225,0.1,ST5_FF_DUET,ST5_ignite_contour.dat,unsafe,unsafe,no,,95884,https://wifire-data.sdsc.edu/data//burnpro3d/d/02/59/run_025988c7-d019-4016-8a19-08e8c9c4257f/png/run_025988c7-d019-4016-8a19-08e8c9c4257f_fuels-dens_2100_000.png +8,195,0.1,ST5_FF_DUET,ST5_ignite_contour.dat,unsafe,unsafe,no,,162527,https://wifire-data.sdsc.edu/data//burnpro3d/d/b4/6f/run_b46f4524-f7e1-4abd-814d-5a645247ef3d/png/run_b46f4524-f7e1-4abd-814d-5a645247ef3d_fuels-dens_2100_000.png +8,195,0.1,ST5_FF_DUET,ST5_ignite_ring.dat,unsafe,unsafe,no,,100809,https://wifire-data.sdsc.edu/data//burnpro3d/d/df/50/run_df506c97-3b6b-42ba-a26c-e4499b408c77/png/run_df506c97-3b6b-42ba-a26c-e4499b408c77_fuels-dens_2100_000.png +2,180,0.1,ST5_FFDUET_TLS,ST5_ignite_strip.dat,safe,safe,yes,,142958,https://wifire-data.sdsc.edu/data//burnpro3d/d/6f/04/run_6f04d8f5-bdcd-4a63-96fd-0d0e7badd709/png/run_6f04d8f5-bdcd-4a63-96fd-0d0e7badd709_fuels-dens_2100_000.png +8,195,0.1,ST5_FF_DUET,ST5_ignite_strip.dat,unsafe,unsafe,no,,144230,https://wifire-data.sdsc.edu/data//burnpro3d/d/fc/31/run_fc3163bc-4d62-43c1-a4d1-bc7f48f62ba5/png/run_fc3163bc-4d62-43c1-a4d1-bc7f48f62ba5_fuels-dens_2100_000.png +5,240,0.1,ST5_FF_DUET,ST5_ignite_contour.dat,other,safe,yes,,136471,https://wifire-data.sdsc.edu/data//burnpro3d/d/e7/9d/run_e79dbbd1-da18-4516-b687-a7293dd4ce86/png/run_e79dbbd1-da18-4516-b687-a7293dd4ce86_fuels-dens_2100_000.png +3,180,0.1,ST5_FF_DUET,ST5_ignite_strip.dat,safe,safe,yes,,145373,https://wifire-data.sdsc.edu/data//burnpro3d/d/19/9a/run_199a8c35-c3f8-4de1-be7d-150c46b2a536/png/run_199a8c35-c3f8-4de1-be7d-150c46b2a536_fuels-dens_2100_000.png +3,225,0.1,ST5_FF_DUET,ST5_ignite_contour.dat,safe,safe,yes,,121783,https://wifire-data.sdsc.edu/data//burnpro3d/d/87/ed/run_87edb983-ed6d-4553-8ac1-a31a0fbf6d64/png/run_87edb983-ed6d-4553-8ac1-a31a0fbf6d64_fuels-dens_2100_000.png +8,225,0.1,ST5_FF_DUET,ST5_ignite_contour.dat,unsafe,unsafe,no,,168251,https://wifire-data.sdsc.edu/data//burnpro3d/d/e9/05/run_e9051709-c722-4799-a426-5c9857c5092c/png/run_e9051709-c722-4799-a426-5c9857c5092c_fuels-dens_2100_000.png +5,225,0.1,ST5_FF_DUET,ST5_ignite_strip.dat,safe,unsafe,marginal,,164756,https://wifire-data.sdsc.edu/data//burnpro3d/d/e5/58/run_e5584b0e-ffff-4981-8e95-f23e83dca8c8/png/run_e5584b0e-ffff-4981-8e95-f23e83dca8c8_fuels-dens_2100_000.png +2,195,0.1,ST5_FFDUET_TLS,ST5_ignite_contour.dat,safe,safe,yes ,,91506,https://wifire-data.sdsc.edu/data//burnpro3d/d/b4/4e/run_b44e4fd5-042e-4467-abe6-8866607a876b/png/run_b44e4fd5-042e-4467-abe6-8866607a876b_fuels-dens_2100_000.png +2,195,0.1,ST5_FFDUET_TLS,ST5_ignite_ring.dat,other,safe,yes,,147045,https://wifire-data.sdsc.edu/data//burnpro3d/d/f1/0a/run_f10a667b-79f3-4347-a52a-e6c24804fb87/png/run_f10a667b-79f3-4347-a52a-e6c24804fb87_fuels-dens_2100_000.png +2,195,0.1,ST5_FFDUET_TLS,ST5_ignite_strip.dat,safe,safe,yes,,143124,https://wifire-data.sdsc.edu/data//burnpro3d/d/4c/bf/run_4cbf14d2-b769-4c0c-8e45-400475d49c65/png/run_4cbf14d2-b769-4c0c-8e45-400475d49c65_fuels-dens_2100_000.png +5,225,0.1,ST5_FF_DUET,ST5_ignite_ring.dat,unsafe,unsafe,no,,184638,https://wifire-data.sdsc.edu/data//burnpro3d/d/80/f6/run_80f60eb4-28c4-49d6-872a-eae15185ab70/png/run_80f60eb4-28c4-49d6-872a-eae15185ab70_fuels-dens_2100_000.png +5,225,0.1,ST5_FF_DUET,ST5_ignite_contour.dat,other,unsafe,no,,157710,https://wifire-data.sdsc.edu/data//burnpro3d/d/0d/74/run_0d7480ee-d2a0-4529-b468-2fbefa28267f/png/run_0d7480ee-d2a0-4529-b468-2fbefa28267f_fuels-dens_2100_000.png +3,225,0.1,ST5_FF_DUET,ST5_ignite_ring.dat,unsafe,other,no,,138458,https://wifire-data.sdsc.edu/data//burnpro3d/d/47/c3/run_47c3bc80-970e-4f22-8906-9aefae899223/png/run_47c3bc80-970e-4f22-8906-9aefae899223_fuels-dens_2100_000.png +12,195,0.1,ST5_FF_DUET,ST5_ignite_strip.dat,unsafe,unsafe,no,,184001,https://wifire-data.sdsc.edu/data//burnpro3d/d/62/a4/run_62a4756d-1132-447d-930b-eb7a5532fbfb/png/run_62a4756d-1132-447d-930b-eb7a5532fbfb_fuels-dens_2100_000.png +12,195,0.1,ST5_FF_DUET,ST5_ignite_ring.dat,unsafe,unsafe,no,,186889,https://wifire-data.sdsc.edu/data//burnpro3d/d/da/df/run_dadfe442-2a28-4396-852b-b81cd19d94ef/png/run_dadfe442-2a28-4396-852b-b81cd19d94ef_fuels-dens_2100_000.png +12,240,0.1,ST5_FF_DUET,ST5_ignite_contour.dat,unsafe,unsafe,no,,135959,https://wifire-data.sdsc.edu/data//burnpro3d/d/a8/a5/run_a8a58624-64a9-4bc0-8695-1b6906728497/png/run_a8a58624-64a9-4bc0-8695-1b6906728497_fuels-dens_2100_000.png +8,225,0.1,ST5_FF_DUET,ST5_ignite_ring.dat,unsafe,unsafe,no,,187155,https://wifire-data.sdsc.edu/data//burnpro3d/d/9c/d6/run_9cd6eda1-5e4b-4db1-a359-e588879c88a2/png/run_9cd6eda1-5e4b-4db1-a359-e588879c88a2_fuels-dens_2100_000.png +8,225,0.1,ST5_FF_DUET,ST5_ignite_strip.dat,unsafe,unsafe,no,,159926,https://wifire-data.sdsc.edu/data//burnpro3d/d/a5/20/run_a520752a-8077-4f44-8730-998a076ec471/png/run_a520752a-8077-4f44-8730-998a076ec471_fuels-dens_2100_000.png +2,195,0.1,ST5_FF_DUET,ST5_ignite_strip.dat,safe,safe,yes,,143572,https://wifire-data.sdsc.edu/data//burnpro3d/d/20/32/run_20322f23-c388-4105-9ad8-474b5e244a56/png/run_20322f23-c388-4105-9ad8-474b5e244a56_fuels-dens_2100_000.png +2,225,0.1,ST5_FFDUET_TLS,ST5_ignite_contour.dat,safe,safe,yes,,124237,https://wifire-data.sdsc.edu/data//burnpro3d/d/41/ad/run_41ad0b5e-f4bf-4e06-ba88-7326a15a20d9/png/run_41ad0b5e-f4bf-4e06-ba88-7326a15a20d9_fuels-dens_2100_000.png +5,240,0.1,ST5_FF_DUET,ST5_ignite_ring.dat,unsafe,unsafe,no,,182913,https://wifire-data.sdsc.edu/data//burnpro3d/d/93/2d/run_932d1aaf-c240-4ce8-8311-cf3d9a38ae6e/png/run_932d1aaf-c240-4ce8-8311-cf3d9a38ae6e_fuels-dens_2100_000.png +2,225,0.1,ST5_FFDUET_TLS,ST5_ignite_ring.dat,safe,safe,no,,148480,https://wifire-data.sdsc.edu/data//burnpro3d/d/f9/23/run_f923862d-36d6-4764-87e7-f07a0143b2e2/png/run_f923862d-36d6-4764-87e7-f07a0143b2e2_fuels-dens_2100_000.png +2,225,0.1,ST5_FF_DUET,ST5_ignite_contour.dat,safe,safe,yes,,118436,https://wifire-data.sdsc.edu/data//burnpro3d/d/a5/93/run_a5932f18-d2fb-4320-9447-d7d3068cc2c6/png/run_a5932f18-d2fb-4320-9447-d7d3068cc2c6_fuels-dens_2100_000.png +2,180,0.1,ST5_FFDUET_TLS,ST5_ignite_contour.dat,safe,safe,yes,,120088,https://wifire-data.sdsc.edu/data//burnpro3d/d/65/e8/run_65e883c4-79e1-4de4-8863-10c05e95628f/png/run_65e883c4-79e1-4de4-8863-10c05e95628f_fuels-dens_2100_000.png +12,240,0.1,ST5_FF_DUET,ST5_ignite_ring.dat,unsafe,unsafe,no,,185170,https://wifire-data.sdsc.edu/data//burnpro3d/d/8e/ef/run_8eef95db-e50e-4521-826a-7f9f9c9df122/png/run_8eef95db-e50e-4521-826a-7f9f9c9df122_fuels-dens_2100_000.png +8,180,0.1,ST5_FF_DUET,ST5_ignite_strip.dat,unsafe,unsafe,no,,180964,https://wifire-data.sdsc.edu/data//burnpro3d/d/ac/18/run_ac187245-153d-40fd-a2d1-3e67cc74480a/png/run_ac187245-153d-40fd-a2d1-3e67cc74480a_fuels-dens_2100_000.png +3,195,0.1,ST5_FF_DUET,ST5_ignite_contour.dat,safe,safe,yes,,124461,https://wifire-data.sdsc.edu/data//burnpro3d/d/7d/32/run_7d32ec66-002f-4fda-b8d2-3e782f24ac0a/png/run_7d32ec66-002f-4fda-b8d2-3e782f24ac0a_fuels-dens_2100_000.png +8,180,0.1,ST5_FF_DUET,ST5_ignite_contour.dat,safe,unsafe,marginal,,143118,https://wifire-data.sdsc.edu/data//burnpro3d/d/c7/d0/run_c7d0f50d-6516-4064-81c8-dbde16c75ce6/png/run_c7d0f50d-6516-4064-81c8-dbde16c75ce6_fuels-dens_2100_000.png +3,180,0.1,ST5_FFDUET_TLS,ST5_ignite_contour.dat,safe,safe,yes,,186431,https://wifire-data.sdsc.edu/data//burnpro3d/d/83/54/run_8354fd07-1aba-4cf0-b39e-6a1d0f3e2eb2/png/run_8354fd07-1aba-4cf0-b39e-6a1d0f3e2eb2_fuels-dens_2100_000.png +12,240,0.1,ST5_FF_DUET,ST5_ignite_strip.dat,unsafe,unsafe,no,,29444,https://wifire-data.sdsc.edu/data//burnpro3d/d/7a/31/run_7a31d74f-efd8-4984-846e-6fd57549891f/png/run_7a31d74f-efd8-4984-846e-6fd57549891f_fuels-dens_2100_000.png +2,240,0.1,ST5_FF_DUET,ST5_ignite_contour.dat,safe,safe,yes,,119009,https://wifire-data.sdsc.edu/data//burnpro3d/d/59/c9/run_59c929f2-9305-4839-9971-85b73d684591/png/run_59c929f2-9305-4839-9971-85b73d684591_fuels-dens_2100_000.png +5,255,0.1,ST5_FF_DUET,ST5_ignite_strip.dat,unsafe,unsafe,marginal,,159929,https://wifire-data.sdsc.edu/data//burnpro3d/d/d8/3c/run_d83c19d1-2a65-4fb4-907e-219cce7a617c/png/run_d83c19d1-2a65-4fb4-907e-219cce7a617c_fuels-dens_2100_000.png +2,225,0.1,ST5_FF_DUET,ST5_ignite_strip.dat,safe,safe,yes,,98081,https://wifire-data.sdsc.edu/data//burnpro3d/d/76/c7/run_76c7dc20-e7e7-4e18-b7a5-1c2a90b63f27/png/run_76c7dc20-e7e7-4e18-b7a5-1c2a90b63f27_fuels-dens_2100_000.png +5,255,0.1,ST5_FF_DUET,ST5_ignite_ring.dat,unsafe,unsafe,no,,103862,https://wifire-data.sdsc.edu/data//burnpro3d/d/45/ea/run_45ea02f4-4fe2-4f59-bbf2-5b6dbe2d1c0b/png/run_45ea02f4-4fe2-4f59-bbf2-5b6dbe2d1c0b_fuels-dens_2100_000.png +5,255,0.1,ST5_FF_DUET,ST5_ignite_contour.dat,other,safe,yes,,125000,https://wifire-data.sdsc.edu/data//burnpro3d/d/98/06/run_980697a0-a3b4-40b5-9451-33c722dc5b69/png/run_980697a0-a3b4-40b5-9451-33c722dc5b69_fuels-dens_2100_000.png +3,195,0.1,ST5_FF_DUET,ST5_ignite_ring.dat,safe,unsafe,marginal,,121708,https://wifire-data.sdsc.edu/data//burnpro3d/d/1c/38/run_1c38c125-a753-4147-9844-b91f6986ba24/png/run_1c38c125-a753-4147-9844-b91f6986ba24_fuels-dens_2100_000.png +12,255,0.1,ST5_FF_DUET,ST5_ignite_contour.dat,unsafe,unsafe,no,fire outside of burn unit,121208,https://wifire-data.sdsc.edu/data//burnpro3d/d/fa/25/run_fa25a739-0508-4553-916f-6f0fada1a7e1/png/run_fa25a739-0508-4553-916f-6f0fada1a7e1_fuels-dens_2100_000.png +12,255,0.1,ST5_FF_DUET,ST5_ignite_ring.dat,unsafe,unsafe,no,,180087,https://wifire-data.sdsc.edu/data//burnpro3d/d/a8/20/run_a8205410-a279-4b6c-8d96-66c88d25b09a/png/run_a8205410-a279-4b6c-8d96-66c88d25b09a_fuels-dens_2100_000.png +12,255,0.1,ST5_FF_DUET,ST5_ignite_strip.dat,unsafe,unsafe,no,,181057,https://wifire-data.sdsc.edu/data//burnpro3d/d/fe/bd/run_febdb192-930e-4fc1-9e70-83007aa47425/png/run_febdb192-930e-4fc1-9e70-83007aa47425_fuels-dens_2100_000.png +3,195,0.1,ST5_FF_DUET,ST5_ignite_strip.dat,safe,safe,yes,,75726,https://wifire-data.sdsc.edu/data//burnpro3d/d/7c/45/run_7c457822-a68d-43a6-a6b5-526ccb04833f/png/run_7c457822-a68d-43a6-a6b5-526ccb04833f_fuels-dens_2100_000.png +12,225,0.1,ST5_FF_DUET,ST5_ignite_strip.dat,safe,unsafe,no,,147065,https://wifire-data.sdsc.edu/data//burnpro3d/d/f6/c3/run_f6c3f1f8-47fc-4f5a-9b7c-ba140ce753ad/png/run_f6c3f1f8-47fc-4f5a-9b7c-ba140ce753ad_fuels-dens_2100_000.png +12,225,0.1,ST5_FF_DUET,ST5_ignite_ring.dat,unsafe,unsafe,no,,169751,https://wifire-data.sdsc.edu/data//burnpro3d/d/b9/b3/run_b9b3a6ca-f025-4070-93ae-e582a87ecfc8/png/run_b9b3a6ca-f025-4070-93ae-e582a87ecfc8_fuels-dens_2100_000.png +2,255,0.1,ST5_FF_DUET,ST5_ignite_strip.dat,safe,safe,yes,,185471,https://wifire-data.sdsc.edu/data//burnpro3d/d/59/cb/run_59cb02f9-fff0-42bd-9631-4faa9e80582d/png/run_59cb02f9-fff0-42bd-9631-4faa9e80582d_fuels-dens_2100_000.png +2,240,0.1,ST5_FF_DUET,ST5_ignite_ring.dat,safe,safe,yes,,136328,https://wifire-data.sdsc.edu/data//burnpro3d/d/de/dc/run_dedc91cf-d888-4e14-9137-3cc0f8b98de3/png/run_dedc91cf-d888-4e14-9137-3cc0f8b98de3_fuels-dens_2100_000.png +2,240,0.1,ST5_FF_DUET,ST5_ignite_strip.dat,safe,safe,yes,,143326,https://wifire-data.sdsc.edu/data//burnpro3d/d/dc/b8/run_dcb85f6c-9405-4e48-96a9-d77f17363b6c/png/run_dcb85f6c-9405-4e48-96a9-d77f17363b6c_fuels-dens_2100_000.png +5,240,0.1,ST5_FF_DUET,ST5_ignite_strip.dat,safe,other,yes,,166736,https://wifire-data.sdsc.edu/data//burnpro3d/d/fb/56/run_fb56f483-bf86-4342-a98f-c7c4084b461b/png/run_fb56f483-bf86-4342-a98f-c7c4084b461b_fuels-dens_2100_000.png +2,225,0.1,ST5_FF_DUET,ST5_ignite_ring.dat,safe,safe,yes,,176602,https://wifire-data.sdsc.edu/data//burnpro3d/d/89/db/run_89dba2c7-50cc-4197-bd20-a8c4494ab249/png/run_89dba2c7-50cc-4197-bd20-a8c4494ab249_fuels-dens_2100_000.png +2,180,0.1,ST5_FFDUET_TLS,ST5_ignite_ring.dat,safe,safe,yes,,121308,https://wifire-data.sdsc.edu/data//burnpro3d/d/ae/d3/run_aed3d067-1a4e-484e-8c70-a27344db5ea5/png/run_aed3d067-1a4e-484e-8c70-a27344db5ea5_fuels-dens_2100_000.png +2,195,0.1,ST5_FF_DUET,ST5_ignite_ring.dat,safe,safe,yes,,146817,https://wifire-data.sdsc.edu/data//burnpro3d/d/12/7e/run_127e8928-b463-4946-95c2-4910518a206c/png/run_127e8928-b463-4946-95c2-4910518a206c_fuels-dens_2100_000.png +8,180,0.1,ST5_FF_DUET,ST5_ignite_ring.dat,unsafe,unsafe,no,,167579,https://wifire-data.sdsc.edu/data//burnpro3d/d/29/7c/run_297ca4d1-86aa-4e67-83a7-a16d7e4e4e44/png/run_297ca4d1-86aa-4e67-83a7-a16d7e4e4e44_fuels-dens_2100_000.png +5,195,0.1,ST5_FF_DUET,ST5_ignite_strip.dat,safe,other,yes,,170960,https://wifire-data.sdsc.edu/data//burnpro3d/d/7d/4f/run_7d4f26c7-d6b1-4676-b93f-1e185eca1740/png/run_7d4f26c7-d6b1-4676-b93f-1e185eca1740_fuels-dens_2100_000.png +5,180,0.1,ST5_FF_DUET,ST5_ignite_ring.dat,unsafe,other,yes,,170114,https://wifire-data.sdsc.edu/data//burnpro3d/d/80/3c/run_803c65d6-6f6a-4357-89d2-51532fa8f391/png/run_803c65d6-6f6a-4357-89d2-51532fa8f391_fuels-dens_2100_000.png +5,180,0.1,ST5_FF_DUET,ST5_ignite_contour.dat,safe,safe,yes,,46606,https://wifire-data.sdsc.edu/data//burnpro3d/d/b0/49/run_b049f5d2-167c-4821-83d3-3d4a97c7d835/png/run_b049f5d2-167c-4821-83d3-3d4a97c7d835_fuels-dens_2100_000.png +2,195,0.1,ST5_FF_DUET,ST5_ignite_contour.dat,safe,safe,yes,,115831,https://wifire-data.sdsc.edu/data//burnpro3d/d/03/b3/run_03b3541b-caa9-44b9-86ca-58d9ef94b375/png/run_03b3541b-caa9-44b9-86ca-58d9ef94b375_fuels-dens_2100_000.png +8,240,0.1,ST5_FF_DUET,ST5_ignite_strip.dat,unsafe,unsafe,no,,182054,https://wifire-data.sdsc.edu/data//burnpro3d/d/91/14/run_9114392b-3d6e-42cf-9291-f83ad6b6b84f/png/run_9114392b-3d6e-42cf-9291-f83ad6b6b84f_fuels-dens_2100_000.png +3,240,0.1,ST5_FF_DUET,ST5_ignite_contour.dat,safe,safe,yes,,119563,https://wifire-data.sdsc.edu/data//burnpro3d/d/b1/2b/run_b12b8213-1303-4249-8757-53df29665e8e/png/run_b12b8213-1303-4249-8757-53df29665e8e_fuels-dens_2100_000.png +2,180,0.1,ST5_FF_DUET,ST5_ignite_strip.dat,safe,safe,yes,,142698,https://wifire-data.sdsc.edu/data//burnpro3d/d/ab/de/run_abde19d1-2cc1-47c0-875b-9e5dcd533f11/png/run_abde19d1-2cc1-47c0-875b-9e5dcd533f11_fuels-dens_2100_000.png +2,255,0.1,ST5_FFDUET_TLS,ST5_ignite_contour.dat,safe,safe,yes,,180688,https://wifire-data.sdsc.edu/data//burnpro3d/d/36/85/run_36853043-3dfa-4dd1-8d2c-500b1a3f3411/png/run_36853043-3dfa-4dd1-8d2c-500b1a3f3411_fuels-dens_2100_000.png +2,255,0.1,ST5_FFDUET_TLS,ST5_ignite_ring.dat,safe,safe,yes,,146376,https://wifire-data.sdsc.edu/data//burnpro3d/d/a3/eb/run_a3eb2338-707c-41ef-831b-4762d4448b68/png/run_a3eb2338-707c-41ef-831b-4762d4448b68_fuels-dens_2100_000.png +3,255,0.1,ST5_FF_DUET,ST5_ignite_strip.dat,safe,safe,yes,,186489,https://wifire-data.sdsc.edu/data//burnpro3d/d/c7/e6/run_c7e6002e-c635-4309-9826-ba29e426c0e8/png/run_c7e6002e-c635-4309-9826-ba29e426c0e8_fuels-dens_2100_000.png +5,180,0.1,ST5_FF_DUET,ST5_ignite_strip.dat,safe,safe,yes,,158589,https://wifire-data.sdsc.edu/data//burnpro3d/d/99/5e/run_995e4a17-c59e-4296-8d00-8cf728bef29e/png/run_995e4a17-c59e-4296-8d00-8cf728bef29e_fuels-dens_2100_000.png +3,255,0.1,ST5_FF_DUET,ST5_ignite_ring.dat,other,other,yes,,154692,https://wifire-data.sdsc.edu/data//burnpro3d/d/cf/b4/run_cfb41412-a9cb-423a-972f-a62b367cab96/png/run_cfb41412-a9cb-423a-972f-a62b367cab96_fuels-dens_2100_000.png +2,255,0.1,ST5_FF_DUET,ST5_ignite_ring.dat,safe,safe,yes,,156458,https://wifire-data.sdsc.edu/data//burnpro3d/d/28/0a/run_280a5d1b-6a62-4bb3-a5c0-aeb88f6ec185/png/run_280a5d1b-6a62-4bb3-a5c0-aeb88f6ec185_fuels-dens_2100_000.png +3,240,0.1,ST5_FF_DUET,ST5_ignite_ring.dat,other,other,yes,,159277,https://wifire-data.sdsc.edu/data//burnpro3d/d/77/23/run_7723d707-41a0-4297-a018-7ca70371a0f8/png/run_7723d707-41a0-4297-a018-7ca70371a0f8_fuels-dens_2100_000.png +3,240,0.1,ST5_FF_DUET,ST5_ignite_strip.dat,safe,safe,yes,,119960,https://wifire-data.sdsc.edu/data//burnpro3d/d/13/14/run_131421cc-65e9-4706-b77a-8ddc588e0d21/png/run_131421cc-65e9-4706-b77a-8ddc588e0d21_fuels-dens_2100_000.png +3,255,0.1,ST5_FF_DUET,ST5_ignite_contour.dat,safe,safe,yes,,30119,https://wifire-data.sdsc.edu/data//burnpro3d/d/c8/fb/run_c8fb33a3-a1fb-4674-ad3e-6146f990478e/png/run_c8fb33a3-a1fb-4674-ad3e-6146f990478e_fuels-dens_2100_000.png +2,180,0.1,ST5_FF_DUET,ST5_ignite_ring.dat,safe,safe,yes,,183917,https://wifire-data.sdsc.edu/data//burnpro3d/d/dc/fd/run_dcfda2e3-cf63-47cc-b73d-1aec15b8bdf0/png/run_dcfda2e3-cf63-47cc-b73d-1aec15b8bdf0_fuels-dens_2100_000.png +2,180,0.1,ST5_FF_DUET,ST5_ignite_contour.dat,safe,safe,yes,,170074,https://wifire-data.sdsc.edu/data//burnpro3d/d/ff/61/run_ff610d15-af45-470a-a8a7-25f3d8a788e8/png/run_ff610d15-af45-470a-a8a7-25f3d8a788e8_fuels-dens_2100_000.png +8,255,0.1,ST5_FF_DUET,ST5_ignite_strip.dat,unsafe,unsafe,no,,180038,https://wifire-data.sdsc.edu/data//burnpro3d/d/d8/26/run_d8269c04-348d-47bf-8f40-59d451b9d7d4/png/run_d8269c04-348d-47bf-8f40-59d451b9d7d4_fuels-dens_2100_000.png +8,255,0.1,ST5_FF_DUET,ST5_ignite_ring.dat,unsafe,unsafe,no,,54659,https://wifire-data.sdsc.edu/data//burnpro3d/d/1e/b8/run_1eb84123-c65c-4eba-8ef0-a52256bdfb8c/png/run_1eb84123-c65c-4eba-8ef0-a52256bdfb8c_fuels-dens_2100_000.png +8,255,0.1,ST5_FF_DUET,ST5_ignite_contour.dat,unsafe,other,yes,,105349,https://wifire-data.sdsc.edu/data//burnpro3d/d/3a/33/run_3a338175-6502-45a6-9827-54e6d191a55f/png/run_3a338175-6502-45a6-9827-54e6d191a55f_fuels-dens_2100_000.png +2,255,0.1,ST5_FFDUET_TLS,ST5_ignite_strip.dat,safe,safe,yes,,24096,https://wifire-data.sdsc.edu/data//burnpro3d/d/1c/3e/run_1c3eaea3-aae6-48eb-a2c0-42798fc798b5/png/run_1c3eaea3-aae6-48eb-a2c0-42798fc798b5_fuels-dens_2100_000.png +2,240,0.1,ST5_FFDUET_TLS,ST5_ignite_strip.dat,safe,safe,yes,,142847,https://wifire-data.sdsc.edu/data//burnpro3d/d/1a/9e/run_1a9e521f-4152-4b22-829b-ca4fb7108e04/png/run_1a9e521f-4152-4b22-829b-ca4fb7108e04_fuels-dens_2100_000.png +8,240,0.1,ST5_FF_DUET,ST5_ignite_ring.dat,unsafe,unsafe,no,,113885,https://wifire-data.sdsc.edu/data//burnpro3d/d/2f/cf/run_2fcf3d1d-c424-4d45-8526-8c773d41e338/png/run_2fcf3d1d-c424-4d45-8526-8c773d41e338_fuels-dens_2100_000.png +12,180,0.1,ST5_FF_DUET,ST5_ignite_contour.dat,safe,unsafe,no,,164439,https://wifire-data.sdsc.edu/data//burnpro3d/d/66/0e/run_660e42f1-7ac8-4f62-b488-7b71d81198b1/png/run_660e42f1-7ac8-4f62-b488-7b71d81198b1_fuels-dens_2100_000.png +12,180,0.1,ST5_FF_DUET,ST5_ignite_ring.dat,unsafe,unsafe,no,,183204,https://wifire-data.sdsc.edu/data//burnpro3d/d/e5/d5/run_e5d59bf5-dc8d-4443-9451-2c84b4520dbd/png/run_e5d59bf5-dc8d-4443-9451-2c84b4520dbd_fuels-dens_2100_000.png +5,195,0.1,ST5_FF_DUET,ST5_ignite_contour.dat,safe,safe,yes,,137936,https://wifire-data.sdsc.edu/data//burnpro3d/d/72/2f/run_722f51e4-daca-4764-a10b-f2a9f091fdca/png/run_722f51e4-daca-4764-a10b-f2a9f091fdca_fuels-dens_2100_000.png +2,225,0.1,ST5_FFDUET_TLS,ST5_ignite_strip.dat,safe,safe,yes,,131262,https://wifire-data.sdsc.edu/data//burnpro3d/d/f7/ad/run_f7adc337-6fdb-4799-bef6-56c9a865635c/png/run_f7adc337-6fdb-4799-bef6-56c9a865635c_fuels-dens_2100_000.png +2,255,0.1,ST5_FF_DUET,ST5_ignite_contour.dat,safe,safe,yes,,119156,https://wifire-data.sdsc.edu/data//burnpro3d/d/3d/3e/run_3d3e1104-6795-40f0-a221-0a997f019059/png/run_3d3e1104-6795-40f0-a221-0a997f019059_fuels-dens_2100_000.png +2,240,0.1,ST5_FFDUET_TLS,ST5_ignite_contour.dat,safe,safe,yes,,25361,https://wifire-data.sdsc.edu/data//burnpro3d/d/59/ef/run_59ef109e-9f1e-40f7-85e5-f3ada6eaef66/png/run_59ef109e-9f1e-40f7-85e5-f3ada6eaef66_fuels-dens_2100_000.png +8,240,0.1,ST5_FF_DUET,ST5_ignite_contour.dat,unsafe,unsafe,no,,115109,https://wifire-data.sdsc.edu/data//burnpro3d/d/f6/a8/run_f6a8ffc6-6c6e-4d56-88d6-fd4ae6219d7e/png/run_f6a8ffc6-6c6e-4d56-88d6-fd4ae6219d7e_fuels-dens_2100_000.png +3,225,0.1,ST5_FF_DUET,ST5_ignite_strip.dat,safe,safe,yes,,147275,https://wifire-data.sdsc.edu/data//burnpro3d/d/8f/50/run_8f507f54-6878-4d3f-a7cf-28bc52203aec/png/run_8f507f54-6878-4d3f-a7cf-28bc52203aec_fuels-dens_2100_000.png +3,180,0.1,ST5_FF_DUET,ST5_ignite_contour.dat,safe,safe,yes,,123499,https://wifire-data.sdsc.edu/data//burnpro3d/d/ea/32/run_ea3294bc-cdfe-4e8c-930a-22bc68c2e9ab/png/run_ea3294bc-cdfe-4e8c-930a-22bc68c2e9ab_fuels-dens_2100_000.png +3,180,0.1,ST5_FF_DUET,ST5_ignite_ring.dat,safe,safe,yes,,167673,https://wifire-data.sdsc.edu/data//burnpro3d/d/9b/23/run_9b239284-8d5b-4467-9ad1-93d5e594156e/png/run_9b239284-8d5b-4467-9ad1-93d5e594156e_fuels-dens_2100_000.png +5,195,0.1,ST5_FF_DUET,ST5_ignite_ring.dat,other,unsafe,no,,181862,https://wifire-data.sdsc.edu/data//burnpro3d/d/06/8b/run_068b2c1d-7959-47c9-a370-7b9abf54f4fc/png/run_068b2c1d-7959-47c9-a370-7b9abf54f4fc_fuels-dens_2100_000.png +2,240,0.1,ST5_FFDUET_TLS,ST5_ignite_ring.dat,safe,safe,yes,,37895,https://wifire-data.sdsc.edu/data//burnpro3d/d/87/43/run_8743c8a6-7e34-49b4-83dc-57e932e792cc/png/run_8743c8a6-7e34-49b4-83dc-57e932e792cc_fuels-dens_2100_000.png +12,180,0.1,ST5_FF_DUET,ST5_ignite_strip.dat,safe,unsafe,yes,,180817,https://wifire-data.sdsc.edu/data//burnpro3d/d/97/92/run_9792738d-9364-4a8e-9ce5-366a75315c26/png/run_9792738d-9364-4a8e-9ce5-366a75315c26_fuels-dens_2100_000.png +12,225,0.2,ST5_FFDUET_TLS,ST5_ignite_strip.dat,unsafe,unsafe,no,,180067,https://wifire-data.sdsc.edu/data//burnpro3d/d/48/0c/run_480c1e22-c4dc-46b6-a079-082215f35a39/png/run_480c1e22-c4dc-46b6-a079-082215f35a39_fuels-dens_2100_000.png +3,180,0.2,ST5_FF_DUET,ST5_ignite_ring.dat,safe,safe,yes,,142943,https://wifire-data.sdsc.edu/data//burnpro3d/d/be/2f/run_be2f9a71-da30-42fa-a5ae-282aff46a9ee/png/run_be2f9a71-da30-42fa-a5ae-282aff46a9ee_fuels-dens_2100_000.png +12,255,0.2,ST5_FFDUET_TLS,ST5_ignite_strip.dat,other,unsafe,yes,,170245,https://wifire-data.sdsc.edu/data//burnpro3d/d/79/04/run_790491ad-e768-4a10-836a-d85a405c00cc/png/run_790491ad-e768-4a10-836a-d85a405c00cc_fuels-dens_2100_000.png +2,180,0.2,ST5_FFDUET_Over10m,ST5_ignite_strip.dat,safe,safe,yes,,150666,https://wifire-data.sdsc.edu/data//burnpro3d/d/c4/4a/run_c44ac9b8-aab8-48a1-a78a-b5b2b06089be/png/run_c44ac9b8-aab8-48a1-a78a-b5b2b06089be_fuels-dens_2100_000.png +8,195,0.2,ST5_FFDUET_Over10m,ST5_ignite_contour.dat,safe,other,yes,,139328,https://wifire-data.sdsc.edu/data//burnpro3d/d/9a/35/run_9a35a74c-c230-43b7-986d-f93c8b99f8e8/png/run_9a35a74c-c230-43b7-986d-f93c8b99f8e8_fuels-dens_2100_000.png +8,195,0.2,ST5_FF_DUET,ST5_ignite_strip.dat,safe,other,yes,,112534,https://wifire-data.sdsc.edu/data//burnpro3d/d/d7/3b/run_d73ba491-e813-42d5-9f35-d44d6ab663cd/png/run_d73ba491-e813-42d5-9f35-d44d6ab663cd_fuels-dens_2100_000.png +3,180,0.2,ST5_FF_DUET,ST5_ignite_strip.dat,safe,safe,yes,,141703,https://wifire-data.sdsc.edu/data//burnpro3d/d/54/52/run_54525164-50d3-47ca-8d10-3aa4e7fd454a/png/run_54525164-50d3-47ca-8d10-3aa4e7fd454a_fuels-dens_2100_000.png +8,180,0.2,ST5_FF_DUET,ST5_ignite_strip.dat,safe,other,yes,,157380,https://wifire-data.sdsc.edu/data//burnpro3d/d/4f/9f/run_4f9f2349-1c9d-4817-bed4-4d16fb97e5f6/png/run_4f9f2349-1c9d-4817-bed4-4d16fb97e5f6_fuels-dens_2100_000.png +12,195,0.2,ST5_FF_DUET,ST5_ignite_contour.dat,safe,unsafe,yes,,159995,https://wifire-data.sdsc.edu/data//burnpro3d/d/ee/95/run_ee95fb3a-954c-4f13-afed-fef314da1180/png/run_ee95fb3a-954c-4f13-afed-fef314da1180_fuels-dens_2100_000.png +8,180,0.2,ST5_FF_DUET,ST5_ignite_ring.dat,other,unsafe,yes,,175739,https://wifire-data.sdsc.edu/data//burnpro3d/d/29/8a/run_298ae4cf-8e2a-433c-b6b3-228da47e54fb/png/run_298ae4cf-8e2a-433c-b6b3-228da47e54fb_fuels-dens_2100_000.png +8,225,0.2,ST5_FF_DUET,ST5_ignite_contour.dat,safe,unsafe,yes,,160137,https://wifire-data.sdsc.edu/data//burnpro3d/d/55/2b/run_552b0771-e373-4102-bdc7-21de3e8232e9/png/run_552b0771-e373-4102-bdc7-21de3e8232e9_fuels-dens_2100_000.png +8,180,0.2,ST5_FF_DUET,ST5_ignite_contour.dat,safe,safe,yes,,129414,https://wifire-data.sdsc.edu/data//burnpro3d/d/eb/07/run_eb072e3c-bc0c-4eab-94a6-5faa3d0fd841/png/run_eb072e3c-bc0c-4eab-94a6-5faa3d0fd841_fuels-dens_2100_000.png +8,225,0.2,ST5_FF_DUET,ST5_ignite_ring.dat,unsafe,unsafe,no,,184830,https://wifire-data.sdsc.edu/data//burnpro3d/d/74/db/run_74db0e2d-48bc-45eb-a0ca-931da5111b8c/png/run_74db0e2d-48bc-45eb-a0ca-931da5111b8c_fuels-dens_2100_000.png +12,225,0.2,ST5_FFDUET_TLS,ST5_ignite_ring.dat,unsafe,unsafe,no,,168999,https://wifire-data.sdsc.edu/data//burnpro3d/d/18/8d/run_188d8474-7f4c-4eef-a411-30294fefaa36/png/run_188d8474-7f4c-4eef-a411-30294fefaa36_fuels-dens_2100_000.png +2,255,0.2,ST5_FF_DUET,ST5_ignite_ring.dat,safe,safe,yes,,42026,https://wifire-data.sdsc.edu/data//burnpro3d/d/3c/e5/run_3ce5f2c7-75a1-404d-8d1c-93f99e847478/png/run_3ce5f2c7-75a1-404d-8d1c-93f99e847478_fuels-dens_2100_000.png +8,240,0.2,ST5_FF_DUET,ST5_ignite_strip.dat,safe,unsafe,yes,,137059,https://wifire-data.sdsc.edu/data//burnpro3d/d/0b/03/run_0b030870-324f-4db0-9792-728543acaff5/png/run_0b030870-324f-4db0-9792-728543acaff5_fuels-dens_2100_000.png +2,255,0.2,ST5_FF_DUET,ST5_ignite_strip.dat,safe,safe,yes,,136358,https://wifire-data.sdsc.edu/data//burnpro3d/d/28/89/run_2889855b-1b35-457d-8417-f9d101de3503/png/run_2889855b-1b35-457d-8417-f9d101de3503_fuels-dens_2100_000.png +8,195,0.2,ST5_FF_DUET,ST5_ignite_ring.dat,unsafe,unsafe,marginal,,186887,https://wifire-data.sdsc.edu/data//burnpro3d/d/46/eb/run_46ebecc1-3c2b-4930-aed9-766bc601dd54/png/run_46ebecc1-3c2b-4930-aed9-766bc601dd54_fuels-dens_2100_000.png +12,255,0.2,ST5_FFDUET_TLS,ST5_ignite_contour.dat,unsafe,unsafe,yes,,154706,https://wifire-data.sdsc.edu/data//burnpro3d/d/4c/4e/run_4c4eebdd-69df-4e01-a748-d0a030598e4d/png/run_4c4eebdd-69df-4e01-a748-d0a030598e4d_fuels-dens_2100_000.png +8,195,0.2,ST5_FF_DUET,ST5_ignite_contour.dat,safe,safe,yes,,151524,https://wifire-data.sdsc.edu/data//burnpro3d/d/e8/6d/run_e86dcc79-35d8-4d9d-b49e-e4e4bc1e9b17/png/run_e86dcc79-35d8-4d9d-b49e-e4e4bc1e9b17_fuels-dens_2100_000.png +5,255,0.2,ST5_FFDUET_TLS,ST5_ignite_strip.dat,safe,safe,yes,,146313,https://wifire-data.sdsc.edu/data//burnpro3d/d/25/a6/run_25a67b21-236e-4434-8126-ed83e1ce4291/png/run_25a67b21-236e-4434-8126-ed83e1ce4291_fuels-dens_2100_000.png +8,225,0.2,ST5_FFDUET_Over10m,ST5_ignite_strip.dat,safe,unsafe,yes,,152529,https://wifire-data.sdsc.edu/data//burnpro3d/d/47/58/run_475827f3-9e03-4976-92be-7b79fae2012b/png/run_475827f3-9e03-4976-92be-7b79fae2012b_fuels-dens_2100_000.png +12,240,0.2,ST5_FFDUET_TLS,ST5_ignite_strip.dat,unsafe,unsafe,no,,177055,https://wifire-data.sdsc.edu/data//burnpro3d/d/87/c9/run_87c90482-6919-4f5b-bfde-61eed8eb3b36/png/run_87c90482-6919-4f5b-bfde-61eed8eb3b36_fuels-dens_2100_000.png +12,240,0.2,ST5_FFDUET_TLS,ST5_ignite_ring.dat,unsafe,unsafe,no,,126350,https://wifire-data.sdsc.edu/data//burnpro3d/d/c4/f4/run_c4f411cd-f563-4b5a-9424-c0962698a7dc/png/run_c4f411cd-f563-4b5a-9424-c0962698a7dc_fuels-dens_2100_000.png +12,240,0.2,ST5_FFDUET_TLS,ST5_ignite_contour.dat,unsafe,unsafe,yes,,38915,https://wifire-data.sdsc.edu/data//burnpro3d/d/5a/d2/run_5ad24156-41a4-4797-9378-60a94de97acb/png/run_5ad24156-41a4-4797-9378-60a94de97acb_fuels-dens_2100_000.png +12,255,0.2,ST5_FFDUET_TLS,ST5_ignite_ring.dat,unsafe,unsafe,no,,164761,https://wifire-data.sdsc.edu/data//burnpro3d/d/70/89/run_7089a160-550c-4fbc-ae4d-6d3ddf760aff/png/run_7089a160-550c-4fbc-ae4d-6d3ddf760aff_fuels-dens_2100_000.png +8,225,0.2,ST5_FFDUET_Over10m,ST5_ignite_ring.dat,unsafe,unsafe,no,,184967,https://wifire-data.sdsc.edu/data//burnpro3d/d/9f/5a/run_9f5a6df9-2a51-4a2d-9a9c-f04bebd2cd0c/png/run_9f5a6df9-2a51-4a2d-9a9c-f04bebd2cd0c_fuels-dens_2100_000.png +8,195,0.2,ST5_FFDUET_Over10m,ST5_ignite_strip.dat,safe,unsafe,yes,,108569,https://wifire-data.sdsc.edu/data//burnpro3d/d/e7/6a/run_e76a47f1-4992-4084-b17a-624f6a55fc8e/png/run_e76a47f1-4992-4084-b17a-624f6a55fc8e_fuels-dens_2100_000.png +8,225,0.2,ST5_FFDUET_Over10m,ST5_ignite_contour.dat,safe,unsafe,yes,,155468,https://wifire-data.sdsc.edu/data//burnpro3d/d/d2/a9/run_d2a908cc-8581-4b6d-a9d4-cb1e9d44daa9/png/run_d2a908cc-8581-4b6d-a9d4-cb1e9d44daa9_fuels-dens_2100_000.png +8,195,0.2,ST5_FFDUET_Over10m,ST5_ignite_ring.dat,unsafe,unsafe,yes,,41464,https://wifire-data.sdsc.edu/data//burnpro3d/d/c9/9a/run_c99adad6-95cc-4121-b19b-1fded2880c83/png/run_c99adad6-95cc-4121-b19b-1fded2880c83_fuels-dens_2100_000.png +8,225,0.2,ST5_FF_DUET,ST5_ignite_strip.dat,safe,unsafe,no,,100625,https://wifire-data.sdsc.edu/data//burnpro3d/d/11/fd/run_11fddae1-0e69-416b-b07c-f141638b8592/png/run_11fddae1-0e69-416b-b07c-f141638b8592_fuels-dens_2100_000.png +2,180,0.2,ST5_FFDUET_Over10m,ST5_ignite_contour.dat,safe,safe,yes,,134132,https://wifire-data.sdsc.edu/data//burnpro3d/d/82/09/run_82091b9d-aa4e-4bd1-886b-7d3336481a1a/png/run_82091b9d-aa4e-4bd1-886b-7d3336481a1a_fuels-dens_2100_000.png +2,180,0.2,ST5_FFDUET_Over10m,ST5_ignite_ring.dat,safe,safe,yes,,141322,https://wifire-data.sdsc.edu/data//burnpro3d/d/31/60/run_3160b0d4-d304-47e8-b3a8-a3af5a0c7202/png/run_3160b0d4-d304-47e8-b3a8-a3af5a0c7202_fuels-dens_2100_000.png +8,240,0.2,ST5_FF_DUET,ST5_ignite_ring.dat,unsafe,unsafe,no,,142421,https://wifire-data.sdsc.edu/data//burnpro3d/d/d0/4a/run_d04a9c9c-ee77-412e-8a0d-746cb543efa4/png/run_d04a9c9c-ee77-412e-8a0d-746cb543efa4_fuels-dens_2100_000.png +3,180,0.2,ST5_FF_DUET,ST5_ignite_contour.dat,safe,safe,yes,,177045,https://wifire-data.sdsc.edu/data//burnpro3d/d/64/d9/run_64d9265f-eae8-4cc0-b8bf-044aa6568712/png/run_64d9265f-eae8-4cc0-b8bf-044aa6568712_fuels-dens_2100_000.png +8,240,0.2,ST5_FF_DUET,ST5_ignite_contour.dat,other,unsafe,yes,,185369,https://wifire-data.sdsc.edu/data//burnpro3d/d/ab/3e/run_ab3e0263-081a-4ae8-90b2-5f38d5f9c278/png/run_ab3e0263-081a-4ae8-90b2-5f38d5f9c278_fuels-dens_2100_000.png +5,255,0.2,ST5_FF_DUET,ST5_ignite_ring.dat,other,safe,yes,,144589,https://wifire-data.sdsc.edu/data//burnpro3d/d/0c/b1/run_0cb1956c-110f-4dca-83ae-32a1fd91b293/png/run_0cb1956c-110f-4dca-83ae-32a1fd91b293_fuels-dens_2100_000.png +3,195,0.2,ST5_FF_DUET,ST5_ignite_ring.dat,safe,safe,yes,,147014,https://wifire-data.sdsc.edu/data//burnpro3d/d/3c/4a/run_3c4aeddf-0058-4045-b437-445e60964bbd/png/run_3c4aeddf-0058-4045-b437-445e60964bbd_fuels-dens_2100_000.png +2,195,0.2,ST5_FFDUET_Over10m,ST5_ignite_ring.dat,safe,safe,yes,,163290,https://wifire-data.sdsc.edu/data//burnpro3d/d/36/7b/run_367becf7-a351-4be5-8e3a-563e46566e80/png/run_367becf7-a351-4be5-8e3a-563e46566e80_fuels-dens_2100_000.png +5,195,0.2,ST5_FF_DUET,ST5_ignite_ring.dat,safe,other,yes,,156231,https://wifire-data.sdsc.edu/data//burnpro3d/d/09/39/run_0939b302-f698-4a3b-8f50-611ee9f4c541/png/run_0939b302-f698-4a3b-8f50-611ee9f4c541_fuels-dens_2100_000.png +5,195,0.2,ST5_FF_DUET,ST5_ignite_contour.dat,safe,safe,yes,,98354,https://wifire-data.sdsc.edu/data//burnpro3d/d/6f/2e/run_6f2eda50-d18e-4658-bb4e-0159b4d1fdc0/png/run_6f2eda50-d18e-4658-bb4e-0159b4d1fdc0_fuels-dens_2100_000.png +3,225,0.2,ST5_FFDUET_Over10m,ST5_ignite_contour.dat,safe,safe,yes,,98453,https://wifire-data.sdsc.edu/data//burnpro3d/d/41/3c/run_413c5ea6-68d1-45a4-84dc-5fbdbadde4c6/png/run_413c5ea6-68d1-45a4-84dc-5fbdbadde4c6_fuels-dens_2100_000.png +3,225,0.2,ST5_FFDUET_Over10m,ST5_ignite_ring.dat,safe,safe,yes,,148796,https://wifire-data.sdsc.edu/data//burnpro3d/d/d5/d2/run_d5d243f8-6e09-4305-981e-469fa16ed044/png/run_d5d243f8-6e09-4305-981e-469fa16ed044_fuels-dens_2100_000.png +3,225,0.2,ST5_FFDUET_Over10m,ST5_ignite_strip.dat,safe,safe,yes,,63095,https://wifire-data.sdsc.edu/data//burnpro3d/d/45/b6/run_45b64640-c36e-417e-892d-cb4d82ec6bb7/png/run_45b64640-c36e-417e-892d-cb4d82ec6bb7_fuels-dens_2100_000.png +5,240,0.2,ST5_FFDUET_Over10m,ST5_ignite_contour.dat,safe,safe,yes,,137170,https://wifire-data.sdsc.edu/data//burnpro3d/d/78/6b/run_786be0ce-9be7-4891-8b01-2c0d7361e127/png/run_786be0ce-9be7-4891-8b01-2c0d7361e127_fuels-dens_2100_000.png +3,225,0.2,ST5_FF_DUET,ST5_ignite_contour.dat,safe,safe,yes,,117377,https://wifire-data.sdsc.edu/data//burnpro3d/d/ed/5c/run_ed5c8f83-da6f-4e28-8330-8e7f4b011eac/png/run_ed5c8f83-da6f-4e28-8330-8e7f4b011eac_fuels-dens_2100_000.png +3,225,0.2,ST5_FF_DUET,ST5_ignite_ring.dat,safe,safe,yes,,145117,https://wifire-data.sdsc.edu/data//burnpro3d/d/1e/be/run_1ebedcad-46ea-46d5-9cd8-6dea4be2e718/png/run_1ebedcad-46ea-46d5-9cd8-6dea4be2e718_fuels-dens_2100_000.png +3,225,0.2,ST5_FF_DUET,ST5_ignite_strip.dat,safe,safe,yes,,105882,https://wifire-data.sdsc.edu/data//burnpro3d/d/86/23/run_8623f484-60a3-4b8d-85f2-1d003a30f48a/png/run_8623f484-60a3-4b8d-85f2-1d003a30f48a_fuels-dens_2100_000.png +5,180,0.2,ST5_FF_DUET,ST5_ignite_strip.dat,safe,safe,yes,,177169,https://wifire-data.sdsc.edu/data//burnpro3d/d/6c/2e/run_6c2ebbd4-7371-4a8e-a57c-dd29dc9ce56e/png/run_6c2ebbd4-7371-4a8e-a57c-dd29dc9ce56e_fuels-dens_2100_000.png +5,180,0.2,ST5_FF_DUET,ST5_ignite_ring.dat,other,safe,yes,,150735,https://wifire-data.sdsc.edu/data//burnpro3d/d/45/97/run_4597cc95-c8f5-4420-a893-dd1205020f91/png/run_4597cc95-c8f5-4420-a893-dd1205020f91_fuels-dens_2100_000.png +3,240,0.2,ST5_FFDUET_Over10m,ST5_ignite_contour.dat,safe,safe,yes,,112383,https://wifire-data.sdsc.edu/data//burnpro3d/d/7e/b4/run_7eb4c666-99f5-412d-809b-995a6a1a8383/png/run_7eb4c666-99f5-412d-809b-995a6a1a8383_fuels-dens_2100_000.png +3,240,0.2,ST5_FFDUET_Over10m,ST5_ignite_ring.dat,safe,safe,yes,,181744,https://wifire-data.sdsc.edu/data//burnpro3d/d/cd/69/run_cd697629-00a5-41e6-a7c1-689584a39e12/png/run_cd697629-00a5-41e6-a7c1-689584a39e12_fuels-dens_2100_000.png +3,240,0.2,ST5_FFDUET_Over10m,ST5_ignite_strip.dat,safe,safe,yes,,95605,https://wifire-data.sdsc.edu/data//burnpro3d/d/68/68/run_68682549-f77f-4f4c-9259-7281aa963f4b/png/run_68682549-f77f-4f4c-9259-7281aa963f4b_fuels-dens_2100_000.png +5,180,0.2,ST5_FF_DUET,ST5_ignite_contour.dat,safe,safe,yes,,73731,https://wifire-data.sdsc.edu/data//burnpro3d/d/f4/7b/run_f47b0f4d-aa61-4f11-b1cf-d2cc4a494bdd/png/run_f47b0f4d-aa61-4f11-b1cf-d2cc4a494bdd_fuels-dens_2100_000.png +5,225,0.2,ST5_FFDUET_Over10m,ST5_ignite_strip.dat,safe,other,yes,,154885,https://wifire-data.sdsc.edu/data//burnpro3d/d/d4/b9/run_d4b9f9a6-a5ca-46e7-80fe-1e73471af009/png/run_d4b9f9a6-a5ca-46e7-80fe-1e73471af009_fuels-dens_2100_000.png +3,255,0.2,ST5_FFDUET_Over10m,ST5_ignite_contour.dat,safe,safe,yes,,123004,https://wifire-data.sdsc.edu/data//burnpro3d/d/dd/02/run_dd020b41-cbfc-4e34-bebb-3d2e3ac00680/png/run_dd020b41-cbfc-4e34-bebb-3d2e3ac00680_fuels-dens_2100_000.png +5,195,0.2,ST5_FFDUET_Over10m,ST5_ignite_contour.dat,safe,safe,yes,,127210,https://wifire-data.sdsc.edu/data//burnpro3d/d/47/db/run_47dbbf22-7689-4e58-bf38-cd3a75aa4299/png/run_47dbbf22-7689-4e58-bf38-cd3a75aa4299_fuels-dens_2100_000.png +3,240,0.2,ST5_FF_DUET,ST5_ignite_strip.dat,safe,safe,yes,,40425,https://wifire-data.sdsc.edu/data//burnpro3d/d/b3/b2/run_b3b2c71d-1517-46c0-818c-1c6019f43091/png/run_b3b2c71d-1517-46c0-818c-1c6019f43091_fuels-dens_2100_000.png +3,240,0.2,ST5_FF_DUET,ST5_ignite_ring.dat,safe,safe,yes,,107817,https://wifire-data.sdsc.edu/data//burnpro3d/d/ae/13/run_ae13cc80-1dc2-43fe-b35f-20b71aa2fbce/png/run_ae13cc80-1dc2-43fe-b35f-20b71aa2fbce_fuels-dens_2100_000.png +3,240,0.2,ST5_FF_DUET,ST5_ignite_contour.dat,safe,safe,yes,,116716,https://wifire-data.sdsc.edu/data//burnpro3d/d/cd/85/run_cd858d9c-ee63-410f-a382-0114f52b49e9/png/run_cd858d9c-ee63-410f-a382-0114f52b49e9_fuels-dens_2100_000.png +5,180,0.2,ST5_FFDUET_Over10m,ST5_ignite_strip.dat,safe,safe,yes,,147788,https://wifire-data.sdsc.edu/data//burnpro3d/d/d8/ce/run_d8cebc83-4c30-411a-ae91-4c0639fadee6/png/run_d8cebc83-4c30-411a-ae91-4c0639fadee6_fuels-dens_2100_000.png +5,180,0.2,ST5_FFDUET_Over10m,ST5_ignite_ring.dat,other,other,yes,,156048,https://wifire-data.sdsc.edu/data//burnpro3d/d/cb/bb/run_cbbb3d35-0600-46a1-acee-cf34ce9f185f/png/run_cbbb3d35-0600-46a1-acee-cf34ce9f185f_fuels-dens_2100_000.png +5,195,0.2,ST5_FF_DUET,ST5_ignite_strip.dat,safe,other,yes,,152882,https://wifire-data.sdsc.edu/data//burnpro3d/d/5d/43/run_5d43ffef-57cd-4047-855b-f2f83a304d80/png/run_5d43ffef-57cd-4047-855b-f2f83a304d80_fuels-dens_2100_000.png +5,180,0.2,ST5_FFDUET_Over10m,ST5_ignite_contour.dat,safe,safe,yes,,122904,https://wifire-data.sdsc.edu/data//burnpro3d/d/a5/46/run_a5464da0-d694-411e-a998-7104a87c6c05/png/run_a5464da0-d694-411e-a998-7104a87c6c05_fuels-dens_2100_000.png +3,255,0.2,ST5_FF_DUET,ST5_ignite_ring.dat,safe,safe,yes,,180253,https://wifire-data.sdsc.edu/data//burnpro3d/d/f5/77/run_f5771dfb-f1de-4225-9d2a-d33594075f4b/png/run_f5771dfb-f1de-4225-9d2a-d33594075f4b_fuels-dens_2100_000.png +3,255,0.2,ST5_FF_DUET,ST5_ignite_strip.dat,safe,safe,yes,,138134,https://wifire-data.sdsc.edu/data//burnpro3d/d/c2/5a/run_c25aec56-3acf-4280-8dd0-5e5a130aec40/png/run_c25aec56-3acf-4280-8dd0-5e5a130aec40_fuels-dens_2100_000.png +5,225,0.2,ST5_FFDUET_Over10m,ST5_ignite_contour.dat,safe,safe,yes,,129426,https://wifire-data.sdsc.edu/data//burnpro3d/d/b1/2e/run_b12ea46a-ad94-4570-adfd-18e783a73fd9/png/run_b12ea46a-ad94-4570-adfd-18e783a73fd9_fuels-dens_2100_000.png +5,225,0.2,ST5_FFDUET_Over10m,ST5_ignite_ring.dat,unsafe,unsafe,no,,33400,https://wifire-data.sdsc.edu/data//burnpro3d/d/80/b5/run_80b50a18-8004-4111-85a6-9d20f77aea56/png/run_80b50a18-8004-4111-85a6-9d20f77aea56_fuels-dens_2100_000.png +3,255,0.2,ST5_FFDUET_Over10m,ST5_ignite_strip.dat,safe,safe,yes,,137059,https://wifire-data.sdsc.edu/data//burnpro3d/d/43/98/run_4398f537-314d-4dc7-ab0c-fb179876adf1/png/run_4398f537-314d-4dc7-ab0c-fb179876adf1_fuels-dens_2100_000.png +3,255,0.2,ST5_FFDUET_Over10m,ST5_ignite_ring.dat,safe,safe,yes,,77898,https://wifire-data.sdsc.edu/data//burnpro3d/d/27/b8/run_27b864d9-9553-4e40-a997-5a93912f7859/png/run_27b864d9-9553-4e40-a997-5a93912f7859_fuels-dens_2100_000.png +3,255,0.2,ST5_FF_DUET,ST5_ignite_contour.dat,safe,safe,yes,,89265,https://wifire-data.sdsc.edu/data//burnpro3d/d/e6/62/run_e662589a-8b8e-4694-a9a9-890d8d9b1129/png/run_e662589a-8b8e-4694-a9a9-890d8d9b1129_fuels-dens_2100_000.png +2,195,0.2,ST5_FFDUET_Over10m,ST5_ignite_contour.dat,safe,safe,yes,,119797,https://wifire-data.sdsc.edu/data//burnpro3d/d/71/03/run_71032e79-fa46-4ac4-bbc7-95d045050336/png/run_71032e79-fa46-4ac4-bbc7-95d045050336_fuels-dens_2100_000.png +5,240,0.2,ST5_FFDUET_Over10m,ST5_ignite_ring.dat,other,unsafe,yes,,166083,https://wifire-data.sdsc.edu/data//burnpro3d/d/9e/7c/run_9e7ca4a3-19e8-4de1-831b-9dfe5f0d6cff/png/run_9e7ca4a3-19e8-4de1-831b-9dfe5f0d6cff_fuels-dens_2100_000.png +3,195,0.2,ST5_FFDUET_Over10m,ST5_ignite_strip.dat,safe,safe,yes,,93014,https://wifire-data.sdsc.edu/data//burnpro3d/d/5c/2e/run_5c2ef7c4-ed1d-4cd1-836e-b842baab3e1c/png/run_5c2ef7c4-ed1d-4cd1-836e-b842baab3e1c_fuels-dens_2100_000.png +2,195,0.2,ST5_FFDUET_Over10m,ST5_ignite_strip.dat,safe,safe,yes,,137309,https://wifire-data.sdsc.edu/data//burnpro3d/d/b2/66/run_b266d956-3fe6-49eb-bcd7-bd41f6740076/png/run_b266d956-3fe6-49eb-bcd7-bd41f6740076_fuels-dens_2100_000.png +5,255,0.2,ST5_FF_DUET,ST5_ignite_strip.dat,safe,safe,yes,,145997,https://wifire-data.sdsc.edu/data//burnpro3d/d/84/20/run_84202043-096e-42c3-b52f-250e5264115a/png/run_84202043-096e-42c3-b52f-250e5264115a_fuels-dens_2100_000.png +2,225,0.2,ST5_FFDUET_Over10m,ST5_ignite_contour.dat,safe,safe,yes,,115836,https://wifire-data.sdsc.edu/data//burnpro3d/d/b4/f4/run_b4f4b8a0-827c-4d9f-af94-ddc7ac9f2c40/png/run_b4f4b8a0-827c-4d9f-af94-ddc7ac9f2c40_fuels-dens_2100_000.png +2,225,0.2,ST5_FFDUET_Over10m,ST5_ignite_ring.dat,safe,safe,yes,,140599,https://wifire-data.sdsc.edu/data//burnpro3d/d/da/bb/run_dabbc3f4-9b0b-4ba7-839e-a41171d70d07/png/run_dabbc3f4-9b0b-4ba7-839e-a41171d70d07_fuels-dens_2100_000.png +2,225,0.2,ST5_FFDUET_Over10m,ST5_ignite_strip.dat,safe,safe,yes,,136944,https://wifire-data.sdsc.edu/data//burnpro3d/d/fd/4e/run_fd4eaede-e77d-40a0-b07f-4f7902641d4e/png/run_fd4eaede-e77d-40a0-b07f-4f7902641d4e_fuels-dens_2100_000.png +8,180,0.2,ST5_FFDUET_Over10m,ST5_ignite_strip.dat,safe,unsafe,yes,,165151,https://wifire-data.sdsc.edu/data//burnpro3d/d/0b/ec/run_0bec5c3b-af03-4b16-9905-0cb11dbf0e42/png/run_0bec5c3b-af03-4b16-9905-0cb11dbf0e42_fuels-dens_2100_000.png +8,180,0.2,ST5_FFDUET_Over10m,ST5_ignite_ring.dat,unsafe,unsafe,yes,,167064,https://wifire-data.sdsc.edu/data//burnpro3d/d/dd/3d/run_dd3d0b12-ae22-4d68-8606-dfac2dc1b92e/png/run_dd3d0b12-ae22-4d68-8606-dfac2dc1b92e_fuels-dens_2100_000.png +8,180,0.2,ST5_FFDUET_Over10m,ST5_ignite_contour.dat,other,other,yes,,141294,https://wifire-data.sdsc.edu/data//burnpro3d/d/2a/aa/run_2aaa1e24-b4a1-4a0d-8efe-192c9d41fa4c/png/run_2aaa1e24-b4a1-4a0d-8efe-192c9d41fa4c_fuels-dens_2100_000.png +5,255,0.2,ST5_FF_DUET,ST5_ignite_contour.dat,safe,safe,yes,,119605,https://wifire-data.sdsc.edu/data//burnpro3d/d/74/2c/run_742ce956-404e-4530-a814-3a0be1f1793c/png/run_742ce956-404e-4530-a814-3a0be1f1793c_fuels-dens_2100_000.png +2,240,0.2,ST5_FFDUET_Over10m,ST5_ignite_contour.dat,safe,safe,yes,,113221,https://wifire-data.sdsc.edu/data//burnpro3d/d/82/b8/run_82b8e0ea-cb9c-4d1b-8537-45e1d0d454f2/png/run_82b8e0ea-cb9c-4d1b-8537-45e1d0d454f2_fuels-dens_2100_000.png +2,240,0.2,ST5_FFDUET_Over10m,ST5_ignite_ring.dat,safe,safe,yes,,138268,https://wifire-data.sdsc.edu/data//burnpro3d/d/b5/a1/run_b5a1ab25-4f95-47b7-9ed9-f915ba05d331/png/run_b5a1ab25-4f95-47b7-9ed9-f915ba05d331_fuels-dens_2100_000.png +2,240,0.2,ST5_FFDUET_Over10m,ST5_ignite_strip.dat,safe,safe,yes,,135459,https://wifire-data.sdsc.edu/data//burnpro3d/d/32/26/run_32266df2-20ee-4217-8cc3-d0a57213c61a/png/run_32266df2-20ee-4217-8cc3-d0a57213c61a_fuels-dens_2100_000.png +3,195,0.2,ST5_FF_DUET,ST5_ignite_contour.dat,safe,safe,yes,,183380,https://wifire-data.sdsc.edu/data//burnpro3d/d/c7/91/run_c79186c3-ac22-4756-a3d7-29aadd873614/png/run_c79186c3-ac22-4756-a3d7-29aadd873614_fuels-dens_2100_000.png +3,195,0.2,ST5_FF_DUET,ST5_ignite_strip.dat,safe,safe,yes,,89954,https://wifire-data.sdsc.edu/data//burnpro3d/d/68/a2/run_68a295bd-1942-4083-bafc-7de2287b503f/png/run_68a295bd-1942-4083-bafc-7de2287b503f_fuels-dens_2100_000.png +5,240,0.2,ST5_FF_DUET,ST5_ignite_strip.dat,safe,safe,yes,,90900,https://wifire-data.sdsc.edu/data//burnpro3d/d/5b/4b/run_5b4b1c33-8029-47ee-94e2-dea3eef6f799/png/run_5b4b1c33-8029-47ee-94e2-dea3eef6f799_fuels-dens_2100_000.png +5,240,0.2,ST5_FF_DUET,ST5_ignite_ring.dat,unsafe,unsafe,no,,159497,https://wifire-data.sdsc.edu/data//burnpro3d/d/29/a4/run_29a46984-dac1-4377-8501-e0c2d8e1b7ef/png/run_29a46984-dac1-4377-8501-e0c2d8e1b7ef_fuels-dens_2100_000.png +5,240,0.2,ST5_FF_DUET,ST5_ignite_contour.dat,safe,safe,yes,,168265,https://wifire-data.sdsc.edu/data//burnpro3d/d/bc/64/run_bc64985f-84cd-4ead-a281-728b084f2915/png/run_bc64985f-84cd-4ead-a281-728b084f2915_fuels-dens_2100_000.png +3,195,0.2,ST5_FFDUET_Over10m,ST5_ignite_ring.dat,safe,safe,yes,,144493,https://wifire-data.sdsc.edu/data//burnpro3d/d/30/7a/run_307a10c2-4c56-45c0-8b65-d169799d80db/png/run_307a10c2-4c56-45c0-8b65-d169799d80db_fuels-dens_2100_000.png +3,195,0.2,ST5_FFDUET_Over10m,ST5_ignite_contour.dat,safe,safe,yes,,170407,https://wifire-data.sdsc.edu/data//burnpro3d/d/b1/13/run_b113e9da-03ae-454b-bf9b-1b21167fb2e6/png/run_b113e9da-03ae-454b-bf9b-1b21167fb2e6_fuels-dens_2100_000.png +5,225,0.2,ST5_FF_DUET,ST5_ignite_contour.dat,safe,safe,yes,,127871,https://wifire-data.sdsc.edu/data//burnpro3d/d/f4/ce/run_f4cedbfc-1fd3-4629-8d7e-db2062d706ef/png/run_f4cedbfc-1fd3-4629-8d7e-db2062d706ef_fuels-dens_2100_000.png +3,180,0.2,ST5_FFDUET_Over10m,ST5_ignite_strip.dat,safe,safe,yes,,139050,https://wifire-data.sdsc.edu/data//burnpro3d/d/07/9b/run_079b3588-1395-4c91-9d44-c0f10831cfde/png/run_079b3588-1395-4c91-9d44-c0f10831cfde_fuels-dens_2100_000.png +3,180,0.2,ST5_FFDUET_Over10m,ST5_ignite_ring.dat,safe,safe,yes,,184038,https://wifire-data.sdsc.edu/data//burnpro3d/d/6c/72/run_6c720f71-1e94-47c3-9c0a-5e8ed2fffaea/png/run_6c720f71-1e94-47c3-9c0a-5e8ed2fffaea_fuels-dens_2100_000.png +3,180,0.2,ST5_FFDUET_Over10m,ST5_ignite_contour.dat,safe,safe,yes,,121624,https://wifire-data.sdsc.edu/data//burnpro3d/d/78/00/run_7800964a-8763-4c7e-9fae-45aba8dac19a/png/run_7800964a-8763-4c7e-9fae-45aba8dac19a_fuels-dens_2100_000.png +5,240,0.2,ST5_FFDUET_Over10m,ST5_ignite_strip.dat,other,safe,yes,,126572,https://wifire-data.sdsc.edu/data//burnpro3d/d/c0/05/run_c0058552-f2b9-43fa-8521-a36d71bfe212/png/run_c0058552-f2b9-43fa-8521-a36d71bfe212_fuels-dens_2100_000.png +5,225,0.2,ST5_FF_DUET,ST5_ignite_ring.dat,unsafe,unsafe,no,,162975,https://wifire-data.sdsc.edu/data//burnpro3d/d/e1/d5/run_e1d56c72-c64b-48cf-8328-5fedae7d04e5/png/run_e1d56c72-c64b-48cf-8328-5fedae7d04e5_fuels-dens_2100_000.png +5,255,0.2,ST5_FFDUET_Over10m,ST5_ignite_contour.dat,safe,safe,yes,,147378,https://wifire-data.sdsc.edu/data//burnpro3d/d/03/39/run_0339dc92-9f0d-457d-93a4-c98dcaeda6a1/png/run_0339dc92-9f0d-457d-93a4-c98dcaeda6a1_fuels-dens_2100_000.png +5,255,0.2,ST5_FFDUET_Over10m,ST5_ignite_ring.dat,other,safe,yes,,114060,https://wifire-data.sdsc.edu/data//burnpro3d/d/d6/eb/run_d6eb30cd-90bc-47da-94b3-41ec1c133efe/png/run_d6eb30cd-90bc-47da-94b3-41ec1c133efe_fuels-dens_2100_000.png +5,255,0.2,ST5_FFDUET_Over10m,ST5_ignite_strip.dat,safe,safe,yes,,147221,https://wifire-data.sdsc.edu/data//burnpro3d/d/fd/8e/run_fd8e82e9-26b8-4d2a-a46b-7717a2890795/png/run_fd8e82e9-26b8-4d2a-a46b-7717a2890795_fuels-dens_2100_000.png +2,255,0.2,ST5_FFDUET_Over10m,ST5_ignite_strip.dat,safe,safe,yes,,88141,https://wifire-data.sdsc.edu/data//burnpro3d/d/22/35/run_2235e192-5b4a-45ed-9bb9-b5fcabe9618f/png/run_2235e192-5b4a-45ed-9bb9-b5fcabe9618f_fuels-dens_2100_000.png +2,255,0.2,ST5_FFDUET_Over10m,ST5_ignite_ring.dat,safe,safe,yes,,176222,https://wifire-data.sdsc.edu/data//burnpro3d/d/92/35/run_92353d6d-5d9d-4a82-b81e-c396388bb379/png/run_92353d6d-5d9d-4a82-b81e-c396388bb379_fuels-dens_2100_000.png +2,255,0.2,ST5_FFDUET_Over10m,ST5_ignite_contour.dat,safe,safe,yes,,183904,https://wifire-data.sdsc.edu/data//burnpro3d/d/f7/74/run_f7746733-0cea-44d1-8a4f-098779816f9e/png/run_f7746733-0cea-44d1-8a4f-098779816f9e_fuels-dens_2100_000.png +5,225,0.2,ST5_FF_DUET,ST5_ignite_strip.dat,safe,other,yes,,152435,https://wifire-data.sdsc.edu/data//burnpro3d/d/87/de/run_87ded37f-ec44-4aa9-b9eb-4f6699228997/png/run_87ded37f-ec44-4aa9-b9eb-4f6699228997_fuels-dens_2100_000.png +12,225,0.2,ST5_FFDUET_TLS,ST5_ignite_contour.dat,unsafe,unsafe,yes,,109095,https://wifire-data.sdsc.edu/data//burnpro3d/d/5d/6b/run_5d6b1b25-f2a9-4fdc-9a7d-54099b1748f4/png/run_5d6b1b25-f2a9-4fdc-9a7d-54099b1748f4_fuels-dens_2100_000.png +8,240,0.2,ST5_FFDUET_Over10m,ST5_ignite_contour.dat,other,safe,yes,,83031,https://wifire-data.sdsc.edu/data//burnpro3d/d/8e/59/run_8e599383-8423-4c5b-9f28-baf09a7fef50/png/run_8e599383-8423-4c5b-9f28-baf09a7fef50_fuels-dens_2100_000.png +8,255,0.2,ST5_FF_DUET,ST5_ignite_contour.dat,safe,safe,yes,,183015,https://wifire-data.sdsc.edu/data//burnpro3d/d/21/8d/run_218d072f-5b36-426b-80cb-9d02d96f22a3/png/run_218d072f-5b36-426b-80cb-9d02d96f22a3_fuels-dens_2100_000.png +2,180,0.2,ST5_FFDUET_TLS,ST5_ignite_contour.dat,safe,safe,yes,,115869,https://wifire-data.sdsc.edu/data//burnpro3d/d/6b/97/run_6b97b1a3-61f4-4a5b-83f8-03d0874c1c0b/png/run_6b97b1a3-61f4-4a5b-83f8-03d0874c1c0b_fuels-dens_2100_000.png +2,180,0.2,ST5_FFDUET_TLS,ST5_ignite_ring.dat,safe,safe,yes,,140299,https://wifire-data.sdsc.edu/data//burnpro3d/d/ac/9d/run_ac9dc69e-b37c-4eec-83b1-bc6a9c7add43/png/run_ac9dc69e-b37c-4eec-83b1-bc6a9c7add43_fuels-dens_2100_000.png +2,180,0.2,ST5_FFDUET_TLS,ST5_ignite_strip.dat,safe,safe,yes,,129949,https://wifire-data.sdsc.edu/data//burnpro3d/d/cc/e8/run_cce8003f-0a76-4e70-bfe0-bd958dcacb86/png/run_cce8003f-0a76-4e70-bfe0-bd958dcacb86_fuels-dens_2100_000.png +2,195,0.2,ST5_FF_DUET,ST5_ignite_strip.dat,safe,safe,yes,,139685,https://wifire-data.sdsc.edu/data//burnpro3d/d/6a/2e/run_6a2e315c-c25a-4634-b5e4-66749889fb72/png/run_6a2e315c-c25a-4634-b5e4-66749889fb72_fuels-dens_2100_000.png +12,225,0.2,ST5_FFDUET_Over10m,ST5_ignite_contour.dat,other,unsafe,no,,159926,https://wifire-data.sdsc.edu/data//burnpro3d/d/c0/09/run_c009add3-6955-4254-9c70-34c1c667fe29/png/run_c009add3-6955-4254-9c70-34c1c667fe29_fuels-dens_2100_000.png +12,225,0.2,ST5_FFDUET_Over10m,ST5_ignite_ring.dat,unsafe,unsafe,no,,183571,https://wifire-data.sdsc.edu/data//burnpro3d/d/eb/78/run_eb781dea-97eb-4642-91f6-5a60769c0682/png/run_eb781dea-97eb-4642-91f6-5a60769c0682_fuels-dens_2100_000.png +5,225,0.2,ST5_FFDUET_TLS,ST5_ignite_contour.dat,safe,safe,yes,,127168,https://wifire-data.sdsc.edu/data//burnpro3d/d/39/92/run_3992a1d7-6aad-46dd-9327-79076ba9dd70/png/run_3992a1d7-6aad-46dd-9327-79076ba9dd70_fuels-dens_2100_000.png +5,195,0.2,ST5_FFDUET_TLS,ST5_ignite_strip.dat,safe,other,yes,,153469,https://wifire-data.sdsc.edu/data//burnpro3d/d/8a/4c/run_8a4c6a6f-ba10-4358-a458-7e7404621dae/png/run_8a4c6a6f-ba10-4358-a458-7e7404621dae_fuels-dens_2100_000.png +5,195,0.2,ST5_FFDUET_TLS,ST5_ignite_contour.dat,safe,safe,yes,,127161,https://wifire-data.sdsc.edu/data//burnpro3d/d/75/52/run_7552caa6-ae58-4da8-954c-ba850d66aaba/png/run_7552caa6-ae58-4da8-954c-ba850d66aaba_fuels-dens_2100_000.png +12,225,0.2,ST5_FFDUET_Over10m,ST5_ignite_strip.dat,unsafe,unsafe,no,,180247,https://wifire-data.sdsc.edu/data//burnpro3d/d/65/a4/run_65a406da-31ad-4f8c-b7db-e789ff691cda/png/run_65a406da-31ad-4f8c-b7db-e789ff691cda_fuels-dens_2100_000.png +2,195,0.2,ST5_FFDUET_TLS,ST5_ignite_contour.dat,safe,safe,yes,,137366,https://wifire-data.sdsc.edu/data//burnpro3d/d/93/a1/run_93a15bf1-3993-4fdd-8044-acb8c70ee1a3/png/run_93a15bf1-3993-4fdd-8044-acb8c70ee1a3_fuels-dens_2100_000.png +2,195,0.2,ST5_FFDUET_TLS,ST5_ignite_ring.dat,safe,safe,yes,,25183,https://wifire-data.sdsc.edu/data//burnpro3d/d/47/16/run_47169e46-d955-4327-9815-7b1af2df4e3d/png/run_47169e46-d955-4327-9815-7b1af2df4e3d_fuels-dens_2100_000.png +5,180,0.2,ST5_FFDUET_TLS,ST5_ignite_strip.dat,safe,other,yes,,149876,https://wifire-data.sdsc.edu/data//burnpro3d/d/4c/d4/run_4cd4c16c-3736-4877-a6a4-e74368eb0ff4/png/run_4cd4c16c-3736-4877-a6a4-e74368eb0ff4_fuels-dens_2100_000.png +5,180,0.2,ST5_FFDUET_TLS,ST5_ignite_ring.dat,other,other,yes,,149295,https://wifire-data.sdsc.edu/data//burnpro3d/d/c5/81/run_c581fc74-f6be-417b-8c31-234a4d7b00e6/png/run_c581fc74-f6be-417b-8c31-234a4d7b00e6_fuels-dens_2100_000.png +5,195,0.2,ST5_FFDUET_TLS,ST5_ignite_ring.dat,other,unsafe,no,,159155,https://wifire-data.sdsc.edu/data//burnpro3d/d/7b/92/run_7b9237cf-8006-4d4c-b6ab-d64b4097b2c2/png/run_7b9237cf-8006-4d4c-b6ab-d64b4097b2c2_fuels-dens_2100_000.png +5,225,0.2,ST5_FFDUET_TLS,ST5_ignite_ring.dat,unsafe,unsafe,no,,182917,https://wifire-data.sdsc.edu/data//burnpro3d/d/1d/78/run_1d7823f0-6990-40b6-a101-c42a318327ec/png/run_1d7823f0-6990-40b6-a101-c42a318327ec_fuels-dens_2100_000.png +5,225,0.2,ST5_FFDUET_TLS,ST5_ignite_strip.dat,safe,other,yes,,108272,https://wifire-data.sdsc.edu/data//burnpro3d/d/1e/ed/run_1eed24a5-0a5d-4628-b011-4e243b788457/png/run_1eed24a5-0a5d-4628-b011-4e243b788457_fuels-dens_2100_000.png +12,255,0.2,ST5_FF_DUET,ST5_ignite_strip.dat,unsafe,unsafe,no,,120320,https://wifire-data.sdsc.edu/data//burnpro3d/d/55/29/run_55292c4c-b388-4c70-b4ac-63866d00c0da/png/run_55292c4c-b388-4c70-b4ac-63866d00c0da_fuels-dens_2100_000.png +12,240,0.2,ST5_FF_DUET,ST5_ignite_strip.dat,unsafe,unsafe,no,,171335,https://wifire-data.sdsc.edu/data//burnpro3d/d/cb/70/run_cb7003bf-c7aa-41fe-b793-88efa5bfd062/png/run_cb7003bf-c7aa-41fe-b793-88efa5bfd062_fuels-dens_2100_000.png +2,225,0.2,ST5_FF_DUET,ST5_ignite_strip.dat,safe,safe,yes,,138905,https://wifire-data.sdsc.edu/data//burnpro3d/d/98/72/run_9872c3b8-b5de-4506-8070-763b48ad853e/png/run_9872c3b8-b5de-4506-8070-763b48ad853e_fuels-dens_2100_000.png +2,225,0.2,ST5_FF_DUET,ST5_ignite_ring.dat,safe,safe,yes,,124998,https://wifire-data.sdsc.edu/data//burnpro3d/d/8b/4c/run_8b4c2655-1d2e-4706-9659-8de4fe1ab83b/png/run_8b4c2655-1d2e-4706-9659-8de4fe1ab83b_fuels-dens_2100_000.png +2,225,0.2,ST5_FF_DUET,ST5_ignite_contour.dat,safe,safe,yes,,116293,https://wifire-data.sdsc.edu/data//burnpro3d/d/c2/a6/run_c2a69409-3bd7-47cd-92fa-939d93e9193f/png/run_c2a69409-3bd7-47cd-92fa-939d93e9193f_fuels-dens_2100_000.png +5,255,0.2,ST5_FFDUET_TLS,ST5_ignite_ring.dat,unsafe,safe,yes,,164400,https://wifire-data.sdsc.edu/data//burnpro3d/d/91/22/run_91228b3e-9ae8-4084-83a3-d05d83b22405/png/run_91228b3e-9ae8-4084-83a3-d05d83b22405_fuels-dens_2100_000.png +5,255,0.2,ST5_FFDUET_TLS,ST5_ignite_contour.dat,safe,safe,yes,,119730,https://wifire-data.sdsc.edu/data//burnpro3d/d/dd/e2/run_dde28dcc-b289-42ff-b479-7982a1f7a149/png/run_dde28dcc-b289-42ff-b479-7982a1f7a149_fuels-dens_2100_000.png +12,195,0.2,ST5_FFDUET_Over10m,ST5_ignite_contour.dat,other,unsafe,yes,,127708,https://wifire-data.sdsc.edu/data//burnpro3d/d/7d/70/run_7d707029-c306-4e34-8d08-93b06a5255bc/png/run_7d707029-c306-4e34-8d08-93b06a5255bc_fuels-dens_2100_000.png +12,255,0.2,ST5_FF_DUET,ST5_ignite_contour.dat,unsafe,unsafe,no,,153401,https://wifire-data.sdsc.edu/data//burnpro3d/d/36/2c/run_362cff7e-2d16-4513-be97-0f1bf9980395/png/run_362cff7e-2d16-4513-be97-0f1bf9980395_fuels-dens_2100_000.png +12,255,0.2,ST5_FF_DUET,ST5_ignite_ring.dat,unsafe,unsafe,no,,109607,https://wifire-data.sdsc.edu/data//burnpro3d/d/3f/84/run_3f840be7-02ab-44aa-b087-614390a47c47/png/run_3f840be7-02ab-44aa-b087-614390a47c47_fuels-dens_2100_000.png +12,195,0.2,ST5_FFDUET_Over10m,ST5_ignite_ring.dat,unsafe,unsafe,no,,122525,https://wifire-data.sdsc.edu/data//burnpro3d/d/8e/f0/run_8ef0a9ec-a68e-42a9-b559-e53bc343bc8a/png/run_8ef0a9ec-a68e-42a9-b559-e53bc343bc8a_fuels-dens_2100_000.png +12,195,0.2,ST5_FFDUET_Over10m,ST5_ignite_strip.dat,safe,unsafe,marginal,,128094,https://wifire-data.sdsc.edu/data//burnpro3d/d/06/b3/run_06b3e100-075d-4c27-a12f-6932a559a9c8/png/run_06b3e100-075d-4c27-a12f-6932a559a9c8_fuels-dens_2100_000.png +5,240,0.2,ST5_FFDUET_TLS,ST5_ignite_strip.dat,safe,safe,yes,,149548,https://wifire-data.sdsc.edu/data//burnpro3d/d/aa/fb/run_aafb0d76-d76f-4eb1-8e34-9d42791bd856/png/run_aafb0d76-d76f-4eb1-8e34-9d42791bd856_fuels-dens_2100_000.png +5,240,0.2,ST5_FFDUET_TLS,ST5_ignite_ring.dat,other,unsafe,yes,,166325,https://wifire-data.sdsc.edu/data//burnpro3d/d/62/7e/run_627ef3ea-8e17-4ff9-a920-942210f0b524/png/run_627ef3ea-8e17-4ff9-a920-942210f0b524_fuels-dens_2100_000.png +2,255,0.2,ST5_FF_DUET,ST5_ignite_contour.dat,safe,safe,yes,,115913,https://wifire-data.sdsc.edu/data//burnpro3d/d/a9/ce/run_a9cea3c9-6534-48fc-8eee-008c13406485/png/run_a9cea3c9-6534-48fc-8eee-008c13406485_fuels-dens_2100_000.png +5,240,0.2,ST5_FFDUET_TLS,ST5_ignite_contour.dat,safe,safe,yes,,122572,https://wifire-data.sdsc.edu/data//burnpro3d/d/6a/cc/run_6acc4a86-5366-45d2-8c85-a3d7d9a0311a/png/run_6acc4a86-5366-45d2-8c85-a3d7d9a0311a_fuels-dens_2100_000.png +5,180,0.2,ST5_FFDUET_TLS,ST5_ignite_contour.dat,safe,safe,yes,,124846,https://wifire-data.sdsc.edu/data//burnpro3d/d/dd/44/run_dd445954-6765-46eb-aacd-0e6369fcf8a5/png/run_dd445954-6765-46eb-aacd-0e6369fcf8a5_fuels-dens_2100_000.png +12,240,0.2,ST5_FF_DUET,ST5_ignite_ring.dat,unsafe,unsafe,no,,92255,https://wifire-data.sdsc.edu/data//burnpro3d/d/5e/22/run_5e225b85-7c80-4794-a384-c38c5a7d894e/png/run_5e225b85-7c80-4794-a384-c38c5a7d894e_fuels-dens_2100_000.png +2,195,0.2,ST5_FFDUET_TLS,ST5_ignite_strip.dat,safe,safe,yes,,169599,https://wifire-data.sdsc.edu/data//burnpro3d/d/a7/90/run_a7908708-0aa4-4f51-94ad-c3629f089723/png/run_a7908708-0aa4-4f51-94ad-c3629f089723_fuels-dens_2100_000.png +2,195,0.2,ST5_FF_DUET,ST5_ignite_contour.dat,safe,safe,yes,,116379,https://wifire-data.sdsc.edu/data//burnpro3d/d/85/31/run_85311eed-6824-4a0b-bcfd-440b3515ee62/png/run_85311eed-6824-4a0b-bcfd-440b3515ee62_fuels-dens_2100_000.png +2,180,0.2,ST5_FF_DUET,ST5_ignite_ring.dat,safe,safe,yes,,140425,https://wifire-data.sdsc.edu/data//burnpro3d/d/8b/30/run_8b30c930-2a1d-4dc4-a3a9-66c1623567d6/png/run_8b30c930-2a1d-4dc4-a3a9-66c1623567d6_fuels-dens_2100_000.png +2,180,0.2,ST5_FF_DUET,ST5_ignite_contour.dat,safe,safe,yes,,116094,https://wifire-data.sdsc.edu/data//burnpro3d/d/39/a7/run_39a747d7-f253-49d9-86f9-0bed366e923d/png/run_39a747d7-f253-49d9-86f9-0bed366e923d_fuels-dens_2100_000.png +12,255,0.2,ST5_FFDUET_Over10m,ST5_ignite_contour.dat,unsafe,unsafe,no,,152631,https://wifire-data.sdsc.edu/data//burnpro3d/d/ca/c5/run_cac534ab-f49b-4820-bb9b-18d06bf11124/png/run_cac534ab-f49b-4820-bb9b-18d06bf11124_fuels-dens_2100_000.png +12,255,0.2,ST5_FFDUET_Over10m,ST5_ignite_ring.dat,unsafe,unsafe,no,,105251,https://wifire-data.sdsc.edu/data//burnpro3d/d/86/26/run_862628c1-3e85-4c10-ad85-4e8d6a193906/png/run_862628c1-3e85-4c10-ad85-4e8d6a193906_fuels-dens_2100_000.png +12,255,0.2,ST5_FFDUET_Over10m,ST5_ignite_strip.dat,unsafe,unsafe,no,,138634,https://wifire-data.sdsc.edu/data//burnpro3d/d/b9/ea/run_b9ea1ad9-c532-47be-a5d7-589819401824/png/run_b9ea1ad9-c532-47be-a5d7-589819401824_fuels-dens_2100_000.png +3,195,0.2,ST5_FFDUET_TLS,ST5_ignite_strip.dat,safe,safe,yes,,141379,https://wifire-data.sdsc.edu/data//burnpro3d/d/31/5d/run_315d1bb9-896c-4965-9c3c-bcb87a665b46/png/run_315d1bb9-896c-4965-9c3c-bcb87a665b46_fuels-dens_2100_000.png +2,240,0.2,ST5_FFDUET_TLS,ST5_ignite_strip.dat,safe,safe,yes,,138360,https://wifire-data.sdsc.edu/data//burnpro3d/d/3c/1c/run_3c1c33ed-a29d-475f-a580-7dc7b16fde4d/png/run_3c1c33ed-a29d-475f-a580-7dc7b16fde4d_fuels-dens_2100_000.png +3,195,0.2,ST5_FFDUET_TLS,ST5_ignite_ring.dat,safe,safe,yes,,38326,https://wifire-data.sdsc.edu/data//burnpro3d/d/8c/ab/run_8cab3dd8-23c5-47ac-b68c-c69b18e49d00/png/run_8cab3dd8-23c5-47ac-b68c-c69b18e49d00_fuels-dens_2100_000.png +2,255,0.2,ST5_FFDUET_TLS,ST5_ignite_contour.dat,safe,safe,yes,,115114,https://wifire-data.sdsc.edu/data//burnpro3d/d/47/b9/run_47b98161-4278-4a6d-bc58-3a3be285e7f1/png/run_47b98161-4278-4a6d-bc58-3a3be285e7f1_fuels-dens_2100_000.png +2,255,0.2,ST5_FFDUET_TLS,ST5_ignite_ring.dat,safe,safe,yes,,137530,https://wifire-data.sdsc.edu/data//burnpro3d/d/81/72/run_8172caec-886a-467d-9578-24594cb2fdf7/png/run_8172caec-886a-467d-9578-24594cb2fdf7_fuels-dens_2100_000.png +2,255,0.2,ST5_FFDUET_TLS,ST5_ignite_strip.dat,safe,safe,yes,,136110,https://wifire-data.sdsc.edu/data//burnpro3d/d/a2/51/run_a2515c9c-560b-44bf-aeee-2b5b96c696d2/png/run_a2515c9c-560b-44bf-aeee-2b5b96c696d2_fuels-dens_2100_000.png +3,180,0.2,ST5_FFDUET_TLS,ST5_ignite_strip.dat,safe,safe,yes,,141415,https://wifire-data.sdsc.edu/data//burnpro3d/d/2e/ba/run_2eba8705-713a-4103-b176-7a1836f2ba5c/png/run_2eba8705-713a-4103-b176-7a1836f2ba5c_fuels-dens_2100_000.png +3,180,0.2,ST5_FFDUET_TLS,ST5_ignite_ring.dat,safe,safe,yes,,144261,https://wifire-data.sdsc.edu/data//burnpro3d/d/96/7a/run_967a3339-c5d9-4440-914a-efbfcb099faf/png/run_967a3339-c5d9-4440-914a-efbfcb099faf_fuels-dens_2100_000.png +3,180,0.2,ST5_FFDUET_TLS,ST5_ignite_contour.dat,safe,safe,yes,,158892,https://wifire-data.sdsc.edu/data//burnpro3d/d/e1/59/run_e1595068-915c-4f2d-ab9e-3b090491b044/png/run_e1595068-915c-4f2d-ab9e-3b090491b044_fuels-dens_2100_000.png +3,195,0.2,ST5_FFDUET_TLS,ST5_ignite_contour.dat,safe,safe,yes,,27333,https://wifire-data.sdsc.edu/data//burnpro3d/d/77/f5/run_77f5d266-070b-4877-ad4d-b21c1bea981d/png/run_77f5d266-070b-4877-ad4d-b21c1bea981d_fuels-dens_2100_000.png +3,225,0.2,ST5_FFDUET_TLS,ST5_ignite_contour.dat,safe,safe,yes,,117624,https://wifire-data.sdsc.edu/data//burnpro3d/d/a7/82/run_a782e8f9-c1d9-41a9-8c05-98ecabd3c6ff/png/run_a782e8f9-c1d9-41a9-8c05-98ecabd3c6ff_fuels-dens_2100_000.png +3,225,0.2,ST5_FFDUET_TLS,ST5_ignite_ring.dat,safe,safe,yes,,125113,https://wifire-data.sdsc.edu/data//burnpro3d/d/cc/8a/run_cc8ac729-acad-4cba-bbe5-7dcc1cb125d4/png/run_cc8ac729-acad-4cba-bbe5-7dcc1cb125d4_fuels-dens_2100_000.png +3,225,0.2,ST5_FFDUET_TLS,ST5_ignite_strip.dat,safe,safe,yes,,150091,https://wifire-data.sdsc.edu/data//burnpro3d/d/76/04/run_76049994-f0ae-493c-93ca-3129e94ec217/png/run_76049994-f0ae-493c-93ca-3129e94ec217_fuels-dens_2100_000.png +3,255,0.2,ST5_FFDUET_TLS,ST5_ignite_strip.dat,safe,safe,yes,,138314,https://wifire-data.sdsc.edu/data//burnpro3d/d/9d/93/run_9d93ef65-2d76-44dd-bd82-aaaaf387c9ce/png/run_9d93ef65-2d76-44dd-bd82-aaaaf387c9ce_fuels-dens_2100_000.png +3,255,0.2,ST5_FFDUET_TLS,ST5_ignite_ring.dat,safe,safe,yes,,141196,https://wifire-data.sdsc.edu/data//burnpro3d/d/b1/11/run_b1118c49-9bd7-487b-92a8-92dc7126025e/png/run_b1118c49-9bd7-487b-92a8-92dc7126025e_fuels-dens_2100_000.png +3,255,0.2,ST5_FFDUET_TLS,ST5_ignite_contour.dat,safe,safe,yes,,145052,https://wifire-data.sdsc.edu/data//burnpro3d/d/26/87/run_26874805-679f-470d-9031-e5be54402845/png/run_26874805-679f-470d-9031-e5be54402845_fuels-dens_2100_000.png +2,225,0.2,ST5_FFDUET_TLS,ST5_ignite_contour.dat,safe,safe,yes,,107191,https://wifire-data.sdsc.edu/data//burnpro3d/d/72/7e/run_727e2694-74fa-4d9a-96f7-6e81e986de74/png/run_727e2694-74fa-4d9a-96f7-6e81e986de74_fuels-dens_2100_000.png +2,225,0.2,ST5_FFDUET_TLS,ST5_ignite_ring.dat,safe,safe,yes,,140004,https://wifire-data.sdsc.edu/data//burnpro3d/d/b5/a9/run_b5a9a87d-4512-4a3d-8958-10d874292f56/png/run_b5a9a87d-4512-4a3d-8958-10d874292f56_fuels-dens_2100_000.png +2,225,0.2,ST5_FFDUET_TLS,ST5_ignite_strip.dat,safe,safe,yes,,138329,https://wifire-data.sdsc.edu/data//burnpro3d/d/75/20/run_7520e3f2-5181-43d2-ac04-f9d03e7c2ddc/png/run_7520e3f2-5181-43d2-ac04-f9d03e7c2ddc_fuels-dens_2100_000.png +12,240,0.2,ST5_FFDUET_Over10m,ST5_ignite_contour.dat,unsafe,unsafe,marginal,,178251,https://wifire-data.sdsc.edu/data//burnpro3d/d/31/c4/run_31c46bde-d5b1-4190-b4d8-55b8b38660bf/png/run_31c46bde-d5b1-4190-b4d8-55b8b38660bf_fuels-dens_2100_000.png +12,240,0.2,ST5_FFDUET_Over10m,ST5_ignite_ring.dat,unsafe,unsafe,no,,181466,https://wifire-data.sdsc.edu/data//burnpro3d/d/98/6b/run_986ba273-cc2b-4292-81b9-f5ca0916b6fe/png/run_986ba273-cc2b-4292-81b9-f5ca0916b6fe_fuels-dens_2100_000.png +12,240,0.2,ST5_FFDUET_Over10m,ST5_ignite_strip.dat,unsafe,unsafe,no,,179729,https://wifire-data.sdsc.edu/data//burnpro3d/d/b4/02/run_b4023e8e-3e6e-49fa-9c18-4de8379ee1f8/png/run_b4023e8e-3e6e-49fa-9c18-4de8379ee1f8_fuels-dens_2100_000.png +3,240,0.2,ST5_FFDUET_TLS,ST5_ignite_strip.dat,safe,safe,yes,,121868,https://wifire-data.sdsc.edu/data//burnpro3d/d/b7/4b/run_b74bea19-469c-444e-bac2-cb4222a118ea/png/run_b74bea19-469c-444e-bac2-cb4222a118ea_fuels-dens_2100_000.png +3,240,0.2,ST5_FFDUET_TLS,ST5_ignite_ring.dat,safe,safe,yes,,142966,https://wifire-data.sdsc.edu/data//burnpro3d/d/3d/20/run_3d20eac0-d58c-473f-ba53-eb6c160dfe55/png/run_3d20eac0-d58c-473f-ba53-eb6c160dfe55_fuels-dens_2100_000.png +3,240,0.2,ST5_FFDUET_TLS,ST5_ignite_contour.dat,safe,safe,yes,,116929,https://wifire-data.sdsc.edu/data//burnpro3d/d/6e/f7/run_6ef7c271-aa4f-4091-a8b4-2b3f554542a4/png/run_6ef7c271-aa4f-4091-a8b4-2b3f554542a4_fuels-dens_2100_000.png +2,240,0.2,ST5_FFDUET_TLS,ST5_ignite_contour.dat,safe,safe,yes,,149965,https://wifire-data.sdsc.edu/data//burnpro3d/d/e7/2d/run_e72d1aad-00d8-4989-b068-24e475679ae3/png/run_e72d1aad-00d8-4989-b068-24e475679ae3_fuels-dens_2100_000.png +2,240,0.2,ST5_FFDUET_TLS,ST5_ignite_ring.dat,safe,safe,yes,,139730,https://wifire-data.sdsc.edu/data//burnpro3d/d/a4/10/run_a410c164-d655-4d4d-8ff7-b0fa9e890db5/png/run_a410c164-d655-4d4d-8ff7-b0fa9e890db5_fuels-dens_2100_000.png +2,180,0.2,ST5_FF_DUET,ST5_ignite_strip.dat,safe,safe,yes,,139321,https://wifire-data.sdsc.edu/data//burnpro3d/d/0c/7d/run_0c7dceb7-370b-4fdb-a215-a4f28d5e5b7a/png/run_0c7dceb7-370b-4fdb-a215-a4f28d5e5b7a_fuels-dens_2100_000.png +2,195,0.2,ST5_FF_DUET,ST5_ignite_ring.dat,safe,safe,yes,,96057,https://wifire-data.sdsc.edu/data//burnpro3d/d/69/55/run_69556dad-f03c-4d70-8096-be2eee60d553/png/run_69556dad-f03c-4d70-8096-be2eee60d553_fuels-dens_2100_000.png +12,240,0.2,ST5_FF_DUET,ST5_ignite_contour.dat,unsafe,unsafe,yes,,168757,https://wifire-data.sdsc.edu/data//burnpro3d/d/b4/d1/run_b4d1c749-842e-4b34-94fa-cbadce1cb1c0/png/run_b4d1c749-842e-4b34-94fa-cbadce1cb1c0_fuels-dens_2100_000.png +5,195,0.2,ST5_FFDUET_Over10m,ST5_ignite_strip.dat,safe,other,yes,,150056,https://wifire-data.sdsc.edu/data//burnpro3d/d/37/ab/run_37ab97b9-189e-4076-baa9-3eaa1c9d0fd0/png/run_37ab97b9-189e-4076-baa9-3eaa1c9d0fd0_fuels-dens_2100_000.png +8,180,0.2,ST5_FFDUET_TLS,ST5_ignite_ring.dat,unsafe,unsafe,yes,,60238,https://wifire-data.sdsc.edu/data//burnpro3d/d/63/1a/run_631ac5e8-9ba4-4e0a-bddf-b985b8b532de/png/run_631ac5e8-9ba4-4e0a-bddf-b985b8b532de_fuels-dens_2100_000.png +8,225,0.2,ST5_FFDUET_TLS,ST5_ignite_contour.dat,safe,other,yes,,147205,https://wifire-data.sdsc.edu/data//burnpro3d/d/79/c1/run_79c17da3-b188-43bf-95e2-b86d48e2b143/png/run_79c17da3-b188-43bf-95e2-b86d48e2b143_fuels-dens_2100_000.png +8,225,0.2,ST5_FFDUET_TLS,ST5_ignite_strip.dat,unsafe,unsafe,no,,131275,https://wifire-data.sdsc.edu/data//burnpro3d/d/20/38/run_20387d0f-a0bc-49d7-8330-0e33dd82c02f/png/run_20387d0f-a0bc-49d7-8330-0e33dd82c02f_fuels-dens_2100_000.png +2,240,0.2,ST5_FF_DUET,ST5_ignite_contour.dat,safe,safe,yes,,164900,https://wifire-data.sdsc.edu/data//burnpro3d/d/68/fe/run_68fe6f4b-fe46-4db3-94c8-ed6ae1df5ce6/png/run_68fe6f4b-fe46-4db3-94c8-ed6ae1df5ce6_fuels-dens_2100_000.png +12,180,0.2,ST5_FFDUET_TLS,ST5_ignite_strip.dat,unsafe,unsafe,marginal,,187327,https://wifire-data.sdsc.edu/data//burnpro3d/d/ab/4c/run_ab4cd043-fc4c-421a-af10-48002beb49a7/png/run_ab4cd043-fc4c-421a-af10-48002beb49a7_fuels-dens_2100_000.png +12,180,0.2,ST5_FFDUET_TLS,ST5_ignite_ring.dat,unsafe,unsafe,no,,175737,https://wifire-data.sdsc.edu/data//burnpro3d/d/8a/ea/run_8aeaed0e-f16c-434a-a5b0-0e711faa1017/png/run_8aeaed0e-f16c-434a-a5b0-0e711faa1017_fuels-dens_2100_000.png +12,180,0.2,ST5_FFDUET_TLS,ST5_ignite_contour.dat,unsafe,unsafe,marginal,,167610,https://wifire-data.sdsc.edu/data//burnpro3d/d/4e/8c/run_4e8ceabd-06fc-451c-ace1-f5a0349d2592/png/run_4e8ceabd-06fc-451c-ace1-f5a0349d2592_fuels-dens_2100_000.png +12,180,0.2,ST5_FF_DUET,ST5_ignite_contour.dat,unsafe,unsafe,marginal,,152513,https://wifire-data.sdsc.edu/data//burnpro3d/d/8c/aa/run_8caa7938-3545-414a-b94f-932ce068e086/png/run_8caa7938-3545-414a-b94f-932ce068e086_fuels-dens_2100_000.png +12,195,0.2,ST5_FF_DUET,ST5_ignite_strip.dat,unsafe,unsafe,no,,123455,https://wifire-data.sdsc.edu/data//burnpro3d/d/a1/ea/run_a1ead00c-b295-4bcf-92e0-c15e13b523c1/png/run_a1ead00c-b295-4bcf-92e0-c15e13b523c1_fuels-dens_2100_000.png +12,195,0.2,ST5_FF_DUET,ST5_ignite_ring.dat,unsafe,unsafe,no,,178755,https://wifire-data.sdsc.edu/data//burnpro3d/d/1b/ca/run_1bcadd96-4d2e-4e00-a1d2-08ee0dbe0c29/png/run_1bcadd96-4d2e-4e00-a1d2-08ee0dbe0c29_fuels-dens_2100_000.png +8,240,0.2,ST5_FFDUET_TLS,ST5_ignite_contour.dat,unsafe,unsafe,marginal,,154167,https://wifire-data.sdsc.edu/data//burnpro3d/d/5b/13/run_5b13b586-6946-4e3e-92b5-6356cbeecc32/png/run_5b13b586-6946-4e3e-92b5-6356cbeecc32_fuels-dens_2100_000.png +12,180,0.2,ST5_FF_DUET,ST5_ignite_ring.dat,unsafe,unsafe,no,,97396,https://wifire-data.sdsc.edu/data//burnpro3d/d/e6/c0/run_e6c008e7-95b9-4733-8057-43a98f9fa025/png/run_e6c008e7-95b9-4733-8057-43a98f9fa025_fuels-dens_2100_000.png +8,240,0.2,ST5_FFDUET_TLS,ST5_ignite_ring.dat,unsafe,unsafe,no,,177667,https://wifire-data.sdsc.edu/data//burnpro3d/d/6f/34/run_6f347042-4d2f-4cae-a6ca-e97ec630705c/png/run_6f347042-4d2f-4cae-a6ca-e97ec630705c_fuels-dens_2100_000.png +8,180,0.2,ST5_FFDUET_TLS,ST5_ignite_contour.dat,safe,other,yes,,30357,https://wifire-data.sdsc.edu/data//burnpro3d/d/80/69/run_8069d33a-8724-4bc1-8371-5d9b859dd9ab/png/run_8069d33a-8724-4bc1-8371-5d9b859dd9ab_fuels-dens_2100_000.png +8,240,0.2,ST5_FFDUET_TLS,ST5_ignite_strip.dat,other,unsafe,no,,169563,https://wifire-data.sdsc.edu/data//burnpro3d/d/1c/03/run_1c03f801-4b02-42dc-9ce4-d1aa9a40c67a/png/run_1c03f801-4b02-42dc-9ce4-d1aa9a40c67a_fuels-dens_2100_000.png +8,255,0.2,ST5_FFDUET_Over10m,ST5_ignite_strip.dat,unsafe,other,marginal,,164139,https://wifire-data.sdsc.edu/data//burnpro3d/d/bf/6e/run_bf6e2540-0812-4965-ac6c-cb54b272a04f/png/run_bf6e2540-0812-4965-ac6c-cb54b272a04f_fuels-dens_2100_000.png +12,180,0.2,ST5_FF_DUET,ST5_ignite_strip.dat,other,unsafe,marginal,,140833,https://wifire-data.sdsc.edu/data//burnpro3d/d/15/b6/run_15b6b4a2-07db-4e52-a7b5-7729c3deb7b8/png/run_15b6b4a2-07db-4e52-a7b5-7729c3deb7b8_fuels-dens_2100_000.png +8,255,0.2,ST5_FFDUET_Over10m,ST5_ignite_ring.dat,unsafe,other,no,,103290,https://wifire-data.sdsc.edu/data//burnpro3d/d/08/b8/run_08b827c2-d693-4452-9785-18e455a13f08/png/run_08b827c2-d693-4452-9785-18e455a13f08_fuels-dens_2100_000.png +8,255,0.2,ST5_FFDUET_Over10m,ST5_ignite_contour.dat,other,safe,yes,,131849,https://wifire-data.sdsc.edu/data//burnpro3d/d/aa/a0/run_aaa05474-3dcc-4fff-ad5a-dd0ac19c7910/png/run_aaa05474-3dcc-4fff-ad5a-dd0ac19c7910_fuels-dens_2100_000.png +2,240,0.2,ST5_FF_DUET,ST5_ignite_ring.dat,safe,safe,yes,,139734,https://wifire-data.sdsc.edu/data//burnpro3d/d/ee/42/run_ee42b86d-2a37-4ae8-a2e9-27078e9fd73d/png/run_ee42b86d-2a37-4ae8-a2e9-27078e9fd73d_fuels-dens_2100_000.png +2,240,0.2,ST5_FF_DUET,ST5_ignite_strip.dat,safe,safe,yes,,138655,https://wifire-data.sdsc.edu/data//burnpro3d/d/fe/b0/run_feb0738e-9855-4eff-8966-1083d90537f9/png/run_feb0738e-9855-4eff-8966-1083d90537f9_fuels-dens_2100_000.png +8,255,0.2,ST5_FFDUET_TLS,ST5_ignite_contour.dat,other,safe,yes,,129128,https://wifire-data.sdsc.edu/data//burnpro3d/d/0b/f7/run_0bf74442-e502-4d58-b7c5-b3c1ebb6f137/png/run_0bf74442-e502-4d58-b7c5-b3c1ebb6f137_fuels-dens_2100_000.png +8,255,0.2,ST5_FFDUET_TLS,ST5_ignite_ring.dat,unsafe,unsafe,marginal,,127804,https://wifire-data.sdsc.edu/data//burnpro3d/d/96/cf/run_96cfea7c-faa8-4587-af91-213d6a643bfb/png/run_96cfea7c-faa8-4587-af91-213d6a643bfb_fuels-dens_2100_000.png +8,255,0.2,ST5_FFDUET_TLS,ST5_ignite_strip.dat,other,other,yes,,161041,https://wifire-data.sdsc.edu/data//burnpro3d/d/bf/e9/run_bfe933bb-b94e-47c2-8381-d8a98edebbc9/png/run_bfe933bb-b94e-47c2-8381-d8a98edebbc9_fuels-dens_2100_000.png +12,225,0.2,ST5_FF_DUET,ST5_ignite_contour.dat,unsafe,unsafe,no,,160474,https://wifire-data.sdsc.edu/data//burnpro3d/d/01/69/run_01697db3-b487-4ef6-80d5-2b055c4a07ae/png/run_01697db3-b487-4ef6-80d5-2b055c4a07ae_fuels-dens_2100_000.png +12,225,0.2,ST5_FF_DUET,ST5_ignite_ring.dat,unsafe,unsafe,no,,185673,https://wifire-data.sdsc.edu/data//burnpro3d/d/a1/3e/run_a13e4d57-a5b8-439a-a4d6-f8dd210d4ac8/png/run_a13e4d57-a5b8-439a-a4d6-f8dd210d4ac8_fuels-dens_2100_000.png +8,225,0.2,ST5_FFDUET_TLS,ST5_ignite_ring.dat,unsafe,unsafe,no,,146890,https://wifire-data.sdsc.edu/data//burnpro3d/d/7d/be/run_7dbefa70-e1b3-4004-8c36-702a4f88963a/png/run_7dbefa70-e1b3-4004-8c36-702a4f88963a_fuels-dens_2100_000.png +8,195,0.2,ST5_FFDUET_TLS,ST5_ignite_strip.dat,safe,other,marginal,,90108,https://wifire-data.sdsc.edu/data//burnpro3d/d/a3/4e/run_a34edf73-63f6-4c09-8f07-deb14c63e68f/png/run_a34edf73-63f6-4c09-8f07-deb14c63e68f_fuels-dens_2100_000.png +8,195,0.2,ST5_FFDUET_TLS,ST5_ignite_contour.dat,safe,other,yes,,136530,https://wifire-data.sdsc.edu/data//burnpro3d/d/f9/cb/run_f9cb0235-1d75-41a6-a5f6-d50f17af8dbf/png/run_f9cb0235-1d75-41a6-a5f6-d50f17af8dbf_fuels-dens_2100_000.png +8,195,0.2,ST5_FFDUET_TLS,ST5_ignite_ring.dat,unsafe,unsafe,no,,178937,https://wifire-data.sdsc.edu/data//burnpro3d/d/c3/93/run_c393322a-888b-4458-87ec-4636a25b3d48/png/run_c393322a-888b-4458-87ec-4636a25b3d48_fuels-dens_2100_000.png +12,195,0.2,ST5_FFDUET_TLS,ST5_ignite_ring.dat,unsafe,unsafe,no,,119062,https://wifire-data.sdsc.edu/data//burnpro3d/d/10/3b/run_103b31d5-2a95-4c9c-aff1-e2404997e37c/png/run_103b31d5-2a95-4c9c-aff1-e2404997e37c_fuels-dens_2100_000.png +12,180,0.2,ST5_FFDUET_Over10m,ST5_ignite_contour.dat,safe,other,yes,,141650,https://wifire-data.sdsc.edu/data//burnpro3d/d/8a/d0/run_8ad0328e-e4cb-4fbd-9b0b-f0287fa463de/png/run_8ad0328e-e4cb-4fbd-9b0b-f0287fa463de_fuels-dens_2100_000.png +12,195,0.2,ST5_FFDUET_TLS,ST5_ignite_contour.dat,safe,unsafe,yes,,62512,https://wifire-data.sdsc.edu/data//burnpro3d/d/b9/03/run_b9038368-8407-4a9b-b84f-a83f8bf32eed/png/run_b9038368-8407-4a9b-b84f-a83f8bf32eed_fuels-dens_2100_000.png +8,255,0.2,ST5_FF_DUET,ST5_ignite_ring.dat,unsafe,unsafe,no,,163991,https://wifire-data.sdsc.edu/data//burnpro3d/d/0a/f6/run_0af62715-ca0b-4e7c-9367-1c8d9640a344/png/run_0af62715-ca0b-4e7c-9367-1c8d9640a344_fuels-dens_2100_000.png +12,180,0.2,ST5_FFDUET_Over10m,ST5_ignite_ring.dat,unsafe,unsafe,marginal,,184626,https://wifire-data.sdsc.edu/data//burnpro3d/d/a7/cd/run_a7cd9336-7c4a-4c34-bb18-bf68fa2bc922/png/run_a7cd9336-7c4a-4c34-bb18-bf68fa2bc922_fuels-dens_2100_000.png +8,255,0.2,ST5_FF_DUET,ST5_ignite_strip.dat,unsafe,unsafe,no,,164815,https://wifire-data.sdsc.edu/data//burnpro3d/d/7a/cb/run_7acb3322-92de-45cf-b2ef-d88234b7a8dc/png/run_7acb3322-92de-45cf-b2ef-d88234b7a8dc_fuels-dens_2100_000.png +12,180,0.2,ST5_FFDUET_Over10m,ST5_ignite_strip.dat,safe,unsafe,yes,,123497,https://wifire-data.sdsc.edu/data//burnpro3d/d/76/c8/run_76c8511a-af9c-4f5d-ad17-db4596e21d3c/png/run_76c8511a-af9c-4f5d-ad17-db4596e21d3c_fuels-dens_2100_000.png +8,240,0.2,ST5_FFDUET_Over10m,ST5_ignite_ring.dat,unsafe,unsafe,no,,91166,https://wifire-data.sdsc.edu/data//burnpro3d/d/ed/58/run_ed5876e5-263e-4b91-b426-7f2301387613/png/run_ed5876e5-263e-4b91-b426-7f2301387613_fuels-dens_2100_000.png +5,195,0.2,ST5_FFDUET_Over10m,ST5_ignite_ring.dat,other,unsafe,no,,85593,https://wifire-data.sdsc.edu/data//burnpro3d/d/1f/99/run_1f994a2a-188e-4409-920b-238785859b5b/png/run_1f994a2a-188e-4409-920b-238785859b5b_fuels-dens_2100_000.png +8,180,0.2,ST5_FFDUET_TLS,ST5_ignite_strip.dat,safe,unsafe,yes,,153331,https://wifire-data.sdsc.edu/data//burnpro3d/d/f3/7e/run_f37e1f7b-003d-4b73-bfd6-1bbc3855b39f/png/run_f37e1f7b-003d-4b73-bfd6-1bbc3855b39f_fuels-dens_2100_000.png +12,225,0.2,ST5_FF_DUET,ST5_ignite_strip.dat,unsafe,unsafe,no,,181830,https://wifire-data.sdsc.edu/data//burnpro3d/d/77/40/run_77406ab4-62d0-45b3-a3eb-c5e34187e099/png/run_77406ab4-62d0-45b3-a3eb-c5e34187e099_fuels-dens_2100_000.png +8,240,0.2,ST5_FFDUET_Over10m,ST5_ignite_strip.dat,other,unsafe,marginal,,173347,https://wifire-data.sdsc.edu/data//burnpro3d/d/61/8e/run_618e9f2d-9f1d-449e-b637-01428f4e5c8b/png/run_618e9f2d-9f1d-449e-b637-01428f4e5c8b_fuels-dens_2100_000.png +12,195,0.2,ST5_FFDUET_TLS,ST5_ignite_strip.dat,safe,unsafe,no,,120984,https://wifire-data.sdsc.edu/data//burnpro3d/d/3c/95/run_3c952e09-55c1-48e6-aaf3-e8ee2a73ab79/png/run_3c952e09-55c1-48e6-aaf3-e8ee2a73ab79_fuels-dens_2100_000.png +12,255,0.35,ST5_FFDUET_Over10m,ST5_ignite_contour.dat,other,safe,yes,,110867,https://wifire-data.sdsc.edu/data//burnpro3d/d/9b/a9/run_9ba99282-89e8-4d64-be0f-bc03acc59416/png/run_9ba99282-89e8-4d64-be0f-bc03acc59416_fuels-dens_2100_000.png +12,255,0.35,ST5_FFDUET_Over10m,ST5_ignite_ring.dat,unsafe,unsafe,yes,,95092,https://wifire-data.sdsc.edu/data//burnpro3d/d/7a/bf/run_7abf79b0-aaab-4409-a7b4-c987326061c7/png/run_7abf79b0-aaab-4409-a7b4-c987326061c7_fuels-dens_2100_000.png +8,240,0.35,ST5_FFDUET_Over10m,ST5_ignite_ring.dat,other,other,yes,,114071,https://wifire-data.sdsc.edu/data//burnpro3d/d/de/ac/run_deacb5f4-cfd7-4fd0-8a78-a26396db05aa/png/run_deacb5f4-cfd7-4fd0-8a78-a26396db05aa_fuels-dens_2100_000.png +5,195,0.35,ST5_FFDUET_Over10m,ST5_ignite_strip.dat,safe,other,yes,,149009,https://wifire-data.sdsc.edu/data//burnpro3d/d/2d/9e/run_2d9e7045-205c-4b5b-8915-c1ce6471c686/png/run_2d9e7045-205c-4b5b-8915-c1ce6471c686_fuels-dens_2100_000.png +2,255,0.35,ST5_FF_DUET,ST5_ignite_contour.dat,safe,safe,yes,,137711,https://wifire-data.sdsc.edu/data//burnpro3d/d/a1/99/run_a19939b2-e70c-4538-abd7-420665b3c8e2/png/run_a19939b2-e70c-4538-abd7-420665b3c8e2_fuels-dens_2100_000.png +5,195,0.35,ST5_FFDUET_Over10m,ST5_ignite_ring.dat,safe,other,no,,106044,https://wifire-data.sdsc.edu/data//burnpro3d/d/86/c5/run_86c5cb2e-2c2d-437e-9923-94f3dca8dd0e/png/run_86c5cb2e-2c2d-437e-9923-94f3dca8dd0e_fuels-dens_2100_000.png +2,240,0.35,ST5_FF_DUET,ST5_ignite_strip.dat,safe,safe,yes,,125567,https://wifire-data.sdsc.edu/data//burnpro3d/d/fb/5f/run_fb5f8be2-8f90-42d4-834f-48179e7908d2/png/run_fb5f8be2-8f90-42d4-834f-48179e7908d2_fuels-dens_2100_000.png +12,255,0.35,ST5_FFDUET_Over10m,ST5_ignite_strip.dat,other,other,yes,,138019,https://wifire-data.sdsc.edu/data//burnpro3d/d/e8/02/run_e802b05c-d3e0-46a7-9043-723605f6612e/png/run_e802b05c-d3e0-46a7-9043-723605f6612e_fuels-dens_2100_000.png +8,225,0.35,ST5_FFDUET_Over10m,ST5_ignite_strip.dat,safe,unsafe,yes,,149770,https://wifire-data.sdsc.edu/data//burnpro3d/d/cc/f2/run_ccf20925-a4aa-46f4-8a75-ca0d26c30438/png/run_ccf20925-a4aa-46f4-8a75-ca0d26c30438_fuels-dens_2100_000.png +2,255,0.35,ST5_FF_DUET,ST5_ignite_ring.dat,safe,safe,yes,,162756,https://wifire-data.sdsc.edu/data//burnpro3d/d/50/8d/run_508d740e-e91c-4b5c-bb8b-b7867723a898/png/run_508d740e-e91c-4b5c-bb8b-b7867723a898_fuels-dens_2100_000.png +3,225,0.35,ST5_FF_DUET,ST5_ignite_ring.dat,safe,safe,marginal,,68938,https://wifire-data.sdsc.edu/data//burnpro3d/d/cf/19/run_cf198727-8f0c-4579-9c52-a9a1c0070c54/png/run_cf198727-8f0c-4579-9c52-a9a1c0070c54_fuels-dens_2100_000.png +5,225,0.35,ST5_FFDUET_Over10m,ST5_ignite_strip.dat,safe,safe,yes,,29449,https://wifire-data.sdsc.edu/data//burnpro3d/d/b5/c4/run_b5c451e3-bf0f-4bc2-b5f6-04f5110889d8/png/run_b5c451e3-bf0f-4bc2-b5f6-04f5110889d8_fuels-dens_2100_000.png +5,225,0.35,ST5_FFDUET_Over10m,ST5_ignite_ring.dat,other,other,marginal,,118493,https://wifire-data.sdsc.edu/data//burnpro3d/d/b7/40/run_b740eef6-b8b2-41ba-a12c-e39b50bdffdd/png/run_b740eef6-b8b2-41ba-a12c-e39b50bdffdd_fuels-dens_2100_000.png +8,240,0.35,ST5_FFDUET_Over10m,ST5_ignite_strip.dat,safe,other,yes,,138647,https://wifire-data.sdsc.edu/data//burnpro3d/d/e8/1e/run_e81e59c6-fe49-4010-903e-c87d6e17fc60/png/run_e81e59c6-fe49-4010-903e-c87d6e17fc60_fuels-dens_2100_000.png +2,180,0.35,ST5_FF_DUET,ST5_ignite_ring.dat,safe,safe,yes,,120496,https://wifire-data.sdsc.edu/data//burnpro3d/d/bb/3d/run_bb3da6e9-a192-4659-b5b9-8a2210db436a/png/run_bb3da6e9-a192-4659-b5b9-8a2210db436a_fuels-dens_2100_000.png +2,180,0.35,ST5_FF_DUET,ST5_ignite_contour.dat,safe,safe,yes,,90637,https://wifire-data.sdsc.edu/data//burnpro3d/d/69/85/run_69856986-c728-478e-9361-ed6a8910d78c/png/run_69856986-c728-478e-9361-ed6a8910d78c_fuels-dens_2100_000.png +5,225,0.35,ST5_FFDUET_Over10m,ST5_ignite_contour.dat,safe,safe,yes,,110292,https://wifire-data.sdsc.edu/data//burnpro3d/d/b2/6a/run_b26a97e2-31f8-4f81-ba52-cd43b7b68b77/png/run_b26a97e2-31f8-4f81-ba52-cd43b7b68b77_fuels-dens_2100_000.png +2,255,0.35,ST5_FF_DUET,ST5_ignite_strip.dat,safe,safe,yes,,98506,https://wifire-data.sdsc.edu/data//burnpro3d/d/47/3f/run_473f5368-2c59-470a-bde6-c863c9aaffa9/png/run_473f5368-2c59-470a-bde6-c863c9aaffa9_fuels-dens_2100_000.png +8,225,0.35,ST5_FFDUET_Over10m,ST5_ignite_contour.dat,safe,safe,yes,,114937,https://wifire-data.sdsc.edu/data//burnpro3d/d/f0/bb/run_f0bb3358-e260-4cbf-8a58-26a92934e5da/png/run_f0bb3358-e260-4cbf-8a58-26a92934e5da_fuels-dens_2100_000.png +8,225,0.35,ST5_FFDUET_Over10m,ST5_ignite_ring.dat,other,unsafe,marginal,,110695,https://wifire-data.sdsc.edu/data//burnpro3d/d/b9/cc/run_b9ccc474-e8c8-4dc8-b42a-e95bb3802f49/png/run_b9ccc474-e8c8-4dc8-b42a-e95bb3802f49_fuels-dens_2100_000.png +3,225,0.35,ST5_FF_DUET,ST5_ignite_strip.dat,safe,safe,yes,,128373,https://wifire-data.sdsc.edu/data//burnpro3d/d/d6/1a/run_d61a0ea0-26b5-49b7-9e1f-7199665ab7e9/png/run_d61a0ea0-26b5-49b7-9e1f-7199665ab7e9_fuels-dens_2100_000.png +8,240,0.35,ST5_FFDUET_Over10m,ST5_ignite_contour.dat,safe,safe,yes,,174194,https://wifire-data.sdsc.edu/data//burnpro3d/d/f5/26/run_f526013a-e008-4512-8c29-8876f265a3df/png/run_f526013a-e008-4512-8c29-8876f265a3df_fuels-dens_2100_000.png +12,240,0.35,ST5_FFDUET_Over10m,ST5_ignite_strip.dat,other,unsafe,yes,,156519,https://wifire-data.sdsc.edu/data//burnpro3d/d/23/83/run_23832cf2-eac1-4881-976d-f8977e8f4c5a/png/run_23832cf2-eac1-4881-976d-f8977e8f4c5a_fuels-dens_2100_000.png +12,240,0.35,ST5_FFDUET_Over10m,ST5_ignite_ring.dat,unsafe,unsafe,marginal,,125912,https://wifire-data.sdsc.edu/data//burnpro3d/d/de/8b/run_de8be3a4-1e88-4646-95ef-a30cff723549/png/run_de8be3a4-1e88-4646-95ef-a30cff723549_fuels-dens_2100_000.png +8,195,0.35,ST5_FFDUET_Over10m,ST5_ignite_strip.dat,safe,other,yes,,137347,https://wifire-data.sdsc.edu/data//burnpro3d/d/03/99/run_03993538-2d1f-4fb5-a6d6-b2fd87d20959/png/run_03993538-2d1f-4fb5-a6d6-b2fd87d20959_fuels-dens_2100_000.png +12,240,0.35,ST5_FFDUET_Over10m,ST5_ignite_contour.dat,other,other,yes,,107090,https://wifire-data.sdsc.edu/data//burnpro3d/d/8d/5a/run_8d5a1bcb-f6e6-4d4d-8154-af370e649e52/png/run_8d5a1bcb-f6e6-4d4d-8154-af370e649e52_fuels-dens_2100_000.png +2,225,0.35,ST5_FF_DUET,ST5_ignite_strip.dat,safe,safe,yes,,125038,https://wifire-data.sdsc.edu/data//burnpro3d/d/fa/59/run_fa598bbc-f9e7-4572-b155-bb661fa8bb55/png/run_fa598bbc-f9e7-4572-b155-bb661fa8bb55_fuels-dens_2100_000.png +3,180,0.35,ST5_FF_DUET,ST5_ignite_contour.dat,safe,safe,yes,,106465,https://wifire-data.sdsc.edu/data//burnpro3d/d/f8/54/run_f854fc36-eafa-4e32-b90e-d6932467ff79/png/run_f854fc36-eafa-4e32-b90e-d6932467ff79_fuels-dens_2100_000.png +2,195,0.35,ST5_FF_DUET,ST5_ignite_strip.dat,safe,safe,yes,,22580,https://wifire-data.sdsc.edu/data//burnpro3d/d/1c/10/run_1c1065d6-0989-4e90-84a6-70931df06dc7/png/run_1c1065d6-0989-4e90-84a6-70931df06dc7_fuels-dens_2100_000.png +12,195,0.35,ST5_FFDUET_Over10m,ST5_ignite_strip.dat,safe,unsafe,yes,,149435,https://wifire-data.sdsc.edu/data//burnpro3d/d/32/47/run_32475b72-540b-4d9a-8b5e-02527d989091/png/run_32475b72-540b-4d9a-8b5e-02527d989091_fuels-dens_2100_000.png +12,195,0.35,ST5_FFDUET_Over10m,ST5_ignite_ring.dat,other,unsafe,marginal,,129605,https://wifire-data.sdsc.edu/data//burnpro3d/d/b2/42/run_b2429533-ef71-4052-b27a-acf5d7a56a97/png/run_b2429533-ef71-4052-b27a-acf5d7a56a97_fuels-dens_2100_000.png +12,195,0.35,ST5_FFDUET_Over10m,ST5_ignite_contour.dat,other,other,yes,,126431,https://wifire-data.sdsc.edu/data//burnpro3d/d/18/0b/run_180b0e2c-7897-4480-90fb-5af391baa2f5/png/run_180b0e2c-7897-4480-90fb-5af391baa2f5_fuels-dens_2100_000.png +12,180,0.35,ST5_FFDUET_Over10m,ST5_ignite_contour.dat,safe,safe,yes,,113262,https://wifire-data.sdsc.edu/data//burnpro3d/d/7b/09/run_7b09f221-3c80-4fbc-a5ac-7572e36cff75/png/run_7b09f221-3c80-4fbc-a5ac-7572e36cff75_fuels-dens_2100_000.png +5,255,0.35,ST5_FFDUET_Over10m,ST5_ignite_ring.dat,other,safe,marginal,,65931,https://wifire-data.sdsc.edu/data//burnpro3d/d/bc/66/run_bc66c2fa-8d91-4442-b97b-279f4d7f9047/png/run_bc66c2fa-8d91-4442-b97b-279f4d7f9047_fuels-dens_2100_000.png +12,180,0.35,ST5_FFDUET_Over10m,ST5_ignite_ring.dat,unsafe,unsafe,marginal,,90371,https://wifire-data.sdsc.edu/data//burnpro3d/d/f5/68/run_f5686c0c-0b7a-4fa9-b632-8e04c8ea2bbd/png/run_f5686c0c-0b7a-4fa9-b632-8e04c8ea2bbd_fuels-dens_2100_000.png +3,180,0.35,ST5_FF_DUET,ST5_ignite_strip.dat,safe,safe,yes,,126065,https://wifire-data.sdsc.edu/data//burnpro3d/d/20/2e/run_202e64a7-8f3e-4edb-b6e3-b305fd8a9b82/png/run_202e64a7-8f3e-4edb-b6e3-b305fd8a9b82_fuels-dens_2100_000.png +12,180,0.35,ST5_FFDUET_Over10m,ST5_ignite_strip.dat,safe,other,yes,,167076,https://wifire-data.sdsc.edu/data//burnpro3d/d/47/b5/run_47b5392e-4721-44f1-a7b3-65a78be38f58/png/run_47b5392e-4721-44f1-a7b3-65a78be38f58_fuels-dens_2100_000.png +2,225,0.35,ST5_FF_DUET,ST5_ignite_ring.dat,safe,safe,yes,,88155,https://wifire-data.sdsc.edu/data//burnpro3d/d/00/1a/run_001a5aa3-1d00-473d-8e9c-56c6c217a025/png/run_001a5aa3-1d00-473d-8e9c-56c6c217a025_fuels-dens_2100_000.png +8,180,0.35,ST5_FFDUET_Over10m,ST5_ignite_strip.dat,safe,unsafe,yes,,134253,https://wifire-data.sdsc.edu/data//burnpro3d/d/c5/1a/run_c51a3549-a184-4548-ade5-c31198c42ad3/png/run_c51a3549-a184-4548-ade5-c31198c42ad3_fuels-dens_2100_000.png +8,180,0.35,ST5_FFDUET_Over10m,ST5_ignite_ring.dat,safe,other,yes,,104503,https://wifire-data.sdsc.edu/data//burnpro3d/d/a0/24/run_a024ccb3-f21e-45e9-946c-8549a06e3fb9/png/run_a024ccb3-f21e-45e9-946c-8549a06e3fb9_fuels-dens_2100_000.png +8,180,0.35,ST5_FFDUET_Over10m,ST5_ignite_contour.dat,safe,other,yes,,149185,https://wifire-data.sdsc.edu/data//burnpro3d/d/aa/61/run_aa615dd8-e6aa-4d71-8789-ee0f186be562/png/run_aa615dd8-e6aa-4d71-8789-ee0f186be562_fuels-dens_2100_000.png +2,225,0.35,ST5_FF_DUET,ST5_ignite_contour.dat,safe,safe,yes,,139562,https://wifire-data.sdsc.edu/data//burnpro3d/d/7e/91/run_7e91030f-71bd-477e-954d-58d07d54dc7d/png/run_7e91030f-71bd-477e-954d-58d07d54dc7d_fuels-dens_2100_000.png +3,180,0.35,ST5_FF_DUET,ST5_ignite_ring.dat,safe,safe,yes,,107170,https://wifire-data.sdsc.edu/data//burnpro3d/d/88/73/run_88735dff-1801-4962-9930-8026e5b93efe/png/run_88735dff-1801-4962-9930-8026e5b93efe_fuels-dens_2100_000.png +5,255,0.35,ST5_FFDUET_Over10m,ST5_ignite_contour.dat,safe,safe,yes,,104875,https://wifire-data.sdsc.edu/data//burnpro3d/d/61/8a/run_618a7747-f084-48ff-ba4b-abbc815a9645/png/run_618a7747-f084-48ff-ba4b-abbc815a9645_fuels-dens_2100_000.png +2,195,0.35,ST5_FF_DUET,ST5_ignite_ring.dat,safe,safe,yes,,108034,https://wifire-data.sdsc.edu/data//burnpro3d/d/54/b7/run_54b7663a-c33b-4f7c-9cf8-28261207e72c/png/run_54b7663a-c33b-4f7c-9cf8-28261207e72c_fuels-dens_2100_000.png +3,195,0.35,ST5_FF_DUET,ST5_ignite_contour.dat,safe,safe,yes,,175991,https://wifire-data.sdsc.edu/data//burnpro3d/d/6e/c3/run_6ec320c8-f505-4402-bde0-662c071013bc/png/run_6ec320c8-f505-4402-bde0-662c071013bc_fuels-dens_2100_000.png +2,240,0.35,ST5_FF_DUET,ST5_ignite_ring.dat,safe,safe,marginal,,112980,https://wifire-data.sdsc.edu/data//burnpro3d/d/09/ea/run_09ea0d6d-df1d-4d1d-80c5-65bfa02f56c8/png/run_09ea0d6d-df1d-4d1d-80c5-65bfa02f56c8_fuels-dens_2100_000.png +2,240,0.35,ST5_FF_DUET,ST5_ignite_contour.dat,safe,safe,yes,,147970,https://wifire-data.sdsc.edu/data//burnpro3d/d/7a/0b/run_7a0b582a-beec-4184-bdf1-d48e1ee9ad96/png/run_7a0b582a-beec-4184-bdf1-d48e1ee9ad96_fuels-dens_2100_000.png +2,180,0.35,ST5_FF_DUET,ST5_ignite_strip.dat,safe,safe,yes,,105031,https://wifire-data.sdsc.edu/data//burnpro3d/d/a7/63/run_a7635c68-4d52-40e4-85ee-23025fae6b89/png/run_a7635c68-4d52-40e4-85ee-23025fae6b89_fuels-dens_2100_000.png +8,195,0.35,ST5_FFDUET_Over10m,ST5_ignite_ring.dat,safe,other,no,,96976,https://wifire-data.sdsc.edu/data//burnpro3d/d/e2/7d/run_e27d101b-b236-4ef5-8bf5-73b8db6e27dd/png/run_e27d101b-b236-4ef5-8bf5-73b8db6e27dd_fuels-dens_2100_000.png +8,195,0.35,ST5_FFDUET_Over10m,ST5_ignite_contour.dat,safe,other,yes,,97080,https://wifire-data.sdsc.edu/data//burnpro3d/d/33/fe/run_33fe73c0-ee0a-4695-aa75-7ab35090c298/png/run_33fe73c0-ee0a-4695-aa75-7ab35090c298_fuels-dens_2100_000.png +5,240,0.35,ST5_FFDUET_Over10m,ST5_ignite_contour.dat,safe,safe,yes,,138491,https://wifire-data.sdsc.edu/data//burnpro3d/d/f7/fb/run_f7fb3288-beed-40b2-a0f7-e4addcdb98a9/png/run_f7fb3288-beed-40b2-a0f7-e4addcdb98a9_fuels-dens_2100_000.png +5,240,0.35,ST5_FFDUET_Over10m,ST5_ignite_ring.dat,other,other,marginal,,62604,https://wifire-data.sdsc.edu/data//burnpro3d/d/4f/4a/run_4f4a0fe4-cc29-4410-a187-bf9f633d0c4c/png/run_4f4a0fe4-cc29-4410-a187-bf9f633d0c4c_fuels-dens_2100_000.png +12,225,0.35,ST5_FFDUET_Over10m,ST5_ignite_strip.dat,unsafe,unsafe,no,,91870,https://wifire-data.sdsc.edu/data//burnpro3d/d/0c/6b/run_0c6b1929-a209-4425-9bb0-7b799412d59b/png/run_0c6b1929-a209-4425-9bb0-7b799412d59b_fuels-dens_2100_000.png +12,225,0.35,ST5_FFDUET_Over10m,ST5_ignite_ring.dat,unsafe,unsafe,marginal,,143312,https://wifire-data.sdsc.edu/data//burnpro3d/d/8f/9d/run_8f9da3e7-4375-4cdc-a748-8ae57a0e66e5/png/run_8f9da3e7-4375-4cdc-a748-8ae57a0e66e5_fuels-dens_2100_000.png +5,240,0.35,ST5_FFDUET_Over10m,ST5_ignite_strip.dat,safe,safe,yes,,127830,https://wifire-data.sdsc.edu/data//burnpro3d/d/a3/46/run_a346293d-1ff3-4bd3-b68d-91a379906c2f/png/run_a346293d-1ff3-4bd3-b68d-91a379906c2f_fuels-dens_2100_000.png +12,225,0.35,ST5_FFDUET_Over10m,ST5_ignite_contour.dat,safe,other,yes,,133452,https://wifire-data.sdsc.edu/data//burnpro3d/d/d5/70/run_d57042e1-4fe5-45d1-97b0-bcba48908ca0/png/run_d57042e1-4fe5-45d1-97b0-bcba48908ca0_fuels-dens_2100_000.png +8,255,0.35,ST5_FFDUET_Over10m,ST5_ignite_contour.dat,safe,safe,yes,,104204,https://wifire-data.sdsc.edu/data//burnpro3d/d/ab/e4/run_abe40569-b6bb-4996-9120-112673edd755/png/run_abe40569-b6bb-4996-9120-112673edd755_fuels-dens_2100_000.png +8,255,0.35,ST5_FFDUET_Over10m,ST5_ignite_ring.dat,safe,safe,yes,,115274,https://wifire-data.sdsc.edu/data//burnpro3d/d/c5/b2/run_c5b21ec0-151c-4c8f-b619-d3747020e55e/png/run_c5b21ec0-151c-4c8f-b619-d3747020e55e_fuels-dens_2100_000.png +3,195,0.35,ST5_FF_DUET,ST5_ignite_strip.dat,safe,safe,yes,,171287,https://wifire-data.sdsc.edu/data//burnpro3d/d/20/cd/run_20cd2c34-29cd-4363-860a-5582ad54448d/png/run_20cd2c34-29cd-4363-860a-5582ad54448d_fuels-dens_2100_000.png +3,195,0.35,ST5_FF_DUET,ST5_ignite_ring.dat,safe,safe,yes,,90898,https://wifire-data.sdsc.edu/data//burnpro3d/d/29/60/run_29603a94-01d0-4c79-a74f-a45bf8704e86/png/run_29603a94-01d0-4c79-a74f-a45bf8704e86_fuels-dens_2100_000.png +8,255,0.35,ST5_FFDUET_Over10m,ST5_ignite_strip.dat,safe,safe,yes,,134875,https://wifire-data.sdsc.edu/data//burnpro3d/d/9a/44/run_9a44ced2-3402-4199-9f80-612b885a8aef/png/run_9a44ced2-3402-4199-9f80-612b885a8aef_fuels-dens_2100_000.png +2,195,0.35,ST5_FF_DUET,ST5_ignite_contour.dat,safe,safe,yes,,105376,https://wifire-data.sdsc.edu/data//burnpro3d/d/b0/c5/run_b0c5303f-f943-4212-a2d8-66ae6d320477/png/run_b0c5303f-f943-4212-a2d8-66ae6d320477_fuels-dens_2100_000.png +3,225,0.35,ST5_FF_DUET,ST5_ignite_contour.dat,safe,safe,yes,,140686,https://wifire-data.sdsc.edu/data//burnpro3d/d/37/1a/run_371ab45d-eb3f-4a8f-935b-18d4f339c146/png/run_371ab45d-eb3f-4a8f-935b-18d4f339c146_fuels-dens_2100_000.png +5,255,0.35,ST5_FFDUET_Over10m,ST5_ignite_strip.dat,safe,safe,yes,,126418,https://wifire-data.sdsc.edu/data//burnpro3d/d/f8/6f/run_f86faf40-7ea1-4417-b887-476eb3daf6cc/png/run_f86faf40-7ea1-4417-b887-476eb3daf6cc_fuels-dens_2100_000.png +2,255,0.35,ST5_FFDUET_TLS,ST5_ignite_strip.dat,safe,safe,yes,,122641,https://wifire-data.sdsc.edu/data//burnpro3d/d/1a/25/run_1a250910-836b-4c77-be2c-0a53f9ac938f/png/run_1a250910-836b-4c77-be2c-0a53f9ac938f_fuels-dens_2100_000.png +3,240,0.35,ST5_FF_DUET,ST5_ignite_contour.dat,safe,safe,yes,,187078,https://wifire-data.sdsc.edu/data//burnpro3d/d/92/1c/run_921ce831-f77b-499d-8360-782c1cedf22d/png/run_921ce831-f77b-499d-8360-782c1cedf22d_fuels-dens_2100_000.png +8,195,0.35,ST5_FFDUET_TLS,ST5_ignite_contour.dat,safe,safe,yes,,114646,https://wifire-data.sdsc.edu/data//burnpro3d/d/c4/7a/run_c47ac003-aa9e-4394-9456-99bbbeb31720/png/run_c47ac003-aa9e-4394-9456-99bbbeb31720_fuels-dens_2100_000.png +12,225,0.35,ST5_FF_DUET,ST5_ignite_contour.dat,safe,unsafe,marginal,,141063,https://wifire-data.sdsc.edu/data//burnpro3d/d/5c/18/run_5c18165d-4d2d-43dc-a023-2f5a95efdacf/png/run_5c18165d-4d2d-43dc-a023-2f5a95efdacf_fuels-dens_2100_000.png +12,225,0.35,ST5_FF_DUET,ST5_ignite_ring.dat,unsafe,unsafe,no,,70148,https://wifire-data.sdsc.edu/data//burnpro3d/d/94/6c/run_946cbdc7-047f-4b4e-b7bb-b2b59ed1d3f5/png/run_946cbdc7-047f-4b4e-b7bb-b2b59ed1d3f5_fuels-dens_2100_000.png +12,225,0.35,ST5_FF_DUET,ST5_ignite_strip.dat,unsafe,unsafe,marginal,,115547,https://wifire-data.sdsc.edu/data//burnpro3d/d/0c/e2/run_0ce283a6-600d-4c06-99b2-eab440d6c583/png/run_0ce283a6-600d-4c06-99b2-eab440d6c583_fuels-dens_2100_000.png +8,180,0.35,ST5_FFDUET_TLS,ST5_ignite_strip.dat,safe,other,yes,,95233,https://wifire-data.sdsc.edu/data//burnpro3d/d/b2/b0/run_b2b0c55b-7ec6-4823-8d01-bcac07457c42/png/run_b2b0c55b-7ec6-4823-8d01-bcac07457c42_fuels-dens_2100_000.png +8,180,0.35,ST5_FFDUET_TLS,ST5_ignite_ring.dat,safe,other,yes,,118277,https://wifire-data.sdsc.edu/data//burnpro3d/d/81/18/run_811874d0-42d0-45fc-9775-5e796f765d31/png/run_811874d0-42d0-45fc-9775-5e796f765d31_fuels-dens_2100_000.png +8,180,0.35,ST5_FFDUET_TLS,ST5_ignite_contour.dat,safe,safe,yes,,148304,https://wifire-data.sdsc.edu/data//burnpro3d/d/8d/9a/run_8d9a5191-bb63-4055-bbdd-43bcd9c8b799/png/run_8d9a5191-bb63-4055-bbdd-43bcd9c8b799_fuels-dens_2100_000.png +8,195,0.35,ST5_FFDUET_TLS,ST5_ignite_ring.dat,other,unsafe,yes,,44118,https://wifire-data.sdsc.edu/data//burnpro3d/d/05/20/run_0520953a-f0d4-4196-94fc-ad84f3c25d26/png/run_0520953a-f0d4-4196-94fc-ad84f3c25d26_fuels-dens_2100_000.png +12,240,0.35,ST5_FF_DUET,ST5_ignite_contour.dat,other,unsafe,marginal,,163076,https://wifire-data.sdsc.edu/data//burnpro3d/d/d3/f0/run_d3f09f5f-7a0f-43e4-8fb9-bdadcec59dc4/png/run_d3f09f5f-7a0f-43e4-8fb9-bdadcec59dc4_fuels-dens_2100_000.png +5,255,0.35,ST5_FFDUET_TLS,ST5_ignite_strip.dat,safe,safe,yes,,127334,https://wifire-data.sdsc.edu/data//burnpro3d/d/0e/b4/run_0eb4f173-f88d-4e10-89b3-ed4544ed0221/png/run_0eb4f173-f88d-4e10-89b3-ed4544ed0221_fuels-dens_2100_000.png +5,255,0.35,ST5_FFDUET_TLS,ST5_ignite_ring.dat,other,safe,yes,,115017,https://wifire-data.sdsc.edu/data//burnpro3d/d/cd/7e/run_cd7e99ed-066d-4a7d-87ef-d3d1a5edc057/png/run_cd7e99ed-066d-4a7d-87ef-d3d1a5edc057_fuels-dens_2100_000.png +5,255,0.35,ST5_FFDUET_TLS,ST5_ignite_contour.dat,safe,safe,yes,,106626,https://wifire-data.sdsc.edu/data//burnpro3d/d/e2/5b/run_e25ba478-3a98-4fdf-854f-bb7989ab182a/png/run_e25ba478-3a98-4fdf-854f-bb7989ab182a_fuels-dens_2100_000.png +12,240,0.35,ST5_FF_DUET,ST5_ignite_strip.dat,other,unsafe,no,,154463,https://wifire-data.sdsc.edu/data//burnpro3d/d/6d/a0/run_6da08e34-4ed9-49d1-beaa-4aa0c135d389/png/run_6da08e34-4ed9-49d1-beaa-4aa0c135d389_fuels-dens_2100_000.png +5,240,0.35,ST5_FFDUET_TLS,ST5_ignite_strip.dat,safe,safe,yes,,129730,https://wifire-data.sdsc.edu/data//burnpro3d/d/b6/fe/run_b6fe84ac-19af-46ba-ac6b-822d84071da6/png/run_b6fe84ac-19af-46ba-ac6b-822d84071da6_fuels-dens_2100_000.png +5,240,0.35,ST5_FFDUET_TLS,ST5_ignite_ring.dat,other,safe,no,,78126,https://wifire-data.sdsc.edu/data//burnpro3d/d/4a/55/run_4a5507de-ec11-4760-80f5-f5e6c8badc54/png/run_4a5507de-ec11-4760-80f5-f5e6c8badc54_fuels-dens_2100_000.png +5,240,0.35,ST5_FFDUET_TLS,ST5_ignite_contour.dat,safe,safe,yes,,124115,https://wifire-data.sdsc.edu/data//burnpro3d/d/96/f6/run_96f69182-9cf6-4540-a1f3-3123b29a84c7/png/run_96f69182-9cf6-4540-a1f3-3123b29a84c7_fuels-dens_2100_000.png +12,240,0.35,ST5_FF_DUET,ST5_ignite_ring.dat,unsafe,unsafe,marginal,,142175,https://wifire-data.sdsc.edu/data//burnpro3d/d/71/85/run_7185d833-19d1-45e0-87de-d479fa34ceed/png/run_7185d833-19d1-45e0-87de-d479fa34ceed_fuels-dens_2100_000.png +12,255,0.35,ST5_FF_DUET,ST5_ignite_contour.dat,other,safe,yes,,103171,https://wifire-data.sdsc.edu/data//burnpro3d/d/47/1f/run_471f4eec-05e8-418d-92d4-21f13cb83327/png/run_471f4eec-05e8-418d-92d4-21f13cb83327_fuels-dens_2100_000.png +8,195,0.35,ST5_FFDUET_TLS,ST5_ignite_strip.dat,safe,other,yes,,146046,https://wifire-data.sdsc.edu/data//burnpro3d/d/be/81/run_be815ba4-fa8f-45d1-b818-86f954cc4f33/png/run_be815ba4-fa8f-45d1-b818-86f954cc4f33_fuels-dens_2100_000.png +8,225,0.35,ST5_FFDUET_TLS,ST5_ignite_ring.dat,safe,unsafe,yes,,133784,https://wifire-data.sdsc.edu/data//burnpro3d/d/cb/ec/run_cbec98b3-48c0-48c0-a8c5-d534dc4f1acc/png/run_cbec98b3-48c0-48c0-a8c5-d534dc4f1acc_fuels-dens_2100_000.png +8,255,0.35,ST5_FF_DUET,ST5_ignite_ring.dat,other,safe,yes,,172812,https://wifire-data.sdsc.edu/data//burnpro3d/d/e2/43/run_e243921f-2ee0-42bb-a0ad-7ad0d0b9affd/png/run_e243921f-2ee0-42bb-a0ad-7ad0d0b9affd_fuels-dens_2100_000.png +8,255,0.35,ST5_FF_DUET,ST5_ignite_strip.dat,safe,safe,yes,,99347,https://wifire-data.sdsc.edu/data//burnpro3d/d/ad/5b/run_ad5b4be0-3968-4ff0-95e8-a62855aec682/png/run_ad5b4be0-3968-4ff0-95e8-a62855aec682_fuels-dens_2100_000.png +12,180,0.35,ST5_FFDUET_TLS,ST5_ignite_strip.dat,safe,other,yes,,161019,https://wifire-data.sdsc.edu/data//burnpro3d/d/4b/e5/run_4be51244-2c70-4696-8bd8-28e114340b27/png/run_4be51244-2c70-4696-8bd8-28e114340b27_fuels-dens_2100_000.png +8,255,0.35,ST5_FFDUET_TLS,ST5_ignite_strip.dat,other,safe,yes,,135821,https://wifire-data.sdsc.edu/data//burnpro3d/d/82/2a/run_822af63d-78e7-4cd3-9b85-d67df349089f/png/run_822af63d-78e7-4cd3-9b85-d67df349089f_fuels-dens_2100_000.png +8,255,0.35,ST5_FFDUET_TLS,ST5_ignite_ring.dat,other,other,yes,,107254,https://wifire-data.sdsc.edu/data//burnpro3d/d/6b/d9/run_6bd93a8d-47a6-4659-801e-cda5d5b6a11e/png/run_6bd93a8d-47a6-4659-801e-cda5d5b6a11e_fuels-dens_2100_000.png +8,255,0.35,ST5_FFDUET_TLS,ST5_ignite_contour.dat,safe,safe,yes,,108535,https://wifire-data.sdsc.edu/data//burnpro3d/d/ba/08/run_ba08805d-eefe-43bc-8263-f69a91aa62ca/png/run_ba08805d-eefe-43bc-8263-f69a91aa62ca_fuels-dens_2100_000.png +12,180,0.35,ST5_FF_DUET,ST5_ignite_contour.dat,safe,other,marginal,,112815,https://wifire-data.sdsc.edu/data//burnpro3d/d/92/18/run_921848f3-0eff-4c15-bde1-39984b159c67/png/run_921848f3-0eff-4c15-bde1-39984b159c67_fuels-dens_2100_000.png +8,225,0.35,ST5_FFDUET_TLS,ST5_ignite_contour.dat,safe,other,yes,,121473,https://wifire-data.sdsc.edu/data//burnpro3d/d/6f/c5/run_6fc5be05-233d-4c8b-a1c5-e227f633e001/png/run_6fc5be05-233d-4c8b-a1c5-e227f633e001_fuels-dens_2100_000.png +12,180,0.35,ST5_FF_DUET,ST5_ignite_ring.dat,unsafe,unsafe,yes,,153630,https://wifire-data.sdsc.edu/data//burnpro3d/d/5c/cf/run_5ccf6aab-6a90-402d-9f3a-bb42a3ec9b36/png/run_5ccf6aab-6a90-402d-9f3a-bb42a3ec9b36_fuels-dens_2100_000.png +8,240,0.35,ST5_FFDUET_TLS,ST5_ignite_strip.dat,other,other,yes,,140436,https://wifire-data.sdsc.edu/data//burnpro3d/d/4a/86/run_4a867b96-afc7-4df2-a95e-e1cc5416e274/png/run_4a867b96-afc7-4df2-a95e-e1cc5416e274_fuels-dens_2100_000.png +8,240,0.35,ST5_FFDUET_TLS,ST5_ignite_ring.dat,other,other,marginal,,99854,https://wifire-data.sdsc.edu/data//burnpro3d/d/01/c7/run_01c71aee-5406-4274-a82b-1b38e62ad0f7/png/run_01c71aee-5406-4274-a82b-1b38e62ad0f7_fuels-dens_2100_000.png +8,240,0.35,ST5_FFDUET_TLS,ST5_ignite_contour.dat,other,safe,yes,,113402,https://wifire-data.sdsc.edu/data//burnpro3d/d/d1/0b/run_d10b71cf-52a8-4756-bfe7-4ba31e173d43/png/run_d10b71cf-52a8-4756-bfe7-4ba31e173d43_fuels-dens_2100_000.png +12,195,0.35,ST5_FF_DUET,ST5_ignite_contour.dat,safe,other,yes,,120430,https://wifire-data.sdsc.edu/data//burnpro3d/d/9c/b6/run_9cb6f467-c909-4af0-845b-fcb08ec43b2b/png/run_9cb6f467-c909-4af0-845b-fcb08ec43b2b_fuels-dens_2100_000.png +12,195,0.35,ST5_FF_DUET,ST5_ignite_ring.dat,unsafe,unsafe,marginal,,147985,https://wifire-data.sdsc.edu/data//burnpro3d/d/4a/9e/run_4a9e55b0-7e35-4be1-bc8b-f927e139a982/png/run_4a9e55b0-7e35-4be1-bc8b-f927e139a982_fuels-dens_2100_000.png +12,195,0.35,ST5_FF_DUET,ST5_ignite_strip.dat,safe,unsafe,yes,,142364,https://wifire-data.sdsc.edu/data//burnpro3d/d/df/43/run_df431faa-cf31-475b-b85f-98536a7964ad/png/run_df431faa-cf31-475b-b85f-98536a7964ad_fuels-dens_2100_000.png +8,225,0.35,ST5_FFDUET_TLS,ST5_ignite_strip.dat,safe,other,yes,,138298,https://wifire-data.sdsc.edu/data//burnpro3d/d/e4/88/run_e488b484-8d5b-411a-931e-1c6f96e4276a/png/run_e488b484-8d5b-411a-931e-1c6f96e4276a_fuels-dens_2100_000.png +12,180,0.35,ST5_FF_DUET,ST5_ignite_strip.dat,safe,unsafe,yes,,133139,https://wifire-data.sdsc.edu/data//burnpro3d/d/97/41/run_97418edc-50a2-49f8-a154-a5e2da78e55b/png/run_97418edc-50a2-49f8-a154-a5e2da78e55b_fuels-dens_2100_000.png +8,255,0.35,ST5_FF_DUET,ST5_ignite_contour.dat,other,safe,yes,,109683,https://wifire-data.sdsc.edu/data//burnpro3d/d/37/c6/run_37c6d3b7-3c59-4b28-90d2-3b919f63bd78/png/run_37c6d3b7-3c59-4b28-90d2-3b919f63bd78_fuels-dens_2100_000.png +12,255,0.35,ST5_FF_DUET,ST5_ignite_ring.dat,other,unsafe,marginal,,180292,https://wifire-data.sdsc.edu/data//burnpro3d/d/06/79/run_067904e1-23fe-41eb-ae2e-3d76998f2ebc/png/run_067904e1-23fe-41eb-ae2e-3d76998f2ebc_fuels-dens_2100_000.png +5,225,0.35,ST5_FFDUET_TLS,ST5_ignite_ring.dat,other,other,no,,77611,https://wifire-data.sdsc.edu/data//burnpro3d/d/09/6c/run_096c290e-b0c5-4a79-b3e8-c2d9c1dc07d5/png/run_096c290e-b0c5-4a79-b3e8-c2d9c1dc07d5_fuels-dens_2100_000.png +3,240,0.35,ST5_FFDUET_TLS,ST5_ignite_contour.dat,safe,safe,yes,,115861,https://wifire-data.sdsc.edu/data//burnpro3d/d/dc/ff/run_dcffb984-6771-4a7c-90c8-cab6a97803b4/png/run_dcffb984-6771-4a7c-90c8-cab6a97803b4_fuels-dens_2100_000.png +2,225,0.35,ST5_FFDUET_TLS,ST5_ignite_strip.dat,safe,safe,yes,,124739,https://wifire-data.sdsc.edu/data//burnpro3d/d/33/37/run_333769b9-b4b2-4c78-9ee7-34f7b2190a9c/png/run_333769b9-b4b2-4c78-9ee7-34f7b2190a9c_fuels-dens_2100_000.png +3,225,0.35,ST5_FFDUET_TLS,ST5_ignite_strip.dat,safe,safe,yes,,163940,https://wifire-data.sdsc.edu/data//burnpro3d/d/8d/f5/run_8df5c623-3714-4147-b55b-3921e55b236f/png/run_8df5c623-3714-4147-b55b-3921e55b236f_fuels-dens_2100_000.png +3,225,0.35,ST5_FFDUET_TLS,ST5_ignite_ring.dat,other,other,no,,57359,https://wifire-data.sdsc.edu/data//burnpro3d/d/09/ce/run_09ce2957-19fd-4f9e-aa2d-607c30f2efbf/png/run_09ce2957-19fd-4f9e-aa2d-607c30f2efbf_fuels-dens_2100_000.png +3,225,0.35,ST5_FFDUET_TLS,ST5_ignite_contour.dat,safe,safe,yes,,108382,https://wifire-data.sdsc.edu/data//burnpro3d/d/b6/e3/run_b6e3c223-69bd-407e-8945-7043ca8fddd5/png/run_b6e3c223-69bd-407e-8945-7043ca8fddd5_fuels-dens_2100_000.png +2,240,0.35,ST5_FFDUET_TLS,ST5_ignite_contour.dat,safe,safe,yes,,183814,https://wifire-data.sdsc.edu/data//burnpro3d/d/81/10/run_81102ebd-83b8-44cf-b1e5-3a617159870d/png/run_81102ebd-83b8-44cf-b1e5-3a617159870d_fuels-dens_2100_000.png +2,240,0.35,ST5_FFDUET_TLS,ST5_ignite_ring.dat,safe,safe,no,,70007,https://wifire-data.sdsc.edu/data//burnpro3d/d/b5/45/run_b545257f-853c-467f-8636-e81fe390be1c/png/run_b545257f-853c-467f-8636-e81fe390be1c_fuels-dens_2100_000.png +3,240,0.35,ST5_FFDUET_TLS,ST5_ignite_ring.dat,safe,safe,no,,117582,https://wifire-data.sdsc.edu/data//burnpro3d/d/f4/57/run_f457c7fc-e0bd-444b-b732-f86c0dfca4da/png/run_f457c7fc-e0bd-444b-b732-f86c0dfca4da_fuels-dens_2100_000.png +2,240,0.35,ST5_FFDUET_TLS,ST5_ignite_strip.dat,safe,safe,yes,,121380,https://wifire-data.sdsc.edu/data//burnpro3d/d/16/a9/run_16a9a905-70ca-4e5a-8add-6db59ab68a78/png/run_16a9a905-70ca-4e5a-8add-6db59ab68a78_fuels-dens_2100_000.png +3,195,0.35,ST5_FFDUET_TLS,ST5_ignite_ring.dat,safe,safe,no,,59014,https://wifire-data.sdsc.edu/data//burnpro3d/d/09/54/run_09544430-0278-44ae-ac70-d7b499dafde4/png/run_09544430-0278-44ae-ac70-d7b499dafde4_fuels-dens_2100_000.png +3,195,0.35,ST5_FFDUET_TLS,ST5_ignite_contour.dat,safe,safe,yes,,106182,https://wifire-data.sdsc.edu/data//burnpro3d/d/e6/8a/run_e68ab0ed-af21-468e-9e2e-34d1e4b9956f/png/run_e68ab0ed-af21-468e-9e2e-34d1e4b9956f_fuels-dens_2100_000.png +2,255,0.35,ST5_FFDUET_TLS,ST5_ignite_contour.dat,safe,safe,yes,,104437,https://wifire-data.sdsc.edu/data//burnpro3d/d/62/2a/run_622aa95c-4b19-4713-9777-83846cc6144a/png/run_622aa95c-4b19-4713-9777-83846cc6144a_fuels-dens_2100_000.png +2,255,0.35,ST5_FFDUET_TLS,ST5_ignite_ring.dat,safe,safe,marginal,,84196,https://wifire-data.sdsc.edu/data//burnpro3d/d/9b/39/run_9b396c29-14e2-4aea-95be-5739ba48278a/png/run_9b396c29-14e2-4aea-95be-5739ba48278a_fuels-dens_2100_000.png +3,180,0.35,ST5_FFDUET_TLS,ST5_ignite_strip.dat,safe,safe,yes,,124217,https://wifire-data.sdsc.edu/data//burnpro3d/d/6d/56/run_6d56e06b-913f-4c0b-b002-0db9bdde3520/png/run_6d56e06b-913f-4c0b-b002-0db9bdde3520_fuels-dens_2100_000.png +3,180,0.35,ST5_FFDUET_TLS,ST5_ignite_ring.dat,safe,safe,marginal,,146763,https://wifire-data.sdsc.edu/data//burnpro3d/d/40/b0/run_40b08b07-419f-4bd9-b718-c6c13924ea3d/png/run_40b08b07-419f-4bd9-b718-c6c13924ea3d_fuels-dens_2100_000.png +3,180,0.35,ST5_FFDUET_TLS,ST5_ignite_contour.dat,safe,safe,yes,,105678,https://wifire-data.sdsc.edu/data//burnpro3d/d/a3/f6/run_a3f65d23-0acf-48b1-8f10-b58b365b02ce/png/run_a3f65d23-0acf-48b1-8f10-b58b365b02ce_fuels-dens_2100_000.png +3,195,0.35,ST5_FFDUET_TLS,ST5_ignite_strip.dat,safe,safe,yes,,122871,https://wifire-data.sdsc.edu/data//burnpro3d/d/61/55/run_6155a34a-4b7e-4181-bc4c-ff22e84a6ad2/png/run_6155a34a-4b7e-4181-bc4c-ff22e84a6ad2_fuels-dens_2100_000.png +12,255,0.35,ST5_FF_DUET,ST5_ignite_strip.dat,other,unsafe,yes,,142575,https://wifire-data.sdsc.edu/data//burnpro3d/d/16/1c/run_161c6371-b311-4cb9-aadf-1b0a7d05ce51/png/run_161c6371-b311-4cb9-aadf-1b0a7d05ce51_fuels-dens_2100_000.png +3,240,0.35,ST5_FFDUET_TLS,ST5_ignite_strip.dat,safe,safe,yes,,124299,https://wifire-data.sdsc.edu/data//burnpro3d/d/06/e4/run_06e463b4-2442-4b09-a015-f828d35427d5/png/run_06e463b4-2442-4b09-a015-f828d35427d5_fuels-dens_2100_000.png +2,225,0.35,ST5_FFDUET_TLS,ST5_ignite_contour.dat,safe,safe,yes,,104309,https://wifire-data.sdsc.edu/data//burnpro3d/d/3e/34/run_3e344d23-caed-4327-af0f-adda3e76c2a5/png/run_3e344d23-caed-4327-af0f-adda3e76c2a5_fuels-dens_2100_000.png +5,225,0.35,ST5_FFDUET_TLS,ST5_ignite_contour.dat,safe,safe,yes,,95657,https://wifire-data.sdsc.edu/data//burnpro3d/d/69/fb/run_69fb3509-4413-4f1b-92d4-47426eb159d5/png/run_69fb3509-4413-4f1b-92d4-47426eb159d5_fuels-dens_2100_000.png +2,180,0.35,ST5_FFDUET_TLS,ST5_ignite_contour.dat,safe,safe,yes,,27299,https://wifire-data.sdsc.edu/data//burnpro3d/d/7d/20/run_7d20fffa-7bed-40f8-b07e-4bf578ece7cc/png/run_7d20fffa-7bed-40f8-b07e-4bf578ece7cc_fuels-dens_2100_000.png +2,180,0.35,ST5_FFDUET_TLS,ST5_ignite_ring.dat,safe,safe,marginal,,127429,https://wifire-data.sdsc.edu/data//burnpro3d/d/8d/c2/run_8dc2c1af-9f4e-4359-8706-e282f7f25984/png/run_8dc2c1af-9f4e-4359-8706-e282f7f25984_fuels-dens_2100_000.png +5,195,0.35,ST5_FFDUET_TLS,ST5_ignite_strip.dat,safe,safe,yes,,131359,https://wifire-data.sdsc.edu/data//burnpro3d/d/38/25/run_3825f030-2b02-4015-9c76-1612f445ddf9/png/run_3825f030-2b02-4015-9c76-1612f445ddf9_fuels-dens_2100_000.png +5,195,0.35,ST5_FFDUET_TLS,ST5_ignite_ring.dat,safe,other,no,,80791,https://wifire-data.sdsc.edu/data//burnpro3d/d/1d/8c/run_1d8c857d-37d2-432a-9960-86f15efb8508/png/run_1d8c857d-37d2-432a-9960-86f15efb8508_fuels-dens_2100_000.png +5,195,0.35,ST5_FFDUET_TLS,ST5_ignite_contour.dat,safe,safe,yes,,109791,https://wifire-data.sdsc.edu/data//burnpro3d/d/85/71/run_8571bb63-b665-4808-abda-78f9bbf8d008/png/run_8571bb63-b665-4808-abda-78f9bbf8d008_fuels-dens_2100_000.png +2,180,0.35,ST5_FFDUET_TLS,ST5_ignite_strip.dat,safe,safe,yes,,132181,https://wifire-data.sdsc.edu/data//burnpro3d/d/54/05/run_54055702-094e-44a5-a6a9-0cc3df9c3137/png/run_54055702-094e-44a5-a6a9-0cc3df9c3137_fuels-dens_2100_000.png +2,225,0.35,ST5_FFDUET_TLS,ST5_ignite_ring.dat,safe,safe,no,,63280,https://wifire-data.sdsc.edu/data//burnpro3d/d/ad/97/run_ad97d3a5-ffc5-4c86-bf89-2babf9458156/png/run_ad97d3a5-ffc5-4c86-bf89-2babf9458156_fuels-dens_2100_000.png +5,180,0.35,ST5_FFDUET_TLS,ST5_ignite_strip.dat,safe,safe,yes,,148720,https://wifire-data.sdsc.edu/data//burnpro3d/d/d5/42/run_d5425e8d-d42b-4e42-99ab-95d816c4ba03/png/run_d5425e8d-d42b-4e42-99ab-95d816c4ba03_fuels-dens_2100_000.png +5,180,0.35,ST5_FFDUET_TLS,ST5_ignite_contour.dat,safe,safe,yes,,169663,https://wifire-data.sdsc.edu/data//burnpro3d/d/14/e4/run_14e42edd-9ea4-45ee-81e2-b4afc5321fe4/png/run_14e42edd-9ea4-45ee-81e2-b4afc5321fe4_fuels-dens_2100_000.png +2,195,0.35,ST5_FFDUET_TLS,ST5_ignite_contour.dat,safe,safe,yes,,140939,https://wifire-data.sdsc.edu/data//burnpro3d/d/ab/00/run_ab00deef-bef6-4944-ade6-10b4cd67923d/png/run_ab00deef-bef6-4944-ade6-10b4cd67923d_fuels-dens_2100_000.png +2,195,0.35,ST5_FFDUET_TLS,ST5_ignite_ring.dat,safe,safe,marginal,,137725,https://wifire-data.sdsc.edu/data//burnpro3d/d/79/88/run_798837d3-4a1a-4518-8bde-35eb3240b659/png/run_798837d3-4a1a-4518-8bde-35eb3240b659_fuels-dens_2100_000.png +2,195,0.35,ST5_FFDUET_TLS,ST5_ignite_strip.dat,safe,safe,yes,,122161,https://wifire-data.sdsc.edu/data//burnpro3d/d/70/b0/run_70b0754b-916e-47a7-b9f1-b7be7da29d20/png/run_70b0754b-916e-47a7-b9f1-b7be7da29d20_fuels-dens_2100_000.png +3,255,0.35,ST5_FFDUET_TLS,ST5_ignite_strip.dat,safe,safe,yes,,124002,https://wifire-data.sdsc.edu/data//burnpro3d/d/50/91/run_509195d0-c576-45be-b517-35680884d3bc/png/run_509195d0-c576-45be-b517-35680884d3bc_fuels-dens_2100_000.png +3,255,0.35,ST5_FFDUET_TLS,ST5_ignite_ring.dat,safe,safe,no,,145333,https://wifire-data.sdsc.edu/data//burnpro3d/d/e8/37/run_e837a5b3-9114-4a83-9fb8-ddd60a102087/png/run_e837a5b3-9114-4a83-9fb8-ddd60a102087_fuels-dens_2100_000.png +3,255,0.35,ST5_FFDUET_TLS,ST5_ignite_contour.dat,safe,safe,yes,,104119,https://wifire-data.sdsc.edu/data//burnpro3d/d/42/9e/run_429e719c-7cec-49a5-86a4-c90e6689ce63/png/run_429e719c-7cec-49a5-86a4-c90e6689ce63_fuels-dens_2100_000.png +5,180,0.35,ST5_FFDUET_TLS,ST5_ignite_ring.dat,safe,safe,marginal,,98277,https://wifire-data.sdsc.edu/data//burnpro3d/d/a5/1f/run_a51faf37-0257-45e0-8fff-cda04c15d10a/png/run_a51faf37-0257-45e0-8fff-cda04c15d10a_fuels-dens_2100_000.png +5,195,0.35,ST5_FFDUET_Over10m,ST5_ignite_contour.dat,safe,safe,yes,,120487,https://wifire-data.sdsc.edu/data//burnpro3d/d/5e/70/run_5e70603e-fcce-44b5-ae77-a9ffa19c89d4/png/run_5e70603e-fcce-44b5-ae77-a9ffa19c89d4_fuels-dens_2100_000.png +12,195,0.35,ST5_FFDUET_TLS,ST5_ignite_contour.dat,safe,unsafe,marginal,,119470,https://wifire-data.sdsc.edu/data//burnpro3d/d/b5/6b/run_b56ba0c7-9658-4064-b95a-d7becb1ebf3b/png/run_b56ba0c7-9658-4064-b95a-d7becb1ebf3b_fuels-dens_2100_000.png +12,195,0.35,ST5_FFDUET_TLS,ST5_ignite_strip.dat,safe,unsafe,marginal,,61180,https://wifire-data.sdsc.edu/data//burnpro3d/d/f5/94/run_f59444aa-b34c-4f02-8027-17d422838c03/png/run_f59444aa-b34c-4f02-8027-17d422838c03_fuels-dens_2100_000.png +5,195,0.35,ST5_FF_DUET,ST5_ignite_contour.dat,safe,safe,yes,,108881,https://wifire-data.sdsc.edu/data//burnpro3d/d/a6/44/run_a644cce6-3083-44ef-a3b1-ac755f624b80/png/run_a644cce6-3083-44ef-a3b1-ac755f624b80_fuels-dens_2100_000.png +3,195,0.35,ST5_FFDUET_Over10m,ST5_ignite_strip.dat,safe,safe,yes,,96185,https://wifire-data.sdsc.edu/data//burnpro3d/d/d1/b4/run_d1b45c3e-d02e-4342-b395-e22903dd1066/png/run_d1b45c3e-d02e-4342-b395-e22903dd1066_fuels-dens_2100_000.png +3,195,0.35,ST5_FFDUET_Over10m,ST5_ignite_ring.dat,safe,safe,no,,74030,https://wifire-data.sdsc.edu/data//burnpro3d/d/e1/09/run_e1096aee-344b-4a24-ab0a-6cd411566007/png/run_e1096aee-344b-4a24-ab0a-6cd411566007_fuels-dens_2100_000.png +3,195,0.35,ST5_FFDUET_Over10m,ST5_ignite_contour.dat,safe,safe,yes,,112840,https://wifire-data.sdsc.edu/data//burnpro3d/d/de/2d/run_de2d049b-e4b5-4e70-8eb5-9b096f22ffe5/png/run_de2d049b-e4b5-4e70-8eb5-9b096f22ffe5_fuels-dens_2100_000.png +5,195,0.35,ST5_FF_DUET,ST5_ignite_ring.dat,safe,other,no,,142907,https://wifire-data.sdsc.edu/data//burnpro3d/d/39/e6/run_39e64ce5-7c96-40b0-9a25-46fbe6863948/png/run_39e64ce5-7c96-40b0-9a25-46fbe6863948_fuels-dens_2100_000.png +5,195,0.35,ST5_FF_DUET,ST5_ignite_strip.dat,safe,safe,yes,,114774,https://wifire-data.sdsc.edu/data//burnpro3d/d/3f/01/run_3f011eef-a39e-406b-9a35-64eb6ebce61f/png/run_3f011eef-a39e-406b-9a35-64eb6ebce61f_fuels-dens_2100_000.png +3,180,0.35,ST5_FFDUET_Over10m,ST5_ignite_strip.dat,safe,safe,yes,,121955,https://wifire-data.sdsc.edu/data//burnpro3d/d/44/8b/run_448bdcef-940a-4b81-aab9-4c261cd795aa/png/run_448bdcef-940a-4b81-aab9-4c261cd795aa_fuels-dens_2100_000.png +3,225,0.35,ST5_FFDUET_Over10m,ST5_ignite_contour.dat,safe,safe,yes,,106031,https://wifire-data.sdsc.edu/data//burnpro3d/d/02/06/run_0206dc4f-1011-4c02-90fe-e1825f8126a8/png/run_0206dc4f-1011-4c02-90fe-e1825f8126a8_fuels-dens_2100_000.png +3,180,0.35,ST5_FFDUET_Over10m,ST5_ignite_ring.dat,safe,safe,no,,79877,https://wifire-data.sdsc.edu/data//burnpro3d/d/bb/6c/run_bb6ce561-fd10-41f4-9b58-0fdf36f8777f/png/run_bb6ce561-fd10-41f4-9b58-0fdf36f8777f_fuels-dens_2100_000.png +5,225,0.35,ST5_FF_DUET,ST5_ignite_contour.dat,safe,safe,yes,,114764,https://wifire-data.sdsc.edu/data//burnpro3d/d/39/bb/run_39bb6920-acb3-46ce-9a1d-be9f9163f520/png/run_39bb6920-acb3-46ce-9a1d-be9f9163f520_fuels-dens_2100_000.png +5,225,0.35,ST5_FF_DUET,ST5_ignite_ring.dat,safe,safe,marginal,,94820,https://wifire-data.sdsc.edu/data//burnpro3d/d/dc/ea/run_dcea06d1-6a5f-438d-8365-7189dd1f8f7d/png/run_dcea06d1-6a5f-438d-8365-7189dd1f8f7d_fuels-dens_2100_000.png +5,225,0.35,ST5_FF_DUET,ST5_ignite_strip.dat,safe,safe,yes,,139019,https://wifire-data.sdsc.edu/data//burnpro3d/d/3a/82/run_3a8282b2-a9be-49f5-9d1d-bf63bb176dca/png/run_3a8282b2-a9be-49f5-9d1d-bf63bb176dca_fuels-dens_2100_000.png +2,255,0.35,ST5_FFDUET_Over10m,ST5_ignite_strip.dat,safe,safe,yes,,39951,https://wifire-data.sdsc.edu/data//burnpro3d/d/6a/a8/run_6aa8fd5b-2feb-492e-9426-5c50ba4a4e7c/png/run_6aa8fd5b-2feb-492e-9426-5c50ba4a4e7c_fuels-dens_2100_000.png +2,255,0.35,ST5_FFDUET_Over10m,ST5_ignite_ring.dat,safe,safe,no,,128423,https://wifire-data.sdsc.edu/data//burnpro3d/d/66/52/run_66524e7a-4979-4d37-a300-83d6b200d2e7/png/run_66524e7a-4979-4d37-a300-83d6b200d2e7_fuels-dens_2100_000.png +2,255,0.35,ST5_FFDUET_Over10m,ST5_ignite_contour.dat,safe,safe,yes,,103730,https://wifire-data.sdsc.edu/data//burnpro3d/d/c7/1f/run_c71fbb81-8424-4d8e-bf07-5219abd31855/png/run_c71fbb81-8424-4d8e-bf07-5219abd31855_fuels-dens_2100_000.png +5,240,0.35,ST5_FF_DUET,ST5_ignite_contour.dat,safe,safe,yes,,109660,https://wifire-data.sdsc.edu/data//burnpro3d/d/ea/26/run_ea26c1a4-5bdd-43be-bb43-a5f62af02a27/png/run_ea26c1a4-5bdd-43be-bb43-a5f62af02a27_fuels-dens_2100_000.png +3,180,0.35,ST5_FFDUET_Over10m,ST5_ignite_contour.dat,safe,safe,yes,,136240,https://wifire-data.sdsc.edu/data//burnpro3d/d/ff/76/run_ff764c62-25cd-4a71-b937-807d8daeca58/png/run_ff764c62-25cd-4a71-b937-807d8daeca58_fuels-dens_2100_000.png +2,240,0.35,ST5_FFDUET_Over10m,ST5_ignite_strip.dat,safe,safe,yes,,89072,https://wifire-data.sdsc.edu/data//burnpro3d/d/62/0b/run_620b8cb6-6252-41f0-90f0-84a7f2592407/png/run_620b8cb6-6252-41f0-90f0-84a7f2592407_fuels-dens_2100_000.png +3,225,0.35,ST5_FFDUET_Over10m,ST5_ignite_ring.dat,safe,safe,no,,117671,https://wifire-data.sdsc.edu/data//burnpro3d/d/4d/54/run_4d54bd09-55e7-4597-98c4-c2dc5f9e0b30/png/run_4d54bd09-55e7-4597-98c4-c2dc5f9e0b30_fuels-dens_2100_000.png +5,180,0.35,ST5_FF_DUET,ST5_ignite_strip.dat,safe,safe,yes,,133532,https://wifire-data.sdsc.edu/data//burnpro3d/d/ea/98/run_ea9876f2-cf50-46b2-8e52-05f4bbdf9fe2/png/run_ea9876f2-cf50-46b2-8e52-05f4bbdf9fe2_fuels-dens_2100_000.png +3,240,0.35,ST5_FF_DUET,ST5_ignite_ring.dat,safe,safe,no,,70127,https://wifire-data.sdsc.edu/data//burnpro3d/d/ab/4e/run_ab4e734c-898b-4003-a5ca-7c8a03c87466/png/run_ab4e734c-898b-4003-a5ca-7c8a03c87466_fuels-dens_2100_000.png +3,240,0.35,ST5_FF_DUET,ST5_ignite_strip.dat,safe,safe,yes,,17228,https://wifire-data.sdsc.edu/data//burnpro3d/d/25/af/run_25af70ad-d72c-45d4-bdb7-76d59b1fa314/png/run_25af70ad-d72c-45d4-bdb7-76d59b1fa314_fuels-dens_2100_000.png +5,180,0.35,ST5_FFDUET_Over10m,ST5_ignite_strip.dat,safe,safe,yes,,54753,https://wifire-data.sdsc.edu/data//burnpro3d/d/4f/d8/run_4fd80260-1a1f-4028-bdb4-86e5ddf252da/png/run_4fd80260-1a1f-4028-bdb4-86e5ddf252da_fuels-dens_2100_000.png +5,180,0.35,ST5_FFDUET_Over10m,ST5_ignite_ring.dat,safe,safe,marginal,,89238,https://wifire-data.sdsc.edu/data//burnpro3d/d/c1/aa/run_c1aa9f34-bac7-4698-86d9-5d5767c3e5c1/png/run_c1aa9f34-bac7-4698-86d9-5d5767c3e5c1_fuels-dens_2100_000.png +5,180,0.35,ST5_FFDUET_Over10m,ST5_ignite_contour.dat,safe,safe,yes,,105782,https://wifire-data.sdsc.edu/data//burnpro3d/d/1a/fa/run_1afaebed-76a6-40ce-8571-509fac9a653f/png/run_1afaebed-76a6-40ce-8571-509fac9a653f_fuels-dens_2100_000.png +3,255,0.35,ST5_FF_DUET,ST5_ignite_contour.dat,other,safe,yes,,168500,https://wifire-data.sdsc.edu/data//burnpro3d/d/f4/00/run_f400dea1-aa07-42bc-94a1-33fcd2804225/png/run_f400dea1-aa07-42bc-94a1-33fcd2804225_fuels-dens_2100_000.png +3,255,0.35,ST5_FFDUET_Over10m,ST5_ignite_strip.dat,safe,safe,yes,,122164,https://wifire-data.sdsc.edu/data//burnpro3d/d/19/b1/run_19b13d67-69ad-401e-b6f2-4b7ab025fe87/png/run_19b13d67-69ad-401e-b6f2-4b7ab025fe87_fuels-dens_2100_000.png +3,225,0.35,ST5_FFDUET_Over10m,ST5_ignite_strip.dat,safe,safe,yes,,164252,https://wifire-data.sdsc.edu/data//burnpro3d/d/a0/e2/run_a0e26aa4-78c1-49f3-abb1-54871359ba80/png/run_a0e26aa4-78c1-49f3-abb1-54871359ba80_fuels-dens_2100_000.png +3,255,0.35,ST5_FFDUET_Over10m,ST5_ignite_ring.dat,safe,safe,no,,116346,https://wifire-data.sdsc.edu/data//burnpro3d/d/07/07/run_07074c21-39a5-4af5-89b8-23c3ee7b7100/png/run_07074c21-39a5-4af5-89b8-23c3ee7b7100_fuels-dens_2100_000.png +3,255,0.35,ST5_FF_DUET,ST5_ignite_ring.dat,safe,safe,marginal,,132024,https://wifire-data.sdsc.edu/data//burnpro3d/d/89/13/run_89130500-926c-49ce-9e52-b94626af85e4/png/run_89130500-926c-49ce-9e52-b94626af85e4_fuels-dens_2100_000.png +3,255,0.35,ST5_FF_DUET,ST5_ignite_strip.dat,safe,safe,yes,,125876,https://wifire-data.sdsc.edu/data//burnpro3d/d/71/50/run_7150a70e-7c48-41cb-97cd-0d55bc4a10f1/png/run_7150a70e-7c48-41cb-97cd-0d55bc4a10f1_fuels-dens_2100_000.png +3,240,0.35,ST5_FFDUET_Over10m,ST5_ignite_strip.dat,safe,safe,yes,,122215,https://wifire-data.sdsc.edu/data//burnpro3d/d/91/34/run_91347215-d4b9-464f-897a-a9aa6dedb0b8/png/run_91347215-d4b9-464f-897a-a9aa6dedb0b8_fuels-dens_2100_000.png +3,240,0.35,ST5_FFDUET_Over10m,ST5_ignite_ring.dat,safe,safe,no,,27935,https://wifire-data.sdsc.edu/data//burnpro3d/d/d8/ec/run_d8ec2799-6e24-4964-a84d-0269db5ea6b9/png/run_d8ec2799-6e24-4964-a84d-0269db5ea6b9_fuels-dens_2100_000.png +3,240,0.35,ST5_FFDUET_Over10m,ST5_ignite_contour.dat,safe,safe,yes,,147873,https://wifire-data.sdsc.edu/data//burnpro3d/d/b6/b7/run_b6b78a2a-e81a-4d25-896a-846c94da5766/png/run_b6b78a2a-e81a-4d25-896a-846c94da5766_fuels-dens_2100_000.png +5,180,0.35,ST5_FF_DUET,ST5_ignite_contour.dat,safe,safe,yes,,92006,https://wifire-data.sdsc.edu/data//burnpro3d/d/34/26/run_3426c473-a4bd-4be1-8e7c-bc6cfa58d205/png/run_3426c473-a4bd-4be1-8e7c-bc6cfa58d205_fuels-dens_2100_000.png +5,180,0.35,ST5_FF_DUET,ST5_ignite_ring.dat,safe,safe,yes,,117600,https://wifire-data.sdsc.edu/data//burnpro3d/d/9d/49/run_9d49e566-fa91-4b8f-94d3-7cb939db8b70/png/run_9d49e566-fa91-4b8f-94d3-7cb939db8b70_fuels-dens_2100_000.png +3,255,0.35,ST5_FFDUET_Over10m,ST5_ignite_contour.dat,safe,safe,yes,,180556,https://wifire-data.sdsc.edu/data//burnpro3d/d/db/15/run_db15ef5c-ab55-41d5-bd7f-847655b62ec7/png/run_db15ef5c-ab55-41d5-bd7f-847655b62ec7_fuels-dens_2100_000.png +12,195,0.35,ST5_FFDUET_TLS,ST5_ignite_ring.dat,unsafe,unsafe,no,,116704,https://wifire-data.sdsc.edu/data//burnpro3d/d/17/4a/run_174a5fc7-c355-48bc-b778-f3774e259543/png/run_174a5fc7-c355-48bc-b778-f3774e259543_fuels-dens_2100_000.png +2,240,0.35,ST5_FFDUET_Over10m,ST5_ignite_ring.dat,safe,safe,no,,70010,https://wifire-data.sdsc.edu/data//burnpro3d/d/19/22/run_19224732-f1ab-4af6-8c76-6f5ddf9f6a45/png/run_19224732-f1ab-4af6-8c76-6f5ddf9f6a45_fuels-dens_2100_000.png +5,240,0.35,ST5_FF_DUET,ST5_ignite_ring.dat,other,safe,marginal,,158958,https://wifire-data.sdsc.edu/data//burnpro3d/d/85/97/run_85975ee3-4fd5-4739-a8a5-0592c32f06a4/png/run_85975ee3-4fd5-4739-a8a5-0592c32f06a4_fuels-dens_2100_000.png +8,195,0.35,ST5_FF_DUET,ST5_ignite_strip.dat,safe,unsafe,yes,,140268,https://wifire-data.sdsc.edu/data//burnpro3d/d/8f/6f/run_8f6fab43-33aa-40fb-b220-6847ac6f339f/png/run_8f6fab43-33aa-40fb-b220-6847ac6f339f_fuels-dens_2100_000.png +12,255,0.35,ST5_FFDUET_TLS,ST5_ignite_strip.dat,unsafe,unsafe,yes,,125465,https://wifire-data.sdsc.edu/data//burnpro3d/d/ca/0d/run_ca0d1666-c02a-4bd5-ba26-52414a85b86d/png/run_ca0d1666-c02a-4bd5-ba26-52414a85b86d_fuels-dens_2100_000.png +12,255,0.35,ST5_FFDUET_TLS,ST5_ignite_ring.dat,unsafe,unsafe,marginal,,136863,https://wifire-data.sdsc.edu/data//burnpro3d/d/be/71/run_be71c0b9-055f-46e8-a3b5-5fddf602b18c/png/run_be71c0b9-055f-46e8-a3b5-5fddf602b18c_fuels-dens_2100_000.png +12,255,0.35,ST5_FFDUET_TLS,ST5_ignite_contour.dat,other,safe,marginal,,112879,https://wifire-data.sdsc.edu/data//burnpro3d/d/63/2c/run_632c466c-7f7f-4f67-8215-ac1ed1a1f9a5/png/run_632c466c-7f7f-4f67-8215-ac1ed1a1f9a5_fuels-dens_2100_000.png +8,225,0.35,ST5_FF_DUET,ST5_ignite_contour.dat,safe,safe,yes,,118385,https://wifire-data.sdsc.edu/data//burnpro3d/d/27/ff/run_27ff93d0-b2b5-4d70-8b04-a757d042a966/png/run_27ff93d0-b2b5-4d70-8b04-a757d042a966_fuels-dens_2100_000.png +8,225,0.35,ST5_FF_DUET,ST5_ignite_ring.dat,unsafe,unsafe,no,,135466,https://wifire-data.sdsc.edu/data//burnpro3d/d/8a/e2/run_8ae2c330-56e8-4693-82a2-dd8f6c5887e7/png/run_8ae2c330-56e8-4693-82a2-dd8f6c5887e7_fuels-dens_2100_000.png +8,225,0.35,ST5_FF_DUET,ST5_ignite_strip.dat,unsafe,unsafe,marginal,,156745,https://wifire-data.sdsc.edu/data//burnpro3d/d/12/86/run_128635e8-11f3-4625-88b7-4fb7440e0bb5/png/run_128635e8-11f3-4625-88b7-4fb7440e0bb5_fuels-dens_2100_000.png +8,195,0.35,ST5_FF_DUET,ST5_ignite_ring.dat,safe,other,yes,,177586,https://wifire-data.sdsc.edu/data//burnpro3d/d/e7/a8/run_e7a8b8d1-a6d9-4a52-914f-79162ef0a243/png/run_e7a8b8d1-a6d9-4a52-914f-79162ef0a243_fuels-dens_2100_000.png +12,240,0.35,ST5_FFDUET_TLS,ST5_ignite_strip.dat,unsafe,unsafe,marginal,,155237,https://wifire-data.sdsc.edu/data//burnpro3d/d/bc/52/run_bc52f123-6012-4b82-8385-53282de4b345/png/run_bc52f123-6012-4b82-8385-53282de4b345_fuels-dens_2100_000.png +12,240,0.35,ST5_FFDUET_TLS,ST5_ignite_contour.dat,unsafe,unsafe,marginal,,145996,https://wifire-data.sdsc.edu/data//burnpro3d/d/9c/5b/run_9c5b1553-faa3-446a-a4de-c15ee8199968/png/run_9c5b1553-faa3-446a-a4de-c15ee8199968_fuels-dens_2100_000.png +8,240,0.35,ST5_FF_DUET,ST5_ignite_contour.dat,safe,safe,yes,,111826,https://wifire-data.sdsc.edu/data//burnpro3d/d/2c/f7/run_2cf70c8d-bb6d-4780-849b-79f54f64e7a1/png/run_2cf70c8d-bb6d-4780-849b-79f54f64e7a1_fuels-dens_2100_000.png +12,225,0.35,ST5_FFDUET_TLS,ST5_ignite_strip.dat,unsafe,unsafe,no,,69119,https://wifire-data.sdsc.edu/data//burnpro3d/d/20/4a/run_204a5c0c-ab18-45c5-8201-f75831c8fe51/png/run_204a5c0c-ab18-45c5-8201-f75831c8fe51_fuels-dens_2100_000.png +12,225,0.35,ST5_FFDUET_TLS,ST5_ignite_ring.dat,unsafe,unsafe,no,,183869,https://wifire-data.sdsc.edu/data//burnpro3d/d/e1/14/run_e1147d23-c9ef-4772-962a-efed16448a50/png/run_e1147d23-c9ef-4772-962a-efed16448a50_fuels-dens_2100_000.png +12,225,0.35,ST5_FFDUET_TLS,ST5_ignite_contour.dat,unsafe,unsafe,no,,146432,https://wifire-data.sdsc.edu/data//burnpro3d/d/8b/64/run_8b642265-9cdf-4607-a193-13f58d8b9fec/png/run_8b642265-9cdf-4607-a193-13f58d8b9fec_fuels-dens_2100_000.png +8,240,0.35,ST5_FF_DUET,ST5_ignite_ring.dat,other,other,yes,,119824,https://wifire-data.sdsc.edu/data//burnpro3d/d/5f/92/run_5f92290b-3372-4c0e-897c-f0a2a3b7a02f/png/run_5f92290b-3372-4c0e-897c-f0a2a3b7a02f_fuels-dens_2100_000.png +8,240,0.35,ST5_FF_DUET,ST5_ignite_strip.dat,other,other,yes,,146099,https://wifire-data.sdsc.edu/data//burnpro3d/d/09/d9/run_09d995a4-c615-472b-83ed-7638467583a9/png/run_09d995a4-c615-472b-83ed-7638467583a9_fuels-dens_2100_000.png +12,240,0.35,ST5_FFDUET_TLS,ST5_ignite_ring.dat,unsafe,unsafe,marginal,,134807,https://wifire-data.sdsc.edu/data//burnpro3d/d/b4/1d/run_b41d3139-8aa6-41ca-a8f6-f3b470f7cafb/png/run_b41d3139-8aa6-41ca-a8f6-f3b470f7cafb_fuels-dens_2100_000.png +2,240,0.35,ST5_FFDUET_Over10m,ST5_ignite_contour.dat,safe,safe,yes,,157387,https://wifire-data.sdsc.edu/data//burnpro3d/d/c9/c3/run_c9c3fa5a-29ae-49ab-8eb9-0c8fec5aebcb/png/run_c9c3fa5a-29ae-49ab-8eb9-0c8fec5aebcb_fuels-dens_2100_000.png +8,195,0.35,ST5_FF_DUET,ST5_ignite_contour.dat,safe,other,yes,,117438,https://wifire-data.sdsc.edu/data//burnpro3d/d/33/a1/run_33a1b779-7f49-4da5-bd55-594301278dc9/png/run_33a1b779-7f49-4da5-bd55-594301278dc9_fuels-dens_2100_000.png +12,180,0.35,ST5_FFDUET_TLS,ST5_ignite_ring.dat,other,unsafe,marginal,,133915,https://wifire-data.sdsc.edu/data//burnpro3d/d/2d/d6/run_2dd6ca6f-1b33-4e48-ab7d-c3087fc1cc07/png/run_2dd6ca6f-1b33-4e48-ab7d-c3087fc1cc07_fuels-dens_2100_000.png +5,240,0.35,ST5_FF_DUET,ST5_ignite_strip.dat,safe,safe,yes,,139240,https://wifire-data.sdsc.edu/data//burnpro3d/d/56/d1/run_56d1f7fe-6e93-485a-af92-93c1a50f86a7/png/run_56d1f7fe-6e93-485a-af92-93c1a50f86a7_fuels-dens_2100_000.png +2,225,0.35,ST5_FFDUET_Over10m,ST5_ignite_strip.dat,safe,safe,yes,,120232,https://wifire-data.sdsc.edu/data//burnpro3d/d/c8/0d/run_c80daa0c-34b3-431c-a350-04d596def942/png/run_c80daa0c-34b3-431c-a350-04d596def942_fuels-dens_2100_000.png +2,225,0.35,ST5_FFDUET_Over10m,ST5_ignite_ring.dat,safe,safe,no,,76065,https://wifire-data.sdsc.edu/data//burnpro3d/d/8a/ce/run_8ace7d13-eceb-45a4-ae66-564aaceca3e1/png/run_8ace7d13-eceb-45a4-ae66-564aaceca3e1_fuels-dens_2100_000.png +2,225,0.35,ST5_FFDUET_Over10m,ST5_ignite_contour.dat,safe,safe,yes,,104441,https://wifire-data.sdsc.edu/data//burnpro3d/d/dd/33/run_dd3308e8-f8f7-478c-bb6c-c0cdd8bc1fa1/png/run_dd3308e8-f8f7-478c-bb6c-c0cdd8bc1fa1_fuels-dens_2100_000.png +5,255,0.35,ST5_FF_DUET,ST5_ignite_contour.dat,safe,safe,yes,,32759,https://wifire-data.sdsc.edu/data//burnpro3d/d/95/47/run_95473e9d-53ed-4dc5-b4fe-4fe480825429/png/run_95473e9d-53ed-4dc5-b4fe-4fe480825429_fuels-dens_2100_000.png +5,255,0.35,ST5_FF_DUET,ST5_ignite_ring.dat,other,other,marginal,,98810,https://wifire-data.sdsc.edu/data//burnpro3d/d/46/60/run_4660ad8f-90f2-4e3f-8de7-67327700f433/png/run_4660ad8f-90f2-4e3f-8de7-67327700f433_fuels-dens_2100_000.png +5,255,0.35,ST5_FF_DUET,ST5_ignite_strip.dat,other,safe,yes,,112990,https://wifire-data.sdsc.edu/data//burnpro3d/d/8e/aa/run_8eaa7339-7be4-4106-88dd-5a41a1261c5a/png/run_8eaa7339-7be4-4106-88dd-5a41a1261c5a_fuels-dens_2100_000.png +12,180,0.35,ST5_FFDUET_TLS,ST5_ignite_contour.dat,safe,other,marginal,,71075,https://wifire-data.sdsc.edu/data//burnpro3d/d/9f/f0/run_9ff042b2-022c-44c9-9b87-7398f02ca834/png/run_9ff042b2-022c-44c9-9b87-7398f02ca834_fuels-dens_2100_000.png +2,195,0.35,ST5_FFDUET_Over10m,ST5_ignite_strip.dat,safe,safe,yes,,115214,https://wifire-data.sdsc.edu/data//burnpro3d/d/fc/0e/run_fc0e2704-3514-4399-b2b4-7a06754120cf/png/run_fc0e2704-3514-4399-b2b4-7a06754120cf_fuels-dens_2100_000.png +2,195,0.35,ST5_FFDUET_Over10m,ST5_ignite_contour.dat,safe,safe,yes,,129645,https://wifire-data.sdsc.edu/data//burnpro3d/d/10/ab/run_10abe727-3eb5-4866-b6d4-305cab4a5c85/png/run_10abe727-3eb5-4866-b6d4-305cab4a5c85_fuels-dens_2100_000.png +8,180,0.35,ST5_FF_DUET,ST5_ignite_contour.dat,safe,safe,yes,,111052,https://wifire-data.sdsc.edu/data//burnpro3d/d/73/a1/run_73a186e6-8e44-4b1a-9297-f57ce27ba4bb/png/run_73a186e6-8e44-4b1a-9297-f57ce27ba4bb_fuels-dens_2100_000.png +2,180,0.35,ST5_FFDUET_Over10m,ST5_ignite_strip.dat,safe,safe,yes,,117201,https://wifire-data.sdsc.edu/data//burnpro3d/d/f9/22/run_f9224a8e-8535-4a56-9d9b-a5d2a2f719ad/png/run_f9224a8e-8535-4a56-9d9b-a5d2a2f719ad_fuels-dens_2100_000.png +2,180,0.35,ST5_FFDUET_Over10m,ST5_ignite_ring.dat,safe,safe,marginal,,99599,https://wifire-data.sdsc.edu/data//burnpro3d/d/00/99/run_00998da4-889e-4e9f-a47b-685b961bb028/png/run_00998da4-889e-4e9f-a47b-685b961bb028_fuels-dens_2100_000.png +2,180,0.35,ST5_FFDUET_Over10m,ST5_ignite_contour.dat,safe,safe,yes,,102538,https://wifire-data.sdsc.edu/data//burnpro3d/d/ef/4c/run_ef4cdca6-a339-4124-8be7-e6b051299093/png/run_ef4cdca6-a339-4124-8be7-e6b051299093_fuels-dens_2100_000.png +8,180,0.35,ST5_FF_DUET,ST5_ignite_ring.dat,safe,other,yes,,132609,https://wifire-data.sdsc.edu/data//burnpro3d/d/9c/ac/run_9cac91fe-5c65-49cc-952c-f673a67d2a33/png/run_9cac91fe-5c65-49cc-952c-f673a67d2a33_fuels-dens_2100_000.png +8,180,0.35,ST5_FF_DUET,ST5_ignite_strip.dat,safe,other,yes,,116913,https://wifire-data.sdsc.edu/data//burnpro3d/d/00/0b/run_000baafc-fe1a-48a1-90c5-8edf2301ca8a/png/run_000baafc-fe1a-48a1-90c5-8edf2301ca8a_fuels-dens_2100_000.png +2,195,0.35,ST5_FFDUET_Over10m,ST5_ignite_ring.dat,safe,safe,no,,82988,https://wifire-data.sdsc.edu/data//burnpro3d/d/ed/a7/run_eda72d34-9add-4f13-a37c-ebc632014a5e/png/run_eda72d34-9add-4f13-a37c-ebc632014a5e_fuels-dens_2100_000.png +5,225,0.35,ST5_FFDUET_TLS,ST5_ignite_strip.dat,safe,safe,yes,,116024,https://wifire-data.sdsc.edu/data//burnpro3d/d/ea/fb/run_eafb4091-2eb8-426c-87e8-41ac6f65fe1f/png/run_eafb4091-2eb8-426c-87e8-41ac6f65fe1f_fuels-dens_2100_000.png +2,175,0.05,ST5_FF_DUET,ST5_ignite_ring,safe,safe,yes,,178381,https://wifire-data.sdsc.edu/data//burnpro3d/d/99/6c/run_996ce174-2416-4e03-a273-038ec0d1204f/png/run_996ce174-2416-4e03-a273-038ec0d1204f_fuels-dens_2100_000.png +3,270,0.05,ST5_FFDUET_TLS,ST5_ignite_contour,safe,safe,yes,,120332,https://wifire-data.sdsc.edu/data//burnpro3d/d/21/e4/run_21e41884-c47d-4310-b92f-e2609382c055/png/run_21e41884-c47d-4310-b92f-e2609382c055_fuels-dens_2100_000.png +3,270,0.05,ST5_FFDUET_TLS,ST5_ignite_ring,safe,safe,yes,,54820,https://wifire-data.sdsc.edu/data//burnpro3d/d/8c/c4/run_8cc400a5-a4a2-4cc4-b598-b2356a966561/png/run_8cc400a5-a4a2-4cc4-b598-b2356a966561_fuels-dens_2100_000.png +3,270,0.05,ST5_FFDUET_TLS,ST5_ignite_strip,safe,safe,yes,,120406,https://wifire-data.sdsc.edu/data//burnpro3d/d/5e/43/run_5e43b148-bab1-4f4e-9b67-41cebf05a501/png/run_5e43b148-bab1-4f4e-9b67-41cebf05a501_fuels-dens_2100_000.png +5,175,0.05,ST5_FFDUET_Over10m,ST5_ignite_strip,safe,unsafe,yes,,168689,https://wifire-data.sdsc.edu/data//burnpro3d/d/78/dc/run_78dc0a6d-06cf-4638-9759-787b081e9308/png/run_78dc0a6d-06cf-4638-9759-787b081e9308_fuels-dens_2100_000.png +5,175,0.05,ST5_FFDUET_Over10m,ST5_ignite_ring,safe,unsafe,no,,146856,https://wifire-data.sdsc.edu/data//burnpro3d/d/f8/73/run_f873ba70-d9f7-4e3d-b5c7-2c3b36c1b931/png/run_f873ba70-d9f7-4e3d-b5c7-2c3b36c1b931_fuels-dens_2100_000.png +5,175,0.05,ST5_FFDUET_Over10m,ST5_ignite_contour,safe,safe,yes,,179936,https://wifire-data.sdsc.edu/data//burnpro3d/d/71/3a/run_713ad4f9-ce35-4e48-aef2-0fcd8504954d/png/run_713ad4f9-ce35-4e48-aef2-0fcd8504954d_fuels-dens_2100_000.png +5,175,0.05,ST5_FFDUET_TLS,ST5_ignite_contour,safe,other,yes,,140713,https://wifire-data.sdsc.edu/data//burnpro3d/d/07/3e/run_073eb80c-280b-4242-b509-fbd80ba7cfa8/png/run_073eb80c-280b-4242-b509-fbd80ba7cfa8_fuels-dens_2100_000.png +5,175,0.05,ST5_FFDUET_TLS,ST5_ignite_ring,unsafe,unsafe,no,,141454,https://wifire-data.sdsc.edu/data//burnpro3d/d/35/ff/run_35ffa60f-d5e5-4f4d-bcce-9d1f911bbcd5/png/run_35ffa60f-d5e5-4f4d-bcce-9d1f911bbcd5_fuels-dens_2100_000.png +5,175,0.05,ST5_FFDUET_TLS,ST5_ignite_strip,safe,unsafe,no,,169544,https://wifire-data.sdsc.edu/data//burnpro3d/d/ec/44/run_ec449a51-4870-4b58-bd5d-e8ec29b517f4/png/run_ec449a51-4870-4b58-bd5d-e8ec29b517f4_fuels-dens_2100_000.png +5,270,0.05,ST5_FF_DUET,ST5_ignite_contour,other,safe,yes,,125466,https://wifire-data.sdsc.edu/data//burnpro3d/d/70/58/run_7058e666-8f3b-47f0-92d4-8b95e08bd91c/png/run_7058e666-8f3b-47f0-92d4-8b95e08bd91c_fuels-dens_2100_000.png +5,270,0.05,ST5_FFDUET_Over10m,ST5_ignite_contour,safe,safe,yes,,149352,https://wifire-data.sdsc.edu/data//burnpro3d/d/76/70/run_76700679-4810-4f3c-926b-32c3265c2527/png/run_76700679-4810-4f3c-926b-32c3265c2527_fuels-dens_2100_000.png +5,270,0.05,ST5_FF_DUET,ST5_ignite_ring,other,other,marginal,,169515,https://wifire-data.sdsc.edu/data//burnpro3d/d/52/7e/run_527ef5f1-7758-46df-b4ec-971de97a243d/png/run_527ef5f1-7758-46df-b4ec-971de97a243d_fuels-dens_2100_000.png +3,175,0.05,ST5_FF_DUET,ST5_ignite_strip,safe,safe,yes,,148506,https://wifire-data.sdsc.edu/data//burnpro3d/d/4e/2c/run_4e2c56bb-a2c8-4fa5-b582-67934c4a6663/png/run_4e2c56bb-a2c8-4fa5-b582-67934c4a6663_fuels-dens_2100_000.png +3,175,0.05,ST5_FF_DUET,ST5_ignite_ring,safe,other,yes,,155496,https://wifire-data.sdsc.edu/data//burnpro3d/d/a1/3e/run_a13e218d-c71e-47f3-a25e-771583286029/png/run_a13e218d-c71e-47f3-a25e-771583286029_fuels-dens_2100_000.png +5,175,0.05,ST5_FF_DUET,ST5_ignite_ring,unsafe,unsafe,no,,174630,https://wifire-data.sdsc.edu/data//burnpro3d/d/27/71/run_2771ce6c-5484-46e8-a286-a3af58be4d46/png/run_2771ce6c-5484-46e8-a286-a3af58be4d46_fuels-dens_2100_000.png +5,270,0.05,ST5_FFDUET_TLS,ST5_ignite_contour,safe,safe,yes,,128511,https://wifire-data.sdsc.edu/data//burnpro3d/d/00/2b/run_002b1a99-ab6d-4afe-93cf-77196379c3a0/png/run_002b1a99-ab6d-4afe-93cf-77196379c3a0_fuels-dens_2100_000.png +5,270,0.05,ST5_FFDUET_TLS,ST5_ignite_ring,unsafe,other,no,,95437,https://wifire-data.sdsc.edu/data//burnpro3d/d/5f/bf/run_5fbf8f50-5acc-48e9-9b8f-932a7719a7e4/png/run_5fbf8f50-5acc-48e9-9b8f-932a7719a7e4_fuels-dens_2100_000.png +5,270,0.05,ST5_FFDUET_TLS,ST5_ignite_strip,other,unsafe,marginal,,165816,https://wifire-data.sdsc.edu/data//burnpro3d/d/15/7a/run_157a0be8-a141-4acc-bf4f-b52c57b91f20/png/run_157a0be8-a141-4acc-bf4f-b52c57b91f20_fuels-dens_2100_000.png +3,270,0.05,ST5_FFDUET_Over10m,ST5_ignite_ring,safe,safe,yes,,152299,https://wifire-data.sdsc.edu/data//burnpro3d/d/65/ef/run_65efb136-a822-40ad-a893-d4d1a0ea6f3c/png/run_65efb136-a822-40ad-a893-d4d1a0ea6f3c_fuels-dens_2100_000.png +3,270,0.05,ST5_FFDUET_Over10m,ST5_ignite_contour,safe,safe,yes,,175772,https://wifire-data.sdsc.edu/data//burnpro3d/d/88/f1/run_88f10f32-0e3f-4709-a0d4-0a5c1603e4d4/png/run_88f10f32-0e3f-4709-a0d4-0a5c1603e4d4_fuels-dens_2100_000.png +8,175,0.05,ST5_FF_DUET,ST5_ignite_contour,safe,unsafe,yes,,124056,https://wifire-data.sdsc.edu/data//burnpro3d/d/e7/89/run_e789fa40-01ac-4204-94e5-a8e7b9e3bff6/png/run_e789fa40-01ac-4204-94e5-a8e7b9e3bff6_fuels-dens_2100_000.png +8,175,0.05,ST5_FF_DUET,ST5_ignite_ring,unsafe,unsafe,no,,183192,https://wifire-data.sdsc.edu/data//burnpro3d/d/41/9e/run_419ebd2d-23e1-4c1c-885d-4afb02c658fc/png/run_419ebd2d-23e1-4c1c-885d-4afb02c658fc_fuels-dens_2100_000.png +5,270,0.05,ST5_FF_DUET,ST5_ignite_strip,other,other,marginal,,154448,https://wifire-data.sdsc.edu/data//burnpro3d/d/9a/0c/run_9a0cc1f5-4e1b-4028-ba9f-af24805d9812/png/run_9a0cc1f5-4e1b-4028-ba9f-af24805d9812_fuels-dens_2100_000.png +5,270,0.05,ST5_FFDUET_Over10m,ST5_ignite_ring,other,other,no,,84835,https://wifire-data.sdsc.edu/data//burnpro3d/d/12/6a/run_126af472-0e40-49a9-9ce3-45434d5c8170/png/run_126af472-0e40-49a9-9ce3-45434d5c8170_fuels-dens_2100_000.png +5,270,0.05,ST5_FFDUET_Over10m,ST5_ignite_strip,other,other,yes,,155868,https://wifire-data.sdsc.edu/data//burnpro3d/d/34/05/run_3405ab7d-98a2-476c-8ba4-ca14f4074c70/png/run_3405ab7d-98a2-476c-8ba4-ca14f4074c70_fuels-dens_2100_000.png +3,175,0.05,ST5_FFDUET_TLS,ST5_ignite_strip,safe,safe,yes,,121470,https://wifire-data.sdsc.edu/data//burnpro3d/d/7c/ef/run_7cefc28f-2716-45ae-a41e-94580b1f7b51/png/run_7cefc28f-2716-45ae-a41e-94580b1f7b51_fuels-dens_2100_000.png +12,270,0.05,ST5_FFDUET_Over10m,ST5_ignite_contour,unsafe,unsafe,marginal,,142932,https://wifire-data.sdsc.edu/data//burnpro3d/d/80/5e/run_805e754c-7026-4212-9717-b00029bd6035/png/run_805e754c-7026-4212-9717-b00029bd6035_fuels-dens_2100_000.png +12,270,0.05,ST5_FFDUET_Over10m,ST5_ignite_ring,unsafe,unsafe,no,,96540,https://wifire-data.sdsc.edu/data//burnpro3d/d/98/72/run_987254e5-a2df-4b9d-9fd4-fb4394af91ee/png/run_987254e5-a2df-4b9d-9fd4-fb4394af91ee_fuels-dens_2100_000.png +12,270,0.05,ST5_FFDUET_Over10m,ST5_ignite_strip,unsafe,unsafe,no,,182220,https://wifire-data.sdsc.edu/data//burnpro3d/d/24/51/run_24512c41-9f05-4474-b5c2-7d7688342eb8/png/run_24512c41-9f05-4474-b5c2-7d7688342eb8_fuels-dens_2100_000.png +5,175,0.05,ST5_FF_DUET,ST5_ignite_strip,safe,unsafe,marginal,,96242,https://wifire-data.sdsc.edu/data//burnpro3d/d/4b/f6/run_4bf68c46-c6ec-4188-b40a-f12fa30d62cf/png/run_4bf68c46-c6ec-4188-b40a-f12fa30d62cf_fuels-dens_2100_000.png +2,175,0.05,ST5_FFDUET_TLS,ST5_ignite_contour,safe,safe,yes,,122240,https://wifire-data.sdsc.edu/data//burnpro3d/d/13/7c/run_137cd5e4-80bb-4136-8bbb-fe60c6fbebbb/png/run_137cd5e4-80bb-4136-8bbb-fe60c6fbebbb_fuels-dens_2100_000.png +2,175,0.05,ST5_FFDUET_TLS,ST5_ignite_ring,safe,safe,yes,,151233,https://wifire-data.sdsc.edu/data//burnpro3d/d/c0/f8/run_c0f83c97-7941-47c8-a5eb-59aa5833fd39/png/run_c0f83c97-7941-47c8-a5eb-59aa5833fd39_fuels-dens_2100_000.png +12,175,0.05,ST5_FFDUET_Over10m,ST5_ignite_ring,unsafe,unsafe,no,,79893,https://wifire-data.sdsc.edu/data//burnpro3d/d/3b/59/run_3b591502-5f1e-4f42-ac2b-55888d4040fb/png/run_3b591502-5f1e-4f42-ac2b-55888d4040fb_fuels-dens_2100_000.png +12,175,0.05,ST5_FFDUET_Over10m,ST5_ignite_contour,safe,unsafe,marginal,,132903,https://wifire-data.sdsc.edu/data//burnpro3d/d/28/0d/run_280d1824-cf34-4164-9689-f67b6c3371d8/png/run_280d1824-cf34-4164-9689-f67b6c3371d8_fuels-dens_2100_000.png +3,270,0.05,ST5_FF_DUET,ST5_ignite_strip,safe,safe,yes,,110040,https://wifire-data.sdsc.edu/data//burnpro3d/d/b9/fb/run_b9fbe220-2eec-4c0f-98e1-babe79992be3/png/run_b9fbe220-2eec-4c0f-98e1-babe79992be3_fuels-dens_2100_000.png +3,270,0.05,ST5_FF_DUET,ST5_ignite_ring,safe,safe,yes,,148410,https://wifire-data.sdsc.edu/data//burnpro3d/d/ac/6d/run_ac6d94e7-2af5-40f2-a82d-e2c0830f8a78/png/run_ac6d94e7-2af5-40f2-a82d-e2c0830f8a78_fuels-dens_2100_000.png +3,270,0.05,ST5_FF_DUET,ST5_ignite_contour,safe,safe,yes,,120660,https://wifire-data.sdsc.edu/data//burnpro3d/d/e9/61/run_e96129a5-bdc8-4a9d-a641-53aa9994e828/png/run_e96129a5-bdc8-4a9d-a641-53aa9994e828_fuels-dens_2100_000.png +2,175,0.05,ST5_FFDUET_TLS,ST5_ignite_strip,safe,safe,yes,,149776,https://wifire-data.sdsc.edu/data//burnpro3d/d/c0/84/run_c084a889-8333-4189-8917-f68c1bd365ea/png/run_c084a889-8333-4189-8917-f68c1bd365ea_fuels-dens_2100_000.png +8,270,0.05,ST5_FFDUET_Over10m,ST5_ignite_strip,unsafe,unsafe,no,,110435,https://wifire-data.sdsc.edu/data//burnpro3d/d/42/d2/run_42d2caf4-cc25-40d4-813c-0577c4922b0a/png/run_42d2caf4-cc25-40d4-813c-0577c4922b0a_fuels-dens_2100_000.png +8,270,0.05,ST5_FFDUET_Over10m,ST5_ignite_ring,unsafe,unsafe,marginal,,168502,https://wifire-data.sdsc.edu/data//burnpro3d/d/56/eb/run_56eb9492-f0ee-4184-be7e-7b67ffcb9173/png/run_56eb9492-f0ee-4184-be7e-7b67ffcb9173_fuels-dens_2100_000.png +8,270,0.05,ST5_FFDUET_Over10m,ST5_ignite_contour,other,unsafe,yes,,137233,https://wifire-data.sdsc.edu/data//burnpro3d/d/81/24/run_81247aff-59f6-4fb6-91ff-72d6bc63e86f/png/run_81247aff-59f6-4fb6-91ff-72d6bc63e86f_fuels-dens_2100_000.png +2,270,0.05,ST5_FFDUET_TLS,ST5_ignite_contour,safe,safe,yes,,141867,https://wifire-data.sdsc.edu/data//burnpro3d/d/67/60/run_6760eb1e-cf47-4120-a865-88037a026d29/png/run_6760eb1e-cf47-4120-a865-88037a026d29_fuels-dens_2100_000.png +2,270,0.05,ST5_FFDUET_TLS,ST5_ignite_ring,safe,safe,yes,,146003,https://wifire-data.sdsc.edu/data//burnpro3d/d/1e/6c/run_1e6c8891-b288-43f9-acfc-51e0699cdc96/png/run_1e6c8891-b288-43f9-acfc-51e0699cdc96_fuels-dens_2100_000.png +2,270,0.05,ST5_FFDUET_TLS,ST5_ignite_strip,safe,safe,yes,,109577,https://wifire-data.sdsc.edu/data//burnpro3d/d/9d/e3/run_9de3e6d6-0586-48e9-831a-c370d443262f/png/run_9de3e6d6-0586-48e9-831a-c370d443262f_fuels-dens_2100_000.png +8,175,0.05,ST5_FFDUET_Over10m,ST5_ignite_strip,safe,unsafe,no,,131264,https://wifire-data.sdsc.edu/data//burnpro3d/d/02/79/run_027965f2-2cef-47ef-9e8b-34bc3ac03ea2/png/run_027965f2-2cef-47ef-9e8b-34bc3ac03ea2_fuels-dens_2100_000.png +8,175,0.05,ST5_FFDUET_Over10m,ST5_ignite_ring,unsafe,unsafe,no,,186529,https://wifire-data.sdsc.edu/data//burnpro3d/d/64/ad/run_64ad5d44-4fb3-4079-a658-19ce41f88cc5/png/run_64ad5d44-4fb3-4079-a658-19ce41f88cc5_fuels-dens_2100_000.png +8,175,0.05,ST5_FFDUET_Over10m,ST5_ignite_contour,safe,unsafe,marginal,,162957,https://wifire-data.sdsc.edu/data//burnpro3d/d/56/9d/run_569de3dd-a3a5-48e5-808a-0a10acb0767b/png/run_569de3dd-a3a5-48e5-808a-0a10acb0767b_fuels-dens_2100_000.png +3,175,0.05,ST5_FFDUET_TLS,ST5_ignite_contour,safe,safe,yes,,131089,https://wifire-data.sdsc.edu/data//burnpro3d/d/53/ec/run_53ec35ca-15fb-46cf-9c9b-a4b45611f9e2/png/run_53ec35ca-15fb-46cf-9c9b-a4b45611f9e2_fuels-dens_2100_000.png +3,175,0.05,ST5_FFDUET_TLS,ST5_ignite_ring,other,safe,yes,,156071,https://wifire-data.sdsc.edu/data//burnpro3d/d/90/b7/run_90b73e7e-141b-4c61-81aa-877d5a5e4a97/png/run_90b73e7e-141b-4c61-81aa-877d5a5e4a97_fuels-dens_2100_000.png +8,175,0.05,ST5_FFDUET_TLS,ST5_ignite_contour,safe,unsafe,marginal,,187574,https://wifire-data.sdsc.edu/data//burnpro3d/d/2b/06/run_2b06dfe8-976b-45e0-9580-5de5e38ab9a8/png/run_2b06dfe8-976b-45e0-9580-5de5e38ab9a8_fuels-dens_2100_000.png +8,175,0.05,ST5_FFDUET_TLS,ST5_ignite_ring,unsafe,unsafe,no,,123022,https://wifire-data.sdsc.edu/data//burnpro3d/d/ae/f0/run_aef03e56-8b53-472d-9d60-5f454cf5ce44/png/run_aef03e56-8b53-472d-9d60-5f454cf5ce44_fuels-dens_2100_000.png +3,175,0.05,ST5_FF_DUET,ST5_ignite_contour,safe,safe,yes,,105082,https://wifire-data.sdsc.edu/data//burnpro3d/d/88/bf/run_88bf30ac-d207-485d-a529-2ef05baaec9a/png/run_88bf30ac-d207-485d-a529-2ef05baaec9a_fuels-dens_2100_000.png +5,175,0.05,ST5_FF_DUET,ST5_ignite_contour,safe,other,yes,,23491,https://wifire-data.sdsc.edu/data//burnpro3d/d/6a/4a/run_6a4ae6a7-b236-4e1d-b3a0-bcc18ed504fd/png/run_6a4ae6a7-b236-4e1d-b3a0-bcc18ed504fd_fuels-dens_2100_000.png +12,270,0.05,ST5_FF_DUET,ST5_ignite_contour,unsafe,unsafe,marginal,,142992,https://wifire-data.sdsc.edu/data//burnpro3d/d/e1/fe/run_e1fe1ca4-100c-4fd5-be8f-f1c26ef6a1f2/png/run_e1fe1ca4-100c-4fd5-be8f-f1c26ef6a1f2_fuels-dens_2100_000.png +2,270,0.05,ST5_FFDUET_Over10m,ST5_ignite_contour,safe,safe,yes,,128453,https://wifire-data.sdsc.edu/data//burnpro3d/d/d1/df/run_d1df4d1b-d960-46f3-80d2-177e537015eb/png/run_d1df4d1b-d960-46f3-80d2-177e537015eb_fuels-dens_2100_000.png +12,175,0.05,ST5_FF_DUET,ST5_ignite_contour,unsafe,unsafe,no,,163234,https://wifire-data.sdsc.edu/data//burnpro3d/d/94/f9/run_94f9a9e8-ffcc-48e4-bfd6-537955b7dea8/png/run_94f9a9e8-ffcc-48e4-bfd6-537955b7dea8_fuels-dens_2100_000.png +12,175,0.05,ST5_FF_DUET,ST5_ignite_ring,unsafe,unsafe,no,,97820,https://wifire-data.sdsc.edu/data//burnpro3d/d/71/fe/run_71fe35f7-71f6-43e9-b9a6-23ec045c910b/png/run_71fe35f7-71f6-43e9-b9a6-23ec045c910b_fuels-dens_2100_000.png +3,270,0.05,ST5_FFDUET_Over10m,ST5_ignite_strip,other,other,yes,,143544,https://wifire-data.sdsc.edu/data//burnpro3d/d/74/f2/run_74f2abdd-f6ec-4d16-bfc7-7558ebe6c223/png/run_74f2abdd-f6ec-4d16-bfc7-7558ebe6c223_fuels-dens_2100_000.png +12,270,0.05,ST5_FF_DUET,ST5_ignite_strip,unsafe,unsafe,no,,182311,https://wifire-data.sdsc.edu/data//burnpro3d/d/76/7f/run_767f5102-eb5e-48a5-a008-915b3c4bcb04/png/run_767f5102-eb5e-48a5-a008-915b3c4bcb04_fuels-dens_2100_000.png +12,175,0.05,ST5_FF_DUET,ST5_ignite_strip,unsafe,unsafe,no,,184603,https://wifire-data.sdsc.edu/data//burnpro3d/d/ca/68/run_ca6882d4-5d43-4609-bc7b-03711eb6f343/png/run_ca6882d4-5d43-4609-bc7b-03711eb6f343_fuels-dens_2100_000.png +12,175,0.05,ST5_FFDUET_TLS,ST5_ignite_contour,other,unsafe,no,,164916,https://wifire-data.sdsc.edu/data//burnpro3d/d/0b/b6/run_0bb621d5-687f-4f0b-842e-5392d58b0b09/png/run_0bb621d5-687f-4f0b-842e-5392d58b0b09_fuels-dens_2100_000.png +2,270,0.05,ST5_FFDUET_Over10m,ST5_ignite_strip,other,safe,yes,,143882,https://wifire-data.sdsc.edu/data//burnpro3d/d/fc/58/run_fc583236-89b4-4937-83da-20959b7caa66/png/run_fc583236-89b4-4937-83da-20959b7caa66_fuels-dens_2100_000.png +12,175,0.05,ST5_FFDUET_TLS,ST5_ignite_ring,unsafe,unsafe,no,,186374,https://wifire-data.sdsc.edu/data//burnpro3d/d/a6/08/run_a6086793-7c57-46b7-b017-558d1fe62865/png/run_a6086793-7c57-46b7-b017-558d1fe62865_fuels-dens_2100_000.png +2,175,0.05,ST5_FFDUET_Over10m,ST5_ignite_strip,safe,safe,yes,,95742,https://wifire-data.sdsc.edu/data//burnpro3d/d/7b/cc/run_7bcc58c0-b67f-4857-808b-b2b31bb0283d/png/run_7bcc58c0-b67f-4857-808b-b2b31bb0283d_fuels-dens_2100_000.png +2,175,0.05,ST5_FFDUET_Over10m,ST5_ignite_ring,other,safe,yes,,148101,https://wifire-data.sdsc.edu/data//burnpro3d/d/14/e7/run_14e79db0-ee48-48da-8495-a0f4acc06a9c/png/run_14e79db0-ee48-48da-8495-a0f4acc06a9c_fuels-dens_2100_000.png +8,175,0.05,ST5_FF_DUET,ST5_ignite_strip,unsafe,unsafe,no,,136994,https://wifire-data.sdsc.edu/data//burnpro3d/d/3b/61/run_3b613110-bf06-4f7b-922d-177bd2d94e6c/png/run_3b613110-bf06-4f7b-922d-177bd2d94e6c_fuels-dens_2100_000.png +2,175,0.05,ST5_FFDUET_Over10m,ST5_ignite_contour,safe,safe,yes,,122318,https://wifire-data.sdsc.edu/data//burnpro3d/d/7a/54/run_7a54eeb7-5853-42f6-8421-ac4272211bca/png/run_7a54eeb7-5853-42f6-8421-ac4272211bca_fuels-dens_2100_000.png +12,270,0.05,ST5_FFDUET_TLS,ST5_ignite_contour,unsafe,unsafe,marginal,,145861,https://wifire-data.sdsc.edu/data//burnpro3d/d/4e/02/run_4e02cf7b-ffd1-4fb1-a730-5736704805d1/png/run_4e02cf7b-ffd1-4fb1-a730-5736704805d1_fuels-dens_2100_000.png +12,270,0.05,ST5_FFDUET_TLS,ST5_ignite_ring,unsafe,unsafe,no,,169785,https://wifire-data.sdsc.edu/data//burnpro3d/d/8c/75/run_8c75b2a2-c7f0-4835-bf38-fd143c82c771/png/run_8c75b2a2-c7f0-4835-bf38-fd143c82c771_fuels-dens_2100_000.png +12,270,0.05,ST5_FFDUET_TLS,ST5_ignite_strip,unsafe,unsafe,no,,129319,https://wifire-data.sdsc.edu/data//burnpro3d/d/93/76/run_93764f06-5631-4396-88e5-d9f053f35968/png/run_93764f06-5631-4396-88e5-d9f053f35968_fuels-dens_2100_000.png +2,175,0.05,ST5_FF_DUET,ST5_ignite_contour,safe,safe,yes,,95733,https://wifire-data.sdsc.edu/data//burnpro3d/d/be/ec/run_beec398a-0e3d-41c6-802c-481b8aefc2aa/png/run_beec398a-0e3d-41c6-802c-481b8aefc2aa_fuels-dens_2100_000.png +12,175,0.05,ST5_FFDUET_TLS,ST5_ignite_strip,unsafe,unsafe,no,,144543,https://wifire-data.sdsc.edu/data//burnpro3d/d/ca/62/run_ca624da0-2055-4c00-bd30-83e051fdb99c/png/run_ca624da0-2055-4c00-bd30-83e051fdb99c_fuels-dens_2100_000.png +8,270,0.05,ST5_FFDUET_TLS,ST5_ignite_strip,unsafe,unsafe,no,,55529,https://wifire-data.sdsc.edu/data//burnpro3d/d/28/35/run_28350ac9-83d5-422e-846d-7e846a310fa4/png/run_28350ac9-83d5-422e-846d-7e846a310fa4_fuels-dens_2100_000.png +2,270,0.05,ST5_FFDUET_Over10m,ST5_ignite_ring,other,other,yes,,148610,https://wifire-data.sdsc.edu/data//burnpro3d/d/ad/f5/run_adf59b9e-2ea5-4500-88ef-3ee10cb7df07/png/run_adf59b9e-2ea5-4500-88ef-3ee10cb7df07_fuels-dens_2100_000.png +8,270,0.05,ST5_FF_DUET,ST5_ignite_ring,unsafe,unsafe,marginal,,169067,https://wifire-data.sdsc.edu/data//burnpro3d/d/09/e4/run_09e4f9bd-b648-4abb-8885-c80726e6c10b/png/run_09e4f9bd-b648-4abb-8885-c80726e6c10b_fuels-dens_2100_000.png +2,175,0.05,ST5_FF_DUET,ST5_ignite_strip,safe,safe,yes,,145691,https://wifire-data.sdsc.edu/data//burnpro3d/d/1a/23/run_1a232043-1f36-40fe-a56e-a2c7e875754c/png/run_1a232043-1f36-40fe-a56e-a2c7e875754c_fuels-dens_2100_000.png +2,270,0.05,ST5_FF_DUET,ST5_ignite_strip,safe,safe,yes,,148180,https://wifire-data.sdsc.edu/data//burnpro3d/d/3d/a9/run_3da99e3f-0c0a-4589-ad02-634423739f42/png/run_3da99e3f-0c0a-4589-ad02-634423739f42_fuels-dens_2100_000.png +2,270,0.05,ST5_FF_DUET,ST5_ignite_ring,other,safe,yes,,147468,https://wifire-data.sdsc.edu/data//burnpro3d/d/da/1f/run_da1f5103-f650-41a2-9a76-bbf9ffe496ec/png/run_da1f5103-f650-41a2-9a76-bbf9ffe496ec_fuels-dens_2100_000.png +8,270,0.05,ST5_FF_DUET,ST5_ignite_strip,unsafe,unsafe,no,,179485,https://wifire-data.sdsc.edu/data//burnpro3d/d/50/b2/run_50b26d10-660b-4458-b5a2-4f5e719d0d4c/png/run_50b26d10-660b-4458-b5a2-4f5e719d0d4c_fuels-dens_2100_000.png +2,270,0.05,ST5_FF_DUET,ST5_ignite_contour,safe,safe,yes,,119863,https://wifire-data.sdsc.edu/data//burnpro3d/d/00/28/run_0028f006-ff57-4d09-9282-d9bf0ab92f44/png/run_0028f006-ff57-4d09-9282-d9bf0ab92f44_fuels-dens_2100_000.png +8,175,0.05,ST5_FFDUET_TLS,ST5_ignite_strip,unsafe,unsafe,no,,182246,https://wifire-data.sdsc.edu/data//burnpro3d/d/00/1d/run_001d82e8-6447-4218-8a82-e5d66b3ee965/png/run_001d82e8-6447-4218-8a82-e5d66b3ee965_fuels-dens_2100_000.png +8,270,0.05,ST5_FFDUET_TLS,ST5_ignite_ring,unsafe,unsafe,marginal,,111030,https://wifire-data.sdsc.edu/data//burnpro3d/d/58/3f/run_583fe2d4-1d79-4ae3-8468-681bb3689e50/png/run_583fe2d4-1d79-4ae3-8468-681bb3689e50_fuels-dens_2100_000.png +3,175,0.05,ST5_FFDUET_Over10m,ST5_ignite_strip,safe,other,yes,,144915,https://wifire-data.sdsc.edu/data//burnpro3d/d/4e/93/run_4e930263-9df0-41dd-a787-1a5030e13e21/png/run_4e930263-9df0-41dd-a787-1a5030e13e21_fuels-dens_2100_000.png +3,175,0.05,ST5_FFDUET_Over10m,ST5_ignite_ring,unsafe,other,marginal,,157180,https://wifire-data.sdsc.edu/data//burnpro3d/d/11/bf/run_11bf4090-8309-4d29-af5d-306abbe39660/png/run_11bf4090-8309-4d29-af5d-306abbe39660_fuels-dens_2100_000.png +12,270,0.05,ST5_FF_DUET,ST5_ignite_ring,unsafe,unsafe,no,,171668,https://wifire-data.sdsc.edu/data//burnpro3d/d/bd/f5/run_bdf50481-0025-4847-9834-46bc27de22f4/png/run_bdf50481-0025-4847-9834-46bc27de22f4_fuels-dens_2100_000.png +3,175,0.05,ST5_FFDUET_Over10m,ST5_ignite_contour,safe,safe,ny,,127178,https://wifire-data.sdsc.edu/data//burnpro3d/d/63/b4/run_63b4090d-2a8e-476e-90ca-fcac8c9de318/png/run_63b4090d-2a8e-476e-90ca-fcac8c9de318_fuels-dens_2100_000.png +8,270,0.05,ST5_FFDUET_TLS,ST5_ignite_contour,unsafe,unsafe,marginal,,88800,https://wifire-data.sdsc.edu/data//burnpro3d/d/6a/cd/run_6acd9895-d9c5-40d4-84ad-19b3f1c067d5/png/run_6acd9895-d9c5-40d4-84ad-19b3f1c067d5_fuels-dens_2100_000.png +12,175,0.05,ST5_FFDUET_Over10m,ST5_ignite_strip,unsafe,unsafe,n,,118021,https://wifire-data.sdsc.edu/data//burnpro3d/d/eb/56/run_eb564200-1718-496f-ad70-49599cda3e6e/png/run_eb564200-1718-496f-ad70-49599cda3e6e_fuels-dens_2100_000.png +8,270,0.05,ST5_FF_DUET,ST5_ignite_contour,unsafe,unsafe,marginal,,68269,https://wifire-data.sdsc.edu/data//burnpro3d/d/01/5c/run_015ce4de-1e1b-4775-85ef-bdce1fee9ac4/png/run_015ce4de-1e1b-4775-85ef-bdce1fee9ac4_fuels-dens_2100_000.png +12,175,0.1,ST5_FF_DUET,ST5_ignite_strip,unsafe,unsafe,no,,120617,https://wifire-data.sdsc.edu/data//burnpro3d/d/36/ae/run_36ae1bf3-6641-4922-975c-fbb705e14021/png/run_36ae1bf3-6641-4922-975c-fbb705e14021_fuels-dens_2100_000.png +12,175,0.1,ST5_FF_DUET,ST5_ignite_ring,unsafe,unsafe,no,,136372,https://wifire-data.sdsc.edu/data//burnpro3d/d/62/21/run_6221acb0-0343-4237-9cc0-4074ba566dd8/png/run_6221acb0-0343-4237-9cc0-4074ba566dd8_fuels-dens_2100_000.png +8,270,0.1,ST5_FF_DUET,ST5_ignite_contour,unsafe,safe,yes,,125959,https://wifire-data.sdsc.edu/data//burnpro3d/d/49/d8/run_49d858b0-de4b-4d2b-b8f6-f58aeffad6dd/png/run_49d858b0-de4b-4d2b-b8f6-f58aeffad6dd_fuels-dens_2100_000.png +5,175,0.1,ST5_FF_DUET,ST5_ignite_contour,safe,other,yes,,131153,https://wifire-data.sdsc.edu/data//burnpro3d/d/0a/0e/run_0a0e407c-fac8-46c3-ad0f-2a8eecb5ea5a/png/run_0a0e407c-fac8-46c3-ad0f-2a8eecb5ea5a_fuels-dens_2100_000.png +8,270,0.1,ST5_FFDUET_Over10m,ST5_ignite_contour,unsafe,unsafe,marginal,,135276,https://wifire-data.sdsc.edu/data//burnpro3d/d/7f/f3/run_7ff3a016-7fe5-4088-bae0-0193eafb2a1a/png/run_7ff3a016-7fe5-4088-bae0-0193eafb2a1a_fuels-dens_2100_000.png +8,270,0.1,ST5_FFDUET_Over10m,ST5_ignite_ring,unsafe,unsafe,marginal,,164894,https://wifire-data.sdsc.edu/data//burnpro3d/d/7e/a7/run_7ea786cd-44fc-4ebb-8ce7-473ea4e99cd5/png/run_7ea786cd-44fc-4ebb-8ce7-473ea4e99cd5_fuels-dens_2100_000.png +12,175,0.1,ST5_FFDUET_Over10m,ST5_ignite_strip,unsafe,unsafe,no,,181379,https://wifire-data.sdsc.edu/data//burnpro3d/d/fc/54/run_fc54a192-f4e5-414c-abb1-473c17781748/png/run_fc54a192-f4e5-414c-abb1-473c17781748_fuels-dens_2100_000.png +8,270,0.1,ST5_FFDUET_Over10m,ST5_ignite_strip,other,unsafe,no,,167600,https://wifire-data.sdsc.edu/data//burnpro3d/d/38/8e/run_388e87e3-de44-4e2d-9907-34bdcaaf80d5/png/run_388e87e3-de44-4e2d-9907-34bdcaaf80d5_fuels-dens_2100_000.png +5,175,0.1,ST5_FF_DUET,ST5_ignite_strip,safe,unsafe,marginal,,157237,https://wifire-data.sdsc.edu/data//burnpro3d/d/de/fb/run_defb7f92-85a0-4f5b-b068-1e1f97517663/png/run_defb7f92-85a0-4f5b-b068-1e1f97517663_fuels-dens_2100_000.png +5,175,0.1,ST5_FF_DUET,ST5_ignite_ring,safe,unsafe,no,,168725,https://wifire-data.sdsc.edu/data//burnpro3d/d/cc/e3/run_cce30db5-f175-48ee-81d1-3f54cb070155/png/run_cce30db5-f175-48ee-81d1-3f54cb070155_fuels-dens_2100_000.png +12,175,0.1,ST5_FF_DUET,ST5_ignite_contour,other,unsafe,yes,,100353,https://wifire-data.sdsc.edu/data//burnpro3d/d/b6/63/run_b6631d22-9baf-44b1-b70f-c45d8e6864ac/png/run_b6631d22-9baf-44b1-b70f-c45d8e6864ac_fuels-dens_2100_000.png +12,175,0.1,ST5_FFDUET_Over10m,ST5_ignite_ring,unsafe,unsafe,no,,127574,https://wifire-data.sdsc.edu/data//burnpro3d/d/1e/ac/run_1eac8c2c-46fd-4adf-b5b9-2435e375cb20/png/run_1eac8c2c-46fd-4adf-b5b9-2435e375cb20_fuels-dens_2100_000.png +12,175,0.1,ST5_FFDUET_Over10m,ST5_ignite_contour,unsafe,unsafe,no,,108694,https://wifire-data.sdsc.edu/data//burnpro3d/d/5e/02/run_5e025010-132e-4a83-92f0-448232d80a28/png/run_5e025010-132e-4a83-92f0-448232d80a28_fuels-dens_2100_000.png +8,175,0.1,ST5_FF_DUET,ST5_ignite_contour,other,unsafe,marginal,,77359,https://wifire-data.sdsc.edu/data//burnpro3d/d/cc/7c/run_cc7cd428-7787-4e40-9632-461a2f6618eb/png/run_cc7cd428-7787-4e40-9632-461a2f6618eb_fuels-dens_2100_000.png +8,175,0.1,ST5_FFDUET_Over10m,ST5_ignite_strip,unsafe,unsafe,no,,175015,https://wifire-data.sdsc.edu/data//burnpro3d/d/95/4d/run_954d036f-1f3e-4f0d-be5c-0a6867aa5f4e/png/run_954d036f-1f3e-4f0d-be5c-0a6867aa5f4e_fuels-dens_2100_000.png +8,175,0.1,ST5_FF_DUET,ST5_ignite_ring,unsafe,unsafe,no,,115540,https://wifire-data.sdsc.edu/data//burnpro3d/d/7a/3b/run_7a3b58db-92a3-4b82-a4c7-b44af51ee285/png/run_7a3b58db-92a3-4b82-a4c7-b44af51ee285_fuels-dens_2100_000.png +3,175,0.1,ST5_FFDUET_Over10m,ST5_ignite_ring,other,other,yes,,150873,https://wifire-data.sdsc.edu/data//burnpro3d/d/e9/ec/run_e9ec5b9a-2c74-48f2-aee5-5c6444bb6e70/png/run_e9ec5b9a-2c74-48f2-aee5-5c6444bb6e70_fuels-dens_2100_000.png +3,175,0.1,ST5_FFDUET_Over10m,ST5_ignite_strip,safe,safe,yes,,122823,https://wifire-data.sdsc.edu/data//burnpro3d/d/e1/05/run_e1058fa9-917b-4933-85ca-b5dacc7d2f2a/png/run_e1058fa9-917b-4933-85ca-b5dacc7d2f2a_fuels-dens_2100_000.png +3,175,0.1,ST5_FFDUET_Over10m,ST5_ignite_contour,safe,safe,yes,,122188,https://wifire-data.sdsc.edu/data//burnpro3d/d/9d/67/run_9d670ace-5dd3-4f05-8bce-a43bdd42ef61/png/run_9d670ace-5dd3-4f05-8bce-a43bdd42ef61_fuels-dens_2100_000.png +3,270,0.1,ST5_FFDUET_Over10m,ST5_ignite_contour,safe,safe,yes,,118425,https://wifire-data.sdsc.edu/data//burnpro3d/d/a0/8a/run_a08a8594-ef28-4de2-ae96-df26f5c81d5f/png/run_a08a8594-ef28-4de2-ae96-df26f5c81d5f_fuels-dens_2100_000.png +2,270,0.1,ST5_FFDUET_Over10m,ST5_ignite_strip,other,other,marginal,,79001,https://wifire-data.sdsc.edu/data//burnpro3d/d/3d/9d/run_3d9d3da6-e761-457d-b028-657c15a1c4d1/png/run_3d9d3da6-e761-457d-b028-657c15a1c4d1_fuels-dens_2100_000.png +2,270,0.1,ST5_FFDUET_Over10m,ST5_ignite_ring,other,other,yes,,117725,https://wifire-data.sdsc.edu/data//burnpro3d/d/9d/f1/run_9df18e43-a111-4069-ba20-f6184b493f67/png/run_9df18e43-a111-4069-ba20-f6184b493f67_fuels-dens_2100_000.png +3,270,0.1,ST5_FFDUET_Over10m,ST5_ignite_strip,other,other,yes,,141325,https://wifire-data.sdsc.edu/data//burnpro3d/d/82/01/run_8201f856-9846-4dda-abc7-a5d31cd0ce12/png/run_8201f856-9846-4dda-abc7-a5d31cd0ce12_fuels-dens_2100_000.png +5,270,0.1,ST5_FF_DUET,ST5_ignite_strip,other,other,yes,,143115,https://wifire-data.sdsc.edu/data//burnpro3d/d/1c/f7/run_1cf78817-8162-4c66-9dfc-f2e66f15ef24/png/run_1cf78817-8162-4c66-9dfc-f2e66f15ef24_fuels-dens_2100_000.png +5,270,0.1,ST5_FF_DUET,ST5_ignite_ring,unsafe,unsafe,marginal,,153706,https://wifire-data.sdsc.edu/data//burnpro3d/d/10/39/run_10395b34-9e7c-42e4-9fac-f2c6392ec79c/png/run_10395b34-9e7c-42e4-9fac-f2c6392ec79c_fuels-dens_2100_000.png +5,270,0.1,ST5_FF_DUET,ST5_ignite_contour,safe,safe,yes,,151331,https://wifire-data.sdsc.edu/data//burnpro3d/d/a9/96/run_a99669c5-9275-4746-b632-0a33d3c9c78d/png/run_a99669c5-9275-4746-b632-0a33d3c9c78d_fuels-dens_2100_000.png +12,270,0.1,ST5_FF_DUET,ST5_ignite_contour,unsafe,unsafe,marginal,,113182,https://wifire-data.sdsc.edu/data//burnpro3d/d/55/f8/run_55f885bd-1cb2-4ea8-935a-4d42c263bef1/png/run_55f885bd-1cb2-4ea8-935a-4d42c263bef1_fuels-dens_2100_000.png +2,270,0.1,ST5_FFDUET_Over10m,ST5_ignite_contour,safe,safe,yes,,118124,https://wifire-data.sdsc.edu/data//burnpro3d/d/3b/1b/run_3b1b6216-918d-4a6c-9d95-1a11575d0d06/png/run_3b1b6216-918d-4a6c-9d95-1a11575d0d06_fuels-dens_2100_000.png +2,175,0.1,ST5_FFDUET_Over10m,ST5_ignite_ring,safe,safe,yes,,147437,https://wifire-data.sdsc.edu/data//burnpro3d/d/61/6b/run_616b0a0c-dd09-419f-8464-1f9ee8f638f4/png/run_616b0a0c-dd09-419f-8464-1f9ee8f638f4_fuels-dens_2100_000.png +5,175,0.1,ST5_FFDUET_Over10m,ST5_ignite_contour,safe,other,yes,,140553,https://wifire-data.sdsc.edu/data//burnpro3d/d/07/a5/run_07a5fc3a-8d8d-47ac-a9a6-af88b006c261/png/run_07a5fc3a-8d8d-47ac-a9a6-af88b006c261_fuels-dens_2100_000.png +5,175,0.1,ST5_FFDUET_Over10m,ST5_ignite_ring,unsafe,unsafe,no,,168298,https://wifire-data.sdsc.edu/data//burnpro3d/d/8f/93/run_8f93506c-9adc-4def-981d-d30ec2f0f249/png/run_8f93506c-9adc-4def-981d-d30ec2f0f249_fuels-dens_2100_000.png +5,175,0.1,ST5_FFDUET_Over10m,ST5_ignite_strip,other,unsafe,no,,159644,https://wifire-data.sdsc.edu/data//burnpro3d/d/ee/af/run_eeafb1da-345c-42f8-9586-9fd117cbeb08/png/run_eeafb1da-345c-42f8-9586-9fd117cbeb08_fuels-dens_2100_000.png +2,175,0.1,ST5_FFDUET_Over10m,ST5_ignite_contour,safe,safe,yes,,111056,https://wifire-data.sdsc.edu/data//burnpro3d/d/a0/67/run_a067a78c-47a8-4b9c-9cce-d4a88d3a78e8/png/run_a067a78c-47a8-4b9c-9cce-d4a88d3a78e8_fuels-dens_2100_000.png +5,270,0.1,ST5_FFDUET_Over10m,ST5_ignite_contour,safe,safe,yes,,123722,https://wifire-data.sdsc.edu/data//burnpro3d/d/ce/70/run_ce701cc2-6242-4cb2-b420-c800738c67da/png/run_ce701cc2-6242-4cb2-b420-c800738c67da_fuels-dens_2100_000.png +5,270,0.1,ST5_FFDUET_Over10m,ST5_ignite_strip,other,other,yes,,148889,https://wifire-data.sdsc.edu/data//burnpro3d/d/1a/93/run_1a936d3f-fdbc-4dc4-ad05-c947899122e7/png/run_1a936d3f-fdbc-4dc4-ad05-c947899122e7_fuels-dens_2100_000.png +12,270,0.1,ST5_FF_DUET,ST5_ignite_strip,unsafe,unsafe,no,,176916,https://wifire-data.sdsc.edu/data//burnpro3d/d/3e/b0/run_3eb07f34-77d7-4833-a7ab-c5f9a6b20b30/png/run_3eb07f34-77d7-4833-a7ab-c5f9a6b20b30_fuels-dens_2100_000.png +12,270,0.1,ST5_FF_DUET,ST5_ignite_ring,unsafe,unsafe,no,,185068,https://wifire-data.sdsc.edu/data//burnpro3d/d/a4/82/run_a4829afe-c04b-4b94-ac43-2ff3b82ce6d1/png/run_a4829afe-c04b-4b94-ac43-2ff3b82ce6d1_fuels-dens_2100_000.png +8,175,0.1,ST5_FFDUET_Over10m,ST5_ignite_contour,other,unsafe,marginal,,145741,https://wifire-data.sdsc.edu/data//burnpro3d/d/8c/68/run_8c684a8b-974b-45e0-96b2-e03962fb135e/png/run_8c684a8b-974b-45e0-96b2-e03962fb135e_fuels-dens_2100_000.png +8,175,0.1,ST5_FFDUET_Over10m,ST5_ignite_ring,unsafe,unsafe,no,,156794,https://wifire-data.sdsc.edu/data//burnpro3d/d/1b/86/run_1b86d92e-d7a3-4553-9f64-d0510824574b/png/run_1b86d92e-d7a3-4553-9f64-d0510824574b_fuels-dens_2100_000.png +2,175,0.1,ST5_FFDUET_Over10m,ST5_ignite_strip,safe,safe,yes,,141626,https://wifire-data.sdsc.edu/data//burnpro3d/d/4f/f3/run_4ff3b2eb-1b3b-4e9f-bb0c-61b706c6f1d1/png/run_4ff3b2eb-1b3b-4e9f-bb0c-61b706c6f1d1_fuels-dens_2100_000.png +5,270,0.1,ST5_FFDUET_Over10m,ST5_ignite_ring,unsafe,other,marginal,,158777,https://wifire-data.sdsc.edu/data//burnpro3d/d/63/ef/run_63efef5f-6f41-4e46-af73-0e679558fab9/png/run_63efef5f-6f41-4e46-af73-0e679558fab9_fuels-dens_2100_000.png +12,270,0.1,ST5_FFDUET_Over10m,ST5_ignite_strip,unsafe,unsafe,no,,176675,https://wifire-data.sdsc.edu/data//burnpro3d/d/6b/8e/run_6b8e2631-6189-4377-a180-b0e658f50c8b/png/run_6b8e2631-6189-4377-a180-b0e658f50c8b_fuels-dens_2100_000.png +12,270,0.1,ST5_FFDUET_Over10m,ST5_ignite_contour,unsafe,unsafe,marginal,,82028,https://wifire-data.sdsc.edu/data//burnpro3d/d/d5/6e/run_d56e5859-7bd7-42fe-a8e7-955cab855de2/png/run_d56e5859-7bd7-42fe-a8e7-955cab855de2_fuels-dens_2100_000.png +3,270,0.1,ST5_FFDUET_TLS,ST5_ignite_strip,safe,safe,yes,,140626,https://wifire-data.sdsc.edu/data//burnpro3d/d/c3/62/run_c36208f7-76be-4362-a2bc-0bf7d8a5a7d1/png/run_c36208f7-76be-4362-a2bc-0bf7d8a5a7d1_fuels-dens_2100_000.png +5,175,0.1,ST5_FFDUET_TLS,ST5_ignite_contour,safe,other,yes,,115733,https://wifire-data.sdsc.edu/data//burnpro3d/d/cc/44/run_cc442cdf-2700-4468-aacc-b5bcb607a751/png/run_cc442cdf-2700-4468-aacc-b5bcb607a751_fuels-dens_2100_000.png +5,175,0.1,ST5_FFDUET_TLS,ST5_ignite_ring,unsafe,unsafe,no,,169147,https://wifire-data.sdsc.edu/data//burnpro3d/d/29/99/run_29996697-12a3-4d98-868f-5015e86f7d01/png/run_29996697-12a3-4d98-868f-5015e86f7d01_fuels-dens_2100_000.png +5,175,0.1,ST5_FFDUET_TLS,ST5_ignite_strip,safe,unsafe,no,,163397,https://wifire-data.sdsc.edu/data//burnpro3d/d/b3/ef/run_b3efec50-3ea9-4a62-b5dc-b0480208bd1d/png/run_b3efec50-3ea9-4a62-b5dc-b0480208bd1d_fuels-dens_2100_000.png +3,175,0.1,ST5_FF_DUET,ST5_ignite_strip,safe,other,yes,,146616,https://wifire-data.sdsc.edu/data//burnpro3d/d/4e/ff/run_4eff532e-d34e-481f-8311-158d8e6cb04e/png/run_4eff532e-d34e-481f-8311-158d8e6cb04e_fuels-dens_2100_000.png +3,175,0.1,ST5_FF_DUET,ST5_ignite_contour,safe,safe,yes,,45100,https://wifire-data.sdsc.edu/data//burnpro3d/d/a6/b4/run_a6b41224-1721-4c7a-9df0-03246e865fd1/png/run_a6b41224-1721-4c7a-9df0-03246e865fd1_fuels-dens_2100_000.png +5,270,0.1,ST5_FFDUET_TLS,ST5_ignite_contour,safe,safe,yes,,120710,https://wifire-data.sdsc.edu/data//burnpro3d/d/3e/6f/run_3e6f1812-b257-4e82-88ac-1e40357acc51/png/run_3e6f1812-b257-4e82-88ac-1e40357acc51_fuels-dens_2100_000.png +5,270,0.1,ST5_FFDUET_TLS,ST5_ignite_strip,other,other,yes,,147166,https://wifire-data.sdsc.edu/data//burnpro3d/d/0a/74/run_0a740ea1-a1cb-4d02-bb7d-d6e3e45ddd6b/png/run_0a740ea1-a1cb-4d02-bb7d-d6e3e45ddd6b_fuels-dens_2100_000.png +2,270,0.1,ST5_FF_DUET,ST5_ignite_strip,other,safe,yes,,67319,https://wifire-data.sdsc.edu/data//burnpro3d/d/b1/76/run_b176f19a-4c7e-4af8-bf6f-108310850788/png/run_b176f19a-4c7e-4af8-bf6f-108310850788_fuels-dens_2100_000.png +2,270,0.1,ST5_FF_DUET,ST5_ignite_ring,safe,safe,yes,,141734,https://wifire-data.sdsc.edu/data//burnpro3d/d/5d/1c/run_5d1c4c6a-0a10-4827-895c-f7fce5ad2be1/png/run_5d1c4c6a-0a10-4827-895c-f7fce5ad2be1_fuels-dens_2100_000.png +2,270,0.1,ST5_FF_DUET,ST5_ignite_contour,safe,safe,yes,,114191,https://wifire-data.sdsc.edu/data//burnpro3d/d/d5/8e/run_d58eafa4-33b4-4cbf-9c45-d09e56eb4b36/png/run_d58eafa4-33b4-4cbf-9c45-d09e56eb4b36_fuels-dens_2100_000.png +8,175,0.1,ST5_FFDUET_TLS,ST5_ignite_contour,other,unsafe,marginal,,138530,https://wifire-data.sdsc.edu/data//burnpro3d/d/2f/34/run_2f3493ae-00c7-408f-939e-cf2fefa67c32/png/run_2f3493ae-00c7-408f-939e-cf2fefa67c32_fuels-dens_2100_000.png +8,175,0.1,ST5_FFDUET_TLS,ST5_ignite_ring,unsafe,unsafe,no,,182377,https://wifire-data.sdsc.edu/data//burnpro3d/d/10/97/run_1097511f-70ec-4613-8864-b54067c76507/png/run_1097511f-70ec-4613-8864-b54067c76507_fuels-dens_2100_000.png +8,175,0.1,ST5_FFDUET_TLS,ST5_ignite_strip,other,unsafe,no,,174928,https://wifire-data.sdsc.edu/data//burnpro3d/d/53/e3/run_53e32a8f-0e4d-4ea3-bc33-e0f0e797d359/png/run_53e32a8f-0e4d-4ea3-bc33-e0f0e797d359_fuels-dens_2100_000.png +8,270,0.1,ST5_FFDUET_TLS,ST5_ignite_contour,other,unsafe,marginal,,131703,https://wifire-data.sdsc.edu/data//burnpro3d/d/6d/6e/run_6d6ebeaa-5c88-43cd-accb-dfac449d6e87/png/run_6d6ebeaa-5c88-43cd-accb-dfac449d6e87_fuels-dens_2100_000.png +8,270,0.1,ST5_FFDUET_TLS,ST5_ignite_ring,unsafe,unsafe,marginal,,165782,https://wifire-data.sdsc.edu/data//burnpro3d/d/b9/f2/run_b9f22de2-9d5f-4016-80e1-e5b421c8e6d0/png/run_b9f22de2-9d5f-4016-80e1-e5b421c8e6d0_fuels-dens_2100_000.png +8,270,0.1,ST5_FFDUET_TLS,ST5_ignite_strip,unsafe,unsafe,marginal,,167795,https://wifire-data.sdsc.edu/data//burnpro3d/d/d6/c6/run_d6c6abbe-7456-4fe0-9339-d4849067ded4/png/run_d6c6abbe-7456-4fe0-9339-d4849067ded4_fuels-dens_2100_000.png +12,175,0.1,ST5_FFDUET_TLS,ST5_ignite_contour,safe,unsafe,marginal,,182528,https://wifire-data.sdsc.edu/data//burnpro3d/d/7b/a2/run_7ba2ffcb-af6d-471d-a1b0-fb1be32f4047/png/run_7ba2ffcb-af6d-471d-a1b0-fb1be32f4047_fuels-dens_2100_000.png +12,175,0.1,ST5_FFDUET_TLS,ST5_ignite_ring,unsafe,unsafe,no,,181394,https://wifire-data.sdsc.edu/data//burnpro3d/d/54/32/run_54326453-cca7-4a54-876f-0d77d8f7dd43/png/run_54326453-cca7-4a54-876f-0d77d8f7dd43_fuels-dens_2100_000.png +12,175,0.1,ST5_FFDUET_TLS,ST5_ignite_strip,unsafe,unsafe,no,,126803,https://wifire-data.sdsc.edu/data//burnpro3d/d/00/27/run_0027a212-2e4c-40a6-830a-e14de1495b29/png/run_0027a212-2e4c-40a6-830a-e14de1495b29_fuels-dens_2100_000.png +12,270,0.1,ST5_FFDUET_TLS,ST5_ignite_contour,unsafe,unsafe,yes,,134338,https://wifire-data.sdsc.edu/data//burnpro3d/d/61/2b/run_612baad6-4de7-4980-af53-a87bc4a148cf/png/run_612baad6-4de7-4980-af53-a87bc4a148cf_fuels-dens_2100_000.png +12,270,0.1,ST5_FFDUET_TLS,ST5_ignite_ring,unsafe,unsafe,n,,89125,https://wifire-data.sdsc.edu/data//burnpro3d/d/d9/db/run_d9db027a-e2dc-464f-a64c-809590ba60b6/png/run_d9db027a-e2dc-464f-a64c-809590ba60b6_fuels-dens_2100_000.png +12,270,0.1,ST5_FFDUET_TLS,ST5_ignite_strip,unsafe,unsafe,n,,152413,https://wifire-data.sdsc.edu/data//burnpro3d/d/6b/b8/run_6bb8518a-4c89-4938-9a87-b20c90c52357/png/run_6bb8518a-4c89-4938-9a87-b20c90c52357_fuels-dens_2100_000.png +3,175,0.1,ST5_FF_DUET,ST5_ignite_ring,other,other,yes,,119058,https://wifire-data.sdsc.edu/data//burnpro3d/d/85/ce/run_85cedb7b-8239-420f-b92a-e50c7eee6470/png/run_85cedb7b-8239-420f-b92a-e50c7eee6470_fuels-dens_2100_000.png +8,175,0.1,ST5_FF_DUET,ST5_ignite_strip,other,unsafe,marginal,,93528,https://wifire-data.sdsc.edu/data//burnpro3d/d/b4/96/run_b4969fca-8915-4ebf-b82b-a2e66fdc32b3/png/run_b4969fca-8915-4ebf-b82b-a2e66fdc32b3_fuels-dens_2100_000.png +3,270,0.1,ST5_FFDUET_Over10m,ST5_ignite_ring,safe,safe,yes,,142942,https://wifire-data.sdsc.edu/data//burnpro3d/d/3c/9a/run_3c9a059c-2850-44df-8841-1b70a326f5d7/png/run_3c9a059c-2850-44df-8841-1b70a326f5d7_fuels-dens_2100_000.png +2,175,0.1,ST5_FF_DUET,ST5_ignite_strip,safe,safe,yes,,155216,https://wifire-data.sdsc.edu/data//burnpro3d/d/4f/d3/run_4fd36cfa-8fd1-42d9-8f3a-4937b1426958/png/run_4fd36cfa-8fd1-42d9-8f3a-4937b1426958_fuels-dens_2100_000.png +2,175,0.1,ST5_FF_DUET,ST5_ignite_ring,safe,safe,yes,,143396,https://wifire-data.sdsc.edu/data//burnpro3d/d/b6/be/run_b6be6a92-cac3-4799-9df6-6571cadda71c/png/run_b6be6a92-cac3-4799-9df6-6571cadda71c_fuels-dens_2100_000.png +2,175,0.1,ST5_FF_DUET,ST5_ignite_contour,safe,safe,yes,,66786,https://wifire-data.sdsc.edu/data//burnpro3d/d/ec/95/run_ec95a4b4-7c90-4a45-b71b-6c207ac1092f/png/run_ec95a4b4-7c90-4a45-b71b-6c207ac1092f_fuels-dens_2100_000.png +3,270,0.1,ST5_FFDUET_TLS,ST5_ignite_ring,safe,safe,yes,,100100,https://wifire-data.sdsc.edu/data//burnpro3d/d/4b/e6/run_4be6504a-f606-45f3-b7ec-b8a25a4ac2c5/png/run_4be6504a-f606-45f3-b7ec-b8a25a4ac2c5_fuels-dens_2100_000.png +3,270,0.1,ST5_FFDUET_TLS,ST5_ignite_contour,safe,safe,yes,,118627,https://wifire-data.sdsc.edu/data//burnpro3d/d/4f/e1/run_4fe1dc0e-fc07-442d-9bce-d94e1623c112/png/run_4fe1dc0e-fc07-442d-9bce-d94e1623c112_fuels-dens_2100_000.png +5,270,0.1,ST5_FFDUET_TLS,ST5_ignite_ring,other,other,marginal,,51811,https://wifire-data.sdsc.edu/data//burnpro3d/d/9e/e5/run_9ee5d1a9-d4e5-4544-a2c7-a066c1733f4a/png/run_9ee5d1a9-d4e5-4544-a2c7-a066c1733f4a_fuels-dens_2100_000.png +8,270,0.1,ST5_FF_DUET,ST5_ignite_strip,unsafe,unsafe,no,,164442,https://wifire-data.sdsc.edu/data//burnpro3d/d/47/b9/run_47b96bbc-eb82-4403-b608-d247f95bf0f9/png/run_47b96bbc-eb82-4403-b608-d247f95bf0f9_fuels-dens_2100_000.png +3,175,0.1,ST5_FFDUET_TLS,ST5_ignite_strip,safe,safe,yes,,22962,https://wifire-data.sdsc.edu/data//burnpro3d/d/cd/c5/run_cdc548bb-db0c-47d2-a56a-02bdf3f7b369/png/run_cdc548bb-db0c-47d2-a56a-02bdf3f7b369_fuels-dens_2100_000.png +2,175,0.1,ST5_FFDUET_TLS,ST5_ignite_contour,safe,safe,yes,,120278,https://wifire-data.sdsc.edu/data//burnpro3d/d/70/ae/run_70ae74ed-c655-460e-b556-a4e87d48c4bc/png/run_70ae74ed-c655-460e-b556-a4e87d48c4bc_fuels-dens_2100_000.png +2,270,0.1,ST5_FFDUET_TLS,ST5_ignite_contour,safe,safe,yes,,118130,https://wifire-data.sdsc.edu/data//burnpro3d/d/44/ea/run_44ea6ee6-8505-434a-92af-a765ff3a4a5f/png/run_44ea6ee6-8505-434a-92af-a765ff3a4a5f_fuels-dens_2100_000.png +2,270,0.1,ST5_FFDUET_TLS,ST5_ignite_ring,other,other,marginal,,114322,https://wifire-data.sdsc.edu/data//burnpro3d/d/6a/a2/run_6aa2857d-5dd5-4e03-9186-aebefa572c4d/png/run_6aa2857d-5dd5-4e03-9186-aebefa572c4d_fuels-dens_2100_000.png +3,270,0.1,ST5_FF_DUET,ST5_ignite_contour,safe,safe,yes,,108147,https://wifire-data.sdsc.edu/data//burnpro3d/d/c3/aa/run_c3aa32c1-d6b1-4553-8633-ebabae3236d8/png/run_c3aa32c1-d6b1-4553-8633-ebabae3236d8_fuels-dens_2100_000.png +2,175,0.1,ST5_FFDUET_TLS,ST5_ignite_ring,other,other,yes,,142543,https://wifire-data.sdsc.edu/data//burnpro3d/d/4e/cd/run_4ecdcb29-8e20-44b8-89a7-db1b09d41806/png/run_4ecdcb29-8e20-44b8-89a7-db1b09d41806_fuels-dens_2100_000.png +3,270,0.1,ST5_FF_DUET,ST5_ignite_ring,unsafe,other,marginal,,146650,https://wifire-data.sdsc.edu/data//burnpro3d/d/7d/f5/run_7df56962-44f1-4deb-a581-d61bf68d38cf/png/run_7df56962-44f1-4deb-a581-d61bf68d38cf_fuels-dens_2100_000.png +3,270,0.1,ST5_FF_DUET,ST5_ignite_strip,other,other,yes,,138488,https://wifire-data.sdsc.edu/data//burnpro3d/d/52/1f/run_521f5f0f-349a-4184-93c5-2cfd91d6233d/png/run_521f5f0f-349a-4184-93c5-2cfd91d6233d_fuels-dens_2100_000.png +2,270,0.1,ST5_FFDUET_TLS,ST5_ignite_strip,other,other,yes,,139507,https://wifire-data.sdsc.edu/data//burnpro3d/d/aa/8b/run_aa8b745b-89e8-44ea-bc8e-4f11a5a1253c/png/run_aa8b745b-89e8-44ea-bc8e-4f11a5a1253c_fuels-dens_2100_000.png +2,175,0.1,ST5_FFDUET_TLS,ST5_ignite_strip,safe,safe,yes,,143689,https://wifire-data.sdsc.edu/data//burnpro3d/d/c5/85/run_c585b8f6-57ac-4b59-921c-bfc15d5eda55/png/run_c585b8f6-57ac-4b59-921c-bfc15d5eda55_fuels-dens_2100_000.png +12,270,0.1,ST5_FFDUET_Over10m,ST5_ignite_ring,unsafe,unsafe,n,,73386,https://wifire-data.sdsc.edu/data//burnpro3d/d/3d/6f/run_3d6fc609-6888-4bac-a42c-7ea9588cb60f/png/run_3d6fc609-6888-4bac-a42c-7ea9588cb60f_fuels-dens_2100_000.png +8,270,0.1,ST5_FF_DUET,ST5_ignite_ring,unsafe,unsafe,n,,165498,https://wifire-data.sdsc.edu/data//burnpro3d/d/fd/8d/run_fd8d36c6-acb5-48cc-bd78-3f83ca1e25b3/png/run_fd8d36c6-acb5-48cc-bd78-3f83ca1e25b3_fuels-dens_2100_000.png +3,175,0.1,ST5_FFDUET_TLS,ST5_ignite_ring,other,other,yes,,150230,https://wifire-data.sdsc.edu/data//burnpro3d/d/68/8e/run_688ef8c2-dcc8-4d88-8386-88d3a35acb85/png/run_688ef8c2-dcc8-4d88-8386-88d3a35acb85_fuels-dens_2100_000.png +3,175,0.1,ST5_FFDUET_TLS,ST5_ignite_contour,safe,safe,yes,,95278,https://wifire-data.sdsc.edu/data//burnpro3d/d/5d/54/run_5d548d0f-c55a-4410-b2e9-575ffff3a93e/png/run_5d548d0f-c55a-4410-b2e9-575ffff3a93e_fuels-dens_2100_000.png +12,175,0.2,ST5_FFDUET_TLS,ST5_ignite_contour,safe,other,yes,,127522,https://wifire-data.sdsc.edu/data//burnpro3d/d/60/c6/run_60c6bec3-afc5-41d2-b211-90e6477c9cd7/png/run_60c6bec3-afc5-41d2-b211-90e6477c9cd7_fuels-dens_2100_000.png +8,270,0.2,ST5_FFDUET_Over10m,ST5_ignite_strip,other,other,yes,,145421,https://wifire-data.sdsc.edu/data//burnpro3d/d/6c/60/run_6c6022c7-e54a-4a00-a465-c091ab1cfeda/png/run_6c6022c7-e54a-4a00-a465-c091ab1cfeda_fuels-dens_2100_000.png +8,270,0.2,ST5_FFDUET_Over10m,ST5_ignite_ring,other,other,yes,,129061,https://wifire-data.sdsc.edu/data//burnpro3d/d/f8/cc/run_f8ccd94a-c8d2-4339-bc03-cd292cac7171/png/run_f8ccd94a-c8d2-4339-bc03-cd292cac7171_fuels-dens_2100_000.png +8,270,0.2,ST5_FFDUET_Over10m,ST5_ignite_contour,other,safe,yes,,146911,https://wifire-data.sdsc.edu/data//burnpro3d/d/81/14/run_81143e7c-7fc1-4c58-aa4e-dec17a128969/png/run_81143e7c-7fc1-4c58-aa4e-dec17a128969_fuels-dens_2100_000.png +8,270,0.2,ST5_FFDUET_TLS,ST5_ignite_strip,other,other,yes,,145438,https://wifire-data.sdsc.edu/data//burnpro3d/d/a4/50/run_a450e6f5-9fb6-4384-ae78-30a187e7d341/png/run_a450e6f5-9fb6-4384-ae78-30a187e7d341_fuels-dens_2100_000.png +8,270,0.2,ST5_FFDUET_TLS,ST5_ignite_ring,unsafe,other,marginal,,154948,https://wifire-data.sdsc.edu/data//burnpro3d/d/a0/27/run_a027f94c-e9f4-4e04-b4f8-e25d627117e4/png/run_a027f94c-e9f4-4e04-b4f8-e25d627117e4_fuels-dens_2100_000.png +2,175,0.2,ST5_FFDUET_Over10m,ST5_ignite_contour,safe,safe,yes,,112622,https://wifire-data.sdsc.edu/data//burnpro3d/d/db/0a/run_db0a47da-0958-476d-a823-17067c349c7f/png/run_db0a47da-0958-476d-a823-17067c349c7f_fuels-dens_2100_000.png +2,175,0.2,ST5_FFDUET_Over10m,ST5_ignite_ring,safe,other,yes,,138432,https://wifire-data.sdsc.edu/data//burnpro3d/d/72/b4/run_72b45202-a0cf-4bdb-a354-3da04ed8350f/png/run_72b45202-a0cf-4bdb-a354-3da04ed8350f_fuels-dens_2100_000.png +2,175,0.2,ST5_FFDUET_Over10m,ST5_ignite_strip,safe,safe,yes,,97103,https://wifire-data.sdsc.edu/data//burnpro3d/d/a9/fc/run_a9fca9f8-33ef-41f9-ad99-2cf1276f10f9/png/run_a9fca9f8-33ef-41f9-ad99-2cf1276f10f9_fuels-dens_2100_000.png +8,270,0.2,ST5_FFDUET_TLS,ST5_ignite_contour,other,safe,yes,,167341,https://wifire-data.sdsc.edu/data//burnpro3d/d/da/6e/run_da6e7b5e-7230-4a02-a317-8fdd2f57831d/png/run_da6e7b5e-7230-4a02-a317-8fdd2f57831d_fuels-dens_2100_000.png +12,270,0.2,ST5_FFDUET_Over10m,ST5_ignite_contour,other,other,yes,,121232,https://wifire-data.sdsc.edu/data//burnpro3d/d/a2/6d/run_a26d166a-eaa9-4ae0-8328-963dfddf639e/png/run_a26d166a-eaa9-4ae0-8328-963dfddf639e_fuels-dens_2100_000.png +12,270,0.2,ST5_FF_DUET,ST5_ignite_strip,unsafe,unsafe,yes,,151531,https://wifire-data.sdsc.edu/data//burnpro3d/d/2a/a8/run_2aa84c1d-b8b7-40bc-85cf-06b8f2c35b47/png/run_2aa84c1d-b8b7-40bc-85cf-06b8f2c35b47_fuels-dens_2100_000.png +12,175,0.2,ST5_FFDUET_Over10m,ST5_ignite_contour,safe,unsafe,marginal,,135904,https://wifire-data.sdsc.edu/data//burnpro3d/d/6c/9d/run_6c9d3f67-f7ba-4a20-a06b-4f8ff3979d61/png/run_6c9d3f67-f7ba-4a20-a06b-4f8ff3979d61_fuels-dens_2100_000.png +12,270,0.2,ST5_FF_DUET,ST5_ignite_contour,unsafe,other,yes,,120719,https://wifire-data.sdsc.edu/data//burnpro3d/d/d2/2a/run_d22a3954-9092-4c3b-98f4-807514efef43/png/run_d22a3954-9092-4c3b-98f4-807514efef43_fuels-dens_2100_000.png +12,175,0.2,ST5_FFDUET_TLS,ST5_ignite_ring,unsafe,unsafe,marginal,,174832,https://wifire-data.sdsc.edu/data//burnpro3d/d/95/69/run_95696db8-2a97-4b46-a862-5c23f5c105ab/png/run_95696db8-2a97-4b46-a862-5c23f5c105ab_fuels-dens_2100_000.png +12,175,0.2,ST5_FFDUET_Over10m,ST5_ignite_strip,other,unsafe,marginal,,170346,https://wifire-data.sdsc.edu/data//burnpro3d/d/6a/21/run_6a21eb06-b4f9-48ed-95b5-50b5a06ea53c/png/run_6a21eb06-b4f9-48ed-95b5-50b5a06ea53c_fuels-dens_2100_000.png +8,270,0.2,ST5_FF_DUET,ST5_ignite_ring,other,other,yes,,153514,https://wifire-data.sdsc.edu/data//burnpro3d/d/5d/58/run_5d58071f-4264-4f7c-ac48-a8f68920d79f/png/run_5d58071f-4264-4f7c-ac48-a8f68920d79f_fuels-dens_2100_000.png +8,270,0.2,ST5_FF_DUET,ST5_ignite_strip,other,other,yes,,146013,https://wifire-data.sdsc.edu/data//burnpro3d/d/13/5d/run_135dfff6-9b26-41c1-a60c-13188b703268/png/run_135dfff6-9b26-41c1-a60c-13188b703268_fuels-dens_2100_000.png +12,270,0.2,ST5_FFDUET_TLS,ST5_ignite_contour,other,other,yes,,168671,https://wifire-data.sdsc.edu/data//burnpro3d/d/43/9f/run_439fa5bf-9f8c-4fd8-b774-48f828010246/png/run_439fa5bf-9f8c-4fd8-b774-48f828010246_fuels-dens_2100_000.png +12,175,0.2,ST5_FF_DUET,ST5_ignite_strip,safe,unsafe,marginal,,78865,https://wifire-data.sdsc.edu/data//burnpro3d/d/b9/1c/run_b91c47e6-a15f-49e9-864f-c82699f732a1/png/run_b91c47e6-a15f-49e9-864f-c82699f732a1_fuels-dens_2100_000.png +12,175,0.2,ST5_FF_DUET,ST5_ignite_ring,unsafe,unsafe,no,,173497,https://wifire-data.sdsc.edu/data//burnpro3d/d/70/10/run_7010b8d6-f24b-4932-958c-afb676a9c4dd/png/run_7010b8d6-f24b-4932-958c-afb676a9c4dd_fuels-dens_2100_000.png +12,175,0.2,ST5_FF_DUET,ST5_ignite_contour,safe,other,no,,131502,https://wifire-data.sdsc.edu/data//burnpro3d/d/91/ad/run_91ad4662-533a-45c2-bd18-2d838c9e6c79/png/run_91ad4662-533a-45c2-bd18-2d838c9e6c79_fuels-dens_2100_000.png +12,270,0.2,ST5_FFDUET_TLS,ST5_ignite_ring,unsafe,unsafe,No,Ringfire under high wind,164426,https://wifire-data.sdsc.edu/data//burnpro3d/d/4b/c4/run_4bc4097f-4b99-4d7e-bebd-79bae66a02ef/png/run_4bc4097f-4b99-4d7e-bebd-79bae66a02ef_fuels-dens_2100_000.png +12,270,0.2,ST5_FFDUET_TLS,ST5_ignite_strip,unsafe,unsafe,no,,155403,https://wifire-data.sdsc.edu/data//burnpro3d/d/4f/3f/run_4f3fb33b-b3cd-42ed-87b4-dbb9ef348026/png/run_4f3fb33b-b3cd-42ed-87b4-dbb9ef348026_fuels-dens_2100_000.png +12,270,0.2,ST5_FFDUET_Over10m,ST5_ignite_strip,unsafe,unsafe,no,,96259,https://wifire-data.sdsc.edu/data//burnpro3d/d/70/4e/run_704ef910-f6bb-424d-8ad7-eac9070412b0/png/run_704ef910-f6bb-424d-8ad7-eac9070412b0_fuels-dens_2100_000.png +12,270,0.2,ST5_FFDUET_Over10m,ST5_ignite_ring,unsafe,unsafe,no,,146931,https://wifire-data.sdsc.edu/data//burnpro3d/d/f5/64/run_f56425be-4613-4b13-84f2-08d971260f72/png/run_f56425be-4613-4b13-84f2-08d971260f72_fuels-dens_2100_000.png +5,270,0.2,ST5_FFDUET_Over10m,ST5_ignite_ring,safe,safe,yes,,136917,https://wifire-data.sdsc.edu/data//burnpro3d/d/e3/df/run_e3dfa5c7-06be-4880-9b73-e7c3e1a43c57/png/run_e3dfa5c7-06be-4880-9b73-e7c3e1a43c57_fuels-dens_2100_000.png +12,270,0.2,ST5_FF_DUET,ST5_ignite_ring,unsafe,unsafe,no,,35283,https://wifire-data.sdsc.edu/data//burnpro3d/d/df/57/run_df57525e-53b9-48a3-8605-3ef0ce5c8ad9/png/run_df57525e-53b9-48a3-8605-3ef0ce5c8ad9_fuels-dens_2100_000.png +3,175,0.2,ST5_FFDUET_TLS,ST5_ignite_contour,safe,safe,yes,,117013,https://wifire-data.sdsc.edu/data//burnpro3d/d/a5/79/run_a579d5cd-ff95-4c9d-94d7-3456315e1fe2/png/run_a579d5cd-ff95-4c9d-94d7-3456315e1fe2_fuels-dens_2100_000.png +8,175,0.2,ST5_FFDUET_TLS,ST5_ignite_ring,unsafe,unsafe,No,,149838,https://wifire-data.sdsc.edu/data//burnpro3d/d/1a/0b/run_1a0bbf88-1618-4220-bac9-1778cdad9f75/png/run_1a0bbf88-1618-4220-bac9-1778cdad9f75_fuels-dens_2100_000.png +2,270,0.2,ST5_FFDUET_TLS,ST5_ignite_contour,safe,safe,safe,,141695,https://wifire-data.sdsc.edu/data//burnpro3d/d/d9/a8/run_d9a848bd-36ac-434f-99cd-1e60c39a6118/png/run_d9a848bd-36ac-434f-99cd-1e60c39a6118_fuels-dens_2100_000.png +5,175,0.2,ST5_FFDUET_TLS,ST5_ignite_ring,unsafe,unsafe,no,high winds at point of origin,143719,https://wifire-data.sdsc.edu/data//burnpro3d/d/1c/1c/run_1c1c4f4e-72a5-4a55-85e6-6804a027a990/png/run_1c1c4f4e-72a5-4a55-85e6-6804a027a990_fuels-dens_2100_000.png +5,175,0.2,ST5_FFDUET_TLS,ST5_ignite_contour,safe,safe,yes,,124057,https://wifire-data.sdsc.edu/data//burnpro3d/d/23/24/run_2324d729-ecc6-4917-acf2-e8a6d188f77b/png/run_2324d729-ecc6-4917-acf2-e8a6d188f77b_fuels-dens_2100_000.png +2,270,0.2,ST5_FFDUET_TLS,ST5_ignite_ring,safe,safe,yes,,123066,https://wifire-data.sdsc.edu/data//burnpro3d/d/a2/4c/run_a24c1861-e055-42d4-8603-71d2029f33a0/png/run_a24c1861-e055-42d4-8603-71d2029f33a0_fuels-dens_2100_000.png +2,270,0.2,ST5_FFDUET_TLS,ST5_ignite_strip,safe,safe,yes,,134138,https://wifire-data.sdsc.edu/data//burnpro3d/d/ae/ce/run_aece8f4c-c1cc-4eb0-b251-8638e089b727/png/run_aece8f4c-c1cc-4eb0-b251-8638e089b727_fuels-dens_2100_000.png +5,270,0.2,ST5_FFDUET_Over10m,ST5_ignite_strip,other,other,safe,safe,151913,https://wifire-data.sdsc.edu/data//burnpro3d/d/e5/9d/run_e59dc142-2457-4054-ad02-0a3278acd7d9/png/run_e59dc142-2457-4054-ad02-0a3278acd7d9_fuels-dens_2100_000.png +3,270,0.2,ST5_FFDUET_TLS,ST5_ignite_strip,other,other,,,135824,https://wifire-data.sdsc.edu/data//burnpro3d/d/18/d7/run_18d771fe-d801-4803-be77-68db255d75aa/png/run_18d771fe-d801-4803-be77-68db255d75aa_fuels-dens_2100_000.png +3,270,0.2,ST5_FFDUET_TLS,ST5_ignite_ring,other,other,,,136450,https://wifire-data.sdsc.edu/data//burnpro3d/d/dd/8d/run_dd8d24cd-b310-4466-bb0b-91da7a116da2/png/run_dd8d24cd-b310-4466-bb0b-91da7a116da2_fuels-dens_2100_000.png +3,270,0.2,ST5_FFDUET_TLS,ST5_ignite_contour,safe,safe,yes,,115981,https://wifire-data.sdsc.edu/data//burnpro3d/d/c2/36/run_c236dad2-d1c0-4786-9174-c4fd329623a1/png/run_c236dad2-d1c0-4786-9174-c4fd329623a1_fuels-dens_2100_000.png +5,270,0.2,ST5_FFDUET_Over10m,ST5_ignite_contour,safe,safe,yes,,166926,https://wifire-data.sdsc.edu/data//burnpro3d/d/e4/b1/run_e4b1aeeb-741d-4a6e-bc23-bb54f21fa7e8/png/run_e4b1aeeb-741d-4a6e-bc23-bb54f21fa7e8_fuels-dens_2100_000.png +5,175,0.2,ST5_FFDUET_Over10m,ST5_ignite_contour,safe,safe,yes,,121961,https://wifire-data.sdsc.edu/data//burnpro3d/d/4a/69/run_4a6943f0-bd7f-4230-b1e0-5124b6d2121f/png/run_4a6943f0-bd7f-4230-b1e0-5124b6d2121f_fuels-dens_2100_000.png +5,175,0.2,ST5_FFDUET_Over10m,ST5_ignite_ring,unsafe,unsafe,no,,185026,https://wifire-data.sdsc.edu/data//burnpro3d/d/e7/ba/run_e7bab871-4858-4f58-a6ea-df52faa8e72b/png/run_e7bab871-4858-4f58-a6ea-df52faa8e72b_fuels-dens_2100_000.png +5,175,0.2,ST5_FFDUET_Over10m,ST5_ignite_strip,unsafe,unsafe,no,,171141,https://wifire-data.sdsc.edu/data//burnpro3d/d/c6/a0/run_c6a043b6-9a6b-47f7-8b08-29cc98f5914d/png/run_c6a043b6-9a6b-47f7-8b08-29cc98f5914d_fuels-dens_2100_000.png +3,175,0.2,ST5_FFDUET_TLS,ST5_ignite_strip,safe,safe,yes,,141649,https://wifire-data.sdsc.edu/data//burnpro3d/d/14/7c/run_147cabb1-e728-4042-aaa1-0128727ca9a5/png/run_147cabb1-e728-4042-aaa1-0128727ca9a5_fuels-dens_2100_000.png +3,175,0.2,ST5_FFDUET_TLS,ST5_ignite_ring,safe,safe,yes,,143284,https://wifire-data.sdsc.edu/data//burnpro3d/d/81/89/run_8189ce1c-2423-4385-8d96-c8d090f2898c/png/run_8189ce1c-2423-4385-8d96-c8d090f2898c_fuels-dens_2100_000.png +3,270,0.2,ST5_FFDUET_Over10m,ST5_ignite_strip,safe,safe,yes,,134310,https://wifire-data.sdsc.edu/data//burnpro3d/d/f9/38/run_f93880f3-59cc-49bb-98c9-5c83844bf84b/png/run_f93880f3-59cc-49bb-98c9-5c83844bf84b_fuels-dens_2100_000.png +3,270,0.2,ST5_FFDUET_Over10m,ST5_ignite_ring,safe,safe,yes,,187054,https://wifire-data.sdsc.edu/data//burnpro3d/d/b6/aa/run_b6aa39a0-188f-4bcb-bb8a-dd986cfee0ba/png/run_b6aa39a0-188f-4bcb-bb8a-dd986cfee0ba_fuels-dens_2100_000.png +3,270,0.2,ST5_FFDUET_Over10m,ST5_ignite_contour,safe,safe,yes,,115554,https://wifire-data.sdsc.edu/data//burnpro3d/d/d8/96/run_d896f5a4-75c5-4a4e-94c1-bff94fd2593b/png/run_d896f5a4-75c5-4a4e-94c1-bff94fd2593b_fuels-dens_2100_000.png +5,175,0.2,ST5_FFDUET_TLS,ST5_ignite_strip,unsafe,unsafe,no,,186426,https://wifire-data.sdsc.edu/data//burnpro3d/d/a5/b7/run_a5b701b9-07f8-4516-ba1a-07dcf4afa2f1/png/run_a5b701b9-07f8-4516-ba1a-07dcf4afa2f1_fuels-dens_2100_000.png +2,270,0.2,ST5_FFDUET_Over10m,ST5_ignite_contour,safe,safe,yes,,163861,https://wifire-data.sdsc.edu/data//burnpro3d/d/e7/a2/run_e7a251ea-f095-4e38-9641-0160dbad8900/png/run_e7a251ea-f095-4e38-9641-0160dbad8900_fuels-dens_2100_000.png +2,270,0.2,ST5_FFDUET_Over10m,ST5_ignite_strip,safe,safe,yes,,133044,https://wifire-data.sdsc.edu/data//burnpro3d/d/41/18/run_4118f33e-4582-40f5-aea9-70e273a149df/png/run_4118f33e-4582-40f5-aea9-70e273a149df_fuels-dens_2100_000.png +8,175,0.2,ST5_FFDUET_TLS,ST5_ignite_contour,unsafe,unsafe,no,,128904,https://wifire-data.sdsc.edu/data//burnpro3d/d/a0/3e/run_a03ee767-7dd8-41e2-be31-a2fee5f4faa5/png/run_a03ee767-7dd8-41e2-be31-a2fee5f4faa5_fuels-dens_2100_000.png +2,175,0.2,ST5_FFDUET_TLS,ST5_ignite_contour,safe,safe,yes,,115689,https://wifire-data.sdsc.edu/data//burnpro3d/d/95/3a/run_953a3aa3-8434-454c-b3f6-9a9f8762be4f/png/run_953a3aa3-8434-454c-b3f6-9a9f8762be4f_fuels-dens_2100_000.png +2,175,0.2,ST5_FFDUET_TLS,ST5_ignite_ring,other,other,,,102948,https://wifire-data.sdsc.edu/data//burnpro3d/d/08/b0/run_08b018d3-c99d-4fb3-adc0-cce0221b85d2/png/run_08b018d3-c99d-4fb3-adc0-cce0221b85d2_fuels-dens_2100_000.png +2,175,0.2,ST5_FFDUET_TLS,ST5_ignite_strip,safe,safe,yes,,73158,https://wifire-data.sdsc.edu/data//burnpro3d/d/4b/37/run_4b3746ba-c843-4471-9411-45466d7d94ea/png/run_4b3746ba-c843-4471-9411-45466d7d94ea_fuels-dens_2100_000.png +8,175,0.2,ST5_FFDUET_Over10m,ST5_ignite_strip,other,other,,,152622,https://wifire-data.sdsc.edu/data//burnpro3d/d/5d/fe/run_5dfe81ef-eef0-4946-9518-0c21cc33e705/png/run_5dfe81ef-eef0-4946-9518-0c21cc33e705_fuels-dens_2100_000.png +8,175,0.2,ST5_FFDUET_TLS,ST5_ignite_strip,unsafe,unsafe,no,,184117,https://wifire-data.sdsc.edu/data//burnpro3d/d/e0/0a/run_e00a58ca-d43e-4849-ae70-ca1ede3ce813/png/run_e00a58ca-d43e-4849-ae70-ca1ede3ce813_fuels-dens_2100_000.png +8,175,0.2,ST5_FFDUET_Over10m,ST5_ignite_ring,unsafe,unsafe,no,,160466,https://wifire-data.sdsc.edu/data//burnpro3d/d/05/51/run_05519455-c57b-4262-a352-ec966b4fcbc6/png/run_05519455-c57b-4262-a352-ec966b4fcbc6_fuels-dens_2100_000.png +5,270,0.2,ST5_FFDUET_TLS,ST5_ignite_strip,safe,safe,yes,,120152,https://wifire-data.sdsc.edu/data//burnpro3d/d/41/e3/run_41e34d07-a374-4f4f-912b-12359e7287bf/png/run_41e34d07-a374-4f4f-912b-12359e7287bf_fuels-dens_2100_000.png +5,270,0.2,ST5_FFDUET_TLS,ST5_ignite_ring,safe,safe,yes,,139823,https://wifire-data.sdsc.edu/data//burnpro3d/d/ce/31/run_ce31c97d-d5d3-4938-a452-b0a59f23061d/png/run_ce31c97d-d5d3-4938-a452-b0a59f23061d_fuels-dens_2100_000.png +5,270,0.2,ST5_FFDUET_TLS,ST5_ignite_contour,safe,safe,yes,,116599,https://wifire-data.sdsc.edu/data//burnpro3d/d/55/52/run_555258a2-f4a2-41fc-bd5a-510aa8dc8db6/png/run_555258a2-f4a2-41fc-bd5a-510aa8dc8db6_fuels-dens_2100_000.png +3,175,0.2,ST5_FFDUET_Over10m,ST5_ignite_contour,safe,safe,yes,,117600,https://wifire-data.sdsc.edu/data//burnpro3d/d/f9/0c/run_f90c755c-7462-481a-9f5a-8798a13e23c4/png/run_f90c755c-7462-481a-9f5a-8798a13e23c4_fuels-dens_2100_000.png +3,175,0.2,ST5_FFDUET_Over10m,ST5_ignite_ring,safe,safe,yes,,95140,https://wifire-data.sdsc.edu/data//burnpro3d/d/be/4c/run_be4c7671-6c09-4fcd-b4c6-51cc85ea79cb/png/run_be4c7671-6c09-4fcd-b4c6-51cc85ea79cb_fuels-dens_2100_000.png +3,175,0.2,ST5_FFDUET_Over10m,ST5_ignite_strip,other,safe,,,139512,https://wifire-data.sdsc.edu/data//burnpro3d/d/77/cd/run_77cd6aac-f58c-45b2-8a80-7c924cda3aef/png/run_77cd6aac-f58c-45b2-8a80-7c924cda3aef_fuels-dens_2100_000.png +12,175,0.2,ST5_FFDUET_Over10m,ST5_ignite_ring,unsafe,unsafe,no,,169781,https://wifire-data.sdsc.edu/data//burnpro3d/d/e9/af/run_e9af5b0a-5c0e-4c28-9c54-1b1a7560922e/png/run_e9af5b0a-5c0e-4c28-9c54-1b1a7560922e_fuels-dens_2100_000.png +8,175,0.2,ST5_FFDUET_Over10m,ST5_ignite_contour,unsafe,unsafe,no,,129646,https://wifire-data.sdsc.edu/data//burnpro3d/d/4e/1f/run_4e1f7e57-fd75-4019-b680-d692285eefcd/png/run_4e1f7e57-fd75-4019-b680-d692285eefcd_fuels-dens_2100_000.png +2,270,0.2,ST5_FFDUET_Over10m,ST5_ignite_ring,safe,safe,yes,,135493,https://wifire-data.sdsc.edu/data//burnpro3d/d/41/a3/run_41a34211-d59c-4238-8557-5354ee447004/png/run_41a34211-d59c-4238-8557-5354ee447004_fuels-dens_2100_000.png +12,175,0.2,ST5_FFDUET_TLS,ST5_ignite_strip,unsafe,unsafe,no,,151504,https://wifire-data.sdsc.edu/data//burnpro3d/d/dd/6f/run_dd6f7fd3-0119-4492-a936-f96f96f7ba2c/png/run_dd6f7fd3-0119-4492-a936-f96f96f7ba2c_fuels-dens_2100_000.png +5,175,0.2,ST5_FF_DUET,ST5_ignite_strip,unsafe,unsafe,no,,149340,https://wifire-data.sdsc.edu/data//burnpro3d/d/98/00/run_9800cef8-19a0-46fa-811f-34597ad5b15e/png/run_9800cef8-19a0-46fa-811f-34597ad5b15e_fuels-dens_2100_000.png +5,270,0.2,ST5_FF_DUET,ST5_ignite_strip,safe,safe,yes,,104334,https://wifire-data.sdsc.edu/data//burnpro3d/d/eb/90/run_eb900098-7e94-4886-bb66-14d7e91e600e/png/run_eb900098-7e94-4886-bb66-14d7e91e600e_fuels-dens_2100_000.png +2,270,0.2,ST5_FF_DUET,ST5_ignite_contour,safe,safe,yes,,115020,https://wifire-data.sdsc.edu/data//burnpro3d/d/66/17/run_6617b96c-81fd-409c-a597-060d5a304422/png/run_6617b96c-81fd-409c-a597-060d5a304422_fuels-dens_2100_000.png +2,270,0.2,ST5_FF_DUET,ST5_ignite_ring,safe,safe,yes,,136793,https://wifire-data.sdsc.edu/data//burnpro3d/d/71/ae/run_71ae88eb-2fe4-4470-b812-5d32eba8e299/png/run_71ae88eb-2fe4-4470-b812-5d32eba8e299_fuels-dens_2100_000.png +8,175,0.2,ST5_FF_DUET,ST5_ignite_strip,unsafe,unsafe,no,,154062,https://wifire-data.sdsc.edu/data//burnpro3d/d/12/50/run_12500091-c16d-4832-a052-c8ae9c4baee7/png/run_12500091-c16d-4832-a052-c8ae9c4baee7_fuels-dens_2100_000.png +3,270,0.2,ST5_FF_DUET,ST5_ignite_ring,safe,safe,yes,,178986,https://wifire-data.sdsc.edu/data//burnpro3d/d/1d/5b/run_1d5bdd13-6776-461d-b901-f1243e62e28e/png/run_1d5bdd13-6776-461d-b901-f1243e62e28e_fuels-dens_2100_000.png +3,270,0.2,ST5_FF_DUET,ST5_ignite_strip,safe,safe,yes,,175999,https://wifire-data.sdsc.edu/data//burnpro3d/d/2b/08/run_2b08ca0b-80a2-4362-9fb5-2e319c39485b/png/run_2b08ca0b-80a2-4362-9fb5-2e319c39485b_fuels-dens_2100_000.png +8,175,0.2,ST5_FF_DUET,ST5_ignite_ring,unsafe,unsafe,no,,159732,https://wifire-data.sdsc.edu/data//burnpro3d/d/6a/62/run_6a62415e-6d55-486f-ad1a-244110bb8f81/png/run_6a62415e-6d55-486f-ad1a-244110bb8f81_fuels-dens_2100_000.png +2,270,0.2,ST5_FF_DUET,ST5_ignite_strip,safe,safe,yes,,135368,https://wifire-data.sdsc.edu/data//burnpro3d/d/3d/d5/run_3dd58aa7-63a0-4798-90e1-37129a95ded8/png/run_3dd58aa7-63a0-4798-90e1-37129a95ded8_fuels-dens_2100_000.png +5,270,0.2,ST5_FF_DUET,ST5_ignite_ring,safe,safe,yes,,180352,https://wifire-data.sdsc.edu/data//burnpro3d/d/cc/77/run_cc776ca2-8641-4744-b582-8c3df1a24198/png/run_cc776ca2-8641-4744-b582-8c3df1a24198_fuels-dens_2100_000.png +3,175,0.2,ST5_FF_DUET,ST5_ignite_strip,safe,safe,yes,,186650,https://wifire-data.sdsc.edu/data//burnpro3d/d/cc/cb/run_cccbf5ef-6611-4c30-8478-a15a9f96efd4/png/run_cccbf5ef-6611-4c30-8478-a15a9f96efd4_fuels-dens_2100_000.png +2,175,0.2,ST5_FF_DUET,ST5_ignite_strip,safe,safe,yes,,136983,https://wifire-data.sdsc.edu/data//burnpro3d/d/e3/77/run_e3776474-9db7-40d2-b910-935ce9796168/png/run_e3776474-9db7-40d2-b910-935ce9796168_fuels-dens_2100_000.png +2,175,0.2,ST5_FF_DUET,ST5_ignite_ring,safe,safe,yes,,140012,https://wifire-data.sdsc.edu/data//burnpro3d/d/4a/b3/run_4ab3e9cc-e87a-4b1f-b53e-9254a415b3a4/png/run_4ab3e9cc-e87a-4b1f-b53e-9254a415b3a4_fuels-dens_2100_000.png +2,175,0.2,ST5_FF_DUET,ST5_ignite_contour,safe,safe,yes,,169845,https://wifire-data.sdsc.edu/data//burnpro3d/d/0d/cc/run_0dcc3825-9f88-41ca-9ee8-0017b295a415/png/run_0dcc3825-9f88-41ca-9ee8-0017b295a415_fuels-dens_2100_000.png +3,175,0.2,ST5_FF_DUET,ST5_ignite_ring,safe,safe,yes,,143290,https://wifire-data.sdsc.edu/data//burnpro3d/d/b4/ab/run_b4ab0809-3c98-46f3-bf27-1ca984711ab0/png/run_b4ab0809-3c98-46f3-bf27-1ca984711ab0_fuels-dens_2100_000.png +5,175,0.2,ST5_FF_DUET,ST5_ignite_contour,safe,safe,yes,,122034,https://wifire-data.sdsc.edu/data//burnpro3d/d/b8/b1/run_b8b14a34-4ea8-4d05-b91c-466a796871bc/png/run_b8b14a34-4ea8-4d05-b91c-466a796871bc_fuels-dens_2100_000.png +8,270,0.2,ST5_FF_DUET,ST5_ignite_contour,safe,safe,yes,,120805,https://wifire-data.sdsc.edu/data//burnpro3d/d/59/39/run_59390bcc-9231-4ec5-a0b3-b0c2442bbea5/png/run_59390bcc-9231-4ec5-a0b3-b0c2442bbea5_fuels-dens_2100_000.png +8,175,0.2,ST5_FF_DUET,ST5_ignite_contour,unsafe,unsafe,no,,130665,https://wifire-data.sdsc.edu/data//burnpro3d/d/8e/9a/run_8e9a8955-6cee-4dd6-b9ad-16e9613b8ecb/png/run_8e9a8955-6cee-4dd6-b9ad-16e9613b8ecb_fuels-dens_2100_000.png +5,175,0.2,ST5_FF_DUET,ST5_ignite_ring,unsafe,unsafe,no,,147991,https://wifire-data.sdsc.edu/data//burnpro3d/d/72/a9/run_72a99b63-2334-402b-9481-2f83b0d8b6fd/png/run_72a99b63-2334-402b-9481-2f83b0d8b6fd_fuels-dens_2100_000.png +3,175,0.2,ST5_FF_DUET,ST5_ignite_contour,safe,safe,yes,,182709,https://wifire-data.sdsc.edu/data//burnpro3d/d/37/92/run_3792df7e-e795-40ff-9f8e-ec31dc7c121a/png/run_3792df7e-e795-40ff-9f8e-ec31dc7c121a_fuels-dens_2100_000.png +3,270,0.2,ST5_FF_DUET,ST5_ignite_contour,safe,safe,yes,,124598,https://wifire-data.sdsc.edu/data//burnpro3d/d/20/9e/run_209e834e-a1b3-42de-80de-60fbac344c67/png/run_209e834e-a1b3-42de-80de-60fbac344c67_fuels-dens_2100_000.png +5,270,0.2,ST5_FF_DUET,ST5_ignite_contour,safe,safe,yes,,120011,https://wifire-data.sdsc.edu/data//burnpro3d/d/14/5d/run_145dcded-e828-41eb-8952-dba78b09b3fa/png/run_145dcded-e828-41eb-8952-dba78b09b3fa_fuels-dens_2100_000.png +2,175,0.35,ST5_FFDUET_Over10m,ST5_ignite_strip,safe,safe,yes,,89527,https://wifire-data.sdsc.edu/data//burnpro3d/d/97/45/run_974506cf-bd68-4254-bb8a-c1732b7c4a33/png/run_974506cf-bd68-4254-bb8a-c1732b7c4a33_fuels-dens_2100_000.png +2,175,0.35,ST5_FFDUET_Over10m,ST5_ignite_ring,safe,safe,marginal,,138376,https://wifire-data.sdsc.edu/data//burnpro3d/d/04/92/run_0492134e-24e9-4880-8cc0-fc8dbae32952/png/run_0492134e-24e9-4880-8cc0-fc8dbae32952_fuels-dens_2100_000.png +2,175,0.35,ST5_FFDUET_Over10m,ST5_ignite_contour,safe,safe,yes,,102672,https://wifire-data.sdsc.edu/data//burnpro3d/d/31/ec/run_31ecf49e-80b7-404b-ad89-56248c2fc6ef/png/run_31ecf49e-80b7-404b-ad89-56248c2fc6ef_fuels-dens_2100_000.png +12,270,0.35,ST5_FFDUET_Over10m,ST5_ignite_ring,unsafe,unsafe,no,ring fire under high winds,133613,https://wifire-data.sdsc.edu/data//burnpro3d/d/83/9b/run_839bcf82-8923-4b08-9143-db7eb03ffde6/png/run_839bcf82-8923-4b08-9143-db7eb03ffde6_fuels-dens_2100_000.png +3,175,0.35,ST5_FFDUET_Over10m,ST5_ignite_ring,safe,safe,marginal,,84160,https://wifire-data.sdsc.edu/data//burnpro3d/d/2a/ef/run_2aefd435-9e70-46f5-a4a6-3fb524fd38c7/png/run_2aefd435-9e70-46f5-a4a6-3fb524fd38c7_fuels-dens_2100_000.png +3,270,0.35,ST5_FF_DUET,ST5_ignite_ring,safe,safe,yes,,182812,https://wifire-data.sdsc.edu/data//burnpro3d/d/06/5a/run_065add5e-6832-4115-969a-4f43ee942476/png/run_065add5e-6832-4115-969a-4f43ee942476_fuels-dens_2100_000.png +8,270,0.35,ST5_FFDUET_TLS,ST5_ignite_ring,safe,safe,yes,,122373,https://wifire-data.sdsc.edu/data//burnpro3d/d/0e/10/run_0e10274d-70db-43ed-a932-1b8df05a2191/png/run_0e10274d-70db-43ed-a932-1b8df05a2191_fuels-dens_2100_000.png +3,270,0.35,ST5_FF_DUET,ST5_ignite_strip,safe,safe,yes,,125936,https://wifire-data.sdsc.edu/data//burnpro3d/d/8f/d7/run_8fd70f18-0aeb-415a-81da-496a3f169332/png/run_8fd70f18-0aeb-415a-81da-496a3f169332_fuels-dens_2100_000.png +3,175,0.35,ST5_FFDUET_Over10m,ST5_ignite_contour,safe,safe,yes,,116527,https://wifire-data.sdsc.edu/data//burnpro3d/d/21/af/run_21afd5e3-2187-4111-a1ea-aff065f9c889/png/run_21afd5e3-2187-4111-a1ea-aff065f9c889_fuels-dens_2100_000.png +2,270,0.35,ST5_FFDUET_TLS,ST5_ignite_ring,safe,safe,yes,,174257,https://wifire-data.sdsc.edu/data//burnpro3d/d/ec/6c/run_ec6cce23-6b8f-40fd-8d27-e4fc03752c69/png/run_ec6cce23-6b8f-40fd-8d27-e4fc03752c69_fuels-dens_2100_000.png +3,175,0.35,ST5_FFDUET_Over10m,ST5_ignite_strip,safe,safe,yes,,122458,https://wifire-data.sdsc.edu/data//burnpro3d/d/93/25/run_93253cc7-5a15-4d70-a045-2e8a93c2f306/png/run_93253cc7-5a15-4d70-a045-2e8a93c2f306_fuels-dens_2100_000.png +3,175,0.35,ST5_FF_DUET,ST5_ignite_contour,safe,safe,yes,,105946,https://wifire-data.sdsc.edu/data//burnpro3d/d/5d/1f/run_5d1fbd64-360c-4e1b-9ae7-fc55e1eb4150/png/run_5d1fbd64-360c-4e1b-9ae7-fc55e1eb4150_fuels-dens_2100_000.png +3,175,0.35,ST5_FF_DUET,ST5_ignite_ring,safe,safe,yes,,109692,https://wifire-data.sdsc.edu/data//burnpro3d/d/19/da/run_19dafda4-f6b8-4c80-bde9-a083326232bb/png/run_19dafda4-f6b8-4c80-bde9-a083326232bb_fuels-dens_2100_000.png +8,270,0.35,ST5_FFDUET_TLS,ST5_ignite_contour,safe,safe,yes,,108096,https://wifire-data.sdsc.edu/data//burnpro3d/d/1d/49/run_1d49df97-d42e-4ab7-bc93-a5848985e43e/png/run_1d49df97-d42e-4ab7-bc93-a5848985e43e_fuels-dens_2100_000.png +12,270,0.35,ST5_FF_DUET,ST5_ignite_strip,safe,safe,yes,,132861,https://wifire-data.sdsc.edu/data//burnpro3d/d/f6/d1/run_f6d19d05-505a-49a3-8d79-d64bc60c5b82/png/run_f6d19d05-505a-49a3-8d79-d64bc60c5b82_fuels-dens_2100_000.png +3,270,0.35,ST5_FF_DUET,ST5_ignite_contour,safe,safe,yes,,165482,https://wifire-data.sdsc.edu/data//burnpro3d/d/7c/b4/run_7cb4b263-0894-4176-a5a2-16edcd4ae47a/png/run_7cb4b263-0894-4176-a5a2-16edcd4ae47a_fuels-dens_2100_000.png +12,270,0.35,ST5_FFDUET_Over10m,ST5_ignite_contour,safe,safe,yes,,142527,https://wifire-data.sdsc.edu/data//burnpro3d/d/73/98/run_73988de8-9544-423e-9f3b-ff708d1b5d0b/png/run_73988de8-9544-423e-9f3b-ff708d1b5d0b_fuels-dens_2100_000.png +8,175,0.35,ST5_FFDUET_TLS,ST5_ignite_strip,unsafe,unsafe,no,,131690,https://wifire-data.sdsc.edu/data//burnpro3d/d/73/97/run_7397a714-3633-4fa7-9998-c8bfc4dbf6c2/png/run_7397a714-3633-4fa7-9998-c8bfc4dbf6c2_fuels-dens_2100_000.png +5,175,0.35,ST5_FFDUET_TLS,ST5_ignite_ring,safe,other,marginal,,107084,https://wifire-data.sdsc.edu/data//burnpro3d/d/2a/31/run_2a317b83-17fe-419d-a856-1c335dd4c191/png/run_2a317b83-17fe-419d-a856-1c335dd4c191_fuels-dens_2100_000.png +5,175,0.35,ST5_FFDUET_Over10m,ST5_ignite_contour,safe,safe,marginal,,186062,https://wifire-data.sdsc.edu/data//burnpro3d/d/2e/42/run_2e428cf7-3ac8-46b1-9a36-9ff38ab0dbae/png/run_2e428cf7-3ac8-46b1-9a36-9ff38ab0dbae_fuels-dens_2100_000.png +8,175,0.35,ST5_FF_DUET,ST5_ignite_strip,unsafe,unsafe,no,,119850,https://wifire-data.sdsc.edu/data//burnpro3d/d/49/95/run_499556fc-37be-43bd-89b0-49149c62e71d/png/run_499556fc-37be-43bd-89b0-49149c62e71d_fuels-dens_2100_000.png +8,175,0.35,ST5_FF_DUET,ST5_ignite_ring,unsafe,unsafe,no,,128519,https://wifire-data.sdsc.edu/data//burnpro3d/d/7a/fc/run_7afcb748-3ba8-4978-9c79-6673a628c49f/png/run_7afcb748-3ba8-4978-9c79-6673a628c49f_fuels-dens_2100_000.png +2,270,0.35,ST5_FFDUET_Over10m,ST5_ignite_contour,safe,safe,marginal,,103864,https://wifire-data.sdsc.edu/data//burnpro3d/d/bd/ad/run_bdad352c-ef52-4eec-bb9b-8c9ea195e0b6/png/run_bdad352c-ef52-4eec-bb9b-8c9ea195e0b6_fuels-dens_2100_000.png +2,270,0.35,ST5_FFDUET_Over10m,ST5_ignite_ring,safe,safe,marginal,,171711,https://wifire-data.sdsc.edu/data//burnpro3d/d/34/ef/run_34efdfae-32e0-4593-be86-8b3221823836/png/run_34efdfae-32e0-4593-be86-8b3221823836_fuels-dens_2100_000.png +2,270,0.35,ST5_FFDUET_Over10m,ST5_ignite_strip,safe,safe,yes,,120377,https://wifire-data.sdsc.edu/data//burnpro3d/d/72/f7/run_72f7ad9c-0471-4773-b707-f9c810c4eb38/png/run_72f7ad9c-0471-4773-b707-f9c810c4eb38_fuels-dens_2100_000.png +2,270,0.35,ST5_FFDUET_TLS,ST5_ignite_contour,safe,safe,marginal,,105301,https://wifire-data.sdsc.edu/data//burnpro3d/d/63/1d/run_631d8814-aa14-4ed9-88d6-0fbd0f50eea7/png/run_631d8814-aa14-4ed9-88d6-0fbd0f50eea7_fuels-dens_2100_000.png +2,270,0.35,ST5_FF_DUET,ST5_ignite_strip,safe,safe,yes,,124829,https://wifire-data.sdsc.edu/data//burnpro3d/d/10/91/run_1091c260-60b5-4fb9-b98d-d7d5e391fd27/png/run_1091c260-60b5-4fb9-b98d-d7d5e391fd27_fuels-dens_2100_000.png +2,270,0.35,ST5_FF_DUET,ST5_ignite_ring,safe,safe,marginal,,108304,https://wifire-data.sdsc.edu/data//burnpro3d/d/60/0a/run_600a1d1f-66cd-47d5-a6e6-3381711fcb65/png/run_600a1d1f-66cd-47d5-a6e6-3381711fcb65_fuels-dens_2100_000.png +2,270,0.35,ST5_FF_DUET,ST5_ignite_contour,safe,safe,yes,,103943,https://wifire-data.sdsc.edu/data//burnpro3d/d/52/a5/run_52a50531-e185-4b83-8eee-e2911d0d9bcf/png/run_52a50531-e185-4b83-8eee-e2911d0d9bcf_fuels-dens_2100_000.png +5,270,0.35,ST5_FFDUET_TLS,ST5_ignite_contour,safe,safe,yes,,110320,https://wifire-data.sdsc.edu/data//burnpro3d/d/7e/44/run_7e441394-0298-4bee-9669-fcfc331b9bc0/png/run_7e441394-0298-4bee-9669-fcfc331b9bc0_fuels-dens_2100_000.png +5,270,0.35,ST5_FFDUET_TLS,ST5_ignite_ring,safe,safe,marginal,,152410,https://wifire-data.sdsc.edu/data//burnpro3d/d/1e/cc/run_1ecc9a38-0e71-42f0-8f55-0e8736ec2603/png/run_1ecc9a38-0e71-42f0-8f55-0e8736ec2603_fuels-dens_2100_000.png +5,270,0.35,ST5_FFDUET_TLS,ST5_ignite_strip,safe,safe,yes,,128843,https://wifire-data.sdsc.edu/data//burnpro3d/d/17/fc/run_17fcd06e-5082-4b3f-a6d4-e29b52d2852a/png/run_17fcd06e-5082-4b3f-a6d4-e29b52d2852a_fuels-dens_2100_000.png +5,175,0.35,ST5_FFDUET_TLS,ST5_ignite_strip,other,other,marginal,,130696,https://wifire-data.sdsc.edu/data//burnpro3d/d/11/fd/run_11fdd35b-6c52-4948-9a84-5d4fd5a6e607/png/run_11fdd35b-6c52-4948-9a84-5d4fd5a6e607_fuels-dens_2100_000.png +8,175,0.35,ST5_FF_DUET,ST5_ignite_contour,unsafe,unsafe,no,,109845,https://wifire-data.sdsc.edu/data//burnpro3d/d/f0/0c/run_f00c01cc-9aa2-4f3c-a8cb-8084813086b2/png/run_f00c01cc-9aa2-4f3c-a8cb-8084813086b2_fuels-dens_2100_000.png +2,175,0.35,ST5_FFDUET_TLS,ST5_ignite_strip,safe,safe,yes,,123280,https://wifire-data.sdsc.edu/data//burnpro3d/d/9a/1e/run_9a1e4078-4b2a-44e5-b660-054dfe4b66bb/png/run_9a1e4078-4b2a-44e5-b660-054dfe4b66bb_fuels-dens_2100_000.png +2,175,0.35,ST5_FFDUET_TLS,ST5_ignite_ring,safe,safe,marginal,,105378,https://wifire-data.sdsc.edu/data//burnpro3d/d/e1/07/run_e107e658-13ce-4814-bd98-3b4637891e92/png/run_e107e658-13ce-4814-bd98-3b4637891e92_fuels-dens_2100_000.png +8,175,0.35,ST5_FFDUET_TLS,ST5_ignite_contour,unsafe,unsafe,no,,111835,https://wifire-data.sdsc.edu/data//burnpro3d/d/a0/07/run_a007152e-6655-40f4-a7fc-6338ec34f4eb/png/run_a007152e-6655-40f4-a7fc-6338ec34f4eb_fuels-dens_2100_000.png +8,175,0.35,ST5_FFDUET_TLS,ST5_ignite_ring,unsafe,unsafe,no,,134813,https://wifire-data.sdsc.edu/data//burnpro3d/d/63/c8/run_63c83740-130f-42b0-bcd6-de37347d6b54/png/run_63c83740-130f-42b0-bcd6-de37347d6b54_fuels-dens_2100_000.png +12,270,0.35,ST5_FF_DUET,ST5_ignite_ring,safe,other,yes,,129004,https://wifire-data.sdsc.edu/data//burnpro3d/d/1d/0e/run_1d0efe40-1115-4634-aab2-36c4e7dea85c/png/run_1d0efe40-1115-4634-aab2-36c4e7dea85c_fuels-dens_2100_000.png +2,175,0.35,ST5_FFDUET_TLS,ST5_ignite_contour,safe,safe,marginal,,103872,https://wifire-data.sdsc.edu/data//burnpro3d/d/41/62/run_4162356a-8b79-46ad-af70-e52907dbefd1/png/run_4162356a-8b79-46ad-af70-e52907dbefd1_fuels-dens_2100_000.png +5,175,0.35,ST5_FFDUET_TLS,ST5_ignite_contour,safe,safe,marginal,,102987,https://wifire-data.sdsc.edu/data//burnpro3d/d/14/09/run_1409fbd4-2e94-4f74-9c8c-672e6f2bf8dd/png/run_1409fbd4-2e94-4f74-9c8c-672e6f2bf8dd_fuels-dens_2100_000.png +12,270,0.35,ST5_FF_DUET,ST5_ignite_contour,safe,safe,marginal,,107718,https://wifire-data.sdsc.edu/data//burnpro3d/d/32/4b/run_324bda41-6212-433c-a9b8-ed91a81f5689/png/run_324bda41-6212-433c-a9b8-ed91a81f5689_fuels-dens_2100_000.png +2,270,0.35,ST5_FFDUET_TLS,ST5_ignite_strip,safe,safe,yes,,123541,https://wifire-data.sdsc.edu/data//burnpro3d/d/f7/35/run_f7356baa-8bef-4d8c-8ead-4e68eea1d19f/png/run_f7356baa-8bef-4d8c-8ead-4e68eea1d19f_fuels-dens_2100_000.png +3,175,0.35,ST5_FF_DUET,ST5_ignite_strip,safe,safe,yes,,106809,https://wifire-data.sdsc.edu/data//burnpro3d/d/bd/6a/run_bd6aecfa-efa0-4d8b-a7bd-806165759f9a/png/run_bd6aecfa-efa0-4d8b-a7bd-806165759f9a_fuels-dens_2100_000.png +8,270,0.35,ST5_FFDUET_TLS,ST5_ignite_strip,safe,safe,yes,,21374,https://wifire-data.sdsc.edu/data//burnpro3d/d/66/03/run_6603165d-b4f1-4d46-b093-56ed4debc1d4/png/run_6603165d-b4f1-4d46-b093-56ed4debc1d4_fuels-dens_2100_000.png +12,270,0.35,ST5_FFDUET_TLS,ST5_ignite_ring,unsafe,unsafe,no,,124591,https://wifire-data.sdsc.edu/data//burnpro3d/d/a7/40/run_a7403fa7-76d0-4958-abb8-ae0328f6cfb7/png/run_a7403fa7-76d0-4958-abb8-ae0328f6cfb7_fuels-dens_2100_000.png +12,270,0.35,ST5_FFDUET_TLS,ST5_ignite_strip,safe,safe,yes,,111386,https://wifire-data.sdsc.edu/data//burnpro3d/d/a1/98/run_a198e165-6d0e-4139-af96-ee6f2acabc77/png/run_a198e165-6d0e-4139-af96-ee6f2acabc77_fuels-dens_2100_000.png +8,270,0.35,ST5_FFDUET_Over10m,ST5_ignite_strip,safe,safe,yes,,127783,https://wifire-data.sdsc.edu/data//burnpro3d/d/0c/4d/run_0c4d0ae0-252a-40a7-ad9c-f2176c4d1116/png/run_0c4d0ae0-252a-40a7-ad9c-f2176c4d1116_fuels-dens_2100_000.png +8,270,0.35,ST5_FFDUET_Over10m,ST5_ignite_ring,safe,safe,marginal,,109981,https://wifire-data.sdsc.edu/data//burnpro3d/d/37/3f/run_373fb81d-43a6-43b4-8466-7894cf68bfa1/png/run_373fb81d-43a6-43b4-8466-7894cf68bfa1_fuels-dens_2100_000.png +8,270,0.35,ST5_FFDUET_Over10m,ST5_ignite_contour,safe,safe,yes,,107919,https://wifire-data.sdsc.edu/data//burnpro3d/d/28/2b/run_282bccc7-76ea-4485-915a-ff2e3ab56d0b/png/run_282bccc7-76ea-4485-915a-ff2e3ab56d0b_fuels-dens_2100_000.png +12,175,0.35,ST5_FF_DUET,ST5_ignite_strip,unsafe,unsafe,no,,141132,https://wifire-data.sdsc.edu/data//burnpro3d/d/ce/82/run_ce823b54-a0bf-43a8-a5bd-6a9e462ea7c7/png/run_ce823b54-a0bf-43a8-a5bd-6a9e462ea7c7_fuels-dens_2100_000.png +12,175,0.35,ST5_FF_DUET,ST5_ignite_ring,unsafe,unsafe,no,,126478,https://wifire-data.sdsc.edu/data//burnpro3d/d/78/6b/run_786b5248-04e2-4387-b640-d26107ff2f0d/png/run_786b5248-04e2-4387-b640-d26107ff2f0d_fuels-dens_2100_000.png +12,175,0.35,ST5_FF_DUET,ST5_ignite_contour,unsafe,unsafe,no,,107785,https://wifire-data.sdsc.edu/data//burnpro3d/d/a1/f6/run_a1f6f301-2ba8-4cc2-83cb-c5f769bef03a/png/run_a1f6f301-2ba8-4cc2-83cb-c5f769bef03a_fuels-dens_2100_000.png +5,270,0.35,ST5_FF_DUET,ST5_ignite_contour,safe,safe,yes,,106285,https://wifire-data.sdsc.edu/data//burnpro3d/d/07/7d/run_077d21e3-304f-47dd-b7af-5d0935459ce2/png/run_077d21e3-304f-47dd-b7af-5d0935459ce2_fuels-dens_2100_000.png +5,270,0.35,ST5_FF_DUET,ST5_ignite_ring,safe,safe,marginal,,102944,https://wifire-data.sdsc.edu/data//burnpro3d/d/ff/ef/run_ffef4161-9a62-48e2-a4c6-cccc946963df/png/run_ffef4161-9a62-48e2-a4c6-cccc946963df_fuels-dens_2100_000.png +3,270,0.35,ST5_FFDUET_Over10m,ST5_ignite_contour,safe,safe,marginal,,101530,https://wifire-data.sdsc.edu/data//burnpro3d/d/df/88/run_df885d21-1e68-48a2-9fa1-46e27ce237ed/png/run_df885d21-1e68-48a2-9fa1-46e27ce237ed_fuels-dens_2100_000.png +2,175,0.35,ST5_FF_DUET,ST5_ignite_strip,safe,safe,yes,,125022,https://wifire-data.sdsc.edu/data//burnpro3d/d/fa/0c/run_fa0c4812-83e8-4aa1-8d11-1f084210ebbf/png/run_fa0c4812-83e8-4aa1-8d11-1f084210ebbf_fuels-dens_2100_000.png +3,175,0.35,ST5_FFDUET_TLS,ST5_ignite_contour,safe,safe,yes,,105435,https://wifire-data.sdsc.edu/data//burnpro3d/d/54/1e/run_541e97d1-18ff-483e-b493-2e4118be2214/png/run_541e97d1-18ff-483e-b493-2e4118be2214_fuels-dens_2100_000.png +2,175,0.35,ST5_FF_DUET,ST5_ignite_ring,safe,safe,yes,,124991,https://wifire-data.sdsc.edu/data//burnpro3d/d/3e/8d/run_3e8d0609-0af0-417a-baa9-d34ca7ada941/png/run_3e8d0609-0af0-417a-baa9-d34ca7ada941_fuels-dens_2100_000.png +2,175,0.35,ST5_FF_DUET,ST5_ignite_contour,safe,safe,marginal,,103711,https://wifire-data.sdsc.edu/data//burnpro3d/d/68/0b/run_680b9013-61fe-4220-b2d5-26368410a93c/png/run_680b9013-61fe-4220-b2d5-26368410a93c_fuels-dens_2100_000.png +8,175,0.35,ST5_FFDUET_Over10m,ST5_ignite_contour,unsafe,unsafe,no,,131182,https://wifire-data.sdsc.edu/data//burnpro3d/d/d2/87/run_d2875987-f205-49a0-b320-6011393b9af6/png/run_d2875987-f205-49a0-b320-6011393b9af6_fuels-dens_2100_000.png +8,175,0.35,ST5_FFDUET_Over10m,ST5_ignite_strip,unsafe,unsafe,no,,132866,https://wifire-data.sdsc.edu/data//burnpro3d/d/e2/1c/run_e21c766c-3722-4a08-9d82-d35753b59088/png/run_e21c766c-3722-4a08-9d82-d35753b59088_fuels-dens_2100_000.png +3,175,0.35,ST5_FFDUET_TLS,ST5_ignite_ring,safe,safe,no,Inadequate consumption,82386,https://wifire-data.sdsc.edu/data//burnpro3d/d/e4/39/run_e4395522-02fe-4db4-b0c0-605394ccd7d3/png/run_e4395522-02fe-4db4-b0c0-605394ccd7d3_fuels-dens_2100_000.png +12,270,0.35,ST5_FFDUET_Over10m,ST5_ignite_strip,safe,safe,yes,,127602,https://wifire-data.sdsc.edu/data//burnpro3d/d/30/b4/run_30b4b12b-285c-4abc-98c9-b68f0e524dce/png/run_30b4b12b-285c-4abc-98c9-b68f0e524dce_fuels-dens_2100_000.png +3,175,0.35,ST5_FFDUET_TLS,ST5_ignite_strip,safe,safe,yes,,18412,https://wifire-data.sdsc.edu/data//burnpro3d/d/8e/17/run_8e17b84b-3741-4797-9955-19d6cf8aebf1/png/run_8e17b84b-3741-4797-9955-19d6cf8aebf1_fuels-dens_2100_000.png +8,270,0.35,ST5_FF_DUET,ST5_ignite_strip,safe,safe,yes,,95595,https://wifire-data.sdsc.edu/data//burnpro3d/d/74/9b/run_749bf19c-938d-4cbc-b430-af3578145845/png/run_749bf19c-938d-4cbc-b430-af3578145845_fuels-dens_2100_000.png +8,270,0.35,ST5_FF_DUET,ST5_ignite_ring,safe,safe,yes,,115590,https://wifire-data.sdsc.edu/data//burnpro3d/d/aa/cb/run_aacbf827-fd38-4ca2-a461-80831ef7f996/png/run_aacbf827-fd38-4ca2-a461-80831ef7f996_fuels-dens_2100_000.png +8,270,0.35,ST5_FF_DUET,ST5_ignite_contour,unsafe,safe,marginal,Inadequate blackline,94723,https://wifire-data.sdsc.edu/data//burnpro3d/d/ea/cf/run_eacf01bb-feaa-4908-83ee-e0b25bc72483/png/run_eacf01bb-feaa-4908-83ee-e0b25bc72483_fuels-dens_2100_000.png +5,270,0.35,ST5_FF_DUET,ST5_ignite_strip,safe,safe,yes,,129262,https://wifire-data.sdsc.edu/data//burnpro3d/d/38/3e/run_383e55f2-c440-43c8-9681-da084206f583/png/run_383e55f2-c440-43c8-9681-da084206f583_fuels-dens_2100_000.png +3,270,0.35,ST5_FFDUET_Over10m,ST5_ignite_ring,safe,safe,no,inadequate consumption,83242,https://wifire-data.sdsc.edu/data//burnpro3d/d/d4/ef/run_d4efb206-0778-4ff8-8eb8-8b4192620642/png/run_d4efb206-0778-4ff8-8eb8-8b4192620642_fuels-dens_2100_000.png +12,270,0.35,ST5_FFDUET_TLS,ST5_ignite_contour,safe,safe,marginal,,107999,https://wifire-data.sdsc.edu/data//burnpro3d/d/75/61/run_7561ca57-378a-4e3c-8321-c89e837b7e78/png/run_7561ca57-378a-4e3c-8321-c89e837b7e78_fuels-dens_2100_000.png +5,175,0.35,ST5_FF_DUET,ST5_ignite_strip,other,other,marginal,,98663,https://wifire-data.sdsc.edu/data//burnpro3d/d/62/df/run_62df11e5-92b1-44c6-9912-de8630ba1a49/png/run_62df11e5-92b1-44c6-9912-de8630ba1a49_fuels-dens_2100_000.png +5,175,0.35,ST5_FFDUET_Over10m,ST5_ignite_ring,unsafe,unsafe,no,,149229,https://wifire-data.sdsc.edu/data//burnpro3d/d/df/1e/run_df1e3572-969f-4718-a868-59bbd7eb555b/png/run_df1e3572-969f-4718-a868-59bbd7eb555b_fuels-dens_2100_000.png +5,270,0.35,ST5_FFDUET_Over10m,ST5_ignite_contour,unsafe,safe,marginal,inadequate blackline,174117,https://wifire-data.sdsc.edu/data//burnpro3d/d/a8/dd/run_a8dd6f85-dd1d-4e2a-96f2-34665436b4ba/png/run_a8dd6f85-dd1d-4e2a-96f2-34665436b4ba_fuels-dens_2100_000.png +5,270,0.35,ST5_FFDUET_Over10m,ST5_ignite_ring,safe,safe,marginal,,92860,https://wifire-data.sdsc.edu/data//burnpro3d/d/e7/13/run_e713de58-2010-4182-98ff-e7c3a7a53543/png/run_e713de58-2010-4182-98ff-e7c3a7a53543_fuels-dens_2100_000.png +5,270,0.35,ST5_FFDUET_Over10m,ST5_ignite_strip,safe,safe,yes,,125351,https://wifire-data.sdsc.edu/data//burnpro3d/d/0a/18/run_0a188b73-84fe-47cd-805f-5e545d82266e/png/run_0a188b73-84fe-47cd-805f-5e545d82266e_fuels-dens_2100_000.png +12,175,0.35,ST5_FFDUET_TLS,ST5_ignite_contour,unsafe,unsafe,no,,108885,https://wifire-data.sdsc.edu/data//burnpro3d/d/d9/9e/run_d99effa7-82b0-4d41-8e0a-40ddbae10169/png/run_d99effa7-82b0-4d41-8e0a-40ddbae10169_fuels-dens_2100_000.png +12,175,0.35,ST5_FFDUET_TLS,ST5_ignite_ring,unsafe,unsafe,no,,61371,https://wifire-data.sdsc.edu/data//burnpro3d/d/02/fe/run_02fe5fc7-8281-464b-af09-1502ed48d0f6/png/run_02fe5fc7-8281-464b-af09-1502ed48d0f6_fuels-dens_2100_000.png +3,270,0.35,ST5_FFDUET_Over10m,ST5_ignite_strip,safe,safe,yes,,122880,https://wifire-data.sdsc.edu/data//burnpro3d/d/68/90/run_6890c02f-7d18-4db3-82da-c69d4d7d7c06/png/run_6890c02f-7d18-4db3-82da-c69d4d7d7c06_fuels-dens_2100_000.png +3,270,0.35,ST5_FFDUET_TLS,ST5_ignite_strip,safe,safe,yes,,124707,https://wifire-data.sdsc.edu/data//burnpro3d/d/20/1e/run_201e6eeb-ddcf-430c-aa44-67c4309f3118/png/run_201e6eeb-ddcf-430c-aa44-67c4309f3118_fuels-dens_2100_000.png +3,270,0.35,ST5_FFDUET_TLS,ST5_ignite_ring,safe,safe,marginal,,89671,https://wifire-data.sdsc.edu/data//burnpro3d/d/33/ed/run_33ed3937-102d-44f7-99cf-247ead547d85/png/run_33ed3937-102d-44f7-99cf-247ead547d85_fuels-dens_2100_000.png +3,270,0.35,ST5_FFDUET_TLS,ST5_ignite_contour,safe,safe,marginal,,104799,https://wifire-data.sdsc.edu/data//burnpro3d/d/03/bc/run_03bc8c8e-8ea5-431e-beab-689dcef43588/png/run_03bc8c8e-8ea5-431e-beab-689dcef43588_fuels-dens_2100_000.png +12,175,0.35,ST5_FFDUET_TLS,ST5_ignite_strip,unsafe,unsafe,no,,122830,https://wifire-data.sdsc.edu/data//burnpro3d/d/96/ec/run_96ecc497-f4e0-44e4-adad-189fd95e6802/png/run_96ecc497-f4e0-44e4-adad-189fd95e6802_fuels-dens_2100_000.png +5,175,0.35,ST5_FFDUET_Over10m,ST5_ignite_strip,other,other,marginal,,30377,https://wifire-data.sdsc.edu/data//burnpro3d/d/bf/89/run_bf89c96f-e353-4f77-8c05-557f037fa904/png/run_bf89c96f-e353-4f77-8c05-557f037fa904_fuels-dens_2100_000.png +5,175,0.35,ST5_FF_DUET,ST5_ignite_ring,other,other,marginal,,136198,https://wifire-data.sdsc.edu/data//burnpro3d/d/ae/b5/run_aeb5d400-21d2-41fd-adde-304037b8d082/png/run_aeb5d400-21d2-41fd-adde-304037b8d082_fuels-dens_2100_000.png +12,175,0.35,ST5_FFDUET_Over10m,ST5_ignite_strip,unsafe,unsafe,no,,162243,https://wifire-data.sdsc.edu/data//burnpro3d/d/2d/45/run_2d45515a-035d-4a81-90dc-30477823d3fe/png/run_2d45515a-035d-4a81-90dc-30477823d3fe_fuels-dens_2100_000.png +12,175,0.35,ST5_FFDUET_Over10m,ST5_ignite_ring,unsafe,unsafe,no,,111714,https://wifire-data.sdsc.edu/data//burnpro3d/d/6c/a2/run_6ca234e2-7b30-46fb-8f73-8fe265a8c28d/png/run_6ca234e2-7b30-46fb-8f73-8fe265a8c28d_fuels-dens_2100_000.png +5,175,0.35,ST5_FF_DUET,ST5_ignite_contour,safe,safe,yes,,106546,https://wifire-data.sdsc.edu/data//burnpro3d/d/61/bb/run_61bb21b9-7e7c-4779-8461-2b5e0c160121/png/run_61bb21b9-7e7c-4779-8461-2b5e0c160121_fuels-dens_2100_000.png +8,175,0.35,ST5_FFDUET_Over10m,ST5_ignite_ring,unsafe,unsafe,no,,19388,https://wifire-data.sdsc.edu/data//burnpro3d/d/f8/ba/run_f8ba25e9-4043-4f44-bba8-09b760ccbcfb/png/run_f8ba25e9-4043-4f44-bba8-09b760ccbcfb_fuels-dens_2100_000.png +12,175,0.35,ST5_FFDUET_Over10m,ST5_ignite_contour,unsafe,unsafe,no,,103928,https://wifire-data.sdsc.edu/data//burnpro3d/d/3d/08/run_3d088616-52ec-4be1-b1f3-8f3f989b0a12/png/run_3d088616-52ec-4be1-b1f3-8f3f989b0a12_fuels-dens_2100_000.png +3,175,0.425,ST5_FFDUET_TLS,ST5_ignite_contour,safe,safe,marginal,,90765,https://wifire-data.sdsc.edu/data//burnpro3d/d/6e/5a/run_6e5ac844-7044-4dbd-ba33-8f1ea5630f9d/png/run_6e5ac844-7044-4dbd-ba33-8f1ea5630f9d_fuels-dens_2100_000.png +2,270,0.425,ST5_FFDUET_TLS,ST5_ignite_contour,unsafe,safe,no,inadequate blackline,92737,https://wifire-data.sdsc.edu/data//burnpro3d/d/e3/a9/run_e3a91a18-cc44-4e9f-b79c-c3b0887caf9b/png/run_e3a91a18-cc44-4e9f-b79c-c3b0887caf9b_fuels-dens_2100_000.png +3,240,0.425,ST5_FF_DUET,ST5_ignite_strip,unsafe,safe,marginal,inadequate blackline,115332,https://wifire-data.sdsc.edu/data//burnpro3d/d/83/f0/run_83f0ad93-81fe-476b-a5a8-d7dd77cbe1c7/png/run_83f0ad93-81fe-476b-a5a8-d7dd77cbe1c7_fuels-dens_2100_000.png +3,195,0.425,ST5_FF_DUET,ST5_ignite_strip,unsafe,safe,no,inadequate blackline,95357,https://wifire-data.sdsc.edu/data//burnpro3d/d/ab/e5/run_abe538f4-d218-41ae-900c-f9dbea2cdd55/png/run_abe538f4-d218-41ae-900c-f9dbea2cdd55_fuels-dens_2100_000.png +3,225,0.425,ST5_FF_DUET,ST5_ignite_contour,safe,safe,marginal,,93944,https://wifire-data.sdsc.edu/data//burnpro3d/d/a9/0f/run_a90f37e0-fd9d-4c25-bc8b-c752260d3b8b/png/run_a90f37e0-fd9d-4c25-bc8b-c752260d3b8b_fuels-dens_2100_000.png +3,225,0.425,ST5_FF_DUET,ST5_ignite_strip,unsafe,safe,no,inadequate blackline,113318,https://wifire-data.sdsc.edu/data//burnpro3d/d/a6/62/run_a6624867-f1f2-401b-ae87-c1dcd647ee23/png/run_a6624867-f1f2-401b-ae87-c1dcd647ee23_fuels-dens_2100_000.png +2,270,0.425,ST5_FFDUET_TLS,ST5_ignite_ring,safe,safe,no,,160776,https://wifire-data.sdsc.edu/data//burnpro3d/d/af/27/run_af27e078-6d78-4df0-bfce-f89d103e24a2/png/run_af27e078-6d78-4df0-bfce-f89d103e24a2_fuels-dens_2100_000.png +2,270,0.425,ST5_FFDUET_TLS,ST5_ignite_strip,safe,safe,no,inadequate blackline,33063,https://wifire-data.sdsc.edu/data//burnpro3d/d/e1/93/run_e1931e5b-816c-42a4-8787-50963f478a96/png/run_e1931e5b-816c-42a4-8787-50963f478a96_fuels-dens_2100_000.png +3,195,0.425,ST5_FF_DUET,ST5_ignite_contour,safe,safe,marginal,inadequate consumption,170314,https://wifire-data.sdsc.edu/data//burnpro3d/d/6c/fd/run_6cfd2df8-6d7a-442e-bc67-fa39018e6eab/png/run_6cfd2df8-6d7a-442e-bc67-fa39018e6eab_fuels-dens_2100_000.png +3,225,0.425,ST5_FF_DUET,ST5_ignite_ring,safe,safe,no,inadequate consumption,132037,https://wifire-data.sdsc.edu/data//burnpro3d/d/d1/71/run_d171962d-af6c-4e2b-a6ac-ceff0e1a2006/png/run_d171962d-af6c-4e2b-a6ac-ceff0e1a2006_fuels-dens_2100_000.png +3,195,0.425,ST5_FF_DUET,ST5_ignite_ring,safe,safe,no,inadequate consumption,105902,https://wifire-data.sdsc.edu/data//burnpro3d/d/95/63/run_9563b158-2d4c-437a-93fb-843b1ddb287f/png/run_9563b158-2d4c-437a-93fb-843b1ddb287f_fuels-dens_2100_000.png +3,240,0.425,ST5_FF_DUET,ST5_ignite_ring,safe,safe,no,inadequate consumption,27559,https://wifire-data.sdsc.edu/data//burnpro3d/d/55/db/run_55dbe98c-9bff-4f3b-91c9-1bdbf2e4c958/png/run_55dbe98c-9bff-4f3b-91c9-1bdbf2e4c958_fuels-dens_2100_000.png +3,240,0.425,ST5_FF_DUET,ST5_ignite_contour,safe,safe,marginal,,61121,https://wifire-data.sdsc.edu/data//burnpro3d/d/f9/c9/run_f9c9516d-73d6-4f6e-b228-b05149c12229/png/run_f9c9516d-73d6-4f6e-b228-b05149c12229_fuels-dens_2100_000.png +3,255,0.425,ST5_FF_DUET,ST5_ignite_strip,safe,safe,marginal,inadequate blackline,137684,https://wifire-data.sdsc.edu/data//burnpro3d/d/55/c2/run_55c2f9cd-8a78-4639-b9ad-4d0b68cd4050/png/run_55c2f9cd-8a78-4639-b9ad-4d0b68cd4050_fuels-dens_2100_000.png +2,255,0.425,ST5_FFDUET_TLS,ST5_ignite_ring,safe,safe,no,inadequate consumption,29154,https://wifire-data.sdsc.edu/data//burnpro3d/d/70/0e/run_700e84ab-1ed9-42c6-b899-391757436126/png/run_700e84ab-1ed9-42c6-b899-391757436126_fuels-dens_2100_000.png +12,225,0.425,ST5_FFDUET_Over10m,ST5_ignite_strip,unsafe,unsafe,no,,145100,https://wifire-data.sdsc.edu/data//burnpro3d/d/71/30/run_71309d5a-d4e4-4305-a2dd-84f3f35c1d44/png/run_71309d5a-d4e4-4305-a2dd-84f3f35c1d44_fuels-dens_2100_000.png +12,225,0.425,ST5_FFDUET_Over10m,ST5_ignite_ring,unsafe,unsafe,no,,127148,https://wifire-data.sdsc.edu/data//burnpro3d/d/a1/8b/run_a18b7a46-311b-4a39-aa94-bf7bf2129789/png/run_a18b7a46-311b-4a39-aa94-bf7bf2129789_fuels-dens_2100_000.png +12,195,0.425,ST5_FFDUET_Over10m,ST5_ignite_strip,unsafe,unsafe,no,,120429,https://wifire-data.sdsc.edu/data//burnpro3d/d/3a/b6/run_3ab66407-7efd-4110-83c9-02027431e8ce/png/run_3ab66407-7efd-4110-83c9-02027431e8ce_fuels-dens_2100_000.png +12,195,0.425,ST5_FFDUET_Over10m,ST5_ignite_ring,unsafe,unsafe,no,,76798,https://wifire-data.sdsc.edu/data//burnpro3d/d/be/43/run_be436c12-46c1-4024-9a30-ab5be537078c/png/run_be436c12-46c1-4024-9a30-ab5be537078c_fuels-dens_2100_000.png +12,195,0.425,ST5_FFDUET_Over10m,ST5_ignite_contour,unsafe,unsafe,no,,105880,https://wifire-data.sdsc.edu/data//burnpro3d/d/25/e2/run_25e2aeb6-c085-45cb-821b-0ca99db052d0/png/run_25e2aeb6-c085-45cb-821b-0ca99db052d0_fuels-dens_2100_000.png +12,180,0.425,ST5_FFDUET_Over10m,ST5_ignite_strip,other,other,,,186736,https://wifire-data.sdsc.edu/data//burnpro3d/d/41/ef/run_41ef1dc8-5354-4e54-af3b-bdcac9895bcd/png/run_41ef1dc8-5354-4e54-af3b-bdcac9895bcd_fuels-dens_2100_000.png +12,180,0.425,ST5_FFDUET_Over10m,ST5_ignite_ring,unsafe,unsafe,no,,104879,https://wifire-data.sdsc.edu/data//burnpro3d/d/d3/f8/run_d3f85726-818f-480b-99d1-411820be45fb/png/run_d3f85726-818f-480b-99d1-411820be45fb_fuels-dens_2100_000.png +12,180,0.425,ST5_FFDUET_Over10m,ST5_ignite_contour,unsafe,unsafe,no,,100111,https://wifire-data.sdsc.edu/data//burnpro3d/d/81/a2/run_81a2c5f3-8f8a-408f-b552-db621ab159c5/png/run_81a2c5f3-8f8a-408f-b552-db621ab159c5_fuels-dens_2100_000.png +12,175,0.425,ST5_FFDUET_Over10m,ST5_ignite_strip,unsafe,unsafe,no,,111064,https://wifire-data.sdsc.edu/data//burnpro3d/d/b6/d1/run_b6d1cbed-fb21-4bc9-b46c-52b91b1ed588/png/run_b6d1cbed-fb21-4bc9-b46c-52b91b1ed588_fuels-dens_2100_000.png +12,175,0.425,ST5_FFDUET_Over10m,ST5_ignite_ring,unsafe,unsafe,no,,75373,https://wifire-data.sdsc.edu/data//burnpro3d/d/2b/af/run_2baf63f0-d7f2-45a9-a606-d76fd3611a7e/png/run_2baf63f0-d7f2-45a9-a606-d76fd3611a7e_fuels-dens_2100_000.png +12,175,0.425,ST5_FFDUET_Over10m,ST5_ignite_contour,unsafe,unsafe,no,,147780,https://wifire-data.sdsc.edu/data//burnpro3d/d/38/69/run_3869155a-5f41-40f6-a717-5cd0714c27eb/png/run_3869155a-5f41-40f6-a717-5cd0714c27eb_fuels-dens_2100_000.png +12,240,0.425,ST5_FFDUET_Over10m,ST5_ignite_contour,unsafe,unsafe,no,,134763,https://wifire-data.sdsc.edu/data//burnpro3d/d/e5/08/run_e50824b2-4da2-4699-af32-bcb530c3541e/png/run_e50824b2-4da2-4699-af32-bcb530c3541e_fuels-dens_2100_000.png +8,270,0.425,ST5_FFDUET_Over10m,ST5_ignite_strip,safe,safe,marginal,,116012,https://wifire-data.sdsc.edu/data//burnpro3d/d/b6/87/run_b6873969-7f06-444a-97e2-c2bc2ff6fcdd/png/run_b6873969-7f06-444a-97e2-c2bc2ff6fcdd_fuels-dens_2100_000.png +8,270,0.425,ST5_FFDUET_Over10m,ST5_ignite_contour,safe,safe,marginal,,96592,https://wifire-data.sdsc.edu/data//burnpro3d/d/52/e5/run_52e5f6cc-4451-43d4-87d2-4d237017fea0/png/run_52e5f6cc-4451-43d4-87d2-4d237017fea0_fuels-dens_2100_000.png +5,175,0.425,ST5_FF_DUET,ST5_ignite_contour,safe,safe,marginal,,92991,https://wifire-data.sdsc.edu/data//burnpro3d/d/5d/3f/run_5d3f0809-e118-41e8-819d-064981571eb3/png/run_5d3f0809-e118-41e8-819d-064981571eb3_fuels-dens_2100_000.png +5,175,0.425,ST5_FF_DUET,ST5_ignite_ring,other,other,marginal,,122084,https://wifire-data.sdsc.edu/data//burnpro3d/d/0d/5c/run_0d5c4d1c-9351-4a80-b8eb-c147f0212139/png/run_0d5c4d1c-9351-4a80-b8eb-c147f0212139_fuels-dens_2100_000.png +5,175,0.425,ST5_FF_DUET,ST5_ignite_strip,safe,safe,yes,,117648,https://wifire-data.sdsc.edu/data//burnpro3d/d/32/25/run_32253183-902c-4033-8447-8c556d5e002c/png/run_32253183-902c-4033-8447-8c556d5e002c_fuels-dens_2100_000.png +5,180,0.425,ST5_FF_DUET,ST5_ignite_contour,safe,safe,marginal,,181192,https://wifire-data.sdsc.edu/data//burnpro3d/d/e5/d2/run_e5d2bd10-679d-4628-8052-cff152190959/png/run_e5d2bd10-679d-4628-8052-cff152190959_fuels-dens_2100_000.png +5,180,0.425,ST5_FF_DUET,ST5_ignite_ring,unsafe,unsafe,no,,55880,https://wifire-data.sdsc.edu/data//burnpro3d/d/e5/5a/run_e55ad7b9-50b7-4158-8a0a-788a85ff850e/png/run_e55ad7b9-50b7-4158-8a0a-788a85ff850e_fuels-dens_2100_000.png +5,180,0.425,ST5_FF_DUET,ST5_ignite_strip,safe,safe,yes,,115791,https://wifire-data.sdsc.edu/data//burnpro3d/d/7f/4d/run_7f4d57d9-7659-48d1-ac6f-a955ba0011ce/png/run_7f4d57d9-7659-48d1-ac6f-a955ba0011ce_fuels-dens_2100_000.png +8,255,0.425,ST5_FFDUET_Over10m,ST5_ignite_strip,other,other,marginal,,133811,https://wifire-data.sdsc.edu/data//burnpro3d/d/32/e9/run_32e9cd19-846b-43f1-b33c-e91f2a6c04e6/png/run_32e9cd19-846b-43f1-b33c-e91f2a6c04e6_fuels-dens_2100_000.png +8,255,0.425,ST5_FFDUET_Over10m,ST5_ignite_ring,safe,safe,no,inadequate consumption,151019,https://wifire-data.sdsc.edu/data//burnpro3d/d/4d/c1/run_4dc1e4f9-9abb-4d26-a042-0960e8689c6c/png/run_4dc1e4f9-9abb-4d26-a042-0960e8689c6c_fuels-dens_2100_000.png +8,255,0.425,ST5_FFDUET_Over10m,ST5_ignite_contour,safe,safe,no,inadequate blackline,35393,https://wifire-data.sdsc.edu/data//burnpro3d/d/a0/65/run_a0655f3e-6ed7-4167-ad0b-ecaa73af28fc/png/run_a0655f3e-6ed7-4167-ad0b-ecaa73af28fc_fuels-dens_2100_000.png +8,240,0.425,ST5_FFDUET_Over10m,ST5_ignite_strip,other,safe,marginal,,122131,https://wifire-data.sdsc.edu/data//burnpro3d/d/26/88/run_2688926d-8f75-48b3-9ade-9d906db5d857/png/run_2688926d-8f75-48b3-9ade-9d906db5d857_fuels-dens_2100_000.png +8,270,0.425,ST5_FFDUET_Over10m,ST5_ignite_ring,safe,safe,no,inadequate consumption,53043,https://wifire-data.sdsc.edu/data//burnpro3d/d/56/e6/run_56e6b088-dd00-4d44-83e6-38505e7819ef/png/run_56e6b088-dd00-4d44-83e6-38505e7819ef_fuels-dens_2100_000.png +2,255,0.425,ST5_FFDUET_TLS,ST5_ignite_strip,other,safe,marginal,inadequate blackline,111135,https://wifire-data.sdsc.edu/data//burnpro3d/d/7d/9d/run_7d9dd5b5-f2d7-4ed1-bd8a-516ed6fe7274/png/run_7d9dd5b5-f2d7-4ed1-bd8a-516ed6fe7274_fuels-dens_2100_000.png +12,240,0.425,ST5_FFDUET_Over10m,ST5_ignite_ring,unsafe,unsafe,no,,110037,https://wifire-data.sdsc.edu/data//burnpro3d/d/89/42/run_89424e2a-3eab-49e6-bc54-780d03bb19b1/png/run_89424e2a-3eab-49e6-bc54-780d03bb19b1_fuels-dens_2100_000.png +12,255,0.425,ST5_FFDUET_Over10m,ST5_ignite_contour,other,safe,marginal,inadequate blackline,100520,https://wifire-data.sdsc.edu/data//burnpro3d/d/ae/d8/run_aed88197-41a6-419a-b505-76697cbaab82/png/run_aed88197-41a6-419a-b505-76697cbaab82_fuels-dens_2100_000.png +2,255,0.425,ST5_FFDUET_TLS,ST5_ignite_contour,other,safe,marginal,marginal blackline and consumption,27878,https://wifire-data.sdsc.edu/data//burnpro3d/d/f2/8b/run_f28b51a8-f3d3-497e-b4cc-09ac812bea5a/png/run_f28b51a8-f3d3-497e-b4cc-09ac812bea5a_fuels-dens_2100_000.png +2,240,0.425,ST5_FFDUET_TLS,ST5_ignite_strip,other,safe,marginal,inadequate blackline,87200,https://wifire-data.sdsc.edu/data//burnpro3d/d/1d/1f/run_1d1f102c-9333-4d29-812c-ba57b1811b91/png/run_1d1f102c-9333-4d29-812c-ba57b1811b91_fuels-dens_2100_000.png +2,240,0.425,ST5_FFDUET_TLS,ST5_ignite_ring,safe,safe,no,inadequate consumption,92810,https://wifire-data.sdsc.edu/data//burnpro3d/d/8e/6f/run_8e6f46d5-be8e-4d26-961d-23a369a3ee85/png/run_8e6f46d5-be8e-4d26-961d-23a369a3ee85_fuels-dens_2100_000.png +2,240,0.425,ST5_FFDUET_TLS,ST5_ignite_contour,safe,safe,no,inadequate blackline and ,92169,https://wifire-data.sdsc.edu/data//burnpro3d/d/57/97/run_5797f5b7-9b30-4183-8b2f-7c0d1df8a570/png/run_5797f5b7-9b30-4183-8b2f-7c0d1df8a570_fuels-dens_2100_000.png +2,225,0.425,ST5_FFDUET_TLS,ST5_ignite_strip,other,safe,marginal,,107451,https://wifire-data.sdsc.edu/data//burnpro3d/d/f1/68/run_f168cc2e-a771-4630-b092-07b3351a988d/png/run_f168cc2e-a771-4630-b092-07b3351a988d_fuels-dens_2100_000.png +2,225,0.425,ST5_FFDUET_TLS,ST5_ignite_ring,safe,safe,no,inadequate consumption,164116,https://wifire-data.sdsc.edu/data//burnpro3d/d/6b/0f/run_6b0ff2db-782a-4ab2-868f-aa0edd038898/png/run_6b0ff2db-782a-4ab2-868f-aa0edd038898_fuels-dens_2100_000.png +2,225,0.425,ST5_FFDUET_TLS,ST5_ignite_contour,other,other,,,92994,https://wifire-data.sdsc.edu/data//burnpro3d/d/ff/9a/run_ff9a2611-2560-48e4-8be6-1efbfe9b6322/png/run_ff9a2611-2560-48e4-8be6-1efbfe9b6322_fuels-dens_2100_000.png +2,195,0.425,ST5_FFDUET_TLS,ST5_ignite_strip,other,safe,marginal,inadequate blackline,115327,https://wifire-data.sdsc.edu/data//burnpro3d/d/0e/13/run_0e130ece-31fa-49e7-8b47-d0f597710741/png/run_0e130ece-31fa-49e7-8b47-d0f597710741_fuels-dens_2100_000.png +2,195,0.425,ST5_FFDUET_TLS,ST5_ignite_ring,safe,safe,no,inadequate consumption,123353,https://wifire-data.sdsc.edu/data//burnpro3d/d/e9/c9/run_e9c975c6-3e2e-4081-ab92-e6a43bc1906b/png/run_e9c975c6-3e2e-4081-ab92-e6a43bc1906b_fuels-dens_2100_000.png +2,180,0.425,ST5_FFDUET_TLS,ST5_ignite_strip,safe,safe,marginal,,90086,https://wifire-data.sdsc.edu/data//burnpro3d/d/1e/80/run_1e802af9-afcf-4bde-af01-9290bf2fa1aa/png/run_1e802af9-afcf-4bde-af01-9290bf2fa1aa_fuels-dens_2100_000.png +2,180,0.425,ST5_FFDUET_TLS,ST5_ignite_ring,safe,safe,no,inadequate consumption,40894,https://wifire-data.sdsc.edu/data//burnpro3d/d/f8/aa/run_f8aaac6e-bfad-43a8-920a-1172973e4198/png/run_f8aaac6e-bfad-43a8-920a-1172973e4198_fuels-dens_2100_000.png +12,240,0.425,ST5_FFDUET_Over10m,ST5_ignite_strip,unsafe,unsafe,no,,132644,https://wifire-data.sdsc.edu/data//burnpro3d/d/1c/f0/run_1cf0206d-f233-4f43-bada-d8df352cc363/png/run_1cf0206d-f233-4f43-bada-d8df352cc363_fuels-dens_2100_000.png +2,180,0.425,ST5_FFDUET_TLS,ST5_ignite_contour,safe,safe,marginal,,89735,https://wifire-data.sdsc.edu/data//burnpro3d/d/2e/6e/run_2e6eb436-1322-476c-b0ec-484d43da78b0/png/run_2e6eb436-1322-476c-b0ec-484d43da78b0_fuels-dens_2100_000.png +2,175,0.425,ST5_FFDUET_TLS,ST5_ignite_ring,safe,safe,no,inadequate consumption,46137,https://wifire-data.sdsc.edu/data//burnpro3d/d/d4/2a/run_d42a007e-08b3-41cf-a028-8d20f3e3e596/png/run_d42a007e-08b3-41cf-a028-8d20f3e3e596_fuels-dens_2100_000.png +2,175,0.425,ST5_FFDUET_TLS,ST5_ignite_contour,safe,safe,no,inadequate consumption,89355,https://wifire-data.sdsc.edu/data//burnpro3d/d/22/97/run_22979c75-e53d-4a45-8f18-08a19fea33c0/png/run_22979c75-e53d-4a45-8f18-08a19fea33c0_fuels-dens_2100_000.png +3,255,0.425,ST5_FF_DUET,ST5_ignite_contour,safe,safe,marginal,marginally inadequate consumption,91047,https://wifire-data.sdsc.edu/data//burnpro3d/d/ab/06/run_ab06f8a2-ecd0-4e95-b0e5-06276cbf6efa/png/run_ab06f8a2-ecd0-4e95-b0e5-06276cbf6efa_fuels-dens_2100_000.png +3,255,0.425,ST5_FF_DUET,ST5_ignite_ring,safe,safe,no,inadequate consumption,27207,https://wifire-data.sdsc.edu/data//burnpro3d/d/14/81/run_1481a253-6bcc-481c-99f2-fb7284b53030/png/run_1481a253-6bcc-481c-99f2-fb7284b53030_fuels-dens_2100_000.png +3,175,0.425,ST5_FFDUET_TLS,ST5_ignite_ring,safe,safe,no,inadequate consumption,104122,https://wifire-data.sdsc.edu/data//burnpro3d/d/4b/b7/run_4bb7a586-d2a6-47b3-9bdd-acf47f90556d/png/run_4bb7a586-d2a6-47b3-9bdd-acf47f90556d_fuels-dens_2100_000.png +12,270,0.425,ST5_FFDUET_Over10m,ST5_ignite_ring,safe,safe,no,inadequate consumption,67177,https://wifire-data.sdsc.edu/data//burnpro3d/d/dd/66/run_dd66c6f1-7763-4f4f-aff4-d0b9f1bdaf87/png/run_dd66c6f1-7763-4f4f-aff4-d0b9f1bdaf87_fuels-dens_2100_000.png +12,270,0.425,ST5_FFDUET_Over10m,ST5_ignite_contour,safe,safe,marginal,marginally inadequate consumption,183786,https://wifire-data.sdsc.edu/data//burnpro3d/d/f0/a5/run_f0a5e570-a772-448b-b193-1bd497e81101/png/run_f0a5e570-a772-448b-b193-1bd497e81101_fuels-dens_2100_000.png +3,270,0.425,ST5_FF_DUET,ST5_ignite_contour,safe,safe,no,inadequate consumption,88312,https://wifire-data.sdsc.edu/data//burnpro3d/d/fa/d6/run_fad6761a-ca6c-412c-a1d0-28b807115153/png/run_fad6761a-ca6c-412c-a1d0-28b807115153_fuels-dens_2100_000.png +3,270,0.425,ST5_FF_DUET,ST5_ignite_ring,safe,safe,no,inadequate consumption,38495,https://wifire-data.sdsc.edu/data//burnpro3d/d/12/94/run_129491d6-69e3-4f64-b9b6-c2073584b93e/png/run_129491d6-69e3-4f64-b9b6-c2073584b93e_fuels-dens_2100_000.png +3,270,0.425,ST5_FF_DUET,ST5_ignite_strip,safe,safe,yes,,114743,https://wifire-data.sdsc.edu/data//burnpro3d/d/d3/13/run_d313c31a-563a-4a1e-9c49-21933594b7ef/png/run_d313c31a-563a-4a1e-9c49-21933594b7ef_fuels-dens_2100_000.png +12,255,0.425,ST5_FFDUET_Over10m,ST5_ignite_strip,unsafe,unsafe,no,,123771,https://wifire-data.sdsc.edu/data//burnpro3d/d/fc/03/run_fc034a00-107c-4362-b1c7-ec2e533f0c59/png/run_fc034a00-107c-4362-b1c7-ec2e533f0c59_fuels-dens_2100_000.png +2,175,0.425,ST5_FFDUET_TLS,ST5_ignite_strip,unsafe,safe,no,Inadequate blackline,110866,https://wifire-data.sdsc.edu/data//burnpro3d/d/39/d8/run_39d8d008-3c2f-421d-8ac8-58ebd586a47e/png/run_39d8d008-3c2f-421d-8ac8-58ebd586a47e_fuels-dens_2100_000.png +3,175,0.425,ST5_FFDUET_TLS,ST5_ignite_strip,safe,safe,marginal,inadequate blackline,110844,https://wifire-data.sdsc.edu/data//burnpro3d/d/e2/46/run_e24637fe-bb1e-4ffc-9b11-214e10ede209/png/run_e24637fe-bb1e-4ffc-9b11-214e10ede209_fuels-dens_2100_000.png +12,255,0.425,ST5_FFDUET_Over10m,ST5_ignite_ring,unsafe,unsafe,no,ring fire under high winds,130211,https://wifire-data.sdsc.edu/data//burnpro3d/d/28/7f/run_287fcf8f-b443-4322-a235-72d8714f42a2/png/run_287fcf8f-b443-4322-a235-72d8714f42a2_fuels-dens_2100_000.png +3,180,0.425,ST5_FFDUET_TLS,ST5_ignite_ring,safe,safe,no,inadequate consumption,182110,https://wifire-data.sdsc.edu/data//burnpro3d/d/62/43/run_6243664f-e480-4e90-8501-a34bf47077c9/png/run_6243664f-e480-4e90-8501-a34bf47077c9_fuels-dens_2100_000.png +12,180,0.425,ST5_FFDUET_TLS,ST5_ignite_contour,unsafe,unsafe,no,,98137,https://wifire-data.sdsc.edu/data//burnpro3d/d/2a/2c/run_2a2c72be-8f62-4129-84a3-b9ddb3348671/png/run_2a2c72be-8f62-4129-84a3-b9ddb3348671_fuels-dens_2100_000.png +12,175,0.425,ST5_FFDUET_TLS,ST5_ignite_strip,unsafe,unsafe,no,,110670,https://wifire-data.sdsc.edu/data//burnpro3d/d/fa/7a/run_fa7a5a7b-c9b2-4c6b-a209-9a6b2d088417/png/run_fa7a5a7b-c9b2-4c6b-a209-9a6b2d088417_fuels-dens_2100_000.png +12,175,0.425,ST5_FFDUET_TLS,ST5_ignite_ring,unsafe,unsafe,no,ring fire under high wind condtions,74027,https://wifire-data.sdsc.edu/data//burnpro3d/d/e3/e2/run_e3e2f58e-2fff-4008-97f8-627d51ea0c65/png/run_e3e2f58e-2fff-4008-97f8-627d51ea0c65_fuels-dens_2100_000.png +12,175,0.425,ST5_FFDUET_TLS,ST5_ignite_contour,unsafe,unsafe,no,,107004,https://wifire-data.sdsc.edu/data//burnpro3d/d/23/77/run_237765f5-c1f4-4151-a966-b607d986621d/png/run_237765f5-c1f4-4151-a966-b607d986621d_fuels-dens_2100_000.png +2,195,0.425,ST5_FF_DUET,ST5_ignite_contour,safe,safe,marginal,consumption and blackline inadequacy,101005,https://wifire-data.sdsc.edu/data//burnpro3d/d/ab/1e/run_ab1eb8cb-41d3-45b8-9ef6-bd3e3ea2ccf1/png/run_ab1eb8cb-41d3-45b8-9ef6-bd3e3ea2ccf1_fuels-dens_2100_000.png +2,195,0.425,ST5_FF_DUET,ST5_ignite_ring,safe,safe,no,inadequate consumption,119320,https://wifire-data.sdsc.edu/data//burnpro3d/d/02/a5/run_02a5f989-0517-4586-ab58-e6fba54ac361/png/run_02a5f989-0517-4586-ab58-e6fba54ac361_fuels-dens_2100_000.png +2,195,0.425,ST5_FF_DUET,ST5_ignite_strip,safe,safe,Yes,,111497,https://wifire-data.sdsc.edu/data//burnpro3d/d/59/39/run_5939521c-989e-49f3-baff-871232040025/png/run_5939521c-989e-49f3-baff-871232040025_fuels-dens_2100_000.png +2,225,0.425,ST5_FF_DUET,ST5_ignite_contour,safe,safe,marginal,,91412,https://wifire-data.sdsc.edu/data//burnpro3d/d/c7/24/run_c7248dcd-bd6e-4d90-98e8-abc228022c42/png/run_c7248dcd-bd6e-4d90-98e8-abc228022c42_fuels-dens_2100_000.png +2,225,0.425,ST5_FF_DUET,ST5_ignite_ring,safe,safe,no,inadequate consumption,34887,https://wifire-data.sdsc.edu/data//burnpro3d/d/67/14/run_67146134-b1ff-4939-89c0-9f5e1002aa23/png/run_67146134-b1ff-4939-89c0-9f5e1002aa23_fuels-dens_2100_000.png +8,270,0.425,ST5_FFDUET_TLS,ST5_ignite_strip,safe,safe,yes,,115638,https://wifire-data.sdsc.edu/data//burnpro3d/d/70/7a/run_707aa9f5-c5c5-4eb6-a85d-07908ea81ce4/png/run_707aa9f5-c5c5-4eb6-a85d-07908ea81ce4_fuels-dens_2100_000.png +8,270,0.425,ST5_FFDUET_TLS,ST5_ignite_ring,safe,safe,no,Inadequate consumption,77691,https://wifire-data.sdsc.edu/data//burnpro3d/d/98/82/run_988221a0-1522-4e6b-83f1-de3f742cc933/png/run_988221a0-1522-4e6b-83f1-de3f742cc933_fuels-dens_2100_000.png +8,270,0.425,ST5_FFDUET_TLS,ST5_ignite_contour,safe,safe,yes,,120320,https://wifire-data.sdsc.edu/data//burnpro3d/d/9a/dc/run_9adc2a02-b6b4-4fbf-982b-0a55240005be/png/run_9adc2a02-b6b4-4fbf-982b-0a55240005be_fuels-dens_2100_000.png +2,225,0.425,ST5_FF_DUET,ST5_ignite_strip,safe,safe,yes,,174716,https://wifire-data.sdsc.edu/data//burnpro3d/d/27/2e/run_272e8e03-de11-4209-9a36-0e39a960ab5d/png/run_272e8e03-de11-4209-9a36-0e39a960ab5d_fuels-dens_2100_000.png +2,240,0.425,ST5_FF_DUET,ST5_ignite_contour,safe,safe,marginal,,128160,https://wifire-data.sdsc.edu/data//burnpro3d/d/02/d0/run_02d09e4b-696a-46ba-b3e6-75e665aca851/png/run_02d09e4b-696a-46ba-b3e6-75e665aca851_fuels-dens_2100_000.png +2,240,0.425,ST5_FF_DUET,ST5_ignite_ring,safe,safe,no ,Inadequate consumption,128050,https://wifire-data.sdsc.edu/data//burnpro3d/d/57/1c/run_571cb02f-3e11-46d3-b849-85a0cf2e11ae/png/run_571cb02f-3e11-46d3-b849-85a0cf2e11ae_fuels-dens_2100_000.png +2,240,0.425,ST5_FF_DUET,ST5_ignite_strip,safe,safe,yes,,149974,https://wifire-data.sdsc.edu/data//burnpro3d/d/a2/42/run_a242100c-d1f2-4c11-9589-a1cdff410940/png/run_a242100c-d1f2-4c11-9589-a1cdff410940_fuels-dens_2100_000.png +8,255,0.425,ST5_FFDUET_TLS,ST5_ignite_strip,safe,safe,yes,,120777,https://wifire-data.sdsc.edu/data//burnpro3d/d/f8/21/run_f821bae3-e3fa-4349-ae4c-7f59beb720d8/png/run_f821bae3-e3fa-4349-ae4c-7f59beb720d8_fuels-dens_2100_000.png +8,255,0.425,ST5_FFDUET_TLS,ST5_ignite_ring,unsafe,unsafe,no,,55654,https://wifire-data.sdsc.edu/data//burnpro3d/d/48/80/run_48801d8d-7fc8-4731-a053-9648d953a52b/png/run_48801d8d-7fc8-4731-a053-9648d953a52b_fuels-dens_2100_000.png +8,255,0.425,ST5_FFDUET_TLS,ST5_ignite_contour,safe,safe,marginal,,139080,https://wifire-data.sdsc.edu/data//burnpro3d/d/b2/b7/run_b2b7a7ba-0afc-4e01-8e5c-8f79a7f3a26a/png/run_b2b7a7ba-0afc-4e01-8e5c-8f79a7f3a26a_fuels-dens_2100_000.png +8,240,0.425,ST5_FFDUET_TLS,ST5_ignite_strip,unsafe,unsafe,no,,125215,https://wifire-data.sdsc.edu/data//burnpro3d/d/36/90/run_3690c2cf-f93a-45fb-9b1b-36956da6f8a5/png/run_3690c2cf-f93a-45fb-9b1b-36956da6f8a5_fuels-dens_2100_000.png +8,240,0.425,ST5_FFDUET_TLS,ST5_ignite_ring,unsafe,unsafe,no,escape and inadequate consumption,116397,https://wifire-data.sdsc.edu/data//burnpro3d/d/f3/20/run_f320d79c-94fc-413a-b8fe-afa804cc146e/png/run_f320d79c-94fc-413a-b8fe-afa804cc146e_fuels-dens_2100_000.png +8,240,0.425,ST5_FFDUET_TLS,ST5_ignite_contour,safe,safe,marginal,,180797,https://wifire-data.sdsc.edu/data//burnpro3d/d/64/82/run_6482d5f8-3087-4b53-8ee8-6a60a63822cd/png/run_6482d5f8-3087-4b53-8ee8-6a60a63822cd_fuels-dens_2100_000.png +8,225,0.425,ST5_FFDUET_TLS,ST5_ignite_strip,unsafe,unsafe,no,escape,130931,https://wifire-data.sdsc.edu/data//burnpro3d/d/75/18/run_751868e9-7521-48cb-928e-47f574099341/png/run_751868e9-7521-48cb-928e-47f574099341_fuels-dens_2100_000.png +8,225,0.425,ST5_FFDUET_TLS,ST5_ignite_ring,unsafe,unsafe,no,escape,28157,https://wifire-data.sdsc.edu/data//burnpro3d/d/a0/0d/run_a00d9044-ea06-4c34-a488-5efdca13c6ad/png/run_a00d9044-ea06-4c34-a488-5efdca13c6ad_fuels-dens_2100_000.png +8,225,0.425,ST5_FFDUET_TLS,ST5_ignite_contour,unsafe,unsafe,no,escape,106475,https://wifire-data.sdsc.edu/data//burnpro3d/d/b2/26/run_b2267e65-836b-440a-b417-5c78d4a88be1/png/run_b2267e65-836b-440a-b417-5c78d4a88be1_fuels-dens_2100_000.png +12,180,0.425,ST5_FFDUET_TLS,ST5_ignite_ring,unsafe,unsafe,no ,escape ,71400,https://wifire-data.sdsc.edu/data//burnpro3d/d/66/85/run_66858aa7-5f09-4946-9707-c9b5ac8ef017/png/run_66858aa7-5f09-4946-9707-c9b5ac8ef017_fuels-dens_2100_000.png +12,180,0.425,ST5_FFDUET_TLS,ST5_ignite_strip,unsafe,unsafe,no,escape,120116,https://wifire-data.sdsc.edu/data//burnpro3d/d/56/58/run_5658c0ce-531c-4933-a63e-3f0a5171a773/png/run_5658c0ce-531c-4933-a63e-3f0a5171a773_fuels-dens_2100_000.png +12,195,0.425,ST5_FFDUET_TLS,ST5_ignite_contour,unsafe,unsafe,no,escape,137375,https://wifire-data.sdsc.edu/data//burnpro3d/d/99/ec/run_99ecdd1a-3f9f-4206-8b6f-53c4272659e8/png/run_99ecdd1a-3f9f-4206-8b6f-53c4272659e8_fuels-dens_2100_000.png +12,195,0.425,ST5_FFDUET_TLS,ST5_ignite_ring,unsafe,unsafe,no,escape,133839,https://wifire-data.sdsc.edu/data//burnpro3d/d/2d/6f/run_2d6f1d6c-5e34-4db3-a01f-d957fa923345/png/run_2d6f1d6c-5e34-4db3-a01f-d957fa923345_fuels-dens_2100_000.png +2,195,0.425,ST5_FFDUET_TLS,ST5_ignite_contour,safe,safe,marginal,,90690,https://wifire-data.sdsc.edu/data//burnpro3d/d/9a/c2/run_9ac2f721-6c65-4f2c-8827-7bc49c01c8d7/png/run_9ac2f721-6c65-4f2c-8827-7bc49c01c8d7_fuels-dens_2100_000.png +12,270,0.425,ST5_FFDUET_Over10m,ST5_ignite_strip,safe,safe,yes,,115209,https://wifire-data.sdsc.edu/data//burnpro3d/d/1f/54/run_1f541b5e-5524-4b59-830e-014d1fa72465/png/run_1f541b5e-5524-4b59-830e-014d1fa72465_fuels-dens_2100_000.png +12,225,0.425,ST5_FFDUET_Over10m,ST5_ignite_contour,unsafe,unsafe,no,escape,112632,https://wifire-data.sdsc.edu/data//burnpro3d/d/3b/5d/run_3b5dea19-0eac-4fa7-b415-56fbfe5ca6ec/png/run_3b5dea19-0eac-4fa7-b415-56fbfe5ca6ec_fuels-dens_2100_000.png +3,195,0.425,ST5_FFDUET_Over10m,ST5_ignite_strip,safe,safe,marginal,,145791,https://wifire-data.sdsc.edu/data//burnpro3d/d/4e/ce/run_4ece8e71-ca22-4a24-9adc-681d95491104/png/run_4ece8e71-ca22-4a24-9adc-681d95491104_fuels-dens_2100_000.png +12,270,0.425,ST5_FF_DUET,ST5_ignite_contour,safe,safe,marginal,,149532,https://wifire-data.sdsc.edu/data//burnpro3d/d/f2/1c/run_f21c0db1-90ef-4c82-8edb-e7b28061ed0f/png/run_f21c0db1-90ef-4c82-8edb-e7b28061ed0f_fuels-dens_2100_000.png +12,180,0.425,ST5_FF_DUET,ST5_ignite_ring,unsafe,unsafe,no,escape,84975,https://wifire-data.sdsc.edu/data//burnpro3d/d/e9/7b/run_e97bcaf0-7d0a-4b2e-9bff-00c1fecb99c9/png/run_e97bcaf0-7d0a-4b2e-9bff-00c1fecb99c9_fuels-dens_2100_000.png +2,175,0.425,ST5_FF_DUET,ST5_ignite_contour,safe,safe,marginal,,115235,https://wifire-data.sdsc.edu/data//burnpro3d/d/1c/22/run_1c222ceb-8a7d-4941-967a-d6505463a105/png/run_1c222ceb-8a7d-4941-967a-d6505463a105_fuels-dens_2100_000.png +5,255,0.425,ST5_FF_DUET,ST5_ignite_strip,safe,safe,yes,,119424,https://wifire-data.sdsc.edu/data//burnpro3d/d/7c/3f/run_7c3fb0f7-2910-45b8-bf27-9b2e50ba7029/png/run_7c3fb0f7-2910-45b8-bf27-9b2e50ba7029_fuels-dens_2100_000.png +2,175,0.425,ST5_FF_DUET,ST5_ignite_ring,safe,safe,no,inadequate consumption,48852,https://wifire-data.sdsc.edu/data//burnpro3d/d/34/17/run_3417bb6a-4e5a-4da6-aa01-08192e428d01/png/run_3417bb6a-4e5a-4da6-aa01-08192e428d01_fuels-dens_2100_000.png +2,175,0.425,ST5_FF_DUET,ST5_ignite_strip,safe,safe,yes,,112168,https://wifire-data.sdsc.edu/data//burnpro3d/d/b9/e4/run_b9e469a0-9f74-4dd1-b43c-0b023a8d309a/png/run_b9e469a0-9f74-4dd1-b43c-0b023a8d309a_fuels-dens_2100_000.png +12,270,0.425,ST5_FFDUET_TLS,ST5_ignite_strip,safe,safe,yes,,30866,https://wifire-data.sdsc.edu/data//burnpro3d/d/c2/4e/run_c24ecbf9-3cfc-4c3a-8c7c-b291b1c63c29/png/run_c24ecbf9-3cfc-4c3a-8c7c-b291b1c63c29_fuels-dens_2100_000.png +12,270,0.425,ST5_FFDUET_TLS,ST5_ignite_ring,unsafe,unsafe,no,"escape, ring fire under high winds",41712,https://wifire-data.sdsc.edu/data//burnpro3d/d/73/c9/run_73c9414f-eca5-480d-981c-cd5252608bf7/png/run_73c9414f-eca5-480d-981c-cd5252608bf7_fuels-dens_2100_000.png +8,195,0.425,ST5_FFDUET_TLS,ST5_ignite_strip,unsafe,unsafe,no,escape,123642,https://wifire-data.sdsc.edu/data//burnpro3d/d/21/15/run_211533c0-4774-46be-996e-3753b1aae139/png/run_211533c0-4774-46be-996e-3753b1aae139_fuels-dens_2100_000.png +12,270,0.425,ST5_FFDUET_TLS,ST5_ignite_contour,safe,safe,marginal,,167606,https://wifire-data.sdsc.edu/data//burnpro3d/d/4c/ff/run_4cff246f-01f6-4bd4-99fd-c33617ca54a6/png/run_4cff246f-01f6-4bd4-99fd-c33617ca54a6_fuels-dens_2100_000.png +2,180,0.425,ST5_FF_DUET,ST5_ignite_ring,safe,safe,no,inadequate consumption,47972,https://wifire-data.sdsc.edu/data//burnpro3d/d/b4/32/run_b4324e8a-74c3-4d7c-b6ee-36c36a12aff9/png/run_b4324e8a-74c3-4d7c-b6ee-36c36a12aff9_fuels-dens_2100_000.png +2,180,0.425,ST5_FF_DUET,ST5_ignite_strip,safe,safe,yes,,115463,https://wifire-data.sdsc.edu/data//burnpro3d/d/6b/e6/run_6be6fa1c-75b9-428e-b5c3-2abd7edaab94/png/run_6be6fa1c-75b9-428e-b5c3-2abd7edaab94_fuels-dens_2100_000.png +12,255,0.425,ST5_FFDUET_TLS,ST5_ignite_strip,unsafe,unsafe,no,escape,143003,https://wifire-data.sdsc.edu/data//burnpro3d/d/2d/bb/run_2dbb920e-b203-42d5-9c49-45f14be79413/png/run_2dbb920e-b203-42d5-9c49-45f14be79413_fuels-dens_2100_000.png +12,255,0.425,ST5_FFDUET_TLS,ST5_ignite_ring,unsafe,unsafe,no,escape,72064,https://wifire-data.sdsc.edu/data//burnpro3d/d/8f/1c/run_8f1c1ae0-0645-43d5-8cfc-ce70305ee421/png/run_8f1c1ae0-0645-43d5-8cfc-ce70305ee421_fuels-dens_2100_000.png +12,255,0.425,ST5_FFDUET_TLS,ST5_ignite_contour,unsafe,unsafe,no ,escape,104580,https://wifire-data.sdsc.edu/data//burnpro3d/d/d0/72/run_d072f272-e66b-43ba-83a3-cce5a40dcde8/png/run_d072f272-e66b-43ba-83a3-cce5a40dcde8_fuels-dens_2100_000.png +12,240,0.425,ST5_FFDUET_TLS,ST5_ignite_strip,unsafe,unsafe,no,escape,175111,https://wifire-data.sdsc.edu/data//burnpro3d/d/38/96/run_38967a6d-375b-4e41-8591-e2f396d41241/png/run_38967a6d-375b-4e41-8591-e2f396d41241_fuels-dens_2100_000.png +12,240,0.425,ST5_FFDUET_TLS,ST5_ignite_ring,unsafe,unsafe,no,escape,71920,https://wifire-data.sdsc.edu/data//burnpro3d/d/1c/9b/run_1c9bc308-6fdd-4d2e-a4f2-47d6ae7a446e/png/run_1c9bc308-6fdd-4d2e-a4f2-47d6ae7a446e_fuels-dens_2100_000.png +12,240,0.425,ST5_FFDUET_TLS,ST5_ignite_contour,unsafe,unsafe,no,escape,171237,https://wifire-data.sdsc.edu/data//burnpro3d/d/1b/c2/run_1bc2270d-e042-49e7-a076-7e8811c64e80/png/run_1bc2270d-e042-49e7-a076-7e8811c64e80_fuels-dens_2100_000.png +12,225,0.425,ST5_FFDUET_TLS,ST5_ignite_strip,unsafe,unsafe,no,escape,142791,https://wifire-data.sdsc.edu/data//burnpro3d/d/1f/7a/run_1f7ad830-8575-4fc4-8db2-840fb7f1834a/png/run_1f7ad830-8575-4fc4-8db2-840fb7f1834a_fuels-dens_2100_000.png +12,225,0.425,ST5_FFDUET_TLS,ST5_ignite_ring,unsafe,unsafe,no,escape,151987,https://wifire-data.sdsc.edu/data//burnpro3d/d/52/34/run_52346b2e-5d67-408e-98b0-fbb0c4227d73/png/run_52346b2e-5d67-408e-98b0-fbb0c4227d73_fuels-dens_2100_000.png +12,225,0.425,ST5_FFDUET_TLS,ST5_ignite_contour,unsafe,unsafe,no,escape,99455,https://wifire-data.sdsc.edu/data//burnpro3d/d/29/bb/run_29bbef9f-4f9a-4e4f-a830-7e6bfd28c2d5/png/run_29bbef9f-4f9a-4e4f-a830-7e6bfd28c2d5_fuels-dens_2100_000.png +12,195,0.425,ST5_FFDUET_TLS,ST5_ignite_strip,unsafe,unsafe,no,escape,160628,https://wifire-data.sdsc.edu/data//burnpro3d/d/bc/cd/run_bccd7e72-417e-4cab-9173-5487d2cd0747/png/run_bccd7e72-417e-4cab-9173-5487d2cd0747_fuels-dens_2100_000.png +2,180,0.425,ST5_FF_DUET,ST5_ignite_contour,safe,safe,marginal,,90034,https://wifire-data.sdsc.edu/data//burnpro3d/d/44/21/run_44214cef-827b-4aec-9e01-3982c75921ad/png/run_44214cef-827b-4aec-9e01-3982c75921ad_fuels-dens_2100_000.png +3,180,0.425,ST5_FFDUET_TLS,ST5_ignite_contour,safe,safe,marginal,,91984,https://wifire-data.sdsc.edu/data//burnpro3d/d/f3/78/run_f378a79a-6107-42f0-a1cb-af2e2d5f9bb7/png/run_f378a79a-6107-42f0-a1cb-af2e2d5f9bb7_fuels-dens_2100_000.png +8,195,0.425,ST5_FFDUET_TLS,ST5_ignite_ring,unsafe,unsafe,no ,escape,54144,https://wifire-data.sdsc.edu/data//burnpro3d/d/d9/42/run_d942877a-87d6-4cd0-83b3-27e06f0993b1/png/run_d942877a-87d6-4cd0-83b3-27e06f0993b1_fuels-dens_2100_000.png +8,180,0.425,ST5_FFDUET_TLS,ST5_ignite_strip,unsafe,unsafe,no,escape,114810,https://wifire-data.sdsc.edu/data//burnpro3d/d/a9/eb/run_a9ebcada-8687-4d69-a505-b974191f404f/png/run_a9ebcada-8687-4d69-a505-b974191f404f_fuels-dens_2100_000.png +5,175,0.425,ST5_FFDUET_TLS,ST5_ignite_ring,safe,safe,no,inadequate consumption,48707,https://wifire-data.sdsc.edu/data//burnpro3d/d/1a/f9/run_1af99b38-1743-4573-8808-60aaac9dd49e/png/run_1af99b38-1743-4573-8808-60aaac9dd49e_fuels-dens_2100_000.png +5,175,0.425,ST5_FFDUET_TLS,ST5_ignite_contour,safe,safe,no,inadequate consumption,92180,https://wifire-data.sdsc.edu/data//burnpro3d/d/fa/a2/run_faa2b452-c39c-4e32-9925-7052298514a3/png/run_faa2b452-c39c-4e32-9925-7052298514a3_fuels-dens_2100_000.png +8,240,0.425,ST5_FFDUET_Over10m,ST5_ignite_ring,unsafe,unsafe,no,escape,57976,https://wifire-data.sdsc.edu/data//burnpro3d/d/3d/8d/run_3d8d3c1e-f9a0-4f81-a3f6-c06db3022a0a/png/run_3d8d3c1e-f9a0-4f81-a3f6-c06db3022a0a_fuels-dens_2100_000.png +3,175,0.425,ST5_FF_DUET,ST5_ignite_contour,safe,safe,yes,,139748,https://wifire-data.sdsc.edu/data//burnpro3d/d/ec/c6/run_ecc63905-e11a-446a-9955-78dd2ab81088/png/run_ecc63905-e11a-446a-9955-78dd2ab81088_fuels-dens_2100_000.png +3,175,0.425,ST5_FF_DUET,ST5_ignite_ring,safe,safe,no,inadequate consumption,45651,https://wifire-data.sdsc.edu/data//burnpro3d/d/ef/52/run_ef527acc-122b-4916-8cc6-431e972c2818/png/run_ef527acc-122b-4916-8cc6-431e972c2818_fuels-dens_2100_000.png +3,270,0.425,ST5_FFDUET_TLS,ST5_ignite_strip,safe,safe,yes,,110792,https://wifire-data.sdsc.edu/data//burnpro3d/d/35/ea/run_35eaccc9-0ebd-4342-806c-62a3974b36c6/png/run_35eaccc9-0ebd-4342-806c-62a3974b36c6_fuels-dens_2100_000.png +3,270,0.425,ST5_FFDUET_TLS,ST5_ignite_ring,safe,safe,no,inadequate consumption,34309,https://wifire-data.sdsc.edu/data//burnpro3d/d/3e/4b/run_3e4bd6fa-43ef-4fce-ab51-527f1c236b2a/png/run_3e4bd6fa-43ef-4fce-ab51-527f1c236b2a_fuels-dens_2100_000.png +3,270,0.425,ST5_FFDUET_TLS,ST5_ignite_contour,safe,safe,yes,,118299,https://wifire-data.sdsc.edu/data//burnpro3d/d/8f/36/run_8f362ca1-ceaf-47cc-9c16-773b9f85e5fa/png/run_8f362ca1-ceaf-47cc-9c16-773b9f85e5fa_fuels-dens_2100_000.png +3,175,0.425,ST5_FF_DUET,ST5_ignite_strip,safe,safe,yes,,113898,https://wifire-data.sdsc.edu/data//burnpro3d/d/99/87/run_9987ecf9-a217-47b8-a0ea-6d6d9763a740/png/run_9987ecf9-a217-47b8-a0ea-6d6d9763a740_fuels-dens_2100_000.png +3,180,0.425,ST5_FF_DUET,ST5_ignite_contour,safe,safe,marginal,,97207,https://wifire-data.sdsc.edu/data//burnpro3d/d/8f/48/run_8f48f02f-5d79-4e8e-a977-e63ff4186ed6/png/run_8f48f02f-5d79-4e8e-a977-e63ff4186ed6_fuels-dens_2100_000.png +3,180,0.425,ST5_FF_DUET,ST5_ignite_ring,safe,safe,no,inadequate consumption,47949,https://wifire-data.sdsc.edu/data//burnpro3d/d/b0/de/run_b0de6697-1440-4c4e-909f-0b816c5d8941/png/run_b0de6697-1440-4c4e-909f-0b816c5d8941_fuels-dens_2100_000.png +3,180,0.425,ST5_FF_DUET,ST5_ignite_strip,safe,safe,yes,,113565,https://wifire-data.sdsc.edu/data//burnpro3d/d/89/60/run_89605685-cb91-4358-8145-2017d1f315c7/png/run_89605685-cb91-4358-8145-2017d1f315c7_fuels-dens_2100_000.png +3,255,0.425,ST5_FFDUET_TLS,ST5_ignite_strip,safe,safe,yes,,133055,https://wifire-data.sdsc.edu/data//burnpro3d/d/ca/38/run_ca38e32f-6977-41b5-bc00-e5ff6b8bc103/png/run_ca38e32f-6977-41b5-bc00-e5ff6b8bc103_fuels-dens_2100_000.png +3,255,0.425,ST5_FFDUET_TLS,ST5_ignite_ring,safe,safe,no,inadequate consumption,26741,https://wifire-data.sdsc.edu/data//burnpro3d/d/e1/fb/run_e1fbde6f-6fd5-42c0-8eb3-cc3ce4ddeebc/png/run_e1fbde6f-6fd5-42c0-8eb3-cc3ce4ddeebc_fuels-dens_2100_000.png +3,255,0.425,ST5_FFDUET_TLS,ST5_ignite_contour,safe,safe,marginal,,91100,https://wifire-data.sdsc.edu/data//burnpro3d/d/51/8e/run_518e55b6-924f-4891-9fbc-61d8e43c6f07/png/run_518e55b6-924f-4891-9fbc-61d8e43c6f07_fuels-dens_2100_000.png +3,240,0.425,ST5_FFDUET_TLS,ST5_ignite_strip,safe,safe,yes,,113573,https://wifire-data.sdsc.edu/data//burnpro3d/d/67/48/run_6748cf97-4144-4aa9-ad15-3ba31190c7c2/png/run_6748cf97-4144-4aa9-ad15-3ba31190c7c2_fuels-dens_2100_000.png +3,240,0.425,ST5_FFDUET_TLS,ST5_ignite_ring,safe,safe,no,inadequate consumption,45971,https://wifire-data.sdsc.edu/data//burnpro3d/d/88/ac/run_88ac448b-379b-49fd-a637-a1fcee221720/png/run_88ac448b-379b-49fd-a637-a1fcee221720_fuels-dens_2100_000.png +3,240,0.425,ST5_FFDUET_TLS,ST5_ignite_contour,safe,safe,marginal,,98537,https://wifire-data.sdsc.edu/data//burnpro3d/d/80/51/run_805153e3-ad80-4168-93a3-97065fa82e83/png/run_805153e3-ad80-4168-93a3-97065fa82e83_fuels-dens_2100_000.png +3,225,0.425,ST5_FFDUET_TLS,ST5_ignite_strip,safe,safe,yes,,111686,https://wifire-data.sdsc.edu/data//burnpro3d/d/6d/6f/run_6d6facb5-e2cc-4159-a8db-f689072d09d4/png/run_6d6facb5-e2cc-4159-a8db-f689072d09d4_fuels-dens_2100_000.png +3,225,0.425,ST5_FFDUET_TLS,ST5_ignite_ring,safe,safe,no,inadequate consumption,27920,https://wifire-data.sdsc.edu/data//burnpro3d/d/53/59/run_53591222-1627-4c7e-879e-239a4482eff7/png/run_53591222-1627-4c7e-879e-239a4482eff7_fuels-dens_2100_000.png +3,225,0.425,ST5_FFDUET_TLS,ST5_ignite_contour,safe,safe,marginal,,93043,https://wifire-data.sdsc.edu/data//burnpro3d/d/94/a0/run_94a041a0-b26a-4b91-bd01-30f4f4d618e0/png/run_94a041a0-b26a-4b91-bd01-30f4f4d618e0_fuels-dens_2100_000.png +3,195,0.425,ST5_FFDUET_TLS,ST5_ignite_strip,safe,safe,yes,,112407,https://wifire-data.sdsc.edu/data//burnpro3d/d/cc/b2/run_ccb2a95e-b6df-470f-858d-af2473ea012c/png/run_ccb2a95e-b6df-470f-858d-af2473ea012c_fuels-dens_2100_000.png +3,195,0.425,ST5_FFDUET_TLS,ST5_ignite_ring,safe,safe,no,inadequate consumption,36992,https://wifire-data.sdsc.edu/data//burnpro3d/d/b4/9b/run_b49b7949-9db2-4fbd-93e6-0a09fd396c10/png/run_b49b7949-9db2-4fbd-93e6-0a09fd396c10_fuels-dens_2100_000.png +3,195,0.425,ST5_FFDUET_TLS,ST5_ignite_contour,safe,safe,marginal,,138567,https://wifire-data.sdsc.edu/data//burnpro3d/d/7b/6b/run_7b6b5ecc-913a-4cf4-bdf7-d201e6040d33/png/run_7b6b5ecc-913a-4cf4-bdf7-d201e6040d33_fuels-dens_2100_000.png +3,180,0.425,ST5_FFDUET_TLS,ST5_ignite_strip,safe,safe,yes,,27165,https://wifire-data.sdsc.edu/data//burnpro3d/d/f9/5f/run_f95f801b-afdc-4bbd-8fa6-b11bf666e764/png/run_f95f801b-afdc-4bbd-8fa6-b11bf666e764_fuels-dens_2100_000.png +5,175,0.425,ST5_FFDUET_TLS,ST5_ignite_strip,other,other,marginal,,164026,https://wifire-data.sdsc.edu/data//burnpro3d/d/ec/87/run_ec873c3e-7d45-4bcf-b1d0-68e89fca42e7/png/run_ec873c3e-7d45-4bcf-b1d0-68e89fca42e7_fuels-dens_2100_000.png +5,180,0.425,ST5_FFDUET_TLS,ST5_ignite_contour,safe,safe,marginal,,151448,https://wifire-data.sdsc.edu/data//burnpro3d/d/d4/80/run_d4809308-73e7-4d26-85e8-0fa5c5c663c6/png/run_d4809308-73e7-4d26-85e8-0fa5c5c663c6_fuels-dens_2100_000.png +5,180,0.425,ST5_FFDUET_TLS,ST5_ignite_ring,unsafe,unsafe,no,escape,51043,https://wifire-data.sdsc.edu/data//burnpro3d/d/b6/13/run_b613a47c-29ba-4943-9640-5f56016c5173/png/run_b613a47c-29ba-4943-9640-5f56016c5173_fuels-dens_2100_000.png +5,180,0.425,ST5_FFDUET_TLS,ST5_ignite_strip,safe,safe,yes,,179917,https://wifire-data.sdsc.edu/data//burnpro3d/d/ed/ef/run_edefe4ae-a782-4e12-8e7c-da3029a7abd3/png/run_edefe4ae-a782-4e12-8e7c-da3029a7abd3_fuels-dens_2100_000.png +8,180,0.425,ST5_FFDUET_TLS,ST5_ignite_ring,unsafe,unsafe,no,escape,183235,https://wifire-data.sdsc.edu/data//burnpro3d/d/8c/a9/run_8ca9edc4-c037-4fae-ba28-314bc82776de/png/run_8ca9edc4-c037-4fae-ba28-314bc82776de_fuels-dens_2100_000.png +8,180,0.425,ST5_FFDUET_TLS,ST5_ignite_contour,unsafe,unsafe,no,escape,167889,https://wifire-data.sdsc.edu/data//burnpro3d/d/29/45/run_2945274d-6c6f-413f-b1b3-23b1920153fc/png/run_2945274d-6c6f-413f-b1b3-23b1920153fc_fuels-dens_2100_000.png +8,175,0.425,ST5_FFDUET_TLS,ST5_ignite_strip,unsafe,unsafe,no,escape,115885,https://wifire-data.sdsc.edu/data//burnpro3d/d/4c/10/run_4c10a11d-ab1d-4482-a554-23be3ebfd5cc/png/run_4c10a11d-ab1d-4482-a554-23be3ebfd5cc_fuels-dens_2100_000.png +8,175,0.425,ST5_FFDUET_TLS,ST5_ignite_ring,unsafe,unsafe,no,escape,59449,https://wifire-data.sdsc.edu/data//burnpro3d/d/9b/3f/run_9b3f6219-77ca-46d0-a4a8-1f877689ca7c/png/run_9b3f6219-77ca-46d0-a4a8-1f877689ca7c_fuels-dens_2100_000.png +8,175,0.425,ST5_FFDUET_TLS,ST5_ignite_contour,safe,safe,no,inadequate consumption,92120,https://wifire-data.sdsc.edu/data//burnpro3d/d/44/42/run_4442e664-2cb2-4fe8-b303-2a872b23c497/png/run_4442e664-2cb2-4fe8-b303-2a872b23c497_fuels-dens_2100_000.png +2,255,0.425,ST5_FF_DUET,ST5_ignite_contour,safe,safe,marginal,,187467,https://wifire-data.sdsc.edu/data//burnpro3d/d/fa/7c/run_fa7cabcd-b12d-4242-8a12-d16f2e0f18f3/png/run_fa7cabcd-b12d-4242-8a12-d16f2e0f18f3_fuels-dens_2100_000.png +2,255,0.425,ST5_FF_DUET,ST5_ignite_ring,safe,safe,no,inadequate consumption,35376,https://wifire-data.sdsc.edu/data//burnpro3d/d/fa/94/run_fa9431a0-c7e3-4cc7-846d-2672145bdc3e/png/run_fa9431a0-c7e3-4cc7-846d-2672145bdc3e_fuels-dens_2100_000.png +2,255,0.425,ST5_FF_DUET,ST5_ignite_strip,safe,safe,yes,,112865,https://wifire-data.sdsc.edu/data//burnpro3d/d/73/c5/run_73c529fa-afde-42cf-bb8e-2ae1f57309da/png/run_73c529fa-afde-42cf-bb8e-2ae1f57309da_fuels-dens_2100_000.png +5,270,0.425,ST5_FFDUET_TLS,ST5_ignite_strip,safe,safe,yes,,183183,https://wifire-data.sdsc.edu/data//burnpro3d/d/3f/94/run_3f941683-a687-427e-889b-e76063e1b4db/png/run_3f941683-a687-427e-889b-e76063e1b4db_fuels-dens_2100_000.png +5,270,0.425,ST5_FFDUET_TLS,ST5_ignite_ring,safe,safe,no,inadequate consumption,42047,https://wifire-data.sdsc.edu/data//burnpro3d/d/4e/64/run_4e64a73f-b977-4443-a910-00ba201c2e84/png/run_4e64a73f-b977-4443-a910-00ba201c2e84_fuels-dens_2100_000.png +5,270,0.425,ST5_FFDUET_TLS,ST5_ignite_contour,safe,safe,no,inadequate consumption,111905,https://wifire-data.sdsc.edu/data//burnpro3d/d/23/12/run_23120efe-fcf4-48be-8414-a8e84c0adc20/png/run_23120efe-fcf4-48be-8414-a8e84c0adc20_fuels-dens_2100_000.png +2,270,0.425,ST5_FF_DUET,ST5_ignite_contour,safe,safe,marginal,,148777,https://wifire-data.sdsc.edu/data//burnpro3d/d/69/b8/run_69b851ba-bad4-49d9-93cd-145446befe4e/png/run_69b851ba-bad4-49d9-93cd-145446befe4e_fuels-dens_2100_000.png +8,195,0.425,ST5_FFDUET_TLS,ST5_ignite_contour,unsafe,unsafe,no,escape,101812,https://wifire-data.sdsc.edu/data//burnpro3d/d/2e/03/run_2e03aa66-8525-4a3d-a0f7-42c20efde027/png/run_2e03aa66-8525-4a3d-a0f7-42c20efde027_fuels-dens_2100_000.png +2,270,0.425,ST5_FF_DUET,ST5_ignite_ring,safe,safe,no,inadequate consumption,41907,https://wifire-data.sdsc.edu/data//burnpro3d/d/e5/a2/run_e5a28631-70a9-4f33-837a-2f5dbd957a04/png/run_e5a28631-70a9-4f33-837a-2f5dbd957a04_fuels-dens_2100_000.png +5,255,0.425,ST5_FFDUET_TLS,ST5_ignite_strip,safe,safe,yes,,152147,https://wifire-data.sdsc.edu/data//burnpro3d/d/26/91/run_26910a8c-fae5-451d-a95a-46e75ab50594/png/run_26910a8c-fae5-451d-a95a-46e75ab50594_fuels-dens_2100_000.png +5,255,0.425,ST5_FFDUET_TLS,ST5_ignite_ring,safe,safe,no,inadequate consumption,38590,https://wifire-data.sdsc.edu/data//burnpro3d/d/15/9d/run_159d9b3d-6840-4b64-a887-61358be7975c/png/run_159d9b3d-6840-4b64-a887-61358be7975c_fuels-dens_2100_000.png +5,255,0.425,ST5_FFDUET_TLS,ST5_ignite_contour,safe,safe,yes,,89935,https://wifire-data.sdsc.edu/data//burnpro3d/d/e3/25/run_e325de27-9160-4c94-8931-dc27e9b5a58b/png/run_e325de27-9160-4c94-8931-dc27e9b5a58b_fuels-dens_2100_000.png +5,240,0.425,ST5_FFDUET_TLS,ST5_ignite_strip,safe,safe,yes,,118279,https://wifire-data.sdsc.edu/data//burnpro3d/d/93/06/run_93063d71-ea85-4c91-b05c-85066fef2e45/png/run_93063d71-ea85-4c91-b05c-85066fef2e45_fuels-dens_2100_000.png +5,240,0.425,ST5_FFDUET_TLS,ST5_ignite_ring,unsafe,safe,no,inadequate consumption,38538,https://wifire-data.sdsc.edu/data//burnpro3d/d/3e/0b/run_3e0b95a5-36ce-4ad9-8277-cbcca3ef9c0a/png/run_3e0b95a5-36ce-4ad9-8277-cbcca3ef9c0a_fuels-dens_2100_000.png +5,240,0.425,ST5_FFDUET_TLS,ST5_ignite_contour,safe,safe,yes,,96600,https://wifire-data.sdsc.edu/data//burnpro3d/d/8a/ad/run_8aad7807-b69b-4ca7-b138-59c280e19e48/png/run_8aad7807-b69b-4ca7-b138-59c280e19e48_fuels-dens_2100_000.png +5,225,0.425,ST5_FFDUET_TLS,ST5_ignite_strip,unsafe,unsafe,No,Escaped fire,117624,https://wifire-data.sdsc.edu/data//burnpro3d/d/74/02/run_7402b29c-4622-49dd-ac33-fa46f34c27e1/png/run_7402b29c-4622-49dd-ac33-fa46f34c27e1_fuels-dens_2100_000.png +5,225,0.425,ST5_FFDUET_TLS,ST5_ignite_ring,unsafe,safe,No,Inadequate consumption,37330,https://wifire-data.sdsc.edu/data//burnpro3d/d/a8/cb/run_a8cb5497-abb5-4ef1-921b-e32cd09d464d/png/run_a8cb5497-abb5-4ef1-921b-e32cd09d464d_fuels-dens_2100_000.png +5,225,0.425,ST5_FFDUET_TLS,ST5_ignite_contour,safe,safe,yes,,93220,https://wifire-data.sdsc.edu/data//burnpro3d/d/50/f7/run_50f713ef-456d-46eb-a88a-b4d96af2cac6/png/run_50f713ef-456d-46eb-a88a-b4d96af2cac6_fuels-dens_2100_000.png +5,195,0.425,ST5_FFDUET_TLS,ST5_ignite_strip,safe,safe,yes,,115967,https://wifire-data.sdsc.edu/data//burnpro3d/d/64/ce/run_64ce3a13-d049-4c86-ab50-dc0fa779a5f9/png/run_64ce3a13-d049-4c86-ab50-dc0fa779a5f9_fuels-dens_2100_000.png +5,195,0.425,ST5_FFDUET_TLS,ST5_ignite_ring,unsafe,unsafe,No,Inadequate consumption,57444,https://wifire-data.sdsc.edu/data//burnpro3d/d/99/0e/run_990e4447-a181-42d7-ad67-59cfea38b5b9/png/run_990e4447-a181-42d7-ad67-59cfea38b5b9_fuels-dens_2100_000.png +5,195,0.425,ST5_FFDUET_TLS,ST5_ignite_contour,safe,safe,Yes,,97067,https://wifire-data.sdsc.edu/data//burnpro3d/d/31/03/run_310396d7-3f00-40ef-a1c1-f3ed4b9ff288/png/run_310396d7-3f00-40ef-a1c1-f3ed4b9ff288_fuels-dens_2100_000.png +2,270,0.425,ST5_FF_DUET,ST5_ignite_strip,safe,safe,Yes,,108702,https://wifire-data.sdsc.edu/data//burnpro3d/d/4c/b3/run_4cb3c309-402b-4ffe-8940-dec45761b1d7/png/run_4cb3c309-402b-4ffe-8940-dec45761b1d7_fuels-dens_2100_000.png +8,240,0.425,ST5_FFDUET_Over10m,ST5_ignite_contour,safe,safe,Yes,,102273,https://wifire-data.sdsc.edu/data//burnpro3d/d/bf/cd/run_bfcdb7e0-60d4-4767-8685-fb632fee55ed/png/run_bfcdb7e0-60d4-4767-8685-fb632fee55ed_fuels-dens_2100_000.png +5,255,0.425,ST5_FFDUET_Over10m,ST5_ignite_strip,safe,safe,Yes,,140567,https://wifire-data.sdsc.edu/data//burnpro3d/d/d7/3f/run_d73f5e54-f3ce-4c61-9513-49baefe48cfe/png/run_d73f5e54-f3ce-4c61-9513-49baefe48cfe_fuels-dens_2100_000.png +3,180,0.425,ST5_FFDUET_Over10m,ST5_ignite_contour,safe,safe,Yes,,142830,https://wifire-data.sdsc.edu/data//burnpro3d/d/c6/d5/run_c6d5e6cb-b9f0-4a42-94bf-a0606e6138af/png/run_c6d5e6cb-b9f0-4a42-94bf-a0606e6138af_fuels-dens_2100_000.png +3,195,0.425,ST5_FFDUET_Over10m,ST5_ignite_contour,safe,safe,Yes,,92085,https://wifire-data.sdsc.edu/data//burnpro3d/d/77/39/run_7739e725-7775-4674-86a0-b7e79ff43563/png/run_7739e725-7775-4674-86a0-b7e79ff43563_fuels-dens_2100_000.png +5,225,0.425,ST5_FFDUET_Over10m,ST5_ignite_ring,unsafe,unsafe,No,Inadequate Consumption,38627,https://wifire-data.sdsc.edu/data//burnpro3d/d/a3/6a/run_a36aff04-f226-49e4-aed3-093db4e356eb/png/run_a36aff04-f226-49e4-aed3-093db4e356eb_fuels-dens_2100_000.png +5,225,0.425,ST5_FFDUET_Over10m,ST5_ignite_contour,safe,safe,Yes,,99506,https://wifire-data.sdsc.edu/data//burnpro3d/d/de/3a/run_de3a489a-a12e-4acc-9745-27afccd4ebe5/png/run_de3a489a-a12e-4acc-9745-27afccd4ebe5_fuels-dens_2100_000.png +3,195,0.425,ST5_FFDUET_Over10m,ST5_ignite_ring,safe,safe,No,Inadequate consumption,36512,https://wifire-data.sdsc.edu/data//burnpro3d/d/08/3d/run_083d9f32-80ef-45d0-ba61-9b3a7a6e5a62/png/run_083d9f32-80ef-45d0-ba61-9b3a7a6e5a62_fuels-dens_2100_000.png +2,195,0.425,ST5_FFDUET_Over10m,ST5_ignite_strip,safe,safe,Yes,,109477,https://wifire-data.sdsc.edu/data//burnpro3d/d/d2/c4/run_d2c42665-1be6-4db2-bb4a-2195139b5166/png/run_d2c42665-1be6-4db2-bb4a-2195139b5166_fuels-dens_2100_000.png +5,195,0.425,ST5_FFDUET_Over10m,ST5_ignite_strip,safe,safe,Yes,,170919,https://wifire-data.sdsc.edu/data//burnpro3d/d/07/a1/run_07a1ac75-3023-4586-8f5d-ac3ee6acee2a/png/run_07a1ac75-3023-4586-8f5d-ac3ee6acee2a_fuels-dens_2100_000.png +5,225,0.425,ST5_FFDUET_Over10m,ST5_ignite_strip,safe,safe,Yes,,27771,https://wifire-data.sdsc.edu/data//burnpro3d/d/18/ef/run_18ef55f3-2c9d-44e7-9c6d-e6839ef7d89b/png/run_18ef55f3-2c9d-44e7-9c6d-e6839ef7d89b_fuels-dens_2100_000.png +2,195,0.425,ST5_FFDUET_Over10m,ST5_ignite_ring,safe,safe,No,Inadequate consumption,73941,https://wifire-data.sdsc.edu/data//burnpro3d/d/1a/8c/run_1a8c8037-def9-4de3-8519-4724736fffbf/png/run_1a8c8037-def9-4de3-8519-4724736fffbf_fuels-dens_2100_000.png +12,255,0.425,ST5_FF_DUET,ST5_ignite_contour,safe,safe,Yes,,97436,https://wifire-data.sdsc.edu/data//burnpro3d/d/0a/9d/run_0a9d6409-4851-49cc-a1d6-83951669c141/png/run_0a9d6409-4851-49cc-a1d6-83951669c141_fuels-dens_2100_000.png +5,195,0.425,ST5_FFDUET_Over10m,ST5_ignite_ring,unsafe,safe,No,Inadequate Consumption,167158,https://wifire-data.sdsc.edu/data//burnpro3d/d/92/a9/run_92a9d098-40cf-4541-b4cb-3da1f50c6d60/png/run_92a9d098-40cf-4541-b4cb-3da1f50c6d60_fuels-dens_2100_000.png +5,195,0.425,ST5_FFDUET_Over10m,ST5_ignite_contour,safe,safe,Yes,,96532,https://wifire-data.sdsc.edu/data//burnpro3d/d/82/be/run_82bebbfe-0f62-44c3-849c-98661c0d0344/png/run_82bebbfe-0f62-44c3-849c-98661c0d0344_fuels-dens_2100_000.png +12,255,0.425,ST5_FF_DUET,ST5_ignite_ring,unsafe,unsafe,No,Escape,119165,https://wifire-data.sdsc.edu/data//burnpro3d/d/1e/68/run_1e68beed-bbf2-413d-bf8e-dbd56ed58200/png/run_1e68beed-bbf2-413d-bf8e-dbd56ed58200_fuels-dens_2100_000.png +12,255,0.425,ST5_FF_DUET,ST5_ignite_strip,unsafe,unsafe,No,Escape,142699,https://wifire-data.sdsc.edu/data//burnpro3d/d/36/dd/run_36dd40c8-0c5d-414b-8924-26122c87d159/png/run_36dd40c8-0c5d-414b-8924-26122c87d159_fuels-dens_2100_000.png +8,240,0.425,ST5_FF_DUET,ST5_ignite_contour,safe,safe,Yes,,101189,https://wifire-data.sdsc.edu/data//burnpro3d/d/3b/d3/run_3bd394c9-6bf1-4462-9aa0-d6629999b7ef/png/run_3bd394c9-6bf1-4462-9aa0-d6629999b7ef_fuels-dens_2100_000.png +2,195,0.425,ST5_FFDUET_Over10m,ST5_ignite_contour,safe,safe,marginal,,84107,https://wifire-data.sdsc.edu/data//burnpro3d/d/bd/04/run_bd043223-7080-409e-a25f-58f0d5105878/png/run_bd043223-7080-409e-a25f-58f0d5105878_fuels-dens_2100_000.png +3,225,0.425,ST5_FFDUET_Over10m,ST5_ignite_contour,other,other,,,91760,https://wifire-data.sdsc.edu/data//burnpro3d/d/40/ab/run_40abbab0-00d6-456b-bee2-c8d4c37347b9/png/run_40abbab0-00d6-456b-bee2-c8d4c37347b9_fuels-dens_2100_000.png +12,240,0.425,ST5_FF_DUET,ST5_ignite_strip,other,other,,,135548,https://wifire-data.sdsc.edu/data//burnpro3d/d/24/ad/run_24ad25b5-da5a-4237-b496-cab175ece225/png/run_24ad25b5-da5a-4237-b496-cab175ece225_fuels-dens_2100_000.png +12,240,0.425,ST5_FF_DUET,ST5_ignite_contour,other,other,,,108827,https://wifire-data.sdsc.edu/data//burnpro3d/d/65/33/run_6533c598-dd12-4e5c-9a6b-8ac583db785c/png/run_6533c598-dd12-4e5c-9a6b-8ac583db785c_fuels-dens_2100_000.png +2,225,0.425,ST5_FFDUET_Over10m,ST5_ignite_ring,safe,safe,no,Inadequate consumption,30440,https://wifire-data.sdsc.edu/data//burnpro3d/d/b7/67/run_b767d4d0-bb43-4621-b258-c850531db4f4/png/run_b767d4d0-bb43-4621-b258-c850531db4f4_fuels-dens_2100_000.png +12,225,0.425,ST5_FF_DUET,ST5_ignite_contour,unsafe,unsafe,No,Escaped fire,149091,https://wifire-data.sdsc.edu/data//burnpro3d/d/26/7d/run_267d541d-a56f-4eef-80f6-7b46e07f07c5/png/run_267d541d-a56f-4eef-80f6-7b46e07f07c5_fuels-dens_2100_000.png +12,225,0.425,ST5_FF_DUET,ST5_ignite_ring,unsafe,unsafe,No,Esacped Fire,105319,https://wifire-data.sdsc.edu/data//burnpro3d/d/e8/78/run_e878add9-7f09-4a67-83f6-5b31019e9909/png/run_e878add9-7f09-4a67-83f6-5b31019e9909_fuels-dens_2100_000.png +2,225,0.425,ST5_FFDUET_Over10m,ST5_ignite_contour,safe,safe,Yes,,92191,https://wifire-data.sdsc.edu/data//burnpro3d/d/ed/08/run_ed08ed48-3d67-4e0b-8fda-380ebd153f5f/png/run_ed08ed48-3d67-4e0b-8fda-380ebd153f5f_fuels-dens_2100_000.png +5,240,0.425,ST5_FF_DUET,ST5_ignite_ring,safe,safe,No,Inadequate consumption,38262,https://wifire-data.sdsc.edu/data//burnpro3d/d/52/e4/run_52e44e79-026f-4223-ba64-1ddaaa3b8330/png/run_52e44e79-026f-4223-ba64-1ddaaa3b8330_fuels-dens_2100_000.png +12,225,0.425,ST5_FF_DUET,ST5_ignite_strip,other,unsafe,No,Escaped fire,33539,https://wifire-data.sdsc.edu/data//burnpro3d/d/97/c0/run_97c08099-96d7-4662-a460-0896a2062d26/png/run_97c08099-96d7-4662-a460-0896a2062d26_fuels-dens_2100_000.png +12,240,0.425,ST5_FF_DUET,ST5_ignite_ring,unsafe,unsafe,No,Escaped fire,34755,https://wifire-data.sdsc.edu/data//burnpro3d/d/d2/7d/run_d27d1f3a-31f5-406e-94b6-086fec885329/png/run_d27d1f3a-31f5-406e-94b6-086fec885329_fuels-dens_2100_000.png +5,255,0.425,ST5_FFDUET_Over10m,ST5_ignite_ring,safe,safe,No,Inadequate consumption,18837,https://wifire-data.sdsc.edu/data//burnpro3d/d/d2/ee/run_d2ee0e5d-6480-4ce6-99f1-e621a9958e93/png/run_d2ee0e5d-6480-4ce6-99f1-e621a9958e93_fuels-dens_2100_000.png +3,255,0.425,ST5_FFDUET_Over10m,ST5_ignite_ring,other,other,,,116327,https://wifire-data.sdsc.edu/data//burnpro3d/d/08/9e/run_089ebcaa-e1a8-4095-aa62-72fd619f36ff/png/run_089ebcaa-e1a8-4095-aa62-72fd619f36ff_fuels-dens_2100_000.png +3,180,0.425,ST5_FFDUET_Over10m,ST5_ignite_ring,safe,safe,No,Inadequate consumption,42340,https://wifire-data.sdsc.edu/data//burnpro3d/d/03/39/run_0339acc2-3eb4-4b61-b050-4c73d50ead4a/png/run_0339acc2-3eb4-4b61-b050-4c73d50ead4a_fuels-dens_2100_000.png +3,180,0.425,ST5_FFDUET_Over10m,ST5_ignite_strip,safe,safe,Yes,,111107,https://wifire-data.sdsc.edu/data//burnpro3d/d/b2/b2/run_b2b27ad5-a340-4550-bb0f-3ec6211be90d/png/run_b2b27ad5-a340-4550-bb0f-3ec6211be90d_fuels-dens_2100_000.png +5,240,0.425,ST5_FFDUET_Over10m,ST5_ignite_strip,safe,safe,Yes,,116449,https://wifire-data.sdsc.edu/data//burnpro3d/d/90/4f/run_904f0975-49f1-4bf1-8967-e5d7a9b80d25/png/run_904f0975-49f1-4bf1-8967-e5d7a9b80d25_fuels-dens_2100_000.png +5,240,0.425,ST5_FFDUET_Over10m,ST5_ignite_ring,safe,safe,No,Inadequate consumption,139530,https://wifire-data.sdsc.edu/data//burnpro3d/d/66/89/run_6689dda2-d1fe-43ce-bcb0-c01354ef7a17/png/run_6689dda2-d1fe-43ce-bcb0-c01354ef7a17_fuels-dens_2100_000.png +5,240,0.425,ST5_FFDUET_Over10m,ST5_ignite_contour,other,other,,,160112,https://wifire-data.sdsc.edu/data//burnpro3d/d/b2/a6/run_b2a694ac-9240-4d2a-aed3-0454745bac0a/png/run_b2a694ac-9240-4d2a-aed3-0454745bac0a_fuels-dens_2100_000.png +5,255,0.425,ST5_FFDUET_Over10m,ST5_ignite_contour,safe,safe,Yes,,89000,https://wifire-data.sdsc.edu/data//burnpro3d/d/7f/a5/run_7fa5b47e-92f7-44e9-87fe-b183052e7054/png/run_7fa5b47e-92f7-44e9-87fe-b183052e7054_fuels-dens_2100_000.png +2,225,0.425,ST5_FFDUET_Over10m,ST5_ignite_strip,safe,safe,Yes,,109484,https://wifire-data.sdsc.edu/data//burnpro3d/d/4d/fe/run_4dfeec34-1a34-4eff-9436-a2b26fb6c415/png/run_4dfeec34-1a34-4eff-9436-a2b26fb6c415_fuels-dens_2100_000.png +2,180,0.425,ST5_FFDUET_Over10m,ST5_ignite_strip,safe,safe,Yes,,108837,https://wifire-data.sdsc.edu/data//burnpro3d/d/2c/8b/run_2c8bf38f-41f7-4b3f-8a67-46f62e7c9824/png/run_2c8bf38f-41f7-4b3f-8a67-46f62e7c9824_fuels-dens_2100_000.png +5,180,0.425,ST5_FFDUET_Over10m,ST5_ignite_ring,unsafe,unsafe,No,Inadequate consumption,50770,https://wifire-data.sdsc.edu/data//burnpro3d/d/43/e0/run_43e0d353-c086-4c4e-908d-37acd82a21bd/png/run_43e0d353-c086-4c4e-908d-37acd82a21bd_fuels-dens_2100_000.png +5,255,0.425,ST5_FF_DUET,ST5_ignite_ring,safe,safe,No,Inadequate consumption,111865,https://wifire-data.sdsc.edu/data//burnpro3d/d/35/12/run_351212c2-5b7a-473b-a8d5-93da52ea86b3/png/run_351212c2-5b7a-473b-a8d5-93da52ea86b3_fuels-dens_2100_000.png +2,175,0.425,ST5_FFDUET_Over10m,ST5_ignite_strip,safe,safe,Yes,,152525,https://wifire-data.sdsc.edu/data//burnpro3d/d/9a/b7/run_9ab75b40-7f36-4b56-8a96-06362de1183f/png/run_9ab75b40-7f36-4b56-8a96-06362de1183f_fuels-dens_2100_000.png +2,175,0.425,ST5_FFDUET_Over10m,ST5_ignite_ring,safe,safe,No,Inadequate consumption,45842,https://wifire-data.sdsc.edu/data//burnpro3d/d/e4/5d/run_e45dbe3c-2141-49f3-be54-1f534403b472/png/run_e45dbe3c-2141-49f3-be54-1f534403b472_fuels-dens_2100_000.png +2,175,0.425,ST5_FFDUET_Over10m,ST5_ignite_contour,safe,safe,Marginal,,87755,https://wifire-data.sdsc.edu/data//burnpro3d/d/ac/bd/run_acbd5cc6-b413-4a6e-8e78-e0cad754d557/png/run_acbd5cc6-b413-4a6e-8e78-e0cad754d557_fuels-dens_2100_000.png +8,195,0.425,ST5_FF_DUET,ST5_ignite_strip,unsafe,unsafe,No,Escaped Fire,81668,https://wifire-data.sdsc.edu/data//burnpro3d/d/27/3f/run_273fbd19-9d06-4a55-a467-26ff8c61053f/png/run_273fbd19-9d06-4a55-a467-26ff8c61053f_fuels-dens_2100_000.png +8,195,0.425,ST5_FF_DUET,ST5_ignite_ring,unsafe,unsafe,No,Inadequate consumption ,58518,https://wifire-data.sdsc.edu/data//burnpro3d/d/36/dc/run_36dcdce4-c2a7-46c2-b9b1-841298a44627/png/run_36dcdce4-c2a7-46c2-b9b1-841298a44627_fuels-dens_2100_000.png +5,255,0.425,ST5_FF_DUET,ST5_ignite_contour,safe,safe,Yes,,88998,https://wifire-data.sdsc.edu/data//burnpro3d/d/49/18/run_4918467d-33b4-4fa1-a8ce-24c9a91d9715/png/run_4918467d-33b4-4fa1-a8ce-24c9a91d9715_fuels-dens_2100_000.png +3,255,0.425,ST5_FFDUET_Over10m,ST5_ignite_contour,safe,safe,Marginal,,168896,https://wifire-data.sdsc.edu/data//burnpro3d/d/06/d4/run_06d48e76-db94-420f-b6e4-069b6ac6284a/png/run_06d48e76-db94-420f-b6e4-069b6ac6284a_fuels-dens_2100_000.png +8,180,0.425,ST5_FF_DUET,ST5_ignite_ring,unsafe,unsafe,No,Escaped fire/inadequate consumption,183017,https://wifire-data.sdsc.edu/data//burnpro3d/d/dc/3e/run_dc3e2e6c-0665-41d6-806a-afb474aa39c9/png/run_dc3e2e6c-0665-41d6-806a-afb474aa39c9_fuels-dens_2100_000.png +3,270,0.425,ST5_FFDUET_Over10m,ST5_ignite_strip,safe,safe,Yes,,138178,https://wifire-data.sdsc.edu/data//burnpro3d/d/e0/89/run_e0894bbf-2037-464d-b8e9-fcc25afb8770/png/run_e0894bbf-2037-464d-b8e9-fcc25afb8770_fuels-dens_2100_000.png +3,270,0.425,ST5_FFDUET_Over10m,ST5_ignite_ring,safe,safe,No,Inadequate consumption,104828,https://wifire-data.sdsc.edu/data//burnpro3d/d/c7/f7/run_c7f78d08-e774-463a-922c-211a52245766/png/run_c7f78d08-e774-463a-922c-211a52245766_fuels-dens_2100_000.png +3,270,0.425,ST5_FFDUET_Over10m,ST5_ignite_contour,safe,safe,Yes,,89981,https://wifire-data.sdsc.edu/data//burnpro3d/d/0a/9d/run_0a9d892d-20f9-43ac-8a26-38ba8f6fa057/png/run_0a9d892d-20f9-43ac-8a26-38ba8f6fa057_fuels-dens_2100_000.png +8,180,0.425,ST5_FF_DUET,ST5_ignite_strip,unsafe,unsafe,No,Escaped fire,144988,https://wifire-data.sdsc.edu/data//burnpro3d/d/44/77/run_4477acd9-7245-4801-b7d9-ff9e7a2f51ce/png/run_4477acd9-7245-4801-b7d9-ff9e7a2f51ce_fuels-dens_2100_000.png +5,270,0.425,ST5_FF_DUET,ST5_ignite_contour,safe,safe,Marginal,,74096,https://wifire-data.sdsc.edu/data//burnpro3d/d/50/65/run_5065659d-bd1b-421d-aad0-ee6264db313b/png/run_5065659d-bd1b-421d-aad0-ee6264db313b_fuels-dens_2100_000.png +8,195,0.425,ST5_FF_DUET,ST5_ignite_contour,unsafe,unsafe,No,Escaped fire,102336,https://wifire-data.sdsc.edu/data//burnpro3d/d/97/12/run_971237ab-8d00-42e8-8ec6-5abd96e63ae3/png/run_971237ab-8d00-42e8-8ec6-5abd96e63ae3_fuels-dens_2100_000.png +5,180,0.425,ST5_FFDUET_Over10m,ST5_ignite_strip,safe,safe,Yes,,149640,https://wifire-data.sdsc.edu/data//burnpro3d/d/55/37/run_55377f74-03a4-4c3d-a8ec-dc26a5249213/png/run_55377f74-03a4-4c3d-a8ec-dc26a5249213_fuels-dens_2100_000.png +3,240,0.425,ST5_FFDUET_Over10m,ST5_ignite_strip,safe,safe,Yes,,112003,https://wifire-data.sdsc.edu/data//burnpro3d/d/36/25/run_36258ef4-9c3c-4bc4-bfe5-9f1840eef891/png/run_36258ef4-9c3c-4bc4-bfe5-9f1840eef891_fuels-dens_2100_000.png +3,240,0.425,ST5_FFDUET_Over10m,ST5_ignite_contour,safe,safe,Yes,,90556,https://wifire-data.sdsc.edu/data//burnpro3d/d/0d/83/run_0d8308d9-ee07-454b-b4b7-5b343a298714/png/run_0d8308d9-ee07-454b-b4b7-5b343a298714_fuels-dens_2100_000.png +5,180,0.425,ST5_FFDUET_Over10m,ST5_ignite_contour,safe,safe,Yes,,93214,https://wifire-data.sdsc.edu/data//burnpro3d/d/3b/bc/run_3bbc2cde-d982-4ff3-85b4-b2397f712390/png/run_3bbc2cde-d982-4ff3-85b4-b2397f712390_fuels-dens_2100_000.png +2,180,0.425,ST5_FFDUET_Over10m,ST5_ignite_ring,safe,safe,No,Inadequate consumption,42187,https://wifire-data.sdsc.edu/data//burnpro3d/d/50/50/run_5050525f-2965-49b1-b74a-1dce866abfad/png/run_5050525f-2965-49b1-b74a-1dce866abfad_fuels-dens_2100_000.png +3,225,0.425,ST5_FFDUET_Over10m,ST5_ignite_ring,safe,safe,No,Inadequate consumption,173588,https://wifire-data.sdsc.edu/data//burnpro3d/d/41/9f/run_419fafec-f4bc-4ceb-bc4b-8545b538b1b5/png/run_419fafec-f4bc-4ceb-bc4b-8545b538b1b5_fuels-dens_2100_000.png +8,225,0.425,ST5_FF_DUET,ST5_ignite_strip,other,other,,,128670,https://wifire-data.sdsc.edu/data//burnpro3d/d/4f/f3/run_4ff39f0c-46c4-4287-b916-b3848cbf307a/png/run_4ff39f0c-46c4-4287-b916-b3848cbf307a_fuels-dens_2100_000.png +3,225,0.425,ST5_FFDUET_Over10m,ST5_ignite_strip,safe,safe,Yes,,111904,https://wifire-data.sdsc.edu/data//burnpro3d/d/a2/42/run_a2428358-e379-4265-b2f6-11dec6e7d2c5/png/run_a2428358-e379-4265-b2f6-11dec6e7d2c5_fuels-dens_2100_000.png +2,180,0.425,ST5_FFDUET_Over10m,ST5_ignite_contour,safe,safe,Yes,,87758,https://wifire-data.sdsc.edu/data//burnpro3d/d/06/77/run_06778665-e2ab-408b-aa16-a40ded592814/png/run_06778665-e2ab-408b-aa16-a40ded592814_fuels-dens_2100_000.png +3,240,0.425,ST5_FFDUET_Over10m,ST5_ignite_ring,safe,safe,No,Innadequate consumption,28756,https://wifire-data.sdsc.edu/data//burnpro3d/d/a9/8b/run_a98bd726-3b34-489c-a2c2-d765364b0608/png/run_a98bd726-3b34-489c-a2c2-d765364b0608_fuels-dens_2100_000.png +8,225,0.425,ST5_FF_DUET,ST5_ignite_ring,unsafe,unsafe,No,Escaped fire/inadequate consumption,63031,https://wifire-data.sdsc.edu/data//burnpro3d/d/97/86/run_9786964f-19de-483d-87e2-e119629feb9c/png/run_9786964f-19de-483d-87e2-e119629feb9c_fuels-dens_2100_000.png +5,175,0.425,ST5_FFDUET_Over10m,ST5_ignite_strip,safe,safe,Yes,,98376,https://wifire-data.sdsc.edu/data//burnpro3d/d/11/da/run_11daaec7-4e33-4738-ac74-b294285094b3/png/run_11daaec7-4e33-4738-ac74-b294285094b3_fuels-dens_2100_000.png +5,175,0.425,ST5_FFDUET_Over10m,ST5_ignite_ring,safe,safe,No,Inadequate consumption,167135,https://wifire-data.sdsc.edu/data//burnpro3d/d/70/49/run_70497130-8a17-4948-a8da-99ca529bbdbc/png/run_70497130-8a17-4948-a8da-99ca529bbdbc_fuels-dens_2100_000.png +5,175,0.425,ST5_FFDUET_Over10m,ST5_ignite_contour,safe,safe,Yes,,141563,https://wifire-data.sdsc.edu/data//burnpro3d/d/72/bc/run_72bc2993-1453-4527-a93c-65210f95d1f8/png/run_72bc2993-1453-4527-a93c-65210f95d1f8_fuels-dens_2100_000.png +12,270,0.425,ST5_FF_DUET,ST5_ignite_ring,unsafe,safe,No,Ring fire under high wind,81345,https://wifire-data.sdsc.edu/data//burnpro3d/d/bd/9f/run_bd9f099f-7112-4e70-b76d-bd2d38681f3e/png/run_bd9f099f-7112-4e70-b76d-bd2d38681f3e_fuels-dens_2100_000.png +12,270,0.425,ST5_FF_DUET,ST5_ignite_strip,safe,safe,Yes,,116456,https://wifire-data.sdsc.edu/data//burnpro3d/d/ec/ff/run_ecfff243-dda5-4656-9432-4120b3627321/png/run_ecfff243-dda5-4656-9432-4120b3627321_fuels-dens_2100_000.png +5,240,0.425,ST5_FF_DUET,ST5_ignite_strip,safe,safe,Yes,,108863,https://wifire-data.sdsc.edu/data//burnpro3d/d/b0/02/run_b002b2f8-5b5c-4be0-9b89-86b4a49fbabd/png/run_b002b2f8-5b5c-4be0-9b89-86b4a49fbabd_fuels-dens_2100_000.png +8,225,0.425,ST5_FF_DUET,ST5_ignite_contour,unsafe,unsafe,No,Escaped fire,106483,https://wifire-data.sdsc.edu/data//burnpro3d/d/b1/9e/run_b19ee4f1-627b-4ea3-88e2-9a53d9124623/png/run_b19ee4f1-627b-4ea3-88e2-9a53d9124623_fuels-dens_2100_000.png +5,240,0.425,ST5_FF_DUET,ST5_ignite_contour,safe,safe,Yes,,94953,https://wifire-data.sdsc.edu/data//burnpro3d/d/63/b0/run_63b0eeed-b15c-4be9-a657-bf3950fbea98/png/run_63b0eeed-b15c-4be9-a657-bf3950fbea98_fuels-dens_2100_000.png +3,255,0.425,ST5_FFDUET_Over10m,ST5_ignite_strip,safe,safe,yes,,167228,https://wifire-data.sdsc.edu/data//burnpro3d/d/35/77/run_35776bb7-9716-4c41-8797-b34121186951/png/run_35776bb7-9716-4c41-8797-b34121186951_fuels-dens_2100_000.png +3,175,0.425,ST5_FFDUET_Over10m,ST5_ignite_strip,safe,safe,Yes,,139518,https://wifire-data.sdsc.edu/data//burnpro3d/d/32/2d/run_322d5316-05ad-434a-b866-b1fb39240a1a/png/run_322d5316-05ad-434a-b866-b1fb39240a1a_fuels-dens_2100_000.png +8,180,0.425,ST5_FFDUET_Over10m,ST5_ignite_strip,unsafe,unsafe,No,Escaped fire,76046,https://wifire-data.sdsc.edu/data//burnpro3d/d/08/06/run_0806495c-6b4f-485f-bb63-ad05c9cc7d99/png/run_0806495c-6b4f-485f-bb63-ad05c9cc7d99_fuels-dens_2100_000.png +8,180,0.425,ST5_FFDUET_Over10m,ST5_ignite_ring,unsafe,unsafe,Escape/Inadequate consumption,,31235,https://wifire-data.sdsc.edu/data//burnpro3d/d/75/d5/run_75d5178a-cb49-423a-99a0-a1571a911777/png/run_75d5178a-cb49-423a-99a0-a1571a911777_fuels-dens_2100_000.png +8,180,0.425,ST5_FFDUET_Over10m,ST5_ignite_contour,safe,other,Marginal,,96998,https://wifire-data.sdsc.edu/data//burnpro3d/d/5e/44/run_5e441cb2-b901-4b15-99dc-c6a236999460/png/run_5e441cb2-b901-4b15-99dc-c6a236999460_fuels-dens_2100_000.png +8,240,0.425,ST5_FF_DUET,ST5_ignite_strip,safe,safe,Yes,,34476,https://wifire-data.sdsc.edu/data//burnpro3d/d/e5/9e/run_e59effac-ae4f-4fbd-83c5-feac171c02f2/png/run_e59effac-ae4f-4fbd-83c5-feac171c02f2_fuels-dens_2100_000.png +8,240,0.425,ST5_FF_DUET,ST5_ignite_ring,unsafe,safe,No,Inadequate consumption/Ring fire under high wind,54329,https://wifire-data.sdsc.edu/data//burnpro3d/d/17/3d/run_173d4ff0-760d-438e-b7f1-d28dbbfb842b/png/run_173d4ff0-760d-438e-b7f1-d28dbbfb842b_fuels-dens_2100_000.png +12,175,0.425,ST5_FF_DUET,ST5_ignite_contour,unsafe,unsafe,No,Escaped fire,117683,https://wifire-data.sdsc.edu/data//burnpro3d/d/b8/d8/run_b8d8cdff-f4b7-4bbe-bd66-0b0ad42ac25f/png/run_b8d8cdff-f4b7-4bbe-bd66-0b0ad42ac25f_fuels-dens_2100_000.png +8,175,0.425,ST5_FF_DUET,ST5_ignite_ring,unsafe,unsafe,No,Ring fire under high wind/Inadequate consumption,66205,https://wifire-data.sdsc.edu/data//burnpro3d/d/ce/37/run_ce3739e6-62aa-4096-bf43-780ed55f8529/png/run_ce3739e6-62aa-4096-bf43-780ed55f8529_fuels-dens_2100_000.png +12,175,0.425,ST5_FF_DUET,ST5_ignite_ring,unsafe,unsafe,No,Ring fire under high wind/ Escape,113869,https://wifire-data.sdsc.edu/data//burnpro3d/d/bd/a6/run_bda67b72-f4fd-484a-87fb-ef19271c1de6/png/run_bda67b72-f4fd-484a-87fb-ef19271c1de6_fuels-dens_2100_000.png +8,175,0.425,ST5_FFDUET_Over10m,ST5_ignite_ring,unsafe,safe,No,Ring fire under high wind/Escape,81017,https://wifire-data.sdsc.edu/data//burnpro3d/d/f9/c9/run_f9c97be9-9a75-45dc-aabd-c4a3d2a8e56f/png/run_f9c97be9-9a75-45dc-aabd-c4a3d2a8e56f_fuels-dens_2100_000.png +8,175,0.425,ST5_FFDUET_Over10m,ST5_ignite_contour,safe,safe,Yes,,95188,https://wifire-data.sdsc.edu/data//burnpro3d/d/cd/f0/run_cdf02aa8-2d72-453b-98e1-2332b5202a9b/png/run_cdf02aa8-2d72-453b-98e1-2332b5202a9b_fuels-dens_2100_000.png +8,175,0.425,ST5_FF_DUET,ST5_ignite_contour,safe,safe,Marginal,,95812,https://wifire-data.sdsc.edu/data//burnpro3d/d/a1/68/run_a1682ff4-4466-49d4-a05c-4b4f91a66f4e/png/run_a1682ff4-4466-49d4-a05c-4b4f91a66f4e_fuels-dens_2100_000.png +2,270,0.425,ST5_FFDUET_Over10m,ST5_ignite_contour,safe,safe,Yes,,90655,https://wifire-data.sdsc.edu/data//burnpro3d/d/2b/d4/run_2bd4e209-e775-44d6-9972-0765568b61fb/png/run_2bd4e209-e775-44d6-9972-0765568b61fb_fuels-dens_2100_000.png +5,195,0.425,ST5_FF_DUET,ST5_ignite_contour,safe,safe,Yes,,98274,https://wifire-data.sdsc.edu/data//burnpro3d/d/a4/b0/run_a4b04dee-53d7-4788-ad3d-8b4b873f07ca/png/run_a4b04dee-53d7-4788-ad3d-8b4b873f07ca_fuels-dens_2100_000.png +5,195,0.425,ST5_FF_DUET,ST5_ignite_ring,safe,unsafe,No,Escape,82687,https://wifire-data.sdsc.edu/data//burnpro3d/d/49/0a/run_490a0e96-6c0d-4007-9e44-59cf3c5be031/png/run_490a0e96-6c0d-4007-9e44-59cf3c5be031_fuels-dens_2100_000.png +8,175,0.425,ST5_FFDUET_Over10m,ST5_ignite_strip,unsafe,unsafe,No,Escape,62693,https://wifire-data.sdsc.edu/data//burnpro3d/d/a5/ea/run_a5ea0ce4-d11e-4031-9bc6-33d6ed480eb8/png/run_a5ea0ce4-d11e-4031-9bc6-33d6ed480eb8_fuels-dens_2100_000.png +5,195,0.425,ST5_FF_DUET,ST5_ignite_strip,safe,safe,Yes,,117343,https://wifire-data.sdsc.edu/data//burnpro3d/d/66/90/run_669048c9-b3a4-4838-898d-1e5f807cc2db/png/run_669048c9-b3a4-4838-898d-1e5f807cc2db_fuels-dens_2100_000.png +8,175,0.425,ST5_FF_DUET,ST5_ignite_strip,unsafe,unsafe,No,Escape,117919,https://wifire-data.sdsc.edu/data//burnpro3d/d/96/a4/run_96a4a32f-a2cc-4858-a78e-acd2d6a468b6/png/run_96a4a32f-a2cc-4858-a78e-acd2d6a468b6_fuels-dens_2100_000.png +8,195,0.425,ST5_FFDUET_Over10m,ST5_ignite_contour,safe,safe,yes,,100854,https://wifire-data.sdsc.edu/data//burnpro3d/d/51/81/run_51812454-3f29-4da5-91c4-93b1eedd54ee/png/run_51812454-3f29-4da5-91c4-93b1eedd54ee_fuels-dens_2100_000.png +8,225,0.425,ST5_FFDUET_Over10m,ST5_ignite_strip,unsafe,unsafe,No,Escape,118767,https://wifire-data.sdsc.edu/data//burnpro3d/d/9e/dd/run_9eddd86f-c620-4108-8a1b-6daad65b83a6/png/run_9eddd86f-c620-4108-8a1b-6daad65b83a6_fuels-dens_2100_000.png +8,225,0.425,ST5_FFDUET_Over10m,ST5_ignite_ring,unsafe,unsafe,No,Escape/Inadequate consumption,67448,https://wifire-data.sdsc.edu/data//burnpro3d/d/cf/5d/run_cf5d6c66-f66a-4e66-a096-7056c14d9e9b/png/run_cf5d6c66-f66a-4e66-a096-7056c14d9e9b_fuels-dens_2100_000.png +8,180,0.425,ST5_FF_DUET,ST5_ignite_contour,safe,safe,Marginal,,119225,https://wifire-data.sdsc.edu/data//burnpro3d/d/f5/a0/run_f5a0eabc-c9e8-471f-92e8-f2871e6f4808/png/run_f5a0eabc-c9e8-471f-92e8-f2871e6f4808_fuels-dens_2100_000.png +8,270,0.425,ST5_FF_DUET,ST5_ignite_contour,safe,safe,yes,,96556,https://wifire-data.sdsc.edu/data//burnpro3d/d/78/09/run_78098f8f-a129-4848-aa85-a9f79ef0dca2/png/run_78098f8f-a129-4848-aa85-a9f79ef0dca2_fuels-dens_2100_000.png +8,270,0.425,ST5_FF_DUET,ST5_ignite_ring,safe,safe,No,Inadequate consumption,119784,https://wifire-data.sdsc.edu/data//burnpro3d/d/e3/40/run_e340855a-c556-4ce8-8521-9efbb4e8de70/png/run_e340855a-c556-4ce8-8521-9efbb4e8de70_fuels-dens_2100_000.png +8,225,0.425,ST5_FFDUET_Over10m,ST5_ignite_contour,safe,safe,Yes,,104857,https://wifire-data.sdsc.edu/data//burnpro3d/d/0e/c2/run_0ec2f182-1953-4bd5-aa8e-48277c865d94/png/run_0ec2f182-1953-4bd5-aa8e-48277c865d94_fuels-dens_2100_000.png +2,255,0.425,ST5_FFDUET_Over10m,ST5_ignite_contour,safe,safe,yes,,92780,https://wifire-data.sdsc.edu/data//burnpro3d/d/33/ea/run_33ea6e34-fa52-4a78-b4dc-bbcd108dd148/png/run_33ea6e34-fa52-4a78-b4dc-bbcd108dd148_fuels-dens_2100_000.png +8,270,0.425,ST5_FF_DUET,ST5_ignite_strip,safe,safe,yes,,184923,https://wifire-data.sdsc.edu/data//burnpro3d/d/f6/09/run_f609ac52-ddc9-4d54-bbfa-7b63d26e2f97/png/run_f609ac52-ddc9-4d54-bbfa-7b63d26e2f97_fuels-dens_2100_000.png +2,255,0.425,ST5_FFDUET_Over10m,ST5_ignite_ring,safe,safe,No,Inadequate consumption,167457,https://wifire-data.sdsc.edu/data//burnpro3d/d/4f/e2/run_4fe24768-96ac-42f7-9746-2df93157da4d/png/run_4fe24768-96ac-42f7-9746-2df93157da4d_fuels-dens_2100_000.png +8,195,0.425,ST5_FFDUET_Over10m,ST5_ignite_strip,unsafe,unsafe,No,Escape,122102,https://wifire-data.sdsc.edu/data//burnpro3d/d/f7/84/run_f784c689-e3f1-47c4-afc8-06bb3784f475/png/run_f784c689-e3f1-47c4-afc8-06bb3784f475_fuels-dens_2100_000.png +8,195,0.425,ST5_FFDUET_Over10m,ST5_ignite_ring,unsafe,unsafe,No,Escape/Inadequate consumption,143052,https://wifire-data.sdsc.edu/data//burnpro3d/d/0b/44/run_0b44b1bb-b357-4e56-8361-129995e70f85/png/run_0b44b1bb-b357-4e56-8361-129995e70f85_fuels-dens_2100_000.png +8,255,0.425,ST5_FF_DUET,ST5_ignite_strip,safe,safe,Yes,,122922,https://wifire-data.sdsc.edu/data//burnpro3d/d/bf/34/run_bf347d8f-68fd-4bf3-8e5f-6870aba214ae/png/run_bf347d8f-68fd-4bf3-8e5f-6870aba214ae_fuels-dens_2100_000.png +8,255,0.425,ST5_FF_DUET,ST5_ignite_ring,safe,safe,No,Inafequate consumption,58939,https://wifire-data.sdsc.edu/data//burnpro3d/d/f1/90/run_f1906f7e-603c-4212-8c70-26c82ad7ebb3/png/run_f1906f7e-603c-4212-8c70-26c82ad7ebb3_fuels-dens_2100_000.png +8,255,0.425,ST5_FF_DUET,ST5_ignite_contour,safe,safe,Yes,,137219,https://wifire-data.sdsc.edu/data//burnpro3d/d/6a/05/run_6a0538ba-38c6-40f5-9d4a-c085fa28e17e/png/run_6a0538ba-38c6-40f5-9d4a-c085fa28e17e_fuels-dens_2100_000.png +2,255,0.425,ST5_FFDUET_Over10m,ST5_ignite_strip,safe,safe,Yes,,109167,https://wifire-data.sdsc.edu/data//burnpro3d/d/a9/0a/run_a90adf42-c3c1-431e-9b55-b4e7b119cd7c/png/run_a90adf42-c3c1-431e-9b55-b4e7b119cd7c_fuels-dens_2100_000.png +2,270,0.425,ST5_FFDUET_Over10m,ST5_ignite_ring,safe,safe,No,Inadequate consumption,116567,https://wifire-data.sdsc.edu/data//burnpro3d/d/80/ec/run_80ec1d93-ad07-4102-ba6d-f11879b77374/png/run_80ec1d93-ad07-4102-ba6d-f11879b77374_fuels-dens_2100_000.png +12,175,0.425,ST5_FF_DUET,ST5_ignite_strip,unsafe,unsafe,No,Escape,172360,https://wifire-data.sdsc.edu/data//burnpro3d/d/3d/9e/run_3d9e8d06-cf41-4106-abc7-fd398db9532c/png/run_3d9e8d06-cf41-4106-abc7-fd398db9532c_fuels-dens_2100_000.png +2,240,0.425,ST5_FFDUET_Over10m,ST5_ignite_contour,safe,safe,Yes,,91499,https://wifire-data.sdsc.edu/data//burnpro3d/d/bd/4d/run_bd4d6a32-8253-4ff3-89c4-9a9ab4aa3311/png/run_bd4d6a32-8253-4ff3-89c4-9a9ab4aa3311_fuels-dens_2100_000.png +5,270,0.425,ST5_FF_DUET,ST5_ignite_ring,safe,safe,No,Inadequate consumption,105961,https://wifire-data.sdsc.edu/data//burnpro3d/d/60/54/run_6054f78c-386c-4509-92d1-fb8dca3d61fb/png/run_6054f78c-386c-4509-92d1-fb8dca3d61fb_fuels-dens_2100_000.png +5,270,0.425,ST5_FFDUET_Over10m,ST5_ignite_strip,safe,safe,Yes,,112513,https://wifire-data.sdsc.edu/data//burnpro3d/d/98/12/run_98128b8b-009a-4856-95c6-4a75d64294d5/png/run_98128b8b-009a-4856-95c6-4a75d64294d5_fuels-dens_2100_000.png +5,270,0.425,ST5_FFDUET_Over10m,ST5_ignite_ring,safe,safe,No,Inadequate consumption,40399,https://wifire-data.sdsc.edu/data//burnpro3d/d/f9/2b/run_f92bcf66-187d-484c-b8cc-eeefad8d6011/png/run_f92bcf66-187d-484c-b8cc-eeefad8d6011_fuels-dens_2100_000.png +2,240,0.425,ST5_FFDUET_Over10m,ST5_ignite_ring,safe,safe,No,Inadequate consumption,29407,https://wifire-data.sdsc.edu/data//burnpro3d/d/ca/62/run_ca628d95-12e7-44f0-92a8-557151d3a756/png/run_ca628d95-12e7-44f0-92a8-557151d3a756_fuels-dens_2100_000.png +12,195,0.425,ST5_FF_DUET,ST5_ignite_contour,unsafe,unsafe,No ,Escape,106599,https://wifire-data.sdsc.edu/data//burnpro3d/d/43/68/run_436870f9-557c-4087-8209-3a7dd490441d/png/run_436870f9-557c-4087-8209-3a7dd490441d_fuels-dens_2100_000.png +2,240,0.425,ST5_FFDUET_Over10m,ST5_ignite_strip,safe,safe,Yes,,178644,https://wifire-data.sdsc.edu/data//burnpro3d/d/9f/66/run_9f66039d-6ae0-4a25-937e-6a1a8a97c482/png/run_9f66039d-6ae0-4a25-937e-6a1a8a97c482_fuels-dens_2100_000.png +5,225,0.425,ST5_FF_DUET,ST5_ignite_contour,safe,safe,Yes,,98163,https://wifire-data.sdsc.edu/data//burnpro3d/d/21/6a/run_216a79f9-2c7d-4798-880f-bc337818ee46/png/run_216a79f9-2c7d-4798-880f-bc337818ee46_fuels-dens_2100_000.png +5,270,0.425,ST5_FFDUET_Over10m,ST5_ignite_contour,safe,safe,Marginal,,87895,https://wifire-data.sdsc.edu/data//burnpro3d/d/62/9c/run_629c67da-b125-43c1-abf3-f018006036b1/png/run_629c67da-b125-43c1-abf3-f018006036b1_fuels-dens_2100_000.png +5,270,0.425,ST5_FF_DUET,ST5_ignite_strip,safe,safe,Yes,,115813,https://wifire-data.sdsc.edu/data//burnpro3d/d/61/da/run_61da84a8-54d3-4499-81b8-4890d94aea19/png/run_61da84a8-54d3-4499-81b8-4890d94aea19_fuels-dens_2100_000.png +12,195,0.425,ST5_FF_DUET,ST5_ignite_ring,unsafe,unsafe,No,Escape/Inadequate consumption,102274,https://wifire-data.sdsc.edu/data//burnpro3d/d/3e/ac/run_3eacfc5a-5b3a-4112-a12a-71cac69cc6ce/png/run_3eacfc5a-5b3a-4112-a12a-71cac69cc6ce_fuels-dens_2100_000.png +5,225,0.425,ST5_FF_DUET,ST5_ignite_ring,safe,safe,No,Inadequate consumption,43307,https://wifire-data.sdsc.edu/data//burnpro3d/d/1c/88/run_1c8856a3-9c8d-49f3-a3d3-d3a2d77f0110/png/run_1c8856a3-9c8d-49f3-a3d3-d3a2d77f0110_fuels-dens_2100_000.png +2,270,0.425,ST5_FFDUET_Over10m,ST5_ignite_strip,safe,safe,Yes,,66869,https://wifire-data.sdsc.edu/data//burnpro3d/d/0f/e3/run_0fe33abc-59b7-43f7-824c-0a7bae81f7db/png/run_0fe33abc-59b7-43f7-824c-0a7bae81f7db_fuels-dens_2100_000.png +5,225,0.425,ST5_FF_DUET,ST5_ignite_strip,safe,safe,Yes,,121609,https://wifire-data.sdsc.edu/data//burnpro3d/d/ef/9c/run_ef9ce74b-963b-48b9-b8c0-71a566d071f7/png/run_ef9ce74b-963b-48b9-b8c0-71a566d071f7_fuels-dens_2100_000.png +12,195,0.425,ST5_FF_DUET,ST5_ignite_strip,unsafe,unsafe,No,Escape,104603,https://wifire-data.sdsc.edu/data//burnpro3d/d/2b/69/run_2b691d45-7adf-406c-8d44-bffbec2902df/png/run_2b691d45-7adf-406c-8d44-bffbec2902df_fuels-dens_2100_000.png +3,175,0.425,ST5_FFDUET_Over10m,ST5_ignite_contour,safe,safe,Yes,,155038,https://wifire-data.sdsc.edu/data//burnpro3d/d/15/fd/run_15fd972f-49e7-4ce3-b387-cc96c9e3a0ee/png/run_15fd972f-49e7-4ce3-b387-cc96c9e3a0ee_fuels-dens_2100_000.png +3,175,0.425,ST5_FFDUET_Over10m,ST5_ignite_ring,safe,safe,No,Inadequate consumption,42594,https://wifire-data.sdsc.edu/data//burnpro3d/d/e3/73/run_e3739e7d-3b4a-4785-aa85-fe4d00b0d69f/png/run_e3739e7d-3b4a-4785-aa85-fe4d00b0d69f_fuels-dens_2100_000.png +12,180,0.425,ST5_FF_DUET,ST5_ignite_strip,unsafe,unsafe,No,Escape,115311,https://wifire-data.sdsc.edu/data//burnpro3d/d/b1/99/run_b199da07-c45e-4c12-a213-de6faf9db329/png/run_b199da07-c45e-4c12-a213-de6faf9db329_fuels-dens_2100_000.png +12,180,0.425,ST5_FF_DUET,ST5_ignite_contour,unsafe,unsafe,No,Escape,121741,https://wifire-data.sdsc.edu/data//burnpro3d/d/fe/5c/run_fe5cf711-96cc-4586-b94d-2beb819cf0cf/png/run_fe5cf711-96cc-4586-b94d-2beb819cf0cf_fuels-dens_2100_000.png +2,225,0.5,ST5_FFDUET_Over10m,ST5_ignite_ring,safe,safe,No,Inadequate consumption,19325,https://wifire-data.sdsc.edu/data//burnpro3d/d/c9/93/run_c993a4a1-69a6-4bc4-a80e-8c94d4e8d96c/png/run_c993a4a1-69a6-4bc4-a80e-8c94d4e8d96c_fuels-dens_2100_000.png +8,180,0.5,ST5_FFDUET_TLS,ST5_ignite_contour,safe,safe,Marginal,,79247,https://wifire-data.sdsc.edu/data//burnpro3d/d/9c/37/run_9c37c008-202a-4f25-9e4f-284038da5fc7/png/run_9c37c008-202a-4f25-9e4f-284038da5fc7_fuels-dens_2100_000.png +8,180,0.5,ST5_FFDUET_TLS,ST5_ignite_ring,safe,safe,No,Inadequate consumption,33918,https://wifire-data.sdsc.edu/data//burnpro3d/d/1f/b0/run_1fb0ea15-8bc6-4b4d-b162-a109d81baa15/png/run_1fb0ea15-8bc6-4b4d-b162-a109d81baa15_fuels-dens_2100_000.png +2,225,0.5,ST5_FFDUET_Over10m,ST5_ignite_strip,safe,safe,Yes,,97500,https://wifire-data.sdsc.edu/data//burnpro3d/d/96/5b/run_965b43eb-d882-4afd-bb07-b6eead64bef2/png/run_965b43eb-d882-4afd-bb07-b6eead64bef2_fuels-dens_2100_000.png +2,270,0.5,ST5_FF_DUET,ST5_ignite_contour,safe,safe,Marginal,,44498,https://wifire-data.sdsc.edu/data//burnpro3d/d/8c/56/run_8c560cd6-9cba-4e81-b8a9-f22429cd2c61/png/run_8c560cd6-9cba-4e81-b8a9-f22429cd2c61_fuels-dens_2100_000.png +5,240,0.5,ST5_FFDUET_TLS,ST5_ignite_strip,safe,safe,Yes,,106109,https://wifire-data.sdsc.edu/data//burnpro3d/d/0b/8e/run_0b8e14e3-934f-4bc6-8dde-6032fd2f8334/png/run_0b8e14e3-934f-4bc6-8dde-6032fd2f8334_fuels-dens_2100_000.png +5,240,0.5,ST5_FFDUET_TLS,ST5_ignite_ring,safe,safe,No,Escape/Inadequate consumption,117571,https://wifire-data.sdsc.edu/data//burnpro3d/d/ae/29/run_ae29a895-faf9-4676-bacf-110b33276fdc/png/run_ae29a895-faf9-4676-bacf-110b33276fdc_fuels-dens_2100_000.png +5,270,0.5,ST5_FFDUET_TLS,ST5_ignite_contour,safe,safe,No,Inadequate consumption,63216,https://wifire-data.sdsc.edu/data//burnpro3d/d/da/c2/run_dac2bfd9-0d7f-487a-9105-1ae8ace6fc91/png/run_dac2bfd9-0d7f-487a-9105-1ae8ace6fc91_fuels-dens_2100_000.png +8,195,0.5,ST5_FFDUET_TLS,ST5_ignite_ring,safe,safe,No,Escape/Inadequate consumption,186989,https://wifire-data.sdsc.edu/data//burnpro3d/d/6b/c5/run_6bc55067-ce38-4c0a-a2b5-20eb0789d0c8/png/run_6bc55067-ce38-4c0a-a2b5-20eb0789d0c8_fuels-dens_2100_000.png +5,240,0.5,ST5_FFDUET_TLS,ST5_ignite_contour,safe,safe,Yes,,23815,https://wifire-data.sdsc.edu/data//burnpro3d/d/e9/b1/run_e9b12363-2177-48c3-8595-373afd1c2c31/png/run_e9b12363-2177-48c3-8595-373afd1c2c31_fuels-dens_2100_000.png +2,195,0.5,ST5_FFDUET_Over10m,ST5_ignite_strip,safe,safe,Yes,,185748,https://wifire-data.sdsc.edu/data//burnpro3d/d/37/e0/run_37e0007b-ec54-474e-8197-6bdc06f8ef4a/png/run_37e0007b-ec54-474e-8197-6bdc06f8ef4a_fuels-dens_2100_000.png +8,195,0.5,ST5_FFDUET_TLS,ST5_ignite_strip,unsafe,unsafe,No,Escape,18096,https://wifire-data.sdsc.edu/data//burnpro3d/d/44/97/run_4497b15b-ec10-4325-8291-120bf7f11939/png/run_4497b15b-ec10-4325-8291-120bf7f11939_fuels-dens_2100_000.png +2,255,0.5,ST5_FFDUET_Over10m,ST5_ignite_contour,safe,safe,No,Inadequate consumption,71024,https://wifire-data.sdsc.edu/data//burnpro3d/d/dc/20/run_dc20202f-b9ac-4ad4-85de-a93af896e7bf/png/run_dc20202f-b9ac-4ad4-85de-a93af896e7bf_fuels-dens_2100_000.png +8,180,0.5,ST5_FFDUET_TLS,ST5_ignite_strip,safe,safe,No,Escape,121479,https://wifire-data.sdsc.edu/data//burnpro3d/d/e4/3a/run_e43a4ddb-0429-4012-97a9-4c02f1e67be5/png/run_e43a4ddb-0429-4012-97a9-4c02f1e67be5_fuels-dens_2100_000.png +8,195,0.5,ST5_FFDUET_TLS,ST5_ignite_contour,safe,safe,Marginal,,148990,https://wifire-data.sdsc.edu/data//burnpro3d/d/17/bd/run_17bdf5a9-46e3-4a7c-9646-6b0a0cf097d0/png/run_17bdf5a9-46e3-4a7c-9646-6b0a0cf097d0_fuels-dens_2100_000.png +5,270,0.5,ST5_FFDUET_TLS,ST5_ignite_ring,safe,safe,No,Inadequate consumption,22439,https://wifire-data.sdsc.edu/data//burnpro3d/d/43/63/run_43639618-06cd-4ff1-bfbf-469ff1938e28/png/run_43639618-06cd-4ff1-bfbf-469ff1938e28_fuels-dens_2100_000.png +2,175,0.5,ST5_FFDUET_Over10m,ST5_ignite_ring,safe,safe,No,Inadequate consumption,89986,https://wifire-data.sdsc.edu/data//burnpro3d/d/6d/89/run_6d8952b0-21c3-4dda-adb7-4b2c5a278887/png/run_6d8952b0-21c3-4dda-adb7-4b2c5a278887_fuels-dens_2100_000.png +2,255,0.5,ST5_FF_DUET,ST5_ignite_contour,safe,safe,No,Inadequate consumption,67576,https://wifire-data.sdsc.edu/data//burnpro3d/d/27/94/run_2794ebf4-ae10-4420-94ab-387a111ea4be/png/run_2794ebf4-ae10-4420-94ab-387a111ea4be_fuels-dens_2100_000.png +2,240,0.5,ST5_FFDUET_Over10m,ST5_ignite_strip,safe,safe,Yes,,115601,https://wifire-data.sdsc.edu/data//burnpro3d/d/97/f4/run_97f42d12-9b52-4af4-91d6-f6a1eb5f1ad4/png/run_97f42d12-9b52-4af4-91d6-f6a1eb5f1ad4_fuels-dens_2100_000.png +2,240,0.5,ST5_FF_DUET,ST5_ignite_strip,safe,safe,Yes,,99200,https://wifire-data.sdsc.edu/data//burnpro3d/d/01/26/run_01264eec-a1c2-4e9f-b151-514bcdddfd66/png/run_01264eec-a1c2-4e9f-b151-514bcdddfd66_fuels-dens_2100_000.png +2,180,0.5,ST5_FFDUET_Over10m,ST5_ignite_strip,safe,safe,Yes,,106503,https://wifire-data.sdsc.edu/data//burnpro3d/d/e9/c3/run_e9c3dfbb-cfad-4bca-86c4-0dff44208bbf/png/run_e9c3dfbb-cfad-4bca-86c4-0dff44208bbf_fuels-dens_2100_000.png +2,180,0.5,ST5_FFDUET_Over10m,ST5_ignite_ring,safe,safe,No,Inadequate consumption,179866,https://wifire-data.sdsc.edu/data//burnpro3d/d/a6/4b/run_a64b905a-160d-4a74-b0bd-7b54e8a91d16/png/run_a64b905a-160d-4a74-b0bd-7b54e8a91d16_fuels-dens_2100_000.png +5,255,0.5,ST5_FFDUET_TLS,ST5_ignite_strip,safe,safe,Yes,,102118,https://wifire-data.sdsc.edu/data//burnpro3d/d/5b/56/run_5b561bc2-9e4b-49dd-86f6-595b584f29a0/png/run_5b561bc2-9e4b-49dd-86f6-595b584f29a0_fuels-dens_2100_000.png +2,180,0.5,ST5_FFDUET_Over10m,ST5_ignite_contour,safe,safe,No,Inadequate consumption,66953,https://wifire-data.sdsc.edu/data//burnpro3d/d/55/30/run_55303920-273a-489d-8273-058b14244168/png/run_55303920-273a-489d-8273-058b14244168_fuels-dens_2100_000.png +2,225,0.5,ST5_FFDUET_Over10m,ST5_ignite_contour,safe,safe,No,Inadequate consumption,69119,https://wifire-data.sdsc.edu/data//burnpro3d/d/48/1e/run_481e7a00-1019-411c-837f-9ed531dcf62b/png/run_481e7a00-1019-411c-837f-9ed531dcf62b_fuels-dens_2100_000.png +2,240,0.5,ST5_FFDUET_Over10m,ST5_ignite_ring,safe,safe,No,Inadequate consumption,39092,https://wifire-data.sdsc.edu/data//burnpro3d/d/0a/62/run_0a620b40-4556-4748-a0ad-a0fe625bb64b/png/run_0a620b40-4556-4748-a0ad-a0fe625bb64b_fuels-dens_2100_000.png +2,240,0.5,ST5_FFDUET_Over10m,ST5_ignite_contour,safe,safe,Marginal,,70880,https://wifire-data.sdsc.edu/data//burnpro3d/d/72/39/run_72394bef-c2fc-4ebb-bfd4-599c78573a34/png/run_72394bef-c2fc-4ebb-bfd4-599c78573a34_fuels-dens_2100_000.png +2,175,0.5,ST5_FFDUET_Over10m,ST5_ignite_contour,safe,safe,No,Inadequate consumption,65747,https://wifire-data.sdsc.edu/data//burnpro3d/d/eb/96/run_eb96d1f3-a4ea-4dc2-97e5-7352f9d543d0/png/run_eb96d1f3-a4ea-4dc2-97e5-7352f9d543d0_fuels-dens_2100_000.png +2,255,0.5,ST5_FF_DUET,ST5_ignite_ring,safe,safe,No,Inadequate consumption,16705,https://wifire-data.sdsc.edu/data//burnpro3d/d/c2/aa/run_c2aabe78-624b-4798-aa53-8ab5351ceb76/png/run_c2aabe78-624b-4798-aa53-8ab5351ceb76_fuels-dens_2100_000.png +5,255,0.5,ST5_FFDUET_TLS,ST5_ignite_ring,safe,safe,No,Inadequate consumption,23190,https://wifire-data.sdsc.edu/data//burnpro3d/d/24/9a/run_249af42c-dccb-4c55-ae02-42bc88ccb2f1/png/run_249af42c-dccb-4c55-ae02-42bc88ccb2f1_fuels-dens_2100_000.png +2,195,0.5,ST5_FFDUET_Over10m,ST5_ignite_contour,safe,safe,No,Inadequate consumption,68894,https://wifire-data.sdsc.edu/data//burnpro3d/d/8a/ce/run_8ace4806-f438-4ffa-9b80-f93832ceb462/png/run_8ace4806-f438-4ffa-9b80-f93832ceb462_fuels-dens_2100_000.png +8,175,0.5,ST5_FFDUET_TLS,ST5_ignite_contour,safe,safe,No,Inadequate consumption,92006,https://wifire-data.sdsc.edu/data//burnpro3d/d/f8/5e/run_f85ed816-b291-4654-8597-d751a2b70798/png/run_f85ed816-b291-4654-8597-d751a2b70798_fuels-dens_2100_000.png +5,255,0.5,ST5_FFDUET_TLS,ST5_ignite_contour,safe,safe,No,Inadequate consumption,171950,https://wifire-data.sdsc.edu/data//burnpro3d/d/56/ba/run_56ba2889-6ec4-458e-b2c2-803168171f8b/png/run_56ba2889-6ec4-458e-b2c2-803168171f8b_fuels-dens_2100_000.png +8,175,0.5,ST5_FFDUET_TLS,ST5_ignite_ring,safe,safe,No,Inadequate consumption,66786,https://wifire-data.sdsc.edu/data//burnpro3d/d/0e/7c/run_0e7ca955-09c2-445b-99ee-b2e2a75c59e4/png/run_0e7ca955-09c2-445b-99ee-b2e2a75c59e4_fuels-dens_2100_000.png +2,195,0.5,ST5_FFDUET_Over10m,ST5_ignite_ring,safe,safe,No,Inadequate consumption,113613,https://wifire-data.sdsc.edu/data//burnpro3d/d/d5/f8/run_d5f88ddd-b740-4c58-9f5b-7f66c5c12f91/png/run_d5f88ddd-b740-4c58-9f5b-7f66c5c12f91_fuels-dens_2100_000.png +8,175,0.5,ST5_FFDUET_TLS,ST5_ignite_strip,unsafe,unsafe,No,Escape,97589,https://wifire-data.sdsc.edu/data//burnpro3d/d/3d/c3/run_3dc32686-24ff-4a0d-91a9-1c0a84406247/png/run_3dc32686-24ff-4a0d-91a9-1c0a84406247_fuels-dens_2100_000.png +5,270,0.5,ST5_FFDUET_TLS,ST5_ignite_strip,safe,safe,Yes,,96572,https://wifire-data.sdsc.edu/data//burnpro3d/d/8c/a2/run_8ca2f472-4d11-480d-8d51-06073448f6e0/png/run_8ca2f472-4d11-480d-8d51-06073448f6e0_fuels-dens_2100_000.png +2,270,0.5,ST5_FF_DUET,ST5_ignite_ring,safe,safe,No,Inadequate consumption,144232,https://wifire-data.sdsc.edu/data//burnpro3d/d/d4/58/run_d4583ae7-5f71-4c4c-bef6-cc2d3ea19749/png/run_d4583ae7-5f71-4c4c-bef6-cc2d3ea19749_fuels-dens_2100_000.png +2,175,0.5,ST5_FFDUET_Over10m,ST5_ignite_strip,safe,safe,Yes,,94056,https://wifire-data.sdsc.edu/data//burnpro3d/d/7d/12/run_7d12516c-1726-4f46-b59d-525afbc5a677/png/run_7d12516c-1726-4f46-b59d-525afbc5a677_fuels-dens_2100_000.png +2,255,0.5,ST5_FF_DUET,ST5_ignite_strip,safe,safe,Yes,,98008,https://wifire-data.sdsc.edu/data//burnpro3d/d/2a/6d/run_2a6d96d7-1d8e-4ce9-889c-f590a1e1f2cd/png/run_2a6d96d7-1d8e-4ce9-889c-f590a1e1f2cd_fuels-dens_2100_000.png +8,225,0.5,ST5_FFDUET_Over10m,ST5_ignite_strip,unsafe,unsafe,No,Escape,114566,https://wifire-data.sdsc.edu/data//burnpro3d/d/ab/2c/run_ab2c91f8-262f-428f-b08e-4f8812879ec7/png/run_ab2c91f8-262f-428f-b08e-4f8812879ec7_fuels-dens_2100_000.png +8,270,0.5,ST5_FFDUET_TLS,ST5_ignite_contour,safe,safe,No,Inadequate consumption,69872,https://wifire-data.sdsc.edu/data//burnpro3d/d/fa/19/run_fa198f66-4f06-456d-8446-6a7dda907186/png/run_fa198f66-4f06-456d-8446-6a7dda907186_fuels-dens_2100_000.png +8,225,0.5,ST5_FFDUET_TLS,ST5_ignite_contour,safe,safe,Marginal,,90182,https://wifire-data.sdsc.edu/data//burnpro3d/d/bd/9a/run_bd9a0d0b-d3f6-47cd-9f86-6561691a39da/png/run_bd9a0d0b-d3f6-47cd-9f86-6561691a39da_fuels-dens_2100_000.png +12,180,0.5,ST5_FF_DUET,ST5_ignite_strip,unsafe,unsafe,No,Escape,169246,https://wifire-data.sdsc.edu/data//burnpro3d/d/af/0a/run_af0af1ef-235c-4fef-8b93-53f243fa4971/png/run_af0af1ef-235c-4fef-8b93-53f243fa4971_fuels-dens_2100_000.png +2,180,0.5,ST5_FF_DUET,ST5_ignite_contour,safe,safe,No,Inadequate consumption,68511,https://wifire-data.sdsc.edu/data//burnpro3d/d/43/8b/run_438b9441-060d-47bf-add1-71ae4b46b8f8/png/run_438b9441-060d-47bf-add1-71ae4b46b8f8_fuels-dens_2100_000.png +2,180,0.5,ST5_FF_DUET,ST5_ignite_ring,safe,safe,No,Inadequate consumption,23204,https://wifire-data.sdsc.edu/data//burnpro3d/d/0a/9e/run_0a9eb76f-03f7-4bda-9656-4ff319c2e543/png/run_0a9eb76f-03f7-4bda-9656-4ff319c2e543_fuels-dens_2100_000.png +2,180,0.5,ST5_FF_DUET,ST5_ignite_strip,safe,safe,Yes,,95362,https://wifire-data.sdsc.edu/data//burnpro3d/d/da/c9/run_dac9961f-f553-4661-9660-47d2b776f601/png/run_dac9961f-f553-4661-9660-47d2b776f601_fuels-dens_2100_000.png +12,255,0.5,ST5_FFDUET_TLS,ST5_ignite_strip,safe,safe,Yes,,33939,https://wifire-data.sdsc.edu/data//burnpro3d/d/ef/83/run_ef83977f-2bf9-474e-ab15-91180161965b/png/run_ef83977f-2bf9-474e-ab15-91180161965b_fuels-dens_2100_000.png +12,255,0.5,ST5_FFDUET_TLS,ST5_ignite_ring,safe,safe,No,Inadequate consumption,32459,https://wifire-data.sdsc.edu/data//burnpro3d/d/2b/16/run_2b167d8c-fb78-4fad-a67a-1488409c45cf/png/run_2b167d8c-fb78-4fad-a67a-1488409c45cf_fuels-dens_2100_000.png +12,255,0.5,ST5_FFDUET_TLS,ST5_ignite_contour,unsafe,unsafe,No,Escape,34416,https://wifire-data.sdsc.edu/data//burnpro3d/d/e4/b8/run_e4b874c9-57c1-4953-9f13-456d63348421/png/run_e4b874c9-57c1-4953-9f13-456d63348421_fuels-dens_2100_000.png +12,195,0.5,ST5_FF_DUET,ST5_ignite_contour,unsafe,unsafe,No,Escape,83356,https://wifire-data.sdsc.edu/data//burnpro3d/d/fa/81/run_fa8128f8-f575-405a-93a8-63226aa8ebc5/png/run_fa8128f8-f575-405a-93a8-63226aa8ebc5_fuels-dens_2100_000.png +2,175,0.5,ST5_FF_DUET,ST5_ignite_strip,safe,safe,yes,,119723,https://wifire-data.sdsc.edu/data//burnpro3d/d/5b/12/run_5b128abd-ac39-45c0-8179-a1aea82f600c/png/run_5b128abd-ac39-45c0-8179-a1aea82f600c_fuels-dens_2100_000.png +12,195,0.5,ST5_FF_DUET,ST5_ignite_ring,unsafe,unsafe,N,Escape,140211,https://wifire-data.sdsc.edu/data//burnpro3d/d/a2/99/run_a299f7d9-89ec-452c-88c2-7eca98402cf6/png/run_a299f7d9-89ec-452c-88c2-7eca98402cf6_fuels-dens_2100_000.png +12,240,0.5,ST5_FFDUET_TLS,ST5_ignite_ring,unsafe,unsafe,N,Escape,26524,https://wifire-data.sdsc.edu/data//burnpro3d/d/2f/5c/run_2f5c3f8d-8009-468f-b8ef-4fd34a76381e/png/run_2f5c3f8d-8009-468f-b8ef-4fd34a76381e_fuels-dens_2100_000.png +12,240,0.5,ST5_FFDUET_TLS,ST5_ignite_contour,safe,safe,Yes,,88746,https://wifire-data.sdsc.edu/data//burnpro3d/d/5d/80/run_5d8085b1-acc4-4d97-bf97-499b97f633bb/png/run_5d8085b1-acc4-4d97-bf97-499b97f633bb_fuels-dens_2100_000.png +12,195,0.5,ST5_FF_DUET,ST5_ignite_strip,unsafe,unsafe,No,Escape,146026,https://wifire-data.sdsc.edu/data//burnpro3d/d/00/27/run_0027e586-0f94-4860-bf80-ca6b35c70155/png/run_0027e586-0f94-4860-bf80-ca6b35c70155_fuels-dens_2100_000.png +12,225,0.5,ST5_FFDUET_TLS,ST5_ignite_strip,unsafe,unsafe,N,Escape,113150,https://wifire-data.sdsc.edu/data//burnpro3d/d/cb/fa/run_cbfa3937-ecc8-48bf-99da-65929ed6cef8/png/run_cbfa3937-ecc8-48bf-99da-65929ed6cef8_fuels-dens_2100_000.png +12,225,0.5,ST5_FFDUET_TLS,ST5_ignite_ring,unsafe,unsafe,No,Escape,112914,https://wifire-data.sdsc.edu/data//burnpro3d/d/09/0e/run_090e4384-069a-4c87-bf53-852bcfabb0eb/png/run_090e4384-069a-4c87-bf53-852bcfabb0eb_fuels-dens_2100_000.png +12,225,0.5,ST5_FFDUET_TLS,ST5_ignite_contour,unsafe,unsafe,No,Escape,130493,https://wifire-data.sdsc.edu/data//burnpro3d/d/ee/00/run_ee00577f-061f-4d6f-b13a-917ebcac1994/png/run_ee00577f-061f-4d6f-b13a-917ebcac1994_fuels-dens_2100_000.png +12,225,0.5,ST5_FF_DUET,ST5_ignite_contour,unsafe,unsafe,No,Escape,135383,https://wifire-data.sdsc.edu/data//burnpro3d/d/dc/04/run_dc043e20-8d81-4ac1-a58d-e72340a3d73c/png/run_dc043e20-8d81-4ac1-a58d-e72340a3d73c_fuels-dens_2100_000.png +12,225,0.5,ST5_FF_DUET,ST5_ignite_ring,unsafe,unsafe,No,Escape/inadequate consumption,26338,https://wifire-data.sdsc.edu/data//burnpro3d/d/23/b5/run_23b55c9d-809a-4c7d-b0c1-0a390b1c0bf1/png/run_23b55c9d-809a-4c7d-b0c1-0a390b1c0bf1_fuels-dens_2100_000.png +12,240,0.5,ST5_FFDUET_TLS,ST5_ignite_strip,unsafe,unsafe,No,Escape,182916,https://wifire-data.sdsc.edu/data//burnpro3d/d/dc/b9/run_dcb9cf40-e91f-4c16-ada6-533a933dae60/png/run_dcb9cf40-e91f-4c16-ada6-533a933dae60_fuels-dens_2100_000.png +12,195,0.5,ST5_FFDUET_TLS,ST5_ignite_strip,unsafe,unsafe,No,Escape,118565,https://wifire-data.sdsc.edu/data//burnpro3d/d/e5/2c/run_e52c7f7d-d3c1-4269-8c60-e57156118604/png/run_e52c7f7d-d3c1-4269-8c60-e57156118604_fuels-dens_2100_000.png +2,175,0.5,ST5_FF_DUET,ST5_ignite_ring,safe,safe,No,Inadequate consumption,23768,https://wifire-data.sdsc.edu/data//burnpro3d/d/6e/f2/run_6ef2db81-0ed1-4419-8b28-b5a8f9b03fc8/png/run_6ef2db81-0ed1-4419-8b28-b5a8f9b03fc8_fuels-dens_2100_000.png +12,180,0.5,ST5_FF_DUET,ST5_ignite_contour,safe,unsafe,No,Escape/inadequate consumption,142651,https://wifire-data.sdsc.edu/data//burnpro3d/d/82/20/run_822082bb-be91-4237-8c02-1e8c2b003e10/png/run_822082bb-be91-4237-8c02-1e8c2b003e10_fuels-dens_2100_000.png +3,255,0.5,ST5_FFDUET_TLS,ST5_ignite_ring,safe,safe,No,Inadequate consumption,119445,https://wifire-data.sdsc.edu/data//burnpro3d/d/40/62/run_406214a6-9e42-41f2-9678-ceaecfc47255/png/run_406214a6-9e42-41f2-9678-ceaecfc47255_fuels-dens_2100_000.png +8,255,0.5,ST5_FF_DUET,ST5_ignite_ring,safe,safe,No,Inadequate consumption,27545,https://wifire-data.sdsc.edu/data//burnpro3d/d/44/60/run_44603df8-3fc0-44b1-b9bd-ff70f1be8fe3/png/run_44603df8-3fc0-44b1-b9bd-ff70f1be8fe3_fuels-dens_2100_000.png +12,240,0.5,ST5_FFDUET_Over10m,ST5_ignite_strip,unsafe,unsafe,No,Escape,183522,https://wifire-data.sdsc.edu/data//burnpro3d/d/b8/f1/run_b8f127b5-3fa1-4e68-9576-ada38942c789/png/run_b8f127b5-3fa1-4e68-9576-ada38942c789_fuels-dens_2100_000.png +8,270,0.5,ST5_FF_DUET,ST5_ignite_contour,safe,safe,Marginal,,78877,https://wifire-data.sdsc.edu/data//burnpro3d/d/b8/e0/run_b8e07dcf-8306-476a-b110-90e79302d904/png/run_b8e07dcf-8306-476a-b110-90e79302d904_fuels-dens_2100_000.png +8,270,0.5,ST5_FF_DUET,ST5_ignite_ring,safe,safe,No,Inafdequate consumption,108179,https://wifire-data.sdsc.edu/data//burnpro3d/d/a4/da/run_a4da2805-41ae-4323-87b5-08eea7d94dd2/png/run_a4da2805-41ae-4323-87b5-08eea7d94dd2_fuels-dens_2100_000.png +8,270,0.5,ST5_FF_DUET,ST5_ignite_strip,safe,safe,Yes,,175106,https://wifire-data.sdsc.edu/data//burnpro3d/d/17/53/run_17536ab4-5dc5-49d3-9e4e-95e0a9259b43/png/run_17536ab4-5dc5-49d3-9e4e-95e0a9259b43_fuels-dens_2100_000.png +8,255,0.5,ST5_FF_DUET,ST5_ignite_contour,safe,safe,Marginal,,133431,https://wifire-data.sdsc.edu/data//burnpro3d/d/e7/a3/run_e7a36fa6-e86d-48eb-b87a-932749c41981/png/run_e7a36fa6-e86d-48eb-b87a-932749c41981_fuels-dens_2100_000.png +8,240,0.5,ST5_FF_DUET,ST5_ignite_strip,safe,unsafe,No,Escape,112415,https://wifire-data.sdsc.edu/data//burnpro3d/d/5d/29/run_5d297bb1-5144-4caf-a4b8-f447fac147e3/png/run_5d297bb1-5144-4caf-a4b8-f447fac147e3_fuels-dens_2100_000.png +2,175,0.5,ST5_FF_DUET,ST5_ignite_contour,safe,safe,No,Inadequate consumption,119304,https://wifire-data.sdsc.edu/data//burnpro3d/d/96/33/run_96333209-18a3-4143-91f1-8958ee22da3e/png/run_96333209-18a3-4143-91f1-8958ee22da3e_fuels-dens_2100_000.png +8,240,0.5,ST5_FF_DUET,ST5_ignite_ring,safe,safe,No,Inadequate consumption,27289,https://wifire-data.sdsc.edu/data//burnpro3d/d/80/16/run_8016b5b6-7870-4b79-ba6a-f267745ad540/png/run_8016b5b6-7870-4b79-ba6a-f267745ad540_fuels-dens_2100_000.png +12,180,0.5,ST5_FF_DUET,ST5_ignite_ring,unsafe,unsafe,No,Escape/indaequate consumption,32926,https://wifire-data.sdsc.edu/data//burnpro3d/d/a6/4e/run_a64e5d6c-696f-4793-9703-b2aa46d547ad/png/run_a64e5d6c-696f-4793-9703-b2aa46d547ad_fuels-dens_2100_000.png +8,225,0.5,ST5_FF_DUET,ST5_ignite_contour,safe,safe,Yes,,89547,https://wifire-data.sdsc.edu/data//burnpro3d/d/0e/aa/run_0eaa73e8-b2b1-4836-be05-0e1aca73b055/png/run_0eaa73e8-b2b1-4836-be05-0e1aca73b055_fuels-dens_2100_000.png +12,270,0.5,ST5_FFDUET_TLS,ST5_ignite_strip,safe,safe,Yes,,97871,https://wifire-data.sdsc.edu/data//burnpro3d/d/2e/cf/run_2ecf2701-ce54-4588-9346-09f4a1d6d5a0/png/run_2ecf2701-ce54-4588-9346-09f4a1d6d5a0_fuels-dens_2100_000.png +12,270,0.5,ST5_FFDUET_TLS,ST5_ignite_ring,safe,safe,No,Inadequate consumption,145472,https://wifire-data.sdsc.edu/data//burnpro3d/d/61/3b/run_613b81ac-fa2b-4bb2-88d4-28f0c86881c7/png/run_613b81ac-fa2b-4bb2-88d4-28f0c86881c7_fuels-dens_2100_000.png +12,270,0.5,ST5_FFDUET_TLS,ST5_ignite_contour,safe,safe,Marginal,,76174,https://wifire-data.sdsc.edu/data//burnpro3d/d/de/f0/run_def049ca-4882-4991-b7cf-144f988b4f1d/png/run_def049ca-4882-4991-b7cf-144f988b4f1d_fuels-dens_2100_000.png +12,175,0.5,ST5_FF_DUET,ST5_ignite_contour,unsafe,unsafe,No,Escape/Inadequate consumption,133313,https://wifire-data.sdsc.edu/data//burnpro3d/d/38/fb/run_38fbd8da-e67e-4f97-8166-b9115995f13e/png/run_38fbd8da-e67e-4f97-8166-b9115995f13e_fuels-dens_2100_000.png +12,175,0.5,ST5_FF_DUET,ST5_ignite_ring,unsafe,unsafe,No,Escape/Inadequate consumption,144956,https://wifire-data.sdsc.edu/data//burnpro3d/d/55/c5/run_55c50808-d0ce-41d2-ab02-44aa92998fa2/png/run_55c50808-d0ce-41d2-ab02-44aa92998fa2_fuels-dens_2100_000.png +12,175,0.5,ST5_FF_DUET,ST5_ignite_strip,unsafe,unsafe,no,Unsafe/marginal consumption,141888,https://wifire-data.sdsc.edu/data//burnpro3d/d/9d/72/run_9d72d862-6be1-44bd-b0cf-40544617f069/png/run_9d72d862-6be1-44bd-b0cf-40544617f069_fuels-dens_2100_000.png +8,240,0.5,ST5_FF_DUET,ST5_ignite_contour,safe,safe,Yes,,139182,https://wifire-data.sdsc.edu/data//burnpro3d/d/ea/16/run_ea162642-6432-469b-9c95-bfd581807fe0/png/run_ea162642-6432-469b-9c95-bfd581807fe0_fuels-dens_2100_000.png +12,195,0.5,ST5_FFDUET_TLS,ST5_ignite_ring,unsafe,unsafe,No,Escape,77494,https://wifire-data.sdsc.edu/data//burnpro3d/d/cf/f1/run_cff12211-9b40-49aa-b220-7d44d0e5dd1f/png/run_cff12211-9b40-49aa-b220-7d44d0e5dd1f_fuels-dens_2100_000.png +12,195,0.5,ST5_FFDUET_TLS,ST5_ignite_contour,unsafe,unsafe,No,Escape,104755,https://wifire-data.sdsc.edu/data//burnpro3d/d/6b/5d/run_6b5d58e9-b9e1-4387-a09a-b8255db5eff3/png/run_6b5d58e9-b9e1-4387-a09a-b8255db5eff3_fuels-dens_2100_000.png +12,225,0.5,ST5_FF_DUET,ST5_ignite_strip,unsafe,unsafe,No,Escape,125146,https://wifire-data.sdsc.edu/data//burnpro3d/d/a7/c1/run_a7c143b2-914a-43e3-96d2-d30a246c05f9/png/run_a7c143b2-914a-43e3-96d2-d30a246c05f9_fuels-dens_2100_000.png +2,225,0.5,ST5_FF_DUET,ST5_ignite_ring,safe,safe,No,Inadequate consumption,185848,https://wifire-data.sdsc.edu/data//burnpro3d/d/4c/70/run_4c707026-6a86-4dbd-b0e7-fd9483217a06/png/run_4c707026-6a86-4dbd-b0e7-fd9483217a06_fuels-dens_2100_000.png +2,225,0.5,ST5_FF_DUET,ST5_ignite_strip,safe,safe,yes,,22885,https://wifire-data.sdsc.edu/data//burnpro3d/d/de/41/run_de416f12-92e4-48e2-94eb-5697ff40f554/png/run_de416f12-92e4-48e2-94eb-5697ff40f554_fuels-dens_2100_000.png +12,270,0.5,ST5_FF_DUET,ST5_ignite_contour,safe,safe,Marginal,,74429,https://wifire-data.sdsc.edu/data//burnpro3d/d/05/26/run_05261b2d-53d6-4f07-8e55-a654d39402d9/png/run_05261b2d-53d6-4f07-8e55-a654d39402d9_fuels-dens_2100_000.png +12,270,0.5,ST5_FF_DUET,ST5_ignite_ring,safe,safe,No,Inadequate consumption,39622,https://wifire-data.sdsc.edu/data//burnpro3d/d/f1/3c/run_f13c44f5-cae1-4299-afc5-ae23ed04d832/png/run_f13c44f5-cae1-4299-afc5-ae23ed04d832_fuels-dens_2100_000.png +12,270,0.5,ST5_FF_DUET,ST5_ignite_strip,safe,safe,Marginal,,102307,https://wifire-data.sdsc.edu/data//burnpro3d/d/a1/72/run_a1725c4f-27cd-443f-9a55-748bba779ac6/png/run_a1725c4f-27cd-443f-9a55-748bba779ac6_fuels-dens_2100_000.png +2,240,0.5,ST5_FF_DUET,ST5_ignite_contour,safe,safe,No,Inadequate consumption,130823,https://wifire-data.sdsc.edu/data//burnpro3d/d/d1/29/run_d129699b-d0c3-477d-b8fe-f6ec2d5017f9/png/run_d129699b-d0c3-477d-b8fe-f6ec2d5017f9_fuels-dens_2100_000.png +2,240,0.5,ST5_FF_DUET,ST5_ignite_ring,safe,safe,No,Inadequate consumption,18917,https://wifire-data.sdsc.edu/data//burnpro3d/d/d4/e0/run_d4e00d48-f422-467e-95fb-509fe0c54f93/png/run_d4e00d48-f422-467e-95fb-509fe0c54f93_fuels-dens_2100_000.png +8,255,0.5,ST5_FFDUET_TLS,ST5_ignite_strip,safe,safe,yes,,102428,https://wifire-data.sdsc.edu/data//burnpro3d/d/59/b9/run_59b9f6a5-aa79-452d-ae59-ff7638aa3aa2/png/run_59b9f6a5-aa79-452d-ae59-ff7638aa3aa2_fuels-dens_2100_000.png +2,225,0.5,ST5_FF_DUET,ST5_ignite_contour,safe,safe,No,Inadequate consumption,101183,https://wifire-data.sdsc.edu/data//burnpro3d/d/fa/e9/run_fae9f1aa-7aab-4acf-9e15-9f16c12944eb/png/run_fae9f1aa-7aab-4acf-9e15-9f16c12944eb_fuels-dens_2100_000.png +8,255,0.5,ST5_FFDUET_TLS,ST5_ignite_ring,safe,safe,No,Inadequate consumption,26706,https://wifire-data.sdsc.edu/data//burnpro3d/d/17/16/run_1716b434-66de-4c4b-957b-d57c02c023f4/png/run_1716b434-66de-4c4b-957b-d57c02c023f4_fuels-dens_2100_000.png +8,195,0.5,ST5_FF_DUET,ST5_ignite_contour,safe,safe,Marginal,,83734,https://wifire-data.sdsc.edu/data//burnpro3d/d/de/3d/run_de3dd42b-16ca-4203-b254-68b818dac0f7/png/run_de3dd42b-16ca-4203-b254-68b818dac0f7_fuels-dens_2100_000.png +8,240,0.5,ST5_FFDUET_TLS,ST5_ignite_strip,safe,safe,Yes,,142399,https://wifire-data.sdsc.edu/data//burnpro3d/d/fe/22/run_fe224b5f-47f7-4b2b-9170-ed15cf377428/png/run_fe224b5f-47f7-4b2b-9170-ed15cf377428_fuels-dens_2100_000.png +8,240,0.5,ST5_FFDUET_TLS,ST5_ignite_ring,unsafe,unsafe,No,Inadequate consumption/escape,25169,https://wifire-data.sdsc.edu/data//burnpro3d/d/a2/83/run_a2838a97-7fb4-4f5b-a3ef-6560d4aea827/png/run_a2838a97-7fb4-4f5b-a3ef-6560d4aea827_fuels-dens_2100_000.png +8,240,0.5,ST5_FFDUET_TLS,ST5_ignite_contour,safe,safe,yes,,85407,https://wifire-data.sdsc.edu/data//burnpro3d/d/d6/d5/run_d6d5b09c-15be-469f-8bde-3f9a3181f7d9/png/run_d6d5b09c-15be-469f-8bde-3f9a3181f7d9_fuels-dens_2100_000.png +8,180,0.5,ST5_FF_DUET,ST5_ignite_strip,unsafe,unsafe,No,Escape,124708,https://wifire-data.sdsc.edu/data//burnpro3d/d/be/a2/run_bea23cee-d629-4172-9432-5c77e3076f90/png/run_bea23cee-d629-4172-9432-5c77e3076f90_fuels-dens_2100_000.png +8,180,0.5,ST5_FF_DUET,ST5_ignite_ring,unsafe,unsafe,No,Escape/inadequate consumption,36225,https://wifire-data.sdsc.edu/data//burnpro3d/d/3b/82/run_3b825468-ef4e-4d87-9c82-46ad77fc2564/png/run_3b825468-ef4e-4d87-9c82-46ad77fc2564_fuels-dens_2100_000.png +8,225,0.5,ST5_FFDUET_TLS,ST5_ignite_strip,unsafe,unsafe,No,Escape,117821,https://wifire-data.sdsc.edu/data//burnpro3d/d/91/49/run_91494686-fa40-4c47-8123-d4dd6a6a61ac/png/run_91494686-fa40-4c47-8123-d4dd6a6a61ac_fuels-dens_2100_000.png +8,225,0.5,ST5_FFDUET_TLS,ST5_ignite_ring,unsafe,unsafe,No,Escape/inadequate consumption,109226,https://wifire-data.sdsc.edu/data//burnpro3d/d/81/b9/run_81b95b37-4076-427d-b697-c5a586fe8b24/png/run_81b95b37-4076-427d-b697-c5a586fe8b24_fuels-dens_2100_000.png +8,255,0.5,ST5_FFDUET_TLS,ST5_ignite_contour,safe,safe,Marginal,,76561,https://wifire-data.sdsc.edu/data//burnpro3d/d/c0/3b/run_c03b005f-8a5e-4749-9849-e7f1540dd39f/png/run_c03b005f-8a5e-4749-9849-e7f1540dd39f_fuels-dens_2100_000.png +8,195,0.5,ST5_FF_DUET,ST5_ignite_ring,unsafe,unsafe,No,Escape/inadequate consumption,33368,https://wifire-data.sdsc.edu/data//burnpro3d/d/60/0b/run_600bb85c-99ae-4099-ae3d-61437fb8ac3a/png/run_600bb85c-99ae-4099-ae3d-61437fb8ac3a_fuels-dens_2100_000.png +8,195,0.5,ST5_FF_DUET,ST5_ignite_strip,unsafe,unsafe,No,Escape/inadequate consumption,104552,https://wifire-data.sdsc.edu/data//burnpro3d/d/5d/9a/run_5d9ab4c9-a38d-484f-9727-c661c5691400/png/run_5d9ab4c9-a38d-484f-9727-c661c5691400_fuels-dens_2100_000.png +2,255,0.5,ST5_FFDUET_Over10m,ST5_ignite_ring,safe,safe,No,Inadequate consumption,154441,https://wifire-data.sdsc.edu/data//burnpro3d/d/8d/14/run_8d1406aa-9038-4f87-b297-6d551c7ea091/png/run_8d1406aa-9038-4f87-b297-6d551c7ea091_fuels-dens_2100_000.png +12,180,0.5,ST5_FFDUET_TLS,ST5_ignite_strip,unsafe,unsafe,No,Escape,95909,https://wifire-data.sdsc.edu/data//burnpro3d/d/c3/48/run_c34810a0-fd6e-47bb-9a4f-2e1912b6de5e/png/run_c34810a0-fd6e-47bb-9a4f-2e1912b6de5e_fuels-dens_2100_000.png +12,180,0.5,ST5_FFDUET_TLS,ST5_ignite_ring,unsafe,unsafe,no,Esacpe/inadequate consumption,121674,https://wifire-data.sdsc.edu/data//burnpro3d/d/8c/6e/run_8c6e28a6-eca4-4bb2-a50c-2967a772f459/png/run_8c6e28a6-eca4-4bb2-a50c-2967a772f459_fuels-dens_2100_000.png +12,180,0.5,ST5_FFDUET_TLS,ST5_ignite_contour,safe,safe,No,Inadequate consumption,76008,https://wifire-data.sdsc.edu/data//burnpro3d/d/43/ca/run_43cad91f-e0aa-484c-a820-57836b54d2af/png/run_43cad91f-e0aa-484c-a820-57836b54d2af_fuels-dens_2100_000.png +12,240,0.5,ST5_FF_DUET,ST5_ignite_contour,safe,safe,Yes,,83800,https://wifire-data.sdsc.edu/data//burnpro3d/d/25/ee/run_25eeb2af-3399-489f-9b97-f993f4c6987f/png/run_25eeb2af-3399-489f-9b97-f993f4c6987f_fuels-dens_2100_000.png +12,240,0.5,ST5_FF_DUET,ST5_ignite_ring,unsafe,unsafe,No,Escape/indaequate consumption,36569,https://wifire-data.sdsc.edu/data//burnpro3d/d/a9/e0/run_a9e01c2e-99c8-44c2-a392-abe2d5439197/png/run_a9e01c2e-99c8-44c2-a392-abe2d5439197_fuels-dens_2100_000.png +12,175,0.5,ST5_FFDUET_TLS,ST5_ignite_strip,unsafe,unsafe,No,Escape,102983,https://wifire-data.sdsc.edu/data//burnpro3d/d/fb/2d/run_fb2d7ec5-6920-4930-93a5-07112af1616d/png/run_fb2d7ec5-6920-4930-93a5-07112af1616d_fuels-dens_2100_000.png +12,175,0.5,ST5_FFDUET_TLS,ST5_ignite_ring,unsafe,unsafe,No,Escape/indaequate consumption,36137,https://wifire-data.sdsc.edu/data//burnpro3d/d/43/89/run_438931a0-f9e5-4749-a4f2-083083e6a0b9/png/run_438931a0-f9e5-4749-a4f2-083083e6a0b9_fuels-dens_2100_000.png +12,175,0.5,ST5_FFDUET_TLS,ST5_ignite_contour,safe,unsafe,No,Escape/indaequate consumption,173535,https://wifire-data.sdsc.edu/data//burnpro3d/d/40/d9/run_40d9c8fe-b046-437d-8243-afd5314d9c72/png/run_40d9c8fe-b046-437d-8243-afd5314d9c72_fuels-dens_2100_000.png +12,240,0.5,ST5_FF_DUET,ST5_ignite_strip,unsafe,unsafe,No,Escape,144965,https://wifire-data.sdsc.edu/data//burnpro3d/d/a5/ba/run_a5ba7ecf-6350-486d-a168-ee9ac981a354/png/run_a5ba7ecf-6350-486d-a168-ee9ac981a354_fuels-dens_2100_000.png +12,255,0.5,ST5_FF_DUET,ST5_ignite_contour,safe,safe,Marginal,,82642,https://wifire-data.sdsc.edu/data//burnpro3d/d/5b/1e/run_5b1ec8e8-233e-430b-9ffa-f2dbc794cf9b/png/run_5b1ec8e8-233e-430b-9ffa-f2dbc794cf9b_fuels-dens_2100_000.png +12,255,0.5,ST5_FF_DUET,ST5_ignite_ring,unsafe,unsafe,No,Escape/inadequate consumption,111334,https://wifire-data.sdsc.edu/data//burnpro3d/d/d6/7c/run_d67c55ea-1dc8-491a-9576-f2374d872e42/png/run_d67c55ea-1dc8-491a-9576-f2374d872e42_fuels-dens_2100_000.png +12,255,0.5,ST5_FF_DUET,ST5_ignite_strip,unsafe,unsafe,No,Escape,178599,https://wifire-data.sdsc.edu/data//burnpro3d/d/ac/7e/run_ac7e9656-566e-4bde-a0c8-62ddf1f7ede1/png/run_ac7e9656-566e-4bde-a0c8-62ddf1f7ede1_fuels-dens_2100_000.png +8,225,0.5,ST5_FF_DUET,ST5_ignite_strip,unsafe,unsafe,No,Escape,115222,https://wifire-data.sdsc.edu/data//burnpro3d/d/d2/3d/run_d23d749b-3c94-49d1-b75e-11a3a4229101/png/run_d23d749b-3c94-49d1-b75e-11a3a4229101_fuels-dens_2100_000.png +2,195,0.5,ST5_FF_DUET,ST5_ignite_contour,safe,safe,Marginal,,68269,https://wifire-data.sdsc.edu/data//burnpro3d/d/15/db/run_15db03d1-b4bb-4fb5-be54-02f4f4382e76/png/run_15db03d1-b4bb-4fb5-be54-02f4f4382e76_fuels-dens_2100_000.png +2,195,0.5,ST5_FF_DUET,ST5_ignite_ring,safe,safe,No,Inadequate consumption,21804,https://wifire-data.sdsc.edu/data//burnpro3d/d/8a/be/run_8abebaa2-4d37-4093-9ef0-cdc4e1956dd4/png/run_8abebaa2-4d37-4093-9ef0-cdc4e1956dd4_fuels-dens_2100_000.png +2,195,0.5,ST5_FF_DUET,ST5_ignite_strip,safe,safe,Yes,,125833,https://wifire-data.sdsc.edu/data//burnpro3d/d/de/57/run_de5743a3-b346-4a13-90a8-2839ecf2fdb3/png/run_de5743a3-b346-4a13-90a8-2839ecf2fdb3_fuels-dens_2100_000.png +8,225,0.5,ST5_FF_DUET,ST5_ignite_ring,unsafe,unsafe,No,Escape/inadequate consumption,130635,https://wifire-data.sdsc.edu/data//burnpro3d/d/47/66/run_47665f4f-11c3-42c5-bc36-56fac33303f1/png/run_47665f4f-11c3-42c5-bc36-56fac33303f1_fuels-dens_2100_000.png +8,270,0.5,ST5_FFDUET_TLS,ST5_ignite_strip,safe,safe,Yes,,97011,https://wifire-data.sdsc.edu/data//burnpro3d/d/1a/cf/run_1acf74c8-1047-4b1a-91b5-163011b200b0/png/run_1acf74c8-1047-4b1a-91b5-163011b200b0_fuels-dens_2100_000.png +8,270,0.5,ST5_FFDUET_TLS,ST5_ignite_ring,safe,safe,No,Inadequate consumption,27781,https://wifire-data.sdsc.edu/data//burnpro3d/d/fa/9a/run_fa9a8975-5d8c-4859-80eb-12e512b05cf9/png/run_fa9a8975-5d8c-4859-80eb-12e512b05cf9_fuels-dens_2100_000.png +8,180,0.5,ST5_FF_DUET,ST5_ignite_contour,safe,safe,Marginal,,113635,https://wifire-data.sdsc.edu/data//burnpro3d/d/48/2c/run_482c457d-5fbc-478d-8970-0d9919b1b59b/png/run_482c457d-5fbc-478d-8970-0d9919b1b59b_fuels-dens_2100_000.png +2,255,0.5,ST5_FFDUET_Over10m,ST5_ignite_strip,safe,safe,Marginal,,63981,https://wifire-data.sdsc.edu/data//burnpro3d/d/1b/fb/run_1bfb2881-48b8-493b-b365-784e8ca7a9ca/png/run_1bfb2881-48b8-493b-b365-784e8ca7a9ca_fuels-dens_2100_000.png +3,270,0.5,ST5_FFDUET_TLS,ST5_ignite_strip,safe,safe,Yes,,152751,https://wifire-data.sdsc.edu/data//burnpro3d/d/51/98/run_51988f95-b39b-4718-963f-191b00239f4d/png/run_51988f95-b39b-4718-963f-191b00239f4d_fuels-dens_2100_000.png +5,225,0.5,ST5_FFDUET_TLS,ST5_ignite_ring,safe,safe,No,Inadequate consumption,169831,https://wifire-data.sdsc.edu/data//burnpro3d/d/34/19/run_3419307b-c97e-454c-9218-8aed2d38c80e/png/run_3419307b-c97e-454c-9218-8aed2d38c80e_fuels-dens_2100_000.png +3,255,0.5,ST5_FF_DUET,ST5_ignite_strip,safe,safe,Yes,,144692,https://wifire-data.sdsc.edu/data//burnpro3d/d/d0/7d/run_d07d4ab6-dbff-40fb-b554-a8a673a8e85b/png/run_d07d4ab6-dbff-40fb-b554-a8a673a8e85b_fuels-dens_2100_000.png +5,225,0.5,ST5_FFDUET_Over10m,ST5_ignite_strip,safe,safe,Yes,,106579,https://wifire-data.sdsc.edu/data//burnpro3d/d/05/87/run_05875ec2-07f2-46b9-be5c-750e68a68811/png/run_05875ec2-07f2-46b9-be5c-750e68a68811_fuels-dens_2100_000.png +12,270,0.5,ST5_FFDUET_Over10m,ST5_ignite_strip,safe,safe,Marginal,,148424,https://wifire-data.sdsc.edu/data//burnpro3d/d/10/4a/run_104a6ae2-f171-4a06-9ce9-e78512b5ddf9/png/run_104a6ae2-f171-4a06-9ce9-e78512b5ddf9_fuels-dens_2100_000.png +12,270,0.5,ST5_FFDUET_Over10m,ST5_ignite_ring,safe,safe,No,Inadequate consumption,32849,https://wifire-data.sdsc.edu/data//burnpro3d/d/c5/ba/run_c5ba8518-80d3-4027-a57c-66dcba67754a/png/run_c5ba8518-80d3-4027-a57c-66dcba67754a_fuels-dens_2100_000.png +12,270,0.5,ST5_FFDUET_Over10m,ST5_ignite_contour,safe,safe,Marginal,,125595,https://wifire-data.sdsc.edu/data//burnpro3d/d/3d/41/run_3d4159cd-4978-4a62-a9a1-ff45ed78022b/png/run_3d4159cd-4978-4a62-a9a1-ff45ed78022b_fuels-dens_2100_000.png +5,240,0.5,ST5_FFDUET_Over10m,ST5_ignite_contour,safe,safe,Marginal,,73848,https://wifire-data.sdsc.edu/data//burnpro3d/d/30/bf/run_30bf0c86-6274-49fb-bc46-ec5cbdae7da1/png/run_30bf0c86-6274-49fb-bc46-ec5cbdae7da1_fuels-dens_2100_000.png +5,240,0.5,ST5_FFDUET_Over10m,ST5_ignite_ring,safe,safe,No,Inadequate consumption,22671,https://wifire-data.sdsc.edu/data//burnpro3d/d/b2/49/run_b2495079-7fef-4144-8f8f-f818555a9788/png/run_b2495079-7fef-4144-8f8f-f818555a9788_fuels-dens_2100_000.png +5,240,0.5,ST5_FFDUET_Over10m,ST5_ignite_strip,safe,safe,Yes,,147482,https://wifire-data.sdsc.edu/data//burnpro3d/d/a5/ea/run_a5ea3134-1162-4381-a7fd-3ae40b535286/png/run_a5ea3134-1162-4381-a7fd-3ae40b535286_fuels-dens_2100_000.png +5,255,0.5,ST5_FFDUET_Over10m,ST5_ignite_contour,safe,safe,No,Inadequate consumption,67076,https://wifire-data.sdsc.edu/data//burnpro3d/d/7f/a0/run_7fa0264d-a245-436b-9415-eb0b3755f013/png/run_7fa0264d-a245-436b-9415-eb0b3755f013_fuels-dens_2100_000.png +5,255,0.5,ST5_FFDUET_Over10m,ST5_ignite_ring,safe,safe,No,InadSafe,98591,https://wifire-data.sdsc.edu/data//burnpro3d/d/28/9b/run_289b476a-dc2b-49ef-8748-8ef5f9ff0270/png/run_289b476a-dc2b-49ef-8748-8ef5f9ff0270_fuels-dens_2100_000.png +5,255,0.5,ST5_FFDUET_Over10m,ST5_ignite_strip,other,other,,,102039,https://wifire-data.sdsc.edu/data//burnpro3d/d/3a/13/run_3a1305d1-cb64-414b-81bf-228424518ccb/png/run_3a1305d1-cb64-414b-81bf-228424518ccb_fuels-dens_2100_000.png +3,270,0.5,ST5_FF_DUET,ST5_ignite_contour,safe,safe,No,Inadequate consumption,171794,https://wifire-data.sdsc.edu/data//burnpro3d/d/c6/53/run_c6538f9c-a938-4aa6-aac8-cd54e43354cb/png/run_c6538f9c-a938-4aa6-aac8-cd54e43354cb_fuels-dens_2100_000.png +3,270,0.5,ST5_FF_DUET,ST5_ignite_ring,safe,safe,No,Inadequate consumption,18447,https://wifire-data.sdsc.edu/data//burnpro3d/d/41/d2/run_41d2ae7f-b9c8-4228-a95e-a42629c1899c/png/run_41d2ae7f-b9c8-4228-a95e-a42629c1899c_fuels-dens_2100_000.png +12,255,0.5,ST5_FFDUET_Over10m,ST5_ignite_strip,unsafe,unsafe,No,Escape,119123,https://wifire-data.sdsc.edu/data//burnpro3d/d/c7/3f/run_c73f693a-395e-4c77-aa85-b3c4bbe61fe4/png/run_c73f693a-395e-4c77-aa85-b3c4bbe61fe4_fuels-dens_2100_000.png +12,255,0.5,ST5_FFDUET_Over10m,ST5_ignite_ring,safe,safe,No,Inadequate consumption,183514,https://wifire-data.sdsc.edu/data//burnpro3d/d/22/67/run_2267b2c7-862e-4bbd-883c-12b8c760394c/png/run_2267b2c7-862e-4bbd-883c-12b8c760394c_fuels-dens_2100_000.png +12,255,0.5,ST5_FFDUET_Over10m,ST5_ignite_contour,safe,safe,Marginal,,107570,https://wifire-data.sdsc.edu/data//burnpro3d/d/23/45/run_23459fc8-de7f-426e-97f3-af528130a030/png/run_23459fc8-de7f-426e-97f3-af528130a030_fuels-dens_2100_000.png +5,225,0.5,ST5_FF_DUET,ST5_ignite_strip,safe,safe,Yes,,92118,https://wifire-data.sdsc.edu/data//burnpro3d/d/f3/11/run_f311b344-268f-4589-bb88-896ad7a37cc1/png/run_f311b344-268f-4589-bb88-896ad7a37cc1_fuels-dens_2100_000.png +5,225,0.5,ST5_FF_DUET,ST5_ignite_ring,safe,safe,No,Inadequate consumption,23564,https://wifire-data.sdsc.edu/data//burnpro3d/d/55/f2/run_55f2ee50-dcf3-4b8a-b624-aa1ad9ebf653/png/run_55f2ee50-dcf3-4b8a-b624-aa1ad9ebf653_fuels-dens_2100_000.png +12,240,0.5,ST5_FFDUET_Over10m,ST5_ignite_ring,unsafe,unsafe,No,Escape/Inadequate consumption,159065,https://wifire-data.sdsc.edu/data//burnpro3d/d/a5/ba/run_a5ba8a3f-bf77-49f6-9930-456283334876/png/run_a5ba8a3f-bf77-49f6-9930-456283334876_fuels-dens_2100_000.png +3,255,0.5,ST5_FF_DUET,ST5_ignite_ring,safe,safe,No,Inadequate consumption,130958,https://wifire-data.sdsc.edu/data//burnpro3d/d/ba/40/run_ba407abc-cb15-40aa-8a00-92b34d9f4b35/png/run_ba407abc-cb15-40aa-8a00-92b34d9f4b35_fuels-dens_2100_000.png +12,240,0.5,ST5_FFDUET_Over10m,ST5_ignite_contour,unsafe,unsafe,No,Escape,92101,https://wifire-data.sdsc.edu/data//burnpro3d/d/43/1e/run_431e2742-65a0-4d4e-9968-38b1278220bb/png/run_431e2742-65a0-4d4e-9968-38b1278220bb_fuels-dens_2100_000.png +3,255,0.5,ST5_FF_DUET,ST5_ignite_contour,safe,safe,No,Inadequate consumption,97542,https://wifire-data.sdsc.edu/data//burnpro3d/d/3a/96/run_3a96ac5f-4f1e-40f6-8b15-17591f7724eb/png/run_3a96ac5f-4f1e-40f6-8b15-17591f7724eb_fuels-dens_2100_000.png +5,225,0.5,ST5_FFDUET_Over10m,ST5_ignite_contour,safe,safe,Marginal,,78689,https://wifire-data.sdsc.edu/data//burnpro3d/d/4a/bb/run_4abb1980-1639-41d2-8e67-e592f5f53528/png/run_4abb1980-1639-41d2-8e67-e592f5f53528_fuels-dens_2100_000.png +2,225,0.5,ST5_FFDUET_TLS,ST5_ignite_strip,safe,safe,Yes,,86037,https://wifire-data.sdsc.edu/data//burnpro3d/d/52/80/run_5280fe79-4fb0-496e-9a46-64ecc3fb59d8/png/run_5280fe79-4fb0-496e-9a46-64ecc3fb59d8_fuels-dens_2100_000.png +2,225,0.5,ST5_FFDUET_TLS,ST5_ignite_ring,safe,safe,No,Inadequate consumption,19771,https://wifire-data.sdsc.edu/data//burnpro3d/d/da/15/run_da15eb0e-e994-4b2c-b195-e2ddb0365fb1/png/run_da15eb0e-e994-4b2c-b195-e2ddb0365fb1_fuels-dens_2100_000.png +2,225,0.5,ST5_FFDUET_TLS,ST5_ignite_contour,safe,safe,No,Inadequate consumption,69850,https://wifire-data.sdsc.edu/data//burnpro3d/d/fb/a1/run_fba1767c-dd73-42b6-ad94-1a26ac0f8c1f/png/run_fba1767c-dd73-42b6-ad94-1a26ac0f8c1f_fuels-dens_2100_000.png +2,195,0.5,ST5_FFDUET_TLS,ST5_ignite_strip,safe,safe,Yes,,71940,https://wifire-data.sdsc.edu/data//burnpro3d/d/a4/bd/run_a4bd2f87-cee5-4fbe-8dcd-9a917d1df347/png/run_a4bd2f87-cee5-4fbe-8dcd-9a917d1df347_fuels-dens_2100_000.png +2,195,0.5,ST5_FFDUET_TLS,ST5_ignite_ring,safe,safe,No,Inadequate consumption,21566,https://wifire-data.sdsc.edu/data//burnpro3d/d/59/a9/run_59a96ed1-4077-4fd3-9e7a-f9c9766dcf35/png/run_59a96ed1-4077-4fd3-9e7a-f9c9766dcf35_fuels-dens_2100_000.png +2,195,0.5,ST5_FFDUET_TLS,ST5_ignite_contour,safe,safe,No,Inadequate consumption,130012,https://wifire-data.sdsc.edu/data//burnpro3d/d/90/3d/run_903dd35f-1b57-4357-b3f8-3aea10ec4d03/png/run_903dd35f-1b57-4357-b3f8-3aea10ec4d03_fuels-dens_2100_000.png +5,180,0.5,ST5_FFDUET_Over10m,ST5_ignite_contour,safe,safe,No,Inadequate consumption,98063,https://wifire-data.sdsc.edu/data//burnpro3d/d/a6/8a/run_a68aee0c-82b5-40e1-92f5-3aea054276d3/png/run_a68aee0c-82b5-40e1-92f5-3aea054276d3_fuels-dens_2100_000.png +5,180,0.5,ST5_FFDUET_Over10m,ST5_ignite_ring,safe,safe,No,Inadequate consumption,30624,https://wifire-data.sdsc.edu/data//burnpro3d/d/e7/b0/run_e7b02bb9-4593-4e35-8bbe-3f64922689a1/png/run_e7b02bb9-4593-4e35-8bbe-3f64922689a1_fuels-dens_2100_000.png +2,180,0.5,ST5_FFDUET_TLS,ST5_ignite_strip,safe,safe,Yes,,94957,https://wifire-data.sdsc.edu/data//burnpro3d/d/ad/38/run_ad381011-1602-4dd8-bbf5-21239524fc42/png/run_ad381011-1602-4dd8-bbf5-21239524fc42_fuels-dens_2100_000.png +2,180,0.5,ST5_FFDUET_TLS,ST5_ignite_ring,safe,safe,No,Inadequate consumption,184262,https://wifire-data.sdsc.edu/data//burnpro3d/d/06/b7/run_06b7fa6b-2ec2-4e6b-b059-092112eb58d6/png/run_06b7fa6b-2ec2-4e6b-b059-092112eb58d6_fuels-dens_2100_000.png +2,180,0.5,ST5_FFDUET_TLS,ST5_ignite_contour,safe,safe,Inadequate consumption,,117861,https://wifire-data.sdsc.edu/data//burnpro3d/d/e2/56/run_e256c3ea-a4f1-4a0b-8a9c-1a67fe03bd31/png/run_e256c3ea-a4f1-4a0b-8a9c-1a67fe03bd31_fuels-dens_2100_000.png +5,180,0.5,ST5_FFDUET_Over10m,ST5_ignite_strip,safe,safe,Yes,,98462,https://wifire-data.sdsc.edu/data//burnpro3d/d/b9/59/run_b9592ce4-4813-4364-967e-4f977801297c/png/run_b9592ce4-4813-4364-967e-4f977801297c_fuels-dens_2100_000.png +2,175,0.5,ST5_FFDUET_TLS,ST5_ignite_strip,safe,safe,Yes,,136619,https://wifire-data.sdsc.edu/data//burnpro3d/d/e7/fd/run_e7fd2e2e-c078-47a2-849c-d7f86a92c4ed/png/run_e7fd2e2e-c078-47a2-849c-d7f86a92c4ed_fuels-dens_2100_000.png +2,175,0.5,ST5_FFDUET_TLS,ST5_ignite_ring,safe,safe,No,Inadequate consumption,22673,https://wifire-data.sdsc.edu/data//burnpro3d/d/80/e4/run_80e4f961-1b5d-4cf2-9135-b835a55f2614/png/run_80e4f961-1b5d-4cf2-9135-b835a55f2614_fuels-dens_2100_000.png +2,175,0.5,ST5_FFDUET_TLS,ST5_ignite_contour,safe,safe,Marginal,,66307,https://wifire-data.sdsc.edu/data//burnpro3d/d/58/23/run_582341a2-f075-4255-bcc6-0116bf74ba91/png/run_582341a2-f075-4255-bcc6-0116bf74ba91_fuels-dens_2100_000.png +5,195,0.5,ST5_FFDUET_Over10m,ST5_ignite_contour,safe,safe,Yes,,141555,https://wifire-data.sdsc.edu/data//burnpro3d/d/54/b3/run_54b30d86-e0e9-4c20-98ec-0fe92af87348/png/run_54b30d86-e0e9-4c20-98ec-0fe92af87348_fuels-dens_2100_000.png +5,195,0.5,ST5_FFDUET_Over10m,ST5_ignite_ring,safe,safe,No,Escape/inadequate consumption,79240,https://wifire-data.sdsc.edu/data//burnpro3d/d/25/7f/run_257ffc78-b2e2-450a-8e97-56742b149193/png/run_257ffc78-b2e2-450a-8e97-56742b149193_fuels-dens_2100_000.png +5,195,0.5,ST5_FFDUET_Over10m,ST5_ignite_strip,safe,safe,Yes,,102529,https://wifire-data.sdsc.edu/data//burnpro3d/d/82/67/run_82674e30-dcf9-4832-9849-85d86679553a/png/run_82674e30-dcf9-4832-9849-85d86679553a_fuels-dens_2100_000.png +3,240,0.5,ST5_FF_DUET,ST5_ignite_strip,safe,safe,Yes,,102962,https://wifire-data.sdsc.edu/data//burnpro3d/d/0f/0a/run_0f0aa91a-4164-4cc0-b713-671776c36b76/png/run_0f0aa91a-4164-4cc0-b713-671776c36b76_fuels-dens_2100_000.png +5,225,0.5,ST5_FFDUET_Over10m,ST5_ignite_ring,safe,safe,No,Escape/Inadequate consumption,23707,https://wifire-data.sdsc.edu/data//burnpro3d/d/4d/6b/run_4d6b91ef-de53-44ee-9065-fb25463393f0/png/run_4d6b91ef-de53-44ee-9065-fb25463393f0_fuels-dens_2100_000.png +5,175,0.5,ST5_FFDUET_Over10m,ST5_ignite_strip,safe,safe,Yes,,97731,https://wifire-data.sdsc.edu/data//burnpro3d/d/df/e1/run_dfe125a3-b8d3-4ff8-8fe1-a75692753934/png/run_dfe125a3-b8d3-4ff8-8fe1-a75692753934_fuels-dens_2100_000.png +5,225,0.5,ST5_FF_DUET,ST5_ignite_contour,safe,safe,Yes,,96312,https://wifire-data.sdsc.edu/data//burnpro3d/d/76/8e/run_768e227f-945e-4427-b1d8-83fe25dfa8ff/png/run_768e227f-945e-4427-b1d8-83fe25dfa8ff_fuels-dens_2100_000.png +12,225,0.5,ST5_FFDUET_Over10m,ST5_ignite_ring,unsafe,unsafe,No,Escape/inadequate consumption,48763,https://wifire-data.sdsc.edu/data//burnpro3d/d/85/68/run_8568af0f-d2b7-4064-a38d-2ecc4fab0cb3/png/run_8568af0f-d2b7-4064-a38d-2ecc4fab0cb3_fuels-dens_2100_000.png +8,270,0.5,ST5_FFDUET_Over10m,ST5_ignite_contour,safe,safe,Marginal,,73576,https://wifire-data.sdsc.edu/data//burnpro3d/d/ac/2b/run_ac2bd4e6-0cd4-405e-a17e-3a56e1c7b3a7/png/run_ac2bd4e6-0cd4-405e-a17e-3a56e1c7b3a7_fuels-dens_2100_000.png +8,175,0.5,ST5_FFDUET_Over10m,ST5_ignite_ring,unsafe,unsafe,No,Escape/Inadequate consumption,137257,https://wifire-data.sdsc.edu/data//burnpro3d/d/49/40/run_49409441-1b19-436e-a501-c41577761ec3/png/run_49409441-1b19-436e-a501-c41577761ec3_fuels-dens_2100_000.png +8,175,0.5,ST5_FFDUET_Over10m,ST5_ignite_strip,unsafe,unsafe,No,Escape,79567,https://wifire-data.sdsc.edu/data//burnpro3d/d/17/6c/run_176c8c3d-0666-4178-8a9f-ceacc28826d0/png/run_176c8c3d-0666-4178-8a9f-ceacc28826d0_fuels-dens_2100_000.png +8,180,0.5,ST5_FFDUET_Over10m,ST5_ignite_contour,safe,safe,No,Inadequate consumption,81195,https://wifire-data.sdsc.edu/data//burnpro3d/d/a7/33/run_a7331b6f-8e85-477a-9622-2eea48908255/png/run_a7331b6f-8e85-477a-9622-2eea48908255_fuels-dens_2100_000.png +8,180,0.5,ST5_FFDUET_Over10m,ST5_ignite_ring,unsafe,unsafe,No,Escape/Inadequate consumption,170755,https://wifire-data.sdsc.edu/data//burnpro3d/d/c0/01/run_c0017d09-9e04-4a80-8f39-fb22fd863ca5/png/run_c0017d09-9e04-4a80-8f39-fb22fd863ca5_fuels-dens_2100_000.png +8,180,0.5,ST5_FFDUET_Over10m,ST5_ignite_strip,unsafe,unsafe,no,Escape,124727,https://wifire-data.sdsc.edu/data//burnpro3d/d/8c/f6/run_8cf6e53f-353e-4b84-9755-37530ffda049/png/run_8cf6e53f-353e-4b84-9755-37530ffda049_fuels-dens_2100_000.png +5,175,0.5,ST5_FF_DUET,ST5_ignite_contour,safe,safe,Marginal,,75657,https://wifire-data.sdsc.edu/data//burnpro3d/d/3a/26/run_3a26fb50-916a-4bbb-a951-e6fc51636626/png/run_3a26fb50-916a-4bbb-a951-e6fc51636626_fuels-dens_2100_000.png +5,175,0.5,ST5_FF_DUET,ST5_ignite_ring,unsafe,unsafe,No,Escape/Inadequate consumption,40134,https://wifire-data.sdsc.edu/data//burnpro3d/d/53/b2/run_53b2399c-65ea-4813-b1ff-b5166b9db479/png/run_53b2399c-65ea-4813-b1ff-b5166b9db479_fuels-dens_2100_000.png +5,175,0.5,ST5_FF_DUET,ST5_ignite_strip,safe,safe,Yes,,116793,https://wifire-data.sdsc.edu/data//burnpro3d/d/67/ae/run_67ae49b2-c9ed-4363-bf3f-104ab9e47e34/png/run_67ae49b2-c9ed-4363-bf3f-104ab9e47e34_fuels-dens_2100_000.png +8,195,0.5,ST5_FFDUET_Over10m,ST5_ignite_contour,safe,safe,Marginal,,153173,https://wifire-data.sdsc.edu/data//burnpro3d/d/fa/d8/run_fad86f4a-c8f3-4146-b616-8c9f22e18d4d/png/run_fad86f4a-c8f3-4146-b616-8c9f22e18d4d_fuels-dens_2100_000.png +8,255,0.5,ST5_FFDUET_Over10m,ST5_ignite_strip,safe,safe,Yes,,91832,https://wifire-data.sdsc.edu/data//burnpro3d/d/15/f0/run_15f05a1e-ec53-451a-9a9b-836b05f88bc2/png/run_15f05a1e-ec53-451a-9a9b-836b05f88bc2_fuels-dens_2100_000.png +8,255,0.5,ST5_FFDUET_Over10m,ST5_ignite_ring,safe,safe,No,Inadequate consumption,139253,https://wifire-data.sdsc.edu/data//burnpro3d/d/e6/70/run_e6702b60-2c0f-46da-a736-c311817174b3/png/run_e6702b60-2c0f-46da-a736-c311817174b3_fuels-dens_2100_000.png +8,255,0.5,ST5_FFDUET_Over10m,ST5_ignite_contour,safe,safe,Marginal,,79016,https://wifire-data.sdsc.edu/data//burnpro3d/d/16/1d/run_161dc427-d769-46ac-893c-939ec4699721/png/run_161dc427-d769-46ac-893c-939ec4699721_fuels-dens_2100_000.png +8,195,0.5,ST5_FFDUET_Over10m,ST5_ignite_ring,unsafe,unsafe,No,Escape/INadequate consumption,94189,https://wifire-data.sdsc.edu/data//burnpro3d/d/88/b8/run_88b813b3-07ce-4742-b87e-0b76443da7f6/png/run_88b813b3-07ce-4742-b87e-0b76443da7f6_fuels-dens_2100_000.png +8,195,0.5,ST5_FFDUET_Over10m,ST5_ignite_strip,unsafe,unsafe,No,Escape,109083,https://wifire-data.sdsc.edu/data//burnpro3d/d/5e/cd/run_5ecd022e-3d41-4c5f-a15b-ebbd7c31c1c9/png/run_5ecd022e-3d41-4c5f-a15b-ebbd7c31c1c9_fuels-dens_2100_000.png +8,240,0.5,ST5_FFDUET_Over10m,ST5_ignite_strip,safe,safe,Yes,,109334,https://wifire-data.sdsc.edu/data//burnpro3d/d/68/02/run_6802fa99-1d7c-4107-8d3e-e00bba590680/png/run_6802fa99-1d7c-4107-8d3e-e00bba590680_fuels-dens_2100_000.png +8,240,0.5,ST5_FFDUET_Over10m,ST5_ignite_ring,unsafe,unsafe,No,Inadequate consumption,30276,https://wifire-data.sdsc.edu/data//burnpro3d/d/fd/80/run_fd8041c7-88a6-4a59-b10d-7bf95e733c03/png/run_fd8041c7-88a6-4a59-b10d-7bf95e733c03_fuels-dens_2100_000.png +8,240,0.5,ST5_FFDUET_Over10m,ST5_ignite_contour,safe,safe,Yes,,85802,https://wifire-data.sdsc.edu/data//burnpro3d/d/7e/d6/run_7ed6e6e0-0d8b-4cbd-9eb2-b8a08b5b1c9c/png/run_7ed6e6e0-0d8b-4cbd-9eb2-b8a08b5b1c9c_fuels-dens_2100_000.png +8,225,0.5,ST5_FFDUET_Over10m,ST5_ignite_contour,other,other,,,146122,https://wifire-data.sdsc.edu/data//burnpro3d/d/a2/c7/run_a2c78b4f-58f3-422b-8105-1ea8b73f203f/png/run_a2c78b4f-58f3-422b-8105-1ea8b73f203f_fuels-dens_2100_000.png +8,270,0.5,ST5_FFDUET_Over10m,ST5_ignite_ring,safe,safe,No,Inadequate consumption,29940,https://wifire-data.sdsc.edu/data//burnpro3d/d/a2/e2/run_a2e2c47b-2621-4c5b-9856-5424cbc68259/png/run_a2e2c47b-2621-4c5b-9856-5424cbc68259_fuels-dens_2100_000.png +12,225,0.5,ST5_FFDUET_Over10m,ST5_ignite_strip,unsafe,unsafe,No,Escape,184271,https://wifire-data.sdsc.edu/data//burnpro3d/d/c7/4d/run_c74dda82-9454-4ff2-99ab-551b76b53d0b/png/run_c74dda82-9454-4ff2-99ab-551b76b53d0b_fuels-dens_2100_000.png +8,270,0.5,ST5_FFDUET_Over10m,ST5_ignite_strip,safe,safe,Yes,,98778,https://wifire-data.sdsc.edu/data//burnpro3d/d/6d/5d/run_6d5d385a-e075-49df-8c6e-6f806718bcbc/png/run_6d5d385a-e075-49df-8c6e-6f806718bcbc_fuels-dens_2100_000.png +5,180,0.5,ST5_FF_DUET,ST5_ignite_contour,safe,safe,Marginal,,76411,https://wifire-data.sdsc.edu/data//burnpro3d/d/4a/c1/run_4ac1791f-aefd-43a3-ad1b-03062eb62402/png/run_4ac1791f-aefd-43a3-ad1b-03062eb62402_fuels-dens_2100_000.png +12,225,0.5,ST5_FFDUET_Over10m,ST5_ignite_contour,unsafe,unsafe,No,Escape,187545,https://wifire-data.sdsc.edu/data//burnpro3d/d/8a/72/run_8a72a8c1-c62a-4270-93fb-d2314cebbd45/png/run_8a72a8c1-c62a-4270-93fb-d2314cebbd45_fuels-dens_2100_000.png +12,195,0.5,ST5_FFDUET_Over10m,ST5_ignite_strip,unsafe,unsafe,No,Escape,105540,https://wifire-data.sdsc.edu/data//burnpro3d/d/94/39/run_9439637f-454f-495f-9c4e-ff2636b707e1/png/run_9439637f-454f-495f-9c4e-ff2636b707e1_fuels-dens_2100_000.png +12,195,0.5,ST5_FFDUET_Over10m,ST5_ignite_ring,unsafe,unsafe,No,Escape/Inadequate Consumption,155277,https://wifire-data.sdsc.edu/data//burnpro3d/d/22/11/run_2211e337-0b6f-4811-ae3d-a14ab3051d56/png/run_2211e337-0b6f-4811-ae3d-a14ab3051d56_fuels-dens_2100_000.png +12,195,0.5,ST5_FFDUET_Over10m,ST5_ignite_contour,unsafe,unsafe,No,Escape,89644,https://wifire-data.sdsc.edu/data//burnpro3d/d/a9/fe/run_a9fee1bc-885c-48f4-9fa0-94c245f6a60f/png/run_a9fee1bc-885c-48f4-9fa0-94c245f6a60f_fuels-dens_2100_000.png +5,270,0.5,ST5_FFDUET_Over10m,ST5_ignite_contour,safe,safe,No,Inadequate consumption,65783,https://wifire-data.sdsc.edu/data//burnpro3d/d/96/ae/run_96ae3a88-c8f7-4ec6-a002-f770f8613924/png/run_96ae3a88-c8f7-4ec6-a002-f770f8613924_fuels-dens_2100_000.png +12,180,0.5,ST5_FFDUET_Over10m,ST5_ignite_strip,unsafe,unsafe,No,Escape,118747,https://wifire-data.sdsc.edu/data//burnpro3d/d/80/41/run_8041e1da-c4ff-4016-ab5f-3625fdc887e9/png/run_8041e1da-c4ff-4016-ab5f-3625fdc887e9_fuels-dens_2100_000.png +12,180,0.5,ST5_FFDUET_Over10m,ST5_ignite_ring,unsafe,unsafe,No,Escape/Inadequate Consumption,164899,https://wifire-data.sdsc.edu/data//burnpro3d/d/7e/4f/run_7e4f460b-19e8-4b6e-a8c9-8c896135ca68/png/run_7e4f460b-19e8-4b6e-a8c9-8c896135ca68_fuels-dens_2100_000.png +12,180,0.5,ST5_FFDUET_Over10m,ST5_ignite_contour,unsafe,unsafe,No,Escape,127485,https://wifire-data.sdsc.edu/data//burnpro3d/d/c2/63/run_c2632199-e3df-42f7-9946-f711d06a4245/png/run_c2632199-e3df-42f7-9946-f711d06a4245_fuels-dens_2100_000.png +5,270,0.5,ST5_FFDUET_Over10m,ST5_ignite_ring,safe,safe,No,Inadequate consumption,123421,https://wifire-data.sdsc.edu/data//burnpro3d/d/77/09/run_77097ae2-b7bd-486f-8e28-086ca2b805d0/png/run_77097ae2-b7bd-486f-8e28-086ca2b805d0_fuels-dens_2100_000.png +5,270,0.5,ST5_FFDUET_Over10m,ST5_ignite_strip,safe,safe,Yes,,97336,https://wifire-data.sdsc.edu/data//burnpro3d/d/35/a1/run_35a123a6-9df8-47a0-8a47-17a4f67a9b88/png/run_35a123a6-9df8-47a0-8a47-17a4f67a9b88_fuels-dens_2100_000.png +5,195,0.5,ST5_FF_DUET,ST5_ignite_strip,safe,safe,Yes,,140448,https://wifire-data.sdsc.edu/data//burnpro3d/d/e2/a1/run_e2a101c8-de4e-4b34-aa3f-aa07a6d6ad82/png/run_e2a101c8-de4e-4b34-aa3f-aa07a6d6ad82_fuels-dens_2100_000.png +12,175,0.5,ST5_FFDUET_Over10m,ST5_ignite_strip,unsafe,unsafe,No,Escape,21117,https://wifire-data.sdsc.edu/data//burnpro3d/d/d0/2f/run_d02f679d-9f34-4486-bd2a-16c99197679a/png/run_d02f679d-9f34-4486-bd2a-16c99197679a_fuels-dens_2100_000.png +12,175,0.5,ST5_FFDUET_Over10m,ST5_ignite_ring,unsafe,unsafe,No,Escape/Inadequate Consumption,34789,https://wifire-data.sdsc.edu/data//burnpro3d/d/69/ae/run_69aedb0e-61f5-46bd-8a49-e059a8cfc9c0/png/run_69aedb0e-61f5-46bd-8a49-e059a8cfc9c0_fuels-dens_2100_000.png +12,175,0.5,ST5_FFDUET_Over10m,ST5_ignite_contour,unsafe,unsafe,No,Escape,187246,https://wifire-data.sdsc.edu/data//burnpro3d/d/87/f9/run_87f9bb68-10ee-4288-bc14-6e53d7177e06/png/run_87f9bb68-10ee-4288-bc14-6e53d7177e06_fuels-dens_2100_000.png +5,195,0.5,ST5_FF_DUET,ST5_ignite_ring,other,safe,no,,27162,https://wifire-data.sdsc.edu/data//burnpro3d/d/10/36/run_1036ec63-8186-4c9b-8717-f4d5f8b4c24e/png/run_1036ec63-8186-4c9b-8717-f4d5f8b4c24e_fuels-dens_2100_000.png +5,195,0.5,ST5_FF_DUET,ST5_ignite_contour,safe,safe,Marginal,,80350,https://wifire-data.sdsc.edu/data//burnpro3d/d/46/0f/run_460fc175-8bf6-431f-829a-7bc0f87608e6/png/run_460fc175-8bf6-431f-829a-7bc0f87608e6_fuels-dens_2100_000.png +5,180,0.5,ST5_FF_DUET,ST5_ignite_strip,safe,safe,Yes,,100502,https://wifire-data.sdsc.edu/data//burnpro3d/d/4d/9f/run_4d9fb678-99db-4d68-9ea5-577a232ee951/png/run_4d9fb678-99db-4d68-9ea5-577a232ee951_fuels-dens_2100_000.png +3,270,0.5,ST5_FF_DUET,ST5_ignite_strip,safe,safe,Yes,,96658,https://wifire-data.sdsc.edu/data//burnpro3d/d/16/01/run_1601503d-b59f-4f4f-8397-0fc52350a8b3/png/run_1601503d-b59f-4f4f-8397-0fc52350a8b3_fuels-dens_2100_000.png +5,180,0.5,ST5_FF_DUET,ST5_ignite_ring,safe,safe,No,Inadequate consumption,31198,https://wifire-data.sdsc.edu/data//burnpro3d/d/30/77/run_30776300-8c18-4761-af1a-65376064de8d/png/run_30776300-8c18-4761-af1a-65376064de8d_fuels-dens_2100_000.png +8,175,0.5,ST5_FFDUET_Over10m,ST5_ignite_contour,safe,safe,No,Inadequate consumption,169523,https://wifire-data.sdsc.edu/data//burnpro3d/d/5f/3e/run_5f3ed1a4-dee1-48e0-8597-ffd4f731a0e4/png/run_5f3ed1a4-dee1-48e0-8597-ffd4f731a0e4_fuels-dens_2100_000.png +5,175,0.5,ST5_FFDUET_Over10m,ST5_ignite_ring,safe,safe,No,Inadequate consumption,31101,https://wifire-data.sdsc.edu/data//burnpro3d/d/9f/93/run_9f93b212-1bd9-455d-ba05-71520fc777fc/png/run_9f93b212-1bd9-455d-ba05-71520fc777fc_fuels-dens_2100_000.png +5,175,0.5,ST5_FFDUET_Over10m,ST5_ignite_contour,safe,safe,Marginal,,73718,https://wifire-data.sdsc.edu/data//burnpro3d/d/4e/2c/run_4e2ce4bd-296c-4166-9dcf-aa2efc67e9ac/png/run_4e2ce4bd-296c-4166-9dcf-aa2efc67e9ac_fuels-dens_2100_000.png +2,240,0.5,ST5_FFDUET_TLS,ST5_ignite_contour,safe,safe,No,Inadequate consumption,70439,https://wifire-data.sdsc.edu/data//burnpro3d/d/d8/cd/run_d8cd0e01-8269-4fa4-8d5f-2fac4e0c942d/png/run_d8cd0e01-8269-4fa4-8d5f-2fac4e0c942d_fuels-dens_2100_000.png +3,270,0.5,ST5_FFDUET_TLS,ST5_ignite_ring,safe,safe,No,Inadequate consumption,18243,https://wifire-data.sdsc.edu/data//burnpro3d/d/17/3b/run_173b11da-654d-4da6-8ba1-6493e2cb9d8b/png/run_173b11da-654d-4da6-8ba1-6493e2cb9d8b_fuels-dens_2100_000.png +3,270,0.5,ST5_FFDUET_TLS,ST5_ignite_contour,safe,safe,No,Inadequate consumption,125498,https://wifire-data.sdsc.edu/data//burnpro3d/d/87/73/run_87738ba4-5477-45d4-8bbb-7d21a63b52b9/png/run_87738ba4-5477-45d4-8bbb-7d21a63b52b9_fuels-dens_2100_000.png +3,175,0.5,ST5_FFDUET_Over10m,ST5_ignite_strip,safe,safe,Yes,,182572,https://wifire-data.sdsc.edu/data//burnpro3d/d/6d/3c/run_6d3c114c-fd0a-4fdf-829a-f55633cd44e6/png/run_6d3c114c-fd0a-4fdf-829a-f55633cd44e6_fuels-dens_2100_000.png +3,180,0.5,ST5_FFDUET_Over10m,ST5_ignite_contour,safe,safe,Marginal,,121288,https://wifire-data.sdsc.edu/data//burnpro3d/d/4c/c4/run_4cc48a0b-68ef-4fa5-a879-73b002421f0e/png/run_4cc48a0b-68ef-4fa5-a879-73b002421f0e_fuels-dens_2100_000.png +3,180,0.5,ST5_FFDUET_Over10m,ST5_ignite_ring,safe,safe,No,Inadequate consumption,25906,https://wifire-data.sdsc.edu/data//burnpro3d/d/d6/54/run_d6540e86-7905-4f4d-8e8d-02a75cf9763c/png/run_d6540e86-7905-4f4d-8e8d-02a75cf9763c_fuels-dens_2100_000.png +3,180,0.5,ST5_FFDUET_Over10m,ST5_ignite_strip,safe,safe,Yes,,96352,https://wifire-data.sdsc.edu/data//burnpro3d/d/00/84/run_008452dd-b2df-4ad9-8509-da9a99167bb1/png/run_008452dd-b2df-4ad9-8509-da9a99167bb1_fuels-dens_2100_000.png +3,175,0.5,ST5_FF_DUET,ST5_ignite_contour,safe,safe,Marginal,,68244,https://wifire-data.sdsc.edu/data//burnpro3d/d/e5/a1/run_e5a1f208-d62c-427c-84ce-06aabd843f47/png/run_e5a1f208-d62c-427c-84ce-06aabd843f47_fuels-dens_2100_000.png +3,175,0.5,ST5_FF_DUET,ST5_ignite_ring,safe,safe,No,Inadequate consumption,26372,https://wifire-data.sdsc.edu/data//burnpro3d/d/4c/f2/run_4cf28212-8e53-4b60-aced-e8fa66a5dccb/png/run_4cf28212-8e53-4b60-aced-e8fa66a5dccb_fuels-dens_2100_000.png +3,175,0.5,ST5_FF_DUET,ST5_ignite_strip,safe,safe,Yes,,97949,https://wifire-data.sdsc.edu/data//burnpro3d/d/57/ab/run_57ab2534-cd3e-49b6-8f85-c4cb49a3317f/png/run_57ab2534-cd3e-49b6-8f85-c4cb49a3317f_fuels-dens_2100_000.png +3,195,0.5,ST5_FFDUET_Over10m,ST5_ignite_contour,safe,safe,No,Inadequate consumption,91841,https://wifire-data.sdsc.edu/data//burnpro3d/d/c0/ee/run_c0eea52c-0b04-43ea-87bf-58e497551206/png/run_c0eea52c-0b04-43ea-87bf-58e497551206_fuels-dens_2100_000.png +3,180,0.5,ST5_FF_DUET,ST5_ignite_contour,safe,safe,Marginal,,170537,https://wifire-data.sdsc.edu/data//burnpro3d/d/8b/a3/run_8ba33bce-944e-417f-bf1f-b942068f2852/png/run_8ba33bce-944e-417f-bf1f-b942068f2852_fuels-dens_2100_000.png +3,180,0.5,ST5_FF_DUET,ST5_ignite_ring,safe,safe,No,Inadequate consumption,98912,https://wifire-data.sdsc.edu/data//burnpro3d/d/b3/4d/run_b34da31e-a3c2-4bde-883b-3089b0f6913f/png/run_b34da31e-a3c2-4bde-883b-3089b0f6913f_fuels-dens_2100_000.png +3,255,0.5,ST5_FFDUET_TLS,ST5_ignite_strip,safe,safe,Yes,,99445,https://wifire-data.sdsc.edu/data//burnpro3d/d/af/10/run_af1045eb-e9a3-41a8-a7e1-12e7cb25647d/png/run_af1045eb-e9a3-41a8-a7e1-12e7cb25647d_fuels-dens_2100_000.png +3,255,0.5,ST5_FFDUET_TLS,ST5_ignite_contour,safe,safe,No,Inadequate Consumption,65578,https://wifire-data.sdsc.edu/data//burnpro3d/d/f1/de/run_f1de5629-2bd4-4d39-b086-c261d2ce173b/png/run_f1de5629-2bd4-4d39-b086-c261d2ce173b_fuels-dens_2100_000.png +3,195,0.5,ST5_FFDUET_Over10m,ST5_ignite_ring,safe,safe,No,Inadequate Consumption,24381,https://wifire-data.sdsc.edu/data//burnpro3d/d/28/a2/run_28a29347-e723-41e5-aae9-88b21f9ec437/png/run_28a29347-e723-41e5-aae9-88b21f9ec437_fuels-dens_2100_000.png +3,195,0.5,ST5_FFDUET_Over10m,ST5_ignite_strip,safe,safe,Yes,,18121,https://wifire-data.sdsc.edu/data//burnpro3d/d/b7/54/run_b754416d-d368-4bbd-8dee-233cb2cba24a/png/run_b754416d-d368-4bbd-8dee-233cb2cba24a_fuels-dens_2100_000.png +3,240,0.5,ST5_FFDUET_TLS,ST5_ignite_strip,safe,safe,Yes,,188305,https://wifire-data.sdsc.edu/data//burnpro3d/d/b3/de/run_b3de3e82-b196-4919-8850-5601f60ceede/png/run_b3de3e82-b196-4919-8850-5601f60ceede_fuels-dens_2100_000.png +3,240,0.5,ST5_FFDUET_TLS,ST5_ignite_ring,safe,safe,No,Inadequate consumption,105343,https://wifire-data.sdsc.edu/data//burnpro3d/d/bb/20/run_bb203eb2-e939-400a-883b-bc834c0b74a4/png/run_bb203eb2-e939-400a-883b-bc834c0b74a4_fuels-dens_2100_000.png +3,240,0.5,ST5_FFDUET_TLS,ST5_ignite_contour,safe,safe,Marginal,,68814,https://wifire-data.sdsc.edu/data//burnpro3d/d/3b/f6/run_3bf63b48-181d-42e2-bbda-1dd0ed7d318b/png/run_3bf63b48-181d-42e2-bbda-1dd0ed7d318b_fuels-dens_2100_000.png +8,225,0.5,ST5_FFDUET_Over10m,ST5_ignite_ring,unsafe,unsafe,No,Escape/indaquate consumption,38487,https://wifire-data.sdsc.edu/data//burnpro3d/d/25/98/run_25989918-e848-4a1e-9897-fc7329bf6c73/png/run_25989918-e848-4a1e-9897-fc7329bf6c73_fuels-dens_2100_000.png +3,225,0.5,ST5_FFDUET_Over10m,ST5_ignite_contour,safe,safe,Marginal,,117654,https://wifire-data.sdsc.edu/data//burnpro3d/d/85/4a/run_854a2a90-0f07-4095-ae8e-e6f3b9ccae9a/png/run_854a2a90-0f07-4095-ae8e-e6f3b9ccae9a_fuels-dens_2100_000.png +3,175,0.5,ST5_FFDUET_Over10m,ST5_ignite_ring,safe,safe,No,Inadequate consumption,183466,https://wifire-data.sdsc.edu/data//burnpro3d/d/99/aa/run_99aac3aa-7eda-4cb8-a50b-8c16788743be/png/run_99aac3aa-7eda-4cb8-a50b-8c16788743be_fuels-dens_2100_000.png +5,270,0.5,ST5_FF_DUET,ST5_ignite_contour,safe,safe,No,Inadequate consumption,171123,https://wifire-data.sdsc.edu/data//burnpro3d/d/4e/75/run_4e7574ec-a10d-483e-842f-187b34cc56bb/png/run_4e7574ec-a10d-483e-842f-187b34cc56bb_fuels-dens_2100_000.png +5,225,0.5,ST5_FFDUET_TLS,ST5_ignite_contour,safe,safe,Yes,,99605,https://wifire-data.sdsc.edu/data//burnpro3d/d/37/2f/run_372fe309-4f2e-4c8a-83be-67f68a500e91/png/run_372fe309-4f2e-4c8a-83be-67f68a500e91_fuels-dens_2100_000.png +8,175,0.5,ST5_FF_DUET,ST5_ignite_strip,unsafe,unsafe,No,Escape,141671,https://wifire-data.sdsc.edu/data//burnpro3d/d/79/64/run_79645248-214d-4183-8f62-a93d8d76dab4/png/run_79645248-214d-4183-8f62-a93d8d76dab4_fuels-dens_2100_000.png +8,175,0.5,ST5_FF_DUET,ST5_ignite_ring,unsafe,unsafe,No,Escape/Inadequate consumption,70730,https://wifire-data.sdsc.edu/data//burnpro3d/d/50/8f/run_508f0fb0-3843-4810-8858-161661c40bf7/png/run_508f0fb0-3843-4810-8858-161661c40bf7_fuels-dens_2100_000.png +5,195,0.5,ST5_FFDUET_TLS,ST5_ignite_strip,safe,safe,Yes,,101786,https://wifire-data.sdsc.edu/data//burnpro3d/d/c3/39/run_c3396b7f-9ccb-459f-831a-a3e6cb9d6509/png/run_c3396b7f-9ccb-459f-831a-a3e6cb9d6509_fuels-dens_2100_000.png +5,195,0.5,ST5_FFDUET_TLS,ST5_ignite_ring,unsafe,unsafe,No,Escape/Inadequate consumption,66715,https://wifire-data.sdsc.edu/data//burnpro3d/d/d7/07/run_d7077341-d7fe-419d-b9de-753ded932ddc/png/run_d7077341-d7fe-419d-b9de-753ded932ddc_fuels-dens_2100_000.png +5,195,0.5,ST5_FFDUET_TLS,ST5_ignite_contour,safe,safe,Marginal,,154588,https://wifire-data.sdsc.edu/data//burnpro3d/d/13/8d/run_138d2150-69fb-41ef-b7b3-a626b7d5796f/png/run_138d2150-69fb-41ef-b7b3-a626b7d5796f_fuels-dens_2100_000.png +8,175,0.5,ST5_FF_DUET,ST5_ignite_contour,safe,safe,Np,Inadequate consumption,76407,https://wifire-data.sdsc.edu/data//burnpro3d/d/dc/75/run_dc75e04d-81c1-4668-bc4b-d16aa3ee9b74/png/run_dc75e04d-81c1-4668-bc4b-d16aa3ee9b74_fuels-dens_2100_000.png +5,180,0.5,ST5_FFDUET_TLS,ST5_ignite_strip,safe,safe,Yes,,98076,https://wifire-data.sdsc.edu/data//burnpro3d/d/39/43/run_39438e53-3a59-4801-983e-2720d5357007/png/run_39438e53-3a59-4801-983e-2720d5357007_fuels-dens_2100_000.png +5,180,0.5,ST5_FFDUET_TLS,ST5_ignite_ring,unsafe,unsafe,N,Escape/Inadequate consumption,121809,https://wifire-data.sdsc.edu/data//burnpro3d/d/58/5b/run_585b5e41-34aa-4690-a03f-1ee45b534dcc/png/run_585b5e41-34aa-4690-a03f-1ee45b534dcc_fuels-dens_2100_000.png +5,180,0.5,ST5_FFDUET_TLS,ST5_ignite_contour,safe,safe,Marginal,,76150,https://wifire-data.sdsc.edu/data//burnpro3d/d/6c/c4/run_6cc4adc2-1c70-4c84-8cf6-b188037b3473/png/run_6cc4adc2-1c70-4c84-8cf6-b188037b3473_fuels-dens_2100_000.png +5,175,0.5,ST5_FFDUET_TLS,ST5_ignite_strip,safe,safe,Yes,,95838,https://wifire-data.sdsc.edu/data//burnpro3d/d/59/82/run_598279ec-6228-4703-8175-19b0f772968f/png/run_598279ec-6228-4703-8175-19b0f772968f_fuels-dens_2100_000.png +5,175,0.5,ST5_FFDUET_TLS,ST5_ignite_ring,safe,safe,No,Inadequate consumption,27997,https://wifire-data.sdsc.edu/data//burnpro3d/d/2d/b3/run_2db33742-1042-4059-aa21-8a2f880fd6b1/png/run_2db33742-1042-4059-aa21-8a2f880fd6b1_fuels-dens_2100_000.png +5,175,0.5,ST5_FFDUET_TLS,ST5_ignite_contour,safe,safe,Marginal,,105522,https://wifire-data.sdsc.edu/data//burnpro3d/d/be/8f/run_be8f4a1a-47dd-4c62-8d8a-5a4adece91c6/png/run_be8f4a1a-47dd-4c62-8d8a-5a4adece91c6_fuels-dens_2100_000.png +2,270,0.5,ST5_FFDUET_Over10m,ST5_ignite_contour,safe,safe,Marginal,,101393,https://wifire-data.sdsc.edu/data//burnpro3d/d/a6/f9/run_a6f9e55f-6864-40d7-beee-a65fec3ed2fe/png/run_a6f9e55f-6864-40d7-beee-a65fec3ed2fe_fuels-dens_2100_000.png +2,270,0.5,ST5_FFDUET_Over10m,ST5_ignite_ring,safe,safe,No,Inadequate consumption,114056,https://wifire-data.sdsc.edu/data//burnpro3d/d/78/28/run_78286fea-993e-47db-9f8d-6e3bb991f4ac/png/run_78286fea-993e-47db-9f8d-6e3bb991f4ac_fuels-dens_2100_000.png +2,270,0.5,ST5_FFDUET_Over10m,ST5_ignite_strip,safe,safe,Yes,,94267,https://wifire-data.sdsc.edu/data//burnpro3d/d/a4/cd/run_a4cd65b2-789c-4a0f-a881-e851281dc28a/png/run_a4cd65b2-789c-4a0f-a881-e851281dc28a_fuels-dens_2100_000.png +5,270,0.5,ST5_FF_DUET,ST5_ignite_strip,safe,safe,Yes,,100776,https://wifire-data.sdsc.edu/data//burnpro3d/d/52/e2/run_52e23ae8-8417-4d16-b247-13141e335aa2/png/run_52e23ae8-8417-4d16-b247-13141e335aa2_fuels-dens_2100_000.png +5,270,0.5,ST5_FF_DUET,ST5_ignite_ring,safe,safe,No,Inadequate consumption,23371,https://wifire-data.sdsc.edu/data//burnpro3d/d/f5/91/run_f5910fa3-024e-4e8c-a107-895ad06276cb/png/run_f5910fa3-024e-4e8c-a107-895ad06276cb_fuels-dens_2100_000.png +2,270,0.5,ST5_FF_DUET,ST5_ignite_strip,safe,safe,Yes,,97155,https://wifire-data.sdsc.edu/data//burnpro3d/d/f9/8f/run_f98f9380-93ae-4ea5-af11-7f8d1098364c/png/run_f98f9380-93ae-4ea5-af11-7f8d1098364c_fuels-dens_2100_000.png +3,175,0.5,ST5_FFDUET_Over10m,ST5_ignite_contour,safe,safe,No,Inadequate consumption,66876,https://wifire-data.sdsc.edu/data//burnpro3d/d/bd/8a/run_bd8a2fe9-eaa4-4bd6-b871-8ff9203f0bbe/png/run_bd8a2fe9-eaa4-4bd6-b871-8ff9203f0bbe_fuels-dens_2100_000.png +3,225,0.5,ST5_FFDUET_TLS,ST5_ignite_strip,safe,safe,Yes,,168207,https://wifire-data.sdsc.edu/data//burnpro3d/d/df/2b/run_df2b5ac8-97f8-4cc1-8e4e-760a1ecc0ffd/png/run_df2b5ac8-97f8-4cc1-8e4e-760a1ecc0ffd_fuels-dens_2100_000.png +3,225,0.5,ST5_FFDUET_TLS,ST5_ignite_ring,safe,safe,No,Inadequate consumption,153026,https://wifire-data.sdsc.edu/data//burnpro3d/d/38/a5/run_38a5a66e-3c81-40a7-83a8-760e67eb2c28/png/run_38a5a66e-3c81-40a7-83a8-760e67eb2c28_fuels-dens_2100_000.png +3,225,0.5,ST5_FFDUET_TLS,ST5_ignite_contour,safe,safe,No,Inadequate consumption,69190,https://wifire-data.sdsc.edu/data//burnpro3d/d/ab/b9/run_abb9d814-d025-4daf-9e19-3f8d9d8d46e7/png/run_abb9d814-d025-4daf-9e19-3f8d9d8d46e7_fuels-dens_2100_000.png +2,270,0.5,ST5_FFDUET_TLS,ST5_ignite_ring,safe,safe,No,Inadequate consumption,17319,https://wifire-data.sdsc.edu/data//burnpro3d/d/8e/24/run_8e244a64-eb07-497d-94c8-626023de6a64/png/run_8e244a64-eb07-497d-94c8-626023de6a64_fuels-dens_2100_000.png +2,270,0.5,ST5_FFDUET_TLS,ST5_ignite_contour,safe,safe,No,Inadequate consumption,64776,https://wifire-data.sdsc.edu/data//burnpro3d/d/68/54/run_68547d92-9fe5-4ea9-8a95-fa0b4bea974e/png/run_68547d92-9fe5-4ea9-8a95-fa0b4bea974e_fuels-dens_2100_000.png +3,270,0.5,ST5_FFDUET_Over10m,ST5_ignite_strip,safe,safe,Yes,,96786,https://wifire-data.sdsc.edu/data//burnpro3d/d/69/dd/run_69ddff37-b58f-4030-b568-dd7408633077/png/run_69ddff37-b58f-4030-b568-dd7408633077_fuels-dens_2100_000.png +5,255,0.5,ST5_FF_DUET,ST5_ignite_strip,safe,safe,Yes,,90696,https://wifire-data.sdsc.edu/data//burnpro3d/d/27/a7/run_27a727b1-9df3-43ef-94f9-a8fa0f0a5127/png/run_27a727b1-9df3-43ef-94f9-a8fa0f0a5127_fuels-dens_2100_000.png +5,255,0.5,ST5_FF_DUET,ST5_ignite_ring,safe,safe,No,Inadequate consumption,24906,https://wifire-data.sdsc.edu/data//burnpro3d/d/a0/06/run_a006efb3-3d7d-4c50-bd18-d36230d75f08/png/run_a006efb3-3d7d-4c50-bd18-d36230d75f08_fuels-dens_2100_000.png +5,255,0.5,ST5_FF_DUET,ST5_ignite_contour,safe,safe,Marginal,,111107,https://wifire-data.sdsc.edu/data//burnpro3d/d/ea/e7/run_eae71206-6530-47a1-ad64-9c6a7034507f/png/run_eae71206-6530-47a1-ad64-9c6a7034507f_fuels-dens_2100_000.png +5,240,0.5,ST5_FF_DUET,ST5_ignite_strip,safe,safe,Yes,,109593,https://wifire-data.sdsc.edu/data//burnpro3d/d/2c/29/run_2c29d9a9-0514-4016-ae70-7eb0cb6cf2ce/png/run_2c29d9a9-0514-4016-ae70-7eb0cb6cf2ce_fuels-dens_2100_000.png +3,225,0.5,ST5_FF_DUET,ST5_ignite_contour,safe,safe,Marginal,,70498,https://wifire-data.sdsc.edu/data//burnpro3d/d/93/1b/run_931b6ab4-9511-4583-a212-7198461346b2/png/run_931b6ab4-9511-4583-a212-7198461346b2_fuels-dens_2100_000.png +3,225,0.5,ST5_FF_DUET,ST5_ignite_ring,safe,safe,No,Inadequate consumption,120335,https://wifire-data.sdsc.edu/data//burnpro3d/d/de/13/run_de132987-1257-4c72-ab50-a3b0423f80b7/png/run_de132987-1257-4c72-ab50-a3b0423f80b7_fuels-dens_2100_000.png +3,225,0.5,ST5_FF_DUET,ST5_ignite_strip,safe,safe,Yes,,102918,https://wifire-data.sdsc.edu/data//burnpro3d/d/c7/ac/run_c7ac7c80-f0d7-43a5-850a-3fb164f64e71/png/run_c7ac7c80-f0d7-43a5-850a-3fb164f64e71_fuels-dens_2100_000.png +5,240,0.5,ST5_FF_DUET,ST5_ignite_ring,other,unsafe,No,Escape/Inadequate consumption,26356,https://wifire-data.sdsc.edu/data//burnpro3d/d/cb/3d/run_cb3db504-96b5-4bb1-8abe-5a399add8f2d/png/run_cb3db504-96b5-4bb1-8abe-5a399add8f2d_fuels-dens_2100_000.png +5,240,0.5,ST5_FF_DUET,ST5_ignite_contour,safe,safe,Marginal,,127690,https://wifire-data.sdsc.edu/data//burnpro3d/d/56/f5/run_56f50fd8-023b-433f-a45e-4cbc0d9945ad/png/run_56f50fd8-023b-433f-a45e-4cbc0d9945ad_fuels-dens_2100_000.png +3,240,0.5,ST5_FF_DUET,ST5_ignite_contour,safe,safe,Marginal,,66992,https://wifire-data.sdsc.edu/data//burnpro3d/d/c2/55/run_c2551b72-abd1-4e64-9264-ef58edf8d2e8/png/run_c2551b72-abd1-4e64-9264-ef58edf8d2e8_fuels-dens_2100_000.png +3,240,0.5,ST5_FF_DUET,ST5_ignite_ring,safe,safe,No,Inadequate consumption,20670,https://wifire-data.sdsc.edu/data//burnpro3d/d/ee/d9/run_eed9a80a-98ad-4071-bddc-ed48fb434791/png/run_eed9a80a-98ad-4071-bddc-ed48fb434791_fuels-dens_2100_000.png +2,255,0.5,ST5_FFDUET_TLS,ST5_ignite_strip,safe,safe,Yes,,175338,https://wifire-data.sdsc.edu/data//burnpro3d/d/76/ed/run_76ed62e7-8960-4f84-8b03-a4c4d08cd82d/png/run_76ed62e7-8960-4f84-8b03-a4c4d08cd82d_fuels-dens_2100_000.png +2,255,0.5,ST5_FFDUET_TLS,ST5_ignite_ring,safe,safe,No,Inadequate consumption,16065,https://wifire-data.sdsc.edu/data//burnpro3d/d/c9/c6/run_c9c68de8-3266-42e6-a07b-87903171c865/png/run_c9c68de8-3266-42e6-a07b-87903171c865_fuels-dens_2100_000.png +2,255,0.5,ST5_FFDUET_TLS,ST5_ignite_contour,safe,safe,No,Inadequate consumption,68240,https://wifire-data.sdsc.edu/data//burnpro3d/d/1c/64/run_1c64bd8b-9b0d-4aae-b348-77078e710e86/png/run_1c64bd8b-9b0d-4aae-b348-77078e710e86_fuels-dens_2100_000.png +2,240,0.5,ST5_FFDUET_TLS,ST5_ignite_strip,safe,safe,Yes,,96615,https://wifire-data.sdsc.edu/data//burnpro3d/d/90/18/run_901849af-2b20-4b0d-9049-50b7ca372452/png/run_901849af-2b20-4b0d-9049-50b7ca372452_fuels-dens_2100_000.png +2,240,0.5,ST5_FFDUET_TLS,ST5_ignite_ring,safe,safe,N,Inadequate consumption,18753,https://wifire-data.sdsc.edu/data//burnpro3d/d/3f/3e/run_3f3e84b3-4a23-42f5-9c7c-60c589355620/png/run_3f3e84b3-4a23-42f5-9c7c-60c589355620_fuels-dens_2100_000.png +2,270,0.5,ST5_FFDUET_TLS,ST5_ignite_strip,safe,safe,Yes,,95248,https://wifire-data.sdsc.edu/data//burnpro3d/d/93/b3/run_93b3f2aa-eaeb-40fd-93c8-d8af492d2183/png/run_93b3f2aa-eaeb-40fd-93c8-d8af492d2183_fuels-dens_2100_000.png +3,270,0.5,ST5_FFDUET_Over10m,ST5_ignite_ring,safe,safe,No,Inadequate consumption,19350,https://wifire-data.sdsc.edu/data//burnpro3d/d/53/10/run_5310b417-a20f-480c-a3de-f21d3df473bb/png/run_5310b417-a20f-480c-a3de-f21d3df473bb_fuels-dens_2100_000.png +3,270,0.5,ST5_FFDUET_Over10m,ST5_ignite_contour,safe,safe,No,Inadequate consumption,71540,https://wifire-data.sdsc.edu/data//burnpro3d/d/25/04/run_250421a7-5aa8-45ae-baad-cc56b4ba5b21/png/run_250421a7-5aa8-45ae-baad-cc56b4ba5b21_fuels-dens_2100_000.png +3,195,0.5,ST5_FF_DUET,ST5_ignite_strip,safe,safe,Yes,,98884,https://wifire-data.sdsc.edu/data//burnpro3d/d/14/e1/run_14e17b72-8e0f-4c88-bd8d-9c3935ef5eeb/png/run_14e17b72-8e0f-4c88-bd8d-9c3935ef5eeb_fuels-dens_2100_000.png +3,225,0.5,ST5_FFDUET_Over10m,ST5_ignite_ring,safe,safe,No,Inadequate consumption,21792,https://wifire-data.sdsc.edu/data//burnpro3d/d/6e/9d/run_6e9d12ef-dc56-457e-9cb7-22360c05076a/png/run_6e9d12ef-dc56-457e-9cb7-22360c05076a_fuels-dens_2100_000.png +3,225,0.5,ST5_FFDUET_Over10m,ST5_ignite_strip,safe,safe,Yes,,67014,https://wifire-data.sdsc.edu/data//burnpro3d/d/c2/c4/run_c2c4e97a-1133-45c6-ad29-ff7b01fd6674/png/run_c2c4e97a-1133-45c6-ad29-ff7b01fd6674_fuels-dens_2100_000.png +3,195,0.5,ST5_FFDUET_TLS,ST5_ignite_strip,safe,safe,Yes,,109167,https://wifire-data.sdsc.edu/data//burnpro3d/d/b8/b0/run_b8b049ce-a3a6-4e5b-a7ec-359d3cd362fb/png/run_b8b049ce-a3a6-4e5b-a7ec-359d3cd362fb_fuels-dens_2100_000.png +3,195,0.5,ST5_FFDUET_TLS,ST5_ignite_ring,safe,safe,No,Inadequate consumption,23163,https://wifire-data.sdsc.edu/data//burnpro3d/d/97/48/run_97481215-5f15-4fbd-9b37-d7a92e710d24/png/run_97481215-5f15-4fbd-9b37-d7a92e710d24_fuels-dens_2100_000.png +3,195,0.5,ST5_FFDUET_TLS,ST5_ignite_contour,safe,safe,Marginal,,71353,https://wifire-data.sdsc.edu/data//burnpro3d/d/7b/89/run_7b895335-33a1-4661-b824-58d9fe74a974/png/run_7b895335-33a1-4661-b824-58d9fe74a974_fuels-dens_2100_000.png +3,240,0.5,ST5_FFDUET_Over10m,ST5_ignite_contour,safe,safe,No,Inadequate consumption,69828,https://wifire-data.sdsc.edu/data//burnpro3d/d/ea/1f/run_ea1f1d0a-ddf1-4db3-a7c0-2bbba43a6f7d/png/run_ea1f1d0a-ddf1-4db3-a7c0-2bbba43a6f7d_fuels-dens_2100_000.png +3,180,0.5,ST5_FFDUET_TLS,ST5_ignite_strip,safe,safe,Yes,,94991,https://wifire-data.sdsc.edu/data//burnpro3d/d/9f/c2/run_9fc25f69-d782-40cc-b883-f97099772950/png/run_9fc25f69-d782-40cc-b883-f97099772950_fuels-dens_2100_000.png +3,180,0.5,ST5_FFDUET_TLS,ST5_ignite_ring,safe,safe,No,Inadequate consumption,23853,https://wifire-data.sdsc.edu/data//burnpro3d/d/3f/30/run_3f3070eb-c4a3-4c9b-924c-fa4c4abbc581/png/run_3f3070eb-c4a3-4c9b-924c-fa4c4abbc581_fuels-dens_2100_000.png +3,180,0.5,ST5_FFDUET_TLS,ST5_ignite_contour,safe,safe,No,Inadequate consumption,69138,https://wifire-data.sdsc.edu/data//burnpro3d/d/bf/2e/run_bf2e40c7-eaa2-4469-901e-55520d20b50c/png/run_bf2e40c7-eaa2-4469-901e-55520d20b50c_fuels-dens_2100_000.png +5,225,0.5,ST5_FFDUET_TLS,ST5_ignite_strip,safe,safe,Yes,,106455,https://wifire-data.sdsc.edu/data//burnpro3d/d/b0/39/run_b03952c9-8df4-4de3-ba89-ad77c3861836/png/run_b03952c9-8df4-4de3-ba89-ad77c3861836_fuels-dens_2100_000.png +3,240,0.5,ST5_FFDUET_Over10m,ST5_ignite_ring,safe,safe,No,Inadequate consumption,182533,https://wifire-data.sdsc.edu/data//burnpro3d/d/65/b3/run_65b35da3-9636-4ab5-94b5-f91ae79ff0db/png/run_65b35da3-9636-4ab5-94b5-f91ae79ff0db_fuels-dens_2100_000.png +3,175,0.5,ST5_FFDUET_TLS,ST5_ignite_strip,safe,safe,Yes,,178903,https://wifire-data.sdsc.edu/data//burnpro3d/d/3c/22/run_3c222aca-111f-411b-99a2-6b0362f35c70/png/run_3c222aca-111f-411b-99a2-6b0362f35c70_fuels-dens_2100_000.png +3,175,0.5,ST5_FFDUET_TLS,ST5_ignite_ring,safe,safe,No,Inadequate consumption,25619,https://wifire-data.sdsc.edu/data//burnpro3d/d/a4/a6/run_a4a6ad87-c16b-48e0-b9fe-d50fd56febfa/png/run_a4a6ad87-c16b-48e0-b9fe-d50fd56febfa_fuels-dens_2100_000.png +3,175,0.5,ST5_FFDUET_TLS,ST5_ignite_contour,safe,safe,Marginal,,96162,https://wifire-data.sdsc.edu/data//burnpro3d/d/39/93/run_39935576-216f-4061-bd74-d6713bad53d9/png/run_39935576-216f-4061-bd74-d6713bad53d9_fuels-dens_2100_000.png +3,255,0.5,ST5_FFDUET_Over10m,ST5_ignite_contour,safe,safe,Marginal,,65841,https://wifire-data.sdsc.edu/data//burnpro3d/d/e0/89/run_e0897578-7212-4498-8ace-ef166d9b9a5c/png/run_e0897578-7212-4498-8ace-ef166d9b9a5c_fuels-dens_2100_000.png +3,255,0.5,ST5_FFDUET_Over10m,ST5_ignite_ring,safe,safe,No,Inadequate consumption,19859,https://wifire-data.sdsc.edu/data//burnpro3d/d/9d/7d/run_9d7df319-21c2-42e7-b29f-adf64fd2f799/png/run_9d7df319-21c2-42e7-b29f-adf64fd2f799_fuels-dens_2100_000.png +3,255,0.5,ST5_FFDUET_Over10m,ST5_ignite_strip,safe,safe,Yes,,35378,https://wifire-data.sdsc.edu/data//burnpro3d/d/1e/ef/run_1eefda16-2166-4cce-9422-b7b1f286878b/png/run_1eefda16-2166-4cce-9422-b7b1f286878b_fuels-dens_2100_000.png +3,180,0.5,ST5_FF_DUET,ST5_ignite_strip,safe,safe,Yes,,38896,https://wifire-data.sdsc.edu/data//burnpro3d/d/2c/e2/run_2ce26788-6c03-46b9-ab47-47c195987991/png/run_2ce26788-6c03-46b9-ab47-47c195987991_fuels-dens_2100_000.png +3,195,0.5,ST5_FF_DUET,ST5_ignite_contour,safe,safe,Marginal,,140977,https://wifire-data.sdsc.edu/data//burnpro3d/d/0f/03/run_0f03c32e-612e-4d85-ae60-7d276ffb21c3/png/run_0f03c32e-612e-4d85-ae60-7d276ffb21c3_fuels-dens_2100_000.png +3,195,0.5,ST5_FF_DUET,ST5_ignite_ring,safe,safe,No,Inadequate consumption,23663,https://wifire-data.sdsc.edu/data//burnpro3d/d/51/ac/run_51ac92d5-bd85-4d88-996a-55d4f4c793a9/png/run_51ac92d5-bd85-4d88-996a-55d4f4c793a9_fuels-dens_2100_000.png +3,240,0.5,ST5_FFDUET_Over10m,ST5_ignite_strip,other,other,,,100725,https://wifire-data.sdsc.edu/data//burnpro3d/d/2c/e9/run_2ce9bb84-77e5-4e71-873c-c8a8c9517e1a/png/run_2ce9bb84-77e5-4e71-873c-c8a8c9517e1a_fuels-dens_2100_000.png +8,255,0.5,ST5_FF_DUET,ST5_ignite_strip,safe,safe,Yes,,61502,https://wifire-data.sdsc.edu/data//burnpro3d/d/fa/20/run_fa20ed73-8a0b-40e3-bd3f-bca2ff76e3d0/png/run_fa20ed73-8a0b-40e3-bd3f-bca2ff76e3d0_fuels-dens_2100_000.png \ No newline at end of file diff --git a/examples/wildfire/wildfiredataSmall.csv b/examples/wildfire/wildfiredataSmall.csv new file mode 100644 index 00000000..bd7fc75e --- /dev/null +++ b/examples/wildfire/wildfiredataSmall.csv @@ -0,0 +1,5 @@ +wind_speed,wdir,smois,fuels,ignition,safe_unsafe_ignition_pattern,safe_unsafe_fire_behavior,does_fire_meet_objectives,rationale_if_unsafe,burned_area,FILE +2,180,0.05,ST5_FF_DUET,ST5_ignite_contour.dat,safe,safe,yes,,122388,https://wifire-data.sdsc.edu/data//burnpro3d/d/07/12/run_07127fcc-66c4-4498-a4c6-8e9f6e5fbe68/png/run_07127fcc-66c4-4498-a4c6-8e9f6e5fbe68_fuels-dens_2100_000.png +8,225,0.05,ST5_FFDUET_TLS,ST5_ignite_contour.dat,safe,unsafe,no,,169302,https://wifire-data.sdsc.edu/data//burnpro3d/d/cd/34/run_cd34e198-92d8-465d-b7d7-9cdf8b4dbd12/png/run_cd34e198-92d8-465d-b7d7-9cdf8b4dbd12_fuels-dens_2100_000.png +8,195,0.05,ST5_FFDUET_TLS,ST5_ignite_ring.dat,safe,unsafe,no,,187542,https://wifire-data.sdsc.edu/data//burnpro3d/d/16/f7/run_16f771f5-b830-4c22-962a-e5074d90c9c4/png/run_16f771f5-b830-4c22-962a-e5074d90c9c4_fuels-dens_2100_000.png +5,240,0.05,ST5_FFDUET_TLS,ST5_ignite_strip.dat,safe,unsafe,no,,181583,https://wifire-data.sdsc.edu/data//burnpro3d/d/11/be/run_11bea928-97ce-4188-80b9-06eda10d0a2b/png/run_11bea928-97ce-4188-80b9-06eda10d0a2b_fuels-dens_2100_000.png \ No newline at end of file diff --git a/pyproject.toml b/pyproject.toml index db8e1ac1..7555ee6d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -3,15 +3,15 @@ requires = ["setuptools"] build-backend = "setuptools.build_meta" [project] -name="dsi" +name="dsi-workflow" license={text = "BSD-3-Clause"} -version="0.0.0" description="A Data Science Infrastructure Metadatabase" +readme = "README.rst" authors=[ + {name = 'Jesus Pulido', email = 'pulido@lanl.gov'}, {name = 'James Ahrens', email = 'ahrens@lanl.gov'}, {name = 'Divya Banesh', email = 'dbanesh@lanl.gov'}, {name = 'Hugh Greenberg', email = 'hng@lanl.gov'}, - {name = 'Jesus Pulido', email = 'pulido@lanl.gov'}, {name = 'Ben Sims', email = 'bsims@lanl.gov'}, {name = 'Christine Sweeney', email = 'cahrens@lanl.gov'}, {name = 'Terry Turton', email = 'tlturton@lanl.gov'}, @@ -20,8 +20,9 @@ authors=[ classifiers=[ "Programming Language :: Python" ] -dependencies = [ - "gitpython", - "pyarrow", - "pydantic" -] +dynamic = ["dependencies","version"] +[tool.setuptools.dynamic] +dependencies = {file = ["requirements.txt"]} + +[tool.setuptools] +py-modules = ["dsi"] \ No newline at end of file diff --git a/requirements.sqlalchemy.txt b/requirements.sqlalchemy.txt new file mode 100644 index 00000000..54ec9b07 --- /dev/null +++ b/requirements.sqlalchemy.txt @@ -0,0 +1,6 @@ +pandas>=2.0.2 +pyarrow>=12.0.1 +pydantic>=2.1.1 +nbconvert>=7.13.0 +gitpython>=3.0.0 +sqlalchemy>=2.0.35 diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 00000000..bca5e856 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,7 @@ +pandas>=2.0.2 +pyarrow>=12.0.1 +pydantic>=2.1.1 +nbconvert>=7.13.0 +gitpython>=3.0.0 +matplotlib>=3.6.0 +pyyaml>=6.0 \ No newline at end of file diff --git a/setup.py b/setup.py index 0eb9504c..47b9f148 100644 --- a/setup.py +++ b/setup.py @@ -5,38 +5,16 @@ import subprocess -def get_cmd_output(cmd: list) -> str: - proc = subprocess.run(cmd, capture_output=True, shell=True) - if proc.stderr != b"": - raise Exception(proc.stderr) - return proc.stdout.strip().decode("utf-8") - - -def insert_git_commit(replacement_target, sha): - with fileinput.FileInput(replacement_target, inplace=True) as fh: - for line in fh: - op = re.sub(r"git_commit_sha=.*", - r"git_commit_sha='{}'".format(sha), line) - print(op, end='') - - -# Get the current git hash -sha = get_cmd_output(cmd=['git rev-parse HEAD']) -# Get the root of the git project -git_root = get_cmd_output(cmd=['git rev-parse --show-toplevel']) - -# String replace git_sha_commit placeholder for Plugin and Driver implementations -metadata = '/'.join([git_root, 'dsi/plugins/metadata.py']) -filesystem = '/'.join([git_root, 'dsi/drivers/filesystem.py']) - +# Get version from main folder +exec(open("dsi/_version.py").read()) class SetupWrapper(install): def run(self): - insert_git_commit(metadata, sha) - insert_git_commit(filesystem, sha) - print(get_cmd_output( - cmd=['git add {} {}'.format(metadata, filesystem)])) install.run(self) -setup(cmdclass={'install': SetupWrapper}) +setup( + packages=['dsi','dsi.plugins','dsi.backends','dsi.tests'], + cmdclass={'install': SetupWrapper}, + version=__version__ +)