"""
Grid-Stat: Analysis validation 
==============================

GridStat_fcstGloTEC_obsGloTEC_vx7.conf

"""
##############################################################################
# .. contents::
#   :depth: 1
#   :local:
#   :backlinks: none

##############################################################################
# Overview
# --------
#
# This use case illustrates the use of grid_stat tool for the space weather domain.
# It compares Total Electron Content for a GloTEC model run initialized with COSMIC-1
# radio occultation (RO) data to a GloTEC model run without such data. 
#
# In this use case, the forecast is considered to be the run without COSMIC-1 RO data.
# The observations are considered to be the run with COSMIC-1 RO data.
#
# This use case runs grid_stat for the first two forecast times of a 
# space weather event known as the St. Patrick's Day Storm (Mar 17, 2015). 
#
# Novel aspects of this use case:
#
# * This is the first example use case to run grid_stat on a space weather model (GloTEC)
# * Example of how to run with NetCDF input data which do not strictly conform to the Climate Forecasts (CF) conventions
# * Example of using masks covering latitudinal bands of interest to the space weather community: equatorial region, mid-latitude region, and polar region
# * Example of masking using the values of a quality flag which vary at each time step and grid point

##############################################################################
# Version Added
# -------------
#
# METplus version 3.0

##############################################################################
# Scientific Objective
# --------------------
#
# Compare gridded forecast data from a run of the GloTEC model that includes 
# assimilation of COSMIC-1 radio occultation (RO) observations to gridded forecast 
# data from a GloTEC model run that does not include COSMIC-1 RO data. 

##############################################################################
# Datasets
# --------
#
# **Forecast:** NOAA Space Weather Prediction Center (SWPC)
# GloTEC Total Electron Content (TEC) model run without assimilation of any COSMIC-1 RO data
#
# **Observation:** GloTEC TEC model run that assimilates COSMIC-1 RO data
#
# **Climatology:** None
#
# **Location:** All of the input data required for this use case can be 
# found in a sample data tarball. Each use case category will have 
# one or more sample data tarballs. It is only necessary to download 
# the tarball with the use case’s dataset and not the entire collection 
# of sample data. Click here to access the METplus releases page and download sample data 
# for the appropriate release: https://github.com/dtcenter/METplus/releases
# This tarball should be unpacked into the directory that you will 
# set the value of INPUT_BASE. See :ref:`running-metplus` section for more information.

##############################################################################
# METplus Use Case Contact
# ------------------------
#
# | **Author:** Jonathan L. Vigh (National Center for Atmospheric Research / Research Applications Laboratory / Joint Numerical Testbed)
# | **Last modified:** 06 February 2020

##############################################################################
# METplus Components
# ------------------
#
# This use case utilizes the METplus GridStat wrapper to search for
# files that are valid at a given run time and generate a command to run
# the MET tool grid_stat if all required files are found.

##############################################################################
# METplus Workflow
# ----------------
#
# **Beginning time (VALID_BEG):** 201503170005
#
# **End time (VALID_END):** 201503170015
#
# **Increment between beginning and end times (VALID_INCREMENT):** 600
#
# **Sequence of forecast leads to process (LEAD_SEQ):** 0
#
# GridStat is the only tool called in this example. It processes the following
# run times:
#
# | **Init:** 2015-03-17 0005Z
# | **Forecast lead:** 0
# |
# | **Init:** 2015-03-17 0015Z
# | **Forecast lead:** 0

##############################################################################
# METplus Configuration
# ---------------------
#
# METplus first loads all of the configuration files found in parm/metplus_config,
# then it loads any configuration files passed to METplus via the command line,
# i.e. parm/use_cases/model_applications/space_weather/GridStat_fcstGloTEC_obsGloTEC_vx7.conf
#
# .. highlight:: bash
# .. literalinclude:: ../../../../parm/use_cases/model_applications/space_weather/GridStat_fcstGloTEC_obsGloTEC_vx7.conf

##############################################################################
# MET Configuration
# -----------------
#
# METplus sets environment variables based on user settings in the METplus configuration file. 
# See :ref:`How METplus controls MET config file settings<metplus-control-met>` for more details. 
#
# **YOU SHOULD NOT SET ANY OF THESE ENVIRONMENT VARIABLES YOURSELF! THEY WILL BE OVERWRITTEN BY METPLUS WHEN IT CALLS THE MET TOOLS!**
#
# If there is a setting in the MET configuration file that is currently not supported by METplus you'd like to control, please refer to:
# :ref:`Overriding Unsupported MET config file settings<met-config-overrides>`
#
# .. dropdown:: GridStatConfig_wrapped
#
#   .. literalinclude:: ../../../../parm/met_config/GridStatConfig_wrapped

##############################################################################
# Python Embedding
# ----------------
#
# This use case does not use Python embedding.

##############################################################################
# User Scripting
# --------------
#
# User Scripting is not used in this use case.

##############################################################################
# Running METplus
# ---------------
#
# Pass the use case configuration file to the run_metplus.py script along 
# with any user-specific system configuration files if desired::
#
#   run_metplus.py /path/to/METplus/parm/use_cases/model_applications/space_weather/GridStat_fcstGloTEC_obsGloTEC_vx7.conf /path/to/user_system.conf
#
# See :ref:`running-metplus` for more information.

##############################################################################
# Expected Output
# ---------------
#
# A successful run will output the following both to the screen and to the logfile::
#
#   INFO: METplus has successfully finished running.
#
# Refer to the value set for **OUTPUT_BASE** to find where the output data was generated.
# Output for this use case will be found in space_weather/glotec_vs_glotec/output_data/2015_03_17 (relative to **OUTPUT_BASE**)
# and will contain the following files:
#
# * grid_stat_GloTEC_without_cosmic-vx7_TEC_vs_GloTEC_with_cosmic_000000L_20150317_000500V_pairs.nc  
# * grid_stat_GloTEC_without_cosmic-vx7_TEC_vs_GloTEC_with_cosmic_000000L_20150317_001500V_pairs.nc
# * grid_stat_GloTEC_without_cosmic-vx7_TEC_vs_GloTEC_with_cosmic_000000L_20150317_000500V.stat      
# * grid_stat_GloTEC_without_cosmic-vx7_TEC_vs_GloTEC_with_cosmic_000000L_20150317_001500V.stat


##############################################################################
# Keywords
# --------
#
# .. note::
#
#   * GridStatToolUseCase
#   * SpaceWeatherAppUseCase
#   * NOAASWPCOrgUseCase
#   * CustomStringLoopingUseCase
#   * MaskingFeatureUseCase
#   * ValidationUseCase
#
#   Navigate to the :ref:`quick-search` page to discover other similar use cases.
#
#
#

# sphinx_gallery_thumbnail_path = '_static/space_weather-GridStat_fcstGloTEC_obsGloTEC_vx7.jpg'
