{
  "cells": [
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "collapsed": false
      },
      "outputs": [],
      "source": [
        "%matplotlib inline"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "\n# TCPairs: Basic Use Case for Tropical Cyclones\n\nmet_tool_wrapper/TCPairs/TCPairs_tropical.conf\n"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "## Scientific Objective\n\nOnce this method is complete, a forecast and reference track analysis file\nwill have been paired up, allowing statistical information to be extracted.\n\n"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "## Datasets\n\n\n| **Forecast:** A Deck \n|     /path/to/hwrf/adeck\n| **Observation:** Best Track - B Deck\n|     /path/to/hwrf/bdeck\n\n| **Location:** All of the input data required for this use case can be found in the met_test sample data tarball. Click here to the METplus releases page and download sample data for the appropriate release: https://github.com/dtcenter/METplus/releases\n| The tarball should be unpacked into the directory that you will set the value of INPUT_BASE. See `Running METplus`_ section for more information.\n\n| **Data Source:** HWRF\n|\n\n"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "## METplus Components\n\nThis use case utilizes the METplus TCPairs wrapper to search for\nfiles that are valid at a given run time and generate a command to run\nthe MET tool tc_pairs.\n\n"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "## METplus Workflow\n\nTCPairs is the only tool called in this example. It processes the following\nrun times:\n\n| **Init:** 2018-08-30_06Z, 2018-08-30_12Z, 2018-08-30_18Z\n|\n\n"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "## METplus Configuration\n\nMETplus first loads all of the configuration files found in parm/metplus_config,\nthen it loads any configuration files passed to METplus via the command line\nwith the -c option, i.e. -c /path/to/TCPairs_tropical.conf\n\n.. highlight:: bash\n.. literalinclude:: ../../../../parm/use_cases/met_tool_wrapper/TCPairs/TCPairs_tropical.conf\n\n"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "## MET Configuration\n\nMETplus sets environment variables based on user settings in the METplus configuration file. \nSee `How METplus controls MET config file settings<metplus-control-met>` for more details. \n\n**YOU SHOULD NOT SET ANY OF THESE ENVIRONMENT VARIABLES YOURSELF! THEY WILL BE OVERWRITTEN BY METPLUS WHEN IT CALLS THE MET TOOLS!**\n\nIf there is a setting in the MET configuration file that is currently not supported by METplus you'd like to control, please refer to:\n`Overriding Unsupported MET config file settings<met-config-overrides>`\n\n<div class=\"alert alert-info\"><h4>Note</h4><p>See the `TCPairs MET Configuration<tc-pairs-met-conf>` section of the User's Guide for more information on the environment variables used in the file below:</p></div>\n\n.. highlight:: bash\n.. literalinclude:: ../../../../parm/met_config/TCPairsConfig_wrapped\n\n"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "## Running METplus\n\nThis use case can be run two ways:\n\n1) Passing in TCPairs_tropical.conf then a user-specific system configuration file::\n\n       run_metplus.py -c /path/to/TCPairs_tropical.conf -c /path/to/user_system.conf\n\n2) Modifying the configurations in parm/metplus_config, then passing in TCPairs_tropical.conf::\n\n       run_metplus.py -c /path/to/TCPairs_tropical.conf\n\nThe former method is recommended. Whether you add them to a user-specific configuration file or modify the metplus_config files, the following METplus configuration variables must be set correctly to run this example.:\n\n* **INPUT_BASE** - Path to directory where sample data tarballs are unpacked (See Datasets section to obtain tarballs).\n* **OUTPUT_BASE** - Path where METplus output will be written. This must be in a location where you have write permissions\n* **MET_INSTALL_DIR** - Path to location where MET is installed locally\n\nExample User Configuration File::\n\n  [dir]\n  INPUT_BASE = /path/to/sample/input/data\n  OUTPUT_BASE = /path/to/output/dir\n  MET_INSTALL_DIR = /path/to/met-X.Y \n\n**NOTE:** All of these items must be found under the [dir] section.\n\n\n"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "## Expected Output\n\nA successful run will output the following both to the screen and to the logfile::\n\n  INFO: METplus has successfully finished running.\n\nRefer to the value set for **OUTPUT_BASE** to find where the output data was generated.\nOutput for this use case will be found in tc_pairs\nand will contain the following files:\n\n* tc_pairs_al2018083006.dat.tcst\n* tc_pairs_al2018083012.dat.tcst\n* tc_pairs_al2018083018.dat.tcst\n\n"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "## Keywords\n\n<div class=\"alert alert-info\"><h4>Note</h4><p>* TCPairsToolUseCase\n  * DTCOrgUseCase\n\n  Navigate to the `quick-search` page to discover other similar use cases.</p></div>\n\n\n\nsphinx_gallery_thumbnail_path = '_static/met_tool_wrapper-TCPairs.png'\n\n\n"
      ]
    }
  ],
  "metadata": {
    "kernelspec": {
      "display_name": "Python 3",
      "language": "python",
      "name": "python3"
    },
    "language_info": {
      "codemirror_mode": {
        "name": "ipython",
        "version": 3
      },
      "file_extension": ".py",
      "mimetype": "text/x-python",
      "name": "python",
      "nbconvert_exporter": "python",
      "pygments_lexer": "ipython3",
      "version": "3.7.9"
    }
  },
  "nbformat": 4,
  "nbformat_minor": 0
}