diff --git a/.github/jobs/get_use_case_commands.py b/.github/jobs/get_use_case_commands.py index b23fdb123f..7212019889 100755 --- a/.github/jobs/get_use_case_commands.py +++ b/.github/jobs/get_use_case_commands.py @@ -164,14 +164,24 @@ def main(categories, subset_list, work_dir=None, for use_case in use_case_by_requirement.use_cases: # add parm/use_cases path to config args if they are conf files config_args = [] + ci_overrides = None for config_arg in use_case.config_args: if config_arg.endswith('.conf'): config_arg = os.path.join(work_dir, 'parm', - 'use_cases', - config_arg) + 'use_cases', config_arg) + + # look for CI overrides conf file + override_path = os.path.join(config_arg[0:-5], + 'ci_overrides.conf') + if os.path.exists(override_path): + ci_overrides = override_path config_args.append(config_arg) + # add CI overrides config file if running in docker + if ci_overrides and host_name == 'docker': + config_args.append(ci_overrides) + output_base = os.path.join(output_top_dir, group_name.split('-')[0], use_case.name) diff --git a/.github/parm/use_case_groups.json b/.github/parm/use_case_groups.json index 23ff852726..1fc724bdff 100644 --- a/.github/parm/use_case_groups.json +++ b/.github/parm/use_case_groups.json @@ -19,6 +19,36 @@ "index_list": "0-1", "run": false }, + { + "category": "clouds", + "index_list": "0", + "run": false + }, + { + "category": "clouds", + "index_list": "1", + "run": false + }, + { + "category": "clouds", + "index_list": "2", + "run": false + }, + { + "category": "clouds", + "index_list": "3", + "run": false + }, + { + "category": "clouds", + "index_list": "4", + "run": false + }, + { + "category": "clouds", + "index_list": "5", + "run": false + }, { "category": "data_assimilation", "index_list": "0-1", diff --git a/docs/Contributors_Guide/add_use_case.rst b/docs/Contributors_Guide/add_use_case.rst index b60ee6534a..8710145e06 100644 --- a/docs/Contributors_Guide/add_use_case.rst +++ b/docs/Contributors_Guide/add_use_case.rst @@ -44,6 +44,7 @@ one of the following: * air_quality_and_comp * climate +* clouds * data_assimilation * extremes * land_surface @@ -835,6 +836,43 @@ new job for the new use case. See the :ref:`cg-ci-subset_category` section and the multiple medium_range jobs for an example. +Overriding configuration for automated tests +-------------------------------------------- + +The automated tests have limited resources available to run the use cases. +Use cases can be adjusted to reduce file size, run time length, +memory usage, etc. but may still exceed the limits provided by GitHub Actions. +We also want to avoid losing scientific significance of a use case to allow +it to run in the automated testing environment. + +An additional METplus configuration file can be provided with a use case to +override certain configuration settings for the automated testing of the case. +This allows the use case configuration file to contain a useful example that +can be run on other environments while still allowing a subset of the use case +to be included in the automated use case tests. + +If needed, create a file named **ci_overrides.conf** in the use case directory, +e.g. parm/use_cases/model_applications/clouds/GridStat_fcstGFS_obsERA5_lowAndTotalCloudFrac/ci_overrides.conf. +This configuration file will automatically be read **after** the use case +configuration file when run in the automated testing environment. + +For example, if a use case processes many thresholds:: + + [config] + ... + FCST_VAR1_THRESH = gt0, lt10.0, ge10.0, ge20.0, ge30.0, ge40.0, ge50.0, ge60.0, ge70.0, ge80.0, ge90.0 + ... + OBS_VAR1_THRESH = gt0, lt10.0, ge10.0, ge20.0, ge30.0, ge40.0, ge50.0, ge60.0, ge70.0, ge80.0, ge90.0 + ... + +then one can override these variables so that fewer threshold values are +processed in the automated tests. In **ci_overrides.conf**, set:: + + [config] + FCST_VAR1_THRESH = gt0, lt10.0 + OBS_VAR1_THRESH = gt0, lt10.0 + + .. _exceeded-Github-Actions: Use Cases That Exceed Memory Allocations of Github Actions @@ -853,7 +891,7 @@ steps were unsuccessful in lowering memory usage, please take the following step Change the number in front of the new use case to an 'X', preceded by the ‘#’ character:: - #X::GridStat_fcstRTOFS_obsGHRSST_climWOA_sst::model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsGHRSST_climWOA_sst.conf, model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsGHRSST_climWOA_sst/ci_overrides.conf:: icecover_env, py_embed + #X::GridStat_fcstRTOFS_obsGHRSST_climWOA_sst::model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsGHRSST_climWOA_sst.conf:: icecover_env, py_embed - In the *.github/parm/use_case_groups.json* file, remove the entry that was added during the :ref:`add_new_category_to_test_runs` diff --git a/docs/Users_Guide/quicksearch.rst b/docs/Users_Guide/quicksearch.rst index 58caef38f2..1f30a3c5c7 100644 --- a/docs/Users_Guide/quicksearch.rst +++ b/docs/Users_Guide/quicksearch.rst @@ -74,6 +74,7 @@ Use Cases by Application: | `Air Quality and Composition <../search.html?q=AirQualityAndCompAppUseCase&check_keywords=yes&area=default>`_ | `Climate <../search.html?q=ClimateAppUseCase&check_keywords=yes&area=default>`_ + | `Clouds <../search.html?q=CloudsAppUseCase&check_keywords=yes&area=default>`_ | `Short Range <../search.html?q=ShortRangeAppUseCase&check_keywords=yes&area=default>`_ | `Data Assimilation <../search.html?q=DataAssimilationAppUseCase&check_keywords=yes&area=default>`_ | `Ensemble <../search.html?q=EnsembleAppUseCase&check_keywords=yes&area=default>`_ @@ -91,6 +92,7 @@ Use Cases by Application: | **Air Quality and Composition**: *AirQualityAndCompAppUseCase* | **Climate**: *ClimateAppUseCase* + | **Clouds**: *CloudsAppUseCase* | **Short Range**: *ShortRangeAppUseCase* | **Data Assimilation**: *DataAssimilationAppUseCase* | **Ensemble**: *EnsembleAppUseCase* diff --git a/docs/use_cases/model_applications/air_quality_and_comp/GridStat_fcstGFS_obsERA5_lowAndTotalCloudFrac.py b/docs/use_cases/model_applications/clouds/GridStat_fcstGFS_obsERA5_lowAndTotalCloudFrac.py similarity index 86% rename from docs/use_cases/model_applications/air_quality_and_comp/GridStat_fcstGFS_obsERA5_lowAndTotalCloudFrac.py rename to docs/use_cases/model_applications/clouds/GridStat_fcstGFS_obsERA5_lowAndTotalCloudFrac.py index 26c14bafb6..b6bf9a50e5 100644 --- a/docs/use_cases/model_applications/air_quality_and_comp/GridStat_fcstGFS_obsERA5_lowAndTotalCloudFrac.py +++ b/docs/use_cases/model_applications/clouds/GridStat_fcstGFS_obsERA5_lowAndTotalCloudFrac.py @@ -2,7 +2,7 @@ GridStat: Cloud Fractions with Neighborhood and Probabilities ============================================================= -model_applications/air_quality_and_comp/GridStat_fcstGFS_obsERA5_lowAndTotalCloudFrac.conf +model_applications/clouds/GridStat_fcstGFS_obsERA5_lowAndTotalCloudFrac.conf """ ############################################################################## @@ -57,10 +57,10 @@ # # METplus first loads the default configuration file found in parm/metplus_config, # then it loads any configuration files passed to METplus via the command line: -# parm/use_cases/model_applications/air_quality_and_comp/GridStat_fcstGFS_obsERA5_lowAndTotalCloudFrac.conf +# parm/use_cases/model_applications/clouds/GridStat_fcstGFS_obsERA5_lowAndTotalCloudFrac.conf # # .. highlight:: bash -# .. literalinclude:: ../../../../parm/use_cases/model_applications/air_quality_and_comp/GridStat_fcstGFS_obsERA5_lowAndTotalCloudFrac.conf +# .. literalinclude:: ../../../../parm/use_cases/model_applications/clouds/GridStat_fcstGFS_obsERA5_lowAndTotalCloudFrac.conf ############################################################################## # MET Configuration @@ -84,10 +84,10 @@ # ---------------- # # This use case utilizes 1 Python script to read and process the observation fields. -# parm/use_cases/model_applications/air_quality_and_comp/GridStat_fcstGFS_obsERA5_lowAndTotalCloudFrac/read_input_data.py +# parm/use_cases/model_applications/clouds/GridStat_fcstGFS_obsERA5_lowAndTotalCloudFrac/read_input_data.py # # .. highlight:: bash -# .. literalinclude:: ../../../../parm/use_cases/model_applications/air_quality_and_comp/GridStat_fcstGFS_obsERA5_lowAndTotalCloudFrac/read_input_data.py +# .. literalinclude:: ../../../../parm/use_cases/model_applications/clouds/GridStat_fcstGFS_obsERA5_lowAndTotalCloudFrac/read_input_data.py ############################################################################## # Running METplus @@ -96,7 +96,7 @@ # 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/air_quality_and_comp/GridStat_fcstGFS_obsERA5_lowAndTotalCloudFrac.conf /path/to/user_system.conf +# run_metplus.py /path/to/METplus/parm/use_cases/model_applications/clouds/GridStat_fcstGFS_obsERA5_lowAndTotalCloudFrac.conf /path/to/user_system.conf # # See :ref:`running-metplus` for more information. @@ -109,7 +109,7 @@ # 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 model_applications/air_quality_and_comp/GridStat_fcstGFS_obsERA5_lowAndTotalCloudFrac +# Output for this use case will be found in model_applications/clouds/GridStat_fcstGFS_obsERA5_lowAndTotalCloudFrac # (relative to **OUTPUT_BASE**) # and will contain the following files: # @@ -129,10 +129,10 @@ # # * GridStatToolUseCase # * NetCDFFileUseCase -# * AirQualityAndCompAppUseCase +# * CloudsAppUseCase # * PythonEmbeddingFileUseCase # # Navigate to the :ref:`quick-search` page to discover other similar use cases. # -# sphinx_gallery_thumbnail_path = '_static/air_quality_and_comp-GridStat_fcstGFS_obsERA5_lowAndTotalCloudFrac.png' +# sphinx_gallery_thumbnail_path = '_static/clouds-GridStat_fcstGFS_obsERA5_lowAndTotalCloudFrac.png' # diff --git a/docs/use_cases/model_applications/air_quality_and_comp/GridStat_fcstGFS_obsMERRA2_lowAndTotalCloudFrac.py b/docs/use_cases/model_applications/clouds/GridStat_fcstGFS_obsMERRA2_lowAndTotalCloudFrac.py similarity index 86% rename from docs/use_cases/model_applications/air_quality_and_comp/GridStat_fcstGFS_obsMERRA2_lowAndTotalCloudFrac.py rename to docs/use_cases/model_applications/clouds/GridStat_fcstGFS_obsMERRA2_lowAndTotalCloudFrac.py index 9ea7468677..586bd25634 100644 --- a/docs/use_cases/model_applications/air_quality_and_comp/GridStat_fcstGFS_obsMERRA2_lowAndTotalCloudFrac.py +++ b/docs/use_cases/model_applications/clouds/GridStat_fcstGFS_obsMERRA2_lowAndTotalCloudFrac.py @@ -2,7 +2,7 @@ GridStat: Cloud Fractions with Neighborhood and Probabilities ============================================================= -model_applications/air_quality_and_comp/GridStat_fcstGFS_obsMERRA2_lowAndTotalCloudFrac.conf +model_applications/clouds/GridStat_fcstGFS_obsMERRA2_lowAndTotalCloudFrac.conf """ ############################################################################## @@ -57,10 +57,10 @@ # # METplus first loads the default configuration file found in parm/metplus_config, # then it loads any configuration files passed to METplus via the command line: -# parm/use_cases/model_applications/air_quality_and_comp/GridStat_fcstGFS_obsMERRA2_lowAndTotalCloudFrac.conf +# parm/use_cases/model_applications/clouds/GridStat_fcstGFS_obsMERRA2_lowAndTotalCloudFrac.conf # # .. highlight:: bash -# .. literalinclude:: ../../../../parm/use_cases/model_applications/air_quality_and_comp/GridStat_fcstGFS_obsMERRA2_lowAndTotalCloudFrac.conf +# .. literalinclude:: ../../../../parm/use_cases/model_applications/clouds/GridStat_fcstGFS_obsMERRA2_lowAndTotalCloudFrac.conf ############################################################################## # MET Configuration @@ -85,10 +85,10 @@ # # This use case utilizes 1 Python script to read and process both forecast and # observation fields. -# parm/use_cases/model_applications/air_quality_and_comp/GridStat_fcstGFS_obsMERRA2_lowAndTotalCloudFrac/read_input_data.py +# parm/use_cases/model_applications/clouds/GridStat_fcstGFS_obsMERRA2_lowAndTotalCloudFrac/read_input_data.py # # .. highlight:: bash -# .. literalinclude:: ../../../../parm/use_cases/model_applications/air_quality_and_comp/GridStat_fcstGFS_obsMERRA2_lowAndTotalCloudFrac/read_input_data.py +# .. literalinclude:: ../../../../parm/use_cases/model_applications/clouds/GridStat_fcstGFS_obsMERRA2_lowAndTotalCloudFrac/read_input_data.py ############################################################################## # Running METplus @@ -97,7 +97,7 @@ # 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/air_quality_and_comp/GridStat_fcstGFS_obsMERRA2_lowAndTotalCloudFrac.conf /path/to/user_system.conf +# run_metplus.py /path/to/METplus/parm/use_cases/model_applications/clouds/GridStat_fcstGFS_obsMERRA2_lowAndTotalCloudFrac.conf /path/to/user_system.conf # # See :ref:`running-metplus` for more information. @@ -110,7 +110,7 @@ # 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 model_applications/air_quality_and_comp/GridStat_fcstGFS_obsMERRA2_lowAndTotalCloudFrac +# Output for this use case will be found in model_applications/clouds/GridStat_fcstGFS_obsMERRA2_lowAndTotalCloudFrac # (relative to **OUTPUT_BASE**) # and will contain the following files: # @@ -129,10 +129,10 @@ # # * GridStatToolUseCase # * NetCDFFileUseCase -# * AirQualityAndCompAppUseCase +# * CloudsAppUseCase # * PythonEmbeddingFileUseCase # # Navigate to the :ref:`quick-search` page to discover other similar use cases. # -# sphinx_gallery_thumbnail_path = '_static/air_quality_and_comp-GridStat_fcstGFS_obsMERRA2_lowAndTotalCloudFrac.png' +# sphinx_gallery_thumbnail_path = '_static/clouds-GridStat_fcstGFS_obsMERRA2_lowAndTotalCloudFrac.png' # diff --git a/docs/use_cases/model_applications/air_quality_and_comp/GridStat_fcstGFS_obsSATCORPS_cloudTopPressAndTemp.py b/docs/use_cases/model_applications/clouds/GridStat_fcstGFS_obsSATCORPS_cloudTopPressAndTemp.py similarity index 86% rename from docs/use_cases/model_applications/air_quality_and_comp/GridStat_fcstGFS_obsSATCORPS_cloudTopPressAndTemp.py rename to docs/use_cases/model_applications/clouds/GridStat_fcstGFS_obsSATCORPS_cloudTopPressAndTemp.py index 918e4a8f98..b925405cb0 100644 --- a/docs/use_cases/model_applications/air_quality_and_comp/GridStat_fcstGFS_obsSATCORPS_cloudTopPressAndTemp.py +++ b/docs/use_cases/model_applications/clouds/GridStat_fcstGFS_obsSATCORPS_cloudTopPressAndTemp.py @@ -2,7 +2,7 @@ GridStat: Cloud Pressure and Temperature Heights ================================================ -model_applications/air_quality_and_comp/GridStat_fcstGFS_obsSATCORPS_cloudTopPressAndTemp.conf +model_applications/clouds/GridStat_fcstGFS_obsSATCORPS_cloudTopPressAndTemp.conf """ ############################################################################## @@ -57,10 +57,10 @@ # # METplus first loads the default configuration file found in parm/metplus_config, # then it loads any configuration files passed to METplus via the command line: -# parm/use_cases/model_applications/air_quality_and_comp/GridStat_fcstGFS_obsSATCORPS_cloudTopPressAndTemp.conf +# parm/use_cases/model_applications/clouds/GridStat_fcstGFS_obsSATCORPS_cloudTopPressAndTemp.conf # # .. highlight:: bash -# .. literalinclude:: ../../../../parm/use_cases/model_applications/air_quality_and_comp/GridStat_fcstGFS_obsSATCORPS_cloudTopPressAndTemp.conf +# .. literalinclude:: ../../../../parm/use_cases/model_applications/clouds/GridStat_fcstGFS_obsSATCORPS_cloudTopPressAndTemp.conf ############################################################################## # MET Configuration @@ -84,10 +84,10 @@ # ---------------- # # This use case utilizes 1 Python script to read and process the observation fields. -# parm/use_cases/model_applications/air_quality_and_comp/GridStat_fcstGFS_obsSATCORPS_cloudTopPressAndTemp/read_input_data.py +# parm/use_cases/model_applications/clouds/GridStat_fcstGFS_obsSATCORPS_cloudTopPressAndTemp/read_input_data.py # # .. highlight:: bash -# .. literalinclude:: ../../../../parm/use_cases/model_applications/air_quality_and_comp/GridStat_fcstGFS_obsSATCORPS_cloudTopPressAndTemp/read_input_data.py +# .. literalinclude:: ../../../../parm/use_cases/model_applications/clouds/GridStat_fcstGFS_obsSATCORPS_cloudTopPressAndTemp/read_input_data.py ############################################################################## # Running METplus @@ -96,7 +96,7 @@ # 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/air_quality_and_comp/GridStat_fcstGFS_obsSATCORPS_cloudTopPressAndTemp.conf /path/to/user_system.conf +# run_metplus.py /path/to/METplus/parm/use_cases/model_applications/clouds/GridStat_fcstGFS_obsSATCORPS_cloudTopPressAndTemp.conf /path/to/user_system.conf # # See :ref:`running-metplus` for more information. @@ -109,7 +109,7 @@ # 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 model_applications/air_quality_and_comp/GridStat_fcstGFS_obsSATCORPS_cloudTopPressAndTemp +# Output for this use case will be found in model_applications/clouds/GridStat_fcstGFS_obsSATCORPS_cloudTopPressAndTemp # (relative to **OUTPUT_BASE**) # and will contain the following files: # @@ -128,10 +128,10 @@ # # * GridStatToolUseCase # * NetCDFFileUseCase -# * AirQualityAndCompAppUseCase +# * CloudsAppUseCase # * PythonEmbeddingFileUseCase # # Navigate to the :ref:`quick-search` page to discover other similar use cases. # -# sphinx_gallery_thumbnail_path = '_static/air_quality_and_comp-GridStat_fcstGFS_obsSATCORPS_cloudTopPressAndTemp.png' +# sphinx_gallery_thumbnail_path = '_static/clouds-GridStat_fcstGFS_obsSATCORPS_cloudTopPressAndTemp.png' # diff --git a/docs/use_cases/model_applications/air_quality_and_comp/GridStat_fcstMPAS_obsERA5_cloudBaseHgt.py b/docs/use_cases/model_applications/clouds/GridStat_fcstMPAS_obsERA5_cloudBaseHgt.py similarity index 86% rename from docs/use_cases/model_applications/air_quality_and_comp/GridStat_fcstMPAS_obsERA5_cloudBaseHgt.py rename to docs/use_cases/model_applications/clouds/GridStat_fcstMPAS_obsERA5_cloudBaseHgt.py index f50a0be14a..515e0d9310 100644 --- a/docs/use_cases/model_applications/air_quality_and_comp/GridStat_fcstMPAS_obsERA5_cloudBaseHgt.py +++ b/docs/use_cases/model_applications/clouds/GridStat_fcstMPAS_obsERA5_cloudBaseHgt.py @@ -2,7 +2,7 @@ GridStat: Cloud Height with Neighborhood and Probabilities ========================================================== -model_applications/air_quality_and_comp/GridStat_fcstMPAS_obsERA5_cloudBaseHgt.conf +model_applications/clouds/GridStat_fcstMPAS_obsERA5_cloudBaseHgt.conf """ ############################################################################## @@ -56,10 +56,10 @@ # # METplus first loads the default configuration file found in parm/metplus_config, # then it loads any configuration files passed to METplus via the command line: -# parm/use_cases/model_applications/air_quality_and_comp/GridStat_fcstMPAS_obsERA5_cloudBaseHgt.conf +# parm/use_cases/model_applications/clouds/GridStat_fcstMPAS_obsERA5_cloudBaseHgt.conf # # .. highlight:: bash -# .. literalinclude:: ../../../../parm/use_cases/model_applications/air_quality_and_comp/GridStat_fcstMPAS_obsERA5_cloudBaseHgt.conf +# .. literalinclude:: ../../../../parm/use_cases/model_applications/clouds/GridStat_fcstMPAS_obsERA5_cloudBaseHgt.conf ############################################################################## # MET Configuration @@ -84,10 +84,10 @@ # # This use case utilizes 1 Python script to read and process both forecast and # observation fields. -# parm/use_cases/model_applications/air_quality_and_comp/GridStat_fcstMPAS_obsERA5_cloudBaseHgt/read_input_data.py +# parm/use_cases/model_applications/clouds/GridStat_fcstMPAS_obsERA5_cloudBaseHgt/read_input_data.py # # .. highlight:: bash -# .. literalinclude:: ../../../../parm/use_cases/model_applications/air_quality_and_comp/GridStat_fcstMPAS_obsERA5_cloudBaseHgt/read_input_data.py +# .. literalinclude:: ../../../../parm/use_cases/model_applications/clouds/GridStat_fcstMPAS_obsERA5_cloudBaseHgt/read_input_data.py ############################################################################## # Running METplus @@ -96,7 +96,7 @@ # 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/air_quality_and_comp/GridStat_fcstMPAS_obsERA5_cloudBaseHgt.conf /path/to/user_system.conf +# run_metplus.py /path/to/METplus/parm/use_cases/model_applications/clouds/GridStat_fcstMPAS_obsERA5_cloudBaseHgt.conf /path/to/user_system.conf # # See :ref:`running-metplus` for more information. @@ -109,7 +109,7 @@ # 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 model_applications/air_quality_and_comp/GridStat_fcstMPAS_obsERA5_cloudBaseHgt +# Output for this use case will be found in model_applications/clouds/GridStat_fcstMPAS_obsERA5_cloudBaseHgt # (relative to **OUTPUT_BASE**) # and will contain the following files: # @@ -126,10 +126,10 @@ # # * GridStatToolUseCase # * NetCDFFileUseCase -# * AirQualityAndCompAppUseCase +# * CloudsAppUseCase # * PythonEmbeddingFileUseCase # # Navigate to the :ref:`quick-search` page to discover other similar use cases. # -# sphinx_gallery_thumbnail_path = '_static/air_quality_and_comp-GridStat_fcstMPAS_obsERA5_cloudBaseHgt.png' +# sphinx_gallery_thumbnail_path = '_static/clouds-GridStat_fcstMPAS_obsERA5_cloudBaseHgt.png' # diff --git a/docs/use_cases/model_applications/air_quality_and_comp/GridStat_fcstMPAS_obsMERRA2_lowAndTotalCloudFrac.py b/docs/use_cases/model_applications/clouds/GridStat_fcstMPAS_obsMERRA2_lowAndTotalCloudFrac.py similarity index 86% rename from docs/use_cases/model_applications/air_quality_and_comp/GridStat_fcstMPAS_obsMERRA2_lowAndTotalCloudFrac.py rename to docs/use_cases/model_applications/clouds/GridStat_fcstMPAS_obsMERRA2_lowAndTotalCloudFrac.py index a3587f7a19..8214f7217a 100644 --- a/docs/use_cases/model_applications/air_quality_and_comp/GridStat_fcstMPAS_obsMERRA2_lowAndTotalCloudFrac.py +++ b/docs/use_cases/model_applications/clouds/GridStat_fcstMPAS_obsMERRA2_lowAndTotalCloudFrac.py @@ -2,7 +2,7 @@ GridStat: Cloud Fractions with Neighborhood and Probabilities ============================================================= -model_applications/air_quality_and_comp/GridStat_fcstMPAS_obsMERRA2_lowAndTotalCloudFrac.conf +model_applications/clouds/GridStat_fcstMPAS_obsMERRA2_lowAndTotalCloudFrac.conf """ ############################################################################## @@ -56,10 +56,10 @@ # # METplus first loads the default configuration file found in parm/metplus_config, # then it loads any configuration files passed to METplus via the command line: -# parm/use_cases/model_applications/air_quality_and_comp/GridStat_fcstMPAS_obsMERRA2_lowAndTotalCloudFrac.conf +# parm/use_cases/model_applications/clouds/GridStat_fcstMPAS_obsMERRA2_lowAndTotalCloudFrac.conf # # .. highlight:: bash -# .. literalinclude:: ../../../../parm/use_cases/model_applications/air_quality_and_comp/GridStat_fcstMPAS_obsMERRA2_lowAndTotalCloudFrac.conf +# .. literalinclude:: ../../../../parm/use_cases/model_applications/clouds/GridStat_fcstMPAS_obsMERRA2_lowAndTotalCloudFrac.conf ############################################################################## # MET Configuration @@ -84,10 +84,10 @@ # # This use case utilizes 1 Python script to read and process both forecast and # observation fields. -# parm/use_cases/model_applications/air_quality_and_comp/GridStat_fcstMPAS_obsMERRA2_lowAndTotalCloudFrac/read_input_data.py +# parm/use_cases/model_applications/clouds/GridStat_fcstMPAS_obsMERRA2_lowAndTotalCloudFrac/read_input_data.py # # .. highlight:: bash -# .. literalinclude:: ../../../../parm/use_cases/model_applications/air_quality_and_comp/GridStat_fcstMPAS_obsMERRA2_lowAndTotalCloudFrac/read_input_data.py +# .. literalinclude:: ../../../../parm/use_cases/model_applications/clouds/GridStat_fcstMPAS_obsMERRA2_lowAndTotalCloudFrac/read_input_data.py ############################################################################## # Running METplus @@ -96,7 +96,7 @@ # 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/air_quality_and_comp/GridStat_fcstMPAS_obsMERRA2_lowAndTotalCloudFrac.conf /path/to/user_system.conf +# run_metplus.py /path/to/METplus/parm/use_cases/model_applications/clouds/GridStat_fcstMPAS_obsMERRA2_lowAndTotalCloudFrac.conf /path/to/user_system.conf # # See :ref:`running-metplus` for more information. @@ -109,7 +109,7 @@ # 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 model_applications/air_quality_and_comp/GridStat_fcstMPAS_obsMERRA2_lowAndTotalCloudFrac +# Output for this use case will be found in model_applications/clouds/GridStat_fcstMPAS_obsMERRA2_lowAndTotalCloudFrac # (relative to **OUTPUT_BASE**) # and will contain the following files: # @@ -128,10 +128,10 @@ # # * GridStatToolUseCase # * NetCDFFileUseCase -# * AirQualityAndCompAppUseCase +# * CloudsAppUseCase # * PythonEmbeddingFileUseCase # # Navigate to the :ref:`quick-search` page to discover other similar use cases. # -# sphinx_gallery_thumbnail_path = '_static/air_quality_and_comp-GridStat_fcstMPAS_obsMERRA2_lowAndTotalCloudFrac.png' +# sphinx_gallery_thumbnail_path = '_static/clouds-GridStat_fcstMPAS_obsMERRA2_lowAndTotalCloudFrac.png' # diff --git a/docs/use_cases/model_applications/air_quality_and_comp/GridStat_fcstMPAS_obsSATCORPS_lowAndTotalCloudFrac.py b/docs/use_cases/model_applications/clouds/GridStat_fcstMPAS_obsSATCORPS_lowAndTotalCloudFrac.py similarity index 85% rename from docs/use_cases/model_applications/air_quality_and_comp/GridStat_fcstMPAS_obsSATCORPS_lowAndTotalCloudFrac.py rename to docs/use_cases/model_applications/clouds/GridStat_fcstMPAS_obsSATCORPS_lowAndTotalCloudFrac.py index 67dcb7e67e..a8c79302a5 100644 --- a/docs/use_cases/model_applications/air_quality_and_comp/GridStat_fcstMPAS_obsSATCORPS_lowAndTotalCloudFrac.py +++ b/docs/use_cases/model_applications/clouds/GridStat_fcstMPAS_obsSATCORPS_lowAndTotalCloudFrac.py @@ -2,7 +2,7 @@ GridStat: Cloud Fractions with Neighborhood and Probabilities ============================================================= -model_applications/air_quality_and_comp/GridStat_fcstMPAS_obsSATCORPS_lowAndTotalCloudFrac.conf +model_applications/clouds/GridStat_fcstMPAS_obsSATCORPS_lowAndTotalCloudFrac.conf """ ############################################################################## @@ -56,10 +56,10 @@ # # METplus first loads the default configuration file found in parm/metplus_config, # then it loads any configuration files passed to METplus via the command line: -# parm/use_cases/model_applications/air_quality_and_comp/GridStat_fcstMPAS_obsSATCORPS_lowAndTotalCloudFrac.conf +# parm/use_cases/model_applications/clouds/GridStat_fcstMPAS_obsSATCORPS_lowAndTotalCloudFrac.conf # # .. highlight:: bash -# .. literalinclude:: ../../../../parm/use_cases/model_applications/air_quality_and_comp/GridStat_fcstMPAS_obsSATCORPS_lowAndTotalCloudFrac.conf +# .. literalinclude:: ../../../../parm/use_cases/model_applications/clouds/GridStat_fcstMPAS_obsSATCORPS_lowAndTotalCloudFrac.conf ############################################################################## # MET Configuration @@ -84,10 +84,10 @@ # # This use case utilizes 1 Python script to read and process both forecast and # observation fields. -# parm/use_cases/model_applications/air_quality_and_comp/GridStat_fcstMPAS_obsSATCORPS_lowAndTotalCloudFrac/read_input_data.py +# parm/use_cases/model_applications/clouds/GridStat_fcstMPAS_obsSATCORPS_lowAndTotalCloudFrac/read_input_data.py # # .. highlight:: bash -# .. literalinclude:: ../../../../parm/use_cases/model_applications/air_quality_and_comp/GridStat_fcstMPAS_obsSATCORPS_lowAndTotalCloudFrac/read_input_data.py +# .. literalinclude:: ../../../../parm/use_cases/model_applications/clouds/GridStat_fcstMPAS_obsSATCORPS_lowAndTotalCloudFrac/read_input_data.py ############################################################################## # Running METplus @@ -96,7 +96,7 @@ # 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/air_quality_and_comp/GridStat_fcstMPAS_obsSATCORPS_lowAndTotalCloudFrac.conf /path/to/user_system.conf +# run_metplus.py /path/to/METplus/parm/use_cases/model_applications/clouds/GridStat_fcstMPAS_obsSATCORPS_lowAndTotalCloudFrac.conf /path/to/user_system.conf # # See :ref:`running-metplus` for more information. @@ -109,7 +109,7 @@ # 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 model_applications/air_quality_and_comp/GridStat_fcstMPAS_obsSATCORPS_lowAndTotalCloudFrac +# Output for this use case will be found in model_applications/clouds/GridStat_fcstMPAS_obsSATCORPS_lowAndTotalCloudFrac # (relative to **OUTPUT_BASE**) # and will contain the following files: # @@ -128,10 +128,10 @@ # # * GridStatToolUseCase # * NetCDFFileUseCase -# * AirQualityAndCompAppUseCase +# * CloudsAppUseCase # * PythonEmbeddingFileUseCase # # Navigate to the :ref:`quick-search` page to discover other similar use cases. # -# sphinx_gallery_thumbnail_path = '_static/air_quality_and_comp-GridStat_fcstMPAS_obsSATCORPS_lowAndTotalCloudFrac.png' +# sphinx_gallery_thumbnail_path = '_static/clouds-GridStat_fcstMPAS_obsSATCORPS_lowAndTotalCloudFrac.png' # diff --git a/docs/use_cases/model_applications/clouds/README.rst b/docs/use_cases/model_applications/clouds/README.rst new file mode 100644 index 0000000000..17a0c6ba48 --- /dev/null +++ b/docs/use_cases/model_applications/clouds/README.rst @@ -0,0 +1,3 @@ +Clouds +------ +A category for use cases interested in the composition of, or characteristics associated with, clouds diff --git a/internal/tests/use_cases/all_use_cases.txt b/internal/tests/use_cases/all_use_cases.txt index a4d4d23afd..43caaafa73 100644 --- a/internal/tests/use_cases/all_use_cases.txt +++ b/internal/tests/use_cases/all_use_cases.txt @@ -65,12 +65,6 @@ Category: met_tool_wrapper Category: air_quality_and_comp 0::EnsembleStat_fcstICAP_obsMODIS_aod::model_applications/air_quality_and_comp/EnsembleStat_fcstICAP_obsMODIS_aod.conf -#X::GridStat_fcstGFS_obsSATCORPS_cloudTopPressAndTemp::model_applications/air_quality_and_comp/GridStat_fcstGFS_obsSATCORPS_cloudTopPressAndTemp.conf:: pandac_env, py_embed -#X::GridStat_fcstMPAS_obsSATCORPS_lowAndTotalCloudFrac::model_applications/air_quality_and_comp/GridStat_fcstMPAS_obsSATCORPS_lowAndTotalCloudFrac.conf:: pandac_env, py_embed -#X::GridStat_fcstMPAS_obsMERRA2_lowAndTotalCloudFrac::model_applications/air_quality_and_comp/GridStat_fcstMPAS_obsMERRA2_lowAndTotalCloudFrac.conf:: pandac_env, py_embed -#X::GridStat_fcstGFS_obsMERRA2_lowAndTotalCloudFrac::model_applications/air_quality_and_comp/GridStat_fcstGFS_obsMERRA2_lowAndTotalCloudFrac.conf:: pandac_env, py_embed -#X::GridStat_fcstMPAS_obsERA5_cloudBaseHgt::model_applications/air_quality_and_comp/GridStat_fcstMPAS_obsERA5_cloudBaseHgt.conf:: pandac_env, py_embed -#X::GridStat_fcstGFS_obsERA5_lowAndTotalCloudFrac::model_applications/air_quality_and_comp/GridStat_fcstGFS_obsERA5_lowAndTotalCloudFrac.conf:: pandac_env, py_embed Category: climate @@ -78,9 +72,18 @@ Category: climate 1::MODE_fcstCESM_obsGPCP_AsianMonsoonPrecip::model_applications/climate/MODE_fcstCESM_obsGPCP_AsianMonsoonPrecip.conf +Category: clouds +0::GridStat_fcstGFS_obsERA5_lowAndTotalCloudFrac::model_applications/clouds/GridStat_fcstGFS_obsERA5_lowAndTotalCloudFrac.conf:: pandac_env, py_embed +1::GridStat_fcstGFS_obsMERRA2_lowAndTotalCloudFrac::model_applications/clouds/GridStat_fcstGFS_obsMERRA2_lowAndTotalCloudFrac.conf:: pandac_env, py_embed +2::GridStat_fcstGFS_obsSATCORPS_cloudTopPressAndTemp::model_applications/clouds/GridStat_fcstGFS_obsSATCORPS_cloudTopPressAndTemp.conf:: pandac_env, py_embed +3::GridStat_fcstMPAS_obsERA5_cloudBaseHgt::model_applications/clouds/GridStat_fcstMPAS_obsERA5_cloudBaseHgt.conf:: pandac_env, py_embed +4::GridStat_fcstMPAS_obsMERRA2_lowAndTotalCloudFrac::model_applications/clouds/GridStat_fcstMPAS_obsMERRA2_lowAndTotalCloudFrac.conf:: pandac_env, py_embed +5::GridStat_fcstMPAS_obsSATCORPS_lowAndTotalCloudFrac::model_applications/clouds/GridStat_fcstMPAS_obsSATCORPS_lowAndTotalCloudFrac.conf:: pandac_env, py_embed + + Category: data_assimilation 0::StatAnalysis_fcstHAFS_obsPrepBufr_JEDI_IODA_interface::model_applications/data_assimilation/StatAnalysis_fcstHAFS_obsPrepBufr_JEDI_IODA_interface.conf -0::StatAnalysis_fcstGFS_HofX_obsIODAv2_PyEmbed::model_applications/data_assimilation/StatAnalysis_fcstGFS_HofX_obsIODAv2_PyEmbed.conf:: py_embed +1::StatAnalysis_fcstGFS_HofX_obsIODAv2_PyEmbed::model_applications/data_assimilation/StatAnalysis_fcstGFS_HofX_obsIODAv2_PyEmbed.conf:: py_embed Category: land_surface @@ -96,7 +99,7 @@ Category: marine_and_cryosphere 5::GridStat_fcstRTOFS_obsAVISO_climHYCOM_ssh::model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsAVISO_climHYCOM_ssh.conf:: icecover_env, py_embed 6::UserScript_fcstRTOFS_obsAOML_calcTransport::model_applications/marine_and_cryosphere/UserScript_fcstRTOFS_obsAOML_calcTransport.conf:: icecover_env, py_embed 7::PointStat_fcstGFS_obsNDBC_WaveHeight::model_applications/marine_and_cryosphere/PointStat_fcstGFS_obsNDBC_WaveHeight.conf -#X::GridStat_fcstRTOFS_obsGHRSST_climWOA_sst::model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsGHRSST_climWOA_sst.conf, model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsGHRSST_climWOA_sst/ci_overrides.conf:: icecover_env, py_embed +#X::GridStat_fcstRTOFS_obsGHRSST_climWOA_sst::model_applications/marine_and_cryosphere/GridStat_fcstRTOFS_obsGHRSST_climWOA_sst.conf:: icecover_env, py_embed 8::PointStat_fcstRTOFS_obsARGO_climoWOA23_temp::model_applications/marine_and_cryosphere/PointStat_fcstRTOFS_obsARGO_climoWOA23_temp.conf:: py_embed Category: medium_range @@ -158,7 +161,7 @@ Category: short_range 4::GridStat_fcstHRRR_obsPracPerfect_SurrogateSevereProb::model_applications/short_range/GridStat_fcstHRRR_obsPracPerfect_SurrogateSevereProb.conf 5::Point2Grid_obsLSR_ObsOnly_PracticallyPerfect::model_applications/short_range/Point2Grid_obsLSR_ObsOnly_PracticallyPerfect.conf 6::GridStat_fcstFV3_obsGOES_BrightnessTempDmap:: model_applications/short_range/GridStat_fcstFV3_obsGOES_BrightnessTempDmap.conf -7::MODE_fcstFV3_obsGOES_BrightnessTemp::model_applications/short_range/MODE_fcstFV3_obsGOES_BrightnessTemp.conf,model_applications/short_range/MODE_fcstFV3_obsGOES_BrightnessTemp/ci_overrides.conf +7::MODE_fcstFV3_obsGOES_BrightnessTemp::model_applications/short_range/MODE_fcstFV3_obsGOES_BrightnessTemp.conf 8::MODE_fcstFV3_obsGOES_BrightnessTempObjs:: model_applications/short_range/MODE_fcstFV3_obsGOES_BrightnessTempObjs.conf 9::METdbLoad_fcstFV3_obsGoes_BrightnessTemp::model_applications/short_range/METdbLoad_fcstFV3_obsGoes_BrightnessTemp.conf:: metdataio_env,metviewer 10::UserScript_fcstFV3_fcstOnly_PhysicsTendency_Planview::model_applications/short_range/UserScript_fcstFV3_fcstOnly_PhysicsTendency_Planview.conf:: metplotpy_env @@ -175,7 +178,7 @@ Category: space_weather Category: tc_and_extra_tc 0::TCRMW_fcstGFS_fcstOnly_gonzalo:: model_applications/tc_and_extra_tc/TCRMW_fcstGFS_fcstOnly_gonzalo.conf 1::CyclonePlotter_fcstGFS_obsGFS_UserScript_ExtraTC:: model_applications/tc_and_extra_tc/CyclonePlotter_fcstGFS_obsGFS_UserScript_ExtraTC.conf:: cycloneplotter_env,cartopy -2::UserScript_ASCII2NC_PointStat_fcstHAFS_obsFRD_NetCDF:: model_applications/tc_and_extra_tc/UserScript_ASCII2NC_PointStat_fcstHAFS_obsFRD_NetCDF.conf,model_applications/tc_and_extra_tc/UserScript_ASCII2NC_PointStat_fcstHAFS_obsFRD_NetCDF/ci_overrides.conf +2::UserScript_ASCII2NC_PointStat_fcstHAFS_obsFRD_NetCDF:: model_applications/tc_and_extra_tc/UserScript_ASCII2NC_PointStat_fcstHAFS_obsFRD_NetCDF.conf 3::GridStat_fcstHAFS_obsTDR_NetCDF:: model_applications/tc_and_extra_tc/GridStat_fcstHAFS_obsTDR_NetCDF.conf:: py_embed 4::TCPairs_TCStat_fcstADECK_obsBDECK_ATCF_BasicExample:: model_applications/tc_and_extra_tc/TCPairs_TCStat_fcstADECK_obsBDECK_ATCF_BasicExample.conf 5::TCGen_fcstGFS_obsBDECK_2021season:: model_applications/tc_and_extra_tc/TCGen_fcstGFS_obsBDECK_2021season.conf diff --git a/parm/use_cases/model_applications/air_quality_and_comp/GridStat_fcstGFS_obsERA5_lowAndTotalCloudFrac.conf b/parm/use_cases/model_applications/clouds/GridStat_fcstGFS_obsERA5_lowAndTotalCloudFrac.conf similarity index 85% rename from parm/use_cases/model_applications/air_quality_and_comp/GridStat_fcstGFS_obsERA5_lowAndTotalCloudFrac.conf rename to parm/use_cases/model_applications/clouds/GridStat_fcstGFS_obsERA5_lowAndTotalCloudFrac.conf index 8ca3e6dc08..eb68ee2c20 100644 --- a/parm/use_cases/model_applications/air_quality_and_comp/GridStat_fcstGFS_obsERA5_lowAndTotalCloudFrac.conf +++ b/parm/use_cases/model_applications/clouds/GridStat_fcstGFS_obsERA5_lowAndTotalCloudFrac.conf @@ -1,7 +1,7 @@ [config] # Documentation for this use case can be found at -# https://metplus.readthedocs.io/en/latest/generated/model_applications/air_quality_and_comp/GridStat_fcstGFS_obsERA5_lowAndTotalCloudFrac.html +# https://metplus.readthedocs.io/en/latest/generated/model_applications/clouds/GridStat_fcstGFS_obsERA5_lowAndTotalCloudFrac.html # For additional information, please see the METplus Users Guide. # https://metplus.readthedocs.io/en/latest/Users_Guide @@ -39,7 +39,7 @@ LOOP_ORDER = times # https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info ### -FCST_GRID_STAT_INPUT_DIR = {INPUT_BASE}/model_applications/air_quality_and_comp/GridStat_fcstGFS_obsERA5_lowAndTotalCloudFrac +FCST_GRID_STAT_INPUT_DIR = {INPUT_BASE}/model_applications/clouds/GridStat_fcstGFS_obsERA5_lowAndTotalCloudFrac FCST_GRID_STAT_INPUT_TEMPLATE = {init?fmt=%Y%m%d}_gfs.t12z.pgrb2.0p25.f0{LEAD_SEQ} OBS_GRID_STAT_INPUT_DIR = @@ -51,7 +51,7 @@ GRID_STAT_CLIMO_MEAN_INPUT_TEMPLATE = GRID_STAT_CLIMO_STDEV_INPUT_DIR = GRID_STAT_CLIMO_STDEV_INPUT_TEMPLATE = -GRID_STAT_OUTPUT_DIR = {OUTPUT_BASE}/model_applications/air_quality_and_comp/GridStat_fcstGFS_obsERA5_lowAndTotalCloudFrac +GRID_STAT_OUTPUT_DIR = {OUTPUT_BASE}/model_applications/clouds/GridStat_fcstGFS_obsERA5_lowAndTotalCloudFrac GRID_STAT_OUTPUT_TEMPLATE = @@ -63,20 +63,23 @@ GRID_STAT_OUTPUT_TEMPLATE = MODEL = GFS OBTYPE = ERA5 -CONFIG_DIR = {PARM_BASE}/use_cases/model_applications/air_quality_and_comp/GridStat_fcstGFS_obsERA5_lowAndTotalCloudFrac +CONFIG_DIR = {PARM_BASE}/use_cases/model_applications/clouds/GridStat_fcstGFS_obsERA5_lowAndTotalCloudFrac FCST_VAR1_NAME = TCDC FCST_VAR1_LEVELS = R636 FCST_VAR1_THRESH = gt0, lt10.0, ge10.0, ge20.0, ge30.0, ge40.0, ge50.0, ge60.0, ge70.0, ge80.0, ge90.0 + +OBS_VAR1_NAME = {CONFIG_DIR}/read_input_data.py {INPUT_BASE}/model_applications/clouds/GridStat_fcstGFS_obsERA5_lowAndTotalCloudFrac/ERA5_{valid?fmt=%Y%m%d}00_Cld.nc:{OBTYPE}:totalCloudFrac:{init?fmt=%Y%m%d%H}:{valid?fmt=%Y%m%d%H}:2 +OBS_VAR1_LEVELS = +OBS_VAR1_THRESH = gt0, lt10.0, ge10.0, ge20.0, ge30.0, ge40.0, ge50.0, ge60.0, ge70.0, ge80.0, ge90.0 + + FCST_VAR2_NAME = LCDC FCST_VAR2_LEVELS = R630 FCST_VAR2_THRESH = gt0, lt10.0, ge10.0, ge20.0, ge30.0, ge40.0, ge50.0, ge60.0, ge70.0, ge80.0, ge90.0 -OBS_VAR1_NAME = {CONFIG_DIR}/read_input_data.py {INPUT_BASE}/model_applications/air_quality_and_comp/GridStat_fcstGFS_obsERA5_lowAndTotalCloudFrac/ERA5_{valid?fmt=%Y%m%d}00_Cld.nc:{OBTYPE}:totalCloudFrac:{init?fmt=%Y%m%d%H}:{valid?fmt=%Y%m%d%H}:2 -OBS_VAR1_LEVELS = -OBS_VAR1_THRESH = gt0, lt10.0, ge10.0, ge20.0, ge30.0, ge40.0, ge50.0, ge60.0, ge70.0, ge80.0, ge90.0 -OBS_VAR2_NAME = {CONFIG_DIR}/read_input_data.py {INPUT_BASE}/model_applications/air_quality_and_comp/GridStat_fcstGFS_obsERA5_lowAndTotalCloudFrac/ERA5_{valid?fmt=%Y%m%d}00_Cld.nc:{OBTYPE}:lowCloudFrac:{init?fmt=%Y%m%d%H}:{valid?fmt=%Y%m%d%H}:2 -OBS_VAR2_THRESH = gt0, lt10.0, ge10.0, ge20.0, ge30.0, ge40.0, ge50.0, ge60.0, ge70.0, ge80.0, ge90.0 +OBS_VAR2_NAME = {CONFIG_DIR}/read_input_data.py {INPUT_BASE}/model_applications/clouds/GridStat_fcstGFS_obsERA5_lowAndTotalCloudFrac/ERA5_{valid?fmt=%Y%m%d}00_Cld.nc:{OBTYPE}:lowCloudFrac:{init?fmt=%Y%m%d%H}:{valid?fmt=%Y%m%d%H}:2 +OBS_VAR2_THRESH = gt0, lt10.0, ge10.0, ge20.0, ge30.0, ge40.0, ge50.0, ge60.0, ge70.0, ge80.0, ge90.0 ### @@ -130,15 +133,14 @@ GRID_STAT_NC_PAIRS_FLAG_CLIMO = FALSE GRID_STAT_NC_PAIRS_FLAG_GRADIENT = TRUE GRID_STAT_NC_PAIRS_FLAG_APPLY_MASK = TRUE -GRID_STAT_MASK_POLY = {INPUT_BASE}/model_applications/air_quality_and_comp/GridStat_fcstGFS_obsERA5_lowAndTotalCloudFrac/GPP_17km_60S_60N_mask.nc +GRID_STAT_MASK_POLY = {INPUT_BASE}/model_applications/clouds/GridStat_fcstGFS_obsERA5_lowAndTotalCloudFrac/GPP_17km_60S_60N_mask.nc [nbr] FCST_VAR1_THRESH = gt0, lt10.0, ge10.0, ge20.0, ge30.0, ge40.0, ge50.0, ge60.0, ge70.0, ge80.0, ge90.0, >SFP20, >SFP30, >SFP40, >SFP50, >SFP60, >SFP70, >SFP80 -FCST_VAR2_THRESH = gt0, lt10.0, ge10.0, ge20.0, ge30.0, ge40.0, ge50.0, ge60.0, ge70.0, ge80.0, ge90.0, >SFP20, >SFP30, >SFP40, >SFP50, >SFP60, >SFP70, >SFP80 - - OBS_VAR1_THRESH = gt0, lt10.0, ge10.0, ge20.0, ge30.0, ge40.0, ge50.0, ge60.0, ge70.0, ge80.0, ge90.0, >SOP20, >SOP30, >SOP40, >SOP50, >SOP60, >SOP70, >SOP80 + +FCST_VAR2_THRESH = gt0, lt10.0, ge10.0, ge20.0, ge30.0, ge40.0, ge50.0, ge60.0, ge70.0, ge80.0, ge90.0, >SFP20, >SFP30, >SFP40, >SFP50, >SFP60, >SFP70, >SFP80 OBS_VAR2_THRESH = gt0, lt10.0, ge10.0, ge20.0, ge30.0, ge40.0, ge50.0, ge60.0, ge70.0, ge80.0, ge90.0, >SOP20, >SOP30, >SOP40, >SOP50, >SOP60, >SOP70, >SOP80 @@ -168,12 +170,14 @@ GRID_STAT_OUTPUT_PREFIX = {MODEL}_to_{OBTYPE}_F{lead?fmt=%H}_CloudFracs_NBR [prob] -OBS_VAR1_THRESH = gt0, ge10.0, ge20.0, ge30.0, ge40.0, ge50.0, ge60.0, ge70.0, ge80.0, ge90.0 -OBS_VAR2_THRESH = gt0, ge10.0, ge20.0, ge30.0, ge40.0, ge50.0, ge60.0, ge70.0, ge80.0, ge90.0 FCST_IS_PROB = TRUE FCST_VAR1_THRESH = >0.1, >0.2, >0.3, >0.4, >0.5, >0.6, >0.7, >0.8, >0.9, >1.0 +OBS_VAR1_THRESH = gt0, ge10.0, ge20.0, ge30.0, ge40.0, ge50.0, ge60.0, ge70.0, ge80.0, ge90.0 + FCST_VAR2_THRESH = >0.1, >0.2, >0.3, >0.4, >0.5, >0.6, >0.7, >0.8, >0.9, >1.0 +OBS_VAR2_THRESH = gt0, ge10.0, ge20.0, ge30.0, ge40.0, ge50.0, ge60.0, ge70.0, ge80.0, ge90.0 + GRID_STAT_NEIGHBORHOOD_WIDTH = 3, 5, 7, 9 GRID_STAT_NEIGHBORHOOD_SHAPE = CIRCLE diff --git a/parm/use_cases/model_applications/clouds/GridStat_fcstGFS_obsERA5_lowAndTotalCloudFrac/ci_overrides.conf b/parm/use_cases/model_applications/clouds/GridStat_fcstGFS_obsERA5_lowAndTotalCloudFrac/ci_overrides.conf new file mode 100644 index 0000000000..40268900e5 --- /dev/null +++ b/parm/use_cases/model_applications/clouds/GridStat_fcstGFS_obsERA5_lowAndTotalCloudFrac/ci_overrides.conf @@ -0,0 +1,19 @@ +### +# CI OVERRIDE for model_applications/air_quality_and_comp/GridStat_fcstGFS_obsERA5_lowAndTotalCloudFrac.conf +# these settings can overrides the settings in the use case conf so they run in automated tests +### + +[config] + +PROCESS_LIST = GridStat(prob) + + +[prob] + +FCST_VAR1_THRESH = >0.1, >0.2 +OBS_VAR1_THRESH = gt0, ge10.0 + +FCST_VAR2_THRESH = >0.1, >0.2 +OBS_VAR2_THRESH = gt0, ge10.0 + +GRID_STAT_NEIGHBORHOOD_WIDTH = 7, 9 diff --git a/parm/use_cases/model_applications/air_quality_and_comp/GridStat_fcstGFS_obsERA5_lowAndTotalCloudFrac/read_input_data.py b/parm/use_cases/model_applications/clouds/GridStat_fcstGFS_obsERA5_lowAndTotalCloudFrac/read_input_data.py similarity index 100% rename from parm/use_cases/model_applications/air_quality_and_comp/GridStat_fcstGFS_obsERA5_lowAndTotalCloudFrac/read_input_data.py rename to parm/use_cases/model_applications/clouds/GridStat_fcstGFS_obsERA5_lowAndTotalCloudFrac/read_input_data.py diff --git a/parm/use_cases/model_applications/air_quality_and_comp/GridStat_fcstGFS_obsMERRA2_lowAndTotalCloudFrac.conf b/parm/use_cases/model_applications/clouds/GridStat_fcstGFS_obsMERRA2_lowAndTotalCloudFrac.conf similarity index 85% rename from parm/use_cases/model_applications/air_quality_and_comp/GridStat_fcstGFS_obsMERRA2_lowAndTotalCloudFrac.conf rename to parm/use_cases/model_applications/clouds/GridStat_fcstGFS_obsMERRA2_lowAndTotalCloudFrac.conf index 7b8fec3a77..dbdc5d6d2c 100644 --- a/parm/use_cases/model_applications/air_quality_and_comp/GridStat_fcstGFS_obsMERRA2_lowAndTotalCloudFrac.conf +++ b/parm/use_cases/model_applications/clouds/GridStat_fcstGFS_obsMERRA2_lowAndTotalCloudFrac.conf @@ -1,7 +1,7 @@ [config] # Documentation for this use case can be found at -# https://metplus.readthedocs.io/en/latest/generated/model_applications/air_quality_and_comp/GridStat_fcstGFS_obsMERRA2_lowAndTotalCloudFrac.html +# https://metplus.readthedocs.io/en/latest/generated/model_applications/clouds/GridStat_fcstGFS_obsMERRA2_lowAndTotalCloudFrac.html # For additional information, please see the METplus Users Guide. # https://metplus.readthedocs.io/en/latest/Users_Guide @@ -40,7 +40,7 @@ LOOP_ORDER = times # https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info ### -FCST_GRID_STAT_INPUT_DIR = {INPUT_BASE}/model_applications/air_quality_and_comp/GridStat_fcstGFS_obsMERRA2_lowAndTotalCloudFrac +FCST_GRID_STAT_INPUT_DIR = {INPUT_BASE}/model_applications/clouds/GridStat_fcstGFS_obsMERRA2_lowAndTotalCloudFrac FCST_GRID_STAT_INPUT_TEMPLATE = {init?fmt=%Y%m%d}.gfs.t12z.pgrb2.0p25.f0{LEAD_SEQ} OBS_GRID_STAT_INPUT_DIR = @@ -52,7 +52,7 @@ GRID_STAT_CLIMO_MEAN_INPUT_TEMPLATE = GRID_STAT_CLIMO_STDEV_INPUT_DIR = GRID_STAT_CLIMO_STDEV_INPUT_TEMPLATE = -GRID_STAT_OUTPUT_DIR = {OUTPUT_BASE}/model_applications/air_quality_and_comp/GridStat_fcstGFS_obsMERRA2_lowAndTotalCloudFrac +GRID_STAT_OUTPUT_DIR = {OUTPUT_BASE}/model_applications/clouds/GridStat_fcstGFS_obsMERRA2_lowAndTotalCloudFrac GRID_STAT_OUTPUT_TEMPLATE = @@ -64,20 +64,23 @@ GRID_STAT_OUTPUT_TEMPLATE = MODEL = GFS OBTYPE = MERRA2 -CONFIG_DIR = {PARM_BASE}/use_cases/model_applications/air_quality_and_comp/GridStat_fcstGFS_obsMERRA2_lowAndTotalCloudFrac +CONFIG_DIR = {PARM_BASE}/use_cases/model_applications/clouds/GridStat_fcstGFS_obsMERRA2_lowAndTotalCloudFrac FCST_VAR1_NAME = TCDC FCST_VAR1_LEVELS = R636 FCST_VAR1_THRESH = gt0, lt10.0, ge10.0, ge20.0, ge30.0, ge40.0, ge50.0, ge60.0, ge70.0, ge80.0, ge90.0 + +OBS_VAR1_NAME = {CONFIG_DIR}/read_input_data.py {INPUT_BASE}/model_applications/clouds/GridStat_fcstGFS_obsMERRA2_lowAndTotalCloudFrac/MERRA2_401.tavg1_2d_rad_Nx.{valid?fmt=%Y%m%d}.nc4:{OBTYPE}:totalCloudFrac:{init?fmt=%Y%m%d%H}:{valid?fmt=%Y%m%d%H}:2 +OBS_VAR1_LEVELS = +OBS_VAR1_THRESH = gt0, lt10.0, ge10.0, ge20.0, ge30.0, ge40.0, ge50.0, ge60.0, ge70.0, ge80.0, ge90.0 + + FCST_VAR2_NAME = LCDC FCST_VAR2_LEVELS = R630 FCST_VAR2_THRESH = gt0, lt10.0, ge10.0, ge20.0, ge30.0, ge40.0, ge50.0, ge60.0, ge70.0, ge80.0, ge90.0 -OBS_VAR1_NAME = {CONFIG_DIR}/read_input_data.py {INPUT_BASE}/model_applications/air_quality_and_comp/GridStat_fcstGFS_obsMERRA2_lowAndTotalCloudFrac/MERRA2_401.tavg1_2d_rad_Nx.{valid?fmt=%Y%m%d}.nc4:{OBTYPE}:totalCloudFrac:{init?fmt=%Y%m%d%H}:{valid?fmt=%Y%m%d%H}:2 -OBS_VAR1_LEVELS = -OBS_VAR1_THRESH = gt0, lt10.0, ge10.0, ge20.0, ge30.0, ge40.0, ge50.0, ge60.0, ge70.0, ge80.0, ge90.0 -OBS_VAR2_NAME = {CONFIG_DIR}/read_input_data.py {INPUT_BASE}/model_applications/air_quality_and_comp/GridStat_fcstGFS_obsMERRA2_lowAndTotalCloudFrac/MERRA2_401.tavg1_2d_rad_Nx.{valid?fmt=%Y%m%d}.nc4:{OBTYPE}:lowCloudFrac:{init?fmt=%Y%m%d%H}:{valid?fmt=%Y%m%d%H}:2 -OBS_VAR2_THRESH = gt0, lt10.0, ge10.0, ge20.0, ge30.0, ge40.0, ge50.0, ge60.0, ge70.0, ge80.0, ge90.0 +OBS_VAR2_NAME = {CONFIG_DIR}/read_input_data.py {INPUT_BASE}/model_applications/clouds/GridStat_fcstGFS_obsMERRA2_lowAndTotalCloudFrac/MERRA2_401.tavg1_2d_rad_Nx.{valid?fmt=%Y%m%d}.nc4:{OBTYPE}:lowCloudFrac:{init?fmt=%Y%m%d%H}:{valid?fmt=%Y%m%d%H}:2 +OBS_VAR2_THRESH = gt0, lt10.0, ge10.0, ge20.0, ge30.0, ge40.0, ge50.0, ge60.0, ge70.0, ge80.0, ge90.0 ### @@ -131,15 +134,14 @@ GRID_STAT_NC_PAIRS_FLAG_CLIMO = FALSE GRID_STAT_NC_PAIRS_FLAG_GRADIENT = TRUE GRID_STAT_NC_PAIRS_FLAG_APPLY_MASK = TRUE -GRID_STAT_MASK_POLY = {INPUT_BASE}/model_applications/air_quality_and_comp/GridStat_fcstGFS_obsMERRA2_lowAndTotalCloudFrac/GPP_17km_60S_60N_mask.nc +GRID_STAT_MASK_POLY = {INPUT_BASE}/model_applications/clouds/GridStat_fcstGFS_obsMERRA2_lowAndTotalCloudFrac/GPP_17km_60S_60N_mask.nc [nbr] FCST_VAR1_THRESH = gt0, lt10.0, ge10.0, ge20.0, ge30.0, ge40.0, ge50.0, ge60.0, ge70.0, ge80.0, ge90.0, >SFP20, >SFP30, >SFP40, >SFP50, >SFP60, >SFP70, >SFP80 -FCST_VAR2_THRESH = gt0, lt10.0, ge10.0, ge20.0, ge30.0, ge40.0, ge50.0, ge60.0, ge70.0, ge80.0, ge90.0, >SFP20, >SFP30, >SFP40, >SFP50, >SFP60, >SFP70, >SFP80 - - OBS_VAR1_THRESH = gt0, lt10.0, ge10.0, ge20.0, ge30.0, ge40.0, ge50.0, ge60.0, ge70.0, ge80.0, ge90.0, >SOP20, >SOP30, >SOP40, >SOP50, >SOP60, >SOP70, >SOP80 + +FCST_VAR2_THRESH = gt0, lt10.0, ge10.0, ge20.0, ge30.0, ge40.0, ge50.0, ge60.0, ge70.0, ge80.0, ge90.0, >SFP20, >SFP30, >SFP40, >SFP50, >SFP60, >SFP70, >SFP80 OBS_VAR2_THRESH = gt0, lt10.0, ge10.0, ge20.0, ge30.0, ge40.0, ge50.0, ge60.0, ge70.0, ge80.0, ge90.0, >SOP20, >SOP30, >SOP40, >SOP50, >SOP60, >SOP70, >SOP80 @@ -169,12 +171,14 @@ GRID_STAT_OUTPUT_PREFIX = {MODEL}_to_{OBTYPE}_F{lead?fmt=%H}_CloudFracs_NBR [prob] -OBS_VAR1_THRESH = gt0, ge10.0, ge20.0, ge30.0, ge40.0, ge50.0, ge60.0, ge70.0, ge80.0, ge90.0 -OBS_VAR2_THRESH = gt0, ge10.0, ge20.0, ge30.0, ge40.0, ge50.0, ge60.0, ge70.0, ge80.0, ge90.0 FCST_IS_PROB = TRUE FCST_VAR1_THRESH = >0.1, >0.2, >0.3, >0.4, >0.5, >0.6, >0.7, >0.8, >0.9, >1.0 +OBS_VAR1_THRESH = gt0, ge10.0, ge20.0, ge30.0, ge40.0, ge50.0, ge60.0, ge70.0, ge80.0, ge90.0 + FCST_VAR2_THRESH = >0.1, >0.2, >0.3, >0.4, >0.5, >0.6, >0.7, >0.8, >0.9, >1.0 +OBS_VAR2_THRESH = gt0, ge10.0, ge20.0, ge30.0, ge40.0, ge50.0, ge60.0, ge70.0, ge80.0, ge90.0 + GRID_STAT_NEIGHBORHOOD_WIDTH = 3, 5, 7, 9 GRID_STAT_NEIGHBORHOOD_SHAPE = CIRCLE diff --git a/parm/use_cases/model_applications/clouds/GridStat_fcstGFS_obsMERRA2_lowAndTotalCloudFrac/ci_overrides.conf b/parm/use_cases/model_applications/clouds/GridStat_fcstGFS_obsMERRA2_lowAndTotalCloudFrac/ci_overrides.conf new file mode 100644 index 0000000000..12d6541152 --- /dev/null +++ b/parm/use_cases/model_applications/clouds/GridStat_fcstGFS_obsMERRA2_lowAndTotalCloudFrac/ci_overrides.conf @@ -0,0 +1,19 @@ +### +# CI OVERRIDE for model_applications/air_quality_and_comp/GridStat_fcstGFS_obsMERRA2_lowAndTotalCloudFrac.conf +# these settings can overrides the settings in the use case conf so they run in automated tests +### + +[config] + +PROCESS_LIST = GridStat(nbr) + + +[nbr] + +FCST_VAR1_THRESH = gt0, lt10.0, ge10.0, >SFP20 +OBS_VAR1_THRESH = gt0, lt10.0, ge10.0, >SOP20 + +FCST_VAR2_THRESH = gt0, lt10.0, ge10.0, >SFP20 +OBS_VAR2_THRESH = gt0, lt10.0, ge10.0, >SOP20 + +GRID_STAT_NEIGHBORHOOD_WIDTH = 7, 9 diff --git a/parm/use_cases/model_applications/air_quality_and_comp/GridStat_fcstGFS_obsMERRA2_lowAndTotalCloudFrac/read_input_data.py b/parm/use_cases/model_applications/clouds/GridStat_fcstGFS_obsMERRA2_lowAndTotalCloudFrac/read_input_data.py similarity index 100% rename from parm/use_cases/model_applications/air_quality_and_comp/GridStat_fcstGFS_obsMERRA2_lowAndTotalCloudFrac/read_input_data.py rename to parm/use_cases/model_applications/clouds/GridStat_fcstGFS_obsMERRA2_lowAndTotalCloudFrac/read_input_data.py diff --git a/parm/use_cases/model_applications/air_quality_and_comp/GridStat_fcstGFS_obsSATCORPS_cloudTopPressAndTemp.conf b/parm/use_cases/model_applications/clouds/GridStat_fcstGFS_obsSATCORPS_cloudTopPressAndTemp.conf similarity index 82% rename from parm/use_cases/model_applications/air_quality_and_comp/GridStat_fcstGFS_obsSATCORPS_cloudTopPressAndTemp.conf rename to parm/use_cases/model_applications/clouds/GridStat_fcstGFS_obsSATCORPS_cloudTopPressAndTemp.conf index 7ff401c5ff..cb42620b84 100644 --- a/parm/use_cases/model_applications/air_quality_and_comp/GridStat_fcstGFS_obsSATCORPS_cloudTopPressAndTemp.conf +++ b/parm/use_cases/model_applications/clouds/GridStat_fcstGFS_obsSATCORPS_cloudTopPressAndTemp.conf @@ -1,7 +1,7 @@ [config] # Documentation for this use case can be found at -# https://metplus.readthedocs.io/en/latest/generated/model_applications/air_quality_and_comp/GridStat_fcstMPAS_obsSATCORPS_lowAndTotalCloudFrac.html +# https://metplus.readthedocs.io/en/latest/generated/model_applications/clouds/GridStat_fcstMPAS_obsSATCORPS_lowAndTotalCloudFrac.html # For additional information, please see the METplus Users Guide. # https://metplus.readthedocs.io/en/latest/Users_Guide @@ -41,7 +41,7 @@ LOOP_ORDER = times # https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#directory-and-filename-template-info ### -FCST_GRID_STAT_INPUT_DIR = {INPUT_BASE}/model_applications/air_quality_and_comp/GridStat_fcstGFS_obsSATCORPS_cloudTopPressAndTemp +FCST_GRID_STAT_INPUT_DIR = {INPUT_BASE}/model_applications/clouds/GridStat_fcstGFS_obsSATCORPS_cloudTopPressAndTemp FCST_GRID_STAT_INPUT_TEMPLATE = {init?fmt=%Y%m%d}_gfs.t12z.pgrb2.0p25.f0{LEAD_SEQ} OBS_GRID_STAT_INPUT_DIR = @@ -53,7 +53,7 @@ GRID_STAT_CLIMO_MEAN_INPUT_TEMPLATE = GRID_STAT_CLIMO_STDEV_INPUT_DIR = GRID_STAT_CLIMO_STDEV_INPUT_TEMPLATE = -GRID_STAT_OUTPUT_DIR = {OUTPUT_BASE}/model_applications/air_quality_and_comp/GridStat_fcstGFS_obsSATCORPS_cloudTopPressAndTemp +GRID_STAT_OUTPUT_DIR = {OUTPUT_BASE}/model_applications/clouds/GridStat_fcstGFS_obsSATCORPS_cloudTopPressAndTemp GRID_STAT_OUTPUT_TEMPLATE = @@ -65,20 +65,24 @@ GRID_STAT_OUTPUT_TEMPLATE = MODEL = GFS OBTYPE = SATCORPS -CONFIG_DIR = {PARM_BASE}/use_cases/model_applications/air_quality_and_comp/GridStat_fcstGFS_obsSATCORPS_cloudTopPressAndTemp +CONFIG_DIR = {PARM_BASE}/use_cases/model_applications/clouds/GridStat_fcstGFS_obsSATCORPS_cloudTopPressAndTemp FCST_VAR1_NAME = TMP FCST_VAR1_LEVELS = R649 FCST_VAR1_THRESH = gt0, lt180.0, ge190.0, ge200.0, ge210.0, ge220.0, ge230.0, ge240.0, ge250.0, ge260.0, ge270.0, ge280.0 + +OBS_VAR1_NAME = {CONFIG_DIR}/read_input_data.py {INPUT_BASE}/model_applications/clouds/GridStat_fcstGFS_obsSATCORPS_cloudTopPressAndTemp/GEO-MRGD.{valid?fmt=%Y%j.%H}30.GRID.NC:{OBTYPE}:cloudTopTemp:{init?fmt=%Y%m%d%H}:{valid?fmt=%Y%m%d%H}:2 +OBS_VAR1_LEVELS = +OBS_VAR1_THRESH = gt0, lt180.0, ge190.0, ge200.0, ge210.0, ge220.0, ge230.0, ge240.0, ge250.0, ge260.0, ge270.0, ge280.0 + + FCST_VAR2_NAME = PRES FCST_VAR2_LEVELS = R646 FCST_VAR2_THRESH = gt0, lt10.0, ge10.0, ge20.0, ge30.0, ge40.0, ge50.0, ge60.0, ge70.0, ge80.0, ge90.0 FCST_VAR2_OPTIONS = convert(x)=x*0.01; -OBS_VAR1_NAME = {CONFIG_DIR}/read_input_data.py {INPUT_BASE}/model_applications/air_quality_and_comp/GridStat_fcstGFS_obsSATCORPS_cloudTopPressAndTemp/GEO-MRGD.{valid?fmt=%Y%j.%H}30.GRID.NC:{OBTYPE}:cloudTopTemp:{init?fmt=%Y%m%d%H}:{valid?fmt=%Y%m%d%H}:2 -OBS_VAR1_LEVELS = -OBS_VAR1_THRESH = gt0, lt180.0, ge190.0, ge200.0, ge210.0, ge220.0, ge230.0, ge240.0, ge250.0, ge260.0, ge270.0, ge280.0 -OBS_VAR2_NAME = {CONFIG_DIR}/read_input_data.py {INPUT_BASE}/model_applications/air_quality_and_comp/GridStat_fcstGFS_obsSATCORPS_cloudTopPressAndTemp/GEO-MRGD.{valid?fmt=%Y%j.%H}30.GRID.NC:{OBTYPE}:cloudTopPres:{init?fmt=%Y%m%d%H}:{valid?fmt=%Y%m%d%H}:2 -OBS_VAR2_THRESH = gt0, lt10.0, ge10.0, ge20.0, ge30.0, ge40.0, ge50.0, ge60.0, ge70.0, ge80.0, ge90.0 + +OBS_VAR2_NAME = {CONFIG_DIR}/read_input_data.py {INPUT_BASE}/model_applications/clouds/GridStat_fcstGFS_obsSATCORPS_cloudTopPressAndTemp/GEO-MRGD.{valid?fmt=%Y%j.%H}30.GRID.NC:{OBTYPE}:cloudTopPres:{init?fmt=%Y%m%d%H}:{valid?fmt=%Y%m%d%H}:2 +OBS_VAR2_THRESH = gt0, lt10.0, ge10.0, ge20.0, ge30.0, ge40.0, ge50.0, ge60.0, ge70.0, ge80.0, ge90.0 ### @@ -133,15 +137,14 @@ GRID_STAT_NC_PAIRS_FLAG_CLIMO = FALSE GRID_STAT_NC_PAIRS_FLAG_GRADIENT = TRUE GRID_STAT_NC_PAIRS_FLAG_APPLY_MASK = TRUE -GRID_STAT_MASK_POLY = {INPUT_BASE}/model_applications/air_quality_and_comp/GridStat_fcstGFS_obsSATCORPS_cloudTopPressAndTemp/GPP_17km_60S_60N_mask.nc +GRID_STAT_MASK_POLY = {INPUT_BASE}/model_applications/clouds/GridStat_fcstGFS_obsSATCORPS_cloudTopPressAndTemp/GPP_17km_60S_60N_mask.nc [nbr] FCST_VAR1_THRESH = gt0, lt180.0, ge190.0, ge200.0, ge210.0, ge220.0, ge230.0, ge240.0, ge250.0, ge260.0, ge270.0, ge280.0, >SFP20, >SFP30, >SFP40, >SFP50, >SFP60, >SFP70, >SFP80 -FCST_VAR2_THRESH = gt0, lt10.0, ge10.0, ge20.0, ge30.0, ge40.0, ge50.0, ge60.0, ge70.0, ge80.0, ge90.0, >SFP20, >SFP30, >SFP40, >SFP50, >SFP60, >SFP70, >SFP80 - - OBS_VAR1_THRESH = gt0, lt180.0, ge190.0, ge200.0, ge210.0, ge220.0, ge230.0, ge240.0, ge250.0, ge260.0, ge270.0, ge280.0, >SOP20, >SOP30, >SOP40, >SOP50, >SOP60, >SOP70, >SOP80 + +FCST_VAR2_THRESH = gt0, lt10.0, ge10.0, ge20.0, ge30.0, ge40.0, ge50.0, ge60.0, ge70.0, ge80.0, ge90.0, >SFP20, >SFP30, >SFP40, >SFP50, >SFP60, >SFP70, >SFP80 OBS_VAR2_THRESH = gt0, lt10.0, ge10.0, ge20.0, ge30.0, ge40.0, ge50.0, ge60.0, ge70.0, ge80.0, ge90.0, >SOP20, >SOP30, >SOP40, >SOP50, >SOP60, >SOP70, >SOP80 diff --git a/parm/use_cases/model_applications/clouds/GridStat_fcstGFS_obsSATCORPS_cloudTopPressAndTemp/ci_overrides.conf b/parm/use_cases/model_applications/clouds/GridStat_fcstGFS_obsSATCORPS_cloudTopPressAndTemp/ci_overrides.conf new file mode 100644 index 0000000000..6c830c793c --- /dev/null +++ b/parm/use_cases/model_applications/clouds/GridStat_fcstGFS_obsSATCORPS_cloudTopPressAndTemp/ci_overrides.conf @@ -0,0 +1,14 @@ +### +# CI OVERRIDE for model_applications/air_quality_and_comp/GridStat_fcstGFS_obsSATCORPS_cloudTopPressAndTemp.conf +# these settings can overrides the settings in the use case conf so they run in automated tests +### + +[config] + +PROCESS_LIST = GridStat + +FCST_VAR1_THRESH = gt0, lt180.0, ge190.0 +OBS_VAR1_THRESH = gt0, lt180.0, ge190.0 + +FCST_VAR2_THRESH = gt0, lt10.0, ge10.0 +OBS_VAR2_THRESH = gt0, lt10.0, ge10.0 diff --git a/parm/use_cases/model_applications/air_quality_and_comp/GridStat_fcstGFS_obsSATCORPS_cloudTopPressAndTemp/read_input_data.py b/parm/use_cases/model_applications/clouds/GridStat_fcstGFS_obsSATCORPS_cloudTopPressAndTemp/read_input_data.py similarity index 100% rename from parm/use_cases/model_applications/air_quality_and_comp/GridStat_fcstGFS_obsSATCORPS_cloudTopPressAndTemp/read_input_data.py rename to parm/use_cases/model_applications/clouds/GridStat_fcstGFS_obsSATCORPS_cloudTopPressAndTemp/read_input_data.py diff --git a/parm/use_cases/model_applications/air_quality_and_comp/GridStat_fcstMPAS_obsERA5_cloudBaseHgt.conf b/parm/use_cases/model_applications/clouds/GridStat_fcstMPAS_obsERA5_cloudBaseHgt.conf similarity index 84% rename from parm/use_cases/model_applications/air_quality_and_comp/GridStat_fcstMPAS_obsERA5_cloudBaseHgt.conf rename to parm/use_cases/model_applications/clouds/GridStat_fcstMPAS_obsERA5_cloudBaseHgt.conf index 46cef96d4f..1b32b7c7fc 100644 --- a/parm/use_cases/model_applications/air_quality_and_comp/GridStat_fcstMPAS_obsERA5_cloudBaseHgt.conf +++ b/parm/use_cases/model_applications/clouds/GridStat_fcstMPAS_obsERA5_cloudBaseHgt.conf @@ -1,7 +1,7 @@ [config] # Documentation for this use case can be found at -# https://metplus.readthedocs.io/en/latest/generated/model_applications/air_quality_and_comp/GridStat_fcstMPAS_obsERA5_cloudBaseHgt.html +# https://metplus.readthedocs.io/en/latest/generated/model_applications/clouds/GridStat_fcstMPAS_obsERA5_cloudBaseHgt.html # For additional information, please see the METplus Users Guide. # https://metplus.readthedocs.io/en/latest/Users_Guide @@ -52,7 +52,7 @@ GRID_STAT_CLIMO_MEAN_INPUT_TEMPLATE = GRID_STAT_CLIMO_STDEV_INPUT_DIR = GRID_STAT_CLIMO_STDEV_INPUT_TEMPLATE = -GRID_STAT_OUTPUT_DIR = {OUTPUT_BASE}/model_applications/air_quality_and_comp/GridStat_fcstMPAS_obsERA5_cloudBaseHgt +GRID_STAT_OUTPUT_DIR = {OUTPUT_BASE}/model_applications/clouds/GridStat_fcstMPAS_obsERA5_cloudBaseHgt GRID_STAT_OUTPUT_TEMPLATE = @@ -64,13 +64,13 @@ GRID_STAT_OUTPUT_TEMPLATE = MODEL = MPAS OBTYPE = ERA5 -CONFIG_DIR = {PARM_BASE}/use_cases/model_applications/air_quality_and_comp/GridStat_fcstMPAS_obsERA5_cloudBaseHgt +CONFIG_DIR = {PARM_BASE}/use_cases/model_applications/clouds/GridStat_fcstMPAS_obsERA5_cloudBaseHgt -FCST_VAR1_NAME = {CONFIG_DIR}/read_input_data.py {INPUT_BASE}/model_applications/air_quality_and_comp/GridStat_fcstMPAS_obsERA5_cloudBaseHgt/diag.{valid?fmt=%Y-%m-%d_%H}.00.00_latlon.nc:{MODEL}:cloudBaseHeight:{init?fmt=%Y%m%d%H}:{valid?fmt=%Y%m%d%H}:1 +FCST_VAR1_NAME = {CONFIG_DIR}/read_input_data.py {INPUT_BASE}/model_applications/clouds/GridStat_fcstMPAS_obsERA5_cloudBaseHgt/diag.{valid?fmt=%Y-%m-%d_%H}.00.00_latlon.nc:{MODEL}:cloudBaseHeight:{init?fmt=%Y%m%d%H}:{valid?fmt=%Y%m%d%H}:1 FCST_VAR1_LEVELS = FCST_VAR1_THRESH = gt0, lt10.0, ge10.0, ge20.0, ge30.0, ge40.0, ge50.0, ge60.0, ge70.0, ge80.0, ge90.0 -OBS_VAR1_NAME = {CONFIG_DIR}/read_input_data.py {INPUT_BASE}/model_applications/air_quality_and_comp/GridStat_fcstMPAS_obsERA5_cloudBaseHgt/ERA5_{valid?fmt=%Y%m%d%H}_Cld.nc:{OBTYPE}:cloudBaseHeight:{init?fmt=%Y%m%d%H}:{valid?fmt=%Y%m%d%H}:2 +OBS_VAR1_NAME = {CONFIG_DIR}/read_input_data.py {INPUT_BASE}/model_applications/clouds/GridStat_fcstMPAS_obsERA5_cloudBaseHgt/ERA5_{valid?fmt=%Y%m%d%H}_Cld.nc:{OBTYPE}:cloudBaseHeight:{init?fmt=%Y%m%d%H}:{valid?fmt=%Y%m%d%H}:2 OBS_VAR1_LEVELS = OBS_VAR1_THRESH = gt0, lt10.0, ge10.0, ge20.0, ge30.0, ge40.0, ge50.0, ge60.0, ge70.0, ge80.0, ge90.0 @@ -126,7 +126,7 @@ GRID_STAT_NC_PAIRS_FLAG_CLIMO = FALSE GRID_STAT_NC_PAIRS_FLAG_GRADIENT = TRUE GRID_STAT_NC_PAIRS_FLAG_APPLY_MASK = TRUE -GRID_STAT_MASK_POLY = {INPUT_BASE}/model_applications/air_quality_and_comp/GridStat_fcstMPAS_obsERA5_cloudBaseHgt/GPP_17km_60S_60N_mask.nc +GRID_STAT_MASK_POLY = {INPUT_BASE}/model_applications/clouds/GridStat_fcstMPAS_obsERA5_cloudBaseHgt/GPP_17km_60S_60N_mask.nc [nbr] diff --git a/parm/use_cases/model_applications/clouds/GridStat_fcstMPAS_obsERA5_cloudBaseHgt/ci_overrides.conf b/parm/use_cases/model_applications/clouds/GridStat_fcstMPAS_obsERA5_cloudBaseHgt/ci_overrides.conf new file mode 100644 index 0000000000..3fe3197e71 --- /dev/null +++ b/parm/use_cases/model_applications/clouds/GridStat_fcstMPAS_obsERA5_cloudBaseHgt/ci_overrides.conf @@ -0,0 +1,11 @@ +### +# CI OVERRIDE for model_applications/air_quality_and_comp/GridStat_fcstMPAS_obsERA5_cloudBaseHgt.conf +# these settings can overrides the settings in the use case conf so they run in automated tests +### + +[config] + +PROCESS_LIST = GridStat + +FCST_VAR1_THRESH = gt0, lt10.0 +OBS_VAR1_THRESH = gt0, lt10.0 diff --git a/parm/use_cases/model_applications/air_quality_and_comp/GridStat_fcstMPAS_obsERA5_cloudBaseHgt/read_input_data.py b/parm/use_cases/model_applications/clouds/GridStat_fcstMPAS_obsERA5_cloudBaseHgt/read_input_data.py similarity index 100% rename from parm/use_cases/model_applications/air_quality_and_comp/GridStat_fcstMPAS_obsERA5_cloudBaseHgt/read_input_data.py rename to parm/use_cases/model_applications/clouds/GridStat_fcstMPAS_obsERA5_cloudBaseHgt/read_input_data.py diff --git a/parm/use_cases/model_applications/air_quality_and_comp/GridStat_fcstMPAS_obsMERRA2_lowAndTotalCloudFrac.conf b/parm/use_cases/model_applications/clouds/GridStat_fcstMPAS_obsMERRA2_lowAndTotalCloudFrac.conf similarity index 80% rename from parm/use_cases/model_applications/air_quality_and_comp/GridStat_fcstMPAS_obsMERRA2_lowAndTotalCloudFrac.conf rename to parm/use_cases/model_applications/clouds/GridStat_fcstMPAS_obsMERRA2_lowAndTotalCloudFrac.conf index df54f704af..665a899be2 100644 --- a/parm/use_cases/model_applications/air_quality_and_comp/GridStat_fcstMPAS_obsMERRA2_lowAndTotalCloudFrac.conf +++ b/parm/use_cases/model_applications/clouds/GridStat_fcstMPAS_obsMERRA2_lowAndTotalCloudFrac.conf @@ -1,7 +1,7 @@ [config] # Documentation for this use case can be found at -# https://metplus.readthedocs.io/en/latest/generated/model_applications/air_quality_and_comp/GridStat_fcstMPAS_obsMERRA2_lowAndTotalCloudFrac.html +# https://metplus.readthedocs.io/en/latest/generated/model_applications/clouds/GridStat_fcstMPAS_obsMERRA2_lowAndTotalCloudFrac.html # For additional information, please see the METplus Users Guide. # https://metplus.readthedocs.io/en/latest/Users_Guide @@ -52,7 +52,7 @@ GRID_STAT_CLIMO_MEAN_INPUT_TEMPLATE = GRID_STAT_CLIMO_STDEV_INPUT_DIR = GRID_STAT_CLIMO_STDEV_INPUT_TEMPLATE = -GRID_STAT_OUTPUT_DIR = {OUTPUT_BASE}/model_applications/air_quality_and_comp/GridStat_fcstMPAS_obsMERRA2_lowAndTotalCloudFrac +GRID_STAT_OUTPUT_DIR = {OUTPUT_BASE}/model_applications/clouds/GridStat_fcstMPAS_obsMERRA2_lowAndTotalCloudFrac GRID_STAT_OUTPUT_TEMPLATE = @@ -64,19 +64,22 @@ GRID_STAT_OUTPUT_TEMPLATE = MODEL = MPAS OBTYPE = MERRA2 -CONFIG_DIR = {PARM_BASE}/use_cases/model_applications/air_quality_and_comp/GridStat_fcstMPAS_obsMERRA2_lowAndTotalCloudFrac +CONFIG_DIR = {PARM_BASE}/use_cases/model_applications/clouds/GridStat_fcstMPAS_obsMERRA2_lowAndTotalCloudFrac -FCST_VAR1_NAME = {CONFIG_DIR}/read_input_data.py {INPUT_BASE}/model_applications/air_quality_and_comp/GridStat_fcstMPAS_obsMERRA2_lowAndTotalCloudFrac/diag.{valid?fmt=%Y-%m-%d_%H}.00.00_latlon.nc:{MODEL}:totalCloudFrac:{init?fmt=%Y%m%d%H}:{valid?fmt=%Y%m%d%H}:1 -FCST_VAR1_LEVELS = +FCST_VAR1_NAME = {CONFIG_DIR}/read_input_data.py {INPUT_BASE}/model_applications/clouds/GridStat_fcstMPAS_obsMERRA2_lowAndTotalCloudFrac/diag.{valid?fmt=%Y-%m-%d_%H}.00.00_latlon.nc:{MODEL}:totalCloudFrac:{init?fmt=%Y%m%d%H}:{valid?fmt=%Y%m%d%H}:1 +FCST_VAR1_LEVELS = FCST_VAR1_THRESH = gt0, lt10.0, ge10.0, ge20.0, ge30.0, ge40.0, ge50.0, ge60.0, ge70.0, ge80.0, ge90.0 -FCST_VAR2_NAME = {CONFIG_DIR}/read_input_data.py {INPUT_BASE}/model_applications/air_quality_and_comp/GridStat_fcstMPAS_obsMERRA2_lowAndTotalCloudFrac/diag.{valid?fmt=%Y-%m-%d_%H}.00.00_latlon.nc:{MODEL}:lowCloudFrac:{init?fmt=%Y%m%d%H}:{valid?fmt=%Y%m%d%H}:1 -FCST_VAR2_THRESH = gt0, lt10.0, ge10.0, ge20.0, ge30.0, ge40.0, ge50.0, ge60.0, ge70.0, ge80.0, ge90.0 -OBS_VAR1_NAME = {CONFIG_DIR}/read_input_data.py {INPUT_BASE}/model_applications/air_quality_and_comp/GridStat_fcstMPAS_obsMERRA2_lowAndTotalCloudFrac/MERRA2_400.tavg1_2d_rad_Nx.{valid?fmt=%Y%m%d}.nc4:{OBTYPE}:totalCloudFrac:{init?fmt=%Y%m%d%H}:{valid?fmt=%Y%m%d%H}:2 -OBS_VAR1_LEVELS = +OBS_VAR1_NAME = {CONFIG_DIR}/read_input_data.py {INPUT_BASE}/model_applications/clouds/GridStat_fcstMPAS_obsMERRA2_lowAndTotalCloudFrac/MERRA2_400.tavg1_2d_rad_Nx.{valid?fmt=%Y%m%d}.nc4:{OBTYPE}:totalCloudFrac:{init?fmt=%Y%m%d%H}:{valid?fmt=%Y%m%d%H}:2 +OBS_VAR1_LEVELS = OBS_VAR1_THRESH = gt0, lt10.0, ge10.0, ge20.0, ge30.0, ge40.0, ge50.0, ge60.0, ge70.0, ge80.0, ge90.0 -OBS_VAR2_NAME = {CONFIG_DIR}/read_input_data.py {INPUT_BASE}/model_applications/air_quality_and_comp/GridStat_fcstMPAS_obsMERRA2_lowAndTotalCloudFrac/MERRA2_400.tavg1_2d_rad_Nx.{valid?fmt=%Y%m%d}.nc4:{OBTYPE}:lowCloudFrac:{init?fmt=%Y%m%d%H}:{valid?fmt=%Y%m%d%H}:2 -OBS_VAR2_THRESH = gt0, lt10.0, ge10.0, ge20.0, ge30.0, ge40.0, ge50.0, ge60.0, ge70.0, ge80.0, ge90.0 + + +FCST_VAR2_NAME = {CONFIG_DIR}/read_input_data.py {INPUT_BASE}/model_applications/clouds/GridStat_fcstMPAS_obsMERRA2_lowAndTotalCloudFrac/diag.{valid?fmt=%Y-%m-%d_%H}.00.00_latlon.nc:{MODEL}:lowCloudFrac:{init?fmt=%Y%m%d%H}:{valid?fmt=%Y%m%d%H}:1 +FCST_VAR2_THRESH = gt0, lt10.0, ge10.0, ge20.0, ge30.0, ge40.0, ge50.0, ge60.0, ge70.0, ge80.0, ge90.0 + +OBS_VAR2_NAME = {CONFIG_DIR}/read_input_data.py {INPUT_BASE}/model_applications/clouds/GridStat_fcstMPAS_obsMERRA2_lowAndTotalCloudFrac/MERRA2_400.tavg1_2d_rad_Nx.{valid?fmt=%Y%m%d}.nc4:{OBTYPE}:lowCloudFrac:{init?fmt=%Y%m%d%H}:{valid?fmt=%Y%m%d%H}:2 +OBS_VAR2_THRESH = gt0, lt10.0, ge10.0, ge20.0, ge30.0, ge40.0, ge50.0, ge60.0, ge70.0, ge80.0, ge90.0 ### @@ -84,8 +87,6 @@ OBS_VAR2_THRESH = gt0, lt10.0, ge10.0, ge20.0, ge30.0, ge40.0, ge50.0, ge60.0, # https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#gridstat ### -#LOG_GRID_STAT_VERBOSITY = 2 - GRID_STAT_CONFIG_FILE = {PARM_BASE}/met_config/GridStatConfig_wrapped GRID_STAT_REGRID_TO_GRID = FCST @@ -132,7 +133,8 @@ GRID_STAT_NC_PAIRS_FLAG_GRADIENT = TRUE GRID_STAT_NC_PAIRS_FLAG_APPLY_MASK = TRUE -GRID_STAT_MASK_POLY = {INPUT_BASE}/model_applications/air_quality_and_comp/GridStat_fcstMPAS_obsMERRA2_lowAndTotalCloudFrac/GPP_17km_60S_60N_mask.nc +GRID_STAT_MASK_POLY = {INPUT_BASE}/model_applications/clouds/GridStat_fcstMPAS_obsMERRA2_lowAndTotalCloudFrac/GPP_17km_60S_60N_mask.nc + [nbr] @@ -164,14 +166,17 @@ GRID_STAT_NC_PAIRS_FLAG_APPLY_MASK = TRUE GRID_STAT_OUTPUT_PREFIX = {MODEL}_to_{OBTYPE}_F{lead?fmt=%H}_CloudFracs_NBR + [prob] -OBS_VAR1_THRESH = gt0, ge10.0, ge20.0, ge30.0, ge40.0, ge50.0, ge60.0, ge70.0, ge80.0, ge90.0 -OBS_VAR2_THRESH = gt0, ge10.0, ge20.0, ge30.0, ge40.0, ge50.0, ge60.0, ge70.0, ge80.0, ge90.0 FCST_IS_PROB = TRUE FCST_VAR1_THRESH = >0.1, >0.2, >0.3, >0.4, >0.5, >0.6, >0.7, >0.8, >0.9, >1.0 +OBS_VAR1_THRESH = gt0, ge10.0, ge20.0, ge30.0, ge40.0, ge50.0, ge60.0, ge70.0, ge80.0, ge90.0 + FCST_VAR2_THRESH = >0.1, >0.2, >0.3, >0.4, >0.5, >0.6, >0.7, >0.8, >0.9, >1.0 +OBS_VAR2_THRESH = gt0, ge10.0, ge20.0, ge30.0, ge40.0, ge50.0, ge60.0, ge70.0, ge80.0, ge90.0 + GRID_STAT_NEIGHBORHOOD_WIDTH = 3, 5, 7, 9 GRID_STAT_NEIGHBORHOOD_SHAPE = CIRCLE diff --git a/parm/use_cases/model_applications/clouds/GridStat_fcstMPAS_obsMERRA2_lowAndTotalCloudFrac/ci_overrides.conf b/parm/use_cases/model_applications/clouds/GridStat_fcstMPAS_obsMERRA2_lowAndTotalCloudFrac/ci_overrides.conf new file mode 100644 index 0000000000..efd4e2078d --- /dev/null +++ b/parm/use_cases/model_applications/clouds/GridStat_fcstMPAS_obsMERRA2_lowAndTotalCloudFrac/ci_overrides.conf @@ -0,0 +1,19 @@ +### +# CI OVERRIDE for model_applications/air_quality_and_comp/GridStat_fcstMPAS_obsMERRA2_lowAndTotalCloudFrac.conf +# these settings can overrides the settings in the use case conf so they run in automated tests +### + +[config] + +PROCESS_LIST = GridStat(prob) + + +[prob] + +FCST_VAR1_THRESH = >0.1, >0.2 +OBS_VAR1_THRESH = gt0, ge10.0 + +FCST_VAR2_THRESH = >0.1, >0.2 +OBS_VAR2_THRESH = gt0, ge10.0 + +GRID_STAT_NEIGHBORHOOD_WIDTH = 7, 9 diff --git a/parm/use_cases/model_applications/air_quality_and_comp/GridStat_fcstMPAS_obsMERRA2_lowAndTotalCloudFrac/read_input_data.py b/parm/use_cases/model_applications/clouds/GridStat_fcstMPAS_obsMERRA2_lowAndTotalCloudFrac/read_input_data.py similarity index 100% rename from parm/use_cases/model_applications/air_quality_and_comp/GridStat_fcstMPAS_obsMERRA2_lowAndTotalCloudFrac/read_input_data.py rename to parm/use_cases/model_applications/clouds/GridStat_fcstMPAS_obsMERRA2_lowAndTotalCloudFrac/read_input_data.py diff --git a/parm/use_cases/model_applications/air_quality_and_comp/GridStat_fcstMPAS_obsSATCORPS_lowAndTotalCloudFrac.conf b/parm/use_cases/model_applications/clouds/GridStat_fcstMPAS_obsSATCORPS_lowAndTotalCloudFrac.conf similarity index 81% rename from parm/use_cases/model_applications/air_quality_and_comp/GridStat_fcstMPAS_obsSATCORPS_lowAndTotalCloudFrac.conf rename to parm/use_cases/model_applications/clouds/GridStat_fcstMPAS_obsSATCORPS_lowAndTotalCloudFrac.conf index 1020ad1661..6f650cc119 100644 --- a/parm/use_cases/model_applications/air_quality_and_comp/GridStat_fcstMPAS_obsSATCORPS_lowAndTotalCloudFrac.conf +++ b/parm/use_cases/model_applications/clouds/GridStat_fcstMPAS_obsSATCORPS_lowAndTotalCloudFrac.conf @@ -1,7 +1,7 @@ [config] # Documentation for this use case can be found at -# https://metplus.readthedocs.io/en/latest/generated/model_applications/air_quality_and_comp/GridStat_fcstMPAS_obsSATCORPS_lowAndTotalCloudFrac.html +# https://metplus.readthedocs.io/en/latest/generated/model_applications/clouds/GridStat_fcstMPAS_obsSATCORPS_lowAndTotalCloudFrac.html # For additional information, please see the METplus Users Guide. # https://metplus.readthedocs.io/en/latest/Users_Guide @@ -52,7 +52,7 @@ GRID_STAT_CLIMO_MEAN_INPUT_TEMPLATE = GRID_STAT_CLIMO_STDEV_INPUT_DIR = GRID_STAT_CLIMO_STDEV_INPUT_TEMPLATE = -GRID_STAT_OUTPUT_DIR = {OUTPUT_BASE}/model_applications/air_quality_and_comp/GridStat_fcstMPAS_obsSATCORPS_lowAndTotalCloudFrac +GRID_STAT_OUTPUT_DIR = {OUTPUT_BASE}/model_applications/clouds/GridStat_fcstMPAS_obsSATCORPS_lowAndTotalCloudFrac GRID_STAT_OUTPUT_TEMPLATE = @@ -64,21 +64,22 @@ GRID_STAT_OUTPUT_TEMPLATE = MODEL = MPAS OBTYPE = SATCORPS -CONFIG_DIR = {PARM_BASE}/use_cases/model_applications/air_quality_and_comp/GridStat_fcstMPAS_obsSATCORPS_lowAndTotalCloudFrac +CONFIG_DIR = {PARM_BASE}/use_cases/model_applications/clouds/GridStat_fcstMPAS_obsSATCORPS_lowAndTotalCloudFrac -FCST_VAR1_NAME = {CONFIG_DIR}/read_input_data.py {INPUT_BASE}/model_applications/air_quality_and_comp/GridStat_fcstMPAS_obsSATCORPS_lowAndTotalCloudFrac/diag.{valid?fmt=%Y-%m-%d_%H}.00.00_latlon.nc:{MODEL}:totalCloudFrac:{init?fmt=%Y%m%d%H}:{valid?fmt=%Y%m%d%H}:1 +FCST_VAR1_NAME = {CONFIG_DIR}/read_input_data.py {INPUT_BASE}/model_applications/clouds/GridStat_fcstMPAS_obsSATCORPS_lowAndTotalCloudFrac/diag.{valid?fmt=%Y-%m-%d_%H}.00.00_latlon.nc:{MODEL}:totalCloudFrac:{init?fmt=%Y%m%d%H}:{valid?fmt=%Y%m%d%H}:1 FCST_VAR1_LEVELS = FCST_VAR1_THRESH = gt0, lt10.0, ge10.0, ge20.0, ge30.0, ge40.0, ge50.0, ge60.0, ge70.0, ge80.0, ge90.0 -FCST_VAR2_NAME = {CONFIG_DIR}/read_input_data.py {INPUT_BASE}/model_applications/air_quality_and_comp/GridStat_fcstMPAS_obsSATCORPS_lowAndTotalCloudFrac/diag.{valid?fmt=%Y-%m-%d_%H}.00.00_latlon.nc:{MODEL}:lowCloudFrac:{init?fmt=%Y%m%d%H}:{valid?fmt=%Y%m%d%H}:1 -FCST_VAR2_THRESH = gt0, lt10.0, ge10.0, ge20.0, ge30.0, ge40.0, ge50.0, ge60.0, ge70.0, ge80.0, ge90.0 - -OBS_VAR1_NAME = {CONFIG_DIR}/read_input_data.py {INPUT_BASE}/model_applications/air_quality_and_comp/GridStat_fcstMPAS_obsSATCORPS_lowAndTotalCloudFrac/GEO-MRGD.{valid?fmt=%Y%j.%H}00.GRID.NC:{OBTYPE}:totalCloudFrac:{init?fmt=%Y%m%d%H}:{valid?fmt=%Y%m%d%H}:2 -OBS_VAR1_LEVELS = +OBS_VAR1_NAME = {CONFIG_DIR}/read_input_data.py {INPUT_BASE}/model_applications/clouds/GridStat_fcstMPAS_obsSATCORPS_lowAndTotalCloudFrac/GEO-MRGD.{valid?fmt=%Y%j.%H}00.GRID.NC:{OBTYPE}:totalCloudFrac:{init?fmt=%Y%m%d%H}:{valid?fmt=%Y%m%d%H}:2 +OBS_VAR1_LEVELS = OBS_VAR1_THRESH = gt0, lt10.0, ge10.0, ge20.0, ge30.0, ge40.0, ge50.0, ge60.0, ge70.0, ge80.0, ge90.0 -OBS_VAR2_NAME = {CONFIG_DIR}/read_input_data.py {INPUT_BASE}/model_applications/air_quality_and_comp/GridStat_fcstMPAS_obsSATCORPS_lowAndTotalCloudFrac/GEO-MRGD.{valid?fmt=%Y%j.%H}00.GRID.NC:{OBTYPE}:lowCloudFrac:{init?fmt=%Y%m%d%H}:{valid?fmt=%Y%m%d%H}:2 -OBS_VAR2_THRESH = gt0, lt10.0, ge10.0, ge20.0, ge30.0, ge40.0, ge50.0, ge60.0, ge70.0, ge80.0, ge90.0 + +FCST_VAR2_NAME = {CONFIG_DIR}/read_input_data.py {INPUT_BASE}/model_applications/clouds/GridStat_fcstMPAS_obsSATCORPS_lowAndTotalCloudFrac/diag.{valid?fmt=%Y-%m-%d_%H}.00.00_latlon.nc:{MODEL}:lowCloudFrac:{init?fmt=%Y%m%d%H}:{valid?fmt=%Y%m%d%H}:1 +FCST_VAR2_THRESH = gt0, lt10.0, ge10.0, ge20.0, ge30.0, ge40.0, ge50.0, ge60.0, ge70.0, ge80.0, ge90.0 + +OBS_VAR2_NAME = {CONFIG_DIR}/read_input_data.py {INPUT_BASE}/model_applications/clouds/GridStat_fcstMPAS_obsSATCORPS_lowAndTotalCloudFrac/GEO-MRGD.{valid?fmt=%Y%j.%H}00.GRID.NC:{OBTYPE}:lowCloudFrac:{init?fmt=%Y%m%d%H}:{valid?fmt=%Y%m%d%H}:2 +OBS_VAR2_THRESH = gt0, lt10.0, ge10.0, ge20.0, ge30.0, ge40.0, ge50.0, ge60.0, ge70.0, ge80.0, ge90.0 ### @@ -136,7 +137,7 @@ GRID_STAT_NC_PAIRS_FLAG_GRADIENT = TRUE GRID_STAT_NC_PAIRS_FLAG_APPLY_MASK = TRUE -GRID_STAT_MASK_POLY = {INPUT_BASE}/model_applications/air_quality_and_comp/GridStat_fcstMPAS_obsSATCORPS_lowAndTotalCloudFrac/GPP_17km_60S_60N_mask.nc +GRID_STAT_MASK_POLY = {INPUT_BASE}/model_applications/clouds/GridStat_fcstMPAS_obsSATCORPS_lowAndTotalCloudFrac/GPP_17km_60S_60N_mask.nc [nbr] @@ -170,12 +171,14 @@ GRID_STAT_OUTPUT_PREFIX = {MODEL}_F{lead?fmt=%H}_CloudFracs_NBR [prob] -OBS_VAR1_THRESH = gt0, ge10.0, ge20.0, ge30.0, ge40.0, ge50.0, ge60.0, ge70.0, ge80.0, ge90.0 -OBS_VAR2_THRESH = gt0, ge10.0, ge20.0, ge30.0, ge40.0, ge50.0, ge60.0, ge70.0, ge80.0, ge90.0 FCST_IS_PROB = TRUE FCST_VAR1_THRESH = >0.1, >0.2, >0.3, >0.4, >0.5, >0.6, >0.7, >0.8, >0.9, >1.0 +OBS_VAR1_THRESH = gt0, ge10.0, ge20.0, ge30.0, ge40.0, ge50.0, ge60.0, ge70.0, ge80.0, ge90.0 + FCST_VAR2_THRESH = >0.1, >0.2, >0.3, >0.4, >0.5, >0.6, >0.7, >0.8, >0.9, >1.0 +OBS_VAR2_THRESH = gt0, ge10.0, ge20.0, ge30.0, ge40.0, ge50.0, ge60.0, ge70.0, ge80.0, ge90.0 + GRID_STAT_NEIGHBORHOOD_WIDTH = 3, 5, 7, 9 GRID_STAT_NEIGHBORHOOD_SHAPE = CIRCLE diff --git a/parm/use_cases/model_applications/clouds/GridStat_fcstMPAS_obsSATCORPS_lowAndTotalCloudFrac/ci_overrides.conf b/parm/use_cases/model_applications/clouds/GridStat_fcstMPAS_obsSATCORPS_lowAndTotalCloudFrac/ci_overrides.conf new file mode 100644 index 0000000000..0779fe61da --- /dev/null +++ b/parm/use_cases/model_applications/clouds/GridStat_fcstMPAS_obsSATCORPS_lowAndTotalCloudFrac/ci_overrides.conf @@ -0,0 +1,16 @@ +### +# CI OVERRIDE for model_applications/air_quality_and_comp/GridStat_fcstMPAS_obsSATCORPS_lowAndTotalCloudFrac.conf +# these settings can overrides the settings in the use case conf so they run in automated tests +### + +[config] + +PROCESS_LIST = GridStat(nbr) + + +[nbr] + +FCST_VAR1_THRESH = gt0, lt10.0, >SFP20 +OBS_VAR1_THRESH = gt0, lt10.0, >SOP20 + +GRID_STAT_NEIGHBORHOOD_WIDTH = 7, 9 diff --git a/parm/use_cases/model_applications/air_quality_and_comp/GridStat_fcstMPAS_obsSATCORPS_lowAndTotalCloudFrac/read_input_data.py b/parm/use_cases/model_applications/clouds/GridStat_fcstMPAS_obsSATCORPS_lowAndTotalCloudFrac/read_input_data.py similarity index 100% rename from parm/use_cases/model_applications/air_quality_and_comp/GridStat_fcstMPAS_obsSATCORPS_lowAndTotalCloudFrac/read_input_data.py rename to parm/use_cases/model_applications/clouds/GridStat_fcstMPAS_obsSATCORPS_lowAndTotalCloudFrac/read_input_data.py