.. highlight:: rst

.. _scsendjournal:

#############
scsendjournal
#############

**Send journaling information to the messaging to manipulate event parameter objects.**


Description
===========

scsendjournal sends journals to the \scname messaging system.
Currently, journals can be used to command :ref:`scevent`.
The journals command :ref:`scevent` to manipulate event parameters according to
the :ref:`journal actions <scsendjournal-actions>` which must be known to
:ref:`scevent`.

The actions allow to:

* Create new events,
* Modify event parameters,
* Control the association of origins to events.


Synopsis
========

scsendjournal [opts] {objectID} {action} [parameters]


.. _scsendjournal-actions:

Actions
=======

There are specific journal actions for handling non-events and events. The documentation
of :ref:`scevent` contains a :ref:`complete list of journals known to scevent <scevent-journals>`.


None-event specific actions
---------------------------

* **EvNewEvent**: Create a new event from origin with the provided origin ID.
  The origin must be known to :ref:`scevent`.

  Example: Create a new event from the
  origin with given originID. Apply the action in the message system on *localhost*: ::

     scsendjournal -H localhost Origin#20170505130954.736019.318 EvNewEvent


Origin association
------------------

* **EvGrabOrg**: Grab origin and move the origin to the event with the given eventID.
  If the origins is already associated to another event, remove this reference
  in the other event.
* **EvMerge**: Merge events into one event.

  Example: Merge all origins from the source event with eventID *eventS* into the
  target event with eventID *eventT*. Remove event *eventS*. Apply the action in
  the message system on *host*: ::

     scsendjournal -H {host} {eventT} EvMerge {eventS}

* **EvSplitOrg**: Split origins to 2 events.


Event parameters
----------------

* **EvName**: Set *EventDescription* of type *earthquake name*.

  Example, setting the name of the event with
  eventID *gempa2021abcd* to *Petrinja* ::

     scsendjournal -H localhost gempa2020abcd EvName "Petrinja"

* **EvOpComment**: Set event operator's comment.
* **EvPrefFocMecID**: Set event preferred focal mechanism.
* **EvPrefMagTypev:** Set preferred magnitude type.
* **EvPrefMw**: Set Mw from focal mechanism as preferred magnitude.
* **EvPrefOrgAutomatic**: Set the preferred mode to *automatic* corresponding to *unfix* in scolv.
* **EvPrefOrgEvalMode**: Set preferred origin by evaluation mode.
* **EvPrefOrgID**: Set preferred origin by ID.
* **EvRefresh**: Select the preferred origin, the preferred magnitude, update
  the region. Call processors loaded with plugins, e.g. the
  :ref:`evrc <scevent_regioncheck>` plugin for scevent.

  Example: ::

     scsendjournal -H localhost gempa2021abcd EvRefresh

* **EvType**: Set event type.

  Example: Set the type of the event with eventID *gempa2021abcd* to *nuclear explosion*. ::

     scsendjournal -H localhost gempa2021abcd EvType "nuclear explosion"

* **EvTypeCertainty**: set event type certainty.



Command-line
============

.. program:: scsendjournal

:program:`scsendjournal [opts] {objectID} {action} [parameters]`




Generic
-------

.. option:: -h, --help

   show help message.

.. option:: -V, --version

   show version information

.. option:: --config-file arg

   Use alternative configuration file. When this option is used
   the loading of all stages is disabled. Only the given configuration
   file is parsed and used. To use another name for the configuration
   create a symbolic link of the application or copy it, eg scautopick \-> scautopick2.

.. option:: --plugins arg

   Load given plugins.

.. option:: -D, --daemon

   Run as daemon. This means the application will fork itself and
   doesn't need to be started with \&.

.. option:: --auto-shutdown arg

   Enable\/disable self\-shutdown because a master module shutdown. This only
   works when messaging is enabled and the master module sends a shutdown
   message \(enabled with \-\-start\-stop\-msg for the master module\).

.. option:: --shutdown-master-module arg

   Sets the name of the master\-module used for auto\-shutdown. This
   is the application name of the module actually started. If symlinks
   are used then it is the name of the symlinked application.

.. option:: --shutdown-master-username arg

   Sets the name of the master\-username of the messaging used for
   auto\-shutdown. If \"shutdown\-master\-module\" is given as well this
   parameter is ignored.


Verbosity
---------

.. option:: --verbosity arg

   Verbosity level [0..4]. 0:quiet, 1:error, 2:warning, 3:info, 4:debug

.. option:: -v, --v

   Increase verbosity level \(may be repeated, eg. \-vv\)

.. option:: -q, --quiet

   Quiet mode: no logging output

.. option:: --component arg

   Limits the logging to a certain component. This option can be given more than once.

.. option:: -s, --syslog

   Use syslog logging back end. The output usually goes to \/var\/lib\/messages.

.. option:: -l, --lockfile arg

   Path to lock file.

.. option:: --console arg

   Send log output to stdout.

.. option:: --debug

   Debug mode: \-\-verbosity\=4 \-\-console\=1

.. option:: --log-file arg

   Use alternative log file.


Messaging
---------

.. option:: -u, --user arg

   Overrides configuration parameter :confval:`connection.username`.

.. option:: -H, --host arg

   Overrides configuration parameter :confval:`connection.server`.

.. option:: -t, --timeout arg

   Overrides configuration parameter :confval:`connection.timeout`.

.. option:: -g, --primary-group arg

   Overrides configuration parameter :confval:`connection.primaryGroup`.

.. option:: -S, --subscribe-group arg

   A group to subscribe to. This option can be given more than once.

.. option:: --start-stop-msg arg

   Sets sending of a start\- and a stop message.