Permalink
Fetching contributors…
Cannot retrieve contributors at this time
149 lines (121 sloc) 4.77 KB

Welcome to trollduction's documentation!

Trollduction is a configurable framework for satellite image batch production.

This documentation is a work in progress, but the most important bits should be present. The missing details will be added once noticed.

How does Trollduction work?

Trollduction builds on the principle that satellite image batch production is event based, and that different processing steps are chained together to produce the final products. This is why trollduction is a collection of independent elements of this chain, which are then communicating together through lightweight network messages.

Setting things up cheat sheet

  1. Install other required packages:
    • libnetcdf-dev
    • libhdf5-dev
    • python-numpy
    • python-zmq
    • python-pyinotify

    and the Pytroll packages:

  2. Configure mpop
    • modify mpop.cfg to suit your needs
    • add configurations for satellites you are going to use (see the templates in mpop/etc/)
  3. Create Trollduction configuration files
    • use trollduction/examples/trollstalker_config.ini_template as a template
    • use trollduction/examples/l2processor_config.ini_template as a template
    • save config file to your chosen place without the _template ending
  4. Create Trollduction product configuration file
    • use trollduction/examples/product_config_hrpt.xml_template as a template
    • save the file to the path defined in your l2processor_config.ini without the _template ending
    • define your output_dir in the xml file
    • topic from the trollstalker_config.ini must be included in the list of topics in l2processor_config.ini
  5. Create logging configurations for trollduction and trollstalker
    • trollstalker is part of pytroll-collectors package
    • use trollduction/examples/l2processor_logging.ini_template and pytroll-collectors/examples/trollstalker_logging.ini_template as templates
    • check the log filename (by default logs go to /tmp/ directory)
    • save these configs to the path defined in your l2processor_config.ini and trollstalker_config.ini without the _template ending
  6. Start posttroll/bin/nameserver
    • this will register the different subscribers on the network and relay the messages between different processes
    • ./nameserver
  7. Start pytroll-collectors/bin/trollstalker.py
    • file watcher that sends messages of new files available for processing
    • for example: ./trollstalker.py -c /path/to/trollstalker_config.ini -C noaa_hrpt
  8. Start Trollduction trollduction/bin/l2processor.py
    • ./l2processor.py -c /path/to/l2processor_config.ini -C noaa_hrpt
    • this should print your configuration and stop to wait for new messages
  9. Copy a suitable file to your data input directory

  10. Check the output directory for images

Detailed instructions

.. toctree::
   :maxdepth: 3

   installation.rst
   configuration.rst

Indices and tables

Trollduction

.. automodule:: trollduction.trollduction
   :members:
   :undoc-members:

XML read

.. automodule:: trollduction.xml_read
   :members:
   :undoc-members:

Helper functions

.. automodule:: trollduction.helper_functions
   :members:
   :undoc-members:

Custom handler

.. automodule:: trollduction.custom_handler
   :members:
   :undoc-members: