.. _command_line_tool_yasmine: ************************** yasmine subcommand ************************** Generates ``yasmine-cli`` commands needed to create a complete StationXML file from a StationXML file containing information about the instrumentation. Introduction ========================== This command generates scripts allowing you to integrate the metadata contained in an **obsinfo** ``subnetwork`` file into and existing StationXML file, using the `YASMINE-CLI` tool. Requirements ========================= Before using the yasmine subcommand, you need to [install yasmine-cli](https://github.com/iris-edu/yasmine-stationxml-cli) in the environment in which you use **obsinfo**. Usage ========================= You will need to have an **obsinfo** subnetwork file. In the example below we name this files ``EXAMPLE.subnetwork.yaml`` Step 1: ~~~~~~~~ Run ``obsinfo yasmine`` on the subnetwork file: .. code-block:: console $obsinfo yasmine EXAMPLE.subnetwork.yaml --create This command will create a subdirectory named ``yasmine/`` in the working directory. Step 2: ~~~~~~~~ In the ``yasmine/`` directory is a shell script for each station. Run each one with an argument specifying the template StationXML file to use. The template file contains the instrument response for a given instrumentation at a given sampling rate and whatever specific parameters there are (FIR-filter type), programmable gain...). For example: .. code-block:: console run_MODU.sh MYINSTRUMENT_250sps.station.xml will create a new stationXML file called ``MYINSTRUMENT_250sps_MODU_correted.xml``. Details ======================= The ``yasmine/`` directory contains files named ``run_{STATION}.sh``, one for each station in the ``subnetwork`` file. Each file is a script like: .. code-block:: console XMLin=$1 XMLout="$(basename $XMLin .xml)_MODU_corrected.xml" stacode=$(basename $XMLin | cut -d '_' -f 1) cat $XMLin |\ yasmine-cli --level_network=* --field=code --value="1T" --dont_validate |\ yasmine-cli --level_network=* --field=start_date --value="2018-01-01T00:00:00Z" --dont_validate |\ yasmine-cli --level_network=* --field=end_date --value="2030-12-31T23:59:59Z" --dont_validate |\ yasmine-cli --level_network=* --field=description --value="Seismic monitoring of seismic sequence near Mayotte, on and offshore." --dont_validate |\ yasmine-cli --level_network=* --field=comments --value=yml:yaml/1T_comments.yaml --dont_validate |\ yasmine-cli --level_station=*.* --field=code --value="MODU" --dont_validate |\ yasmine-cli --level_station=*.* --field=site --value=yml:yaml/MODU_site.yaml --dont_validate |\ yasmine-cli --level_station=*.* --field=start_date --value="2025-10-07T00:00:00Z" --dont_validate |\ yasmine-cli --level_station=*.* --field=end_date --value="2026-05-12T14:21:51Z" --dont_validate |\ yasmine-cli --level_station=*.* --field=operators --value=yml:yaml/MODU_operators.yaml --dont_validate |\ yasmine-cli --level_station=*.* --field=comments --value=yml:yaml/MODU_comments.yaml --dont_validate |\ yasmine-cli --level_station=*.* --field=geology --value="O (other)" --dont_validate |\ yasmine-cli --level_station=*.* --field=vault --value="Seafloor" --dont_validate |\ yasmine-cli --level_station=*.* --field=latitude --value=yml:yaml/MODU_latitude.yaml --dont_validate |\ yasmine-cli --level_station=*.* --field=longitude --value=yml:yaml/MODU_longitude.yaml --dont_validate |\ yasmine-cli --level_station=*.* --field=elevation --value=yml:yaml/MODU_elevation.yaml --dont_validate |\ yasmine-cli --level_channel=*.*.*.* --field=start_date --value="2025-10-07T00:00:00Z" --dont_validate |\ yasmine-cli --level_channel=*.*.*.* --field=end_date --value="2026-05-12T14:21:51Z" --dont_validate |\ yasmine-cli --level_channel=*.*.*.* --field=depth --value=0 --dont_validate |\ yasmine-cli --level_channel=*.*.*.* --field=latitude --value=yml:yaml/MODU_CHAN_latitude.yaml --dont_validate |\ yasmine-cli --level_channel=*.*.*.* --field=longitude --value=yml:yaml/MODU_CHAN_longitude.yaml --dont_validate |\ yasmine-cli --level_channel=*.*.*.* --field=elevation --value=yml:yaml/MODU_CHAN_elevation.yaml --dont_validate -o $XMLout For the simpler fields, the value is directly specified in the file. For more complicated fields, the value is stored in a YAML file in the ``yaml/`` directory. Below is an example of the network-level comments file: ``1T_comments.yaml`` .. code-block:: yaml Comments: - Comment: authors: [] begin_effective_time: null end_effective_time: null id: null subject: null value: 'Network name: Temporary seismological network Mayotte (SISMAYOTTE)'