Introduction to a Machine Learning Model to Estimate Water Quality Parameters Part 2
The Story
Welcome to Part 2 of our specialized series on environmental data science: "Introduction to a Machine Learning Model to Estimate Water Quality Parameters Part 2."In this episode of the NASA Live Video Podcast, we move beyond the foundational concepts and dive deep into the practical deployment, training, and validation of machine learning algorithms for aquatic monitoring. Accurately assessing water quality across vast geographical scales requires a powerful combination of remote sensing data and predictive intelligence to turn raw satellite observations into real-time environmental insights.
We break down the technical workflows involved in modeling critical water quality parameters—such as Chlorophyll-a concentrations, Total Suspended Solids (TSS), Colored Dissolved Organic Matter (CDOM), and sea/lake surface temperatures. We discuss how regression and classification models utilize satellite-derived surface reflectance data, how to address overfitting, and the importance of ground-truth validation using in-situ data networks to ensure your model's accuracy.
Whether you are a data scientist, a hydrologist, an environmental engineer, or a space enthusiast curious about how artificial intelligence intersects with Earth observation, this second installment offers vital, technical insights. Subscribe to the NASA Live Video Podcast to catch up on Part 1 and stay connected with the absolute frontier of space exploration, remote sensing, and cutting-edge earth science!
Speaker 1: Hello everyone, Welcome back to this art set training on
Speaker 1: monitoring water quality in lakes and coastal regions using Stream.
Speaker 1: Today it's part two on introduction to a machine learning
Speaker 1: model to estimate water quality parameters based on satellite observations.
Speaker 1: We have a guest speaker today, doctor Ryan O'she and
Speaker 1: he will be talking about the machine learning model. Last
Speaker 1: week in part one, we saw background overview and demonstration
Speaker 1: of stream webtool and API, where Stream is satellite based
Speaker 1: TWOL for rapid evaluation of aquatic environment. We had a
Speaker 1: guest speaker mister William Wainwright. He showed us that Stream
Speaker 1: uses Landset eight and nine and Sentinel two A, B
Speaker 1: and C to obtain water quality parameters which include chlorophylea concentration,
Speaker 1: total suspended solids and seeky disk depths. The area covered
Speaker 1: our coastales and inland lakes in the US. The data
Speaker 1: are available at twenty to thirty meters special resolution, and
Speaker 1: we saw that stream API allows search and download of
Speaker 1: multiple images for an area of interest. We saw example
Speaker 1: of selection of water quality parameters using stream map and
Speaker 1: make time series of water quality parameters using qgis example
Speaker 1: shown here. We saw Pyramid lake and this map shows
Speaker 1: chlorophil a concentration. High resolution data that shows pattern and
Speaker 1: how chlorophyll a is distributed within the lake and in
Speaker 1: different parts that can be seen here. We downloaded multiple
Speaker 1: images of chlorophil a concentration as well as TSS into
Speaker 1: supeag bay and made time series using QGIS. Today now
Speaker 1: we will focus on introduction to machine learning model to
Speaker 1: estimate water quality parameters based on satellite observations. This is
Speaker 1: the model that's used to derive what quality parameters in stream.
Speaker 1: Just a note here there is a homework posted today
Speaker 1: on our website and it will be due on tenth
Speaker 1: of March and the certificate of completion will be ordered
Speaker 1: to those who attend all live sessions and complete the
Speaker 1: homework assignment before the given due date. So we'll start
Speaker 1: with today's session. Our objectives today are that by the
Speaker 1: end of part two, you'll be able to become familiar
Speaker 1: with a mixture density network or MDN based model used
Speaker 1: for deriving water quality parameters from satellite observations in stream.
Speaker 1: Recognize how to select and process satellite images for deriving
Speaker 1: water quality parameters in a water body of interest. Recognize
Speaker 1: how to access the md and model code for deriving
Speaker 1: water quality parameters in the water body of interest. Here's
Speaker 1: the outline for today. We will start with a very
Speaker 1: brief review of preprocessing satellite images for inputs to the
Speaker 1: MDN based model. Then we will have an overview of
Speaker 1: the md AND based model which is used in stream,
Speaker 1: and we'll have a demonstration of access and application of
Speaker 1: the md AND model code for deriving water quality parameters
Speaker 1: from satellite data. Our guestpicker dotor Osha will use examples
Speaker 1: to demonstrate how to use MDN code. He will use
Speaker 1: Sentinel three OGI images and Paysoci images to show water
Speaker 1: quality parameters er from this model in San Francisco Bay
Speaker 1: and Lake. Erie will have a brief review of preprocessing
Speaker 1: of satellite images. Now, satellite sensors measure top of atmosphere
Speaker 1: or TA radiance, and these radiances result from a combination
Speaker 1: of surface and atmospheric conditions, including the effects of clouds
Speaker 1: and aerosolt particles as seen in this figure. Toa radiances
Speaker 1: as a function of wavength are shown here and contribution
Speaker 1: is pretty large from atmosphere and also from surface, including
Speaker 1: this green curve that is contribution from water surface. So
Speaker 1: this water living reflectance that depends on BAX scattering and
Speaker 1: absorption of radiation due to materials in water that is
Speaker 1: optically active. As shown here that the water living reflectancies.
Speaker 1: They depend on what is going on in the water
Speaker 1: and these are the reflectancies they are used to estimate
Speaker 1: water quality parameters. To get water living remote sensing reflectancies
Speaker 1: or rrs at different wavelengths, we have to start with
Speaker 1: satellite observations of TOA radiances and apply atmospheric correction schemes
Speaker 1: to get rrs's. Now Here, there are a number of
Speaker 1: schemes or atmospheric correction algorithms listed. NASA has a couple
Speaker 1: NASA Ocean Biology Processing Group algorithm and NASA AKMA Verse
Speaker 1: algorithm which is used for stream. There is echo, light
Speaker 1: and polymer. These are some of the schemes generally used
Speaker 1: by the community to do atmospheric correction and get remote
Speaker 1: sensing reflectancies. So we would start with satellite images which
Speaker 1: is level one top of atmosphere reflectance and then find
Speaker 1: level two remote sensing reflectancies. Then they're used to estimate
Speaker 1: water quality parameters. So to summarize to get remote sensing reflectancies,
Speaker 1: will select a satellite and sensor and start with level
Speaker 1: one satellite data, then use appropriate atmospheric correction algorithm to
Speaker 1: derive level to water living reflectancies and then those can
Speaker 1: be input to the md and model that we will
Speaker 1: see in a few minutes. Here we're talking about NASA
Speaker 1: c Earth Atmosphere Data Analysis System or CEDS has Ocean
Speaker 1: Color Science Software or oCSS W that can help. That
Speaker 1: has algorithm for atmospheric correction and can be used to
Speaker 1: get level two remote sensing reflectancies. There are a couple
Speaker 1: of HORSET trainings they demonstrate how to use CIDs O
Speaker 1: c ss W to do atmospheric correction and get remote
Speaker 1: sensing reflectancies. So you can refer to these for more information.
Speaker 1: And c dos A is an open source software from
Speaker 1: NASA and can be downloaded and you can find information
Speaker 1: from NASA Earth Data and search with CDs and you
Speaker 1: can get more information or you can refer to these
Speaker 1: trainings for more details. We saw this table last week
Speaker 1: all the satellites and sensors which are used for water
Speaker 1: quality monitoring, and here are the sources where you can
Speaker 1: start with level one data. You can obtain level one
Speaker 1: satellite images from these satellites and so corresponding links are
Speaker 1: provided here. These are the data portals where you can
Speaker 1: download images from these satellites and sensors. With that, we'll
Speaker 1: start with today's session on overview and demonstration of MDN
Speaker 1: model for stream Just a note here, please put your
Speaker 1: questions in the questions box and we will letice them
Speaker 1: at the end of the webinar, and feel free to
Speaker 1: enter your questions as we go. We will try to
Speaker 1: get to all the questions during the Q and A session.
Speaker 1: After the webinar, the remainder of the questions will be
Speaker 1: answered in the Q and A document which will be
Speaker 1: posted on the training website about a week after the training.
Speaker 1: With that, I'll introduce our speaker for today, doctor Ryan O'she.
Speaker 1: Doctor Ryan O'she is a senior research scientist at NASA's
Speaker 1: Goddart Space Flight Center. Ryan received his PhD in Mechanical
Speaker 1: and Oceanographic engineering from the Massachusetts Institute of Technology and
Speaker 1: Woodshol Oceanographic Institution joint program in twenty twenty one while
Speaker 1: he was under a National Defense Science and Engineering Graduate fellowship.
Speaker 1: Doctor O'she's thesis, titled Computational Approaches for Submitter Ocean Color
Speaker 1: Remote Sensing, focused on the theoretical limitations, practical considerations, and
Speaker 1: potential future avenues for deploying lightweight hyperspectral cameras for ocean
Speaker 1: color remote sensing from low altitude platforms. Currently, Ryan is
Speaker 1: working on defining freshwater and ocean water products at NASA Garden.
Speaker 1: So we invite doctor O'sha to present about the md
Speaker 1: AND model used in Stream. Ryan.
Speaker 2: Everyone, my name is Ryan O'Shea. I'm a member of
Speaker 2: the Freshwater Sensing program at Science Systems and Applications, Inc.
Speaker 2: This program consists of myself, A Rin Sarenathen will Waynewright,
Speaker 2: and Brandon Smith. It was formerly headed by Nima Polophon,
Speaker 2: who's moved on to an SHQ. Today, I'll be presenting
Speaker 2: on monitoring water quality and lakes and coastal regions using Stream.
Speaker 2: Part two focuses on introduction to a machine learning model
Speaker 2: to ask me water quality parameters based on satellite observations.
Speaker 2: On the slide, I'm going to briefly take you through
Speaker 2: freshwater and littoral imaging from space, showing the mixture density
Speaker 2: network supported sensors in red or just supported by the
Speaker 2: MDN in blue, they're supported by stream and ingreen. They're
Speaker 2: coming student to stream. In two thousand, or actually the
Speaker 2: end of nineteen ninety nine, Modus was launched. Modus as
Speaker 2: a multi spectral instrument which can capture a kilometer scale
Speaker 2: resolution with a near one to two day temporal resolution.
Speaker 2: This satellite censors lasted for the last twenty six years,
Speaker 2: so it can produce time series and climatology of given regions.
Speaker 2: This is supported by the MDN VERS was also launched
Speaker 2: and I believe twenty twelve. It achieves about seven hundred
Speaker 2: and fifty meters spatial resolution and again one to two
Speaker 2: day spatial revisit. It has very similar capabilities as Modus,
Speaker 2: and we have models that support both of these and
Speaker 2: show generally pretty harmonized retrievals from both. We also support
Speaker 2: lance at eight and nine. These are the mos that
Speaker 2: you saw as part of Part one that are included
Speaker 2: on stream. These sensors have fewer spectral bands but much
Speaker 2: finer spatial resolution up to about twenty meters spatial scales
Speaker 2: that we can start to look at fine scale inland
Speaker 2: water bodies using these sensors. All supported on stream or
Speaker 2: Sentinel two A and two B with similar spectral resolution
Speaker 2: as landset and similar spatial resolution However, the costs for
Speaker 2: both of these sensors is temporal resolution, with Landset having
Speaker 2: a temporal resolution of about eight days, where Sentinel has
Speaker 2: a resolution of about five days. However, when you start
Speaker 2: to combine them together, you can improve the temporal resolution.
Speaker 2: So we already have Landset eight and Sentinel two supported
Speaker 2: on stream, but coming sooner stream will also be adding
Speaker 2: in Sentinel three A and Sentinel three B, for which
Speaker 2: we already have make sure density network models available. These
Speaker 2: have temporal resolutions of about one to two days, higher
Speaker 2: spectral resolutions which allow for improved product accuracy in these
Speaker 2: optically complex inland and coastal waters that we're sensing in,
Speaker 2: and spatial resolutions of about three hundred meters. So by
Speaker 2: combining the lands At eight, Sentinel two and Sentinel three
Speaker 2: imagery we can get higher temporal, spatial and spectral combinations.
Speaker 2: As additional sensors are launched, will also be adding these
Speaker 2: into stream. We also have mature densitly not network models
Speaker 2: available for commercial satellites like Planets super Dove, which achieves
Speaker 2: meter scale spatial resolution. We also support hyper spectral instruments,
Speaker 2: so we develop models for Hiko the hyperspectual imagery for
Speaker 2: the coastal ocean as well as PRISMA and EMIT. We're
Speaker 2: currently funded by EMMA as well as the PACE Science
Speaker 2: and Applications Team to further improve our products for hyperspectral imagery.
Speaker 2: The PACE model that we have available supports a wide
Speaker 2: range of products leveraging the full hyperspectral data, so not
Speaker 2: only does it support the standard color fol, TSS and
Speaker 2: c DOWN products, but also inherent optical properties like absorption
Speaker 2: due to phytoplankton, and PACE allows for one to two
Speaker 2: day temporal resolution and about a kilometer spatial resolution. We're
Speaker 2: also funded as part of the Lancet Science team to
Speaker 2: make models in advance of Landset Next, which should be
Speaker 2: launched around twenty thirty one. So this large set of
Speaker 2: sensors that we have developed models for are radiometrically capable
Speaker 2: for sensing in aquatic regions. The combined observations can get
Speaker 2: us towards daily observations if we're able to leverage estimates
Speaker 2: from all of these sensors combined. But they have different
Speaker 2: spatial and spectual cap abilities which allow us to sense
Speaker 2: in a wide range of spatial resolution region so we
Speaker 2: can sense an inland as well as coastal waters. The trick, however,
Speaker 2: is combining these estimates from these different sensors to get
Speaker 2: a better understanding of global inland and coastal waters. To
Speaker 2: do that, we need a robust workflow for producing seamless
Speaker 2: products over fresh and coastal estuaries. To do that, we
Speaker 2: plan to use machine learning model, and to train our
Speaker 2: machine learning model, we need a representative data set, so
Speaker 2: we've assembled a large data set of a variety of
Speaker 2: different institute products, including chlorophyll, a total suspended sediment, as
Speaker 2: well as color dissolved organic matter. This data set builds
Speaker 2: off of Moretz Lehman's Gloria database, which is cited in
Speaker 2: the bottom right. It has At this point, we have
Speaker 2: about greater than ten thousand globally distributed in situation measurements.
Speaker 2: These include those biogeocomical parameters I was talking about before,
Speaker 2: as well as inherent optical properties from inland and coastal waters.
Speaker 2: As you can see from the map, about twenty percent
Speaker 2: about eighty percent of this data set comes from North
Speaker 2: America as well as Europe, and twenty percent from the
Speaker 2: rest of the world. Shown here, we have histograms for chlorophyla, PC, TSS,
Speaker 2: and SDOM from that globally distributed insitue data set, and
Speaker 2: these histograms show the wide range of different optical conditions
Speaker 2: we have represented in the data. So if we just
Speaker 2: look at the chlorophyl a histogram in the top left,
Speaker 2: we have about six thousand measurements and they span about
Speaker 2: four orders of magnitude, so it represents anywhere from aligotrophic
Speaker 2: to utrophic waters quite well. We also have about a
Speaker 2: thousand measurements of PA see in the top right. PC
Speaker 2: stands for phychocyanin, which is another pigment, but this pigment
Speaker 2: specific to cyanobacteria biomass potentially toxic algae. We only have
Speaker 2: about a thousand measurements of those, which can be a
Speaker 2: little bit limiting during training. We also have five thousand
Speaker 2: measurements of toll suspended solids shown on the bottom left,
Speaker 2: as well as colored dissolved organic matter shown on the
Speaker 2: bottom right, proxies for nutrient and carbon availability. These again
Speaker 2: represent a wide range of different values, showing a wide
Speaker 2: range of different combinations of these different biogeochemical parameters representative
Speaker 2: in our data set. Okay, so we have this large
Speaker 2: globally distributed data set. We know we want to use
Speaker 2: a machine learning model to be able to represent and
Speaker 2: retrieve estimates in globally distributed inland and coastal waters, so
Speaker 2: we have to choose a machine learning algorithm. Well, the
Speaker 2: algorithm that our group chose was termed mixture density networks,
Speaker 2: and I'll quickly go over that algorithm first. As input,
Speaker 2: we take the remote sensing reflectance or the ocean color signal,
Speaker 2: basically just the color of the water at the wavelengths
Speaker 2: for any specific sensor. Here it's shown for either Hiko
Speaker 2: or Prisma, so it's hyperspectral. This ocean color signal then
Speaker 2: goes through band ratio and multi spectral algorithms that typically
Speaker 2: work well for say, chlorophyl estimation, and these are then
Speaker 2: input into the standard weights of a neural network after
Speaker 2: going through a normalization phase where they're scale between negative
Speaker 2: one and one. What separates mixture density networks from typical
Speaker 2: machine learning algorithms is the output layer. This output layer
Speaker 2: is a set of Gaussians which represent the probability distribution
Speaker 2: function for any given output product, for example, chlorophyl a.
Speaker 2: These Gaussians have a mean standard deviation and probability associated
Speaker 2: with them, and when we use a combination function, we
Speaker 2: can select the most likely value of chlorophyll for the
Speaker 2: input ocean color signal instead of the average value, which
Speaker 2: is what typical machine learning algorithms do. We can also
Speaker 2: simultaneously estimate all of the different products that we're interested in,
Speaker 2: including chlorophyla if I assign an tss, and seedam, as
Speaker 2: well as the absorbing IOPs like absorption due to phytoplankton,
Speaker 2: seed on on and non algo particles. And again this
Speaker 2: is for those hyper spectral instruments, so product availability depends
Speaker 2: on the spectral availability. So I'm visually just going to
Speaker 2: try to show you why mixture density networks are well
Speaker 2: suited to solve the non unique inverse problem. On the
Speaker 2: previous page, I showed that we have this sort of
Speaker 2: typical network structure. The mixture density networks differ because they
Speaker 2: output a set of gaussians, and these Gaussians can be
Speaker 2: used to predict let's say the corfy a concentration, when
Speaker 2: there could be a wide range of different coorfol a
Speaker 2: concentrations for any input water color spectrum. So let's say
Speaker 2: we take a water color spectrum like the one shown
Speaker 2: in this graphic, and we run it through our mixture
Speaker 2: density network model. What does the output of Gaussians actually
Speaker 2: look like? So we take this water Coli spectrum in
Speaker 2: we have let's say a measured in situe corfyle a
Speaker 2: concentration shown as this black dashed line. We have a
Speaker 2: prediction from the Ocean color three band or algorithm shown
Speaker 2: as this dashed blue line. And we have a prediction
Speaker 2: from a standard machine learning algorithm shown as the dashed
Speaker 2: red line. Again, these standard machine learning algorithms typically learned
Speaker 2: to estimate the average of all possible values of coorfal
Speaker 2: concentration instead of the most likely value. We can then
Speaker 2: overlay the Gaussians as shown here that our output from
Speaker 2: the mixture density network. Each of these Gaussians again has
Speaker 2: a mean, standard deviation and probability associated with it, So
Speaker 2: we can select the Gaussian with the highest probability, take
Speaker 2: its median value, and estimate that and for this particular
Speaker 2: highly eutrophic region, that ends up having a better estimate
Speaker 2: that matches more closely with the institute chlorophyl a concentration
Speaker 2: represented by that dash black line than either the standard
Speaker 2: machine learning algorithm or the ocean color three algorithm. So,
Speaker 2: in summary, mixture density networks allow us to better solve
Speaker 2: this non unique inverse problem where there could be many
Speaker 2: different combinations of chlorophyl a, PC, TSS, and STAM concentrations
Speaker 2: for the same ocean color signal. Okay, so we have
Speaker 2: this really large data set and we've picked out a
Speaker 2: machine learning algorithm that we think is going to work
Speaker 2: really well for this reason. We can then do a
Speaker 2: fifty to fifty split from our insitu data, use half
Speaker 2: of the data for training and half of the data
Speaker 2: for validation, and then compare the results between our mixture
Speaker 2: density network and operational algorithms. And that's what's shown here.
Speaker 2: So on the y axis, we have the estimated chlorophyl
Speaker 2: a concentration from our algorithm applied to in situ remote
Speaker 2: sensing respect reflectance data that's been resampled with the sensor
Speaker 2: spectral response function in this case MSI, and we compare
Speaker 2: that to estimates from standard operational algorithms like the Gillerson
Speaker 2: two band algorithm or the blend algorithm. As you can
Speaker 2: see from this graphic, mixture density networks are able to
Speaker 2: achieve lower error, lower bias, higher slope, and lower root
Speaker 2: means square log difference over a wide range of different
Speaker 2: chlorophyl values. But this is in the idealized scenario where
Speaker 2: we're estimating based on institute data, where the MP has
Speaker 2: seen half that data, the actual accuracy when we apply
Speaker 2: it to satellite instruments is reduced. So shown here we
Speaker 2: have MSI matchups, so their same day matchups where MSI
Speaker 2: the sentinel to satellite or the imager on the Sentinel
Speaker 2: two satellite overpassed while the insitue chlorophyla concentration was being measured,
Speaker 2: and on the y axis you can see the MDN
Speaker 2: retrieve chlorpyla from MSI. We have very similar aerror metrics,
Speaker 2: where MDSA is the error that we saw previously. Previously,
Speaker 2: it was about twenty eight percent when we were looking
Speaker 2: on institute data, but once we start looking on satellite
Speaker 2: retrieve data, when we had to remove that atmospheric signal,
Speaker 2: the accuracy drops down to about ninety four percent. So
Speaker 2: that means that the residuals from atmospheric correction substantially reduced
Speaker 2: the accuracy. However, what we can see from this plot
Speaker 2: is that the MDN matchups still well represent really wide
Speaker 2: ynamic range from zero point one to about one hundred
Speaker 2: milligrams per meter cubed of chlorophyla, So this means it
Speaker 2: represents anywhere from very illigotrophic waters to very eutrophic waters,
Speaker 2: so do a good job capturing the full bloom life cycle.
Speaker 2: Shown on this page, we have MDM derived products for
Speaker 2: Lake Erie and we can see that they're spatially consistent.
Speaker 2: So the products you see in the bottom left are
Speaker 2: actually from OLCIE instead of MSI, so OLGA has more bands.
Speaker 2: We expected to do a little bit better in terms
Speaker 2: of product accuracy as well as atmosphere correction for these regions,
Speaker 2: and we're using it here just to look at the
Speaker 2: spatial consistency of our mixture density networks when applied to
Speaker 2: atmospherically corrected data. In the top left you can see
Speaker 2: the chlorophyl a concentration. Next to it the toll suspended sediments,
Speaker 2: and the bottom left absorption due to seedam and the
Speaker 2: bomb right like a cyanin, which again is a proxy
Speaker 2: for potentially toxic cyano bacteria, specially in the Let's see
Speaker 2: if we look at the chlorophyl a map in the
Speaker 2: top left, you can see the Detroit River plum which
Speaker 2: has really low concentrations of chlorophyl a. In the western
Speaker 2: section of the image is mau Mi Bay. You can
Speaker 2: see there's higher concentrations there. In the southernmost section you
Speaker 2: can see really high concentrations in Sandusky Bay. And specially
Speaker 2: this lines up with what we've seen historically from this region.
Speaker 2: We can also look at matchups with in situe measurements
Speaker 2: that were taken, so I won't cover that here, and
Speaker 2: in general they line up quite well. Not only can
Speaker 2: we produce products with our algorithms, we can actually also
Speaker 2: produce uncertainties. And these uncertainties demonstrate the mall's confidence in
Speaker 2: its own estimates. So spatially they're very consistent, they don't
Speaker 2: have dramatic artifacts, and they line up with what we've
Speaker 2: seen previously. But what happens when we take a temporal
Speaker 2: time series of these products? So I did that leveraging
Speaker 2: again ULCI, which has this fine spatial, spectral and temporal
Speaker 2: resolution combination, and shown here you can see a time
Speaker 2: series of a harmful elgal bloom which starts in Malmi
Speaker 2: Bay and interacts with the Detroit River plume. So right
Speaker 2: now it's march as it turns into April, May and June.
Speaker 2: This bloom starts to develop here it's interacting with the
Speaker 2: Detroit River plume, and then we can see it sort
Speaker 2: of reset again. So temporally we can see strong consistency
Speaker 2: in our products and actually see some hydrological interactions in
Speaker 2: these regions. So I was focusing on chlorophyl a, but
Speaker 2: we can also look at phyic a sign in which
Speaker 2: again is this marker for potentially toxic cyanobacteria, And you
Speaker 2: can see really high PC in the Sandusky Bay and
Speaker 2: Malmy Bay in the months of July and August, suggesting
Speaker 2: there might be cyanobacteria there. So now I'm going to
Speaker 2: jump to how stakeholders or users like yourselves can apply
Speaker 2: our models to preprocessed satellite imagery. The tutorials can be
Speaker 2: found in the QR code linked below. If you have
Speaker 2: any issues with it, you can also email me at
Speaker 2: the blow email. But just to give you a quick
Speaker 2: overview of what's going to be included in this demonstration, first,
Speaker 2: we will import some packages as well as functions from
Speaker 2: those packages, including specific functions from the MDN itself. We
Speaker 2: will then visualize pre corrected using Acolyte Oulchi imagery and
Speaker 2: learn how to plot those with some of our own functions.
Speaker 2: Will then retrieve the RS from this pre processed atmospherically
Speaker 2: corrected tile. These functions can work with acolyte or LtGen
Speaker 2: or even polymer. Will then generate predictions from the R,
Speaker 2: so we'll generate predictions for say tss or chlorophyl a.
Speaker 2: Then we can also generate uncertainties from these rs and
Speaker 2: visually look at them and analyze the imagery. And finally
Speaker 2: we'll do the same thing but for L two gen
Speaker 2: corrected pace imagery so that we can see some of
Speaker 2: the more advanced products. All right, now we'll jump into
Speaker 2: that tutorial. So now we'll present demonstration of our Jupiter
Speaker 2: Hub notebook called Leveraging Mature Dencity Networks to generate biogeochemical
Speaker 2: parameter and IOP maps. This is one of three that
Speaker 2: we have available. The first two cover generating products from
Speaker 2: institu measurements and generating uncertainties, and they take a little
Speaker 2: bit of a deeper dive into how these MDMs work.
Speaker 2: But today I thought I would present on how to
Speaker 2: generate product and uncertainty maps. This is often what users
Speaker 2: are most interested in. If you have any questions on these,
Speaker 2: you can email me a run or a cash directly.
Speaker 2: So the first thing we're going to do in section
Speaker 2: one is import the required packages and environment settings so
Speaker 2: we can run this first block of code. This imports
Speaker 2: the Python packages needed for the notebook. They're pretty standard
Speaker 2: packages like numpos, pathlib, zip file, and map plotlib for plotting.
Speaker 2: And then there's some packages that we've written ourselves as
Speaker 2: part of the MDM package, which is installed via the
Speaker 2: instructions at the QR code that you saw during the presentation.
Speaker 2: I won't go through those instructions here, but if you
Speaker 2: have any issues again, please email me. These specific MDN
Speaker 2: functions I'll briefly go through here, and I'll dive into
Speaker 2: their exact uses a little bit more as we get
Speaker 2: into the actual code. These functions include get sensor bands,
Speaker 2: which when you provide it with the sensor name for example,
Speaker 2: OLGI will get you the required bands for the MDN sensor.
Speaker 2: Get tile data pulls the bands as well as RRS
Speaker 2: data from a given tile path so that we can
Speaker 2: get the rs from a preprocessed net CDF download example
Speaker 2: imagery we wrote specifically for the Jupiter Hub notebook. It
Speaker 2: pulls data that we have already atmospherically corrected, so that
Speaker 2: users can run this notebook without having to do that
Speaker 2: atmosphere correction themselves. We have fined RGB image which pulls
Speaker 2: the red, green, and blue bands and outputs that which
Speaker 2: we can then use as input to the display set RGB,
Speaker 2: which displays the satellite's RGB image so that we can
Speaker 2: look at the image itself identify the aquatic regions and
Speaker 2: cloudy pixels and land pixels. We can also get tiled
Speaker 2: gear graphic info. This pulls the extent like Latin longitude
Speaker 2: for the given image. We can then run the RRS
Speaker 2: data that we pulled using gettile data through map cube
Speaker 2: MDN full, and then from those predictions that it gives
Speaker 2: from the MDN, we can overlay the RGB image and
Speaker 2: the DM products to get final maps for both uncertainties
Speaker 2: as well as the products. And this will make more
Speaker 2: sense as I jump into the examples. The next block
Speaker 2: of code that we run right here just sets the
Speaker 2: display parameters for map plotlib. I won't go into that
Speaker 2: in detail. In section two, we just download an ULGA
Speaker 2: image that again I've already atmospherically corrected. If you were
Speaker 2: to do this yourself. You'll have to provide your own
Speaker 2: atmospherically corrected data and just switch out the tile paths below.
Speaker 2: So here we're setting the sensor to OULCI and the
Speaker 2: date location just allow us to pull the direct example imagery.
Speaker 2: I've already downloaded that tile locally, so and it's displayed
Speaker 2: at this tile path right here. After running that, we
Speaker 2: can then display the RGB image using displays at RGB,
Speaker 2: and that image looks like this, which I'll go through
Speaker 2: in a second. It just takes as input the tile
Speaker 2: path and sensor. You can change the size of the
Speaker 2: figure as well as the title which we pull from
Speaker 2: the sensor and location and date that we specify previously,
Speaker 2: and it outputs the image as an RGB image which
Speaker 2: we can use for future algorithms. So this can serve
Speaker 2: as the base map for future functions that we've written.
Speaker 2: So if we just like a look at the RGB
Speaker 2: image itself, you can see that this is an image
Speaker 2: from OLHI of San Francisco Bay on March sixteenth, twenty nineteen.
Speaker 2: Let's see, this is the Pacific Ocean. You can see
Speaker 2: it's pretty blue, meaning it's probably dominated mostly by chlorophyll,
Speaker 2: probably has low concentrations of kss and sediment. As it
Speaker 2: moves into the San Francisco Bay, you can see it
Speaker 2: turns maybe greener, maybe there's higher concentrations of chlorophyll there
Speaker 2: and higher phytoplankton biomass. As you move up to the
Speaker 2: northern section of San Francisco Bay, a turns sort of
Speaker 2: a yellowy color, suggesting maybe there's higher concentrations of suspended
Speaker 2: sediment there from the Sacramento River in San Juaquan Rivers.
Speaker 2: And if we look at the southern section of the bay,
Speaker 2: you can also see these little areas which are either
Speaker 2: bright green or bright orange or bright yellow. And these
Speaker 2: are the salt flats which are separated from the bay.
Speaker 2: So there's a wide range of different optically distinct regions
Speaker 2: represented here in this image. You can also see some
Speaker 2: clouds in the bottom left. Okay, so we have the
Speaker 2: tile data, we have the RGB image. Now we can
Speaker 2: pull out the remote sensing reflectance data with this block
Speaker 2: of code using get tile data with the tile path
Speaker 2: specified and the sensor specified to OLG, it'll pull out
Speaker 2: the bands and r rs required by our MD prediction function.
Speaker 2: We can also use get tile geographic info from the
Speaker 2: tile path to get the lat, long and extent for
Speaker 2: the image, and then we can plot the RS data
Speaker 2: for this specific band, just for the first band, just
Speaker 2: to check that we plot the RS correctly. Indeed, we
Speaker 2: can see the RS is pulled out for all the
Speaker 2: aquatic regions and there aren't any RS pixels for land
Speaker 2: or clouds. Now that we have the RS data, we
Speaker 2: can move on to generating predictions from the NDN using
Speaker 2: our MDN cube or map cube MDN full function. So
Speaker 2: I'll run that while I just go through this funk.
Speaker 2: You can see it running in the bottom. You can
Speaker 2: mute this output though here we've included it just so
Speaker 2: you can see that it is running. So from the
Speaker 2: MDN package we can pull map cube MDN full as
Speaker 2: well as get ARGs. These allow us to map the
Speaker 2: model predictions and uncertainties and to find the arguments that
Speaker 2: select the correct model. So, for example, in keywords, here
Speaker 2: we set the sensor to OLCI, the products to chlorophyl TSS,
Speaker 2: and c doom, and we set the model UID, which
Speaker 2: is the name of the model weights that we actually use.
Speaker 2: You don't have to change that for now. If you
Speaker 2: have questions about setting the model UID for specific sensors.
Speaker 2: You can again message me after we run get arguments,
Speaker 2: which pulls the correct arguments for this set of keyword arguments.
Speaker 2: We can then run map cube MDN full on the
Speaker 2: arguments and rrs that we've already pulled, as well as
Speaker 2: the bands. There's a few different that we can set,
Speaker 2: like land mask, which we set to false year as
Speaker 2: we just use Acolytes land mask. There's also figure subsample,
Speaker 2: which allows us to subsample the image so we could
Speaker 2: reduce the spatial resolution. Basically, this might be useful if
Speaker 2: you want to plot an MSI image quickly and it
Speaker 2: has too high spatial resolution and it takes a little
Speaker 2: too long on your computer to run. We also have
Speaker 2: scaler mode set to invert. This doesn't need to be changed,
Speaker 2: but just basically puts the model uncertainty values into the
Speaker 2: same scale as the model predictions. Block size is set
Speaker 2: to ten thousand. This is one that you might want
Speaker 2: to change as this controls the size of the or
Speaker 2: the number of the rs that are processed at a
Speaker 2: single time, so reducing it allows you to run this
Speaker 2: on a personal laptop and increasing it allows you to
Speaker 2: run things faster if you have more RAM available, and
Speaker 2: the uncertainty mode is set to composite, so instead of
Speaker 2: providing uncertainty bounds like low and high uncertainty estimates, it
Speaker 2: just produces a single model uncertainty. All right, it looks
Speaker 2: like this ran in the time I took to explain it,
Speaker 2: and you can see the outputs for each block of
Speaker 2: ten thousand rs. Again, you can mute this if necessary,
Speaker 2: but it looks like it finished running. We can then
Speaker 2: from the model predictions as to plot graphics for chlorophyll
Speaker 2: as well as for kss and for seed on, and
Speaker 2: then we can start to visually sort of analyze these products.
Speaker 2: So these plots are created using overlay RGBMDM products, where
Speaker 2: we take the RGB image as input the model predictions
Speaker 2: which were output by the previous algorithm that ran our
Speaker 2: mature density network model. We pull all the two D
Speaker 2: information and we can pull this LCE that corresponds to chlorophyl,
Speaker 2: and how we change it is we just change from
Speaker 2: chlorophyl to TSS or to seedom depending on the product
Speaker 2: that we want to plot. For this chlorophyll product, we
Speaker 2: have this string here that gets set that we can
Speaker 2: use as the title, and we can put prediction ticks
Speaker 2: from ten to the zero to ten to the two.
Speaker 2: So these are in the log scale and we can
Speaker 2: also set the figure size and that produces these plots
Speaker 2: with the RGB image background and the MDM products overlaid. Okay,
Speaker 2: so we saw darker waters in the Pacific and that
Speaker 2: corresponds to lower concentrations of chlorophyll. That checks out. We
Speaker 2: saw these really bright salt flats again which have high
Speaker 2: concentrations of chlorophyl. That also sort of makes sense. And
Speaker 2: we see a little bit of slightly higher concentrations of
Speaker 2: chlorophyl in the northern section of San Francisco Bay and
Speaker 2: the Sacramento and San Jake and rivers generally tracks with
Speaker 2: hope we saw visually in the RGB imagery. We can
Speaker 2: also look at the total suspended solids map that we
Speaker 2: produced from that same image. If we follow this from
Speaker 2: the Pacific Ocean, you can again see lower concentrations in
Speaker 2: the Pacific, which makes sense with how we understand the region.
Speaker 2: Higher concentrations seeming like you know, coming out of the
Speaker 2: San Francisco Bay, and as you move into the northern
Speaker 2: section you see really high concentrations which came from these
Speaker 2: two rivers, which again tracks with our understanding of the region,
Speaker 2: and we can do the same thing for SEAEDOM, where
Speaker 2: again you see lower concentrations in the Pacific Ocean and
Speaker 2: higher concentrations in the northern section of this bay. Not
Speaker 2: only can we get the products, but we can also
Speaker 2: visualize uncertainties again using this overlay RGB MDM products function.
Speaker 2: But now we just also set the image uncertainties using
Speaker 2: the output model uncertainties for the corresponding slice, for example,
Speaker 2: chlorophyll in this example, so we can run that for
Speaker 2: chlorophyl TSS as well as SEDOM, and we can start
Speaker 2: to see the model's confidence in its own predictions in
Speaker 2: the same space as the chlorophyl a predictions itself, so
Speaker 2: you can see the regions where there's higher uncertainties. Often
Speaker 2: you'll see some of these higher uncertainties in your cloud
Speaker 2: or maybe some of the atmosphere correction failed and in
Speaker 2: the really high concentration chlorophyl estimates in these salt ponds,
Speaker 2: which generally tracks with what we would expect for this region. Finally,
Speaker 2: we can move on to section six, where we're generating
Speaker 2: predictions from hyper spectral pace slash oci imagery. We can
Speaker 2: again just download some example imagery for a day where
Speaker 2: I've already corrected this imagery from an image of Lake Erie.
Speaker 2: Then we can display this RGB image from the pace
Speaker 2: image that we've again already atmospherically corrected. You can see
Speaker 2: it has darker waters in the eastern section, brighter waters
Speaker 2: in the western section in Sandusky Bay, which again tracks
Speaker 2: with our understanding of this region, and again lower brightness
Speaker 2: from the Detroit River plumb. We can then do all
Speaker 2: of the same functions or use all the same functions
Speaker 2: that we used previously, like get tile data, get the
Speaker 2: tile geographic info to get the r RS and lat
Speaker 2: long plot the RRS, and then use map cube MDN
Speaker 2: full on that RRS to get model predictions uncertainty as
Speaker 2: well as the slices. So I'll run that in the
Speaker 2: background here and again you can see it running with
Speaker 2: this process bar that'll run in the backround. But we
Speaker 2: can already look at some of the visual imagery that
Speaker 2: I've produced previously. In the top here you can see
Speaker 2: mgns made for chlorophyl A, PC, TSS and c DOM.
Speaker 2: So this hyperspectral algorithm allows us to pull out additional
Speaker 2: products like fecacyanin as well as more advanced products like IOPs,
Speaker 2: which you can see in the bottom, but spatially, I
Speaker 2: can just quickly go through what we expected to see,
Speaker 2: where you can see lower concentrations in the Detroit River
Speaker 2: plume and the eastern section of Erie, and higher concentrations
Speaker 2: in Malmi and Sandusky Bays. For PC, this is in May,
Speaker 2: so you'd expect there to be lower concentrations of pyc
Speaker 2: asyanin as these harmful albablims if not started yet, and
Speaker 2: you can again see that in most of this image,
Speaker 2: though there's a little bit of higher concentrations in Malmi Bay.
Speaker 2: You can see similar spatial distributions for TSS as well
Speaker 2: as SEEDM. We can also look at the more advanced
Speaker 2: products like absorption due to phytoplankton non algo particles as
Speaker 2: well as seed DOM. Shown here is mdnesimate at aph
Speaker 2: at four hundred and fifteen animeters four pace. You can
Speaker 2: also see a different way of length like four ninety
Speaker 2: five point fifty six twenty This one often corresponds to
Speaker 2: cyanobacteria and six hundred and seventy and we can also
Speaker 2: look spectually at absorption due to seedam or we've just
Speaker 2: plotted fourteen animeters four ninety five, sixty six fifty and
Speaker 2: six seventy five, and we did the same thing for
Speaker 2: non algal particles. So you can see that with this
Speaker 2: hyperspectral data we're able to represent a wide range of
Speaker 2: additional products. Thanks for listening to my demonstration. I'll be
Speaker 2: happy to field any questions you might have during the
Speaker 2: question answer period after a NTA provide some summary information. Thanks.
Speaker 1: Thank you very much Ryan for your excellent presentation and
Speaker 1: demonstration of the code, and also for sharing the code
Speaker 1: with everyone. That brings us to the close off today's session.
Speaker 1: To summarize, we started with an overview of preprocessing top
Speaker 1: of atmosphere radiances from satellite images. We would start with
Speaker 1: level one satellite data. We saw that there are several
Speaker 1: data portals where different satellite and sensor level one data
Speaker 1: are available. Then get atmospherically corrected level two remote sensing
Speaker 1: deflectancies from the data, and these remote sensing reflectancies can
Speaker 1: be used as inputs to the MDN models. Then OSHA
Speaker 1: provided an overview and demonstration of using md AND models
Speaker 1: to derive water quality parameters. Specifically, the models are trained
Speaker 1: using a large globally distributed data set of INC two
Speaker 1: water quality measurements and colocated hyperspectral measurements from a wide
Speaker 1: range of optically complex regions and sharing many of these
Speaker 1: samples with Gloria data. The MDN approach is well suited
Speaker 1: for addressing non unique inverse problems like ocean color remote
Speaker 1: sensing due to its output layer. The models retrieve key
Speaker 1: water quality parameters depending on spectral availability, including chlorophyl a,
Speaker 1: total suspended solids, colored dissolved organic matter, and phycosyanin, along
Speaker 1: with their associated uncertain Similar models were developed to support
Speaker 1: multiple multi and hyperspectral satellite images including MOTIS Weirs, Lancet
Speaker 1: eight and nine, ONLY, Sentinel two, MSI, Sentinel three, OLG,
Speaker 1: and base OCI. This brings us to the conclusion of
Speaker 1: this webinar series. To summarize, we started with an overview
Speaker 1: and demonstration of the satellite based Tool for Rapid Evaluation
Speaker 1: of Aquatic Environments or stream Webtool and API. In part one,
Speaker 1: we saw how to map water quality parameters including chlorophylate concentration,
Speaker 1: total suspended solids, and siky disk depth. The data are
Speaker 1: available from twenty twenty four to near real time in
Speaker 1: coastal estuaries and inland lakes across the US at twenty
Speaker 1: to thirty meters special resolution and these data are derived
Speaker 1: from Lancet eight and nine and Sentinel two A, two
Speaker 1: B and to C imagery. We saw how to search
Speaker 1: and download water quality products using the stream webtool and API,
Speaker 1: and then we examine time series of water quality parameters
Speaker 1: in the region of interest using QGIS. Today in part two,
Speaker 1: we had an overview and demonstration of the aquower's algorithm.
Speaker 1: So introduction to the md and models to derive water
Speaker 1: quality parameters and access an application of md AND based
Speaker 1: model code to retree water quality parameters. Finally, stream webtool
Speaker 1: and API and the MDEN code are all open source
Speaker 1: and you can download and use the code as we
Speaker 1: saw today from doctor Roche. There is one homework assignment
Speaker 1: and it's posted on the training webpage today. Answers must
Speaker 1: be submitted by Google Forms and the homework is due
Speaker 1: on tenth March. Certificate of completion will be awarded to
Speaker 1: those who attended all live webinar sessions. Would complete the
Speaker 1: homework assignment by the deadline and then you will receive
Speaker 1: a certificate via email approximately two months after completion of
Speaker 1: the course. Once again, we thank our guest speakers, William
Speaker 1: Wainwright and Ryan O'Shea for their presentations and demonstrations describing
Speaker 1: how what quality parameters are derived from remote sensing and
Speaker 1: then making these data available through stream website. Trainer's contact
Speaker 1: information is provided here and you can always contact our set.
Speaker 1: Our set website and our set YouTube link are given here.
Speaker 1: All the training materials this training and previous trainings material
Speaker 1: can be found here. For questions, comments, or to share
Speaker 1: how you have applied our trainings to your work or studies,
Speaker 1: email NASA dot r set at gmail dot com. Join
Speaker 1: our quarterly newsletter to stay up to date on our
Speaker 1: latest trainings and the steps are given here. Just send
Speaker 1: an email with no subject line to this email address
Speaker 1: and follow the instructions sent in response. Here are some
Speaker 1: useful resources. And with that we thank you all for
Speaker 1: attending today's session and we will go to the question
Speaker 1: and answer session. Now we'll start with the question and
Speaker 1: answer session, and once again we thank our guest speakers,
Speaker 1: William Wainwright and doctor Ryan O'she. We'll start with question one,
Speaker 1: how much does special resolution affect the processing time of
Speaker 1: the MTN? And you can mute and answer the question, all.
Speaker 2: Right, thanks. I'd say most of the variability comes from
Speaker 2: the number of aquatic pixels in the given image. So
Speaker 2: for the same area, MSI, if you're using it at
Speaker 2: the ten meter spatial resolution, would have almost you know,
Speaker 2: nine hundred times more pixels than say, OCHI at three
Speaker 2: hundred meter resolution and therefore take that much longer to process.
Speaker 2: But really it's a function of the number of available
Speaker 2: aquatic pixels.
Speaker 1: Great, thank you. Next question is what is the difference
Speaker 1: between PC and TSS. Yeah.
Speaker 2: Sure, PC is defined on slide twenty in the presentation.
Speaker 2: It stands for phytocyanin fyight. A sigin is a pigment
Speaker 2: that is specific to cyanobacterial biomass, which is a potentially
Speaker 2: toxic algae, and TSS stands for total suspended solids. These
Speaker 2: can be things like sand which has been suspended in
Speaker 2: the water column.
Speaker 1: Next question, is there any reason to select fifty to
Speaker 1: fifty training and validation data set? We usually considered eighty
Speaker 1: twenty or seventy thirty.
Speaker 2: Sure. We have a long response to this question in
Speaker 2: the Q and A document, but the short answers to
Speaker 2: ensure statistically robust and representative validation across the range of
Speaker 2: observed conditions, so we adopted this fifty to fifty split.
Speaker 2: We have a pretty large data set, so we're able
Speaker 2: to split it and get you know, robust validation metrics. Additionally,
Speaker 2: this is really are idealized aerometric I guess that we're
Speaker 2: reporting here. We have multiple other ways of testing these algorithms.
Speaker 2: One of them is a regional split where we'll split
Speaker 2: the data regionally, so we'll train on everything except for
Speaker 2: one region and test it in that region and then
Speaker 2: report the aerometrics there to get an out of training
Speaker 2: data set estimate that usually has like fifty uncertainty or residuals.
Speaker 2: And then the second way, which I showed here today
Speaker 2: was we'll also try to get matchups with the satellite
Speaker 2: sensor for the probably most realistic error metric of what
Speaker 2: you'll actually see from satellite imagery.
Speaker 1: Thank you, Rian. Question for is just to be sure
Speaker 1: stream uses day radiances for satellites as input to the
Speaker 1: md and model to derive water quality parameters.
Speaker 2: Sure, so stream actually has two different mDNS. One MDN
Speaker 2: retrieves the remote sensing reflectance or ocean color from the
Speaker 2: tay radiance, and then we actually have a second MDM
Speaker 2: that retrieves what our quality parameters from the remote sensor
Speaker 2: reflectants or ocean colors. So most of what we've published
Speaker 2: so far has been on that second MBM where we
Speaker 2: try to retrieve these water quality parameters, you know, things
Speaker 2: like corphyl ATSs SECU to step from the RS. But
Speaker 2: we are rapidly trying to get out a publication to
Speaker 2: retrieve the RS from the ta radiances as well, and
Speaker 2: we expect in the next I guess six months to
Speaker 2: have that MDN available online. But we'll keep you posting.
Speaker 1: Great thank you for that reply, and if you go
Speaker 1: back and see some trainings that our set did. In
Speaker 1: those trainings see dos orcss W have been used. That's
Speaker 1: also NASA software and soon a COOWERS will be available
Speaker 1: as well. Question five. The ms I scatter plots show
Speaker 1: a classic pteroctcit pattern of residual Sorry, there are stepatistical
Speaker 1: corrections that can account for this and provide better predictions.
Speaker 1: Has anyone tried that residuals are clearly a function of
Speaker 1: the X variable.
Speaker 2: So this isn't exactly my area of expertise, but somebody
Speaker 2: else in my group wrote a response which I will
Speaker 2: read here. The MSI scatterplot should not be interpreted in
Speaker 2: the classical regression sense. In this case, the x axis
Speaker 2: does not represent an independent predictor variable upon which the
Speaker 2: y axis depends. Mal predictions are generated from the input rs,
Speaker 2: whereas the x axis represents independent in situe measurements solely
Speaker 2: for validation, we acknowledge the presence of systematic bias and
Speaker 2: range dependent error behavior in certain portions of the dynamic
Speaker 2: range or the water quality variables. These trends are consistent
Speaker 2: with the headerosydastic characteristics of the data set and are
Speaker 2: an active area of ongoing mind refinement.
Speaker 1: Thank you. My question six is as what is temporal
Speaker 1: resolution is higher than lensor sentinel. Is there a way
Speaker 1: to use it as a support tool that works whenever
Speaker 1: there are clouds or glint effects and getting a higher
Speaker 1: amount of images.
Speaker 2: Yeah, So this is again another like active area of research.
Speaker 2: How do we harmonize between these different satellite sensors and
Speaker 2: combined together their outputs. So one thing we tried to
Speaker 2: do with these mixture density networks was apply them to
Speaker 2: the available satellites that we had access to. And I
Speaker 2: showed in one of the earlier slides all of the
Speaker 2: different satellites that we do have MDMs that we that
Speaker 2: support these different satellite sensors. These MDMs are trained on
Speaker 2: similar data sets, but you know, each of these sensors
Speaker 2: does have different spectralaracteristics. So what we end up seeing
Speaker 2: is that these mDNS generally produce pretty harmonized retrievals for
Speaker 2: the different products, including chlorophyll, between the different sensors. However,
Speaker 2: long term, we're trying to attempt to further improve harmonization
Speaker 2: between these sensors, specifically Landsat, Sentinel two and Sentinel three
Speaker 2: by leveraging even more advanced machine learning models. So I
Speaker 2: guess the short answer to that question is yes, you
Speaker 2: certainly can use our models to fill in and build
Speaker 2: time series, and we're trying to improve that in the future.
Speaker 2: Thank you.
Speaker 1: Question seven, Can planet data be used for MDN or
Speaker 1: is among the coming soon?
Speaker 2: Yeah? Actually, we do have an MDN available for chlorophyla
Speaker 2: and psyche de step from Planets super Dove. I provide
Speaker 2: a link in the Q and a text. However, it's
Speaker 2: not currently supported as part of the tutorials are GitHub.
Speaker 2: We do plan to addit soon, probably in the next
Speaker 2: month or two. As we are rapidly adding in these
Speaker 2: additional sensors that we have models for but aren't quite
Speaker 2: supported by the tutorials just yet. So feel free to
Speaker 2: email me and when we push the updates to our
Speaker 2: GitHub I can, I can send an email.
Speaker 1: Back wonderful, Thank you Rian. Our next question is have
Speaker 1: the md and results been compared with the detard products
Speaker 1: from Echolite.
Speaker 2: I'm not sure exactly what algorithm Accolte uses, but I
Speaker 2: guess the short answer to this question is no, we
Speaker 2: haven't done that direct comparison. We have done comparisons to
Speaker 2: other operationally available algorithms where we download the products from websites,
Speaker 2: like the Ocean Color V four algorithm, as well as
Speaker 2: cyan four regions where we have a lot of insitue
Speaker 2: data like Lake Erie and the Chesapeake Bay. And in
Speaker 2: general we've seen the mdn's outperform these algorithms across the
Speaker 2: wide dynamic range that's represented, particularly in Lake Erie. So
Speaker 2: for bluem formation in particular, they're they're quite robust.
Speaker 1: Next question is can this code be used anywhere? Do
Speaker 1: we have to change the input which depends on the
Speaker 1: zone that we study.
Speaker 2: Short answers, Yes, it can be used anywhere. The model
Speaker 2: only relies on r rests or the remote sensing reflectants
Speaker 2: the ocean color signal as input, so it can be
Speaker 2: used in any region. There aren't any other inputs.
Speaker 1: Question ten. Currently, I'm working on estimating TSS using surface
Speaker 1: reflectance data since high TSS in institute data are not
Speaker 1: available for training. My model predicts low TSS well used
Speaker 1: during extreme events, even though I know the actual TSS
Speaker 1: consultations should be much higher than the estimates. Could you
Speaker 1: please suggest how to address this issue.
Speaker 2: Let me think about that one for a second. In
Speaker 2: this case, or the TSS being estimated from the MDN
Speaker 2: and I guess how high is high for the TSS values.
Speaker 2: The short answer I guess is that if you did
Speaker 2: have high TSS values with RS available, you could potentially
Speaker 2: either retrain the MDN or apply a transfer learning approach
Speaker 2: where you take the MDN that we have in the
Speaker 2: industry retrain some of the later layers using this institute data. Yeah,
Speaker 2: I think that would probably be the best approach.
Speaker 1: So Ran, would you say that because this was trained
Speaker 1: MDN was trained with like a large range of values,
Speaker 1: we may perform better than other ritual schemes for DSS.
Speaker 2: I would expect to perform pretty well for the region
Speaker 2: or for the concentration ranges that we have available, but
Speaker 2: not necessarily outside of that. We do have limited data
Speaker 2: at the higher ends, so that might be a limitation
Speaker 2: for accuracy.
Speaker 1: Thank you. Question eleven, is it possible to find tune
Speaker 1: MD and using incito data?
Speaker 2: Yeah, that's what it builds off that last question. The
Speaker 2: short answer is yes, it is possible, particularly using transfer learning.
Speaker 2: I think we've tried that in our lab before. I
Speaker 2: do think we have some code for it. We don't
Speaker 2: currently support that via tutorials, but if you send me
Speaker 2: an email, we can set up a video conference or
Speaker 2: something and we can discuss how to do this yourself.
Speaker 1: Great. Thank you Ryan. Question twelve, the uncertainty map seem
Speaker 1: to look very similar to the water quality maps. High
Speaker 1: not wqu estimates equal high uncertainty. Does that mean that
Speaker 1: the model can be less reliable at higher values?
Speaker 2: I guess I'd say that the bulk value of uncertainty
Speaker 2: is higher for higher values, and we can use relative
Speaker 2: uncertainty or percentages to identify outliers in terms of prediction performance.
Speaker 1: Next question is can uranium contamination in surface water be estimated.
Speaker 2: I don't have any experience with mapping uranium contamination, and yeah,
Speaker 2: I don't think we've used that previously or our seen
Speaker 2: data from that.
Speaker 1: Question four is do you have any guidance or recommended
Speaker 1: sources resources for reprocessing the RS inputs? Specifically, I'm interested
Speaker 1: in MSI and only.
Speaker 2: Yes, so the I guess atmosphere corrections that from our
Speaker 2: experience we've seen work well in neutrophic waters is ACCOLAI
Speaker 2: and more oligotrophic waters is ltgener CDs. Also coming soon,
Speaker 2: we are producing our own in house aquaverse atmosphereic correction method.
Speaker 2: We are working on paper for that and should have
Speaker 2: that out in the next sort of six months, so
Speaker 2: stay turned.
Speaker 1: Next question is the simple dataset histogram shown earlier. What
Speaker 1: is the temporal range and the special extent of the data?
Speaker 2: Sure, it's similar to that of the Gloria database. We've
Speaker 2: taken Gloria database and sort of extended it with our
Speaker 2: own situ data as well. I'm not sure exactly on
Speaker 2: the temporal range, but much of the data is from
Speaker 2: the last twenty years and spacially most of the data
Speaker 2: from that map I showed. I don't know the slide number,
Speaker 2: but I do have that graphic where it shows about
Speaker 2: eighty percent of the data is from North America and
Speaker 2: Europe and maybe twenty percent is from the rest of
Speaker 2: the globe. We are trying to build that out. If
Speaker 2: if you have data set from underrepresented regions, we'd be
Speaker 2: happy to incorporate that into future versions of the MDN model,
Speaker 2: and theoretically that would improve the mdn's retrievals in those regions.
Speaker 2: So again, yeah, feel free to send me an email
Speaker 2: message if you're interested in that.
Speaker 1: Thank you. Next question, is there a new atmospheric correction
Speaker 1: embedded in the MDN. Do you suggest just starting with
Speaker 1: L two data.
Speaker 2: Yeah, that's correct, So the mdians that are available on
Speaker 2: the GitHub tutorial right now just start from the level
Speaker 2: to data, so i'd recommend something like L two gen
Speaker 2: or acolyte. Again, we are working on developing in house
Speaker 2: atmospheric correction models. We have some that work really well,
Speaker 2: but we have to get those publications out and then
Speaker 2: we can add those to the GitHub tutorials. We're planning
Speaker 2: to do this in advance of Ocean Optics, which is
Speaker 2: in I believe September, where we'll host a tutorial there.
Speaker 1: Next question, is it possible to apply these models to
Speaker 1: earlier versions of landsets, such as landset five or seven.
Speaker 1: What would be the limitations?
Speaker 2: Let me think about that for a second. I think
Speaker 2: we and somebody from my group can correct me if
Speaker 2: I'm wrong. I believe we have applied some of these
Speaker 2: models for SECI distep retrieval from landset five and them,
Speaker 2: but I don't think we've done that for corpyl A
Speaker 2: or TSS, so I'm not sure if we've explored that fully.
Speaker 2: I'm not sure how the SNR for these sensors would
Speaker 2: support retrieval of corpolate products, but that's definitely something we'd
Speaker 2: be interested in exploring.
Speaker 1: Thank you. Next question is are there any matchup studies
Speaker 1: for MD and base predicted, TSS and HL.
Speaker 2: Not published? However, we are doing that in house. We
Speaker 2: are funded as part of the PACE Science and Applications team.
Speaker 2: We are working on one such publication where we have
Speaker 2: matchups for corfy A and fykasionin across oligotrophic waters in
Speaker 2: the US that I don't know, hopefully will be out
Speaker 2: in the next year. And then also we have an
Speaker 2: in house validation data set from the PACE validation team,
Speaker 2: and those seem to do really well when compared to
Speaker 2: OCV four in more again utrophic inlandic coastal waters. So
Speaker 2: short answer is, yes, we've done these studies, but they're
Speaker 2: not published yet.
Speaker 1: Thank you. Next question, what is the accuracy of the
Speaker 1: md AND network?
Speaker 2: You know, that's a difficult question to answer because there's
Speaker 2: a few different accuracies that you can report, and for
Speaker 2: multiple different satellite sensors, so it really depends on the
Speaker 2: satellite sensors spectral capabilities as well as it's SNR the
Speaker 2: accuracy of the atmospheric correction, and you know, if you're
Speaker 2: applying with this algorithm to institute rs without any atmospheric correction,
Speaker 2: or if you're applying it to satellite imagery, if you
Speaker 2: are interested in the accuracy for specific sensors, we have
Speaker 2: a wide range of publications that are cited in the
Speaker 2: tutorials at the bottom. You can look through those, and
Speaker 2: in general we try to publish the accuracies in each
Speaker 2: of those different scenarios for the different sensors that we support.
Speaker 1: Thank you. Next question, is there a reason why you
Speaker 1: did not compare with other available machine learning algorithms?
Speaker 2: Yeah, I guess typically we try to compare with the
Speaker 2: sort of more operationally available algorithms, and we've generally focused
Speaker 2: on those. We'd be happy to compare against the other
Speaker 2: machine learning out agorithms if there's any specific one that
Speaker 2: you're interested in with any data so we might have.
Speaker 1: Thank you, Brian. Question twenty one is the same network
Speaker 1: used for all sensors.
Speaker 2: So for the multi spectral instruments, we typically try to
Speaker 2: use the same MDN network architecture with the same number
Speaker 2: of layers and neurons. However, when we move to hyper
Speaker 2: spectral sensors like EMIT, Prisma, and pace, we had to
Speaker 2: increase the number of neurons for the larger amount of
Speaker 2: inputs as well as outputs because now we were inputting
Speaker 2: hyper spectral data and we're outputting more complex products like
Speaker 2: absorption due to phytoplankton, which is spectually variable. So we
Speaker 2: have something like fifty inputs and seventy outputs. So the
Speaker 2: short answer is for the multi special instruments, yes, it's
Speaker 2: very similar. For hyper spectral we had to increase the
Speaker 2: number of neurons in the network. We use MDS for both. Sorry, yeah, yeah.
Speaker 1: So next question is I didn't understand that one MD
Speaker 1: in redevese rrs for iop ocean color properties, and the
Speaker 1: second MD and retrieves water quality parameters. Isn't it support
Speaker 1: supposed to be the same.
Speaker 2: Yeah, So for each sensor, there's they have different spectra
Speaker 2: that are supported. So for the multi spectral instruments, typically
Speaker 2: what we retrieve ischlorophy a, TSS, and c DOM, also
Speaker 2: pechey dis deep sometimes for the models that we support.
Speaker 2: But for the hyper spectral instruments, we started adding in
Speaker 2: the IOPs as well. So not only do we retrieve
Speaker 2: chlorophy a, TSS, and on, but we also simultaneously retrieve
Speaker 2: of absorption due to phytoplankton, color, dissolved organic matter, and
Speaker 2: non alcohol particles. Yeah. So it depends on the sensor
Speaker 2: which products we currently support if they do retree of
Speaker 2: them simultaneously.
Speaker 1: Next question is which bands are the network using for
Speaker 1: chlorophylla and the other parameters.
Speaker 2: Yeah, again, it depends very much on the sensor that
Speaker 2: we're talking about. Typically we try to keep the bands
Speaker 2: in the I believe it's four hundred and fifteen nanimeter
Speaker 2: to about seven hundred and fifteen animeter range that varies
Speaker 2: a little bit. Sensor to sensor. The exact way of
Speaker 2: lengths can be found in the tutorials using the get
Speaker 2: sensored bands function for the specific sensor, but we try
Speaker 2: to use all the bands in that range typically.
Speaker 1: Next question is is there a document that lists the
Speaker 1: water bodies where the India is trained and validated.
Speaker 2: There's an individual document. However, we do have again a
Speaker 2: wide set of publications available. These are cited at the
Speaker 2: bottom of our tutorials and in each one of those
Speaker 2: publications we go through very similar training where we do
Speaker 2: the fifty to fifty split. Sometimes we do a regional
Speaker 2: split as well, and then finally we try to do
Speaker 2: a matchup analysis for each one of the sensors, and
Speaker 2: in that we shall also talk about we do also
Speaker 2: talk about the sort of spatial distribution of that data.
Speaker 1: The next question is is there can it distinguish between
Speaker 1: oil spills and habs or oceans.
Speaker 2: We don't have experience using these MDMs for distinguishing between
Speaker 2: oil spills and habs. Okay.
Speaker 1: The next question is how to NASA Ocean Color and
Speaker 1: inland water Quality algorithms manage seasonal spectral shifts caused by
Speaker 1: monsoon driven trabid t seedom variations and changing solar geometry
Speaker 1: without introducing systematic bias in long term time series.
Speaker 2: Let me think about that one for a second. Yeah,
Speaker 2: I think this is a really good question. I think
Speaker 2: I'd have to think on it a little bit before
Speaker 2: providing an answer. I'll try to do that over the
Speaker 2: next week and get back to it.
Speaker 1: Great, Thank you so much. The next question is why
Speaker 1: was the NC two chlorophyl A data from USGS, which
Speaker 1: covers the United States not used.
Speaker 2: Let's see does that data set include r rs as
Speaker 2: well as colorful A. If so, we'd be happy to
Speaker 2: add it in. I'm not entirely sure if yeah, If
Speaker 2: it does include rs, we'd be happy to add it
Speaker 2: in when we retrain these models. If it is just
Speaker 2: coreful A, probably have pulled some of that data for validation,
Speaker 2: but we can't use it for training with the MDM
Speaker 2: since they require the RS as input.
Speaker 1: Question eight, does stream recommend regional recalibration of retrieval algorithms
Speaker 1: or does it rely on globally parameterized models with deviation
Speaker 1: correction layers.
Speaker 2: We do not currently recommend regional recalibration of these algorithms. Usually,
Speaker 2: what we would like to do is just keep adding
Speaker 2: in more and more data globally. So again, if you
Speaker 2: have in siture data with RS and the parameter of
Speaker 2: interest and you're willing to share it, please send me
Speaker 2: an email and we'd be happy on future model updates
Speaker 2: to include that data, which theoretically should increase the accuracy
Speaker 2: of the model for that given region. Yeah, the model
Speaker 2: is globally trained. We don't deviate at all based on
Speaker 2: the region, so the same model gets applied just to
Speaker 2: the RS no matter what region we're in.
Speaker 1: Thank you. Next question, Can the NDN models be used
Speaker 1: for volatile and non volatile compounds as part of water
Speaker 1: quality predictions in the case of nitrates, phosphorates, am monco,
Speaker 1: nitrates and other ions, could MDN be used if yes?
Speaker 1: In general in general practice, how many incituo observations are
Speaker 1: we looking here to train md IN models?
Speaker 2: Oh? I see the MDN can only be used for well,
Speaker 2: I guess the md and from the satellites with multi
Speaker 2: spectral or hyperspectual data and visible and urinef red range
Speaker 2: can only be used for products that change the ocean
Speaker 2: color signal if you have RS with different concentrating. I
Speaker 2: don't know specifically how these different compounds change the ocean
Speaker 2: color signal or if they do interact. If you do
Speaker 2: have a data set of RS with different concentrations of
Speaker 2: these different products and they do change it, then we
Speaker 2: could try to train an MDM to do that for
Speaker 2: how many institue observations? Again, that sort of depends, but
Speaker 2: I guess we've used in practice as little as a
Speaker 2: thousand samples to train our PC models, so that represented
Speaker 2: a wide range of different flectasign and concentrations pretty well,
Speaker 2: but I don't know if we've looked at an exact minimum.
Speaker 1: Next question, can mbian model run on wetland water quality monitoring?
Speaker 2: Let me think about that for one second. If the
Speaker 2: wetlands are optically deep, meaning that we can't see the
Speaker 2: bottom reflectance, then theoretically I believe they should work just
Speaker 2: as well for retrieving CHLOROPHYLA or TSS. However, if you
Speaker 2: can see the bottom reflectance, that is going to change
Speaker 2: the ocean color signal or the signal by these atmosphere
Speaker 2: correction algorithms, And we really haven't tested the model in
Speaker 2: these regions, thank you.
Speaker 1: Our next question is should input LTO data be gritted
Speaker 1: before using the MDN or does it not matter.
Speaker 2: One second? Now I think the answer is no, it
Speaker 2: doesn't matter. It doesn't have to be gritted. Yeah, the
Speaker 2: MDN just takes as input the remote sense and reflectance
Speaker 2: in basically an array. So as long as you can
Speaker 2: get it into the format similar to that that's applied
Speaker 2: in the tutorials, you should be good.
Speaker 1: Thank you so much. It looks like there's a lot
Speaker 1: of interest and we had a lot of great questions.
Speaker 1: We will be posting our Q and A documents on
Speaker 1: the training website in a week or so for both
Speaker 1: the sessions. Okay, I think there's one more question. How
Speaker 1: was the RS obtained for gloria and other data sets
Speaker 1: used where they downscale from any satellite data to the
Speaker 1: location of the sample site? If so, can I do
Speaker 1: similarly for my institute data sets, which only have glorophyll a.
Speaker 2: Sure, so the Gloria data set and we actually use it,
Speaker 2: you know, an augmented version of that, but it has
Speaker 2: very similar properties, has hyperspectral RRS and a few different
Speaker 2: in situ products, including chlorophyla. We take that hyperspectral RS
Speaker 2: and resample it with the sensors relative spectral response function
Speaker 2: and then we train the models using that resampled RS.
Speaker 2: You could do that with your own insert your data
Speaker 2: set if you have chlorophyla with RRS. If you only
Speaker 2: have chlorophyll a, you wouldn't be able to reach OT.
Speaker 1: I'm currently working on a coastal water quality study area.
Speaker 1: This area covers a small region and I want to
Speaker 1: use Stream, but Stream does not support this area with data.
Speaker 1: What can I do?
Speaker 2: You can email us. We are trying to support users
Speaker 2: that are interested in using our products. We do have
Speaker 2: some processing limitations that we're trying to work through, but
Speaker 2: if you email us, we can try to add a
Speaker 2: specific tile in that you might be interested in.
Speaker 1: That's fantastic, Thank you so much. Are these data exsible
Speaker 1: and Google attentionIn?
Speaker 2: No, we have not included these data and Google or
Speaker 2: if engineer. We do not currently have plans to.
Speaker 1: Hello, I'm from Mexico and I would like to use
Speaker 1: this tool in my country, but I saw it's only
Speaker 1: available in the US. Can be the possibility that we
Speaker 1: can use in Latin America? Sure?
Speaker 2: Again? Yeah, I feel free to email me if there's
Speaker 2: a specific site that you're interested in, and we can
Speaker 2: try to add that to Stream. Again. We do have
Speaker 2: some processing limitations, but if it's only one side should
Speaker 2: be able to do that if you're talking about stream,
Speaker 2: if you're talking about the mDNS themselves.
Speaker 1: We do have data.
Speaker 2: From again around the globe and we've used that in training.
Speaker 2: As long as you have RS data from satellite, using
Speaker 2: the tutorials that I showed here today, you should be
Speaker 2: able to produce your own product maps for that region.
Speaker 2: We're also as part of the land sat science team,
Speaker 2: we're also adding in data from some Latin American countries,
Speaker 2: including Mexico, and trying to validate our algorithms in these regions.
Speaker 1: This is one of the last questions we can take.
Speaker 1: In highly turbid Indonesian tropical river systems such as the
Speaker 1: Cupuas and Mahakam in Calimantan, where seed dom and suspended
Speaker 1: sediments are both elevated, how does the md AND handle
Speaker 1: spectral ambiguity between chlorophy a and si dom absorption in
Speaker 1: blue bends.
Speaker 2: Sure, so, we typically treat the MDN more as a
Speaker 2: black box. We don't really go into like the layers
Speaker 2: to see how it is span chlorophyll and seed dom.
Speaker 2: But you know the way it works is it's a
Speaker 2: empirical algorithms. So we have again a large data set
Speaker 2: with a wide range of chlorophy a, c DOM TSS
Speaker 2: values represented. So if we have similar chlorophyl a and
Speaker 2: seed dom combinations, we would expect it to perform relatively well.
Speaker 2: If we don't, it might not. But then you could again,
Speaker 2: if you have in such a data you're willing to share,
Speaker 2: you could email me and we could add it in
Speaker 2: to future trainings in the model.
Speaker 1: Great, thank you. I think we're almost at the end
Speaker 1: of today's session. Thank you all for attending this training,
Speaker 1: and once again we thank our guest speakers for their
Speaker 1: valuable time and information that they're provided. Also, thanks they
Speaker 1: are the team for their coordination and helping putting this
Speaker 1: training together. And we hope to see you at our
Speaker 1: next training and look forward to get suby results from
Speaker 1: you and feedback from you. Thank you,
Podbean