diff --git a/datasets/geoglam.data.mdx b/datasets/geoglam.data.mdx
index 18b9df6ae..4916801c0 100644
--- a/datasets/geoglam.data.mdx
+++ b/datasets/geoglam.data.mdx
@@ -47,9 +47,9 @@ layers:
- ## Examples of COVID-19 impact on Global Food Supplies
+ ## Examples of COVID-19 Impact on Global Food Supplies
- Measures to slow the spread of COVID-19 are affecting the food supply chain in many ways, including the availability of inputs, labor, transport, and cross-border trade. The Group on Earth Observation's Global Agricultural Monitoring Initiative (GEOGLAM) Global Crop Monitor uses remote sensing data like global precipitation and soil moisture measurements to help reduce uncertainty, promote market transparency, and provide early warning for crop failures through multi-agency collaboration. During the pandemic, this tool - developed in conjunction with NASA's food and agriculture program (NASA Harvest), ESA and JAXA - is increasingly used in lieu of on-the-ground validation of crop conditions.
+ Measures to slow the spread of COVID-19 affected the food supply chain in many ways, including the availability of inputs, labor, transport, and cross-border trade. The Group on Earth Observation's Global Agricultural Monitoring Initiative (GEOGLAM) Global Crop Monitor uses remote sensing data like global precipitation and soil moisture measurements to help reduce uncertainty, promote market transparency, and provide early warning for crop failures through multi-agency collaboration. During the pandemic, this tool - developed in conjunction with NASA's food and agriculture program (NASA Harvest), ESA (European Space Agency) and JAXA, Japan Aerospace Exploration Agency - is increasingly used in lieu of on-the-ground validation of crop conditions.
Data from the GEOGLAM Crop Monitor inform two different agricultural tools that have helped lessen global concerns over food security during the novel coronavirus pandemic: the Agricultural Market Information System (AMIS) and the Crop Monitor for Early Warning (CM4EW). AMIS provides agricultural information based on remote sensing observations for the major producing nations of four primary crops - wheat, maize, rice, and soybeans. CM4EW provides agricultural data for countries at higher risk of food insecurity.
@@ -68,13 +68,11 @@ layers:
### Major Producing and Exporting Countries
- Current estimates from GEOGLAM Crop Monitor data indicate the global food supply is adequate. While many countries experienced lockdowns and travel bans as the novel coronavirus spread, most farmers were able to continue operations due to the rural nature of most farm communities and the relatively less labor-intensive cultivation techniques associated with key crops.
+ Current estimates from GEOGLAM Crop Monitor data indicate the global food supply is adequate. While many countries experienced lockdowns and travel bans as coronavirus spread, most farmers were able to continue operations due to the rural nature of most farm communities and the relatively less labor-intensive cultivation techniques associated with key crops.
However, the spread of the coronavirus did have an impact on the ability of governments and agricultural organizations to perform in-person field surveys of sowing, crop progress, and harvesting. This reinforced the need for strong remote sensing capabilities. Satellite-based information from AMIS helped confirm that global food production during the early parts of the pandemic was secure, leading to the resumption of normal trade flows after some large producer and export countries issued temporary trade restrictions.
"Assessing the global supply situation and being able to predict unexpected shortfalls is the single most important task to guarantee global food security,” explained Abdolreza Abbassian, Secretary of AMIS and a U.N. Food and Agriculture Organization senior economist. “However, such assessments must be evidence-based and credible, and this is where reliance on timely information from remote sensing plays a fundamental role.”
-
- AMIS data for the main grain producing and export countries show that crop conditions and related production for 2020 seasons are generally favorable. While dry conditions in parts of Europe, southern Ukraine, and southern Russia have impacted winter wheat yields, favorable harvests in North America, India, China, and elsewhere in the Black Sea region have offset those reductions. In the Southern Hemisphere, there have been good harvests of maize and soybeans in Brazil, Argentina, and South Africa. Looking ahead, conditions are favorable for most summer crops in the Northern Hemisphere, the monsoon season in India, the main rice season in northern Southeast Asia, and for winter wheat in Australia. Providing evidence through satellite data that overall global production of the major staple crops is adequate has been critical during this time of uncertainty.
@@ -91,9 +89,9 @@ layers:
## COVID-19 Impacts in East Africa
- During the 2020 growing season in East Africa, agricultural production has faced the triple threat of desert locusts, deadly flooding and COVID-19 impacts.
+ During the 2020 growing season in East Africa, agricultural production faced the triple threat of desert locusts, deadly flooding and COVID-19 impacts.
- The overall impact of the pandemic on agricultural production of major grains within the region so far has been generally limited, and supplies of staple foods are reported to be sufficient. However, production has been disrupted in some areas through COVID-19 restrictions, causing agricultural labor supply shortages and disrupting supply chains, limiting farmers' access to seeds, fertilizers, and other inputs. This has already resulted in reported declines in planted area and yields in Ethiopia, Somalia and elsewhere across the region, and it will be critical to continue to monitor the situation and to provide timely and evidence driven crop assessments.
+ The overall impact of the pandemic on agricultural production of major grains within the region was generally limited, and supplies of staple foods were reported to be sufficient. However, production was disrupted in some areas through COVID-19 restrictions, causing agricultural labor supply shortages and disrupting supply chains, limiting farmers' access to seeds, fertilizers, and other inputs. This resulted in reported declines in planted area and yields in Ethiopia, Somalia and elsewhere across the region, and it will be critical to continue to monitor the situation and to provide timely and evidence driven crop assessments.
@@ -101,11 +99,11 @@ layers:
## COVID-19 Impacts in Southeast Asia
- In Southern Asia, the GEOGLAM crop condition assessments are coordinated by the Asian Rice Crop Estimation & Monitoring (Asia-RiCE) initiative led by the Japan Aerospace Exploration Agency (JAXA) with inputs from the region's national ministries of agriculture. COVID-19 has impacted the region by restricting the ability of governments to do field surveys, particularly during the height of the outbreak.
+ In Southern Asia, the GEOGLAM crop condition assessments are coordinated by the Asian Rice Crop Estimation & Monitoring (Asia-RiCE) initiative led by the Japan Aerospace Exploration Agency (JAXA) with inputs from the region's national ministries of agriculture. COVID-19 impacted the region by restricting the ability of governments to do field surveys, particularly during the height of the outbreak.
Currently, on the northern side of Southeast Asia, the dry-season rice has come to a close and the wet-season rice (main producing season) is underway. The dry season, which ended in May-June, was affected by persistent dry conditions that drove down yields and planted area in Myanmar, Thailand, and Laos. The wet-season rice began under generally favorable conditions, with ample rainfall in most areas except for southern Vietnam. Additionally, there has been some flooding in Bangladesh.
- In the southern side (Indonesia), the wet-season rice is complete, and the dry-season rice is underway. During the wet-season, reduced rainfall delayed the sowing of the rice and eventually resulted in less total sown area and a reduction in yields. As a consequence of the delay in the wet-season, the sowing of dry-season rice was delayed. Despite the delay, good rainfall has continued into the traditional dry season.
+ In the southern side (Indonesia), during the wet-season, reduced rainfall delayed the sowing of the rice and eventually resulted in less total sown area and a reduction in yields. As a consequence of the delay in the wet-season, the sowing of dry-season rice was delayed. Despite the delay, good rainfall continued into the traditional dry season.
{
+ return `${dateFns.format(datetime, 'DD LLL yyyy')}`;
+ }
+ legend:
+ type: gradient
+ label: Snow Water Equivalent change [fractional]
+ min: "-1"
+ max: "1"
+ stops:
+ - "#670220"
+ - "#D65F4D"
+ - "#FCDBC7"
+ - "#D1E5F0"
+ - "#4393C3"
+ - "#0D2F60"
+ - id: snow-projections-diff-scenario-585
+ stacCol: snow-projections-diff-585
+ name: 'SWE Losses, SSP5-8.5'
+ type: raster
+ description: 'Snow water equivalent (SWE) losses modeled using the Land Information System framework and CMIP SSP5-8.5 scenario projections'
+ sourceParams:
+ resampling_method: bilinear
+ bidx: 1
+ nodata: nan
+ colormap_name: rdbu
+ rescale:
+ - -1
+ - 1
+ compare:
+ datasetId: snow-projections-diff
+ layerId: snow-projections-diff-scenario-585
+ mapLabel: |
+ ::js ({ dateFns, datetime, compareDatetime }) => {
+ return `${dateFns.format(datetime, 'DD LLL yyyy')}`;
+ }
+ legend:
+ type: gradient
+ label: Snow Water Equivalent change [fractional]
+ min: "-1"
+ max: "1"
+ stops:
+ - "#670220"
+ - "#D65F4D"
+ - "#FCDBC7"
+ - "#D1E5F0"
+ - "#4393C3"
+ - "#0D2F60"
+---
+
+
+## Overview
+Snow water equivalent (SWE) is defined as the amount of water in the snow. Here, we present the projected fractional change to snow in future periods, relative to the historical period (1995 - 2014). Fractional changes of -1 represent total snow loss.
+
+
+
+
+
+
+
+## Modeling SWE
+SWE is modeled using Noah-MP land surface model (LSM) within LIS framework. A baseline simulation was developed to represent 20-year median snow evolution between 1995 and 2014. The baseline simulation was then perturbed using monthly climate change signals to air temperature, precipitation, humidity, radiation, wind, and surface pressure. SWE projections in future timeframes represent the median of a 23-member ensemble of simulations performed using climate change signals from the Coupled Model Intercomparison Project, phase 6 (CMIP6) with downscaling from the NASA Earth Exchange Global Daily Downscaled Projections (NEX-GDDP-CMIP6). The modeled SWE is produced at 1 km spatial resolutions.
+
+
+
+
+
+## Additional resources
+* [EIS Freshwater](https://freshwater.eis.smce.nasa.gov/)
+
+* [Land Information System](https://lis.gsfc.nasa.gov/)
+
+* [Global Daily Downscaled Projections](https://www.nasa.gov/nex/gddp)
+
+
diff --git a/datasets/snow-projections-median.data.mdx b/datasets/snow-projections-median.data.mdx
new file mode 100644
index 000000000..4bb05a724
--- /dev/null
+++ b/datasets/snow-projections-median.data.mdx
@@ -0,0 +1,118 @@
+---
+id: snow-projections-median
+name: 'Projections of Snow Water Equivalent'
+description: "Snow water equivalent modeled using the Land Information System framework and CMIP6 projections"
+media:
+ src: ::file ./snow-projections-median.jpg
+ alt: Photo of Matterhorn glacier field
+ author:
+ name: Justin Pflug
+ url:
+thematics:
+ - eis
+layers:
+ - id: snow-projections-median-scenario-245
+ stacCol: snow-projections-median-245
+ name: 'SWE, SSP2-4.5'
+ type: raster
+ description: 'Snow water equivalent modeled using the Land Information System framework and CMIP6 SSP2-4.5 scenario projections'
+ sourceParams:
+ resampling_method: bilinear
+ bidx: 1
+ colormap_name: blues
+ rescale:
+ - 0
+ - 1000
+ compare:
+ datasetId: snow-projections-median
+ layerId: snow-projections-median-scenario-245
+ mapLabel: |
+ ::js ({ dateFns, datetime, compareDatetime }) => {
+ return `${dateFns.format(datetime, 'DD LLL yyyy')}`;
+ }
+ legend:
+ type: gradient
+ label: Snow Water Equivalent [mm]
+ min: "0"
+ max: "1000 mm"
+ stops:
+ - "#F7FBFF"
+ - "#D0E1F2"
+ - "#94C4DF"
+ - "#4A98C9"
+ - "#2164AB"
+ - "#0E316B"
+ - id: snow-projections-median-scenario-585
+ stacCol: snow-projections-median-585
+ name: 'SWE, SSP5-8.5'
+ type: raster
+ description: 'Snow water equivalent modeled using the Land Information System framework and CMIP6 SSP5-8.5 scenario projections'
+ sourceParams:
+ resampling_method: bilinear
+ bidx: 1
+ colormap_name: blues
+ rescale:
+ - 0
+ - 1000
+ compare:
+ datasetId: snow-projections-median
+ layerId: snow-projections-median-scenario-585
+ mapLabel: |
+ ::js ({ dateFns, datetime, compareDatetime }) => {
+ return `${dateFns.format(datetime, 'DD LLL yyyy')}`;
+ }
+ legend:
+ type: gradient
+ label: Snow Water Equivalent [mm]
+ min: "0"
+ max: "1000 mm"
+ stops:
+ - "#F7FBFF"
+ - "#D0E1F2"
+ - "#94C4DF"
+ - "#4A98C9"
+ - "#2164AB"
+ - "#0E316B"
+---
+
+
+## Overview
+Snow water equivalent (SWE) is defined as the amount of water in the snow. It is expressed as a height (in millimeters), representative of the height of water that would exist if snow was only in a liquid state.
+
+
+
+
+ Depleting SWE over the Washington North Cascades between the historical period (left; 1995 - 2014) and a future period (right; 2076 - 2095), projected by emissions scenario SSP 5-8.5 and LIS.
+
+
+
+
+
+
+
+
+## Modeling SWE
+SWE is modeled using Noah-MP land surface model (LSM) within LIS framework. A baseline simulation was developed to represent 20-year median snow evolution between 1995 and 2014. The baseline simulation was then perturbed using monthly climate change signals to air temperature, precipitation, humidity, radiation, wind, and surface pressure. SWE projections in future timeframes represent the median of a 23-member ensemble of simulations performed using climate change signals from the Coupled Model Intercomparison Project, phase 6 (CMIP6) with downscaling from the NASA Earth Exchange Global Daily Downscaled Projections (NEX-GDDP-CMIP6). The modeled SWE is produced at 1 km spatial resolutions.
+
+
+
+
+
+## Additional resources
+* [EIS Freshwater](https://freshwater.eis.smce.nasa.gov/)
+
+* [Land Information System](https://lis.gsfc.nasa.gov/)
+
+* [Global Daily Downscaled Projections](https://www.nasa.gov/nex/gddp)
+
+
diff --git a/datasets/snow-projections-median.jpg b/datasets/snow-projections-median.jpg
new file mode 100644
index 000000000..9aaaad9b5
Binary files /dev/null and b/datasets/snow-projections-median.jpg differ
diff --git a/discoveries/biomass-harmonization-activity.discoveries.mdx b/discoveries/biomass-harmonization-activity.discoveries.mdx
index b2bcc314d..86e6c075d 100644
--- a/discoveries/biomass-harmonization-activity.discoveries.mdx
+++ b/discoveries/biomass-harmonization-activity.discoveries.mdx
@@ -17,7 +17,7 @@ thematics:
## Multiple Efforts to Monitor Global Tree Cover
- Trees and other plants pull vast amounts of carbon dioxide out of the atmosphere every year. They incorporate some of that carbon into their organic structure, what Earth scientists call plant biomass. Measuring and monitoring the size and changes in this biomass carbon is an important part of the Paris Agreement on climate change. If a forest is cut down, for example, the carbon stored in those trees will count towards that country'’'s annual carbon emissions.
+ Trees and other plants pull vast amounts of carbon dioxide out of the atmosphere every year. They incorporate some of that carbon into their organic structure, what Earth scientists call plant biomass. Measuring and monitoring the size and changes in this biomass carbon is an important part of the Paris Agreement on climate change. If a forest is cut down, for example, the carbon stored in those trees will count towards that country’s annual carbon emissions.
As part of the Paris Agreement, the [United Nations Framework Convention on Climate Change (UNFCCC)](https://unfccc.int/) will take stock of the best available information on aboveground biomass carbon in 2023, as part of their Global Stocktake. The Global Stocktake will set benchmarks for how much biomass carbon exists on land. The UNFCCC will use these benchmarks to track countries’ progress toward meeting [Paris Agreement targets](https://unfccc.int/process-and-meetings/the-paris-agreement/the-paris-agreement).
diff --git a/discoveries/phytoplankton-algal-blooms.discoveries.mdx b/discoveries/phytoplankton-algal-blooms.discoveries.mdx
index 7ccb5b4a1..bef8c41b1 100644
--- a/discoveries/phytoplankton-algal-blooms.discoveries.mdx
+++ b/discoveries/phytoplankton-algal-blooms.discoveries.mdx
@@ -33,7 +33,7 @@ thematics:
At the end of winter, the ice is nearly all gone from Lake Erie, and growing phytoplankton populations are revealed mingling with suspended sediments in this relatively shallow Great Lake.
- In Lake Erie in North America, satellite imagery sensor shows how the area affected by blooms has increased. These increases in frequency have been related to human activity, such as agriculture practices, which may increase the amount of nutrients in natural waters, creating an imbalance that may favor HAB. Similarly, global warming may cause increases in water temperature that may create conditions that negatively affect non-HAB forming phytoplankton, but benefit HAB-forming species.
+ In Lake Erie in North America, satellite imagery sensors show how the area affected by blooms has increased. These increases in frequency have been related to human activity, such as agriculture practices, which may increase the amount of nutrients in natural waters, creating an imbalance that may favor HAB. Similarly, global warming may cause increases in water temperature that may create conditions that negatively affect non-HAB forming phytoplankton, but benefit HAB-forming species.
It is important to be able to identify and predict blooms. Industries like tourism and fisheries, as well as local health officials can prepare better to mitigate the effect of a HAB. For example, oyster fisheries can close before oysters get contaminated. Municipalities can mobilize resources ahead of time to clean up beaches where a HAB is expected to cause large fish kills.
- Satellite data and models can be combined with water samples to identify and eventually predict HAB occurrences to help us understand why they happen and to mitigate the effects. Ultimately, this is also important to better understand exchange of carbon and nutrients between the land, the atmosphere, and aquatic environments.
+ Satellite data and models can be combined with water samples to identify and eventually predict HAB occurrences to help us understand why they happen and to mitigate or lessen the harmful effects. Ultimately, this is also important to better understand exchange of carbon and nutrients between the land, the atmosphere, and aquatic environments.
diff --git a/discoveries/sat-data-agriculture.discoveries.mdx b/discoveries/sat-data-agriculture.discoveries.mdx
index e20bc3049..b85642295 100644
--- a/discoveries/sat-data-agriculture.discoveries.mdx
+++ b/discoveries/sat-data-agriculture.discoveries.mdx
@@ -1,7 +1,7 @@
---
featuredOn:
- agriculture
-id: 'sat-data-agriculture'
+id: "sat-data-agriculture"
name: The Value of Data in Monitoring The Health of Crops
description: "Satellite data applications for environmental impacts on world crop (cereal) supply and demand"
media:
@@ -19,17 +19,19 @@ thematics:
## The Value of Data
- Providing insight into agricultural production, crop conditions, and food supply are among some of the most impactful information provided by Earth observing satellites. Information derived from the data retrieved can affect the price we pay at grocery stores, policy implementation from regional to global scales, and food security around the world. Not only can satellite data tell us about current and near-future food and commodity crop conditions, but researchers are also studying the long-term trends in climate change and its effects on our food supply in support of agricultural resilience.
+ Providing insights into agricultural production, crop conditions, and food supply are among some of the most impactful information provided by Earth observing satellites. Information derived from the data retrieved can affect the price we pay at grocery stores, effect policy implementation from regional to global scales, and food security around the world. Not only can satellite data tell us about current and near-future food and commodity crop conditions, but researchers are also studying the long-term trends in climate change and its effects on our food supply in support of agricultural resilience.
- As demonstrated by recent global crises including the COVID-19 pandemic and the ongoing Russian war in Ukraine, the globally interconnected nature of the agri-food system has been thrust into the spotlight. These extreme disruptions to the global food supply underscore the importance of global agriculture monitoring, both of major producing countries and those who are major importers and therefore most vulnerable to food insecurity. A key example of international coordination in support of better food information is the G20 GEOGLAM Crop Monitor spearheaded by NASA scientists in response to a request from the G20 Agricultural Market Information System (AMIS). The Crop Monitor provides a public good of open, timely, science-driven information on crop conditions in support of market transparency. The GEOGLAM Crop Monitor Initiative is supported by the [global agriculture community](https://cropmonitor.org/index.php/about/amis-partners-cm/) and national space agencies - including the NASA Harvest Consortium and US-based institutions, JAXA and JASMIN, ESA and several European institutions, ministries of agriculture across the globe and many more. It reflects an international, multi-source, consensus assessment of crop growing conditions, status, and agro-climatic factors likely to impact global production, focusing on the major producing and trading countries for the four primary crops monitored by AMIS (wheat, maize, rice, and soybean) as well as on the countries most at risk to food insecurity and their primary staple crops.
+ As demonstrated by recent global crises including the COVID-19 pandemic and the ongoing Russian war in Ukraine, the globally interconnected nature of the agri-food system has been thrust into the spotlight. These extreme disruptions to the global food supply underscore the importance of global agriculture monitoring, both of major producing countries and those who are major importers and therefore most vulnerable to food insecurity. A key example of international coordination in support of better food information is the G20 GEOGLAM Crop Monitor spearheaded by NASA scientists in response to a request from the G20 Agricultural Market Information System (AMIS). The Crop Monitor provides a public good of open, timely, science-driven information on crop conditions in support of market transparency. The GEOGLAM Crop Monitor Initiative is supported by the [global agriculture community](https://cropmonitor.org/index.php/about/amis-partners-cm/) and national space agencies - including the NASA Harvest Consortium and US-based institutions, The Japan Aerospace Exploration Agency, (JAXA) deleteand JASMINdelete, the European Space Agency (ESA) and several European institutions, ministries of agriculture across the globe and many more. It reflects an international, multi-source, consensus assessment of crop growing conditions, status, and agro-climatic (the relationship between crops and the climate) factors likely to impact global production. The focus areas are the major producing and trading countries for the four primary crops monitored by AMIS (wheat, maize, rice, and soybean), as well as the countries most at risk to food insecurity and their primary staple crops.
+
## Why We Monitor Agricultural Production
- Any extreme event such as conflict, severe weather, or environmental abnormalities pose threats to agricultural production and may shock the system which is why it is so critical to have the accessible, transparent, timely, and global information afforded by satellite data. For example, based on community consensus and available satellite data we understand that at the end of June 2022, conditions are generally favorable for maize, rice and soybean production, while mixed for wheat. We also know that in the northern hemisphere, there are areas of concern for wheat in North America, Europe, and Central Asia. In the southern hemisphere, sowing in Argentina has begun under mixed conditions. While maize harvest continues in the southern hemisphere, crop growth continues in the northern hemisphere. Furthermore, rice conditions are generally favorable except southern China and Indonesia. Satellite data helps us monitor these global crop conditions on a regular basis, especially in times and places where ground access is dangerous or limited.
+Any extreme event such as conflict, severe weather, or environmental abnormalities pose threats to agricultural production and may shock the system which is why it is so critical to have the accessible, transparent, timely, and global information afforded by satellite data. For example, based on community consensus and available satellite data we understand that at the end of June 2022, conditions are generally favorable for maize, rice and soybean production, while mixed for wheat. We also know that in the northern hemisphere, there are areas of concern for wheat in North America, Europe, and Central Asia. In the southern hemisphere, sowing in Argentina has begun under mixed conditions. While maize harvest continues in the southern hemisphere, crop growth continues in the northern hemisphere. Furthermore, rice conditions are generally favorable except southern China and Indonesia. Satellite data helps us monitor these global crop conditions on a regular basis, especially in times and places where ground access is dangerous or limited.
+
- ## What We Monitor
+ ## What We Monitor
With the help of satellites, we are able to monitor crops throughout the growing seasons and can use a combination of satellite derived time series to quantify critical indicators related to crop health for a specific region and crop over time. One such example of satellite-derived products is the GEOGLAM-NASA Harvest Agrometeorological (AGMET) Earth Observation Indicators, which are supported by the global remote sensing community and updated every 7-12 days to ensure users have the most up- to- date information. Displaying climate, environmental, and vegetative variables that impact agricultural outcomes, the AGMET Indicators were born from an agricultural stakeholder-identified need for a simple way to visualize and frequently monitor crop health with the ultimate goal of identifying potential cropping concerns as the growing season progresses, and before a food shortage materializes. Satellite data provides a wealth of information to meet these needs including:
+
**1. Normalized Difference Vegetation Index (NDVI): A measure of crop health.**
- This is a simple graphical indicator that can be used to analyze remote sensing measurements, often from a space platform, assessing whether or not the target being observed contains live green vegetation. As a crop season progresses, NDVI values will increase during early crop growth and development of leafy vegetation, and will reach the peak as the crop fully develops and reaches maturity (before senescence), and then will decrease again as the crop matures and as the leafy vegetation begins to die off. How the NDVI values progress over the course of the season and the individual peak values can help predict the productivity of the crops and be compared to previous seasons.
+ This is a simple graphical indicator that can be used to analyze remote sensing measurements, often from a space platform, assessing whether or not the target being observed contains live green vegetation. As a crop season progresses, NDVI values will increase during early crop growth and development of leafy vegetation, and will reach the peak as the crop fully develops and reaches maturity (before senescence -or deterioration), and then will decrease again as the crop matures and as the leafy vegetation begins to die off. How the NDVI values progress over the course of the season and the individual peak values, can help predict the productivity of the crops and be compared to previous seasons.
+
@@ -102,7 +107,7 @@ thematics:
alt='Chart matrix Sousse (Northern center, Tunisia)'
/>
- Significant parts of Northern Africa and the Middle East are experiencing drought conditions including countries such as Morocco, Tunisia (see below), Syria and Iraq that are significantly impacting crop production. Earth observations are key to identifying and quantifying these impacts early and in providing support for future agricultural planning and mitigation actions when needed.
+ Significant parts of Northern Africa and the Middle East are experiencing drought conditions including countries such as Morocco, Tunisia (see below), Syria and Iraq that are significantly impacting crop production. Earth observations are key to identifying and quantifying these impacts early and in providing support for future agricultural planning and mitigation actions when needed.
Likewise in Southern Brazil crops did not receive the expected amount of precipitation, which negatively impacted yields of the spring planted crop. Looking at the information provided by satellite data, the drought conditions are striking and serve as a preemptive sign that governments and markets should prepare for less commodity crops coming out of this region of Brazil. This not only impacts Brazil and the global market, but also the countries that rely on the region for their food/feed imports. Earth observations can give an early indication of threats to food security should supplies end up being less than needed. Another benefit of remotely sensed satellite data is these types of evaluations can be done anywhere in the world throughout the season.
@@ -111,6 +116,7 @@ thematics:
alt='Chart matrix for Southern Plains of USA'
/>
- As data access and technology have made significant advances in recent decades, it comes as no surprise that the amount of available data can often be overwhelming and difficult to decipher. Tools such as the [GEOGLAM-Harvest AGMET Indicators](https://cropmonitor.org/tools/agmet/) play a key role for quick and digestible information processing and supporting key agricultural decisions. In order to increase food market stability and reduce price volatility, it is critical that market analysts, farmers, and other agricultural stakeholders have a thorough understanding of the amount of food coming to market - whether that be in line with the average amount seen in previous years or more/less. Just as with any other consumer good, supply and demand are the key drivers of agri-food markets and commodity prices. Satellite data can fill a critical gap in agricultural monitoring, enabling us to not only understand current crop conditions but prepare for potential outcomes in a given growing season, with wider-reaching impacts on market stability, supporting early action and humanitarian response, and bolstering food security.
+ As data access and technology have made significant advances in recent decades, it comes as no surprise that the amount of available data can often be overwhelming and difficult to decipher. Tools such as the [GEOGLAM-Harvest AGMET Indicators](https://cropmonitor.org/tools/agmet/) play a key role for quick and digestible information processing and supporting key agricultural decisions. To increase food market stability and reduce price volatility, it is critical that market analysts, farmers, and other agricultural stakeholders have a thorough understanding of the amount of food coming to market - whether that be in line with the average amount seen in previous years or more/less. Just as with any other consumer good, supply and demand are the key drivers of agri-food (relating to the commercial production of food by farming) markets and commodity prices. Satellite data can fill a critical gap in agricultural monitoring, enabling us to not only understand current crop conditions but prepare for potential outcomes in a given growing season. The benefits include wider-reaching impacts on market stability, earlier reaction time for humanitarian response, and bolstering food security.
+
-
\ No newline at end of file
+
diff --git a/discoveries/sea-ice-thickness.discoveries.mdx b/discoveries/sea-ice-thickness.discoveries.mdx
index e6b9ada4d..5b120d651 100644
--- a/discoveries/sea-ice-thickness.discoveries.mdx
+++ b/discoveries/sea-ice-thickness.discoveries.mdx
@@ -47,7 +47,7 @@ thematics:
### CryoSat-2 and Envisat
- While measurements from ICESat-2 can be used to determine the height and freeboard of polar sea ice, scientists need help from the Earth Observation Satellites ( ESA) and the CryoSat-2 mission to measure sea ice thickness. Researchers at ESA provide monthly measurements of sea ice thickness from the CryoSat-2 and Envisat radar altimeters. Click here to learn more about how ESA measures sea ice thickness from space.
+ While measurements from ICESat-2 can be used to determine the height and freeboard of polar sea ice, scientists need help from the Earth Observation Satellites ( ESA) and the CryoSat-2 mission to measure sea ice thickness. Researchers at ESA provide monthly measurements of sea ice thickness from the CryoSat-2 and Envisat radar altimeters. Click below to learn more about how ESA measures sea ice thickness from space.
@@ -73,7 +73,7 @@ thematics:
ESA has been building radar altimeters since the early 1990s. Radar altimeters use a microwave signal to measure sea ice freeboard. In this frequency band, the signal can penetrate further into the snow that often lies on top of sea ice. To better understand how far the radar signals can penetrate the snowpack, separate field or airborne campaigns are used to validate the satellite signals. Ongoing research is comparing altimeter signals at different frequencies to calculate how much snow lies on top of the sea ice. This is important as the amount of snow can also impact the freeboard—for instance a heavy snow-load can weigh the sea ice down and may even push it under water.
- Once the freeboard has been established, it can be converted to sea ice thickness. The ESA Climate Change Initiative Sea Ice Thickness data set presented here shows the decrease in winter sea ice thickness over the past 15 years using satellite information from ESA's Envisat and CryoSat-2 missions.
+ Once the freeboard has been established, it can be converted to sea ice thickness. The ESA Climate Change Initiative Sea Ice Thickness data set (see data sets section) shows the decrease in winter sea ice thickness over the past 15 years using satellite information from ESA's Envisat and CryoSat-2 missions.
diff --git a/docs/CONFIGURATION.md b/docs/CONFIGURATION.md
index 660407125..d3aa3d208 100644
--- a/docs/CONFIGURATION.md
+++ b/docs/CONFIGURATION.md
@@ -1,14 +1,14 @@
# Configuration
-The base properties used by Delta are set through the `.env` file.
+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.
-## delta.config.js
+## veda.config.js
-The `delta.config.js` file is an additional configuration file for delta.
-It is through this file that you specify how the Delta content can be found.
+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). (Thematic areas, Datasets, Discoveries).
The default configuration is:
@@ -19,13 +19,13 @@ discoveries: './discoveries/*.discoveries.mdx'
```
### Page overrides
-To adapt the Delta 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 delta.
+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, and thematic areas), 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 `delta.config.js` under `pageOverrides` by specifying the path to the mdx file to load.
+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
@@ -47,7 +47,7 @@ Besides the new content, this page also frontmatter variables to modify the page
Example:
```js
-// delta.config.js pageOverrides
+// veda.config.js pageOverrides
aboutContent: './overrides/about.mdx'
```
```jsx
diff --git a/docs/CONTENT.md b/docs/CONTENT.md
index 5aa2e02ea..8764aeae9 100644
--- a/docs/CONTENT.md
+++ b/docs/CONTENT.md
@@ -13,7 +13,7 @@
- [Datasets](#datasets)
- [Discoveries](#discoveries)
-Delta consists of Thematic Areas, Datasets, and Discoveries. Each dataset and discovery belongs to a thematic area (or multiple thematic areas), and discovery can use datasets. When you are adding contents using published datasets in Delta, you would need to know which thematic area it belongs to, and if you need to create a new thematic area.
+Veda consists of Thematic Areas, Datasets, and Discoveries. Each dataset and discovery belongs to a thematic area (or multiple thematic areas), and discovery can use datasets. When you are adding contents using published datasets in Veda, you would need to know which thematic area it belongs to, and if you need to create a new thematic area.
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.
diff --git a/docs/DEVELOPMENT.md b/docs/DEVELOPMENT.md
index 0d2605a05..4dd7859af 100644
--- a/docs/DEVELOPMENT.md
+++ b/docs/DEVELOPMENT.md
@@ -1,16 +1,16 @@
# Development
-There's not much development to be done in the config repo. The UI part of Delta is stored at [delta-ui](https://github.com/NASA-IMPACT/delta-ui), and connected to the config via a git submodule.
+There's not much development to be done in the config repo. The UI part of Veda is stored at [veda-ui](https://github.com/NASA-IMPACT/veda-ui), and connected to the config via a git submodule.
-**To avoid breaking changes, the version of `delta-ui` is pinned to a specific commit making use of a [git-submodule](https://www.atlassian.com/git/tutorials/git-submodule).** This allows development to continue without breaking existent instances.
+**To avoid breaking changes, the version of `veda-ui` is pinned to a specific commit making use of a [git-submodule](https://www.atlassian.com/git/tutorials/git-submodule).** This allows development to continue without breaking existent instances.
You can see the version running:
```
-./.delta/delta --info
+./.veda/veda --info
```
-The commit you may want to pin the `delta-ui` to will depend, but to get the latest changes from the `main` branch you could do:
+The commit you may want to pin the `veda-ui` to will depend, but to get the latest changes from the `main` branch you could do:
```
# Go into the submodule
-cd .delta/ui
+cd .veda/ui
# Update the submodule info
git fetch
@@ -27,12 +27,12 @@ cd -
```
At this point you will have changed the commit the submodule is pointed to.
-If you run a diff on the submodule `git diff .delta/ui` you'll see that the commit changed.
+If you run a diff on the submodule `git diff .veda/ui` you'll see that the commit changed.
```diff
-diff --git a/.delta/ui b/.delta/ui
+diff --git a/.veda/ui b/.veda/ui
index 67c68c4..57d18a1 160000
---- a/.delta/ui
-+++ b/.delta/ui
+--- a/.veda/ui
++++ b/.veda/ui
@@ -1 +1 @@
-Subproject commit 67c68c4115283a76fe8f3e0921fcd43ad281077a
+Subproject commit 57d18a12a4c17eaf436e128bd06904cba75f3e4a
diff --git a/docs/MDX_BLOCKS.md b/docs/MDX_BLOCKS.md
index 05697fd5c..059d80d5d 100644
--- a/docs/MDX_BLOCKS.md
+++ b/docs/MDX_BLOCKS.md
@@ -1,6 +1,6 @@
-# Writing contents for Delta dashboard
+# Writing contents for Veda dashboard
-- [Writing contents for Delta dashboard](#writing-contents-for-delta-dashboard)
+- [Writing contents for Veda dashboard](#writing-contents-for-veda-dashboard)
- [Background & Prerequisites](#background--prerequisites)
- [Block](#block)
- [Image](#image)
@@ -14,13 +14,13 @@
## Background & Prerequisites
-Delta 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, Delta dashboard can offer editors rich experience with custom components while still having a way of writing text-based content with markdown syntax.
+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 Delta 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/).
+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 Delta 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.
+`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.
@@ -62,7 +62,7 @@ Layouts do work in any size of screen, but this documentation mainly addresses h
- ![Screenshot of Default Prose Block](./media/delta-default-prose.jpg)
+ ![Screenshot of Default Prose Block](./media/block-default-prose.jpg)
@@ -82,7 +82,7 @@ Layouts do work in any size of screen, but this documentation mainly addresses h
- ![Screenshot of Wide Prose Block](./media/delta-wide-prose.jpg)
+ ![Screenshot of Wide Prose Block](./media/block-wide-prose.jpg)
@@ -102,7 +102,7 @@ Layouts do work in any size of screen, but this documentation mainly addresses h
- ![Screenshot of Wide Figure Block](./media/delta-wide-figure.jpg)
+ ![Screenshot of Wide Figure Block](./media/block-wide-figure.jpg)
@@ -121,7 +121,7 @@ Layouts do work in any size of screen, but this documentation mainly addresses h
- ![Screenshot of Full Figure Block](./media/delta-full-figure.jpg)
+ ![Screenshot of Full Figure Block](./media/block-full-figure.jpg)
@@ -143,7 +143,7 @@ Layouts do work in any size of screen, but this documentation mainly addresses h
- ![Screenshot of Prose Figure Block](./media/delta-prose-figure.jpg)
+ ![Screenshot of Prose Figure Block](./media/block-prose-figure.jpg)
@@ -166,7 +166,7 @@ Layouts do work in any size of screen, but this documentation mainly addresses h
- ![Screenshot of Figure Prose Block](./media/delta-figure-prose.jpg)
+ ![Screenshot of Figure Prose Block](./media/block-figure-prose.jpg)
@@ -188,7 +188,7 @@ Layouts do work in any size of screen, but this documentation mainly addresses h
- ![Screenshot of prose full figure Block](./media/delta-prose-full-figure.jpg)
+ ![Screenshot of prose full figure Block](./media/block-prose-full-figure.jpg)
@@ -211,7 +211,7 @@ Layouts do work in any size of screen, but this documentation mainly addresses h
- ![Screenshot of full figure prose Block](./media/delta-full-figure-prose.jpg)
+ ![Screenshot of full figure prose Block](./media/block-full-figure-prose.jpg)
@@ -219,7 +219,7 @@ Layouts do work in any size of screen, but this documentation mainly addresses h
## Image
-To offer rich visual and better experience, Delta 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.
+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`.
@@ -405,7 +405,7 @@ Syntax for Map, which displays `nightlights-hd-monthly` layer from `sandbox` dat
![](./media/scrollytelling.png)
-The Scrollytelling feature of Delta is map based and allows you to define different `Chapters` where each chapter corresponds to a map position and layer being displayed.
+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`.
diff --git a/docs/NETLIFY_CMS.md b/docs/NETLIFY_CMS.md
new file mode 100644
index 000000000..83556455b
--- /dev/null
+++ b/docs/NETLIFY_CMS.md
@@ -0,0 +1,83 @@
+## How to use Netlify CMS with Veda dashboard
+### Sign up
+
+You can access to Veda dashboard configuration editor at https://visex.netlify.app/admin/index.html. You should be able to see a prompt like the one below if it is your first time.
+
+![Editor showing sign-up prompt](./media/netlify-cms-landing.png)
+
+Follow the steps on the page to sign up as a user for CMS.
+
+### Configure dataset
+
+Click on New Dataset, or you can duplicate the existing dataset through left-top toolbar.
+
+![Editor showing 'new dataset' button](./media/new-data-set-btn.png)
+![Editor showing 'duplicate' button](./media/duplicate-btn.png)
+
+Currently, all fields in the configuration editor must be filled out for the dataset to appear properly in the VEDA Dashboard, including optional fields like thematics.
+
+### 'Save' with preview
+
+Once you 'save' your dataset, the cofiguration editor will show 'Check for preview' button on the top right corner of the page.
+
+![Editor showing 'check for preview' button](./media/check-for-preview.png)
+
+The button will change its text to 'View preview' once the preview is ready as you click upon it. This can take upwards of a few minutes. If you continue to click 'Check for Preview' then it should change once a preview exists. You can click on the button to see your change on preview page.
+
+Currently, when you are updating your post, the button will continue to say 'View preview.' However, there is still a small time delay. If your most recent change does not appear, give it a few minutes and it should show up.
+
+![Editor showing 'view preview' button](./media/view-preview.png)
+
+#### Behind the scene
+
+Think of configuration UI (Netlify CMS) as a thin wrapper on top of Git flow. When you are saving a new dataset, what the configuration editor is doing is creating a new branch with your changes. This generates a preview. By Publishing through the editor, you are essentially merging your branch into the main branch. The editor allows you to create, edit, and merge a branch without ever having to go to Github. Once created, you also have the ability to go to github and treat it like any other branch.
+
+![Example PR generated through Netlify CMS](./media/example-pr-netlify-cms.png)
+
+### Where can I find the post that I (or my collaborator) saved?
+
+On main dashboard view, you will find 'workflow' tab on top left.
+
+![Highlighting workflow button](./media/workflow.png)
+
+You can find the posts generated through Netlify CMS on this page.
+
+![Highlighting workflow button](./media/workflow-sample.png)
+
+Moving the post through columns will change the label of the pr. For example, two prs below were generated through Netlify CMS. `Create test-dataset.data` is in 'review' column while `Create no2-test.data` is in 'draft' column. You do not have to use this workflow, but it is there if you want to signal your collaborator about where your post is.
+
+![Highlighting workflow button](./media/example-workflow-label.png)
+
+### Publish
+To publish the dataset you are working to the [staging Dashboard](https://visex.netlify.app/), you have two options.
+1. You can go directly to the github repo NASA-IMPACT/veda-config, merge the pull request (PR) created for your branch.
+2. Click the 'publish' button through the editor UI.
+
+We recommend using the first method since the current version of CMS still requires some manual edits. In the future, the Publish funcitonality through the configuration editor will be improved.
+
+### Caveats
+
+Some manual edits to mdx file are needed after the file is generated through Netlify CMS.
+
+- `media.src` : `::file` need to be put as prefix for the path.
+- `legend.color` for `categorical` type legend : Current CMS UI only supports `gradient` type legend. If you are using categorical legend, you need to edit mdx directly.
+- body text: Mind that Configuration UI doesn't support the body text of dataset (used for about page).
+
+
+## How to develop Netlify CMS on local
+
+### Run local instance
+
+1. Uncomment `local_backend` of config.yml (This will make netlify-cms to generate output locally.)
+2. run `yarn` to install dependencies if you haven't.
+3. run `yarn cms` to power netlify cms proxy server.
+4. Open a new tab, run `yarn serve`.
+
+* All the steps above are to generate files locally. If you don't need that, you can skip directly to 5.
+
+5. go to https://localhost:9000/admin/index.html
+6. If the login button prompts the url to put, use the netlify app url : https://visex.netlify.app. Follow the instruction to set up your account
+
+### Add/Remove widgets from CMS
+
+The schema for NetlifyCMS is defined in `config.yml`. [Netlify CMS Widget docs](https://www.netlifycms.org/docs/widgets/) can guide you in defining a schema for widgets.
\ No newline at end of file
diff --git a/docs/SETUP.md b/docs/SETUP.md
index 704a25730..7a045f962 100644
--- a/docs/SETUP.md
+++ b/docs/SETUP.md
@@ -1,9 +1,9 @@
# Setup
-This repo contains all the content and configuration needed to setup your own instance of [delta-ui](https://github.com/NASA-IMPACT/delta-ui).
+This repo contains all the content and configuration needed to setup your own instance of [veda-config](https://github.com/NASA-IMPACT/veda-config).
-The `delta-config` relies on the `delta-ui` submodule.
-Use `--recursive` flag when cloning `delta-config`, or initialize the submodules with:
+The `veda-config` relies on the `veda-ui` submodule.
+Use `--recursive` flag when cloning `veda-config`, or initialize the submodules with:
```
git submodule update --init --recursive
```
@@ -28,12 +28,24 @@ npm -g install yarn
Then, setup the project by running the command below.
```
-./.delta/setup
+./.veda/setup
```
-## Mapbox Token
+## Usage
-Get your Mapbox access token from Mapbox Dashboard. Put the key in `.env.local-sample` file. Copy the file and rename as `.env.local`.
+### Config files
+Configuration is done using [dot.env](https://parceljs.org/features/node-emulation/#.env-files) files.
+
+These files are used to simplify the configuration of the app and should not contain sensitive information.
+
+Copy the `.env.local-sample` to `.env.local` to add your configuration variables.
+```sh
+cp .env.local-sample .env.local
+```
+
+### Mapbox Token
+
+Get your Mapbox access token from Mapbox Dashboard. Put the key in `.env.local` file.
## Running the app
@@ -45,4 +57,4 @@ yarn serve
This will start the app and make it available at http://localhost:9000.
If the application is not working properly or erroring when it starts, try cleaning the cache with `yarn clean`.
-If the errors persist [open an issue](https://github.com/NASA-IMPACT/delta-config/issues/new) with the problem description.
+If the errors persist [open an issue](https://github.com/NASA-IMPACT/veda-config/issues/new) with the problem description.
diff --git a/docs/frontmatter/layer.md b/docs/frontmatter/layer.md
index 28d1bd2e7..6cd02758e 100644
--- a/docs/frontmatter/layer.md
+++ b/docs/frontmatter/layer.md
@@ -81,7 +81,7 @@ 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, delta 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.
+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]`
@@ -99,6 +99,8 @@ Legend for this layer. This is shown in the interface as a visual guide to the u
```yaml
type: categorical | gradient
+unit:
+ label: string
min: string
max: string
stops: string[] | object[]
@@ -138,6 +140,14 @@ A `categorical` legend will display discreet color buckets according to the defi
+**legend.unit**
+`object`
+Settings for the unit.
+
+**legend.unit.label**
+`string`
+Unit label. Shown whenever a label for the values is needed. (Ex: The chart axis on the analysis page)
+
**legend.min**
`string`
The label for the legend’s minimum value.
diff --git a/docs/media/delta-default-prose.jpg b/docs/media/block-default-prose.jpg
similarity index 100%
rename from docs/media/delta-default-prose.jpg
rename to docs/media/block-default-prose.jpg
diff --git a/docs/media/delta-figure-prose.jpg b/docs/media/block-figure-prose.jpg
similarity index 100%
rename from docs/media/delta-figure-prose.jpg
rename to docs/media/block-figure-prose.jpg
diff --git a/docs/media/delta-full-figure-prose.jpg b/docs/media/block-full-figure-prose.jpg
similarity index 100%
rename from docs/media/delta-full-figure-prose.jpg
rename to docs/media/block-full-figure-prose.jpg
diff --git a/docs/media/delta-full-figure.jpg b/docs/media/block-full-figure.jpg
similarity index 100%
rename from docs/media/delta-full-figure.jpg
rename to docs/media/block-full-figure.jpg
diff --git a/docs/media/delta-prose-figure.jpg b/docs/media/block-prose-figure.jpg
similarity index 100%
rename from docs/media/delta-prose-figure.jpg
rename to docs/media/block-prose-figure.jpg
diff --git a/docs/media/delta-prose-full-figure.jpg b/docs/media/block-prose-full-figure.jpg
similarity index 100%
rename from docs/media/delta-prose-full-figure.jpg
rename to docs/media/block-prose-full-figure.jpg
diff --git a/docs/media/delta-wide-figure.jpg b/docs/media/block-wide-figure.jpg
similarity index 100%
rename from docs/media/delta-wide-figure.jpg
rename to docs/media/block-wide-figure.jpg
diff --git a/docs/media/delta-wide-prose.jpg b/docs/media/block-wide-prose.jpg
similarity index 100%
rename from docs/media/delta-wide-prose.jpg
rename to docs/media/block-wide-prose.jpg
diff --git a/docs/media/check-for-preview.png b/docs/media/check-for-preview.png
new file mode 100644
index 000000000..6c4b9004c
Binary files /dev/null and b/docs/media/check-for-preview.png differ
diff --git a/docs/media/duplicate-btn.png b/docs/media/duplicate-btn.png
new file mode 100644
index 000000000..728c1011c
Binary files /dev/null and b/docs/media/duplicate-btn.png differ
diff --git a/docs/media/example-pr-netlify-cms.png b/docs/media/example-pr-netlify-cms.png
new file mode 100644
index 000000000..cbaa13ea2
Binary files /dev/null and b/docs/media/example-pr-netlify-cms.png differ
diff --git a/docs/media/example-workflow-label.png b/docs/media/example-workflow-label.png
new file mode 100644
index 000000000..33a952cbe
Binary files /dev/null and b/docs/media/example-workflow-label.png differ
diff --git a/docs/media/netlify-cms-landing.png b/docs/media/netlify-cms-landing.png
new file mode 100644
index 000000000..92087fe45
Binary files /dev/null and b/docs/media/netlify-cms-landing.png differ
diff --git a/docs/media/new-data-set-btn.png b/docs/media/new-data-set-btn.png
new file mode 100644
index 000000000..bb591d716
Binary files /dev/null and b/docs/media/new-data-set-btn.png differ
diff --git a/docs/media/veda_logo_blue_text_transparent.png b/docs/media/veda_logo_blue_text_transparent.png
new file mode 100644
index 000000000..c3e281827
Binary files /dev/null and b/docs/media/veda_logo_blue_text_transparent.png differ
diff --git a/docs/media/view-preview.png b/docs/media/view-preview.png
new file mode 100644
index 000000000..0eceb72db
Binary files /dev/null and b/docs/media/view-preview.png differ
diff --git a/docs/media/workflow-sample.png b/docs/media/workflow-sample.png
new file mode 100644
index 000000000..2232cae94
Binary files /dev/null and b/docs/media/workflow-sample.png differ
diff --git a/docs/media/workflow.png b/docs/media/workflow.png
new file mode 100644
index 000000000..84a8877f0
Binary files /dev/null and b/docs/media/workflow.png differ
diff --git a/overrides/about.mdx b/overrides/about.mdx
index 2c99b9be2..2741679ba 100644
--- a/overrides/about.mdx
+++ b/overrides/about.mdx
@@ -5,46 +5,29 @@ description: "Visualization, Exploration, and Data Analysis (VEDA): Scalable and
-
- The VEDA Dashboard is one of several user interfaces in the VEDA project.
- It also is aligned with VEDA’s goal of advancing interactive visualization
- and exploratory visual data analysis. This dashboard constitutes:
-
-
-
- an evolution of COVID-19 dashboard to provide the interactive
- storytelling for various environmental changes using Earth observation
- data;
-
-
- a transformation of high-valued NASA datasets to dynamic visualization,
- enabling users to perform on-the-fly visual analysis;
-
-
- support for environmental justice initiatives through the integration of
- NASA Earth observation data and socio-economic data;
-
-
- a tool by which users can visually explore and localize data, and
- perform independent analysis; data-driven stories that are exportable in
- GIS formats;
-
-
- and a situational awareness system that brings together Earth
- observation datasets such as greenhouse gasses, air quality, and sea
- level rise, among others.
-
-
-
- As an interactive visual interface for storytelling, the dashboard
- provides a number of capabilities including sharing and interacting with
- datasets and their respective stories. Through visualizations, trend
- analyses, and comparative analyses of datasets, users can explore the
- applications and implications of those data. VEDA Dashboard will improve
- the usability of the Earth science data and enable faster science – one of
- the goals of the NASA open-source science initiative. Please submit any
- feedback or questions using the Feedback button in the top right of the
- dashboard.
-
+
+ The VEDA Dashboard is one of several user interfaces in the VEDA project. It also is aligned with VEDA's goal of advancing interactive visualization and exploratory visual data analysis. This dashboard constitutes:
+
+ - an evolution of COVID-19 dashboard to provide the interactive storytelling for various environmental changes using Earth observation data;
+ - a transformation of high-valued NASA datasets to dynamic visualization, enabling users to perform on-the-fly visual analysis;
+ - support for environmental justice initiatives through the integration of NASA Earth observation data and socio-economic data;
+ - a tool by which users can visually explore and localize data, and perform independent analysis; data-driven stories that are exportable in GIS formats;
+ - and a situational awareness system that brings together Earth observation datasets such as greenhouse gasses, air quality, and sea level rise, among others.
+
+ As an interactive visual interface for storytelling, the dashboard provides a number of capabilities including sharing and interacting with datasets and their respective stories. Through visualizations, trend analyses, and comparative analyses of datasets, users can explore the applications and implications of those data. VEDA Dashboard will improve the usability of the Earth science data and enable faster science – one of the goals of the NASA open-source science initiative. Please submit any feedback or questions using the Feedback button in the top right of the dashboard.
+
+ ## Commitment to Open Source
+
+ The NASA open-source science initiative believes commitment to open source is an important aspect of creating and maintaining high-quality software. Open source allows for collaboration and transparency, which can lead to better solutions and more robust code.
+
+ The different repositories of the VEDA project are all open and can be freely browsed:
+ - [veda-ui](https://github.com/NASA-IMPACT/veda-ui) (the web application)
+ - [veda-config](https://github.com/NASA-IMPACT/veda-config) (content storage)
+ - [veda-data-pipelines](https://github.com/NASA-IMPACT/veda-data-pipelines) (data processing)
+
+ Furthermore this project would not be possible without many other openly maintained projects like [React](https://github.com/facebook/react), [MapboxGl](https://github.com/mapbox/mapbox-gl-js), [Parcel](https://github.com/parcel-bundler/parcel), [STAC](https://github.com/radiantearth/stac-api-spec), and [TiTiler](https://github.com/developmentseed/titiler) to name a few.
+
+ For more information, join the conversation in our openly maintained repositories.
+
diff --git a/package.json b/package.json
index 4901de56f..3f040e84a 100644
--- a/package.json
+++ b/package.json
@@ -1,26 +1,28 @@
{
- "name": "delta-config",
- "description": "Configuration for Delta",
- "version": "0.3.0",
- "source": "./.delta/ui/app/index.html",
- "license": "BSD-3-Clause",
+ "name": "veda-config",
+ "description": "Configuration for Veda",
+ "version": "0.4.0",
+ "source": "./.veda/ui/app/index.html",
+ "license": "Apache-2.0",
"scripts": {
- "serve": "NODE_ENV=development .delta/delta serve",
- "build": "NODE_ENV=production .delta/delta",
- "stage": "NODE_ENV=staging .delta/delta",
- "clean": ".delta/delta clean",
- "test": "NODE_ENV=test .delta/delta test"
+ "serve": "NODE_ENV=development .veda/veda serve",
+ "build": "NODE_ENV=production .veda/veda",
+ "stage": "NODE_ENV=staging .veda/veda",
+ "clean": ".veda/veda clean",
+ "local-cms": "npx netlify-cms-proxy-server",
+ "test": "NODE_ENV=test .veda/veda test"
},
"browserslist": "> 0.5%, last 2 versions, not dead",
"engines": {
"node": "16.x"
},
"devDependencies": {
- "dotenv": "^10.0.0"
+ "dotenv": "^10.0.0",
+ "netlify-cms-proxy-server": "^1.3.24"
},
"alias": {
- "react": "./.delta/ui/node_modules/react",
- "@mdx-js/react": "./.delta/ui/node_modules/@mdx-js/react"
+ "react": "./.veda/ui/node_modules/react",
+ "@mdx-js/react": "./.veda/ui/node_modules/@mdx-js/react"
},
"dependencies": {}
}
diff --git a/thematic/agriculture.thematic.mdx b/thematic/agriculture.thematic.mdx
index be83f5bce..a60807bee 100644
--- a/thematic/agriculture.thematic.mdx
+++ b/thematic/agriculture.thematic.mdx
@@ -1,10 +1,10 @@
---
id: agriculture
-name: 'Agriculture'
+name: "Agriculture"
description: "NASA collaborates with many organizations to monitor agricultural production across the globe"
media:
src: ::file ./agriculture--cover.jpg
- alt: Corn being harvested
+ alt: Corn being harvested
author:
name: no one cares
url: https://unsplash.com/photos/l_5MJnbrmrs
@@ -13,8 +13,18 @@ about:
title: Observing Agriculture
description: "Using satellites to monitor agricultural activity"
---
+
-
-Healthy and productive crops are critical for our planet’s food security, and satellite observations play a vital role in monitoring and tracking the changes in the agriculture ecosystem. The data from satellite technology has the potential of achieving outcomes similar to that of the Green Revolution of the 1950a and 1960s. Researchers such as Norman Borlaug (who would win the Nobel Peace Prize in 1970), introduced new technologies, innovative varieties of seed, and modern scientific methods of farming. As a result, worldwide agriculture output increased over 40 percent which is credited with saving over a billion people from starvation. The need for such innovation has not diminished.
-
+
+ Healthy and productive crops are critical for our planet’s food security,
+ and satellite observations play a vital role in monitoring and tracking the
+ changes in the agriculture ecosystem. The data from satellite technology has
+ the potential of achieving outcomes similar to that of the Green Revolution
+ of the 1950a and 1960s. Researchers such as Norman Borlaug (who would win
+ the Nobel Peace Prize in 1970), introduced new technologies, innovative
+ varieties of seed, and modern scientific methods of farming. As a result,
+ worldwide agriculture output increased over 40 percent which is credited
+ with saving over a billion people from starvation. The demand for such
+ innovation continues to grow.
+
diff --git a/thematic/coastal.png b/thematic/coastal.png
new file mode 100644
index 000000000..8c234bc74
Binary files /dev/null and b/thematic/coastal.png differ
diff --git a/thematic/eis-overview.png b/thematic/eis-overview.png
new file mode 100644
index 000000000..a234845c8
Binary files /dev/null and b/thematic/eis-overview.png differ
diff --git a/thematic/eis-pilot-studies.png b/thematic/eis-pilot-studies.png
new file mode 100644
index 000000000..790800e1b
Binary files /dev/null and b/thematic/eis-pilot-studies.png differ
diff --git a/thematic/eis.thematic.mdx b/thematic/eis.thematic.mdx
index 15f34e0ad..46e551495 100644
--- a/thematic/eis.thematic.mdx
+++ b/thematic/eis.thematic.mdx
@@ -14,38 +14,26 @@ about:
## Earth Information System (EIS)
- Today’s most pressing Earth Science research questions increasingly require an integrated observing and analysis strategy that synthesizes many datasets with a variety of simulation models. This integration requires contributions from large groups of diverse experts at a wide range of institutions, and the results of this work need to be effectively disseminated to end users. The NASA Earth Information System (EIS) is an interdisciplinary collaborative research and applications activity that combines Earth Science observations and modeling capabilities to produce new science and support decision-making. Crucially, the emphasis of EIS is on producing and delivering actionable information by working closely with stakeholders to tackle their most pressing problems and inform their decisions with NASA data. For example, EIS seeks to help stakeholders provide answers to questions such as:
+ Today’s most pressing Earth System Science challenge is to support near-term and long-range analysis and decision making for preparation, mitigation, and resilience in response to climate change. NASA’s Earth Information System (EIS) was established in 2021, with a mission to deliver accessible and actionable information on the Earth system and to serve as a platform for understanding and answering some critical questions about the Earth’s complex systems.
- * Will the air in my area be unsafe to breathe because of smoke from fires?*
+ EIS is a transdisciplinary collaborative research and applications activity that combines NASA’s satellite observations with numerical modeling capabilities to produce new integrated information enabled by emerging technology. Thoroughly understanding the Earth as one cohesive system is complex because various components of the Earth system interact with each other, and the contributing processes may act on a range of spatial and temporal scales. The EIS team has developed an integrative approach, establishing the feasibility and value of EIS, focusing on a transdisciplinary approach to Earth science. The EIS teams’ approach is supported by a rich scientific collaboration allowing engagement with stakeholders and fosters co-development process from the early stages. EIS is leveraging capabilities provided by the [Science Managed Cloud Environment](https://www.nccs.nasa.gov/systems/SMCE) (SMCE) and the [Visualization, Exploration, and Data Analysis](https://www.earthdata.nasa.gov/esds/veda) (VEDA) project, which incorporates the data systems and visualizations to ensure the information is understandable and intuitive.
- * Will my area flood during the next big storm?*
+ ## EIS Goals
- * Will there be enough water for my crops this season?*
+ * **Goal 1**: Synthesize discipline-specific understanding into Earth system understanding, with relevance to applications and enabled by emerging cyberinfrastructure
- EIS currently has four topic areas: fires, freshwater, sea level change, and greenhouse gasses.
+ * **Goal 2**: Improve transparency and accessibility of data and methods in support of NASA’s Transition to Open Science (TOPS)
- ## Fires
-
- Fires are an integral part of the Earth system, primarily through land-atmosphere interactions that determine fire risk, fire spread, and fire emissions. Information on fires is used by a variety of stakeholders, including scientists, firefighters, land managers, public health officials, and the public. Fires also intersect many NASA measurement, research, and applications areas, including terrestrial ecology, meteorology, atmospheric chemistry, and land cover and land use change. 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. The full potential of these independent efforts has not yet been realized, in part due to the need to build new connections among existing components.
-
- The overarching vision of the EIS-Fire project is to combine satellite, airborne, and ground observations with models to provide a platform for analysis and decision support for pre-fire risk, active fire situational awareness, and post-fire impacts. To that end, the current phase of EIS-Fire has 5 major objectives:
-
- * **Real-time global fire event monitoring**: Tracking every fire on Earth, every 12 hours, using an automated algorithm that converts satellite measurements of fire radiative power on a pixel-by-pixel basis to maps of the active fire perimeter and cumulative burned area.
- * **Fire risk modeling and forecasting**: Leveraging our ability to map fire events globally to evaluate how good models of fire spread really are and how to make them better
- * **Develop 1-5 day fire spread forecasts**: Combine our improved knowledge of individual fire events with fire weather forecasts using machine learning.
- * **Improve representation of fires and fire emissions in atmospheric models**: Update model information related to emissions from different land cover types, improve the representation of the diurnal cycle of fires, and evaluate new model predictions against satellite, airborne, and ground-based measurements of atmospheric composition and air quality.
- * **Post-fire debris flow monitoring, forecasting, and management**: Combine maps of individual fire events, satellite land cover observations, and model-based products of precipitation and runoff to provide near-real-time assessments and forecasts of post-fire debris flow risk.
-
- In working on these tasks, the EIS-Fire is partnering with a variety of stakeholders, including the US Forest Service (USFS), the US Federal Emergency Management Agency (FEMA), the US Department of Energy, and regional Air Quality Management Districts.
+
@@ -53,28 +41,19 @@ about:
- ## Freshwater
+ The Earth Information System (EIS) project is a pathfinder for the open source science integrated Earth system studies, helping to realize the promise of an Earth Information Center (EIC) with plans to further extend the accessibility and reach of NASA science.
- Freshwater is what makes Earth habitable, sustaining ecosystems and human civilization. The global water cycle enables the supply of water and regulation of weather patterns. The cycling of water links the changes on land with the ocean and atmosphere. The quantification of the variability of the components of the water cycle is key to understanding and managing water availability. However, thoroughly understanding freshwater is complex because multiple Earth Systems interact with each other including processes that govern precipitation, ground moisture retention, snow cover, depth & melt, evapotranspiration, and vegetation coverage and function.
-
- The EIS-Freshwater project provides an interface to describe NASA water cycle science in a simple manner that appeals to a broad set of users including scientists, applied science users, water managers, and the general public. The objectives of the current phase of EIS-Freshwater are as follows:
-
- 1. **Fire-hydrology interactions:** Quantify hydrological causes and impacts of fires
- 2. **Inland and coastal flooding:** Examine influence of sea level change, water cycle acceleration, and water management on coastal flooding, and evaluate flooding impacts.
- 3. **Water security assessment:** Evaluate how water availability and quality are affected by changes in water and nutrient fluxes
- 4. **Shifts in water cycle fluxes and stocks:** Evaluate how water fluxes, stocks, and extremes are changing, including the role of climate change
- 5. **Science translation with AI:** Develop a natural language interface to freshwater datasets and models powered by Natural Language Processing (NLP)
-
- EIS-Freshwater stakeholders include the Amazon Environmental Research Institute - Brazil (IPAM-Brazil), the US Federal Emergency Management Agency (FEMA), the US Global Change Research Program (USGCRP), the US Environmental Protection Agency (EPA), the Nature Conservancy, the Bangladesh Water Development Board, the US Department of Agriculture, National Geographic, and many more.
+ Initially, the EIS team focused on multidisciplinary science integration and synthesis within the thematic areas of [Freshwater](https://freshwater.eis.smce.nasa.gov/), [Fire](https://eis-fire.mysmce.com/), and [Sea Level](https://sealevel.eis.smce.nasa.gov/). The EIS expanded to include Greenhouse gases (GHGs) with a goal to provide a suite of coherent datasets on the recent changes on GHG concentrations and their drivers. EIS aims to combine the capabilities and competencies of these multidisciplinary teams, spanning a wide range of research, applied and informatic competencies, modeling and data systems capabilities, to tackle Earth system science questions.
+
@@ -82,26 +61,30 @@ about:
- ## Sea Level Change
+ Under the EIS transdisciplinary approach, research & applications and data systems are working together under one project to develop stories of transdisciplinary Earth system science.
+
+ See some transdisciplinary science examples that connect fire impacts with hydrology and quantifies coastal risk from sea level rise compounded by water cycle intensification.
+
+
+
+
- Understanding sea-level variability is challenging because sea-level science is highly multidisciplinary, with the contributing processes acting on a very broad range of spatial and temporal scales. Individual research groups typically need access to the same observational datasets, software, and model output; however, most work on a variety of on-premises platforms that are not directly linked to one another. The fractured nature of current data and computing systems makes it challenging to make rapid progress on the timescales of scientific research grants (3-5 years). As NASA’s Earth System Observatory comes to fruition, new tools and platforms are needed to allow multidisciplinary teams, spread across various institutions, to make faster scientific progress, especially given that future missions will collect exponentially more data than the current program of record.
- The overarching goal of the EIS-Sea Level Change activity is to produce a system that supports collaborative scientific research, streamlines the process of creating sea level change products from raw observations, and facilitates the development of impactful tools requested by stakeholders. The current phase of the EIS-Sea Level Change activity focuses on:
+
+
- 1. **Ice sheet contribution to sea-level change:** Improving estimates of ice sheet mass change by connecting model ensembles with satellite observations in the cloud.
- 2. **Sea-level change attribution with ECCO:** Advancing our understanding of the role of ocean processes in sea-level change and increasing the ease of accessibility for ECCO model output.
- 3. **Support for SWOT science team:** Developing a science collaboration environment in the cloud for SWOT Science Team research; a trailblazer for the Earth System Observatory.
- 4. **N-SLCT portal tools:** Creating clear and easy-to-use tools for stakeholders and decision makers.
- EIS-Sea Level Change stakeholder engagement is primarily through the existing [NASA Sea Level Change Team (NSLCT)](https://sealevel.nasa.gov/science-team/overview), which has a practitioner advisory board with members from the US Geological Survey, the US National Snow and Ice Data Center, the US Naval Facilities Engineering Command, the Philadelphia Water Department, and other organizations.
+ 1. [Post-Fire Hydrology Impacts](https://www.earthdata.nasa.gov/dashboard/eis/discoveries/fire-hydro-impacts)
+
+
@@ -109,28 +92,17 @@ about:
- ## Greenhouse Gasses
-
- Understanding the changes in source and sinks of carbon dioxide (CO2) and methane (CH4) and how they are changing is a signature challenge in Earth System Science and critically important for nations working to implement effective climate change mitigation strategies. Though land and ocean carbon sinks currently absorb about half of anthropogenic CO2 emissions, changes in these exchanges of carbon in a warming world lead to large uncertainties in model projections of future climate. Changes in CH4 concentrations over recent decades are less well understood with recent studies debating a variety of different, plausible mechanisms for changes in the atmospheric growth rate. Satellites have provided a transformation in understanding of many components of the carbon cycle. When combined with high quality modeling and data assimilation systems, these data can monitor recent changes in greenhouse gas (GHG) concentrations, provide attribution of the most important emission and loss processes, and take stock of the carbon sequestered by land biomass across the world. Though several NASA programs, (Carbon Monitoring System, OCO-2 Science Team, Interdisciplinary Science) have funded development of groundbreaking prototype products, the lack of integration and regular cadence of product delivery updates has limited the ability of NASA to provide authoritative and timely information on GHGs thereby limiting rapid science synthesis and support for stakeholders needs at a variety of administrative levels.
-
- The overarching vision of Earth Information System – Greenhouse Gasses (EIS-GHG) is to provide a suite of coherent datasets and cyberinfrastructure needed to support research and applications on the recent changes on GHG concentrations and their drivers. To that end, EIS-GHG will provide comprehensive information needed to characterize the state of greenhouse gasses with reliability, transparency, and low latency. For the first year of this pilot project, the main goals are to expand access to and interoperability of existing datasets while building the transparency needed for open science. Specific tasks include:
-
- 1. Designing and prototyping a data system for NASA GHG monitoring products that supports carbon cycle research and applications
- 2. Delivering high quality, low latency information about changes in GHGs
- 3. Providing rigorous benchmarking for NASA GHG products in support of open source science
- 4. Demonstrating cross-cutting analysis: Balance of natural and anthropogenic anomalies on the carbon balance during the COVID era (2020-2021)
- 5. Promoting community engagement and report key findings including scoping needs for coherent, long term GHG monitoring and information system
+ 2. [Coastal Risk](https://www.earthdata.nasa.gov/dashboard/eis/discoveries/eis-coastal-risks)
- EIS-GHG stakeholders include the World Meteorological Organization (WMO), the US Environmental Protection Agency (EPA), the UN Intergovernmental Panel on Climate Change (IPCC), and the Committee on Earth Observation Satellites (CEOS), among others.
-
-
+
+
diff --git a/thematic/water-quality.thematic.mdx b/thematic/water-quality.thematic.mdx
index 2d28e17d7..6cca2e0cd 100644
--- a/thematic/water-quality.thematic.mdx
+++ b/thematic/water-quality.thematic.mdx
@@ -11,10 +11,10 @@ media:
about:
title: Observing Water Quality
- description: "A combination of ground- and satellite-based tools provides a regional to global understanding of marine life and water quality"
+ description: "A combination of ground- and satellite-based tools provides a regional-to-global to global understanding of marine life and water quality"
---
-During the heat of the summer, the importance of monitoring and tracking algal blooms becomes readily apparent. Those flocking to the cool waters of local lakes, such as [those in upstate New York](https://www.wamc.org/news/2022-08-19/new-york-communities-grapple-with-harmful-algal-blooms), increasingly encounter the menacing, shimmering green of algal blooms covering the surface of the water. Beyond the contrast of a slimy green surface with an expected sparkling blue one, algal blooms pose real risks to both humans and wildlife in terms of toxins and the depletion of dissolved oxygen in the water. Satellite observations of algal blooms are essential to maintaining a healthy environment.
+During the heat of the summer, the importance of monitoring and tracking algal blooms becomes readily apparent. Those flocking to the cool waters of local lakes, such as [those in upstate New York](https://www.wamc.org/news/2022-08-19/new-york-communities-grapple-with-harmful-algal-blooms), increasingly encounter the menacing, shimmering green of algal blooms covering the surface of the water. Beyond the contrast of a slimy green surface with an expected sparkling blue one, algal blooms pose real risks to both humans and wildlife in terms of toxins and the depletion of dissolved oxygen in the water. Satellite observations of algal blooms are essential to maintaining a healthy marine environment.
diff --git a/delta.config.js b/veda.config.js
similarity index 100%
rename from delta.config.js
rename to veda.config.js
diff --git a/yarn.lock b/yarn.lock
index 5a4f5d586..6beb20181 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -2,7 +2,744 @@
# yarn lockfile v1
+"@colors/colors@1.5.0":
+ version "1.5.0"
+ resolved "https://registry.yarnpkg.com/@colors/colors/-/colors-1.5.0.tgz#bb504579c1cae923e6576a4f5da43d25f97bdbd9"
+ integrity sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==
+
+"@dabh/diagnostics@^2.0.2":
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/@dabh/diagnostics/-/diagnostics-2.0.3.tgz#7f7e97ee9a725dffc7808d93668cc984e1dc477a"
+ integrity sha512-hrlQOIi7hAfzsMqlGSFyVucrx38O+j6wiGOf//H2ecvIEqYN4ADBSS2iLMh5UFyDunCNniUIPk/q3riFv45xRA==
+ dependencies:
+ colorspace "1.1.x"
+ enabled "2.0.x"
+ kuler "^2.0.0"
+
+"@hapi/address@^4.0.1":
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/@hapi/address/-/address-4.1.0.tgz#d60c5c0d930e77456fdcde2598e77302e2955e1d"
+ integrity sha512-SkszZf13HVgGmChdHo/PxchnSaCJ6cetVqLzyciudzZRT0jcOouIF/Q93mgjw8cce+D+4F4C1Z/WrfFN+O3VHQ==
+ dependencies:
+ "@hapi/hoek" "^9.0.0"
+
+"@hapi/formula@^2.0.0":
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/@hapi/formula/-/formula-2.0.0.tgz#edade0619ed58c8e4f164f233cda70211e787128"
+ integrity sha512-V87P8fv7PI0LH7LiVi8Lkf3x+KCO7pQozXRssAHNXXL9L1K+uyu4XypLXwxqVDKgyQai6qj3/KteNlrqDx4W5A==
+
+"@hapi/hoek@^9.0.0":
+ version "9.3.0"
+ resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-9.3.0.tgz#8368869dcb735be2e7f5cb7647de78e167a251fb"
+ integrity sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==
+
+"@hapi/joi@^17.0.2":
+ version "17.1.1"
+ resolved "https://registry.yarnpkg.com/@hapi/joi/-/joi-17.1.1.tgz#9cc8d7e2c2213d1e46708c6260184b447c661350"
+ integrity sha512-p4DKeZAoeZW4g3u7ZeRo+vCDuSDgSvtsB/NpfjXEHTUjSeINAi/RrVOWiVQ1isaoLzMvFEhe8n5065mQq1AdQg==
+ dependencies:
+ "@hapi/address" "^4.0.1"
+ "@hapi/formula" "^2.0.0"
+ "@hapi/hoek" "^9.0.0"
+ "@hapi/pinpoint" "^2.0.0"
+ "@hapi/topo" "^5.0.0"
+
+"@hapi/pinpoint@^2.0.0":
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/@hapi/pinpoint/-/pinpoint-2.0.0.tgz#805b40d4dbec04fc116a73089494e00f073de8df"
+ integrity sha512-vzXR5MY7n4XeIvLpfl3HtE3coZYO4raKXW766R6DZw/6aLqR26iuZ109K7a0NtF2Db0jxqh7xz2AxkUwpUFybw==
+
+"@hapi/topo@^5.0.0":
+ version "5.1.0"
+ resolved "https://registry.yarnpkg.com/@hapi/topo/-/topo-5.1.0.tgz#dc448e332c6c6e37a4dc02fd84ba8d44b9afb012"
+ integrity sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==
+ dependencies:
+ "@hapi/hoek" "^9.0.0"
+
+"@kwsites/file-exists@^1.1.1":
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/@kwsites/file-exists/-/file-exists-1.1.1.tgz#ad1efcac13e1987d8dbaf235ef3be5b0d96faa99"
+ integrity sha512-m9/5YGR18lIwxSFDwfE3oA7bWuq9kdau6ugN4H2rJeyhFQZcG9AgSHkQtSD15a8WvTgfz9aikZMrKPHvbpqFiw==
+ dependencies:
+ debug "^4.1.1"
+
+"@kwsites/promise-deferred@^1.1.1":
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/@kwsites/promise-deferred/-/promise-deferred-1.1.1.tgz#8ace5259254426ccef57f3175bc64ed7095ed919"
+ integrity sha512-GaHYm+c0O9MjZRu0ongGBRbinu8gVAMd2UZjji6jVmqKtZluZnptXGWhz1E8j8D2HJ3f/yMxKAUC0b+57wncIw==
+
+accepts@~1.3.8:
+ version "1.3.8"
+ resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e"
+ integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==
+ dependencies:
+ mime-types "~2.1.34"
+ negotiator "0.6.3"
+
+array-flatten@1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2"
+ integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==
+
+async-mutex@^0.3.0:
+ version "0.3.2"
+ resolved "https://registry.yarnpkg.com/async-mutex/-/async-mutex-0.3.2.tgz#1485eda5bda1b0ec7c8df1ac2e815757ad1831df"
+ integrity sha512-HuTK7E7MT7jZEh1P9GtRW9+aTWiDWWi9InbZ5hjxrnRa39KS4BW04+xLBhYNS2aXhHUIKZSw3gj4Pn1pj+qGAA==
+ dependencies:
+ tslib "^2.3.1"
+
+async@^3.2.3:
+ version "3.2.4"
+ resolved "https://registry.yarnpkg.com/async/-/async-3.2.4.tgz#2d22e00f8cddeb5fde5dd33522b56d1cf569a81c"
+ integrity sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==
+
+basic-auth@~2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/basic-auth/-/basic-auth-2.0.1.tgz#b998279bf47ce38344b4f3cf916d4679bbf51e3a"
+ integrity sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==
+ dependencies:
+ safe-buffer "5.1.2"
+
+body-parser@1.20.1:
+ version "1.20.1"
+ resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.1.tgz#b1812a8912c195cd371a3ee5e66faa2338a5c668"
+ integrity sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==
+ dependencies:
+ bytes "3.1.2"
+ content-type "~1.0.4"
+ debug "2.6.9"
+ depd "2.0.0"
+ destroy "1.2.0"
+ http-errors "2.0.0"
+ iconv-lite "0.4.24"
+ on-finished "2.4.1"
+ qs "6.11.0"
+ raw-body "2.5.1"
+ type-is "~1.6.18"
+ unpipe "1.0.0"
+
+bytes@3.1.2:
+ version "3.1.2"
+ resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5"
+ integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==
+
+call-bind@^1.0.0:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c"
+ integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==
+ dependencies:
+ function-bind "^1.1.1"
+ get-intrinsic "^1.0.2"
+
+color-convert@^1.9.3:
+ version "1.9.3"
+ resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
+ integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==
+ dependencies:
+ color-name "1.1.3"
+
+color-name@1.1.3:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
+ integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==
+
+color-name@^1.0.0:
+ version "1.1.4"
+ resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
+ integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
+
+color-string@^1.6.0:
+ version "1.9.1"
+ resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.9.1.tgz#4467f9146f036f855b764dfb5bf8582bf342c7a4"
+ integrity sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==
+ dependencies:
+ color-name "^1.0.0"
+ simple-swizzle "^0.2.2"
+
+color@^3.1.3:
+ version "3.2.1"
+ resolved "https://registry.yarnpkg.com/color/-/color-3.2.1.tgz#3544dc198caf4490c3ecc9a790b54fe9ff45e164"
+ integrity sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==
+ dependencies:
+ color-convert "^1.9.3"
+ color-string "^1.6.0"
+
+colorspace@1.1.x:
+ version "1.1.4"
+ resolved "https://registry.yarnpkg.com/colorspace/-/colorspace-1.1.4.tgz#8d442d1186152f60453bf8070cd66eb364e59243"
+ integrity sha512-BgvKJiuVu1igBUF2kEjRCZXol6wiiGbY5ipL/oVPwm0BL9sIpMIzM8IK7vwuxIIzOXMV3Ey5w+vxhm0rR/TN8w==
+ dependencies:
+ color "^3.1.3"
+ text-hex "1.0.x"
+
+content-disposition@0.5.4:
+ version "0.5.4"
+ resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.4.tgz#8b82b4efac82512a02bb0b1dcec9d2c5e8eb5bfe"
+ integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==
+ dependencies:
+ safe-buffer "5.2.1"
+
+content-type@~1.0.4:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b"
+ integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==
+
+cookie-signature@1.0.6:
+ version "1.0.6"
+ resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c"
+ integrity sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==
+
+cookie@0.5.0:
+ version "0.5.0"
+ resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.5.0.tgz#d1f5d71adec6558c58f389987c366aa47e994f8b"
+ integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==
+
+cors@^2.8.5:
+ version "2.8.5"
+ resolved "https://registry.yarnpkg.com/cors/-/cors-2.8.5.tgz#eac11da51592dd86b9f06f6e7ac293b3df875d29"
+ integrity sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==
+ dependencies:
+ object-assign "^4"
+ vary "^1"
+
+debug@2.6.9:
+ version "2.6.9"
+ resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
+ integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
+ dependencies:
+ ms "2.0.0"
+
+debug@^4.1.1, debug@^4.3.4:
+ version "4.3.4"
+ resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865"
+ integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==
+ dependencies:
+ ms "2.1.2"
+
+depd@2.0.0, depd@~2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df"
+ integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==
+
+destroy@1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015"
+ integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==
+
dotenv@^10.0.0:
version "10.0.0"
resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-10.0.0.tgz#3d4227b8fb95f81096cdd2b66653fb2c7085ba81"
integrity sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==
+
+ee-first@1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
+ integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==
+
+enabled@2.0.x:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/enabled/-/enabled-2.0.0.tgz#f9dd92ec2d6f4bbc0d5d1e64e21d61cd4665e7c2"
+ integrity sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ==
+
+encodeurl@~1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59"
+ integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==
+
+escape-html@~1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988"
+ integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==
+
+etag@~1.8.1:
+ version "1.8.1"
+ resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887"
+ integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==
+
+express@^4.17.1:
+ version "4.18.2"
+ resolved "https://registry.yarnpkg.com/express/-/express-4.18.2.tgz#3fabe08296e930c796c19e3c516979386ba9fd59"
+ integrity sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==
+ dependencies:
+ accepts "~1.3.8"
+ array-flatten "1.1.1"
+ body-parser "1.20.1"
+ content-disposition "0.5.4"
+ content-type "~1.0.4"
+ cookie "0.5.0"
+ cookie-signature "1.0.6"
+ debug "2.6.9"
+ depd "2.0.0"
+ encodeurl "~1.0.2"
+ escape-html "~1.0.3"
+ etag "~1.8.1"
+ finalhandler "1.2.0"
+ fresh "0.5.2"
+ http-errors "2.0.0"
+ merge-descriptors "1.0.1"
+ methods "~1.1.2"
+ on-finished "2.4.1"
+ parseurl "~1.3.3"
+ path-to-regexp "0.1.7"
+ proxy-addr "~2.0.7"
+ qs "6.11.0"
+ range-parser "~1.2.1"
+ safe-buffer "5.2.1"
+ send "0.18.0"
+ serve-static "1.15.0"
+ setprototypeof "1.2.0"
+ statuses "2.0.1"
+ type-is "~1.6.18"
+ utils-merge "1.0.1"
+ vary "~1.1.2"
+
+fecha@^4.2.0:
+ version "4.2.3"
+ resolved "https://registry.yarnpkg.com/fecha/-/fecha-4.2.3.tgz#4d9ccdbc61e8629b259fdca67e65891448d569fd"
+ integrity sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw==
+
+finalhandler@1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.2.0.tgz#7d23fe5731b207b4640e4fcd00aec1f9207a7b32"
+ integrity sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==
+ dependencies:
+ debug "2.6.9"
+ encodeurl "~1.0.2"
+ escape-html "~1.0.3"
+ on-finished "2.4.1"
+ parseurl "~1.3.3"
+ statuses "2.0.1"
+ unpipe "~1.0.0"
+
+fn.name@1.x.x:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/fn.name/-/fn.name-1.1.0.tgz#26cad8017967aea8731bc42961d04a3d5988accc"
+ integrity sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==
+
+forwarded@0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811"
+ integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==
+
+fresh@0.5.2:
+ version "0.5.2"
+ resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7"
+ integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==
+
+function-bind@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
+ integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==
+
+get-intrinsic@^1.0.2:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.3.tgz#063c84329ad93e83893c7f4f243ef63ffa351385"
+ integrity sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==
+ dependencies:
+ function-bind "^1.1.1"
+ has "^1.0.3"
+ has-symbols "^1.0.3"
+
+has-symbols@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8"
+ integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==
+
+has@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796"
+ integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==
+ dependencies:
+ function-bind "^1.1.1"
+
+http-errors@2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3"
+ integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==
+ dependencies:
+ depd "2.0.0"
+ inherits "2.0.4"
+ setprototypeof "1.2.0"
+ statuses "2.0.1"
+ toidentifier "1.0.1"
+
+iconv-lite@0.4.24:
+ version "0.4.24"
+ resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b"
+ integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==
+ dependencies:
+ safer-buffer ">= 2.1.2 < 3"
+
+inherits@2.0.4, inherits@^2.0.3:
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
+ integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
+
+ipaddr.js@1.9.1:
+ version "1.9.1"
+ resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3"
+ integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==
+
+is-arrayish@^0.3.1:
+ version "0.3.2"
+ resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03"
+ integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==
+
+is-stream@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077"
+ integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==
+
+kuler@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/kuler/-/kuler-2.0.0.tgz#e2c570a3800388fb44407e851531c1d670b061b3"
+ integrity sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==
+
+logform@^2.3.2, logform@^2.4.0:
+ version "2.4.2"
+ resolved "https://registry.yarnpkg.com/logform/-/logform-2.4.2.tgz#a617983ac0334d0c3b942c34945380062795b47c"
+ integrity sha512-W4c9himeAwXEdZ05dQNerhFz2XG80P9Oj0loPUMV23VC2it0orMHQhJm4hdnnor3rd1HsGf6a2lPwBM1zeXHGw==
+ dependencies:
+ "@colors/colors" "1.5.0"
+ fecha "^4.2.0"
+ ms "^2.1.1"
+ safe-stable-stringify "^2.3.1"
+ triple-beam "^1.3.0"
+
+media-typer@0.3.0:
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748"
+ integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==
+
+merge-descriptors@1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61"
+ integrity sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==
+
+methods@~1.1.2:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee"
+ integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==
+
+mime-db@1.52.0:
+ version "1.52.0"
+ resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70"
+ integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==
+
+mime-types@~2.1.24, mime-types@~2.1.34:
+ version "2.1.35"
+ resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a"
+ integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==
+ dependencies:
+ mime-db "1.52.0"
+
+mime@1.6.0:
+ version "1.6.0"
+ resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1"
+ integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==
+
+morgan@^1.9.1:
+ version "1.10.0"
+ resolved "https://registry.yarnpkg.com/morgan/-/morgan-1.10.0.tgz#091778abc1fc47cd3509824653dae1faab6b17d7"
+ integrity sha512-AbegBVI4sh6El+1gNwvD5YIck7nSA36weD7xvIxG4in80j/UoK8AEGaWnnz8v1GxonMCltmlNs5ZKbGvl9b1XQ==
+ dependencies:
+ basic-auth "~2.0.1"
+ debug "2.6.9"
+ depd "~2.0.0"
+ on-finished "~2.3.0"
+ on-headers "~1.0.2"
+
+ms@2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
+ integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==
+
+ms@2.1.2:
+ version "2.1.2"
+ resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
+ integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
+
+ms@2.1.3, ms@^2.1.1:
+ version "2.1.3"
+ resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2"
+ integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
+
+negotiator@0.6.3:
+ version "0.6.3"
+ resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd"
+ integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==
+
+netlify-cms-proxy-server@^1.3.24:
+ version "1.3.24"
+ resolved "https://registry.yarnpkg.com/netlify-cms-proxy-server/-/netlify-cms-proxy-server-1.3.24.tgz#4d15031287f505b0f8882cabe92ca9b72c4f0caf"
+ integrity sha512-gYf+HwZ0mio4G6DgBRknRedM/+UoM3Am0zKyzb1ezRcTlqESg0i1ZEkKZ3ubxrqvbZ0UkKilCjP+tY1bEMGHfg==
+ dependencies:
+ "@hapi/joi" "^17.0.2"
+ async-mutex "^0.3.0"
+ cors "^2.8.5"
+ dotenv "^10.0.0"
+ express "^4.17.1"
+ morgan "^1.9.1"
+ simple-git "^3.0.0"
+ what-the-diff "^0.6.0"
+ winston "^3.3.3"
+
+object-assign@^4:
+ version "4.1.1"
+ resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
+ integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==
+
+object-inspect@^1.9.0:
+ version "1.12.2"
+ resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.2.tgz#c0641f26394532f28ab8d796ab954e43c009a8ea"
+ integrity sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==
+
+on-finished@2.4.1:
+ version "2.4.1"
+ resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f"
+ integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==
+ dependencies:
+ ee-first "1.1.1"
+
+on-finished@~2.3.0:
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947"
+ integrity sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==
+ dependencies:
+ ee-first "1.1.1"
+
+on-headers@~1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.2.tgz#772b0ae6aaa525c399e489adfad90c403eb3c28f"
+ integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==
+
+one-time@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/one-time/-/one-time-1.0.0.tgz#e06bc174aed214ed58edede573b433bbf827cb45"
+ integrity sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g==
+ dependencies:
+ fn.name "1.x.x"
+
+parseurl@~1.3.3:
+ version "1.3.3"
+ resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4"
+ integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==
+
+path-to-regexp@0.1.7:
+ version "0.1.7"
+ resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c"
+ integrity sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==
+
+proxy-addr@~2.0.7:
+ version "2.0.7"
+ resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025"
+ integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==
+ dependencies:
+ forwarded "0.2.0"
+ ipaddr.js "1.9.1"
+
+qs@6.11.0:
+ version "6.11.0"
+ resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.0.tgz#fd0d963446f7a65e1367e01abd85429453f0c37a"
+ integrity sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==
+ dependencies:
+ side-channel "^1.0.4"
+
+range-parser@~1.2.1:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031"
+ integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==
+
+raw-body@2.5.1:
+ version "2.5.1"
+ resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.1.tgz#fe1b1628b181b700215e5fd42389f98b71392857"
+ integrity sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==
+ dependencies:
+ bytes "3.1.2"
+ http-errors "2.0.0"
+ iconv-lite "0.4.24"
+ unpipe "1.0.0"
+
+readable-stream@^3.4.0, readable-stream@^3.6.0:
+ version "3.6.0"
+ resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198"
+ integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==
+ dependencies:
+ inherits "^2.0.3"
+ string_decoder "^1.1.1"
+ util-deprecate "^1.0.1"
+
+safe-buffer@5.1.2:
+ version "5.1.2"
+ resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
+ integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
+
+safe-buffer@5.2.1, safe-buffer@~5.2.0:
+ version "5.2.1"
+ resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6"
+ integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
+
+safe-stable-stringify@^2.3.1:
+ version "2.4.1"
+ resolved "https://registry.yarnpkg.com/safe-stable-stringify/-/safe-stable-stringify-2.4.1.tgz#34694bd8a30575b7f94792aa51527551bd733d61"
+ integrity sha512-dVHE6bMtS/bnL2mwualjc6IxEv1F+OCUpA46pKUj6F8uDbUM0jCCulPqRNPSnWwGNKx5etqMjZYdXtrm5KJZGA==
+
+"safer-buffer@>= 2.1.2 < 3":
+ version "2.1.2"
+ resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
+ integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
+
+send@0.18.0:
+ version "0.18.0"
+ resolved "https://registry.yarnpkg.com/send/-/send-0.18.0.tgz#670167cc654b05f5aa4a767f9113bb371bc706be"
+ integrity sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==
+ dependencies:
+ debug "2.6.9"
+ depd "2.0.0"
+ destroy "1.2.0"
+ encodeurl "~1.0.2"
+ escape-html "~1.0.3"
+ etag "~1.8.1"
+ fresh "0.5.2"
+ http-errors "2.0.0"
+ mime "1.6.0"
+ ms "2.1.3"
+ on-finished "2.4.1"
+ range-parser "~1.2.1"
+ statuses "2.0.1"
+
+serve-static@1.15.0:
+ version "1.15.0"
+ resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.15.0.tgz#faaef08cffe0a1a62f60cad0c4e513cff0ac9540"
+ integrity sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==
+ dependencies:
+ encodeurl "~1.0.2"
+ escape-html "~1.0.3"
+ parseurl "~1.3.3"
+ send "0.18.0"
+
+setprototypeof@1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424"
+ integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==
+
+side-channel@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf"
+ integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==
+ dependencies:
+ call-bind "^1.0.0"
+ get-intrinsic "^1.0.2"
+ object-inspect "^1.9.0"
+
+simple-git@^3.0.0:
+ version "3.15.1"
+ resolved "https://registry.yarnpkg.com/simple-git/-/simple-git-3.15.1.tgz#57f595682cb0c2475d5056da078a05c8715a25ef"
+ integrity sha512-73MVa5984t/JP4JcQt0oZlKGr42ROYWC3BcUZfuHtT3IHKPspIvL0cZBnvPXF7LL3S/qVeVHVdYYmJ3LOTw4Rg==
+ dependencies:
+ "@kwsites/file-exists" "^1.1.1"
+ "@kwsites/promise-deferred" "^1.1.1"
+ debug "^4.3.4"
+
+simple-swizzle@^0.2.2:
+ version "0.2.2"
+ resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a"
+ integrity sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==
+ dependencies:
+ is-arrayish "^0.3.1"
+
+stack-trace@0.0.x:
+ version "0.0.10"
+ resolved "https://registry.yarnpkg.com/stack-trace/-/stack-trace-0.0.10.tgz#547c70b347e8d32b4e108ea1a2a159e5fdde19c0"
+ integrity sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg==
+
+statuses@2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63"
+ integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==
+
+string_decoder@^1.1.1:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e"
+ integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==
+ dependencies:
+ safe-buffer "~5.2.0"
+
+text-hex@1.0.x:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/text-hex/-/text-hex-1.0.0.tgz#69dc9c1b17446ee79a92bf5b884bb4b9127506f5"
+ integrity sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==
+
+toidentifier@1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35"
+ integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==
+
+triple-beam@^1.3.0:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/triple-beam/-/triple-beam-1.3.0.tgz#a595214c7298db8339eeeee083e4d10bd8cb8dd9"
+ integrity sha512-XrHUvV5HpdLmIj4uVMxHggLbFSZYIn7HEWsqePZcI50pco+MPqJ50wMGY794X7AOOhxOBAjbkqfAbEe/QMp2Lw==
+
+tslib@^2.3.1:
+ version "2.4.1"
+ resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.1.tgz#0d0bfbaac2880b91e22df0768e55be9753a5b17e"
+ integrity sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==
+
+type-is@~1.6.18:
+ version "1.6.18"
+ resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131"
+ integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==
+ dependencies:
+ media-typer "0.3.0"
+ mime-types "~2.1.24"
+
+unpipe@1.0.0, unpipe@~1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec"
+ integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==
+
+util-deprecate@^1.0.1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
+ integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==
+
+utils-merge@1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713"
+ integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==
+
+vary@^1, vary@~1.1.2:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc"
+ integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==
+
+what-the-diff@^0.6.0:
+ version "0.6.0"
+ resolved "https://registry.yarnpkg.com/what-the-diff/-/what-the-diff-0.6.0.tgz#445cc56a9d8ee9aea0ee1ed943f4957ae009291e"
+ integrity sha512-8BgQ4uo4cxojRXvCIcqDpH4QHaq0Ksn2P3LYfztylC5LDSwZKuGHf0Wf7sAStjPLTcB8eCB8pJJcPQSWfhZlkg==
+
+winston-transport@^4.5.0:
+ version "4.5.0"
+ resolved "https://registry.yarnpkg.com/winston-transport/-/winston-transport-4.5.0.tgz#6e7b0dd04d393171ed5e4e4905db265f7ab384fa"
+ integrity sha512-YpZzcUzBedhlTAfJg6vJDlyEai/IFMIVcaEZZyl3UXIl4gmqRpU7AE89AHLkbzLUsv0NVmw7ts+iztqKxxPW1Q==
+ dependencies:
+ logform "^2.3.2"
+ readable-stream "^3.6.0"
+ triple-beam "^1.3.0"
+
+winston@^3.3.3:
+ version "3.8.2"
+ resolved "https://registry.yarnpkg.com/winston/-/winston-3.8.2.tgz#56e16b34022eb4cff2638196d9646d7430fdad50"
+ integrity sha512-MsE1gRx1m5jdTTO9Ld/vND4krP2To+lgDoMEHGGa4HIlAUyXJtfc7CxQcGXVyz2IBpw5hbFkj2b/AtUdQwyRew==
+ dependencies:
+ "@colors/colors" "1.5.0"
+ "@dabh/diagnostics" "^2.0.2"
+ async "^3.2.3"
+ is-stream "^2.0.0"
+ logform "^2.4.0"
+ one-time "^1.0.0"
+ readable-stream "^3.4.0"
+ safe-stable-stringify "^2.3.1"
+ stack-trace "0.0.x"
+ triple-beam "^1.3.0"
+ winston-transport "^4.5.0"