TNO Intern

Commit 9653dde6 authored by Arjo Segers's avatar Arjo Segers
Browse files

Introduced CSO on public repository.

parents
Loading
Loading
Loading
Loading

CHANGELOG

0 → 100644
+4 −0
Original line number Diff line number Diff line
CSO - CAMS Satellite Operator

See "History" chapter in documentation for changes.

LICENSE

0 → 100644
+21 −0
Original line number Diff line number Diff line
MIT License

Copyright (c) 2020 cams61

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

Makefile

0 → 100644
+43 −0
Original line number Diff line number Diff line
#
# Makefile for main directory.
#

help:
	@echo " "
	@echo " Usage:"
	@echo "   make docu           # build documentation"
	@echo "   make clean          # remove temporary files"
	@echo "   make clean-all      # remove temporary files and generated documentation"
	@echo " "

# generate documentation:
docu:
	@echo " "
	(cd doc; make html)
	@echo " "
	@echo "Browse through documentation:"
	@echo "   file://$(PWD)/doc/build/html/index.html"
	@echo " "

# remove temporary files:
clean: clean-pyc clean-osx clean-docu
	rm -f *.jb *.out *.err

# remove temporary python objects
clean-pyc:
	rm -f `find . -name '*.pyc'`
	rm -f -r ./py/__pycache__

# remove temporary Mac files
clean-osx:
	rm -f `find . -name '.DS_Store'`

# remove temporary documentation files:
clean-docu:
	rm -f -r doc/build/doctrees

# cleanup, and also remove generated documentation
clean-all: clean
	rm -f -r doc/build/html
	(cd oper; make clean-all)

README.md

0 → 100644
+40 −0
Original line number Diff line number Diff line
CSO - CAMS Satellite Operator
=============================

Tools for assimilation of satellite data in regional air quality model.



Quick clone
-----------

The easiest way is to use an ssh url to clone the repository.
See [How to use the repository](https://ci.tno.nl/gitlab/cams61/cso/-/wikis/How-to-use-the-repository) 
on the wiki for how to add an ssh private key to your account:

Then use the following command to clone the repository:

    git  clone  git@ci.tno.nl:cams61/cso.git


Tutorial
--------

A tutorial is included in the documentation. Browse to:

    doc/build/html/index.html

For the impatient:

    ./bin/cso rc/tutorial.rc

Eventually first re-create the documentation from the its source files:

    make docu

Note that the documenation requies 'sphinx', 
which is usually part of your python distribution.



bin/cso

0 → 100755
+73 −0
Original line number Diff line number Diff line
#! /usr/bin/env python3

"""
CSO - CAMS Satellite Operator

Pre-proocessor script.
For arguments, see:
  cso --help

History
2020-05, Arjo Segers, TNO
  Initital version.

"""


#-------------------------------------------------
# modules
#-------------------------------------------------

# modules:
import sys
import os
import logging

# extend path:
sys.path.insert( 0, os.path.join(os.path.dirname(sys.argv[0]),os.pardir,'py') )

# tools:
import utopya


#-------------------------------------------------
# begin
#-------------------------------------------------

# init script:
utos = utopya.UtopyaRunScriptRc()

# setup standard command line arguments, and also enable rcfile arguments:
utos.ArgumentsSetup( description='CAMS Satellite Operator', rcbase='cso' )

# evaluate known arguments, store the other ;
# might show help text and exit:
args,xargs = utos.ArgumentsParse()

# start, shout info:
logging.info( '' )
logging.info( '** CSO - CAMS Satellite Operator **' )
logging.info( '' )
logging.info( 'input rcfile   : %s' % args.rcfile )
logging.info( 'settings base  : %s' % args.rcbase )
logging.info( '' )

# info ...
logging.info( 'start job tree ...' )
# import class as defined in settings by 'cso.class' key;
# should be (derived from) 'utopya.JobStep' :
jbs_cls = utos.ImportClass( 'class' )
# init job step object, use the 'rcbase' as name:
jbs = jbs_cls( args.rcbase, args.rcfile )
# start first:
jbs.Start()

# info:
logging.info( '' )
logging.info( '** end **' )
logging.info( '' )


#-------------------------------------------------
# end
#-------------------------------------------------