.. 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.


.. _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>`.
Parameters used on the command line can also be passed from file using the option
:option:`-i`.


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 Options
====================

.. 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. Example:
   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

   Set 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

   Set 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

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

.. option:: -s, --syslog

   Use syslog logging backend. 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

   Execute in debug mode.
   Equivalent to \-\-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

   Default: ``0``

   Set sending of a start and a stop message.


Input
-----

.. option:: -i, --input arg

   Read parameters from given file instead from command line.

