diff --git a/.veda/ui b/.veda/ui
index 169ea8162..3fd694f77 160000
--- a/.veda/ui
+++ b/.veda/ui
@@ -1 +1 @@
-Subproject commit 169ea81629ebae74c2d9e46a7b416f784b025fdf
+Subproject commit 3fd694f7757c370cea048c7e6c6d5c2613932e2c
diff --git a/README.md b/README.md
index 70e6c8218..b4fb83a33 100644
--- a/README.md
+++ b/README.md
@@ -11,10 +11,15 @@ Discoveries are long form pieces of content that tell a story about some interes
## Getting started
1) Check [SETUP](./docs/SETUP.md) to see how you can run the project locally. (You'll need this to preview content.)
-2) Check [CONFIGURATION](./docs/CONFIGURATION.md) to see a list of configuration options for VEDA.
-3) Check [CONTENT](./docs/CONTENT.md) for how to structure the content pieces.
+2) Alternatively, you can run the project using Github Codespaces. Check the [Codespaces guide](./docs/GH_CODESPACES.md) to know how.
-If you plan to add features to `veda-config` check [DEVELOPMENT](./docs/DEVELOPMENT.md).
+If you plan to do development on `veda-config` or update the `veda-ui` version check [DEVELOPMENT](./docs/DEVELOPMENT.md).
+
+## Creating content and configuring VEDA
+
+The configuration and content options for VEDA will depend on the `veda-ui` (the actual interface code) version that `veda-config` is running.
+
+**The documentation for the current version can be viewed at [169ea81 of veda-ui](https://github.com/NASA-IMPACT/veda-ui/tree/169ea81629ebae74c2d9e46a7b416f784b025fdf/README.md).
## License
This project is licensed under **Apache 2**, see the [LICENSE](LICENSE) file for more details.
diff --git a/datasets/disalexi-etsuppression.data.mdx b/datasets/disalexi-etsuppression.data.mdx
index ea6b0931b..a030bf5fd 100644
--- a/datasets/disalexi-etsuppression.data.mdx
+++ b/datasets/disalexi-etsuppression.data.mdx
@@ -13,9 +13,9 @@ thematics:
layers:
- id: disalexi-etsuppression
stacCol: disalexi-etsuppression
- name: DisALEXI ET Suppression
+ name: DisALEXI ET Anomalies
type: raster
- description: "Change in ET using DisALEXI model of OpenET observations for 2017-20 fires, calculated as the difference of ET in the immediate post-fire water year from ET in the immediate pre-fire water year. The difference is normalized by pre-fire ET and negative values denote vegetation disturbance induced by fire or by a climatological anomaly resulting in the decline in ET"
+ description: "Standardized ET anomaly using DisALEXI model of OpenET observations for 2017-20 fires, calculated as the difference of ET in the immediate post-fire water year from ET in the immediate pre-fire water year. The difference is normalized by pre-fire ET and negative values denote vegetation disturbance induced by fire or by a climatological anomaly resulting in the decline in ET"
zoomExtent:
- 0
- 20
@@ -23,21 +23,20 @@ layers:
asset_bidx: cog_default|1
colormap_name: rdylbu
rescale:
- - -0.5
- - 0.5
- nodata: -9999
+ - -1.0
+ - 1.0
compare:
datasetId: mtbs-burn-severity
layerId: mtbs-burn-severity
mapLabel: |
::js ({ dateFns, datetime, compareDatetime }) => {
- return `ET Suppression: ${dateFns.format(datetime, 'yyyy')} VS MTBS: ${dateFns.format(compareDatetime, 'yyyy')}`;
+ return `ET Anomalies: ${dateFns.format(datetime, 'yyyy')} VS MTBS: ${dateFns.format(compareDatetime, 'yyyy')}`;
}
legend:
type: gradient
- label: ET Suppression
- min: "-0.5"
- max: "0.5"
+ label: ET Anomalies
+ min: "-1.0"
+ max: "1.0"
stops:
- "#a50026"
- "#f46d43"
diff --git a/datasets/lis-etsuppression.data.mdx b/datasets/lis-etsuppression.data.mdx
index 9fa3409b0..7d4da4a1c 100644
--- a/datasets/lis-etsuppression.data.mdx
+++ b/datasets/lis-etsuppression.data.mdx
@@ -13,9 +13,9 @@ thematics:
layers:
- id: lis-etsuppression
stacCol: lis-etsuppression
- name: LIS ET Suppression
+ name: LIS ET Anomalies
type: raster
- description: "Change in ET for 2020 fires using model outputs from Land Information System (LIS) framework that synthesizes multiple remote sensing observations within the Noah-MP land surface model."
+ description: "ET anomaly for 2020 fires using model outputs from Land Information System (LIS) framework that synthesizes multiple remote sensing observations within the Noah-MP land surface model."
zoomExtent:
- 0
- 20
@@ -23,21 +23,20 @@ layers:
asset_bidx: cog_default|1
colormap_name: rdylbu
rescale:
- - -0.5
- - 0.5
- nodata: -9999
+ - -0.6
+ - 0.6
compare:
datasetId: mtbs-burn-severity
layerId: mtbs-burn-severity
mapLabel: |
::js ({ dateFns, datetime, compareDatetime }) => {
- return `ET Suppression: ${dateFns.format(datetime, 'yyyy')} VS MTBS: ${dateFns.format(compareDatetime, 'yyyy')}`;
+ return `ET Anomalies: ${dateFns.format(datetime, 'yyyy')} VS MTBS: ${dateFns.format(compareDatetime, 'yyyy')}`;
}
legend:
type: gradient
- label: ET Suppression
- min: "-0.5"
- max: "0.5"
+ label: ET Anomalies
+ min: "-0.6"
+ max: "0.6"
stops:
- "#a50026"
- "#f46d43"
diff --git a/datasets/lis-tvegsuppression.data.mdx b/datasets/lis-tvegsuppression.data.mdx
index d2728272a..082c460be 100644
--- a/datasets/lis-tvegsuppression.data.mdx
+++ b/datasets/lis-tvegsuppression.data.mdx
@@ -13,9 +13,9 @@ thematics:
layers:
- id: lis-tvegsuppression
stacCol: lis-tvegsuppression
- name: LIS Transpiration Suppression
+ name: LIS Transpiration Anomalies
type: raster
- description: "Change in Transpiration for 2020 fires using model outputs from Land Information System (LIS) framework that synthesizes multiple remote sensing observations within the Noah-MP land surface model."
+ description: "Standardized transpiration anomalies for 2020 fires using model outputs from Land Information System (LIS) framework that synthesizes multiple remote sensing observations within the Noah-MP land surface model."
zoomExtent:
- 0
- 20
@@ -23,21 +23,20 @@ layers:
asset_bidx: cog_default|1
colormap_name: rdylbu
rescale:
- - -0.5
- - 0.5
- nodata: -9999
+ - -0.6
+ - 0.6
compare:
datasetId: mtbs-burn-severity
layerId: mtbs-burn-severity
mapLabel: |
::js ({ dateFns, datetime, compareDatetime }) => {
- return `ET Suppression: ${dateFns.format(datetime, 'yyyy')} VS MTBS: ${dateFns.format(compareDatetime, 'yyyy')}`;
+ return `Transpiration Anomalies: ${dateFns.format(datetime, 'yyyy')} VS MTBS: ${dateFns.format(compareDatetime, 'yyyy')}`;
}
legend:
type: gradient
- label: Transpiration Suppression
- min: "-0.5"
- max: "0.5"
+ label: Transpiration Anomalies
+ min: "-0.6"
+ max: "0.6"
stops:
- "#a50026"
- "#f46d43"
diff --git a/datasets/nighttime-lights.data.mdx b/datasets/nighttime-lights.data.mdx
index 47a1578d7..1a4e7f6e8 100644
--- a/datasets/nighttime-lights.data.mdx
+++ b/datasets/nighttime-lights.data.mdx
@@ -15,7 +15,7 @@ layers:
stacCol: nightlights-hd-monthly
name: Nightlights Monthly
type: raster
- description: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc sodales semper risus, suscipit varius diam facilisis non.'
+ description: 'Nightlights data are collected by the Visible Infrared Radiometer Suite (VIIRS) Day/Night Band (DNB) on the Suomi-National Polar-Orbiting Partnership (Suomi-NPP) platform, a joint National Oceanic and Atmospheric Administration (NOAA) and NASA satellite.'
zoomExtent:
- 8
- 16
diff --git a/discoveries/fire-life-cycle.discoveries.mdx b/discoveries/fire-life-cycle.discoveries.mdx
index 320b198ee..2152e3bbe 100644
--- a/discoveries/fire-life-cycle.discoveries.mdx
+++ b/discoveries/fire-life-cycle.discoveries.mdx
@@ -1,8 +1,9 @@
---
+featuredOn:
+ - eis
id: "fire-life-cycle"
-name: Life Cycle of a Fire
-description: "NASA EIS Transdisciplinary Science from Pre-Fire to Post-Fire"
-featured: true
+name: Hydrological Drivers and Impacts of Fire
+description: "NASA's Earth Information System investigates pre-fire hydrological conditions and post-fire impacts on eco-hydrology"
media:
src: ::file ./fire-cover.png
alt: Satellite imagery (false color) of East Troublesome fire spreading to the Rockies
@@ -16,24 +17,16 @@ thematics:
+ ## Introduction
🚧 This Discovery presents work in progress and not peer-reviewed results! 🚧
-
-
- Join the discussion and provide comments on this Discovery at https://github.com/orgs/Earth-Information-System/discussions.
- Authors: Shahryar K. Ahmad, Thomas R. Holmes, Sujay V. Kumar, Kim Locke, Timothy Lahmers, Elijah Orland
-
-
+ Fires are an integral part of the Earth system and have a large human dimension. Society's interaction with the Earth system affects fire risk, fire spread, and fire impacts (e.g. property destruction, emissions, mud slides). NASA data products and models provide real-time information on active fires, smoke, air quality, and forecasts of changing fire weather and seasonal fire risk.
+ EIS provides a platform for collaborative analysis of and decision support for pre-fire risk, active fire situational awareness, and managing post-fire impacts. The full potential of these individual efforts are realized through the EIS collaborative framework to support new transdisciplinary connections and fire-related management activities.
-
-
- ## Introduction
- Fires are an integral part of the Earth system and have a large human dimension. Society's interaction with the Earth system affects fire risk, fire spread, and fire impacts (e.g. property destruction, emissions, mud slides). NASA data products and models provide real-time information on active fires, smoke, air quality, and forecasts of changing fire weather and seasonal fire risk.
+ Join the discussion and provide comments on this Discovery in [EIS GitHub Discussions](https://github.com/orgs/Earth-Information-System/discussions/8).
-
- EIS provides a platform for collaborative analysis of and decision support for pre-fire risk, active fire situational awareness, and managing post-fire impacts. The full potential of these individual efforts are realized through the EIS collaborative framework to support new transdisciplinary connections and fire-related management activities.
-
+ Authors: [Shahryar K. Ahmad](mailto:shahryarkhalique.ahmad@nasa.gov), Thomas R. Holmes, Sujay V. Kumar, Kim Locke, Timothy Lahmers, Elijah Orland
@@ -60,7 +53,7 @@ thematics:
Catastrophic wildfires are on increase across the Western United States. While fires constitute an important rangeland disturbance process in the semi-arid ecosystems of the Western U.S., climate change and intensifying droughts have increased the frequency and vigor of wildfires.
- This chart shows total area burned from 1984 to 2020 in the Western U.S.
+ This chart shows total area burned from 1984 to 2020 in the Western U.S.
@@ -83,8 +76,8 @@ thematics:
## Intensifying Fire Severity and Increasing Burned Area
-
- Monitoring Trends in Burn Severity ([MTBS] (https://www.mtbs.gov/)) program provides long record of CONUS wildland fires during 1984-2021, mapping burn area extents, date of ignition, and burn severity at 30 m resolution. The intensifying fire season can be seen with larger and more intense fires in 2020 when compared to 2016.
+
+ Monitoring Trends in Burn Severity ([MTBS] (https://www.mtbs.gov/)) program provides long record of CONUS wildland fires during 1984-2021, mapping burn area extents, date of ignition, and burn severity at 30 m resolution. The intensifying fire season can be seen with larger and more intense fires in 2020 when compared to 2016.
@@ -133,8 +126,8 @@ thematics:
## Developments in Fire Risk Modeling
- Dry, windy weather combines with the dry vegetation to create perfect conditions for WildFires across much of Northern California in the summer of 2021. One way to track the increased risk of fires over large areas is through the use of indices based on weather, vegetation and soil conditions. Two examples of this are the globally used Fire Weather Index (FWI) and the Burning Index of the US-focused National Fire Danger Rating System (NFDRS). Traditionally, these indices are based on readily available weather station data which limits their spatial detail and sensitivity to soil and vegetation conditions.
-
+ Dry, windy weather combines with the dry vegetation to create perfect conditions for WildFires across much of Northern California in the summer of 2021. One way to track the increased risk of fires over large areas is through the use of indices based on weather, vegetation and soil conditions. Two examples of this are the globally used Fire Weather Index (FWI) and the US-focused National Fire Danger Rating System (NFDRS). Traditionally, these indices are based on readily available weather station data which limits their spatial detail and sensitivity to soil and vegetation conditions.
+
EIS will explore the integration of more detailed land surface information, from models and satellites, with existing weather-based fire-risk indices.
@@ -148,44 +141,11 @@ thematics:
attrAuthor='NASA'
attrUrl='https://nasa.gov/'
>
- Weather-based fire-risk indices do not capture detailed land surface processes such as irrigation practises in California’s Central Valley (Credit: [https://www.jpl.nasa.gov/news/nasa-measures-underground-water-flowing-from-sierra-to-central-valley](https://www.jpl.nasa.gov/news/nasa-measures-underground-water-flowing-from-sierra-to-central-valley))
+ Weather-based fire-risk indices do not capture detailed land surface processes such as irrigation practises in California’s Central Valley (Credit: [https://www.jpl.nasa.gov/news/nasa-measures-underground-water-flowing-from-sierra-to-central-valley](https://www.jpl.nasa.gov/news/nasa-measures-underground-water-flowing-from-sierra-to-central-valley))
-
-
-
- ## Real-time global fire event monitoring
-
- Tracking every fire on Earth, every 12 hours, using an automated algorithm that converts satellite measurements of fire occurrence and energy output on a pixel-by-pixel basis to maps of the active fire perimeter and cumulative burned area
-
-
- [See here](https://svs.gsfc.nasa.gov/4992) for active mapping of the Spread of the Caldor Fire - 2021
-
-
-
-
-
-
-
-
-
-
-
-
- ## Vegetation Responds with Reduced Transpiration
-
- Fire leads to an immediate and lasting reduction in evapotranspiration (ET) over burned areas. This can be tracked for post-fire years using the [OpenET archive](https://openetdata.org/). OpenET produces ET estimates based on high-resolution Landsat observations and several different models.
-
- By comparing the annual ET of the post-fire year with the pre-fire 5-year mean value, we get a map that compares well with the burn severity maps from MTBS.
-
- [Explore interactive JupyterHub notebook](https://nasa-veda.2i2c.cloud/hub/user-redirect/git-pull?repo=https%3A%2F%2Fgithub.com%2FEarth-Information-System%2Feis-notebooks&urlpath=lab%2Ftree%2Feis-notebooks%2FFIRE_HYDRO%2Ffire-life-cycle-DisALEXI.ipynb&branch=main) for impacts using ET observations
-
-
-
-
-
@@ -211,13 +171,13 @@ thematics:
## Impacts on Hydrology - A Journey Across Fires
-
- Response of vegetation to fire disturbances is a complex interplay of climate conditions, landcover, and burn severity. [OpenET](https://openetdata.org/) observations of ET ([DisALEXI model](https://openetdata.org/methodologies/)) capture the decline in ET after the fire. The progression of spatially-averaged ET over the burned and control regions (unimpacted from fire) show the post-fire recovery of vegetation.
-
+
+ Response of vegetation to fire disturbances is a complex interplay of climate conditions, landcover, and burn severity. [OpenET](https://openetdata.org/) observations of ET ([DisALEXI model](https://openetdata.org/methodologies/)) capture the decline in ET after the fire. The progression of spatially-averaged ET over the burned and control regions (unimpacted from fire) show the post-fire recovery of vegetation.
+
Below are three recent fire events showing these ET recovery trends.
-
+
## 2017 Preacher Fire in Nevada
Ignited on July 24, 2017, the Preacher fire burned ~5000 ac of grassland with moderate severity. OpenET data show vegetation responded with declining ET, but transpiration recovered within a couple of post-fire seasons.
-
+
## 2018 Natchez Fire in Northern California
- The Natchez fire started on July 15, 2018 and burned a massive 38,800 ac of forested landscape with high severity. Post-fire ET data show that vegetation sustained the impact on ET for a longer period of time, with incomplete recovery even after three post-fire seasons.
-
+ The Natchez fire started on July 15, 2018 and burned a massive 38,800 ac of forested landscape with high severity. Post-fire ET data show that vegetation sustained the impact on ET for a longer period of time, with incomplete recovery even after three post-fire seasons.
+
## 2017 Thomas Fire in Southern California
-
+
On Dec 4, 2017, the Thomas fire burned 281,982 acres surpassing all preceding wildfires in modern California history, causing over $2.2 billion USD in damages. A mix of savannas and grasslands sustained moderate severity burns. Recovery was still incomplete by the end of 2021 (based on most recently available OpenET data).
-
-
-
+
+
+
## Ecosystem response to fires is complex!
-
- Recovery of severely burnt forests is slowest and can sustain damage over multiple seasons, even in near normal or wet conditions.
+
+ Recovery of severely burnt forests is slowest and can sustain damage over multiple seasons, even in near normal or wet conditions.
High severity fires caused highest ET suppression with slowest recovery over three post-fire years
Post-fire management and risk assessment thus need to include the control of landcover, fire properties, and climate disturbances in studying the hydrology of burnt and surrounding regions.
-
+
@@ -319,10 +279,8 @@ thematics:
-
- Modeled ET at 1 km resolution using NASA-LIS framework also captures the impact of fires on vegetation. Large declines in post-fire ET (left) correspond well with burn scars from the MTBS burn severity dataset (right) during the fire year 2020.
-
- [Explore interactive JupyterHub notebook](https://nasa-veda.2i2c.cloud/hub/user-redirect/git-pull?repo=https%3A%2F%2Fgithub.com%2FEarth-Information-System%2Feis-notebooks&urlpath=lab%2Ftree%2Feis-notebooks%2FFIRE_HYDRO%2Ffire-life-cycle-LIS.ipynb&branch=main) for impacts using LIS-derived outputs.
+
+ Modeled ET anomalies at 1 km resolution using NASA-LIS framework also captures the impact of fires on vegetation. Large declines in post-fire ET (left) correspond well with burn scars from the MTBS burn severity dataset (right) during the fire year 2020.
-
+
Transpiration modeled using LIS framework shows even stronger patterns with burn scars with large declines due to 2020 fires.
@@ -372,10 +330,10 @@ thematics:
## Downstream Effects of Fire on Debris Flow Risk
- Fire Radiative Power (FRP) is an early observational indicator of interest to emergency response providers to prioritize areas with increased risk of mud-slides.
-
+ Fire Radiative Power (FRP) is an early observational indicator of interest to emergency response providers to prioritize areas with increased risk of mud-slides.
+
Burn Area Reflectance Classification (BARC) maps from the Burned Area Emergency Response (BAER) program are one of the main products used to assess post-fire debris flow risk. Maximum FRP per 12hr fire line segment shows strong spatial relationship with BARC for the Thomas Fire of 2017 in the maps below.
-
+
@@ -433,5 +391,3 @@ thematics:
- [MODIS](https://modis.gsfc.nasa.gov/)
-
-
diff --git a/docs/CONFIGURATION.md b/docs/CONFIGURATION.md
deleted file mode 100644
index d4ded47a4..000000000
--- a/docs/CONFIGURATION.md
+++ /dev/null
@@ -1,72 +0,0 @@
-# Configuration
-
-The base properties used by Veda are set through the `.env` file.
-This includes values like the application title, and contact email. These values are then used throughout the app.
-
-The `.env` file contains a list of all available variables and comments explaining what they are used for.
-
-## veda.config.js
-
-The `veda.config.js` file is an additional configuration file for veda.
-It is through this file that you specify how the Veda content can be found.
-
-This is done by providing a glob path for each one of the [content types](./CONTENT.md). (Datasets, Discoveries).
-The default configuration is:
-```js
-datasets: './datasets/*.data.mdx'
-discoveries: './discoveries/*.discoveries.mdx'
-```
-
-### Taxonomy Index file
-
-Links to a `json` or `yml` file containing a list of [taxonomies](./TAXONOMY.md) to be used in the app.
-
-The default configuration is:
-```js
- taxonomiesIndex: './taxonomies.yml',
-```
-
-### Page overrides
-To adapt the Veda dashboard to the individual needs of you instance, some content/component overrides are provided. These overrides allow you to alter certain parts of the application, or inject code without having to fork the UI part of veda.
-
-There are essentially 2 types of possible overrides:
-- `Content Overrides` - allow you to change the default content of a page. Like with the different content types (discoveries, datasets), you'll have access to all [MDX_BLOCK.md](./MDX_BLOCKS.md). Depending on the content override you'll also be able to provide some frontmatter variables. The name of the override config variable will follow the `Content` scheme.
-- `Component Overrides` - allow you to alter a specific component of the app, by providing new javascript code for it (advanced usage). No Mdx Blocks are available.
-
-The overrides are defined in the `veda.config.js` under `pageOverrides` by specifying the path to the mdx file to load.
-These are the current available overrides:
-
-```js
- pageOverrides: {
- // Type: Content override
- aboutContent: '.mdx'
-
- // There are currently no component overrides defined.
- }
-```
-
-#### aboutContent
-Type: `Content Override`
-
-The `aboutContent` allows you to specify new content for the global about page (locally at http://localhost:9000/about).
-Besides the new content, this page also frontmatter variables to modify the page title and description.
-
-Example:
-```js
-// veda.config.js pageOverrides
-aboutContent: './overrides/about.mdx'
-```
-```jsx
----
-title: About the Dashboard
-description: A brief description
----
-
-
-
-
- This is my new about page.
-
-
-
-```
\ No newline at end of file
diff --git a/docs/CONTENT.md b/docs/CONTENT.md
deleted file mode 100644
index 94c690307..000000000
--- a/docs/CONTENT.md
+++ /dev/null
@@ -1,271 +0,0 @@
-📇 **Shortcuts:**
-
-- Check the [MDX_BLOCK.md](./MDX_BLOCKS.md) for information on the different blocks that can be used to compose the content layout.
-- Check [layer.md](./frontmatter/layer.md) for details on the different properties of a dataset layer.
-- Check [media.md](./frontmatter/media.md) for information on the images needed for the content's covers.
-- Check [GH_CODESPACES.md](./GH_CODESPACES.md) for a video walkthrough of adding content to VEDA with github codespaces.
-
-----
-
-# Content
-
-- [Content](#content)
- - [Datasets](#datasets)
- - [Discoveries](#discoveries)
-
-Veda consists of Datasets, and Discoveries.
-Each piece of content is written in [MDX](https://mdxjs.com/docs/what-is-mdx/#what-is-mdx) with configuration frontmatter. Frontmatter is separate by a set of `---` from MDX content.
-
-A file will look something like:
-```yml
----
-id: discovery1
-name: Example discovery
----
-
-
-
- ## About this discovery
-
- Once upon a time there was a content string
-
-
-```
-
-There are different types of `Block` components that can be used to create engaging content pieces.
-Each `Block` comes with its own rules and needed props, so check the [MDX_BLOCK.md](./MDX_BLOCKS.md) for the full details.
-
----
-
-## Datasets
-
-Frontmatter configuration for the Dataset
-```yaml
----
-id: string
-name: string
-description: string
-media: Media
-
-thematics: string[]
-sources: string[]
-featured: boolean
-
-layers: Layer[]
-related: Related[]
- - type: string
- id: string
- thematic: string
-usage: Usage[]
- - url: string
- label: string
- title: string
----
-
-
-
- ## This is a Dataset
-
- Once upon a time there was a content string
-
-
-```
-
-MDX content for datasets will show up on its own page under `/data-catalog/:dataset-id`. For example, `no2` dataset MDX will show up under `/data-catalog/no2`.
-
-**id**
-`string`
-Id of this dataset. Must be unique in the whole application
-
-**name**
-`string`
-Name of this dataset. This is used to reference to this dataset in the application.
-
-**description**
-`string`
-Brief description of this dataset. This is displayed on cards and the header of a dataset.
-
-**media**
-`Media`
-Image to identify this resource. See [media.md](./frontmatter/media.md).
-
-**thematics**
-`string[]`
-List of thematic areas this dataset belongs to.
-Must be a list of ids as defined in the [taxonomies index file](./TAXONOMY.md).
-Example:
-```yaml
-thematics:
- - covid-19
- - agriculture
-```
-
-**sources**
-`string[]`
-List of sources for this dataset.
-Must be a list of ids as defined in the [taxonomies index file](./TAXONOMY.md).
-Example:
-```yaml
-sources:
- - devseed
-```
-
-**featured**
-`boolean`
-Whether this dataset is featured
-![](./media/fm-featured-dataset.png)
-
-**layers**
-`Layer[]`
-List of layers for this dataset. See [layer.md](./frontmatter/layer.md).
-Example:
-```yaml
-layers:
- - id: layerId
- ... # more props
- - id: anotherLayerId
- ... # more props
-```
-
-**related**
-`Related[]`
-List of related contents. This list will be displayed at the bottom of dataset overview like below.
-(The screenshot shows the case when there are 2 related content entries.)
-
-![screenshot of related content component on the dashboard](./media/related-content-dataset.jpg)
-
-Each content should be formatted like below.
-
-```yaml
- - type: dataset
- id: dataset-id
- - type: discovery
- id: discovery-id
-```
-
-**usage**
-`Usage[]`
-Links to examples for how to use this dataset.
-The usage information will be accessible from the header of a dataset page (via the _Analyze data (Python)_ button), from the explore page, and from any long form content through the use of the [NotebookConnectCallout](./MDX_BLOCKS.md#notebook-connect-callout).
-
-![](./media/dataset-header.png)
-
-**usage[].url**
-`string`
-URL for example on how to use this dataset.
-
-**usage[].label**
-`string`
-A label for the type of interface this link opens. Currently, typical interfaces include a static notebook or a notebook hub.
-
-**usage[].title**
-`string`
-Title of the page linked to for an example of how to use this dataset.
-
-Example:
-```yaml
-usage:
- - url: 'https://github.com/NASA-IMPACT'
- label: View example notebook
- title: 'Static view in VEDA documentation'
- - url: "https://nasa-veda.2i2c.cloud/"
- label: Run example notebook
- title: 'Interactive session in VEDA 2i2c JupyterHub (requires account)'
-```
-
----
-
-## Discoveries
-
-Frontmatter configuration for the Discovery
-```yaml
----
-id: string
-name: string
-description: string
-media: Media
-pubDate: string
-
-thematics: string[]
-sources: string[]
-featured: boolean
-
-related: Related[]
- - type: string
- id: string
- thematic: string
----
-
-
-
- ## This is a discovery
-
- Once upon a time there was a content string
-
-
-```
-
-MDX content for discoveries will show up on its own page under `/discoveries/:discovery-id`. For example, `air-quality-and-covid-19` discovery MDX will show up under `/discoveries/air-quality-and-covid-19`.
-
-**id**
-`string`
-Id of this discovery. Must be unique in the whole application.
-
-**name**
-`string`
-Name of this discovery. This is used to reference to this discovery in the application.
-
-**description**
-`string`
-Brief description of this discovery. This is displayed on cards and the header of a discovery.
-
-**media**
-`Media`
-Image to identify this resource. See [media.md](./frontmatter/media.md).
-
-**pubDate**
-`string`
-Publication date for this discovery. Should be in YYYY-MM-DD format.
-
-**thematics**
-`string[]`
-List of thematic areas this discovery belongs to.
-Must be a list of ids as defined in the [taxonomies index file](./TAXONOMY.md).
-Example:
-```yaml
-thematics:
- - covid-19
- - agriculture
-```
-
-**sources**
-`string[]`
-List of sources for this discovery.
-Must be a list of ids as defined in the [taxonomies index file](./TAXONOMY.md).
-Example:
-```yaml
-sources:
- - devseed
-```
-
-**featured**
-`boolean`
-Whether this discovery is featured
-
-![](./media/fm-featured-discovery.png)
-
-**related**
-`Related[]`
-List of related contents. This list will be displayed at the bottom of discovery page like below.
-(The example shows the case when there are 3 related content entries.)
-
-![screenshot of related content component on discovery page](./media/related-content-discovery.jpg)
-
-Each content should be formatted like below
-
-```yaml
- - type: dataset
- id: dataset-id
- - type: discovery
- id: discovery-id
-```
diff --git a/docs/MDX_BLOCKS.md b/docs/MDX_BLOCKS.md
deleted file mode 100644
index ad9f31b3e..000000000
--- a/docs/MDX_BLOCKS.md
+++ /dev/null
@@ -1,519 +0,0 @@
-# Writing contents for Veda dashboard
-
-- [Writing contents for Veda dashboard](#writing-contents-for-veda-dashboard)
- - [Background \& Prerequisites](#background--prerequisites)
- - [Block](#block)
- - [Notebook Connect Callout](#notebook-connect-callout)
- - [Image](#image)
- - [Inline image \& Figure image](#inline-image--figure-image)
- - [How to use local image (assets)](#how-to-use-local-image-assets)
- - [Chart](#chart)
- - [Map](#map)
- - [Scrollytelling](#scrollytelling)
- - [Chapter properties](#chapter-properties)
- - [Some gotchas](#some-gotchas)
-
-## Background & Prerequisites
-
-Veda dashboard content uses [MDX](https://mdxjs.com/docs/what-is-mdx/) for its content. To most simply put, MDX combines Javascript components and Markdown. By using MDX, Veda dashboard can offer editors rich experience with custom components while still having a way of writing text-based content with markdown syntax.
-
-Understanding of MDX is not required to write contents for Veda dashboard, but you need to know how to write [Markdown](https://docs.github.com/en/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax), and to be familiar with the concept of [JSX](https://facebook.github.io/jsx/).
-
-## Block
-
-`Block` is a basic 'building block' for Veda dashboard contents. Any contents needs to be wrapped with `Block` component. The type of Block, and the combination of its children elements will decide the layout of the content block. When there is a layout change, you can assume that there is a change of block type. The image below shows what block was used for each layout.
-
-
-
-
-
-![How blocks look on discovery page](./media/prose-figure.jpg)
-
-
-
- ![blocks with each layout name labeled.](./media/prose-figure-w-quotation.jpg)
-
-
-
-
-
-We currently (2022, May) have 8 different `Block` combinations to construct a layout and a standalone `ScrollytellingBlock`. Mind that only `Prose` and `Figure` can be direct children of Block. Any raw markdown contents can be wrapped with `Prose`. Any media contents or custom components (`Image`, `Map`, `Chart` ...) should be wrapped with `Figure`.
-
-> If you are using a `Block` with more than one child element, mind that the order of children decides which one goes where. For example, in `FigureProse` Block, `
` comes before `` in the syntax. In result, `Figure` shows up on the left, and `Prose` shows up on the right.
-
-Layouts do work in any size of screen, but this documentation mainly addresses how they are represented on large (> 991px) screens.
-
-
-
-
Type
Syntax
Result
-
-
-
Default Prose Block
-
-
- ```jsx
-
-
- ### Your markdown header
-
- Your markdown contents comes here.
-
-
- ```
-
-
-
- ![Screenshot of Default Prose Block](./media/block-default-prose.jpg)
-
-
-
-
-
Wide Prose Block
-
-
- ```jsx
-
-
- ### Your markdown header
-
- Your markdown contents comes here.
-
-
- ```
-
-
-
- ![Screenshot of Wide Prose Block](./media/block-wide-prose.jpg)
-
-
-
-
-
Wide Figure Block
-
-
- ```jsx
-
-
-
- ```
-
-
-
-
- ![Screenshot of Wide Figure Block](./media/block-wide-figure.jpg)
-
-
-
-
-
Full Figure Block
-
-
- ```jsx
-
-
-
- ```
-
-
-
- ![Screenshot of Full Figure Block](./media/block-full-figure.jpg)
-
-
- ![Screenshot of full figure prose Block](./media/block-full-figure-prose.jpg)
-
-
-
-
-
-## Notebook Connect Callout
-
-⚠️ This feature is still under development and may change at any time. ⚠️
-
-When necessary, it is possible to include a callout to link to a dataset usage. This callout allows the user to add some custom text and define which dataset the callout is for. **Note that the linked dataset must have a [usage configuration](./CONTENT.md#datasets) defined on its file**.
-
-When the user clicks the button a modal will appear with the usage information.
-
-| Option | Type | Description|
-|---|---|---|
-| datasetId | string | Id of the dataset to link to, as defined by the `id` property on the dataset MDX file. |
-
-
-
-
Syntax
-
How it looks on the page
-
-
-
-
-
- ```jsx
-
- The No2 dataset is a great example of
- what this data can be used for, and
- you can also explore it on your own.
-
- ```
-
-
-
- ![Screenshot of notebook callout](./media/dataset-usage-callout.png)
-
- The information on the modal is derived from the [usage configuration](./CONTENT.md#datasets) and it is not customizable.
-
- ![Screenshot of notebook callout modal](./media/dataset-usage-callout-modal.png)
-
-
-
-
-The `NotebookConnectCallout` is meant to be used in a `` component like any other text element. For example:
-```jsx
-
-
- #### Pellentesque pretium
-
- Donec est tellus, finibus lobortis vestibulum tincidunt, egestas id nunc.
-
-
- The No2 dataset is a great example of what this data can be used for, and you can also explore it on your own.
-
-
- Maecenas placerat felis vel nisi lobortis, quis blandit mauris accumsan. Donec
- vehicula ipsum orci, sit amet interdum est commodo sed.
-
-
-
-```
-
-## Image
-
-To offer rich visual and better experience, Veda dashboard offers `Image` component, which is a wrapper for `` HTML tag. You can use `Image` component to display any kind of image. Depending on where Image is used (is it inside of `Prose` as an inline image? or inside of `Figure`?), there are additional attributes you need to pass.
-
-Also you can pass any attribute that you can use with `` HTML element and these will get passed down. Ex. you can pass width of image or height of image with `width`, `height`.
-
-| Option | Type | Default | Description|
-|---|---|---|---|
-| src | string | `''` | Path for image. If using local image, please look at the section below. |
-| alt | string | `''` | Description for image, this will be used for screen readers. |
-| align | string, enum (left, right, center) | `center` | For inline image. Alignment of image. |
-| caption | string | `''` | For inline image. Caption text for inline image. |
-| attrAuthor | string | `''` | Info for image author. When omitted, attribution mark on the right-top part of the figure wouldn't show up. |
-| attrUrl | string | `''` | Link for image attribution. |
-
-### Inline image & Figure image
-
-`Image` component can take different attributes depending on its context.
-
-When `Image` is used in `Prose`, it is inline image ad should be used when you need to put an image inside of `Prose`.
-
-
-
-
Syntax
-
How it looks on the page
-
-
-
-
-
- ```jsx
-
- ```
-
-
-
- ![Screenshot of inline Image component](./media/image-inline.jpg)
-
-
-
-
-
-When `Image` is used in `Figure`, it is Figure image.
-You can replace `attr` option with `
` component if your image is used in `Figure` block. In this way, you can display rich text as Caption.
-
-
-
-
Syntax
-
How it looks on the page
-
-
-
-
-
- ```jsx
-
- ```
-
-
-
- ![Screenshot of full figure Image component](./media/image-figure.jpg)
-
-
-
-
-
-
-#### How to use local image (assets)
-
-Because of internal build process, you need to wrap the path with specific template when using local assets like below.
-
-```js
-new URL('where-your-image-is.jpg', import.meta.url).href
-```
-
-For example, if you put an image `image.jpg` inside of the folder where your mdx file is, the syntax for `Image` component will be like below.
-
-```jsx
-
-```
-
-## Chart
-
-![Screenshot of chart component with sample data](./media/chart.png)
-
-| Option | Type | Default | Description|
-|---|---|---|---|
-| dataPath | string | `''` | Path for data. The data should be either in `csv` or `json` format. Use parcel's URL builder to use local file. (Refer to the example below.) |
-| xKey | string | `''` | Attribute to be used for x axis. |
-| yKey | string | `''` | Attribute to be used for y axis. |
-| idKey | string | `''` | Attribute for each data point. (The data will be sorted alphabetical order.) |
-| dateFormat | string | `''` | Template for how temporal date is formatted. This follows [d3's convention for date format](https://github.com/d3/d3-time-format#locale_format) |
-| xAxisLabel | string | `''` | Label for x axis. |
-| yAxisLabel | string | `''` | Label for y axis. Use this attribute if the value needs unit such as `%`. |
-| altTitle | string | `''` | Title of the chart. This will help increase the accessibility of Chart. |
-| altDesc | string | `''` | Description of the chart. Avoid a generic description such as 'covid case chart'. Put what you are trying to deliver through the chart ex. 'covid case spiked throughout all the counties in New York state.') |
-| colors | array | `undefined` | Colors for lines. Use [HTML color name](https://www.w3schools.com/colors/colors_names.asp). The order of colors needs to match to the order of lines. (Mind that the data is sorted alphabetically. So if you want to give `red` color for `apple` and `yellow` for `lemon`, you will need to pass [`red`,`yellow`] for `colors`. ) |
-| colorScheme | string | `'viridis'` | One of [d3 chromatic diverging](https://github.com/d3/d3-scale-chromatic#diverging) or [sequential color scheme](https://github.com/d3/d3-scale-chromatic#sequential-multi-hue). Use only the name of the scheme. ex. if you want `schemePuOr`, use `puOr`. When `colors` is defined, `colorScheme` attribute is ignored.|
-| highlightStart | string | `''` | Start point for x axis to draw highlighted area. |
-| highlightEnd | string | `''` | End point of x axis to draw highlighted area.
-| highlightLabel | string | `''` | Label for highlighted area. This label will sit on top of the legend.|
-
-Syntax for Chart used in Wide Figure Block looks like this. Check how the data is formatted in [example.csv](./media/example.csv).
-
-```jsx
-
-
-
-```
-
-## Map
-
-| Option | Type | Default | Description|
-|---|---|---|---|
-| datasetId | string | `''` | `id` defined in dataset mdx. |
-| layerId | string | `''` | `id` for layer to display. The layer should be a part of the dataset above. |
-| dateTime | string | `''` | Optional. This string should follow `yyyy-mm-dd` format. When omitted, the very first available dateTime for the dataset will be displayed |
-| compareDateTime | string | `''` | Optional. This string should follow `yyyy-mm-dd` format. A date should only be specified if you wish to display the comparison slider |
-| compareLabel | string | `''` | Text to display over the map when the comparison is active. If is for example used to indicate what dates are being compared. If not provided it will default to the value specified in the [dataset layer configuration](./frontmatter/layer.md#compare) |
-| projectionId | string | `mercator` | The id of the [projection](./frontmatter/layer.md#projections) to load. |
-| projectionCenter | [int, int] | `''` | Projection center for Conic projections |
-| projectionParallels | [int, int] | `''` | Projection parallels for Conic projections |
-| allowProjectionChange | boolean | `true` | Whether or not the user can change the position using a projection selector dropdown added to the map |
-
-Syntax for Map, which displays `nightlights-hd-monthly` layer from `sandbox` dataset in full figure block looks like this:
-
-```jsx
-
-
-
-```
-
-## Scrollytelling
-
-> "Scrollytelling" was a term first coined to describe online longform stories characterised by audio, video and animation effects triggered by simply scrolling the page. - [An introduction to scrollytelling](https://shorthand.com/the-craft/an-introduction-to-scrollytelling/index.html).
-
-![](./media/scrollytelling.png)
-
-The Scrollytelling feature of Veda is map based and allows you to define different `Chapters` where each chapter corresponds to a map position and layer being displayed.
-As the user scrolls the chapter content comes into view on top of the map which will animate to a specific position.
-
-The scrollytelling is defined as a series os `Chapters` inside the `ScrollytellingBlock`.
-
-```jsx
-
-
- ## Content of chapter 1
-
- Markdown is supported
-
-
-
- Each chapter is a box where content appears.
-
-
-```
-
-### Chapter properties
-| Option | Type | Description |
-|---|---|---|
-| center | [number, number] | Center coordinates for the map [Longitude, Latitude] |
-| zoom | number | Zoom value for the map |
-| datasetId | string | `id` of the Dataset to which the layer to to display belongs |
-| layerId | boolean | `id` of the dataset layer to display |
-| datetime | boolean | Optional. If the layer to display has a temporal extent, specify the datetime |
-| showBaseMap | boolean | Optional. If there is a need to show basemap without any additional layers ontop, pass `true`. (datasetId, layerId can be omitted when `showBaseMap` is `true`) |
-| projectionName | string | `mercator` | The name of the [projection](./frontmatter/layer.md#projections) to load. |
-| projectionCenter | [int, int] | Projection center for Conic projections |
-| projectionParallels | [int, int] | Projection parallels for Conic projections |
-
-
-🧑🎓 **Notes on projections**
-- As with other properties, the user is not allowed to change the projection used in a chapter
-- Once a chapter with a set projection is reached, that projection will be used on subsequent chapters, until one specifies a different projection.
-
-## Some gotchas
-
-- Do not use h1(`# heading 1`) for your header. `h1` is reserved for page title.
diff --git a/docs/TAXONOMY.md b/docs/TAXONOMY.md
deleted file mode 100644
index 3b593e001..000000000
--- a/docs/TAXONOMY.md
+++ /dev/null
@@ -1,59 +0,0 @@
-# Content
-
-- [Content](#content)
- - [Taxonomy Index file](#taxonomy-index-file)
- - [Using a taxonomy in a content type](#using-a-taxonomy-in-a-content-type)
-
-Some of VEDA content types properties are taxonomies.
-These are identified by their id and linked to the full taxonomy definition on the taxonomy index file.
-
-## Taxonomy Index file
-
-The location of the taxonomy index file is defined through `veda.config.js` and can either be a `json` or `yml` file.
-
-The different taxonomies are defined as a id keyed list. Each taxonomy item must, at least, have an `id` and `name` properties.
-
-Example:
-```yml
-# Key of the taxonomy is thematics.
-thematics:
- - id: water
- name: Water Quality
- - id: air
- name: Air Quality
-
-# Key of the taxonomy is sources.
-sources:
- - id: devseed
- name: Development Seed
- url: https://developmentseed.org
-```
-
-## Using a taxonomy in a content type
-
-To link a content type to a taxonomy, you need to list the different item's `id` under the taxonomy key on your content type.
-
-Example adding `sources` to a dataset:
-```yaml
----
-id: my-data
-name: My example dataset
-description: A dataset with sources
-
-sources:
- - devseed
- - another-source
-
-layers: # ...
----
-
-
-
- ## This is a Dataset
-
- Once upon a time there was a content string
-
-
-```
-
-If you want to use a taxonomy item that doesn't exist (e.g. a new source) you will need to add it to the taxonomy index file.
\ No newline at end of file
diff --git a/docs/frontmatter/layer.md b/docs/frontmatter/layer.md
deleted file mode 100644
index 2fd07ef98..000000000
--- a/docs/frontmatter/layer.md
+++ /dev/null
@@ -1,274 +0,0 @@
-# layer
-
-- [layer](#layer)
- - [Properties](#properties)
- - [Projection](#projection)
- - [Legend](#legend)
- - [Compare](#compare)
- - [Function values](#function-values)
-
-```yaml
-id: string
-stacCol: string
-name: string
-type: string
-initialDatetime: 'oldest' | 'newest' | Date(YYYY-MM-DD) = 'newest'
-description: string
-projection: Projection
-zoomExtent: [int, int] | null | fn(bag)
-sourceParams:
- [key]: value | fn(bag)
-compare: Compare
-legend: Legend
-```
-
-## Properties
-
-> 🙋 Several layer properties support functions to provide the app with dynamic values. See [Function values](#function-values) at the end of the document for details.
-
-**id**
-`string`
-Id of the layer, using lowercase characters and dashes (Example: `no2-monthly-diff`).
-Must be unique in a dataset.
-
-**stacCol**
-`string`
-The stac collection that this layer should load.
-
-**name**
-`string`
-Name of the layer for display purposes.
-
-**type**
-`raster | vector`
-The type of the layer will define how the data is displayed on the map.
-⚠️ Vector datasets are should be in vector titles format with a source layer named `default`. It is currently not possible to customize the style of the dataset's features.
-
-**description**
-`string`
-Brief description of the layer. Will be shown in an info box.
-
-**initialDatetime**
-`'oldest' | 'newest' | Date(YYYY-MM-DD) = 'newest'`
-Define the initial date that is shown when enabling a timeseries layer. This value is used if no valid date is provided via the url parameters
-
-**zoomExtent**
-`[int, int] | fn(bag)`
-Minimum and maximum zoom values for the layer. Below the minimum zoom level the layer will not be shown, but markers will be displayed to indicate where data is available.
-
-**sourceParams**
-`object`
-Parameters to be appended to the tile source. The values will be used as provided as query string parameters.
-These values may vary greatly depending on the layer being added but some may be:
-- **rescale**
- `[int, int] | fn(bag)`
- Minimum and maximum value for the rescale. This value is used for the color mapping, such that the minimum value corresponds to the starting color of the color map, and the maximum value corresponds to the ending. Adjusting this value changes the underlying data values mapped to the colors allowing for the analysis of different trends.
-- **colormap_name**
- `string`
- The colormap to use for the layer. One of https://cogeotiff.github.io/rio-tiler/colormap/#default-rio-tilers-colormaps
-
-### Projection
-
-**projection**
-`object`
-Define the starting [projection](https://docs.mapbox.com/mapbox-gl-js/guides/projections/) to use for this layer. The user will still be able to change the projection as they explore the map, but an initial one may be defined.
-
-```yaml
-id: 'albers' | 'equalEarth' | 'equirectangular' | 'lambertConformalConic' | 'mercator' | 'naturalEarth' | 'winkelTripel' | 'globe' | 'polarNorth' | 'polarSouth'
-center: [int, int]
-parallels: [int, int]
-```
-
-**projection.id**
-`albers | equalEarth | equirectangular | lambertConformalConic | mercator | naturalEarth | winkelTripel | globe | polarNorth | polarSouth`
-The id of the projection to set. Besides all the projections offered by mapbox, veda supports two additional ones `polarNorth | polarSouth`. These are not true polar projections but are achieved using specific `center` and `parallels` values of the `lambertConformalConic` projection.
-
-**projection.center**
-`[int, int]`
-Projection center. Required for Conic projections like `lambertConformalConic` and `albers`.
-
-**projection.parallels**
-`[int, int]`
-Projection parallels. Required for Conic projections like `lambertConformalConic` and `albers`.
-
-### Legend
-
-**legend**
-`object`
-Legend for this layer. This is shown in the interface as a visual guide to the user. The resulting legend will depend on the selected type.
-
-```yaml
-type: categorical | gradient
-unit:
- label: string
-min: string
-max: string
-stops: string[] | object[]
- - string[]
- # or
- - color: string
- label: string
-```
-
-**legend.type**
-`categorical | gradient`
-
-
-
-
Gradient
-
Categorical
-
-
-
-
-A `gradient` legend will display a continuous color scale using the provided stops which are rendered equally spaced from each other.
-
-
-
-A `categorical` legend will display discreet color buckets according to the defined stops.
-