!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!
!!! CSO - CAMS Satellite Operator
!!!
!!! Settings for project.
!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!


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

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

! selected tracers:
!my.tracers                :  no2 so2 hcho co chocho
!~ one by one ..
my.tracers                :  no2
!my.tracers                :  so2
!my.tracers                :  hcho
!my.tracers                :  co
!my.tracers                :  chocho

!! testing ...
!my.tracers                :  so2-cobra


!----------------------------------------------------------
! job tree
!----------------------------------------------------------

! class to create a job tree:
cso.class                                     :  utopya.UtopyaJobTree
! list of sub-elements:
cso.elements                                  :  s5p

! class to create a job tree:
cso.s5p.class                                 :  utopya.UtopyaJobTree
! list of sub-elements:
cso.s5p.elements                              :  ${my.tracers}


! *

#for TRACER in ${my.tracers}

! class to create a job tree:
cso.s5p.TRACER.class                             :  utopya.UtopyaJobTree

! list of sub-elements:
!cso.s5p.TRACER.elements                          :  inquire \
!                                                    convert listing \
!                                                    catalogue \
!                                                    gridded gridded-catalogue
!                                                    sim-catalogue \
!                                                    sim-gridded sim-gridded-catalogue
!
!~ preprocessor steps one by one ...
cso.s5p.TRACER.elements                          :  inquire
!cso.s5p.TRACER.elements                          :  convert
!cso.s5p.TRACER.elements                          :  listing
!cso.s5p.TRACER.elements                          :  catalogue
!cso.s5p.TRACER.elements                          :  gridded
!cso.s5p.TRACER.elements                          :  gridded-catalogue
!
!~ process simulator output:
!cso.s5p.TRACER.elements                          :  sim-catalogue
!cso.s5p.TRACER.elements                          :  sim-gridded
!cso.s5p.TRACER.elements                          :  sim-gridded-catalogue

! *

! single step:
cso.s5p.TRACER.inquire.class                      :  utopya.UtopyaJobStep
! two or more tasks:
#if "TRACER" in ["no2","so2","hcho","co"]
cso.s5p.TRACER.inquire.tasks                      :  table-scihub plot
#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
#else
#error unsupported tracer "TRACER"
#endif
!~ inquire files available on SciHub:
cso.s5p.TRACER.inquire.table-scihub.class         :  cso.CSO_SciHub_Inquire
cso.s5p.TRACER.inquire.table-scihub.args          :  '${PWD}/config/Copernicus/cso-s5p-TRACER.rc', \
                                                     rcbase='cso.s5p.TRACER.inquire-table-scihub'
!~ inquire files available on PAL:
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', \
                                                      rcbase='cso.s5p.TRACER.inquire-table-pal'
!~ inquire files downloaded from GlyRetro:
cso.s5p.TRACER.inquire.table-glyretro.class      :  cso.CSO_SciHub_Listing
cso.s5p.TRACER.inquire.table-glyretro.args       :  '${PWD}/config/Copernicus/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                  :  '${PWD}/config/Copernicus/cso-s5p-TRACER.rc', \
                                                      rcbase='cso.s5p.TRACER.inquire-plot'

! *

! single step:
cso.s5p.TRACER.convert.class                     :  utopya.UtopyaJobStep
! convert task:
cso.s5p.TRACER.convert.task.class                :  cso.CSO_S5p_Convert
cso.s5p.TRACER.convert.task.args                 :  '${PWD}/config/Copernicus/cso-s5p-TRACER.rc', \
                                                      rcbase='cso.s5p.TRACER.convert'
! single step:
cso.s5p.TRACER.listing.class                     :  utopya.UtopyaJobStep
! listing task:
cso.s5p.TRACER.listing.task.class                :  cso.CSO_S5p_Listing
cso.s5p.TRACER.listing.task.args                 :  '${PWD}/config/Copernicus/cso-s5p-TRACER.rc', \
                                                      rcbase='cso.s5p.TRACER.listing'

! single step:
cso.s5p.TRACER.catalogue.class                   :  utopya.UtopyaJobStep
! two tasks:
cso.s5p.TRACER.catalogue.tasks                   :  figs index

! catalogue creation task:
cso.s5p.TRACER.catalogue.figs.class              :  cso.CSO_Catalogue
cso.s5p.TRACER.catalogue.figs.args               :  '${PWD}/config/Copernicus/cso-s5p-TRACER.rc', \
                                                   rcbase='cso.s5p.TRACER.catalogue'
! indexer task:
cso.s5p.TRACER.catalogue.index.class             :  utopya.Indexer
cso.s5p.TRACER.catalogue.index.args              :  '${PWD}/config/Copernicus/cso-s5p-TRACER.rc', \
                                                    rcbase='cso.s5p.TRACER.catalogue-index'

! *

! single step:
cso.s5p.TRACER.gridded.class                     :  utopya.UtopyaJobStep
! catalogue creation task:
cso.s5p.TRACER.gridded.task.class                :  cso.CSO_GriddedAverage
cso.s5p.TRACER.gridded.task.args                 :  '${PWD}/config/Copernicus/cso-s5p-TRACER.rc', \
                                                   rcbase='cso.s5p.TRACER.gridded'

! single step:
cso.s5p.TRACER.gridded-catalogue.class           :  utopya.UtopyaJobStep
! two tasks:
cso.s5p.TRACER.gridded-catalogue.tasks           :  figs index
! catalogue creation task:
cso.s5p.TRACER.gridded-catalogue.figs.class      :  cso.CSO_GriddedCatalogue
cso.s5p.TRACER.gridded-catalogue.figs.args       :  '${PWD}/config/Copernicus/cso-s5p-TRACER.rc', \
                                                   rcbase='cso.s5p.TRACER.gridded-catalogue'
! indexer task:
cso.s5p.TRACER.gridded-catalogue.index.class     :  utopya.Indexer
cso.s5p.TRACER.gridded-catalogue.index.args      :  '${PWD}/config/Copernicus/cso-s5p-TRACER.rc', \
                                                   rcbase='cso.s5p.TRACER.gridded-catalogue-index'

! *

! single step:
cso.s5p.TRACER.sim-catalogue.class               :  utopya.UtopyaJobStep
! two tasks:
cso.s5p.TRACER.sim-catalogue.tasks               :  figs index

! catalogue creation task:
cso.s5p.TRACER.sim-catalogue.figs.class          :  cso.CSO_SimCatalogue
cso.s5p.TRACER.sim-catalogue.figs.args           :  '${PWD}/config/Copernicus/cso-s5p-TRACER.rc', \
                                                     rcbase='cso.s5p.TRACER.sim-catalogue'
! indexer task:
cso.s5p.TRACER.sim-catalogue.index.class         :  utopya.Indexer
cso.s5p.TRACER.sim-catalogue.index.args          :  '${PWD}/config/Copernicus/cso-s5p-TRACER.rc', \
                                                     rcbase='cso.s5p.TRACER.sim-catalogue-index'

!
! *
!

! single step:
cso.s5p.TRACER.sim-gridded.class                     :  utopya.UtopyaJobStep
! catalogue creation task:
cso.s5p.TRACER.sim-gridded.task.class                :  cso.CSO_GriddedAverage
cso.s5p.TRACER.sim-gridded.task.args                 :  '${PWD}/config/Copernicus/cso-s5p-TRACER.rc', \
                                                        rcbase='cso.s5p.TRACER.sim-gridded'

! single step:
cso.s5p.TRACER.sim-gridded-catalogue.class           :  utopya.UtopyaJobStep
! two tasks:
cso.s5p.TRACER.sim-gridded-catalogue.tasks           :  figs index
! catalogue creation task:
cso.s5p.TRACER.sim-gridded-catalogue.figs.class      :  cso.CSO_GriddedCatalogue
cso.s5p.TRACER.sim-gridded-catalogue.figs.args       :  '${PWD}/config/Copernicus/cso-s5p-TRACER.rc', \
                                                        rcbase='cso.s5p.TRACER.sim-gridded-catalogue'
! indexer task:
cso.s5p.TRACER.sim-gridded-catalogue.index.class     :  utopya.Indexer
cso.s5p.TRACER.sim-gridded-catalogue.index.args      :  '${PWD}/config/Copernicus/cso-s5p-TRACER.rc', \
                                                        rcbase='cso.s5p.TRACER.sim-gridded-catalogue-index'

#endfor


!----------------------------------------------------------
! job step defaults
!----------------------------------------------------------

! run jobs in foreground:
*.script.class                      :  utopya.UtopyaJobScriptForeground

! search path for python modules:
*.pypath                            :  ${PWD}/py
        
! work directory for jobs; 
! here path including subdirectories for job name elements:
*.workdir                           :  ${my.work}/__NAME2PATH__

! jobtree settings from this file:
*.rcfile                            :  ${__filename__}

! script interpreter:
*.shell                             :  /usr/bin/env python3


!----------------------------------------------------------
! end
!----------------------------------------------------------
