TNO Intern

Skip to content
cso-s5p-no2.rc 46.8 KiB
Newer Older
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!! CSO - CAMS Satellite Operator
!!! Settings for S5p/NO2 processing.
!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!


!-----------------------------------------------------------------------
! user specific settings:
!-----------------------------------------------------------------------

! include user specfic settings:
#include cso-user-settings.rc


!======================================================================
!===
!=== Inquire
!===
!======================================================================


!-----------------------------------------------------------------------
! inquire SciHub portal
!-----------------------------------------------------------------------

! Obtain names of all available S5p files.
! Stored as csv with processing type, processor version, filenames, etc.

! inquire full time range:
cso.s5p.no2.inquire-table-scihub.timerange.start        :  ${my.full-timerange.start}
cso.s5p.no2.inquire-table-scihub.timerange.end          :  ${my.full-timerange.end}

!
! server url ; 
! provide login/password in ~/.netrc:
!
!   machine s5phub.copernicus.eu      login s5pguest        password s5pguest
!
cso.s5p.no2.inquire-table-scihub.url                    :  https://s5phub.copernicus.eu/dhus

! target area;
!!~ empty for no limitation:
!cso.s5p.no2.inquire-table-scihub.area                   :  
!~ domain specified as:  west,south:east,north
cso.s5p.no2.inquire-table-scihub.area                   :  ${my.region.west},${my.region.south}:${my.region.east},${my.region.north}

! search query, obtained from interactive download:
!
!   platformname     : Sentinel-5
!   producttype      : L2__NO2___ | L2__CO____    (always 10 characters!)
!   processinglevel  : L2
!
cso.s5p.no2.inquire-table-scihub.query                  :     platformname:Sentinel-5    AND \
                                                                producttype:L2__NO2___    AND \
                                                            processinglevel:L2

! output table, date of today:
cso.s5p.no2.inquire-table-scihub.output.file            :  ${my.work}/Copernicus-inquire/Copernicus_S5p_NO2_scihub__%Y-%m-%d.csv
!!-----------------------------------------------------------------------
!! inquire PAL portal
!!-----------------------------------------------------------------------
!
!! Obtain names of all available S5p files.
!! Stored as csv with processing type, processor version, filenames, etc.
!
!! inquire full time range:
!cso.s5p.no2.inquire-table-pal.timerange.start        :  ${my.full-timerange.start}
!cso.s5p.no2.inquire-table-pal.timerange.end          :  ${my.full-timerange.end}
!
!! server url:
!cso.s5p.no2.inquire-table-pal.url                    :  https://data-portal.s5p-pal.com/cat/sentinel-5p/catalog.json
!
!! product type (always 10 characters!):
!cso.s5p.no2.inquire-table-pal.producttype            :  L2__NO2___
!                                                                
!! target area;
!!!~ empty for no limitation:
!!cso.s5p.no2.inquire-table-pal.area                   :  
!!~ domain specified as:  west,south:east,north
!cso.s5p.no2.inquire-table-pal.area                   :  ${my.region.west},${my.region.south}:${my.region.east},${my.region.north}
!
!! output table, date of today:
!cso.s5p.no2.inquire-table-pal.output.file            :  ${my.work}/Copernicus-inquire/Copernicus_S5p_NO2_pal_%Y-%m-%d.csv


!-----------------------------------------------------------
! overview plot of versions
!-----------------------------------------------------------

! renew existing plots?
cso.s5p.no2.inquire-plot.renew                    :  True

! listing files:
cso.s5p.no2.inquire-plot.file                     :  ${cso.s5p.no2.inquire-table-scihub.output.file}
!!~ specify dates ("yyyy-mm-dd") to use historic tables,
!!  default is table of today:
!cso.s5p.no2.inquire-plot.filedate                 :  2023-08-07
! annote:
cso.s5p.no2.inquire-plot.title                    :  S5p/NO2 %Y-%m-%d
! output figure, date of today:
cso.s5p.no2.inquire-plot.output.file              :  ${my.work}/Copernicus-inquire/Copernicus_S5p_NO2_scihub__%Y-%m-%d.png


!======================================================================
!===
!=== convert (and download)
!===
!======================================================================


! renew existing files (True|False) ?
cso.s5p.no2.convert.renew                  :  True
!cso.s5p.no2.convert.renew                  :  False

! time range:
cso.s5p.no2.convert.timerange.start        :  ${my.timerange.start}
cso.s5p.no2.convert.timerange.end          :  ${my.timerange.end}


!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
! input files
!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

! listing of available source files,
! created by 'inquire-scihub' job:
cso.s5p.no2.convert.inquire.file                   :  ${my.work}/Copernicus-inquire/Copernicus_S5p_NO2_scihub__%Y-%m-%d.csv
!!~ historic inquire ...
!cso.s5p.no2.convert.inquire.filedate               :  ${cso.s5p.no2.inquire-plot.filedate}

! selection keyword:
my.s5p.no2.selection                                :  C03

! Provide ';' seperated list of to decide if a particular orbit file should be processed.
! If more than one file is available for a particular orbit (from "OFFL" and "RPRO" processing),
! the file with the first match will be used.
! The expressions should include templates '%{header}' for the column values.
! Example to select files from collection '03', preferably from processing 'RPRO' but otherwise from 'OFFL':
!   (%{collection} == '03') and (%{processing} == 'RPRO') ; \
!   (%{collection} == '03') and (%{processing} == 'OFFL')
!
#if "${my.s5p.no2.selection}" == "C03"
cso.s5p.no2.convert.selection                     :  (%{collection} == '03') and (%{processing} == 'RPRO') ; \
                                                     (%{collection} == '03') and (%{processing} == 'OFFL')
#else
#error unsupported my.s5p.no2.selection "${my.s5p.no2.selection}"
#endif

! input directory;
! files are searched here or downloaded to if not present yet;
! supported templates:
!   %{processing}
cso.s5p.no2.convert.input.dir                      :  ${my.work}/Copernicus/S5P/%{processing}/NO2/%Y/%m
! remove downloaded input files after convert?
cso.s5p.no2.convert.downloads.cleanup              :  False

! selection names:
cso.s5p.no2.convert.filters                        :  lons lats valid quality
!~ optionally also:
!    cloud_fraction

! filter settings:
cso.s5p.no2.convert.filter.lons.var                :  PRODUCT/longitude
cso.s5p.no2.convert.filter.lons.type               :  minmax
cso.s5p.no2.convert.filter.lons.minmax             :  ${my.region.west} ${my.region.east}
cso.s5p.no2.convert.filter.lons.units              :  degrees_east

! filter settings:
cso.s5p.no2.convert.filter.lats.var                :  PRODUCT/latitude
cso.s5p.no2.convert.filter.lats.type               :  minmax
cso.s5p.no2.convert.filter.lats.minmax             :  ${my.region.south} ${my.region.north}
cso.s5p.no2.convert.filter.lats.units              :  degrees_north

! skip pixel with "no data", use the "qa_value" variable to check:
cso.s5p.no2.convert.filter.valid.var               :  PRODUCT/qa_value
cso.s5p.no2.convert.filter.valid.type              :  valid

! Comment in "PRODUCT/qa_value" variable:
!   "A continuous quality descriptor, 
!   varying between 0 (no data) and 1 (full quality data). 
!   Recommend to ignore data with qa_value < 0.5" 
! Tests suggest that better threshold is 0.54,
! this removes the kernels with very high values.
! 0.75 is the recommended use so what we will use here
cso.s5p.no2.convert.filter.quality.var             :  PRODUCT/qa_value
cso.s5p.no2.convert.filter.quality.type            :  min
cso.s5p.no2.convert.filter.quality.min             :  0.75
cso.s5p.no2.convert.filter.quality.units           :  1

!! recommended 0.3 cloud fraction max (https://agupubs.onlinelibrary.wiley.com/doi/full/10.1029/2018GL081095)
!cso.s5p.no2.convert.filter.cloud_fraction.var      :  PRODUCT/SUPPORT_DATA/DETAILED_RESULTS/cloud_fraction_crb_nitrogendioxide_window
!cso.s5p.no2.convert.filter.cloud_fraction.type     :  max
!cso.s5p.no2.convert.filter.cloud_fraction.max      :  0.3
Loading full blame...