<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Case Studies | CoMet Toolkit</title><link>https://comet-toolkit.github.io/comet_website/user-guide/case-studies/</link><atom:link href="https://comet-toolkit.github.io/comet_website/user-guide/case-studies/index.xml" rel="self" type="application/rss+xml"/><description>Case Studies</description><generator>Hugo Blox Builder (https://hugoblox.com)</generator><language>en-us</language><lastBuildDate>Tue, 13 May 2025 00:00:00 +0000</lastBuildDate><image><url>https://comet-toolkit.github.io/comet_website/media/logo_hu8565871317096902300.png</url><title>Case Studies</title><link>https://comet-toolkit.github.io/comet_website/user-guide/case-studies/</link></image><item><title>CoMet Toolkit vs. Atmospheric Weather Balloons</title><link>https://comet-toolkit.github.io/comet_website/user-guide/case-studies/gruan/</link><pubDate>Tue, 13 May 2025 00:00:00 +0000</pubDate><guid>https://comet-toolkit.github.io/comet_website/user-guide/case-studies/gruan/</guid><description>&lt;h2 id="-background">🎈 Background&lt;/h2>
&lt;p>&lt;strong>Global Climate Observing System (&lt;a href="https://gcos.wmo.int/site/global-climate-observing-system-gcos" target="_blank" rel="noopener">GCOS&lt;/a>)&lt;/strong> ensures access to long-term climate observations. Within GCOS, the &lt;strong>GCOS Reference Upper-Air Network (&lt;a href="https://www.gruan.org/" target="_blank" rel="noopener">GRUAN&lt;/a>)&lt;/strong> plays a key role by providing reference-quality atmospheric balloon data.&lt;/p>
&lt;p>GRUAN data includes measurements such as temperature, humidity and pressure. This data is traceable to SI standards, and published with detailed uncertainty and metadata. At present, GRUAN does not report detailed error correlation across its data products.&lt;/p>
&lt;p>This article outlines a study which has successfully deployed &lt;strong>CoMet Toolkit&lt;/strong> to acquire covariance information of GRUAN data.&lt;/p>
&lt;h3 id="-aims">🗸 Aims&lt;/h3>
&lt;ol>
&lt;li>Investigate GRUAN data product &lt;strong>uncertainty components&lt;/strong>.&lt;/li>
&lt;li>Obtain covariance matrices for &lt;strong>temperature (T)&lt;/strong> and &lt;strong>relative humidity (RH)&lt;/strong>.&lt;/li>
&lt;li>Assess how different &lt;strong>data processing&lt;/strong> strategies impact covariance.&lt;/li>
&lt;/ol>
&lt;h2 id="-data">📋 Data&lt;/h2>
&lt;p>GRUAN data is gathered via &lt;strong>radiosondes&lt;/strong> mounted on weather balloons, recording vertical atmospheric profiles at high resolution (1–2 seconds per point) reaching altitudes of 30–35 km.&lt;/p>
&lt;p>We selected two radiosonde launches from &lt;strong>Lindenberg, Germany&lt;/strong> (GRUAN’s lead centre) on &lt;strong>January 1st, 2024&lt;/strong> at 00:00 and 12:00 UTC. The data is available in NetCDF format, and includes full metadata and GRUAN-validated uncertainty components.&lt;/p>
&lt;p>Each balloon ascent collects thousands of measurements. To reduce the number of data points, this data is typically layered. For instance, &lt;strong>137-layer ECMWF pressure coordinate system&lt;/strong>, is commonly used in atmospheric modelling.&lt;/p>
&lt;p>
&lt;figure >
&lt;div class="flex justify-center ">
&lt;div class="w-100" >&lt;img alt="Balloon ascent processing" srcset="
/comet_website/user-guide/case-studies/gruan/layer_diagram_hu17514791645989958006.webp 400w,
/comet_website/user-guide/case-studies/gruan/layer_diagram_hu7339763914896788752.webp 760w,
/comet_website/user-guide/case-studies/gruan/layer_diagram_hu13817019637445873972.webp 1200w"
src="https://comet-toolkit.github.io/comet_website/comet_website/user-guide/case-studies/gruan/layer_diagram_hu17514791645989958006.webp"
width="760"
height="525"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;h3 id="-uncertainties">🗸 Uncertainties&lt;/h3>
&lt;p>For each measurement point, GRUAN reports the combined uncertainty as well as three uncertainty components:&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Uncorrelated&lt;/strong>: random, no relationship between points exists.&lt;/li>
&lt;li>&lt;strong>Spatially Correlated&lt;/strong>: data within a single vertical profile is spatially related&lt;/li>
&lt;li>&lt;strong>Temporally Correlated&lt;/strong>: data across different soundings and/or sites is temporally related (e.g., due to shared calibration).&lt;/li>
&lt;/ul>
&lt;p>GRUAN assumes full (r = 1) correlation for spatial and temporal components—an important simplification carried into the analysis.&lt;/p>
&lt;p>
&lt;figure >
&lt;div class="flex justify-center ">
&lt;div class="w-100" >&lt;img alt="GRUAN Correlation Types" srcset="
/comet_website/user-guide/case-studies/gruan/correlation_diagram_hu12510642735996953314.webp 400w,
/comet_website/user-guide/case-studies/gruan/correlation_diagram_hu232782019917282223.webp 760w,
/comet_website/user-guide/case-studies/gruan/correlation_diagram_hu14546093075189342172.webp 1200w"
src="https://comet-toolkit.github.io/comet_website/comet_website/user-guide/case-studies/gruan/correlation_diagram_hu12510642735996953314.webp"
width="760"
height="408"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;h2 id="comet-setup">☄️CoMet Setup&lt;/h2>
&lt;p>Covariance and correlation matrices were calculated using &lt;strong>CoMet&lt;/strong>.&lt;/p>
&lt;ul>
&lt;li>&lt;code>obsarray&lt;/code>: used to re-structure weather balloon measurements, their uncertainty, and metadata (units, dimensions)&lt;/li>
&lt;li>&lt;code>comet_maths&lt;/code>: performed the mathematical operations to compute covariance matrices, correlation information&lt;/li>
&lt;/ul>
&lt;h2 id="-results">🗂️ Results&lt;/h2>
&lt;p>Using CoMet, raw covariance matrices were computed from the unprocessed midday profile.&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Temperature&lt;/strong> and &lt;strong>RH&lt;/strong> matrices show strong diagonals (variance) and structured off-diagonal patterns (systematic uncertainty).&lt;/li>
&lt;li>The RH covariance scale is notably higher, especially due to sensitivity to solar radiation during daytime launches.&lt;/li>
&lt;/ul>
&lt;p>In layered heatmaps:&lt;/p>
&lt;ul>
&lt;li>&lt;strong>White regions&lt;/strong> indicate missing data beyond balloon burst.&lt;/li>
&lt;li>&lt;strong>Mean-layered&lt;/strong> data shows reduced variance (weaker diagonal).&lt;/li>
&lt;li>&lt;strong>Subsampled&lt;/strong> data retains more variance but still shows strong off-diagonal structure due to full assumed correlation.&lt;/li>
&lt;/ul>
&lt;p>Notably, the &lt;strong>Upper Troposphere–Lower Stratosphere (UTLS)&lt;/strong> region exhibits distinct covariance patterns.&lt;/p>
&lt;p>
&lt;figure >
&lt;div class="flex justify-center ">
&lt;div class="w-100" >&lt;img alt="Layered Covariance - Temperature" srcset="
/comet_website/user-guide/case-studies/gruan/temperature_hu9765008559302177313.webp 400w,
/comet_website/user-guide/case-studies/gruan/temperature_hu9330433702524925262.webp 760w,
/comet_website/user-guide/case-studies/gruan/temperature_hu16025863812386761370.webp 1200w"
src="https://comet-toolkit.github.io/comet_website/comet_website/user-guide/case-studies/gruan/temperature_hu9765008559302177313.webp"
width="506"
height="438"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;h3 id="-layered-relative-humidity-covariance">🗸 Layered Relative Humidity Covariance&lt;/h3>
&lt;p>Layered RH matrices differ significantly:&lt;/p>
&lt;ul>
&lt;li>Covariance values are up to &lt;strong>100× greater&lt;/strong> than for temperature.&lt;/li>
&lt;li>Heatmaps show a &lt;strong>checkerboard pattern&lt;/strong>, indicating high inter-layer correlation.&lt;/li>
&lt;li>Averaging reduces the variance, and temporal correlations dominate the structure, reflecting RH’s rapid environmental sensitivity.&lt;/li>
&lt;/ul>
&lt;p>These findings underscore the need to treat RH and temperature differently in uncertainty-aware models.&lt;/p>
&lt;p>
&lt;figure >
&lt;div class="flex justify-center ">
&lt;div class="w-100" >&lt;img alt="Layered Covariance - Relative Humidity" srcset="
/comet_website/user-guide/case-studies/gruan/rh_hu1809459670579690738.webp 400w,
/comet_website/user-guide/case-studies/gruan/rh_hu4714881844850824206.webp 760w,
/comet_website/user-guide/case-studies/gruan/rh_hu850635564388066503.webp 1200w"
src="https://comet-toolkit.github.io/comet_website/comet_website/user-guide/case-studies/gruan/rh_hu1809459670579690738.webp"
width="517"
height="440"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;h3 id="-summary-of-findings">🗸 Summary of Findings&lt;/h3>
&lt;p>This project:&lt;/p>
&lt;ul>
&lt;li>Developed and validated a method for &lt;strong>computing covariance matrices&lt;/strong> from GRUAN RS-41 data using &lt;strong>CoMet&lt;/strong>,&lt;/li>
&lt;li>Tested multiple data processing strategies (mean, subsample, integration),&lt;/li>
&lt;li>Provided practical recommendations through a &lt;strong>GRUAN Technical Note&lt;/strong>.&lt;/li>
&lt;/ul>
&lt;p>The results help researchers better account for correlated uncertainty when working with radiosonde data.&lt;/p>
&lt;h3 id="-future-work">🗸 Future Work&lt;/h3>
&lt;p>Planned next steps include:&lt;/p>
&lt;ul>
&lt;li>Incorporating &lt;strong>Tier 2&lt;/strong> uncertainty sources,&lt;/li>
&lt;li>Implementing &lt;strong>partial correlation&lt;/strong> handling,&lt;/li>
&lt;li>Expanding to other variables (e.g., pressure, wind, radiation).&lt;/li>
&lt;/ul>
&lt;p>These developments will enhance climate models’ treatment of uncertainty and ensure even greater accuracy in long-term climate monitoring.&lt;/p></description></item><item><title>CoMet Toolkit used in HYPERNETS Processor</title><link>https://comet-toolkit.github.io/comet_website/user-guide/case-studies/hypernets/</link><pubDate>Fri, 14 Jun 2024 00:00:00 +0000</pubDate><guid>https://comet-toolkit.github.io/comet_website/user-guide/case-studies/hypernets/</guid><description>&lt;h2 id="-background">🎈 Background&lt;/h2>
&lt;p>The LANDHYPERNET and WATERHYPERNET networks (which together make up
the HYPERNETS network) consist of a set of autonomous hyperspectral
spectroradiometers (HYPSTAR®) acquiring fiducial reference measurements of
surface reflectance at various sites covering a wide range of surface types (both
land and water) for use in satellite Earth observation validation and remote
sensing applications.&lt;/p>
&lt;p>The HYPERNETS_PROCESSOR is a Python software
package to process the HYPERNETS in-situ
hyperspectral raw data to reflectance and other variables.&lt;/p>
&lt;h2 id="-aims">🗸 Aims&lt;/h2>
&lt;p>In order to achieve fiducial reference measurement quality, and be optimally useful as a satellite validation reference, uncertainties need to be
propagated through each step of the HYPERNETS processing chain, taking into account
temporal and spectral error-covariance.&lt;/p>
&lt;h2 id="-data">📋 Data&lt;/h2>
&lt;p>The HYPERNETS instruments measure downwelling hemispherical irradiance, and upwelling radiance.
The raw data is provided as digital numbers, and combined with gains and non-linearity coefficients from Lab calibrations.
The irradiance and radiance data are combined to calculate reflectance.
These data are stored in different product files from L0-L2B.&lt;/p>
&lt;p>
&lt;figure >
&lt;div class="flex justify-center ">
&lt;div class="w-100" >&lt;img alt="img.png" srcset="
/comet_website/user-guide/case-studies/hypernets/img_hu1010846828585442042.webp 400w,
/comet_website/user-guide/case-studies/hypernets/img_hu8540441741277189117.webp 760w,
/comet_website/user-guide/case-studies/hypernets/img_hu4267746071055898175.webp 1200w"
src="https://comet-toolkit.github.io/comet_website/comet_website/user-guide/case-studies/hypernets/img_hu1010846828585442042.webp"
width="760"
height="435"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;h2 id="-uncertainties">🗸 Uncertainties&lt;/h2>
&lt;p>Three uncertainty contributions are tracked throughout the
processing.&lt;/p>
&lt;ul>
&lt;li>
&lt;p>Random uncertainty: Uncertainty component arising from the
noise in the measurements, which does not have any error-correlation
between different wavelengths or different repeated
measurements (scans/series/sequences).&lt;/p>
&lt;/li>
&lt;li>
&lt;p>Systematic independent uncertainty: Uncertainty component
combining a range of different uncertainty contributions in the
calibration. Only the components for which the errors are not
correlated between radiance and irradiance are included.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>Systematic uncertainty correlated between radiance and
irradiance: Uncertainty component combining a range of
different uncertainty contributions in the calibration. Only
the components for which the errors are correlated between
radiance and irradiance are included. This error-correlation
means this component will become negligible when taking the
ratio of radiance and irradiance (i.e., in the L2A reflectance
products), which is why we separate it from the systematic
independent uncertainty.&lt;/p>
&lt;/li>
&lt;/ul>
&lt;p>The two systematic uncertainty components are both based on lab calibrations.
Since the same lab calibration is used within the HYPERNETS_
PROCESSOR for repeated measurements (scans/series/
sequences), the errors in the systematic
uncertainty components are assumed to be fully systematic (errorcorrelation
made up of ones) with respect to different
scans/series/sequences. With respect to wavelength, we
combine the different error-correlations of the different
contributions and calculate a custom error-correlation
matrix between the different wavelengths.&lt;/p>
&lt;h2 id="comet-setup">CoMet Setup&lt;/h2>
&lt;p>The HYPERNETS_PROCESSOR uses a Monte Carlo (MC)
approach, to propagate uncertainties and error-correlations
between product levels. This MC approach is implemented using &lt;a href="https://comet-toolkit.github.io/comet_website/tools/punpy/">&lt;strong>punpy&lt;/strong>&lt;/a>.&lt;/p>
&lt;p>The HYPERNETS products themselves are stored as digital effects tables using &lt;a href="https://comet-toolkit.github.io/comet_website/tools/obsarray/">&lt;strong>obsarray&lt;/strong>&lt;/a>.&lt;/p>
&lt;h2 id="results">Results&lt;/h2>
&lt;p>An example of the propagated uncertainties on the HYPERNETS radiances is shown below.&lt;/p>
&lt;p>
&lt;figure >
&lt;div class="flex justify-center ">
&lt;div class="w-100" >&lt;img alt="land_rad_unc.png" srcset="
/comet_website/user-guide/case-studies/hypernets/land_rad_unc_hu16879272633263660459.webp 400w,
/comet_website/user-guide/case-studies/hypernets/land_rad_unc_hu9181498794924833562.webp 760w,
/comet_website/user-guide/case-studies/hypernets/land_rad_unc_hu16572799716864576180.webp 1200w"
src="https://comet-toolkit.github.io/comet_website/comet_website/user-guide/case-studies/hypernets/land_rad_unc_hu16879272633263660459.webp"
width="540"
height="240"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;p>These uncertainties can be propagated throughout further processing chains (see e.g. &lt;a href="https://colab.research.google.com/github/comet-toolkit/comet_training/blob/main/hypernets_surface_reflectance.ipynb" target="_blank" rel="noopener">this example&lt;/a>)&lt;/p>
&lt;h2 id="summary-of-findings">Summary of Findings&lt;/h2>
&lt;p>The HYPERNETS_processor is operationally producing product files stored as digital effects tables.
Uniquely for this type of processing, multiple different types of uncertainty
(including error-correlations) are propagated through each of the
processing levels.&lt;/p>
&lt;p>These uncertainties have been very useful for the validation of satellite data (e.g. FLEX, CHIME, ENMAP, S2, &amp;hellip;).&lt;/p>
&lt;h2 id="future-work">Future Work&lt;/h2>
&lt;p>There are a number of uncertainty components that are still missing from the HYPERNETS uncertainty budget (currently a placeholder uncertainty of 2% is added instead).
Dedicated studies will be performed to better quantify each of the missing components.&lt;/p></description></item></channel></rss>