From c71c1d04d89b649c278b593511d126ee8aec500a Mon Sep 17 00:00:00 2001 From: Arjo Segers Date: Thu, 2 Apr 2026 15:10:24 +0200 Subject: [PATCH 1/6] Removed depricated SO2-COBRA processing. --- config/Copernicus/cso-s5p-so2-cobra.rc | 1021 ------------------------ config/Copernicus/cso.rc | 11 +- doc/source/index.rst | 1 - doc/source/s5p-so2-cobra.rst | 507 ------------ doc/source/s5p-so2.rst | 12 +- 5 files changed, 11 insertions(+), 1541 deletions(-) delete mode 100644 config/Copernicus/cso-s5p-so2-cobra.rc delete mode 100644 doc/source/s5p-so2-cobra.rst diff --git a/config/Copernicus/cso-s5p-so2-cobra.rc b/config/Copernicus/cso-s5p-so2-cobra.rc deleted file mode 100644 index 21fe7a1..0000000 --- a/config/Copernicus/cso-s5p-so2-cobra.rc +++ /dev/null @@ -1,1021 +0,0 @@ -!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!!! -!!! CSO - CAMS Satellite Operator -!!! -!!! Settings for S5p/SO2-COBRA processing. -!!! -!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - - -!----------------------------------------------------------------------- -! user specific settings: -!----------------------------------------------------------------------- - -! include user specfic settings: -#include cso-user-settings.rc - - -!====================================================================== -!=== -!=== Inquire -!=== -!====================================================================== - - -!----------------------------------------------------------------------- -! 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.so2-cobra.inquire-table-pal.timerange.start : ${my.full-timerange.start} -cso.s5p.so2-cobra.inquire-table-pal.timerange.end : ${my.full-timerange.end} - -! server url: -cso.s5p.so2-cobra.inquire-table-pal.url : https://data-portal.s5p-pal.com/api/s5p-l2 - -! product type (always 10 characters!): -cso.s5p.so2-cobra.inquire-table-pal.producttype : L2__SO2CBR - -! target area; -!!~ empty for no limitation: -!cso.s5p.so2-cobra.inquire-table-pal.area : -!~ domain specified as: west,south:east,north -cso.s5p.so2-cobra.inquire-table-pal.area : ${my.region.west},${my.region.south}:${my.region.east},${my.region.north} - -! output table, date of today: -cso.s5p.so2-cobra.inquire-table-pal.output.file : ${my.work}/Copernicus-inquire/Copernicus_S5p_SO2-COBRA_pal__%Y-%m-%d.csv - - -!----------------------------------------------------------- -! overview plot of versions -!----------------------------------------------------------- - -! renew existing plots? -cso.s5p.so2-cobra.inquire-plot.renew : True - -! listing file(s): -cso.s5p.so2-cobra.inquire-plot.file : ${cso.s5p.so2-cobra.inquire-table-pal.output.file} -!~ specify dates ("yyyy-mm-dd") to use historic tables, -! default is table of today: -cso.s5p.so2-cobra.inquire-plot.filedate : 2024-11-06 - -! annote: -cso.s5p.so2-cobra.inquire-plot.title : S5p/SO2-COBRA %Y-%m-%d - -! output figure, date of today: -cso.s5p.so2-cobra.inquire-plot.output.file : ${my.work}/Copernicus-inquire/Copernicus_S5p_SO2-COBRA_pal__%Y-%m-%d.png - - - - -!====================================================================== -!=== -!=== download (without convert) -!=== -!====================================================================== - - -! time range: -cso.s5p.so2-cobra.download.timerange.start : ${my.timerange.start} -cso.s5p.so2-cobra.download.timerange.end : ${my.timerange.end} - -! listing of available source files, -! created by 'inquire-dataspace' job: -cso.s5p.so2-cobra.download.inquire.file : ${my.work}/Copernicus-inquire/Copernicus_S5p_SO2-COBRA_dataspace__%Y-%m-%d.csv -!!~ historic inquire ... -!cso.s5p.so2-cobra.download.inquire.filedate : 2023-08-07 - -! selection keyword: -my.s5p.so2-cobra.download.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.so2-cobra.download.selection}" == "C03" -cso.s5p.so2-cobra.download.selection : (%{collection} == '03') and (%{processing} == 'RPRO') ; \ - (%{collection} == '03') and (%{processing} == 'OFFL') -#else -#error unsupported my.s5p.so2-cobra.download.selection "${my.s5p.so2-cobra.download.selection}" -#endif - -! input directory; -! files are searched here or downloaded to if not present yet; -! supported templates: -! %{processing} -cso.s5p.so2-cobra.download.input.dir : ${my.work}/Copernicus/S5P/%{processing}/SO2-COBRA/%Y/%m - - -!====================================================================== -!=== -!=== convert (and download) -!=== -!====================================================================== - - -! renew existing files (True|False) ? -cso.s5p.so2-cobra.convert.renew : True -!cso.s5p.so2-cobra.convert.renew : False - -! time range: -cso.s5p.so2-cobra.convert.timerange.start : ${my.timerange.start} -cso.s5p.so2-cobra.convert.timerange.end : ${my.timerange.end} - - -!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -! input files -!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -! listing of available source files, -! created by 'inquire-dataspace' job: -cso.s5p.so2-cobra.convert.inquire.file : ${my.work}/Copernicus-inquire/Copernicus_S5p_SO2-COBRA_pal__%Y-%m-%d.csv -!~ historic inquire ... -cso.s5p.so2-cobra.convert.inquire.filedate : ${cso.s5p.so2-cobra.inquire-plot.filedate} - -! selection keyword: -my.s5p.so2-cobra.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.so2-cobra.selection}" == "C03" -cso.s5p.so2-cobra.convert.selection : (%{collection} == '03') and (%{processing} == 'PAL_') -#else -#error unsupported my.s5p.so2-cobra.selection "${my.s5p.so2-cobra.selection}" -#endif - -! input directory; -! files are searched here or downloaded to if not present yet; -! supported templates: -! %{processing} -cso.s5p.so2-cobra.convert.input.dir : ${my.work}/Copernicus/S5P/%{processing}/SO2-COBRA/%Y/%m - -! remove downloaded input files after convert? -cso.s5p.so2-cobra.convert.downloads.cleanup : False - -! selection names: -cso.s5p.so2-cobra.convert.filters : lons lats valid quality - -! filter settings: -cso.s5p.so2-cobra.convert.filter.lons.var : PRODUCT/longitude -cso.s5p.so2-cobra.convert.filter.lons.type : minmax -cso.s5p.so2-cobra.convert.filter.lons.minmax : ${my.region.west} ${my.region.east} -cso.s5p.so2-cobra.convert.filter.lons.units : degrees_east - -! filter settings: -cso.s5p.so2-cobra.convert.filter.lats.var : PRODUCT/latitude -cso.s5p.so2-cobra.convert.filter.lats.type : minmax -cso.s5p.so2-cobra.convert.filter.lats.minmax : ${my.region.south} ${my.region.north} -cso.s5p.so2-cobra.convert.filter.lats.units : degrees_north - -! 2 pixels on the west side of the track are "no-data", -! also "qa_value" is not filled here; -! therefore need to remove these: -cso.s5p.so2-cobra.convert.filter.valid.var : PRODUCT/sulfurdioxide_total_vertical_column -cso.s5p.so2-cobra.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" -cso.s5p.so2-cobra.convert.filter.quality.var : PRODUCT/qa_value -cso.s5p.so2-cobra.convert.filter.quality.type : min -cso.s5p.so2-cobra.convert.filter.quality.min : 0.5 -cso.s5p.so2-cobra.convert.filter.quality.units : 1 - -!! detection flag for SO2: -!! 0 = no detection, -!! 1 = detection -!! 2 = clear detection close to known volcano -!! 3 = clear detection close to known anthropogenic source -!! 4 = detection at high SZA -!cso.s5p.so2-cobra.convert.filter.detection.var : PRODUCT/SUPPORT_DATA/DETAILED_RESULTS/sulfurdioxide_detection_flag -!cso.s5p.so2-cobra.convert.filter.detection.units : 1 -!cso.s5p.so2-cobra.convert.filter.detection.type : minmax -!cso.s5p.so2-cobra.convert.filter.detection.minmax : 1 3 - - -!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -! output files -!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -! output directory and filename: -! - times are taken from mid of selection, rounded to hours -! - use '%{processing}' for the processing name -! - use '%{orbit}' for orbit number -cso.s5p.so2-cobra.convert.output.filename : ${my.work}/CSO-data/${my.region}/S5p/SO2-COBRA/${my.s5p.so2-cobra.selection}/%Y/%m/S5p_SO2-COBRA_%{orbit}.nc - -! pack variables on output: -cso.s5p.so2-cobra.convert.output.packed : True -! zlib compression level, 0 for no compression: -cso.s5p.so2-cobra.convert.output.complevel : 1 - -! global attributes: -cso.s5p.so2-cobra.convert.output.attrs : format Conventions \ - author institution email -! -cso.s5p.so2-cobra.convert.output.attr.format : ${my.cso.format} -cso.s5p.so2-cobra.convert.output.attr.Conventions : ${my.cso.convention} -cso.s5p.so2-cobra.convert.output.attr.author : ${my.attr.author} -cso.s5p.so2-cobra.convert.output.attr.institution : ${my.attr.institution} -cso.s5p.so2-cobra.convert.output.attr.email : ${my.attr.email} - -! no need to swap layes: -cso.s5p.so2-cobra.convert.swap_layers : False - - -! ~ variables - -! which fields to be put out ? -cso.s5p.so2-cobra.convert.output.vars : longitude longitude_bounds \ - latitude latitude_bounds \ - track_longitude track_longitude_bounds \ - track_latitude track_latitude_bounds \ - time \ - pressure kernel qa_value \ - vcd vcd_errvar \ - detection_flag cloud_fraction solar_zenith_angle ground_pixel - -! -! Describe per variable: -! * .dims : dimensions list: -! pixel : selected pixels -! corner : number of footprint bounds (probably 4) -! layer : number of layers in atmospheric profile (layers in kernel) -! layeri : number of layer interfaces in atmospheric profile (layer+1) -! retr : number of layers in retrieval product (1 for columns) ; -! for error covariance use (retr,retr0) to avoid repeated dimensions -! track_scan : original scan index in 2D track -! track_pixel : original ground pixel in 2D track -! * .specal : keyword to select special processing -! * None : no special processing (default) -! * track_longitude : longitudes at centers of original 2D track -! * track_latitude : latitudes at centers of original 2D track -! * track_longitude_bounds : longitude bounds at centers of original 2D track -! * track_latitude_bounds : latitude bounds at centers of original 2D track -! * .units : target units if different from original -! * .oper : special postprocessing, currently supported: -! * square : fill variable with squared valued (used to form variance from standard deviation) -! In case no special processing is needed: -! * .from : original variable (group path and variable name) -! - -! center longitudes; remove bounds attribute, no coordinate ... -cso.s5p.so2-cobra.convert.output.var.longitude.dims : pixel -cso.s5p.so2-cobra.convert.output.var.longitude.from : PRODUCT/longitude -cso.s5p.so2-cobra.convert.output.var.longitude.attrs : { 'bounds' : None } -! center latitudes; remove bounds attribute, no coordinate ... -cso.s5p.so2-cobra.convert.output.var.latitude.dims : pixel -cso.s5p.so2-cobra.convert.output.var.latitude.from : PRODUCT/latitude -cso.s5p.so2-cobra.convert.output.var.latitude.attrs : { 'bounds' : None } - -! corner longitudes; no units in file: -cso.s5p.so2-cobra.convert.output.var.longitude_bounds.dims : pixel corner -cso.s5p.so2-cobra.convert.output.var.longitude_bounds.from : PRODUCT/SUPPORT_DATA/GEOLOCATIONS/longitude_bounds -cso.s5p.so2-cobra.convert.output.var.longitude_bounds.units : degrees_east -! corner latitudes, no units in file: -cso.s5p.so2-cobra.convert.output.var.latitude_bounds.dims : pixel corner -cso.s5p.so2-cobra.convert.output.var.latitude_bounds.from : PRODUCT/SUPPORT_DATA/GEOLOCATIONS/latitude_bounds -cso.s5p.so2-cobra.convert.output.var.latitude_bounds.units : degrees_north - -! original track: -!~ center lon; remove bounds attribute, no coordinate ... -cso.s5p.so2-cobra.convert.output.var.track_longitude.dims : track_scan track_pixel -cso.s5p.so2-cobra.convert.output.var.track_longitude.special : track_longitude -cso.s5p.so2-cobra.convert.output.var.track_longitude.from : PRODUCT/longitude -cso.s5p.so2-cobra.convert.output.var.track_longitude.attrs : { 'bounds' : None } -!~ center lat; remove bounds attribute, no coordinate ... -cso.s5p.so2-cobra.convert.output.var.track_latitude.dims : track_scan track_pixel -cso.s5p.so2-cobra.convert.output.var.track_latitude.special : track_latitude -cso.s5p.so2-cobra.convert.output.var.track_latitude.from : PRODUCT/latitude -cso.s5p.so2-cobra.convert.output.var.track_latitude.attrs : { 'bounds' : None } -!~ corner lons -cso.s5p.so2-cobra.convert.output.var.track_longitude_bounds.dims : track_scan track_pixel corner -cso.s5p.so2-cobra.convert.output.var.track_longitude_bounds.special : track_longitude_bounds -cso.s5p.so2-cobra.convert.output.var.track_longitude_bounds.from : PRODUCT/SUPPORT_DATA/GEOLOCATIONS/longitude_bounds -cso.s5p.so2-cobra.convert.output.var.track_longitude_bounds.units : degrees_east -!~ corner lats -cso.s5p.so2-cobra.convert.output.var.track_latitude_bounds.dims : track_scan track_pixel corner -cso.s5p.so2-cobra.convert.output.var.track_latitude_bounds.special : track_latitude_bounds -cso.s5p.so2-cobra.convert.output.var.track_latitude_bounds.from : PRODUCT/SUPPORT_DATA/GEOLOCATIONS/latitude_bounds -cso.s5p.so2-cobra.convert.output.var.track_latitude_bounds.units : degrees_north -!~ solar zenith angle -cso.s5p.so2-cobra.convert.output.var.solar_zenith_angle.dims : pixel -cso.s5p.so2-cobra.convert.output.var.solar_zenith_angle.from : PRODUCT/SUPPORT_DATA/GEOLOCATIONS/solar_zenith_angle -cso.s5p.so2-cobra.convert.output.var.solar_zenith_angle.units : degree -! time value per scan line -cso.s5p.so2-cobra.convert.output.var.time.dims : pixel -cso.s5p.so2-cobra.convert.output.var.time.special : time-delta -cso.s5p.so2-cobra.convert.output.var.time.tref : PRODUCT/time -cso.s5p.so2-cobra.convert.output.var.time.dt : PRODUCT/delta_time -! ground position across track -cso.s5p.so2-cobra.convert.output.var.ground_pixel.dims : track_pixel -cso.s5p.so2-cobra.convert.output.var.ground_pixel.special : ground_pixel -cso.s5p.so2-cobra.convert.output.var.ground_pixel.from : PRODUCT/ground_pixel -! vertical column density: -cso.s5p.so2-cobra.convert.output.var.vcd.dims : pixel retr -cso.s5p.so2-cobra.convert.output.var.vcd.from : PRODUCT/sulfurdioxide_total_vertical_column - -! error variance in vertical column density (after application of kernel), -! fill with single element 'covariance matrix', from square of standard error: -! use dims with different names to avoid that cf-checker complains: -cso.s5p.so2-cobra.convert.output.var.vcd_errvar.dims : pixel retr retr0 -cso.s5p.so2-cobra.convert.output.var.vcd_errvar.special : square -cso.s5p.so2-cobra.convert.output.var.vcd_errvar.from : PRODUCT/sulfurdioxide_total_vertical_column_precision -!~ skip standard name, modifier "standard_error" is not valid anymore: -cso.s5p.so2-cobra.convert.output.var.vcd_errvar.attrs : { 'standard_name' : None } - -! Convert from hybride coefficient bounds in (2,nlev) aray to 3D half level pressure: -cso.s5p.so2-cobra.convert.output.var.pressure.dims : pixel layeri -cso.s5p.so2-cobra.convert.output.var.pressure.special : hymid_to_pressure -cso.s5p.so2-cobra.convert.output.var.pressure.sp : PRODUCT/SUPPORT_DATA/INPUT_DATA/surface_pressure -cso.s5p.so2-cobra.convert.output.var.pressure.hyam : PRODUCT/SUPPORT_DATA/INPUT_DATA/tm5_constant_a -cso.s5p.so2-cobra.convert.output.var.pressure.hybm : PRODUCT/SUPPORT_DATA/INPUT_DATA/tm5_constant_b -cso.s5p.so2-cobra.convert.output.var.pressure.units : Pa - -cso.s5p.so2-cobra.convert.output.var.kernel.dims : pixel layer retr -cso.s5p.so2-cobra.convert.output.var.kernel.from : PRODUCT/SUPPORT_DATA/DETAILED_RESULTS/averaging_kernel - -! cloud property: -cso.s5p.so2-cobra.convert.output.var.cloud_fraction.dims : pixel -cso.s5p.so2-cobra.convert.output.var.cloud_fraction.from : PRODUCT/SUPPORT_DATA/INPUT_DATA/cloud_fraction_crb -cso.s5p.so2-cobra.convert.output.var.cloud_fraction.attrs : { 'coordinates' : None, 'source' : None } - -!! cloud property: -!cso.s5p.so2-cobra.convert.output.var.cloud_radiance_fraction.dims : pixel -!cso.s5p.so2-cobra.convert.output.var.cloud_radiance_fraction.from : PRODUCT/SUPPORT_DATA/DETAILED_RESULTS/cloud_radiance_fraction_nitrogendioxide_window -!cso.s5p.so2-cobra.convert.output.var.cloud_radiance_fraction.attrs : { 'coordinates' : None, 'ancillary_variables' : None } - -! quality flag: -cso.s5p.so2-cobra.convert.output.var.qa_value.dims : pixel -cso.s5p.so2-cobra.convert.output.var.qa_value.from : PRODUCT/qa_value -!~ skip some attributes, cf-checker complains ... -cso.s5p.so2-cobra.convert.output.var.qa_value.attrs : { 'valid_min' : None, 'valid_max' : None } - -! detection flag: -cso.s5p.so2-cobra.convert.output.var.detection_flag.dims : pixel -cso.s5p.so2-cobra.convert.output.var.detection_flag.from : PRODUCT/SUPPORT_DATA/DETAILED_RESULTS/sulfurdioxide_detection_flag -cso.s5p.so2-cobra.convert.output.var.detection_flag.attrs : { 'coordinates' : None } -cso.s5p.so2-cobra.convert.output.var.detection_flag.dtype : i1 - - -!====================================================================== -!=== -!=== listing -!=== -!====================================================================== - -! csv file that will hold records per file with: -! - timerange of pixels in file -! - orbit number -cso.s5p.so2-cobra.listing.file : ${my.work}/CSO-data/${my.region}/S5p/SO2-COBRA/${my.s5p.so2-cobra.selection}__listing.csv - -! renew table if file already exists? -cso.s5p.so2-cobra.listing.renew : True - -! time range: -cso.s5p.so2-cobra.listing.timerange.start : ${my.timerange.start} -cso.s5p.so2-cobra.listing.timerange.end : ${my.timerange.end} - -! filename filters relative to listing file that should be scanned for orbit files; -! names could include time templates ; -! if same orbit is found in multiple directories, the first found is used; -! remove existing table for safety to ensure that this is done correctly ... -cso.s5p.so2-cobra.listing.patterns : ${my.s5p.so2-cobra.selection}/%Y/%m/S5p_*.nc - -! extra columns to be added, read from global attributes: -cso.s5p.so2-cobra.listing.xcolumns : orbit - - -!====================================================================== -!=== -!=== catalogue -!=== -!====================================================================== - -! listing file with filenames/timerange. -cso.s5p.so2-cobra.catalogue.input.listing : ${cso.s5p.so2-cobra.listing.file} - -! time range: -cso.s5p.so2-cobra.catalogue.timerange.start : ${my.timerange.start} -cso.s5p.so2-cobra.catalogue.timerange.end : ${my.timerange.end} - -! target filenames; templates: -! - time values -! - %{orbit} : from listing -! - %{varname} for variable -cso.s5p.so2-cobra.catalogue.output.file : ${my.work}/CSO-data-catalogue/${my.region}/S5p/SO2-COBRA/${my.s5p.so2-cobra.selection}/%Y/%m/%d/S5p_SO2-COBRA_%{orbit}__%{varname}.png - -! map domain (west east south north) -cso.s5p.so2-cobra.catalogue.domain : ${my.region.west} ${my.region.east} ${my.region.south} ${my.region.north} - -! figure size (inches), default is (8,6): -cso.s5p.so2-cobra.catalogue.figsize : ${my.region.figsize} - -! renew existing files? -!cso.s5p.so2-cobra.catalogue.renew : False -cso.s5p.so2-cobra.catalogue.renew : True - -! variables to be plotted: -cso.s5p.so2-cobra.catalogue.vars : vcd vcd_errvar qa_value \ - cloud_fraction detection_flag solar_zenith_angle - -!! color for no-data values in track, default '0.8' (gray): -!cso.s5p.so2-cobra.catalogue.color_nan : white - -!! extra keyword arguments for map: -!cso.s5p.so2-cobra.catalogue.map : resolution='h' - -! convert units: -cso.s5p.so2-cobra.catalogue.var.vcd.units : umol/m2 -! style: -cso.s5p.so2-cobra.catalogue.var.vcd.vmin : 0.0 -cso.s5p.so2-cobra.catalogue.var.vcd.vmax : 100.0 - -! show error as std.dev, convert to vcd units: -cso.s5p.so2-cobra.catalogue.var.vcd_errvar.units : umol/m2 -! style: -cso.s5p.so2-cobra.catalogue.var.vcd_errvar.vmax : 100.0 - -! style: -cso.s5p.so2-cobra.catalogue.var.qa_value.vmin : 0.5 -cso.s5p.so2-cobra.catalogue.var.qa_value.vmax : 1.0 -cso.s5p.so2-cobra.catalogue.var.qa_value.colors : ['red','yellow','green'] - -! style: -cso.s5p.so2-cobra.catalogue.var.solar_zenith_angle.vmin : 0 -cso.s5p.so2-cobra.catalogue.var.solar_zenith_angle.vmax : 90 - -! style: -cso.s5p.so2-cobra.catalogue.var.detection_flag.vmin : 0 -cso.s5p.so2-cobra.catalogue.var.detection_flag.vmax : 4 -cso.s5p.so2-cobra.catalogue.var.detection_flag.colors : ['purple','red','yellow','green','blue'] - -! style: -cso.s5p.so2-cobra.catalogue.var.cloud_fraction.vmax : 1.0 -cso.s5p.so2-cobra.catalogue.var.cloud_fraction.colors : ['blue','cyan','white'] - -!! style: -!cso.s5p.so2-cobra.catalogue.var.cloud_radiance_fraction.vmax : 1.0 -!cso.s5p.so2-cobra.catalogue.var.cloud_radiance_fraction.colors : ['blue','cyan','white'] - - -!----------------------------------------------------------- -! catalogue index -!----------------------------------------------------------- - -! target location: -cso.s5p.so2-cobra.catalogue-index.outdir : ${my.work}/CSO-data-catalogue/${my.region}/S5p/SO2-COBRA/${my.s5p.so2-cobra.selection} - -! title: -cso.s5p.so2-cobra.catalogue-index.header : CSO catalogue -! show info on created page? -cso.s5p.so2-cobra.catalogue-index.info : True - -! create new page for each value? -cso.s5p.so2-cobra.catalogue-index.newpage : True - -! content type: -cso.s5p.so2-cobra.catalogue-index.type : list -! define row values: -cso.s5p.so2-cobra.catalogue-index.name : date -cso.s5p.so2-cobra.catalogue-index.values : TimeSeries( ${my.timerange.start}, ${my.timerange.end}, '1 day', '%Y%m%d' ) - -! create new page for each value: -cso.s5p.so2-cobra.catalogue-index.date.newpage : True -! content type: -cso.s5p.so2-cobra.catalogue-index.date.type : table-row -! define row values: -cso.s5p.so2-cobra.catalogue-index.date.name : orbit -cso.s5p.so2-cobra.catalogue-index.date.values : CsvFile( '%{date[0:4]}/%{date[4:6]}/%{date[6:8]}/orbits.csv' ) - -! content type: -cso.s5p.so2-cobra.catalogue-index.date.orbit.type : table-col -! define column values: -cso.s5p.so2-cobra.catalogue-index.date.orbit.name : var -cso.s5p.so2-cobra.catalogue-index.date.orbit.values : ${cso.s5p.so2-cobra.catalogue.vars} - -! content type: -cso.s5p.so2-cobra.catalogue-index.date.orbit.var.type : img -! define image: -cso.s5p.so2-cobra.catalogue-index.date.orbit.var.img : %{date[0:4]}/%{date[4:6]}/%{date[6:8]}/S5p_SO2-COBRA_%{orbit}__%{var}.png -cso.s5p.so2-cobra.catalogue-index.date.orbit.var.kwargs : height=300 - - - -!!====================================================================== -!!=== -!!=== gridded orbits -!!=== -!!====================================================================== -! -! -!!----------------------------------------------------------- -!! gridded orbits -!!----------------------------------------------------------- -! -!! time range: -!cso.s5p.so2-cobra.gridded.timerange.start : ${my.timerange.start} -!cso.s5p.so2-cobra.gridded.timerange.end : ${my.timerange.end} -!! create one gridded file per hour: -!cso.s5p.so2-cobra.gridded.timerange.step : hour -! -!! renew existing files? -!cso.s5p.so2-cobra.gridded.renew : True -! -!! target directory, incl. subdir for resolution and filters: -!my.gridded.dir : ${my.work}/CSO-gridded/${my.region}__r01x01/S5p/SO2-COBRA/${my.s5p.so2-cobra.selection}__${my.s5p.so2-cobra.gridded-selection} -! -!!~ -! -!! grid definition: -!!~ same as pixel selection on conversion: -!cso.s5p.so2-cobra.gridded.grid.west : ${my.region.west} -!cso.s5p.so2-cobra.gridded.grid.east : ${my.region.east} -!cso.s5p.so2-cobra.gridded.grid.south : ${my.region.south} -!cso.s5p.so2-cobra.gridded.grid.north : ${my.region.north} -!! resolution: -!cso.s5p.so2-cobra.gridded.grid.dlon : 0.1 -!cso.s5p.so2-cobra.gridded.grid.dlat : 0.1 -! -!! level of recursive splitting of footprint into triangles, -!! and assignment of centroids to grid cells; -!! for 4-corner footprints, number of centroids is: -!! 1 (levels=0), 4 (1), 8 (2), 16 (3), 64 (5), 256 (7) -!cso.s5p.so2-cobra.gridded.mapping.levels : 5 -! -!!~ -! -!! keywords for source files; -!! the first one should have the footprints; -!! here the only source are the converted files: -!cso.s5p.so2-cobra.gridded.sources : data -! -!! input files for each source type: -!!~ here: specify listing file, -!! this is only supported for a single source -!cso.s5p.so2-cobra.gridded.source.data.listing : ${cso.s5p.so2-cobra.listing.file} -!!!~ alternative: filename patterns with time templates, -!!! but here the source files do not have time stamps -!!cso.s5p.so2-cobra.gridded.source.data.filenames : ${my.work}/CSO-data/S5p/RPRO/SO2/${my.region}/%Y/%m/S5p_*.nc -! -!!~ -! -!! filter description: -!my.s5p.so2-cobra.gridded-selection : qa08 -! -!! switch: -!#if "${my.s5p.so2-cobra.gridded-selection}" == "qa08" -! -!! keywords for filters: -!cso.s5p.so2-cobra.gridded.filters : quality -! -!! minimum quality value required: -!cso.s5p.so2-cobra.gridded.filter.quality.var : qa_value -!cso.s5p.so2-cobra.gridded.filter.quality.type : min -!cso.s5p.so2-cobra.gridded.filter.quality.min : 0.8 -!cso.s5p.so2-cobra.gridded.filter.quality.units : 1 -! -!#else -!#error unsupported my.s5p.so2-cobra.gridded-selection "${my.s5p.so2-cobra.gridded-selection}" -!#endif -! -! -!!~ -! -!! target file, might contain templates: -!! %Y,%m,etc : time values -!cso.s5p.so2-cobra.gridded.output.file : ${my.gridded.dir}/%Y/%m/S5p_SO2-COBRA_%Y%m%d_%H%M_gridded.nc -! -!! pack floats as short values? -!cso.s5p.so2-cobra.gridded.output.packed : True -!! zlib compression level (default 1, 0 for no compression): -!cso.s5p.so2-cobra.gridded.output.complevel : 1 -! -!! data variables to be created: -!cso.s5p.so2-cobra.gridded.output.vars : yr -! -!! input variables: -!! data:vcd : variable "vcd" from source "data" -!cso.s5p.so2-cobra.gridded.output.yr.source : data:vcd -! -! -!!----------------------------------------------------------- -!! catalogue of gridded fields -!!----------------------------------------------------------- -! -!! time range: -!cso.s5p.so2-cobra.gridded-catalogue.timerange.start : ${my.timerange.start} -!cso.s5p.so2-cobra.gridded-catalogue.timerange.end : ${my.timerange.end} -!! create one gridded file per hour: -!cso.s5p.so2-cobra.gridded-catalogue.timerange.step : hour -! -!! renew existing files? -!cso.s5p.so2-cobra.gridded-catalogue.renew : True -!!cso.s5p.so2-cobra.gridded-catalogue.renew : False -! -!! target directory for catalogue: -!my.so2-cobra.gridded-catalogue.output.dir : ${my.gridded.dir}/catalogue -! -!! input files: -!cso.s5p.so2-cobra.gridded-catalogue.input.file : ${my.gridded.dir}/%Y/%m/S5p_SO2-COBRA_%Y%m%d_%H%M_gridded.nc -!!!~ idem for daily average: -!!cso.s5p.so2-cobra.gridded-catalogue.input.file : ${my.gridded.dir}/S5p_SO2-COBRA_%Y%m%d_aver_gridded.nc -! -!! target files, time tempates and variable name are replaced: -!cso.s5p.so2-cobra.gridded-catalogue.output.file : ${my.so2-cobra.gridded-catalogue.output.dir}/%Y/%m/%d/S5p_SO2-COBRA_%Y%m%d_%H%M_gridded_%{var}.png -!!!~ idem for daily average: -!!cso.s5p.so2-cobra.gridded-catalogue.output.file : ${my.so2-cobra.gridded-catalogue.output.dir}/%Y/%m/%d/S5p_SO2-COBRA_%Y%m%d_aver_gridded_%{var}.png -! -!! figure size (inches), default is (8,6): -!cso.s5p.so2-cobra.gridded-catalogue.figsize : (6,6) -! -!! variables to be plotted: -!cso.s5p.so2-cobra.gridded-catalogue.vars : yr -! -!! variable: -!cso.s5p.so2-cobra.gridded-catalogue.var.yr.source : yr -!! convert units: -!cso.s5p.so2-cobra.gridded-catalogue.var.yr.units : umol/m2 -!! style: -!cso.s5p.so2-cobra.gridded-catalogue.var.yr.vmin : 0.0 -!cso.s5p.so2-cobra.gridded-catalogue.var.yr.vmax : 100.0 -! -! -! -! -!!----------------------------------------------------------- -!! gridded catalogue index -!!----------------------------------------------------------- -! -!! target location: -!cso.s5p.so2-cobra.gridded-catalogue-index.outdir : ${my.so2-cobra.gridded-catalogue.output.dir} -! -!! title: -!cso.s5p.so2-cobra.gridded-catalogue-index.header : CSO catalogue -!! show info on created page? -!cso.s5p.so2-cobra.gridded-catalogue-index.info : True -! -!! create new page for each value? -!cso.s5p.so2-cobra.gridded-catalogue-index.newpage : True -! -!! content type: -!cso.s5p.so2-cobra.gridded-catalogue-index.type : list -!! define row values: -!cso.s5p.so2-cobra.gridded-catalogue-index.name : date -!cso.s5p.so2-cobra.gridded-catalogue-index.values : TimeSeries( ${my.timerange.start}, ${my.timerange.end}, '1 day', '%Y%m%d' ) -! -!! create new page for each value: -!cso.s5p.so2-cobra.gridded-catalogue-index.date.newpage : True -!! content type: -!cso.s5p.so2-cobra.gridded-catalogue-index.date.type : table-row -!! define row values: -!cso.s5p.so2-cobra.gridded-catalogue-index.date.name : time -!cso.s5p.so2-cobra.gridded-catalogue-index.date.values : Range( 0, 23, 1, '%2.2i00' ) -! -!! content type: -!cso.s5p.so2-cobra.gridded-catalogue-index.date.time.type : table-col -!! define column values: -!cso.s5p.so2-cobra.gridded-catalogue-index.date.time.name : var -!cso.s5p.so2-cobra.gridded-catalogue-index.date.time.values : ${cso.s5p.so2-cobra.gridded-catalogue.vars} -! -!! content type: -!cso.s5p.so2-cobra.gridded-catalogue-index.date.time.var.type : img -!! define image: -!cso.s5p.so2-cobra.gridded-catalogue-index.date.time.var.img : %{date[0:4]}/%{date[4:6]}/%{date[6:8]}/S5p_SO2-COBRA_%{date}_%{time}_gridded_%{var}.png -!cso.s5p.so2-cobra.gridded-catalogue-index.date.time.var.kwargs : height=300 -! -! -! -!!====================================================================== -!!=== -!!=== simulation catalogue -!!=== -!!====================================================================== -! -! -!!----------------------------------------------------------- -!! simulation catalogue -!!----------------------------------------------------------- -! -!! time range: -!cso.s5p.so2-cobra.sim-catalogue.timerange.start : ${my.timerange.start} -!cso.s5p.so2-cobra.sim-catalogue.timerange.end : ${my.timerange.end} -!cso.s5p.so2-cobra.sim-catalogue.timerange.step : hour -! -!! input files: -!cso.s5p.so2-cobra.sim-catalogue.input.data.file : ${my.work}/CSO-oper/CSO_output_%Y%m%d_%H%M_data.nc -!cso.s5p.so2-cobra.sim-catalogue.input.state.file : ${my.work}/CSO-oper/CSO_output_%Y%m%d_%H%M_state.nc -! -!! target files, time tempates and variable name are replaced: -!cso.s5p.so2-cobra.sim-catalogue.output.file : ${my.work}/CSO-data-sim-catalogue/S5p/SO2-COBRA/${my.region}/%Y/%m/%d/S5p_SO2-COBRA_%Y%m%d_%H%M_%{var}.png -! -!! map domain used for simulations (west east south north): -!cso.s5p.so2-cobra.sim-catalogue.domain : ${my.region.west} ${my.region.east} ${my.region.south} ${my.region.north} -! -!! figure size (inches), default is (8,6): -!cso.s5p.so2-cobra.sim-catalogue.figsize : ${my.region.figsize} -! -!! renew existing files? -!cso.s5p.so2-cobra.sim-catalogue.renew : False -!!cso.s5p.so2-cobra.sim-catalogue.renew : True -! -!! variables to be plotted: -!cso.s5p.so2-cobra.sim-catalogue.vars : yr ys yr_m ys_m -! -!! variable: -!cso.s5p.so2-cobra.sim-catalogue.var.yr.source : data:yr -!! convert units: -!cso.s5p.so2-cobra.sim-catalogue.var.yr.units : umol/m2 -!! style: -!cso.s5p.so2-cobra.sim-catalogue.var.yr.vmin : 0.0 -!cso.s5p.so2-cobra.sim-catalogue.var.yr.vmax : 100.0 -! -!! variable: -!cso.s5p.so2-cobra.sim-catalogue.var.ys.source : state:ys -!! convert units: -!cso.s5p.so2-cobra.sim-catalogue.var.ys.units : umol/m2 -!! style: -!cso.s5p.so2-cobra.sim-catalogue.var.ys.vmin : 0.0 -!cso.s5p.so2-cobra.sim-catalogue.var.ys.vmax : 100.0 -! -!! variable: -!cso.s5p.so2-cobra.sim-catalogue.var.yr_m.source : state:yr_m -!! convert units: -!cso.s5p.so2-cobra.sim-catalogue.var.yr_m.units : umol/m2 -!! style: -!cso.s5p.so2-cobra.sim-catalogue.var.yr_m.vmin : 0.0 -!cso.s5p.so2-cobra.sim-catalogue.var.yr_m.vmax : 100.0 -! -!! variable: -!cso.s5p.so2-cobra.sim-catalogue.var.ys_m.source : state:ys_m -!! convert units: -!cso.s5p.so2-cobra.sim-catalogue.var.ys_m.units : umol/m2 -!! style: -!cso.s5p.so2-cobra.sim-catalogue.var.ys_m.vmin : 0.0 -!cso.s5p.so2-cobra.sim-catalogue.var.ys_m.vmax : 100.0 -! -! -! -!!----------------------------------------------------------- -!! sim catalogue index -!!----------------------------------------------------------- -! -!! target location: -!cso.s5p.so2-cobra.sim-catalogue-index.outdir : ${my.work}/CSO-sim-catalogue/S5p/SO2-COBRA/${my.region} -! -!! title: -!cso.s5p.so2-cobra.sim-catalogue-index.header : CSO catalogue -!! show info on created page? -!cso.s5p.so2-cobra.sim-catalogue-index.info : True -! -!! create new page for each value? -!cso.s5p.so2-cobra.sim-catalogue-index.newpage : True -! -!! content type: -!cso.s5p.so2-cobra.sim-catalogue-index.type : list -!! define row values: -!cso.s5p.so2-cobra.sim-catalogue-index.name : date -!cso.s5p.so2-cobra.sim-catalogue-index.values : TimeSeries( ${my.timerange.start}, ${my.timerange.end}, '1 day', '%Y%m%d' ) -! -!! create new page for each value: -!cso.s5p.so2-cobra.sim-catalogue-index.date.newpage : True -!! content type: -!cso.s5p.so2-cobra.sim-catalogue-index.date.type : table-row -!! define row values: -!cso.s5p.so2-cobra.sim-catalogue-index.date.name : time -!cso.s5p.so2-cobra.sim-catalogue-index.date.values : Range( 0, 23, 1, '%2.2i00' ) -! -!! content type: -!cso.s5p.so2-cobra.sim-catalogue-index.date.time.type : table-col -!! define column values: -!cso.s5p.so2-cobra.sim-catalogue-index.date.time.name : var -!cso.s5p.so2-cobra.sim-catalogue-index.date.time.values : ${cso.s5p.so2-cobra.sim-catalogue.vars} -! -!! content type: -!cso.s5p.so2-cobra.sim-catalogue-index.date.time.var.type : img -!! define image: -!cso.s5p.so2-cobra.sim-catalogue-index.date.time.var.img : %{date[0:4]}/%{date[4:6]}/%{date[6:8]}/S5p_SO2-COBRA_%{date}_%{time}_%{var}.png -!cso.s5p.so2-cobra.sim-catalogue-index.date.time.var.kwargs : height=300 -! -! -! -!!====================================================================== -!!=== -!!=== gridded simulated orbits -!!=== -!!====================================================================== -! -! -!!----------------------------------------------------------- -!! gridded orbits -!!----------------------------------------------------------- -! -!! time range: -!cso.s5p.so2-cobra.sim-gridded.timerange.start : ${my.timerange.start} -!cso.s5p.so2-cobra.sim-gridded.timerange.end : ${my.timerange.end} -!! create one gridded file per hour: -!cso.s5p.so2-cobra.sim-gridded.timerange.step : hour -! -!! renew existing files? -!cso.s5p.so2-cobra.sim-gridded.renew : True -!!cso.s5p.so2-cobra.sim-gridded.renew : False -! -!! target directory, incl. subdir for resolution and filters: -!my.sim-gridded.dir : ${my.work}/CSO-sim-gridded/${my.region}__r01x01__qa08 -! -!!~ -! -!! testing .. -!my.gridded.region : ${my.region} -!! grid definition: -!!!~ same as pixel selection on conversion: -!!cso.s5p.so2-cobra.sim-gridded.grid.west : ${my.region.west} -!!cso.s5p.so2-cobra.sim-gridded.grid.east : ${my.region.east} -!!cso.s5p.so2-cobra.sim-gridded.grid.south : ${my.region.south} -!!cso.s5p.so2-cobra.sim-gridded.grid.north : ${my.region.north} -!!~ observation operator tutorial: -!cso.s5p.so2-cobra.sim-gridded.grid.west : -10 -!cso.s5p.so2-cobra.sim-gridded.grid.east : 30 -!cso.s5p.so2-cobra.sim-gridded.grid.south : 35 -!cso.s5p.so2-cobra.sim-gridded.grid.north : 65 -!! resolution: -!cso.s5p.so2-cobra.sim-gridded.grid.dlon : 0.1 -!cso.s5p.so2-cobra.sim-gridded.grid.dlat : 0.1 -! -!! level of recursive splitting of footprint into triangles, -!! and assignment of centroids to grid cells; -!! for 4-corner footprints, number of centroids is: -!! 1 (levels=0), 4 (1), 8 (2), 16 (3), 64 (5), 256 (7) -!cso.s5p.so2-cobra.sim-gridded.mapping.levels : 5 -! -!!~ -! -!! keywords for source files; -!! the first one should have the footprints: -!cso.s5p.so2-cobra.sim-gridded.sources : data state -! -!! input files for each source type: -!cso.s5p.so2-cobra.sim-gridded.source.data.filenames : ${my.work}/CSO-oper/CSO_output_%Y%m%d_%H%M_data.nc -!cso.s5p.so2-cobra.sim-gridded.source.state.filenames : ${my.work}/CSO-oper/CSO_output_%Y%m%d_%H%M_state.nc -! -!!~ -! -!! keywords for filters: -!cso.s5p.so2-cobra.sim-gridded.filters : quality -! -!! minimum quality value required: -!cso.s5p.so2-cobra.sim-gridded.filter.quality.var : qa_value -!cso.s5p.so2-cobra.sim-gridded.filter.quality.type : min -!cso.s5p.so2-cobra.sim-gridded.filter.quality.min : 0.8 -!cso.s5p.so2-cobra.sim-gridded.filter.quality.units : 1 -! -!!~ -! -!! target file, might contain templates: -!! %Y,%m,etc : time values -!! %{basename} : basename (without extension) of first source file -!cso.s5p.so2-cobra.sim-gridded.output.file : ${my.sim-gridded.dir}/%Y/%m/CSO_output_%Y%m%d_%H%M_gridded.nc -! -!! pack variables on output: -!cso.s5p.so2-cobra.sim-gridded.output.packed : True -!! zlib compression level, 0 for no compression: -!cso.s5p.so2-cobra.sim-gridded.output.complevel : 1 -! -!! data variables to be created: -!cso.s5p.so2-cobra.sim-gridded.output.vars : yr ys yr_m ys_m -! -!! input variables: -!! data:yr : from data file -!! state:ys : from state file -!cso.s5p.so2-cobra.sim-gridded.output.yr.source : data:yr -!cso.s5p.so2-cobra.sim-gridded.output.ys.source : state:ys -!cso.s5p.so2-cobra.sim-gridded.output.yr_m.source : state:yr_m -!cso.s5p.so2-cobra.sim-gridded.output.ys_m.source : state:ys_m -! -! -!!----------------------------------------------------------- -!! catalogue of gridded simulations -!!----------------------------------------------------------- -! -!! time range: -!cso.s5p.so2-cobra.sim-gridded-catalogue.timerange.start : ${my.timerange.start} -!cso.s5p.so2-cobra.sim-gridded-catalogue.timerange.end : ${my.timerange.end} -!! hourly fields: -!cso.s5p.so2-cobra.sim-gridded-catalogue.timerange.step : hour -! -!! renew existing files? -!cso.s5p.so2-cobra.sim-gridded-catalogue.renew : True -!!cso.s5p.so2-cobra.sim-gridded-catalogue.renew : False -! -!! input files: -!cso.s5p.so2-cobra.sim-gridded-catalogue.input.file : ${my.sim-gridded.dir}/%Y/%m/CSO_output_%Y%m%d_%H%M_gridded.nc -!!!~ idem for daily average: -!!cso.s5p.so2-cobra.sim-gridded-catalogue.input.file : ${my.sim-gridded.dir}/CSO_output_%Y%m%d_aver_gridded.nc -! -!! target files, time tempates and variable name are replaced: -!cso.s5p.so2-cobra.sim-gridded-catalogue.output.file : ${my.sim-gridded.dir}/catalogue/%Y/%m/%d/S5p_SO2-COBRA_%Y%m%d_%H%M_gridded_%{var}.png -!!!~ idem for daily average: -!!cso.s5p.so2-cobra.sim-gridded-catalogue.output.file : ${my.sim-gridded.dir}/catalogue/%Y/%m/%d/S5p_SO2-COBRA_%Y%m%d_aver_gridded_%{var}.png -! -!! figure size (inches), default is (8,6): -!cso.s5p.so2-cobra.sim-gridded-catalogue.figsize : (6,6) -! -!! variables to be plotted: -!cso.s5p.so2-cobra.sim-gridded-catalogue.vars : yr ys yr_m ys_m -! -!! variable: -!cso.s5p.so2-cobra.sim-gridded-catalogue.var.yr.source : yr -!! convert units: -!cso.s5p.so2-cobra.sim-gridded-catalogue.var.yr.units : umol/m2 -!! style: -!cso.s5p.so2-cobra.sim-gridded-catalogue.var.yr.vmin : 0.0 -!cso.s5p.so2-cobra.sim-gridded-catalogue.var.yr.vmax : 100.0 -! -!! variable: -!cso.s5p.so2-cobra.sim-gridded-catalogue.var.ys.source : ys -!! convert units: -!cso.s5p.so2-cobra.sim-gridded-catalogue.var.ys.units : umol/m2 -!! style: -!cso.s5p.so2-cobra.sim-gridded-catalogue.var.ys.vmin : 0.0 -!cso.s5p.so2-cobra.sim-gridded-catalogue.var.ys.vmax : 100.0 -! -!! variable: -!cso.s5p.so2-cobra.sim-gridded-catalogue.var.yr_m.source : yr_m -!! convert units: -!cso.s5p.so2-cobra.sim-gridded-catalogue.var.yr_m.units : umol/m2 -!! style: -!cso.s5p.so2-cobra.sim-gridded-catalogue.var.yr_m.vmin : 0.0 -!cso.s5p.so2-cobra.sim-gridded-catalogue.var.yr_m.vmax : 100.0 -! -!! variable: -!cso.s5p.so2-cobra.sim-gridded-catalogue.var.ys_m.source : ys_m -!! convert units: -!cso.s5p.so2-cobra.sim-gridded-catalogue.var.ys_m.units : umol/m2 -!! style: -!cso.s5p.so2-cobra.sim-gridded-catalogue.var.ys_m.vmin : 0.0 -!cso.s5p.so2-cobra.sim-gridded-catalogue.var.ys_m.vmax : 100.0 -! -! -! -!!----------------------------------------------------------- -!! gridded catalogue index -!!----------------------------------------------------------- -! -!! target location: -!cso.s5p.so2-cobra.sim-gridded-catalogue-index.outdir : ${my.sim-gridded.dir}/catalogue -! -!! title: -!cso.s5p.so2-cobra.sim-gridded-catalogue-index.header : CSO catalogue -!! show info on created page? -!cso.s5p.so2-cobra.sim-gridded-catalogue-index.info : True -! -!! create new page for each value? -!cso.s5p.so2-cobra.sim-gridded-catalogue-index.newpage : True -! -!! content type: -!cso.s5p.so2-cobra.sim-gridded-catalogue-index.type : list -!! define row values: -!cso.s5p.so2-cobra.sim-gridded-catalogue-index.name : date -!cso.s5p.so2-cobra.sim-gridded-catalogue-index.values : TimeSeries( ${my.timerange.start}, ${my.timerange.end}, '1 day', '%Y%m%d' ) -! -!! create new page for each value: -!cso.s5p.so2-cobra.sim-gridded-catalogue-index.date.newpage : True -!! content type: -!cso.s5p.so2-cobra.sim-gridded-catalogue-index.date.type : table-row -!! define row values: -!cso.s5p.so2-cobra.sim-gridded-catalogue-index.date.name : time -!cso.s5p.so2-cobra.sim-gridded-catalogue-index.date.values : Range( 0, 23, 1, '%2.2i00' ) -! -!! content type: -!cso.s5p.so2-cobra.sim-gridded-catalogue-index.date.time.type : table-col -!! define column values: -!cso.s5p.so2-cobra.sim-gridded-catalogue-index.date.time.name : var -!cso.s5p.so2-cobra.sim-gridded-catalogue-index.date.time.values : ${cso.s5p.so2-cobra.sim-gridded-catalogue.vars} -! -!! content type: -!cso.s5p.so2-cobra.sim-gridded-catalogue-index.date.time.var.type : img -!! define image: -!cso.s5p.so2-cobra.sim-gridded-catalogue-index.date.time.var.img : %{date[0:4]}/%{date[4:6]}/%{date[6:8]}/S5p_SO2-COBRA_%{date}_%{time}_gridded_%{var}.png -!cso.s5p.so2-cobra.sim-gridded-catalogue-index.date.time.var.kwargs : height=300 -! -! -!====================================================================== -!=== -!=== end -!=== -!====================================================================== - - diff --git a/config/Copernicus/cso.rc b/config/Copernicus/cso.rc index bc97fd1..684eb52 100644 --- a/config/Copernicus/cso.rc +++ b/config/Copernicus/cso.rc @@ -19,11 +19,10 @@ CSO_RCDIR : #include cso-user-settings.rc ! selected tracers: -!my.tracers : no2 so2 so2-cobra hcho co chocho +!my.tracers : no2 so2 hcho co chocho !~ one by one .. my.tracers : no2 !my.tracers : so2 -!my.tracers : so2-cobra !my.tracers : hcho !my.tracers : co !my.tracers : o3-col @@ -83,10 +82,8 @@ cso.s5p.TRACER.inquire.class : utopya.UtopyaJobStep #if "TRACER" in ["no2","so2","hcho","co","o3-pr","o3-col"] cso.s5p.TRACER.inquire.tasks : table-dataspace plot !cso.s5p.TRACER.inquire.tasks : table-colhub-mirror table-colhub-missing -#elif "TRACER" in ["so2-cobra"] -cso.s5p.TRACER.inquire.tasks : table-pal plot #elif "TRACER" in ["chocho"] -cso.s5p.TRACER.inquire.tasks : table-glyretro table-pal plot +cso.s5p.TRACER.inquire.tasks : table-pal plot #else #error unsupported tracer "TRACER" #endif @@ -106,10 +103,6 @@ cso.s5p.TRACER.inquire.table-colhub-missing.args : '${my.work}/rc/cso-s5p-TRAC cso.s5p.TRACER.inquire.table-pal.class : cso.CSO_PAL_Inquire cso.s5p.TRACER.inquire.table-pal.args : '${my.work}/rc/cso-s5p-TRACER.rc', \ rcbase='cso.s5p.TRACER.inquire-table-pal' -!~ inquire files downloaded from GlyRetro: -cso.s5p.TRACER.inquire.table-glyretro.class : cso.CSO_S5p_Download_Listing -cso.s5p.TRACER.inquire.table-glyretro.args : '${my.work}/rc/cso-s5p-TRACER.rc', \ - rcbase='cso.s5p.TRACER.inquire-table-glyretro' !~ create plot of available versions: cso.s5p.TRACER.inquire.plot.class : cso.CSO_Inquire_Plot cso.s5p.TRACER.inquire.plot.args : '${my.work}/rc/cso-s5p-TRACER.rc', \ diff --git a/doc/source/index.rst b/doc/source/index.rst index 943c063..a5c01be 100644 --- a/doc/source/index.rst +++ b/doc/source/index.rst @@ -32,7 +32,6 @@ Contents tutorial s5p-no2 s5p-so2 - s5p-so2-cobra s5p-hcho s5p-co s5p-chocho diff --git a/doc/source/s5p-so2-cobra.rst b/doc/source/s5p-so2-cobra.rst deleted file mode 100644 index ec32e78..0000000 --- a/doc/source/s5p-so2-cobra.rst +++ /dev/null @@ -1,507 +0,0 @@ - -.. Label between '.. _' and ':' ; use :ref:`text