.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "generated/model_applications/land_surface/PointStat_fcstUFS_obsISMN_SoilMoistureTemp.py" .. LINE NUMBERS ARE GIVEN BELOW. .. only:: html .. note:: :class: sphx-glr-download-link-note :ref:`Go to the end ` to download the full example code. .. rst-class:: sphx-glr-example-title .. _sphx_glr_generated_model_applications_land_surface_PointStat_fcstUFS_obsISMN_SoilMoistureTemp.py: PointStat: Verify UFS Soil Moisture and Temperature with ISMN Observations ========================================================================== model_applications/land_surface/PointStat_fcstUFS_obsISMN_SoilMoistureTemp.conf .. GENERATED FROM PYTHON SOURCE LINES 9-13 .. contents:: :depth: 1 :local: :backlinks: none .. GENERATED FROM PYTHON SOURCE LINES 15-28 Scientific Objective -------------------- This use case examines soil moisture and temperature biases in the UFS global forecast system (GFS). The specific configuration is a GFSv17 pre-release version (HR1). Correct representation of land states are important for many processes, such as prediction of convection, near surface sensible weather (e.g. winds, humidity, temperature), and subsequent hydrological forecasting applications such as snowpack evolution and runoff generation. Here we use the International Soil Moisture Network (ISMN) soil moisture and temperature data to assess UFS forecast errors across CONUS for an example summer 60 hour forecast. We plot spatial differences (forecast-observation) to diagnose regional variations as well as a 2D probability density plot of forecast difference versus forecast value to assess the frequency of conditional differences. These diagnostics are useful for process understanding and may aid in land model development and forecast error improvement. .. GENERATED FROM PYTHON SOURCE LINES 30-34 Version Added ------------- METplus version 6.1 .. GENERATED FROM PYTHON SOURCE LINES 36-55 Datasets -------- **Forecast:** Global Forecast System (GFS) version 17 prototype. Global 1-degree grid including soil moisture content and soil temperature. **Observation:** International Soil Moisture Network (ISMN) observations of soil moisture content and soil temperature. **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. .. GENERATED FROM PYTHON SOURCE LINES 57-65 METplus Components ------------------ This use case uses ASCII2NC to process ISMN observations from their raw format and then calls PointStat to verify the forecast data using those observations. After PointStat, StatAnalysis is called to compute an aggregate mean error (ME, Bias) across all times and forecast leads. Then METplus UserScripts are used to create various graphics from the output. .. GENERATED FROM PYTHON SOURCE LINES 67-87 METplus Workflow ---------------- **Beginning time (INIT_BEG):** 2020-08-05 12:00 **End time (INIT_END):** 2020-08-05 12:00 **Increment between beginning and end times (INIT_INCREMENT):** 12 Hours **Sequence of forecast leads to process (LEAD_SEQ):** 60 Only a single time is used to demonstrate the workflow for this use case. For each time, ASCII2NC is used to convert the ISMN observations to NetCDF. Then PointStat is called to create matched forecast and observation pairs for each variable and level defined by the user. After PointStat, StatAnalysis is used to compute an aggregate mean error (ME, bias) for all forecast/observation pairs across all valid times and forecast leads. This bias value is used to create a plot of the ME at each ISMN site on a map, color-coded by the bias value. In addition, 2-D histogram plots are created showing the relationship between the forecast minus observation values and the forecast values. .. GENERATED FROM PYTHON SOURCE LINES 89-98 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/land_surface/PointStat_fcstUFS_obsISMN_SoilMoistureTemp.conf .. highlight:: bash .. literalinclude:: ../../../../parm/use_cases/model_applications/land_surface/PointStat_fcstUFS_obsISMN_SoilMoistureTemp.conf .. GENERATED FROM PYTHON SOURCE LINES 100-123 MET Configuration ----------------- METplus sets environment variables based on user settings in the METplus configuration file. See :ref:`How METplus controls MET config file settings` 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` .. dropdown:: Ascii2NcConfig_wrapped .. literalinclude:: ../../../../parm/met_config/Ascii2NcConfig_wrapped .. dropdown:: PointStatConfig_wrapped .. literalinclude:: ../../../../parm/met_config/Ascii2NcConfig_wrapped .. dropdown:: STATAnalysisConfig_wrapped .. literalinclude:: ../../../../parm/met_config/STATAnalysisConfig_wrapped .. GENERATED FROM PYTHON SOURCE LINES 125-129 Python Embedding ---------------- This use case does not use Python embedding. .. GENERATED FROM PYTHON SOURCE LINES 131-149 User Scripting -------------- This use case uses two Python UserScripts to perform plotting of the output. These scripts are called via the METplus configuration file, and produce a map plot of the mean error (ME, bias) at each observation location from PointStat for both variables analyzed, as well as a 2D histogram plotting the frequency of each forecast minus observation and forecast value combination. .. dropdown:: parm/use_cases/model_applications/land_surface/PointStat_fcstUFS_obsISMN_SoilMoistureTemp/plot_point_stat_bias_map_ISMN.py .. highlight:: python .. literalinclude:: ../../../../parm/use_cases/model_applications/land_surface/PointStat_fcstUFS_obsISMN_SoilMoistureTemp/plot_point_stat_bias_map_ISMN.py .. dropdown:: parm/use_cases/model_applications/land_surface/PointStat_fcstUFS_obsISMN_SoilMoistureTemp/plot_point_stat_bias_2d_hist_ISMN.py .. highlight:: python .. literalinclude:: ../../../../parm/use_cases/model_applications/land_surface/PointStat_fcstUFS_obsISMN_SoilMoistureTemp/plot_point_stat_bias_map_ISMN.py .. GENERATED FROM PYTHON SOURCE LINES 151-160 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/land_surface/PointStat_fcstUFS_obsISMN_SoilMoistureTemp.conf /path/to/user_system.conf See :ref:`running-metplus` for more information. .. GENERATED FROM PYTHON SOURCE LINES 162-182 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 {OUTPUT_BASE}/model_applications/land_surface/PointStat_fcstUFS_obsISMN_SoilMoistureTemp and will contain the following files:: * ascii2nc/2020080512_ismn.nc * point_stat/point_stat_600000L_20200805_120000V_mpr.txt * point_stat/point_stat_600000L_20200805_120000V.stat * stat_analysis/2020080512_2020080512_OBS_SID_CNT.stat * 20200805_120000_20200805_120000_SOILW_0-0.1_2D_hist.png * 20200805_120000_20200805_120000_SOILW_0-0.1_ME_map.png * 20200805_120000_20200805_120000_TSOIL_0-0.1_2D_hist.png * 20200805_120000_20200805_120000_TSOIL_0-0.1_ME_map.png .. GENERATED FROM PYTHON SOURCE LINES 184-199 Keywords -------- .. note:: * ASCII2NCToolUseCase * PointStatToolUseCase * StatAnalysisToolUseCase * UserScriptUseCase * LandSurfaceAppUseCase * VxDataISMN Navigate to the :ref:`quick-search` page to discover other similar use cases. sphinx_gallery_thumbnail_path = '_static/land_surface-PointStat_fcstUFS_obsISMN_SoilMoistureTemp.png' .. _sphx_glr_download_generated_model_applications_land_surface_PointStat_fcstUFS_obsISMN_SoilMoistureTemp.py: .. only:: html .. container:: sphx-glr-footer sphx-glr-footer-example .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: PointStat_fcstUFS_obsISMN_SoilMoistureTemp.ipynb ` .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: PointStat_fcstUFS_obsISMN_SoilMoistureTemp.py ` .. container:: sphx-glr-download sphx-glr-download-zip :download:`Download zipped: PointStat_fcstUFS_obsISMN_SoilMoistureTemp.zip ` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_