<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Monte Carlo | CoMet Toolkit</title><link>https://comet-toolkit.github.io/comet_website/tag/monte-carlo/</link><atom:link href="https://comet-toolkit.github.io/comet_website/tag/monte-carlo/index.xml" rel="self" type="application/rss+xml"/><description>Monte Carlo</description><generator>Hugo Blox Builder (https://hugoblox.com)</generator><language>en-us</language><lastBuildDate>Sat, 14 Jun 2025 00:00:00 +0000</lastBuildDate><image><url>https://comet-toolkit.github.io/comet_website/media/logo_hu8565871317096902300.png</url><title>Monte Carlo</title><link>https://comet-toolkit.github.io/comet_website/tag/monte-carlo/</link></image><item><title>QA4EO uncertainty budget</title><link>https://comet-toolkit.github.io/comet_website/user-guide/theory/qa4eo/</link><pubDate>Sat, 14 Jun 2025 00:00:00 +0000</pubDate><guid>https://comet-toolkit.github.io/comet_website/user-guide/theory/qa4eo/</guid><description>&lt;p>QA4EO is a best practice framework, based on the principles of metrology, to
establish The Global Earth Observation System of Systems — based on coordinated
and harmonised processes and activities that enable interoperability. QA4EO was
established and endorsed by the Committee on Earth Observation Satellites (CEOS).
QA4EO ensures credible and reliable interpretation of environmental observations from
satellites and in-situ measurements by requiring that associated uncertainty information
is provided. A &lt;a href="https://qa4eo.org/documents/" target="_blank" rel="noopener">&lt;strong>set of guidelines&lt;/strong>&lt;/a> was developed on how to apply the QA4EO principles
to generate metrologically-rigorous data products and to perform uncertainty analysis.&lt;/p>
&lt;p>There are five steps towards a metrological uncertainty analysis. These steps are described in detail in the &lt;a href="https://qa4eo.org/docs/3_Process_Document.pdf" target="_blank" rel="noopener">&lt;strong>QA4EO Process document&lt;/strong>&lt;/a> which provides Step-by-step guidance on implementing a metrological approach to uncertainty analysis. The 5 steps are:
• Step 1: Define the measurand and measurement model
• Step 2: Establish the traceability with a diagram (see example at the top of this page)
• Step 3: Evaluate each source of uncertainty and fill out an effects table
• Step 4: Calculate the data product and uncertainties
• Step 5: Record information about the uncertainty analysis for long term data preservation purposes (implicit above) and summarise for today’s users&lt;/p>
&lt;p>The CoMet toolkit is particularly useful for steps 4, (see our page on &lt;a href="https://comet-toolkit.github.io/comet_website/user-guide/theory/processing-chains/">&lt;strong>propagating uncertainties through a measurement function&lt;/strong>&lt;/a>) and step 5 (see our page on &lt;a href="https://comet-toolkit.github.io/comet_website/user-guide/theory/error_correlation">error correlation and how to store it&lt;/a>).&lt;/p>
&lt;p>As discussed in the QA4EO Process document, Effects Tables (step 3) are a useful way to record and report the information required to fully parameterise an error-correlation effect. However, to use this information in a processing chain, it must be provided digitally. The CoMet Toolkit defines a mechanism for this, with a metadata standard (see UNC specification) that enables the creation of Digital Effects Tables stored in NetCDF files. In this way, uncertainty information can be written, read,&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/theory/qa4eo/img_hu17039010643250766414.webp 400w,
/comet_website/user-guide/theory/qa4eo/img_hu137272509346516903.webp 760w,
/comet_website/user-guide/theory/qa4eo/img_hu13107634848699679821.webp 1200w"
src="https://comet-toolkit.github.io/comet_website/comet_website/user-guide/theory/qa4eo/img_hu17039010643250766414.webp"
width="760"
height="339"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;p>Punpy interfaces with obsarray to make uncertainty propagation as efficient and easy to use as possible. The digital effects tables produced with obsarray can be propagated through measurement functions using punpy, without the need for providing additional information. The data has thus been encoded with all relevant error-covariance information, though users do not need to interact with it. Together these tools enable both the experienced and inexperienced user to efficiently include uncertainties throughout their data processing, and thus make their datasets more reliable and interpretable. Optional keywords provide the user with the flexibility to deal with all kinds of complex use cases.
For further info, we refer to the &lt;a href="https://punpy.readthedocs.io/en/latest/" target="_blank" rel="noopener">&lt;strong>punpy&lt;/strong>&lt;/a> and &lt;a href="https://obsarray.readthedocs.io/en/latest/" target="_blank" rel="noopener">&lt;strong>obsarray&lt;/strong>&lt;/a> documentation.&lt;/p></description></item><item><title>Propagating uncertainties through a processing chain</title><link>https://comet-toolkit.github.io/comet_website/user-guide/theory/processing-chains/</link><pubDate>Fri, 13 Jun 2025 00:00:00 +0000</pubDate><guid>https://comet-toolkit.github.io/comet_website/user-guide/theory/processing-chains/</guid><description>&lt;p>When determining the value of a given measurand (i.e. the quantity intended to be measured), some processing typically needs to be performed to calculate the measurand based on some input quantities.
In some cases, this processing is relatively simple, and can be done with a simple analytical function.
In other cases, a full processing chain is needed, which can contain a whole range of computational processing steps.
In metrology (GUM), this relationship between the measurand and the input quantities is refered to as a measurement model or a measurement function.
For some further information, we refer to this &lt;a href="https://research.reading.ac.uk/fiduceo/archive/tutorials/measurement-function-pt1/#:~:text=Often%2C%20we%20are%20able%20to%20explicitly%20write%20the,X%20i%2C%20via%20the%20functional%20relationship%20f%20f." target="_blank" rel="noopener">FIDUCEO tutorial&lt;/a>.&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/theory/processing-chains/img_hu1758347321813589105.webp 400w,
/comet_website/user-guide/theory/processing-chains/img_hu8087209035746384868.webp 760w,
/comet_website/user-guide/theory/processing-chains/img_hu1928832854338396707.webp 1200w"
src="https://comet-toolkit.github.io/comet_website/comet_website/user-guide/theory/processing-chains/img_hu1758347321813589105.webp"
width="760"
height="437"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;p>In order to calculate the uncertainty on the measurand, one needs to propagate uncertainties on the input quantities through the measurement model.
There are various methods that can be used for this. Two commonly used ones are the Monte Carlo (MC) method and the Law of Propagation of Uncertainties.
For further detail on these methods, see the &lt;a href="https://www.bipm.org/en/committees/jc/jcgm/publications" target="_blank" rel="noopener">&lt;strong>GUM&lt;/strong>&lt;/a> and its supplements, the &lt;a href="https://qa4eo.org/docs/2_Metrology_Document.pdf" target="_blank" rel="noopener">&lt;strong>QA4EO metrology document&lt;/strong>&lt;/a>, or the &lt;a href="https://punpy.readthedocs.io/en/latest/content/atbd.html" target="_blank" rel="noopener">&lt;strong>punpy ATBD&lt;/strong>&lt;/a>.&lt;/p>
&lt;p>The CoMet toolkit implements both the Monte Carlo and the Law of Propagation of Uncertainty methodologies for uncertainty propagation. The CoMet toolkit interface to both of these methodlogies is exactly the same, so the user can easily switch between them and compare the results. There are two ways the input data and their uncertainties can be ingested in the CoMet toolkit. Either they can be ingested manually as numpy arrays, or they can be ingested using `Digital Effects Tables’, defined with obsarray.&lt;/p>
&lt;p>In order to propagate uncertainties using the CoMet toolkit, one needs to be able to write the measurement function as a Python function which takes the input quantities as arguments and returns the measurand. Inside this measurement function, there can be a varying range of complexity. It could be a simple analytical function, or a full processing chain, including calls to other external software. The CoMet toolkit treats this measurement function somewhat as a blackbox and simply modifies the inputs, and analyses the outputs.&lt;/p></description></item></channel></rss>