TNO Intern

Commit bc90e60b authored by Arjo Segers's avatar Arjo Segers
Browse files

Configurations for TROPOMI O3-profile and O3-column data.

parent c11cf333
Loading
Loading
Loading
Loading
+1010 −0

File added.

Preview size limit exceeded, changes collapsed.

+1025 −0

File changed and moved.

Preview size limit exceeded, changes collapsed.

+3 −2
Original line number Diff line number Diff line
@@ -26,7 +26,8 @@ my.tracers : no2
!my.tracers                :  so2-cobra
!my.tracers                :  hcho
!my.tracers                :  co
!my.tracers                :  o3
!my.tracers                :  o3-col
!my.tracers                :  o3-pr
!my.tracers                :  chocho


@@ -79,7 +80,7 @@ cso.s5p.TRACER.elements : inquire
! single step:
cso.s5p.TRACER.inquire.class                      :  utopya.UtopyaJobStep
! two or more tasks:
#if "TRACER" in ["no2","so2","hcho","co","o3"]
#if "TRACER" in ["no2","so2","hcho","co","o3-pr","o3-col"]
cso.s5p.TRACER.inquire.tasks                      :  table-dataspace plot
#elif "TRACER" in ["so2-cobra"]
cso.s5p.TRACER.inquire.tasks                      :  table-pal plot
+2314 −0

File added.

Preview size limit exceeded, changes collapsed.

+85 −51
Original line number Diff line number Diff line
@@ -21,13 +21,43 @@ The product guides can be found at:
There are several ozone products available

* ``L2__O3____`` : *ozone total column* product.
      Not used here.
* ``L2__O3_TCL`` : *ozone tropospheric column* product.
      Level3 product, tropics band, 3-days running average on 1.0 x 0.5 (lon x lat) grid?

  See the `PUM-O3 <https://sentiwiki.copernicus.eu/__attachments/1673595/S5P-L2-DLR-PUM-400A%20-%20Sentinel-5P%20Level%202%20Product%20User%20Manual%20Ozone%20Total%20Column%202022%20-%202.4.pdf>`_ Product User Manual.

  * The primary retrieval is vertical column density (mol/m\ :sup:`2`) on :math:`n_r=1` layers:

    .. math::
        y_r

  * The simulation of a retrieval product from a model state requires an apriori column,
    and should be computed from:

    .. math::
        y_s ~=~ \sum \mathbf{y}_a\ +\ \mathbf{A}\ \left(\ \mathbf{V}\mathbf{G}\ \mathbf{x}\ -\ \mathbf{y}_a\ \right)

    where:

    * :math:`y_s` is the simulated retrieval (mol/m\ :sup:`2`) on :math:`n_r=1` layers;
    * :math:`\mathbf{y}_a` is the *a priori* vertical column density (mol/m\ :sup:`2`) defined on :math:`n_a=14` layers;
    * :math:`\mathbf{A}` is the averaging kernel matrix with shape :math:`(n_r,n_a)`;
    * :math:`\mathbf{x}` is the atmospheric state, which probably consists of a 3D array of O\ :sub:`3` concentrations;
    * operators :math:`\mathbf{G}` and :math:`\mathbf{V}` together compute a simulated profile 
      at the :math:`n_a` *a priori* layers from the state, using horizontal (:math:`\mathbf{G}`)
      and vertical (:math:`\mathbf{V}`) mappings;
      units should be the same as the retrieval product (mol/m\ :sup:`2`).

  * In case :math:`\mathbf{x}^{true}` is the true atmoshperic state, the retrieval error is quantified
     by the *retrieval error covariance* :math:`\mathbf{R}`:

    .. math::
        \mathbf{y}_s ~-~ \left[ \mathbf{y}_a\ +\ \mathbf{A}\ \left(\ \mathbf{V}\mathbf{G}\ \mathbf{x}^{true}\ -\ \mathbf{y}_a\ \right)\right] ~\sim~ \mathcal{N}\left(\mathbf{o},\mathbf{R}\right)

    The product does not provide a full matrix :math:`\mathbf{B}` but only a *precission profile*;
    here we define :math:`\mathbf{R}` to be diagonal with the squares of the *precission* as diagonal elements.

* ``L2__O3__PR``  : *ozone profile* product.
    This will be used here, see the `PUM-O3_PR <https://sentiwiki.copernicus.eu/__attachments/1673595/S5P-KNMI-L2-0020-MA%20-%20Sentinel-5P%20Level%202%20Product%20User%20Manual%20Ozone%20profiles%202023%20-%202.6.0.pdf>`_ Product User Manual.

The ``L2__O3__PR`` has the following features:
  See the `PUM-O3_PR <https://sentiwiki.copernicus.eu/__attachments/1673595/S5P-KNMI-L2-0020-MA%20-%20Sentinel-5P%20Level%202%20Product%20User%20Manual%20Ozone%20profiles%202023%20-%202.6.0.pdf>`_ Product User Manual.

  * The primary retrieval is an ozone concentration (mol/m\ :sup:`3`) profile at :math:`n_r=33` layers:

@@ -42,7 +72,7 @@ The ``L2__O3__PR`` has the following features:

    As there are no averaging kernels supplied for the (sub)columns, only the full profiles will be used here.

* The simulation of a retrieval product from a model state does not require an apriori profile,
  * The simulation of a retrieval product from a model state requires an apriori profile,
    and should be computed from:

    .. math::
@@ -50,10 +80,9 @@ The ``L2__O3__PR`` has the following features:

    where:

  * :math:`\mathbf{y}_s` is the simulated retrieval (mol/m\ :sup:`3`) defined on :math:`n_r=33` layers;
    * :math:`\mathbf{y}_s` is the simulated retrieval (mol/m\ :sup:`3`) defined on :math:`n_r` layers;
    * :math:`\mathbf{y}_a` is the *a priori* retrieval (mol/m\ :sup:`3`) defined on :math:`n_a=33` layers;
  * :math:`\mathbf{A}` is the averaging kernel matrix with shape :math:`(n_r,n_a)`,
    with :math:`n_a=33` the number of *a priori* layers;
    * :math:`\mathbf{A}` is the averaging kernel matrix with shape :math:`(n_r,n_a)`;
    * :math:`\mathbf{x}` is the atmospheric state, which probably consists of a 3D array of O\ :sub:`3` concentrations;
    * operators :math:`\mathbf{G}` and :math:`\mathbf{V}` together compute a simulated profile 
      at the :math:`n_a` *a priori* layers from the state, using horizontal (:math:`\mathbf{G}`)
@@ -81,6 +110,11 @@ The ``L2__O3__PR`` has the following features:
      *NOTE: older versions of the *Product User Manual* show upper-entiers* (:math:`\lceil\cdot\rceil`)*
      around the difference between retrieval and apriori, this should have been absolute values as used here.*

* ``L2__O3_TCL`` : *ozone tropospheric column* product.
      Level3 product, tropics band, 3-days running average on 1.0 x 0.5 (lon x lat) grid?
      Not used here.
      


CSO processing
==============
Loading