TNO Intern

Skip to content
Commits on Source (6)
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class
# Fortran objects
*.mod
*.o
*.x
...@@ -244,9 +244,13 @@ Use pandas concat to combine dataframes. ...@@ -244,9 +244,13 @@ Use pandas concat to combine dataframes.
py/cso_pal.py py/cso_pal.py
Replaced `where` concstructs by loops after memory errors in output filling. Replaced `where` concstructs by loops after memory errors in output filling.
oper/src/cso_ncfile oper/src/cso_ncfile.F90
Check on `pix_all` value to know if pixels are assigned to any of the sub-domains. Check on `pix_all` value to know if pixels are assigned to any of the sub-domains.
src/tutorial_oper_S5p.F90 src/tutorial_oper_S5p.F90
Migration from Copernicus SciHub to DataSpace.
bin/dhusget.sh
doc/source/*
py/*
config/*
...@@ -15,6 +15,9 @@ History ...@@ -15,6 +15,9 @@ History
2023-08, Arjo Segers 2023-08, Arjo Segers
Define 'CSO_PREFIX' environment variable for use in rcfile settings. Define 'CSO_PREFIX' environment variable for use in rcfile settings.
2023-11, Arjo Segers
Reformatted using 'black'.
""" """
...@@ -30,7 +33,7 @@ import logging ...@@ -30,7 +33,7 @@ import logging
# prefix of CSO installation: # prefix of CSO installation:
prefix = os.path.abspath(os.path.join(os.path.dirname(sys.argv[0]), os.pardir)) prefix = os.path.abspath(os.path.join(os.path.dirname(sys.argv[0]), os.pardir))
# extend path: # extend path:
sys.path.insert( 0, os.path.join(prefix,'py') ) sys.path.insert(0, os.path.join(prefix, "py"))
# tools: # tools:
import utopya import utopya
...@@ -41,41 +44,41 @@ import utopya ...@@ -41,41 +44,41 @@ import utopya
# ------------------------------------------------- # -------------------------------------------------
# set environment: # set environment:
os.environ['CSO_PREFIX'] = prefix os.environ["CSO_PREFIX"] = prefix
# init script: # init script:
utos = utopya.UtopyaRunScriptRc() utos = utopya.UtopyaRunScriptRc()
# setup standard command line arguments, and also enable rcfile arguments: # setup standard command line arguments, and also enable rcfile arguments:
utos.ArgumentsSetup( description='CAMS Satellite Operator', rcbase='cso' ) utos.ArgumentsSetup(description="CAMS Satellite Operator", rcbase="cso")
# evaluate known arguments, store the other ; # evaluate known arguments, store the other ;
# might show help text and exit: # might show help text and exit:
args, xargs = utos.ArgumentsParse() args, xargs = utos.ArgumentsParse()
# start, shout info: # start, shout info:
logging.info( '' ) logging.info(f"")
logging.info( '** CSO - CAMS Satellite Operator **' ) logging.info(f"** CSO - CAMS Satellite Operator **")
logging.info( '' ) logging.info(f"")
logging.info( 'installation prefix : %s' % prefix ) logging.info(f"installation prefix : {prefix}")
logging.info( 'input rcfile : %s' % args.rcfile ) logging.info(f"input rcfile : {args.rcfile}")
logging.info( 'settings base : %s' % args.rcbase ) logging.info(f"settings base : {args.rcbase}")
logging.info( '' ) logging.info(f"")
# info ... # info ...
logging.info( 'start job tree ...' ) logging.info(f"start job tree ...")
# import class as defined in settings by 'cso.class' key; # import class as defined in settings by 'cso.class' key;
# should be (derived from) 'utopya.JobStep' : # should be (derived from) 'utopya.JobStep' :
jbs_cls = utos.ImportClass( 'class' ) jbs_cls = utos.ImportClass("class")
# init job step object, use the 'rcbase' as name: # init job step object, use the 'rcbase' as name:
jbs = jbs_cls(args.rcbase, args.rcfile) jbs = jbs_cls(args.rcbase, args.rcfile)
# start first: # start first:
jbs.Start(single=args.single) jbs.Start(single=args.single)
# info: # info:
logging.info( '' ) logging.info(f"")
logging.info( '** end **' ) logging.info(f"** end **")
logging.info( '' ) logging.info(f"")
# ------------------------------------------------- # -------------------------------------------------
......
This diff is collapsed.
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
!!! !!!
!!! CSO - CAMS Satellite Operator !!! CSO - CAMS Satellite Operator
!!! !!!
!!! Settings for S5p/Glyoxal processing. !!! Settings for S5p/CHOCHO (glyoxal) processing.
!!! !!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
...@@ -38,7 +38,7 @@ cso.s5p.chocho.inquire-table-glyretro.timerange.end : ${my.full-timera ...@@ -38,7 +38,7 @@ cso.s5p.chocho.inquire-table-glyretro.timerange.end : ${my.full-timera
! output table, time templates are filled with date of today; ! output table, time templates are filled with date of today;
! base path is used for searching input files: ! base path is used for searching input files:
cso.s5p.chocho.inquire-table-glyretro.file : ${my.observations}/GlyRetro/Copernicus_S5p_GLYOX_2022-09-22.csv cso.s5p.chocho.inquire-table-glyretro.file : ${my.work}/Copernicus-inquire/Copernicus_S5p_CHOCHO_glyretro__2022-09-22.csv
! filename filters relative to listing file that should be scanned for orbit files; ! filename filters relative to listing file that should be scanned for orbit files;
! names could include time templates ; ! names could include time templates ;
...@@ -72,7 +72,7 @@ cso.s5p.chocho.inquire-table-pal.producttype : L2__CHOCHO ...@@ -72,7 +72,7 @@ cso.s5p.chocho.inquire-table-pal.producttype : L2__CHOCHO
cso.s5p.chocho.inquire-table-pal.area : ${my.region.west},${my.region.south}:${my.region.east},${my.region.north} cso.s5p.chocho.inquire-table-pal.area : ${my.region.west},${my.region.south}:${my.region.east},${my.region.north}
! output table, date of today: ! output table, date of today:
cso.s5p.chocho.inquire-table-pal.output.file : ${my.work}/Copernicus-inquire/Copernicus_S5p_CHOCHO_pal_%Y-%m-%d.csv cso.s5p.chocho.inquire-table-pal.output.file : ${my.work}/Copernicus-inquire/Copernicus_S5p_CHOCHO_pal__%Y-%m-%d.csv
...@@ -86,12 +86,12 @@ cso.s5p.chocho.inquire-plot.renew : True ...@@ -86,12 +86,12 @@ cso.s5p.chocho.inquire-plot.renew : True
! listing files, here from two inquires: ! listing files, here from two inquires:
cso.s5p.chocho.inquire-plot.file : ${cso.s5p.chocho.inquire-table-glyretro.file} ; \ cso.s5p.chocho.inquire-plot.file : ${cso.s5p.chocho.inquire-table-glyretro.file} ; \
${cso.s5p.chocho.inquire-table-pal.output.file} ${cso.s5p.chocho.inquire-table-pal.output.file}
!!~ specify dates ("yyyy-mm-dd") to use historic tables, !~ specify dates ("yyyy-mm-dd") to use historic tables,
!! default is table of today: ! default is table of today:
!cso.s5p.chocho.inquire-plot.filedate : 2022-01-28 ; 2023-08-08 cso.s5p.chocho.inquire-plot.filedate : 2022-09-22 ;
! annote: ! annote:
cso.s5p.chocho.inquire-plot.title : S5p/chochoal %Y-%m-%d cso.s5p.chocho.inquire-plot.title : S5p/CHOCHO %Y-%m-%d
! output figure, date of today: ! output figure, date of today:
cso.s5p.chocho.inquire-plot.output.file : ${my.work}/Copernicus-inquire/Copernicus_S5p_CHOCHO__%Y-%m-%d.png cso.s5p.chocho.inquire-plot.output.file : ${my.work}/Copernicus-inquire/Copernicus_S5p_CHOCHO__%Y-%m-%d.png
...@@ -119,8 +119,8 @@ cso.s5p.chocho.convert.timerange.end : ${my.timerange.end} ...@@ -119,8 +119,8 @@ cso.s5p.chocho.convert.timerange.end : ${my.timerange.end}
! listing file or ';'-seperated list of listing files: ! listing file or ';'-seperated list of listing files:
cso.s5p.chocho.convert.inquire.file : ${cso.s5p.chocho.inquire-plot.file} cso.s5p.chocho.convert.inquire.file : ${cso.s5p.chocho.inquire-plot.file}
!!~ historic inquire ... !~ historic inquire ...
!cso.s5p.chocho.convert.inquire.filedate : ${cso.s5p.chocho.inquire-plot.filedate} cso.s5p.chocho.convert.inquire.filedate : ${cso.s5p.chocho.inquire-plot.filedate}
!! testing: produced only selected files ... !! testing: produced only selected files ...
!!~ these files have "no-data" in "PRODUCT/delta_time", while qa_value is 1.0 ... !!~ these files have "no-data" in "PRODUCT/delta_time", while qa_value is 1.0 ...
...@@ -646,9 +646,9 @@ cso.s5p.chocho.gridded-catalogue.input.file : ${my.gridded.dir}/%Y/ ...@@ -646,9 +646,9 @@ cso.s5p.chocho.gridded-catalogue.input.file : ${my.gridded.dir}/%Y/
!cso.s5p.chocho.gridded-catalogue.input.file : ${my.gridded.dir}/S5p_CHOCHO_%Y%m%d_aver_gridded.nc !cso.s5p.chocho.gridded-catalogue.input.file : ${my.gridded.dir}/S5p_CHOCHO_%Y%m%d_aver_gridded.nc
! target files, time tempates and variable name are replaced: ! target files, time tempates and variable name are replaced:
cso.s5p.chocho.gridded-catalogue.output.file : ${my.gridded-catalogue.output.dir}/%Y/%m/%d/S5p_CHOCHO_%Y%m%d_%H%M_gridded_%{var}.png cso.s5p.chocho.gridded-catalogue.output.file : ${my.chocho.gridded-catalogue.output.dir}/%Y/%m/%d/S5p_CHOCHO_%Y%m%d_%H%M_gridded_%{var}.png
!!~ idem for daily average: !!~ idem for daily average:
!cso.s5p.chocho.gridded-catalogue.output.file : ${my.gridded-catalogue.output.dir}/%Y/%m/%d/S5p_CHOCHO_%Y%m%d_aver_gridded_%{var}.png !cso.s5p.chocho.gridded-catalogue.output.file : ${my.chocho.gridded-catalogue.output.dir}/%Y/%m/%d/S5p_CHOCHO_%Y%m%d_aver_gridded_%{var}.png
! figure size (inches), default is (8,6): ! figure size (inches), default is (8,6):
cso.s5p.chocho.gridded-catalogue.figsize : (6,6) cso.s5p.chocho.gridded-catalogue.figsize : (6,6)
...@@ -673,7 +673,7 @@ cso.s5p.chocho.gridded-catalogue.var.yr.vmax : None ...@@ -673,7 +673,7 @@ cso.s5p.chocho.gridded-catalogue.var.yr.vmax : None
!----------------------------------------------------------- !-----------------------------------------------------------
! target location: ! target location:
cso.s5p.chocho.gridded-catalogue-index.outdir : ${my.gridded-catalogue.output.dir} cso.s5p.chocho.gridded-catalogue-index.outdir : ${my.chocho.gridded-catalogue.output.dir}
! title: ! title:
cso.s5p.chocho.gridded-catalogue-index.header : CSO catalogue cso.s5p.chocho.gridded-catalogue-index.header : CSO catalogue
......
...@@ -23,42 +23,39 @@ ...@@ -23,42 +23,39 @@
!----------------------------------------------------------------------- !-----------------------------------------------------------------------
! inquire SciHub portal ! inquire DataSpace
!----------------------------------------------------------------------- !-----------------------------------------------------------------------
! Obtain names of all available S5p files. ! Obtain names of all available S5p files.
! Stored as csv with processing type, processor version, filenames, etc. ! Stored as csv with processing type, processor version, filenames, etc.
! inquire full time range: ! full time range:
cso.s5p.co.inquire-table-scihub.timerange.start : ${my.full-timerange.start} cso.s5p.co.inquire-table-dataspace.timerange.start : ${my.full-timerange.start}
cso.s5p.co.inquire-table-scihub.timerange.end : ${my.full-timerange.end} cso.s5p.co.inquire-table-dataspace.timerange.end : ${my.full-timerange.end}
! ! API url:
! server url ; cso.s5p.co.inquire-table-dataspace.url : https://finder.creodias.eu/resto/api
! provide login/password in ~/.netrc:
! ! collection name:
! machine s5phub.copernicus.eu login s5pguest password s5pguest cso.s5p.co.inquire-table-dataspace.collection : Sentinel5P
!
cso.s5p.co.inquire-table-scihub.url : https://s5phub.copernicus.eu/dhus ! product type, always 10 characters!
! L2__CO___
! L2__CO____
! ...
cso.s5p.co.inquire-table-dataspace.producttype : L2__CO____
! target area; ! target area;
!!~ empty for no limitation: !!~ empty for no limitation:
!cso.s5p.co.inquire-table-scihub.area : !cso.s5p.co.inquire-table-dataspace.area :
!~ domain specified as: west,south:east,north !~ domain specified as: west,south,east,north
cso.s5p.co.inquire-table-scihub.area : ${my.region.west},${my.region.south}:${my.region.east},${my.region.north} cso.s5p.co.inquire-table-dataspace.area : ${my.region.west},${my.region.south},${my.region.east},${my.region.north}
! search query, obtained from interactive download: ! template for download url given "{product_id}":
! cso.s5p.co.inquire-table-dataspace.download_url : https://zipper.dataspace.copernicus.eu/odata/v1/Products({product_id})/$value
! platformname : Sentinel-5
! producttype : L2__CO___ | L2__CO____ (always 10 characters!)
! processinglevel : L2
!
cso.s5p.co.inquire-table-scihub.query : platformname:Sentinel-5 AND \
producttype:L2__CO____ AND \
processinglevel:L2
! output table, date of today: ! output table, date of today:
cso.s5p.co.inquire-table-scihub.output.file : ${my.work}/Copernicus-inquire/Copernicus_S5p_CO_scihub__%Y-%m-%d.csv cso.s5p.co.inquire-table-dataspace.output.file : ${my.work}/Copernicus-inquire/Copernicus_S5p_CO_dataspace__%Y-%m-%d.csv
!----------------------------------------------------------- !-----------------------------------------------------------
...@@ -69,7 +66,7 @@ cso.s5p.co.inquire-table-scihub.output.file : ${my.work}/Copernicus- ...@@ -69,7 +66,7 @@ cso.s5p.co.inquire-table-scihub.output.file : ${my.work}/Copernicus-
cso.s5p.co.inquire-plot.renew : True cso.s5p.co.inquire-plot.renew : True
! listing files: ! listing files:
cso.s5p.co.inquire-plot.file : ${cso.s5p.co.inquire-table-scihub.output.file} cso.s5p.co.inquire-plot.file : ${cso.s5p.co.inquire-table-dataspace.output.file}
!!~ specify dates ("yyyy-mm-dd") to use historic tables, !!~ specify dates ("yyyy-mm-dd") to use historic tables,
!! default is table of today: !! default is table of today:
!cso.s5p.co.inquire-plot.filedate : 2023-08-07 !cso.s5p.co.inquire-plot.filedate : 2023-08-07
...@@ -78,12 +75,12 @@ cso.s5p.co.inquire-plot.file : ${cso.s5p.co.inquire-table-s ...@@ -78,12 +75,12 @@ cso.s5p.co.inquire-plot.file : ${cso.s5p.co.inquire-table-s
cso.s5p.co.inquire-plot.title : S5p/CO %Y-%m-%d cso.s5p.co.inquire-plot.title : S5p/CO %Y-%m-%d
! output figure, date of today: ! output figure, date of today:
cso.s5p.co.inquire-plot.output.file : ${my.work}/Copernicus-inquire/Copernicus_S5p_CO_scihub__%Y-%m-%d.png cso.s5p.co.inquire-plot.output.file : ${my.work}/Copernicus-inquire/Copernicus_S5p_CO_dataspace__%Y-%m-%d.png
!====================================================================== !======================================================================
!=== !===
!=== convert !=== convert (and download)
!=== !===
!====================================================================== !======================================================================
...@@ -102,8 +99,8 @@ cso.s5p.co.convert.timerange.end : ${my.timerange.end} ...@@ -102,8 +99,8 @@ cso.s5p.co.convert.timerange.end : ${my.timerange.end}
!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
! listing of available source files, ! listing of available source files,
! created by 'inquire-scihub' job: ! created by 'inquire-dataspace' job:
cso.s5p.co.convert.inquire.file : ${my.work}/Copernicus-inquire/Copernicus_S5p_CO_scihub__%Y-%m-%d.csv cso.s5p.co.convert.inquire.file : ${my.work}/Copernicus-inquire/Copernicus_S5p_CO_dataspace__%Y-%m-%d.csv
!!~ historic inquire ... !!~ historic inquire ...
!cso.s5p.co.convert.inquire.filedate : ${cso.s5p.co.inquire-plot.filedate} !cso.s5p.co.convert.inquire.filedate : ${cso.s5p.co.inquire-plot.filedate}
......
...@@ -23,42 +23,39 @@ ...@@ -23,42 +23,39 @@
!----------------------------------------------------------------------- !-----------------------------------------------------------------------
! inquire SciHub portal ! inquire DataSpace
!----------------------------------------------------------------------- !-----------------------------------------------------------------------
! Obtain names of all available S5p files. ! Obtain names of all available S5p files.
! Stored as csv with processing type, processor version, filenames, etc. ! Stored as csv with processing type, processor version, filenames, etc.
! inquire full time range: ! full time range:
cso.s5p.hcho.inquire-table-scihub.timerange.start : ${my.full-timerange.start} cso.s5p.hcho.inquire-table-dataspace.timerange.start : ${my.full-timerange.start}
cso.s5p.hcho.inquire-table-scihub.timerange.end : ${my.full-timerange.end} cso.s5p.hcho.inquire-table-dataspace.timerange.end : ${my.full-timerange.end}
! ! API url:
! server url ; cso.s5p.hcho.inquire-table-dataspace.url : https://finder.creodias.eu/resto/api
! provide login/password in ~/.netrc:
! ! collection name:
! machine s5phub.copernicus.eu login s5pguest password s5pguest cso.s5p.hcho.inquire-table-dataspace.collection : Sentinel5P
!
cso.s5p.hcho.inquire-table-scihub.url : https://s5phub.copernicus.eu/dhus ! product type, always 10 characters!
! L2__HCHO___
! L2__CO____
! ...
cso.s5p.hcho.inquire-table-dataspace.producttype : L2__HCHO__
! target area; ! target area;
!!~ empty for no limitation: !!~ empty for no limitation:
!cso.s5p.hcho.inquire-table-scihub.area : !cso.s5p.hcho.inquire-table-dataspace.area :
!~ domain specified as: west,south:east,north !~ domain specified as: west,south,east,north
cso.s5p.hcho.inquire-table-scihub.area : ${my.region.west},${my.region.south}:${my.region.east},${my.region.north} cso.s5p.hcho.inquire-table-dataspace.area : ${my.region.west},${my.region.south},${my.region.east},${my.region.north}
! search query, obtained from interactive download: ! template for download url given "{product_id}":
! cso.s5p.hcho.inquire-table-dataspace.download_url : https://zipper.dataspace.copernicus.eu/odata/v1/Products({product_id})/$value
! platformname : Sentinel-5
! producttype : L2__HCHO___ | L2__CO____ (always 10 characters!)
! processinglevel : L2
!
cso.s5p.hcho.inquire-table-scihub.query : platformname:Sentinel-5 AND \
producttype:L2__HCHO__ AND \
processinglevel:L2
! output table, date of today: ! output table, date of today:
cso.s5p.hcho.inquire-table-scihub.output.file : ${my.work}/Copernicus-inquire/Copernicus_S5p_HCHO_scihub__%Y-%m-%d.csv cso.s5p.hcho.inquire-table-dataspace.output.file : ${my.work}/Copernicus-inquire/Copernicus_S5p_HCHO_dataspace__%Y-%m-%d.csv
!----------------------------------------------------------- !-----------------------------------------------------------
...@@ -66,24 +63,24 @@ cso.s5p.hcho.inquire-table-scihub.output.file : ${my.work}/Copernicu ...@@ -66,24 +63,24 @@ cso.s5p.hcho.inquire-table-scihub.output.file : ${my.work}/Copernicu
!----------------------------------------------------------- !-----------------------------------------------------------
! renew existing plots? ! renew existing plots?
cso.s5p.hcho.inquire-scihub-plot.renew : True cso.s5p.hcho.inquire-plot.renew : True
! listing files: ! listing files:
cso.s5p.hcho.inquire-scihub-plot.file : ${cso.s5p.hcho.inquire-table-scihub.output.file} cso.s5p.hcho.inquire-plot.file : ${cso.s5p.hcho.inquire-table-dataspace.output.file}
!!~ specify dates ("yyyy-mm-dd") to use historic tables, !!~ specify dates ("yyyy-mm-dd") to use historic tables,
!! default is table of today: !! default is table of today:
!cso.s5p.hcho.inquire-scihub-plot.filedate : 2023-08-07 !cso.s5p.hcho.inquire-plot.filedate : 2023-08-07
! annote: ! annote:
cso.s5p.hcho.inquire-plot.title : S5p/HCHO %Y-%m-%d cso.s5p.hcho.inquire-plot.title : S5p/HCHO %Y-%m-%d
! output figure, date of today: ! output figure, date of today:
cso.s5p.hcho.inquire-scihub-plot.output.file : ${my.work}/Copernicus-inquire/Copernicus_S5p_HCHO_scihub__%Y-%m-%d.png cso.s5p.hcho.inquire-plot.output.file : ${my.work}/Copernicus-inquire/Copernicus_S5p_HCHO_dataspace__%Y-%m-%d.png
!====================================================================== !======================================================================
!=== !===
!=== convert !=== convert (and download)
!=== !===
!====================================================================== !======================================================================
...@@ -102,10 +99,10 @@ cso.s5p.hcho.convert.timerange.end : ${my.timerange.end} ...@@ -102,10 +99,10 @@ cso.s5p.hcho.convert.timerange.end : ${my.timerange.end}
!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
! listing of available source files, ! listing of available source files,
! created by 'inquire-scihub' job: ! created by 'inquire-dataspace' job:
cso.s5p.hcho.convert.inquire.file : ${my.work}/Copernicus-inquire/Copernicus_S5p_HCHO_scihub__%Y-%m-%d.csv cso.s5p.hcho.convert.inquire.file : ${my.work}/Copernicus-inquire/Copernicus_S5p_HCHO_dataspace__%Y-%m-%d.csv
!!~ historic inquire ... !!~ historic inquire ...
!cso.s5p.hcho.convert.inquire.filedate : ${cso.s5p.hcho.inquire-scihub-plot.filedate} !cso.s5p.hcho.convert.inquire.filedate : ${cso.s5p.hcho.inquire-plot.filedate}
! selection keyword: ! selection keyword:
my.s5p.hcho.selection : C03 my.s5p.hcho.selection : C03
...@@ -473,8 +470,8 @@ cso.s5p.hcho.catalogue.domain : ${my.region.west} ${my.reg ...@@ -473,8 +470,8 @@ cso.s5p.hcho.catalogue.domain : ${my.region.west} ${my.reg
cso.s5p.hcho.catalogue.figsize : ${my.region.figsize} cso.s5p.hcho.catalogue.figsize : ${my.region.figsize}
! renew existing files? ! renew existing files?
cso.s5p.hcho.catalogue.renew : False !cso.s5p.hcho.catalogue.renew : False
!cso.s5p.hcho.catalogue.renew : True cso.s5p.hcho.catalogue.renew : True
! variables to be plotted: ! variables to be plotted:
cso.s5p.hcho.catalogue.vars : vcd vcd_errvar qa_value cloud_fraction cso.s5p.hcho.catalogue.vars : vcd vcd_errvar qa_value cloud_fraction
...@@ -628,6 +625,7 @@ cso.s5p.hcho.gridded.filter.quality.units : 1 ...@@ -628,6 +625,7 @@ cso.s5p.hcho.gridded.filter.quality.units : 1
#error unsupported my.s5p.hcho.gridded-selection "${my.s5p.hcho.gridded-selection}" #error unsupported my.s5p.hcho.gridded-selection "${my.s5p.hcho.gridded-selection}"
#endif #endif
!~ !~
! target file, might contain templates: ! target file, might contain templates:
...@@ -658,11 +656,11 @@ cso.s5p.hcho.gridded-catalogue.timerange.end : ${my.timerange.end} ...@@ -658,11 +656,11 @@ cso.s5p.hcho.gridded-catalogue.timerange.end : ${my.timerange.end}
cso.s5p.hcho.gridded-catalogue.timerange.step : hour cso.s5p.hcho.gridded-catalogue.timerange.step : hour
! renew existing files? ! renew existing files?
!cso.s5p.hcho.gridded-catalogue.renew : True cso.s5p.hcho.gridded-catalogue.renew : True
cso.s5p.hcho.gridded-catalogue.renew : False !cso.s5p.hcho.gridded-catalogue.renew : False
! target directory for catalogue: ! target directory for catalogue:
my.gridded-catalogue.output.dir : ${my.gridded.dir}/catalogue my.hcho.gridded-catalogue.output.dir : ${my.gridded.dir}/catalogue
! input files: ! input files:
cso.s5p.hcho.gridded-catalogue.input.file : ${my.gridded.dir}/%Y/%m/S5p_HCHO_%Y%m%d_%H%M_gridded.nc cso.s5p.hcho.gridded-catalogue.input.file : ${my.gridded.dir}/%Y/%m/S5p_HCHO_%Y%m%d_%H%M_gridded.nc
...@@ -670,9 +668,9 @@ cso.s5p.hcho.gridded-catalogue.input.file : ${my.gridded.dir}/%Y/%m ...@@ -670,9 +668,9 @@ cso.s5p.hcho.gridded-catalogue.input.file : ${my.gridded.dir}/%Y/%m
!cso.s5p.hcho.gridded-catalogue.input.file : ${my.gridded.dir}/S5p_HCHO_%Y%m%d_aver_gridded.nc !cso.s5p.hcho.gridded-catalogue.input.file : ${my.gridded.dir}/S5p_HCHO_%Y%m%d_aver_gridded.nc
! target files, time tempates and variable name are replaced: ! target files, time tempates and variable name are replaced:
cso.s5p.hcho.gridded-catalogue.output.file : ${my.gridded-catalogue.output.dir}/%Y/%m/%d/S5p_HCHO_%Y%m%d_%H%M_gridded_%{var}.png cso.s5p.hcho.gridded-catalogue.output.file : ${my.hcho.gridded-catalogue.output.dir}/%Y/%m/%d/S5p_HCHO_%Y%m%d_%H%M_gridded_%{var}.png
!!~ idem for daily average: !!~ idem for daily average:
!cso.s5p.hcho.gridded-catalogue.output.file : ${my.gridded-catalogue.output.dir}/%Y/%m/%d/S5p_HCHO_%Y%m%d_aver_gridded_%{var}.png !cso.s5p.hcho.gridded-catalogue.output.file : ${my.hcho.gridded-catalogue.output.dir}/%Y/%m/%d/S5p_HCHO_%Y%m%d_aver_gridded_%{var}.png
! figure size (inches), default is (8,6): ! figure size (inches), default is (8,6):
cso.s5p.hcho.gridded-catalogue.figsize : (6,6) cso.s5p.hcho.gridded-catalogue.figsize : (6,6)
...@@ -686,7 +684,6 @@ cso.s5p.hcho.gridded-catalogue.var.yr.source : yr ...@@ -686,7 +684,6 @@ cso.s5p.hcho.gridded-catalogue.var.yr.source : yr
cso.s5p.hcho.gridded-catalogue.var.yr.units : umol/m2 cso.s5p.hcho.gridded-catalogue.var.yr.units : umol/m2
! style: ! style:
cso.s5p.hcho.gridded-catalogue.var.yr.vmin : 0.0 cso.s5p.hcho.gridded-catalogue.var.yr.vmin : 0.0
!gcso.s5p.hcho.gridded-catalogue.var.yr.vmax : 100.0
cso.s5p.hcho.gridded-catalogue.var.yr.vmax : None cso.s5p.hcho.gridded-catalogue.var.yr.vmax : None
...@@ -697,7 +694,7 @@ cso.s5p.hcho.gridded-catalogue.var.yr.vmax : None ...@@ -697,7 +694,7 @@ cso.s5p.hcho.gridded-catalogue.var.yr.vmax : None
!----------------------------------------------------------- !-----------------------------------------------------------
! target location: ! target location:
cso.s5p.hcho.gridded-catalogue-index.outdir : ${my.gridded-catalogue.output.dir} cso.s5p.hcho.gridded-catalogue-index.outdir : ${my.hcho.gridded-catalogue.output.dir}
! title: ! title:
cso.s5p.hcho.gridded-catalogue-index.header : CSO catalogue cso.s5p.hcho.gridded-catalogue-index.header : CSO catalogue
......
...@@ -23,42 +23,39 @@ ...@@ -23,42 +23,39 @@
!----------------------------------------------------------------------- !-----------------------------------------------------------------------
! inquire SciHub portal ! inquire DataSpace
!----------------------------------------------------------------------- !-----------------------------------------------------------------------
! Obtain names of all available S5p files. ! Obtain names of all available S5p files.
! Stored as csv with processing type, processor version, filenames, etc. ! Stored as csv with processing type, processor version, filenames, etc.
! inquire full time range: ! full time range:
cso.s5p.no2.inquire-table-scihub.timerange.start : ${my.full-timerange.start} cso.s5p.no2.inquire-table-dataspace.timerange.start : ${my.full-timerange.start}
cso.s5p.no2.inquire-table-scihub.timerange.end : ${my.full-timerange.end} cso.s5p.no2.inquire-table-dataspace.timerange.end : ${my.full-timerange.end}
! ! API url:
! server url ; cso.s5p.no2.inquire-table-dataspace.url : https://finder.creodias.eu/resto/api
! provide login/password in ~/.netrc:
! ! collection name:
! machine s5phub.copernicus.eu login s5pguest password s5pguest cso.s5p.no2.inquire-table-dataspace.collection : Sentinel5P
!
cso.s5p.no2.inquire-table-scihub.url : https://s5phub.copernicus.eu/dhus ! product type, always 10 characters!
! L2__NO2___
! L2__CO____
! ...
cso.s5p.no2.inquire-table-dataspace.producttype : L2__NO2___
! target area; ! target area;
!!~ empty for no limitation: !!~ empty for no limitation:
!cso.s5p.no2.inquire-table-scihub.area : !cso.s5p.no2.inquire-table-dataspace.area :
!~ domain specified as: west,south:east,north !~ 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} cso.s5p.no2.inquire-table-dataspace.area : ${my.region.west},${my.region.south},${my.region.east},${my.region.north}
! search query, obtained from interactive download: ! template for download url given "{product_id}":
! cso.s5p.no2.inquire-table-dataspace.download_url : https://zipper.dataspace.copernicus.eu/odata/v1/Products({product_id})/$value
! 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: ! 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 cso.s5p.no2.inquire-table-dataspace.output.file : ${my.work}/Copernicus-inquire/Copernicus_S5p_NO2_dataspace__%Y-%m-%d.csv
!!----------------------------------------------------------------------- !!-----------------------------------------------------------------------
...@@ -96,7 +93,7 @@ cso.s5p.no2.inquire-table-scihub.output.file : ${my.work}/Copernicus ...@@ -96,7 +93,7 @@ cso.s5p.no2.inquire-table-scihub.output.file : ${my.work}/Copernicus
cso.s5p.no2.inquire-plot.renew : True cso.s5p.no2.inquire-plot.renew : True
! listing files: ! listing files:
cso.s5p.no2.inquire-plot.file : ${cso.s5p.no2.inquire-table-scihub.output.file} cso.s5p.no2.inquire-plot.file : ${cso.s5p.no2.inquire-table-dataspace.output.file}
!!~ specify dates ("yyyy-mm-dd") to use historic tables, !!~ specify dates ("yyyy-mm-dd") to use historic tables,
!! default is table of today: !! default is table of today:
!cso.s5p.no2.inquire-plot.filedate : 2023-08-07 !cso.s5p.no2.inquire-plot.filedate : 2023-08-07
...@@ -105,7 +102,7 @@ cso.s5p.no2.inquire-plot.file : ${cso.s5p.no2.inquire-table ...@@ -105,7 +102,7 @@ cso.s5p.no2.inquire-plot.file : ${cso.s5p.no2.inquire-table
cso.s5p.no2.inquire-plot.title : S5p/NO2 %Y-%m-%d cso.s5p.no2.inquire-plot.title : S5p/NO2 %Y-%m-%d
! output figure, date of today: ! output figure, date of today:
cso.s5p.no2.inquire-plot.output.file : ${my.work}/Copernicus-inquire/Copernicus_S5p_NO2_scihub__%Y-%m-%d.png cso.s5p.no2.inquire-plot.output.file : ${my.work}/Copernicus-inquire/Copernicus_S5p_NO2_dataspace__%Y-%m-%d.png
!====================================================================== !======================================================================
...@@ -129,8 +126,8 @@ cso.s5p.no2.convert.timerange.end : ${my.timerange.end} ...@@ -129,8 +126,8 @@ cso.s5p.no2.convert.timerange.end : ${my.timerange.end}
!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
! listing of available source files, ! listing of available source files,
! created by 'inquire-scihub' job: ! created by 'inquire-dataspace' job:
cso.s5p.no2.convert.inquire.file : ${my.work}/Copernicus-inquire/Copernicus_S5p_NO2_scihub__%Y-%m-%d.csv cso.s5p.no2.convert.inquire.file : ${my.work}/Copernicus-inquire/Copernicus_S5p_NO2_dataspace__%Y-%m-%d.csv
!!~ historic inquire ... !!~ historic inquire ...
!cso.s5p.no2.convert.inquire.filedate : ${cso.s5p.no2.inquire-plot.filedate} !cso.s5p.no2.convert.inquire.filedate : ${cso.s5p.no2.inquire-plot.filedate}
...@@ -717,9 +714,9 @@ cso.s5p.no2.gridded-catalogue.input.file : ${my.gridded.dir}/%Y/%m/ ...@@ -717,9 +714,9 @@ cso.s5p.no2.gridded-catalogue.input.file : ${my.gridded.dir}/%Y/%m/
!cso.s5p.no2.gridded-catalogue.input.file : ${my.gridded.dir}/S5p_NO2_%Y%m%d_aver_gridded.nc !cso.s5p.no2.gridded-catalogue.input.file : ${my.gridded.dir}/S5p_NO2_%Y%m%d_aver_gridded.nc
! target files, time tempates and variable name are replaced: ! target files, time tempates and variable name are replaced:
cso.s5p.no2.gridded-catalogue.output.file : ${my.gridded-catalogue.output.dir}/%Y/%m/%d/S5p_NO2_%Y%m%d_%H%M_gridded_%{var}.png cso.s5p.no2.gridded-catalogue.output.file : ${my.no2.gridded-catalogue.output.dir}/%Y/%m/%d/S5p_NO2_%Y%m%d_%H%M_gridded_%{var}.png
!!~ idem for daily average: !!~ idem for daily average:
!cso.s5p.no2.gridded-catalogue.output.file : ${my.gridded-catalogue.output.dir}/%Y/%m/%d/S5p_NO2_%Y%m%d_aver_gridded_%{var}.png !cso.s5p.no2.gridded-catalogue.output.file : ${my.no2.gridded-catalogue.output.dir}/%Y/%m/%d/S5p_NO2_%Y%m%d_aver_gridded_%{var}.png
! figure size (inches), default is (8,6): ! figure size (inches), default is (8,6):
cso.s5p.no2.gridded-catalogue.figsize : (6,6) cso.s5p.no2.gridded-catalogue.figsize : (6,6)
...@@ -743,7 +740,7 @@ cso.s5p.no2.gridded-catalogue.var.yr.vmax : 100.0 ...@@ -743,7 +740,7 @@ cso.s5p.no2.gridded-catalogue.var.yr.vmax : 100.0
!----------------------------------------------------------- !-----------------------------------------------------------
! target location: ! target location:
cso.s5p.no2.gridded-catalogue-index.outdir : ${my.gridded-catalogue.output.dir} cso.s5p.no2.gridded-catalogue-index.outdir : ${my.no2.gridded-catalogue.output.dir}
! title: ! title:
cso.s5p.no2.gridded-catalogue-index.header : CSO catalogue cso.s5p.no2.gridded-catalogue-index.header : CSO catalogue
......
...@@ -23,42 +23,39 @@ ...@@ -23,42 +23,39 @@
!----------------------------------------------------------------------- !-----------------------------------------------------------------------
! inquire SciHub portal ! inquire DataSpace
!----------------------------------------------------------------------- !-----------------------------------------------------------------------
! Obtain names of all available S5p files. ! Obtain names of all available S5p files.
! Stored as csv with processing type, processor version, filenames, etc. ! Stored as csv with processing type, processor version, filenames, etc.
! inquire full time range: ! full time range:
cso.s5p.so2.inquire-table-scihub.timerange.start : ${my.full-timerange.start} cso.s5p.so2.inquire-table-dataspace.timerange.start : ${my.full-timerange.start}
cso.s5p.so2.inquire-table-scihub.timerange.end : ${my.full-timerange.end} cso.s5p.so2.inquire-table-dataspace.timerange.end : ${my.full-timerange.end}
! ! API url:
! server url ; cso.s5p.so2.inquire-table-dataspace.url : https://finder.creodias.eu/resto/api
! provide login/password in ~/.netrc:
! ! collection name:
! machine s5phub.copernicus.eu login s5pguest password s5pguest cso.s5p.so2.inquire-table-dataspace.collection : Sentinel5P
!
cso.s5p.so2.inquire-table-scihub.url : https://s5phub.copernicus.eu/dhus ! product type, always 10 characters!
! L2__SO2___
! L2__CO____
! ...
cso.s5p.so2.inquire-table-dataspace.producttype : L2__SO2___
! target area; ! target area;
!!~ empty for no limitation: !!~ empty for no limitation:
!cso.s5p.so2.inquire-table-scihub.area : !cso.s5p.so2.inquire-table-dataspace.area :
!~ domain specified as: west,south:east,north !~ domain specified as: west,south,east,north
cso.s5p.so2.inquire-table-scihub.area : ${my.region.west},${my.region.south}:${my.region.east},${my.region.north} cso.s5p.so2.inquire-table-dataspace.area : ${my.region.west},${my.region.south},${my.region.east},${my.region.north}
! search query, obtained from interactive download: ! template for download url given "{product_id}":
! cso.s5p.so2.inquire-table-dataspace.download_url : https://zipper.dataspace.copernicus.eu/odata/v1/Products({product_id})/$value
! platformname : Sentinel-5
! producttype : L2__SO2___ | L2__CO____ (always 10 characters!)
! processinglevel : L2
!
cso.s5p.so2.inquire-table-scihub.query : platformname:Sentinel-5 AND \
producttype:L2__SO2___ AND \
processinglevel:L2
! output table, date of today: ! output table, date of today:
cso.s5p.so2.inquire-table-scihub.output.file : ${my.work}/Copernicus-inquire/Copernicus_S5p_SO2_scihub__%Y-%m-%d.csv cso.s5p.so2.inquire-table-dataspace.output.file : ${my.work}/Copernicus-inquire/Copernicus_S5p_SO2_dataspace__%Y-%m-%d.csv
!----------------------------------------------------------- !-----------------------------------------------------------
...@@ -69,7 +66,7 @@ cso.s5p.so2.inquire-table-scihub.output.file : ${my.work}/Copernicus ...@@ -69,7 +66,7 @@ cso.s5p.so2.inquire-table-scihub.output.file : ${my.work}/Copernicus
cso.s5p.so2.inquire-plot.renew : True cso.s5p.so2.inquire-plot.renew : True
! listing files: ! listing files:
cso.s5p.so2.inquire-plot.file : ${cso.s5p.so2.inquire-table-scihub.output.file} cso.s5p.so2.inquire-plot.file : ${cso.s5p.so2.inquire-table-dataspace.output.file}
!!~ specify dates ("yyyy-mm-dd") to use historic tables, !!~ specify dates ("yyyy-mm-dd") to use historic tables,
!! default is table of today: !! default is table of today:
!cso.s5p.so2.inquire-plot.filedate : 2023-08-07 !cso.s5p.so2.inquire-plot.filedate : 2023-08-07
...@@ -78,7 +75,7 @@ cso.s5p.so2.inquire-plot.file : ${cso.s5p.so2.inquire-table ...@@ -78,7 +75,7 @@ cso.s5p.so2.inquire-plot.file : ${cso.s5p.so2.inquire-table
cso.s5p.so2.inquire-plot.title : S5p/SO2 %Y-%m-%d cso.s5p.so2.inquire-plot.title : S5p/SO2 %Y-%m-%d
! output figure, date of today: ! output figure, date of today:
cso.s5p.so2.inquire-plot.output.file : ${my.work}/Copernicus-inquire/Copernicus_S5p_SO2_scihub__%Y-%m-%d.png cso.s5p.so2.inquire-plot.output.file : ${my.work}/Copernicus-inquire/Copernicus_S5p_SO2_dataspace__%Y-%m-%d.png
!====================================================================== !======================================================================
...@@ -102,8 +99,8 @@ cso.s5p.so2.convert.timerange.end : ${my.timerange.end} ...@@ -102,8 +99,8 @@ cso.s5p.so2.convert.timerange.end : ${my.timerange.end}
!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
! listing of available source files, ! listing of available source files,
! created by 'inquire-scihub' job: ! created by 'inquire-dataspace' job:
cso.s5p.so2.convert.inquire.file : ${my.work}/Copernicus-inquire/Copernicus_S5p_SO2_scihub__%Y-%m-%d.csv cso.s5p.so2.convert.inquire.file : ${my.work}/Copernicus-inquire/Copernicus_S5p_SO2_dataspace__%Y-%m-%d.csv
!!~ historic inquire ... !!~ historic inquire ...
!cso.s5p.so2.convert.inquire.filedate : ${cso.s5p.so2.inquire-plot.filedate} !cso.s5p.so2.convert.inquire.filedate : ${cso.s5p.so2.inquire-plot.filedate}
...@@ -503,6 +500,7 @@ cso.s5p.so2.catalogue-index.date.orbit.var.img : %{date[0:4]}/%{dat ...@@ -503,6 +500,7 @@ cso.s5p.so2.catalogue-index.date.orbit.var.img : %{date[0:4]}/%{dat
cso.s5p.so2.catalogue-index.date.orbit.var.kwargs : height=300 cso.s5p.so2.catalogue-index.date.orbit.var.kwargs : height=300
!====================================================================== !======================================================================
!=== !===
!=== gridded orbits !=== gridded orbits
...@@ -580,6 +578,7 @@ cso.s5p.so2.gridded.filter.quality.units : 1 ...@@ -580,6 +578,7 @@ cso.s5p.so2.gridded.filter.quality.units : 1
#error unsupported my.s5p.so2.gridded-selection "${my.s5p.so2.gridded-selection}" #error unsupported my.s5p.so2.gridded-selection "${my.s5p.so2.gridded-selection}"
#endif #endif
!~ !~
! target file, might contain templates: ! target file, might contain templates:
...@@ -610,8 +609,8 @@ cso.s5p.so2.gridded-catalogue.timerange.end : ${my.timerange.end} ...@@ -610,8 +609,8 @@ cso.s5p.so2.gridded-catalogue.timerange.end : ${my.timerange.end}
cso.s5p.so2.gridded-catalogue.timerange.step : hour cso.s5p.so2.gridded-catalogue.timerange.step : hour
! renew existing files? ! renew existing files?
!cso.s5p.so2.gridded-catalogue.renew : True cso.s5p.so2.gridded-catalogue.renew : True
cso.s5p.so2.gridded-catalogue.renew : False !cso.s5p.so2.gridded-catalogue.renew : False
! target directory for catalogue: ! target directory for catalogue:
my.so2.gridded-catalogue.output.dir : ${my.gridded.dir}/catalogue my.so2.gridded-catalogue.output.dir : ${my.gridded.dir}/catalogue
...@@ -622,9 +621,9 @@ cso.s5p.so2.gridded-catalogue.input.file : ${my.gridded.dir}/%Y/%m/ ...@@ -622,9 +621,9 @@ cso.s5p.so2.gridded-catalogue.input.file : ${my.gridded.dir}/%Y/%m/
!cso.s5p.so2.gridded-catalogue.input.file : ${my.gridded.dir}/S5p_SO2_%Y%m%d_aver_gridded.nc !cso.s5p.so2.gridded-catalogue.input.file : ${my.gridded.dir}/S5p_SO2_%Y%m%d_aver_gridded.nc
! target files, time tempates and variable name are replaced: ! target files, time tempates and variable name are replaced:
cso.s5p.so2.gridded-catalogue.output.file : ${my.gridded-catalogue.output.dir}/%Y/%m/%d/S5p_SO2_%Y%m%d_%H%M_gridded_%{var}.png cso.s5p.so2.gridded-catalogue.output.file : ${my.so2.gridded-catalogue.output.dir}/%Y/%m/%d/S5p_SO2_%Y%m%d_%H%M_gridded_%{var}.png
!!~ idem for daily average: !!~ idem for daily average:
!cso.s5p.so2.gridded-catalogue.output.file : ${my.gridded-catalogue.output.dir}/%Y/%m/%d/S5p_SO2_%Y%m%d_aver_gridded_%{var}.png !cso.s5p.so2.gridded-catalogue.output.file : ${my.so2.gridded-catalogue.output.dir}/%Y/%m/%d/S5p_SO2_%Y%m%d_aver_gridded_%{var}.png
! figure size (inches), default is (8,6): ! figure size (inches), default is (8,6):
cso.s5p.so2.gridded-catalogue.figsize : (6,6) cso.s5p.so2.gridded-catalogue.figsize : (6,6)
...@@ -648,7 +647,7 @@ cso.s5p.so2.gridded-catalogue.var.yr.vmax : 100.0 ...@@ -648,7 +647,7 @@ cso.s5p.so2.gridded-catalogue.var.yr.vmax : 100.0
!----------------------------------------------------------- !-----------------------------------------------------------
! target location: ! target location:
cso.s5p.so2.gridded-catalogue-index.outdir : ${my.gridded-catalogue.output.dir} cso.s5p.so2.gridded-catalogue-index.outdir : ${my.so2.gridded-catalogue.output.dir}
! title: ! title:
cso.s5p.so2.gridded-catalogue-index.header : CSO catalogue cso.s5p.so2.gridded-catalogue-index.header : CSO catalogue
......
...@@ -98,9 +98,9 @@ my.attr.institution : CSO ...@@ -98,9 +98,9 @@ my.attr.institution : CSO
my.attr.email : Your.Name@cso.org my.attr.email : Your.Name@cso.org
! base location for work directories: ! base location for work directories:
my.work : /Scratch/${USER}/CSO-work my.work : /Scratch/${USER}/CSO-Copernicus
! storage for downloaded observations, used for glyoxal: ! storage for downloaded observations:
my.observations : /Scratch/${USER}/observations my.observations : /Scratch/${USER}/observations
!.............................. !..............................
...@@ -113,11 +113,26 @@ my.attr.institution : MET Norway ...@@ -113,11 +113,26 @@ my.attr.institution : MET Norway
my.attr.email : arjos@met.no my.attr.email : arjos@met.no
! base location for work directories: ! base location for work directories:
my.work : ${WORK}/projects/CSO my.work : ${WORK}/projects/CSO-Copernicus
! storage for downloaded observations, used for glyoxal: ! storage for downloaded observations:
my.observations : ${WORK}/../observations my.observations : ${WORK}/../observations
!..............................
#elif "${USER}" == "segersaj"
!..............................
! Attributes written to output files.
my.attr.author : Arjo Segers
my.attr.institution : TNO
my.attr.email : Arjo.Segers@tno.nl
! base location for work directories:
my.work : ${SCRATCH}/CSO-Copernicus
! storage for downloaded observations:
my.observations : ${SCRATCH}/observations
!.............................. !..............................
#else #else
#error unsupported USER "${USER}" #error unsupported USER "${USER}"
......
...@@ -54,7 +54,6 @@ cso.s5p.TRACER.elements : inquire \ ...@@ -54,7 +54,6 @@ cso.s5p.TRACER.elements : inquire \
convert listing \ convert listing \
catalogue \ catalogue \
gridded gridded-catalogue gridded gridded-catalogue
!
!~ preprocessor steps one by one ... !~ preprocessor steps one by one ...
!cso.s5p.TRACER.elements : inquire !cso.s5p.TRACER.elements : inquire
!cso.s5p.TRACER.elements : convert !cso.s5p.TRACER.elements : convert
...@@ -74,7 +73,7 @@ cso.s5p.TRACER.elements : inquire \ ...@@ -74,7 +73,7 @@ cso.s5p.TRACER.elements : inquire \
cso.s5p.TRACER.inquire.class : utopya.UtopyaJobStep cso.s5p.TRACER.inquire.class : utopya.UtopyaJobStep
! two or more tasks: ! two or more tasks:
#if "TRACER" in ["no2","so2","hcho","co"] #if "TRACER" in ["no2","so2","hcho","co"]
cso.s5p.TRACER.inquire.tasks : table-scihub plot cso.s5p.TRACER.inquire.tasks : table-dataspace plot
#elif "TRACER" in ["so2-cobra"] #elif "TRACER" in ["so2-cobra"]
cso.s5p.TRACER.inquire.tasks : table-pal plot cso.s5p.TRACER.inquire.tasks : table-pal plot
#elif "TRACER" in ["chocho"] #elif "TRACER" in ["chocho"]
...@@ -82,16 +81,16 @@ cso.s5p.TRACER.inquire.tasks : table-glyretro table-pal pl ...@@ -82,16 +81,16 @@ cso.s5p.TRACER.inquire.tasks : table-glyretro table-pal pl
#else #else
#error unsupported tracer "TRACER" #error unsupported tracer "TRACER"
#endif #endif
!~ inquire files available on SciHub: !~ inquire files available on DataSpace:
cso.s5p.TRACER.inquire.table-scihub.class : cso.CSO_SciHub_Inquire cso.s5p.TRACER.inquire.table-dataspace.class : cso.CSO_DataSpace_Inquire
cso.s5p.TRACER.inquire.table-scihub.args : '${PWD}/config/Copernicus/cso-s5p-TRACER.rc', \ cso.s5p.TRACER.inquire.table-dataspace.args : '${PWD}/config/Copernicus/cso-s5p-TRACER.rc', \
rcbase='cso.s5p.TRACER.inquire-table-scihub' rcbase='cso.s5p.TRACER.inquire-table-dataspace'
!~ inquire files available on PAL: !~ inquire files available on PAL:
cso.s5p.TRACER.inquire.table-pal.class : cso.CSO_PAL_Inquire cso.s5p.TRACER.inquire.table-pal.class : cso.CSO_PAL_Inquire
cso.s5p.TRACER.inquire.table-pal.args : '${PWD}/config/Copernicus/cso-s5p-TRACER.rc', \ cso.s5p.TRACER.inquire.table-pal.args : '${PWD}/config/Copernicus/cso-s5p-TRACER.rc', \
rcbase='cso.s5p.TRACER.inquire-table-pal' rcbase='cso.s5p.TRACER.inquire-table-pal'
!~ inquire files downloaded from GlyRetro: !~ inquire files downloaded from GlyRetro:
cso.s5p.TRACER.inquire.table-glyretro.class : cso.CSO_SciHub_Listing cso.s5p.TRACER.inquire.table-glyretro.class : cso.CSO_S5p_Download_Listing
cso.s5p.TRACER.inquire.table-glyretro.args : '${PWD}/config/Copernicus/cso-s5p-TRACER.rc', \ cso.s5p.TRACER.inquire.table-glyretro.args : '${PWD}/config/Copernicus/cso-s5p-TRACER.rc', \
rcbase='cso.s5p.TRACER.inquire-table-glyretro' rcbase='cso.s5p.TRACER.inquire-table-glyretro'
!~ create plot of available versions: !~ create plot of available versions:
......
...@@ -21,11 +21,11 @@ cso.tutorial.class : utopya.UtopyaJobTree ...@@ -21,11 +21,11 @@ cso.tutorial.class : utopya.UtopyaJobTree
! list of sub-elements: ! list of sub-elements:
cso.tutorial.elements : inquire \ cso.tutorial.elements : inquire \
convert listing convert listing \
catalogue \ catalogue \
gridded gridded-catalogue \ gridded gridded-catalogue
sim-catalogue \ ! sim-catalogue \
sim-gridded sim-gridded-catalogue ! sim-gridded sim-gridded-catalogue
! ... preprocessor steps one by one: ! ... preprocessor steps one by one:
!cso.tutorial.elements : inquire !cso.tutorial.elements : inquire
...@@ -47,12 +47,12 @@ cso.tutorial.elements : inquire \ ...@@ -47,12 +47,12 @@ cso.tutorial.elements : inquire \
! single step: ! single step:
cso.tutorial.inquire.class : utopya.UtopyaJobStep cso.tutorial.inquire.class : utopya.UtopyaJobStep
! two tasks: ! two tasks:
cso.tutorial.inquire.tasks : table-scihub plot cso.tutorial.inquire.tasks : table-dataspace plot
!~ inquire available files: !~ task: inquire available files:
cso.tutorial.inquire.table-scihub.class : cso.CSO_SciHub_Inquire cso.tutorial.inquire.table-dataspace.class : cso.CSO_DataSpace_Inquire
cso.tutorial.inquire.table-scihub.args : '${__filename__}', \ cso.tutorial.inquire.table-dataspace.args : '${__filename__}', \
rcbase='cso.tutorial.inquire-table-scihub' rcbase='cso.tutorial.inquire-table-dataspace'
!~ create plot of available versions: !~ task: create plot of available versions:
cso.tutorial.inquire.plot.class : cso.CSO_Inquire_Plot cso.tutorial.inquire.plot.class : cso.CSO_Inquire_Plot
cso.tutorial.inquire.plot.args : '${__filename__}', \ cso.tutorial.inquire.plot.args : '${__filename__}', \
rcbase='cso.tutorial.inquire-plot' rcbase='cso.tutorial.inquire-plot'
...@@ -222,8 +222,8 @@ my.attr.institution : CSO ...@@ -222,8 +222,8 @@ my.attr.institution : CSO
my.attr.email : Your.Name@cso.org my.attr.email : Your.Name@cso.org
! base location for work directories: ! base location for work directories:
!my.work : /Scratch/${USER}/CSO-tutorial !my.work : /work/${USER}/CSO-Tutorial
my.work : ${WORK}/projects/CSO-tutorial my.work : /Scratch/${USER}/CSO-Tutorial
!---------------------------------------------------------- !----------------------------------------------------------
...@@ -254,35 +254,32 @@ my.work : ${WORK}/projects/CSO-tutorial ...@@ -254,35 +254,32 @@ my.work : ${WORK}/projects/CSO-tutorial
! Stored as csv with processing type, processor version, filenames, etc. ! Stored as csv with processing type, processor version, filenames, etc.
! full time range: ! full time range:
cso.tutorial.inquire-table-scihub.timerange.start : 2018-01-01 00:00:00 cso.tutorial.inquire-table-dataspace.timerange.start : 2018-01-01 00:00:00
cso.tutorial.inquire-table-scihub.timerange.end : 2024-01-01 00:00:00 cso.tutorial.inquire-table-dataspace.timerange.end : 2024-01-01 00:00:00
! ! API url:
! server url ; cso.tutorial.inquire-table-dataspace.url : https://finder.creodias.eu/resto/api
! provide login/password in ~/.netrc:
! ! collection name:
! machine s5phub.copernicus.eu login s5pguest password s5pguest cso.tutorial.inquire-table-dataspace.collection : Sentinel5P
!
cso.tutorial.inquire-table-scihub.url : https://s5phub.copernicus.eu/dhus ! product type, always 10 characters!
! L2__NO2___
! L2__CO____
! ...
cso.tutorial.inquire-table-dataspace.producttype : L2__NO2___
! target area; ! target area;
!!~ empty for no limitation: !!~ empty for no limitation:
!cso.tutorial.inquire-table-scihub.area : !cso.tutorial.inquire-table-dataspace.area :
!~ domain specified as: west,south:east,north !~ domain specified as: west,south,east,north
cso.tutorial.inquire-table-scihub.area : ${my.region.west},${my.region.south}:${my.region.east},${my.region.north} cso.tutorial.inquire-table-dataspace.area : ${my.region.west},${my.region.south},${my.region.east},${my.region.north}
! search query, obtained from interactive download: ! template for download url given "{product_id}":
! cso.tutorial.inquire-table-dataspace.download_url : https://zipper.dataspace.copernicus.eu/odata/v1/Products({product_id})/$value
! platformname : Sentinel-5
! producttype : L2__NO2___ | L2__CO____ (always 10 characters!)
! processinglevel : L2
!
cso.tutorial.inquire-table-scihub.query : platformname:Sentinel-5 AND \
producttype:L2__NO2___ AND \
processinglevel:L2
! output table, date of today: ! output table, date of today:
cso.tutorial.inquire-table-scihub.output.file : ${my.work}/Copernicus/Copernicus_S5p_NO2_scihub_%Y-%m-%d.csv cso.tutorial.inquire-table-dataspace.output.file : ${my.work}/Copernicus/Copernicus_S5p_NO2_dataspace__%Y-%m-%d.csv
! * create plot ! * create plot
...@@ -291,7 +288,7 @@ cso.tutorial.inquire-table-scihub.output.file : ${my.work}/Copernicu ...@@ -291,7 +288,7 @@ cso.tutorial.inquire-table-scihub.output.file : ${my.work}/Copernicu
cso.tutorial.inquire-plot.renew : True cso.tutorial.inquire-plot.renew : True
! listing files: ! listing files:
cso.tutorial.inquire-plot.file : ${cso.tutorial.inquire-table-scihub.output.file} cso.tutorial.inquire-plot.file : ${cso.tutorial.inquire-table-dataspace.output.file}
!!~ specify dates ("yyyy-mm-dd") to use historic tables, !!~ specify dates ("yyyy-mm-dd") to use historic tables,
!! default is table of today: !! default is table of today:
!cso.tutorial.inquire-plot.filedate : 2022-01-28 !cso.tutorial.inquire-plot.filedate : 2022-01-28
...@@ -300,7 +297,7 @@ cso.tutorial.inquire-plot.file : ${cso.tutorial.inquire-tab ...@@ -300,7 +297,7 @@ cso.tutorial.inquire-plot.file : ${cso.tutorial.inquire-tab
cso.tutorial.inquire-plot.title : S5p/NO2 %Y-%m-%d cso.tutorial.inquire-plot.title : S5p/NO2 %Y-%m-%d
! output figure, date of today: ! output figure, date of today:
cso.tutorial.inquire-plot.output.file : ${my.work}/Copernicus/Copernicus_S5p_NO2_${my.region}__%Y-%m-%d.png cso.tutorial.inquire-plot.output.file : ${my.work}/Copernicus/Copernicus_S5p_NO2_dataspace__%Y-%m-%d.png
!====================================================================== !======================================================================
...@@ -324,12 +321,9 @@ cso.tutorial.convert.timerange.end : ${my.timerange.end} ...@@ -324,12 +321,9 @@ cso.tutorial.convert.timerange.end : ${my.timerange.end}
!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
! listing of available source files, created by 'inquire' job: ! listing of available source files, created by 'inquire' job:
cso.tutorial.convert.inquire.file : ${my.work}/Copernicus/Copernicus_S5p_NO2_scihub_%Y-%m-%d.csv cso.tutorial.convert.inquire.file : ${my.work}/Copernicus/Copernicus_S5p_NO2_dataspace__%Y-%m-%d.csv
!!~ historic inquire ... !~ historic inquire ...
!cso.tutorial.convert.inquire.filedate : 2022-02-02 cso.tutorial.convert.inquire.filedate : 2023-11-06
! selection keyword:
my.s5p.no2.selection : C03
! Provide ';' seperated list of to decide if a particular orbit file should be processed. ! 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), ! If more than one file is available for a particular orbit (from "OFFL" and "RPRO" processing),
...@@ -339,12 +333,8 @@ my.s5p.no2.selection : C03 ...@@ -339,12 +333,8 @@ my.s5p.no2.selection : C03
! (%{collection} == '03') and (%{processing} == 'RPRO') ; \ ! (%{collection} == '03') and (%{processing} == 'RPRO') ; \
! (%{collection} == '03') and (%{processing} == 'OFFL') ! (%{collection} == '03') and (%{processing} == 'OFFL')
! !
#if "${my.s5p.no2.selection}" == "C03"
cso.tutorial.convert.selection : (%{collection} == '03') and (%{processing} == 'RPRO') ; \ cso.tutorial.convert.selection : (%{collection} == '03') and (%{processing} == 'RPRO') ; \
(%{collection} == '03') and (%{processing} == 'OFFL') (%{collection} == '03') and (%{processing} == 'OFFL')
#else
#error unsupported my.s5p.no2.selection "${my.s5p.no2.selection}"
#endif
! input directory; ! input directory;
! files are searched here or downloaded to if not present yet; ! files are searched here or downloaded to if not present yet;
......
...@@ -22,7 +22,7 @@ copyright = '2020-2023, Arjo Segers' ...@@ -22,7 +22,7 @@ copyright = '2020-2023, Arjo Segers'
author = 'Arjo Segers' author = 'Arjo Segers'
# The full version, including alpha/beta/rc tags # The full version, including alpha/beta/rc tags
release = 'v2.4' release = 'v2.5'
# -- General configuration --------------------------------------------------- # -- General configuration ---------------------------------------------------
......
...@@ -53,7 +53,7 @@ The source tree of the documentation files is: ...@@ -53,7 +53,7 @@ The source tree of the documentation files is:
* `pymod-cso_colocate.rst <../../source/pymod-cso_colocate.rst>`_ * `pymod-cso_colocate.rst <../../source/pymod-cso_colocate.rst>`_
* `pymod-cso_plot.rst <../../source/pymod-cso_plot.rst>`_ * `pymod-cso_plot.rst <../../source/pymod-cso_plot.rst>`_
* `pymod-cso_s5p.rst <../../source/pymod-cso_s5p.rst>`_ * `pymod-cso_s5p.rst <../../source/pymod-cso_s5p.rst>`_
* `pymod-cso_scihub.rst <../../source/pymod-cso_scihub.rst>`_ * `pymod-cso_dataspace.rst <../../source/pymod-cso_dataspace.rst>`_
* `pymods.rst <../../source/pymods.rst>`_ * `pymods.rst <../../source/pymods.rst>`_
* `documentation.rst <../../source/documentation.rst>`_ * `documentation.rst <../../source/documentation.rst>`_
...@@ -173,7 +173,7 @@ Example taken from introduction of the 'cso_s5p' module. ...@@ -173,7 +173,7 @@ Example taken from introduction of the 'cso_s5p' module.
.. toctree:: .. toctree::
:maxdepth: 1 :maxdepth: 1
pymod-cso_scihub pymod-cso_dataspace
pymod-cso_s5p <--- pymod-cso_s5p <---
: :
......