Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
113 commits
Select commit Hold shift + click to select a range
2b84c16
Per #3304, add Grid-Diag output_flag.power_spectrum config file option.
JohnHalleyGotway Feb 10, 2026
24340fb
Per #3304, add Grid-Diag output_flag.power_spectrum config file option.
JohnHalleyGotway Feb 10, 2026
bd088f7
Per #3304 add hooks to compute and write power spectrum output.
JohnHalleyGotway Feb 19, 2026
57afc55
Merge remote-tracking branch 'origin/develop' into feature_3304_power…
JohnHalleyGotway Feb 19, 2026
68a8644
Per #3304, tweak logic for when to compute/write error energy. Still …
JohnHalleyGotway Feb 20, 2026
af75dab
Per #3304, add level NetCDF variable attribute.
JohnHalleyGotway Feb 23, 2026
f5db691
Per #3304, add energy output. Still a work in progress.
JohnHalleyGotway Mar 3, 2026
586727d
Merge remote-tracking branch 'origin/develop' into feature_3304_power…
JohnHalleyGotway Mar 3, 2026
e20401e
Merge remote-tracking branch 'origin/develop' into feature_3304_power…
JohnHalleyGotway Mar 25, 2026
417d898
Merge remote-tracking branch 'origin/develop' into feature_3304_power…
JohnHalleyGotway May 4, 2026
029d17d
Per #3304, tweak energy dimension name
JohnHalleyGotway May 4, 2026
8304286
Merge remote-tracking branch 'origin/develop' into feature_3304_power…
JohnHalleyGotway May 20, 2026
7f7862c
Per #3304, write power spectra only for the FULL domain.
JohnHalleyGotway May 21, 2026
2bb2020
Per #3304, add config options to specify how missing data values shou…
JohnHalleyGotway May 22, 2026
223e8f0
Per #3304, define and use DataPlane::mean() utilty function and updat…
JohnHalleyGotway May 22, 2026
0ef68a6
Per #3304, switch to a power_spectrum dictionary.
JohnHalleyGotway May 23, 2026
59a3225
Per #3304, fix compilation error.
JohnHalleyGotway May 25, 2026
aab4a1b
Per #3304, write power spectrum units as (units)^2, but need to confi…
JohnHalleyGotway May 26, 2026
6bb0686
Per #1518, add WindVectorInfo struct along with code to parse it.
JohnHalleyGotway Jun 3, 2026
373f3e8
Per #1518, switch to WindMetadata struct name and parse it for the Va…
JohnHalleyGotway Jun 4, 2026
87337dc
Per #1518, refine logic for checking wind metadata.
JohnHalleyGotway Jun 5, 2026
3364eda
Per #1518, don't need kinetic_energy_field_name config option. Instea…
JohnHalleyGotway Jun 5, 2026
1c4fd71
Per #1518, update the VarInfo is_... functions throughout.
JohnHalleyGotway Jun 5, 2026
36f1774
Per #1518, lots of changes for handling wind deriviation in the base …
JohnHalleyGotway Jun 11, 2026
e597d98
Per #1518, update function names, add a hook for rotate_winds(), and …
JohnHalleyGotway Jun 11, 2026
197dde9
Per #1518, improve level string handling for NetCDF files. When deriv…
JohnHalleyGotway Jun 11, 2026
96e9e72
Per #1518, handle wind rotation in the Met2dDataFile base class rathe…
JohnHalleyGotway Jun 12, 2026
78c8808
Per #1518, add hooks to derive kinetic energy, vorticity, and diverge…
JohnHalleyGotway Jun 13, 2026
f6e22bc
Per #1518, back out hooks for deriving divergence and vorticity since…
JohnHalleyGotway Jun 15, 2026
662ee41
Per #1518, refine logic slightly.
JohnHalleyGotway Jun 15, 2026
6affc2c
Per #1518, update library code to assume NetCDF files (MET, WRF, and …
JohnHalleyGotway Jun 15, 2026
f365616
Per #1518, patch logic in GRIB2 find_record_matches() to enable the p…
JohnHalleyGotway Jun 15, 2026
2fc474c
Per #1518, update call to read_data_plane() ci-run-unit
JohnHalleyGotway Jun 15, 2026
a16afd2
Per #1518, siwitchtch from index_a/index_b/index_c to the more descri…
JohnHalleyGotway Jun 16, 2026
b883eea
Per #1518, update the grib table lookup to return a vector of matches.
JohnHalleyGotway Jun 16, 2026
a0e1978
Correct TCDC to be TCC for GALWEM.
JohnHalleyGotway Jun 16, 2026
b55cfea
Per #1518, add logic to check whether DataPlaneArray level values match.
JohnHalleyGotway Jun 17, 2026
e332d1d
Per #1518, move call to rotate_winds() outside of process_data_plane(…
JohnHalleyGotway Jun 17, 2026
a9b3b0c
Per #1518, rotate_winds() should return true for non-wind vars.
JohnHalleyGotway Jun 17, 2026
6bb618d
Per #1518, patch rotate_winds() logic for DataPlaneArray. ci-run-unit
JohnHalleyGotway Jun 17, 2026
154cb80
Per #1518, add back in calls to set the GRIB code after doing a table…
JohnHalleyGotway Jun 17, 2026
9b603fd
Per #1518, need to store the units parsed from the GRIB tables.
JohnHalleyGotway Jun 17, 2026
76f27ca
Per #1518, delete accidentally committed swap file. ci-run-unit
JohnHalleyGotway Jun 17, 2026
4487321
Per #1518, reverting logic in find_record_matches() back to what it w…
JohnHalleyGotway Jun 17, 2026
9112064
Trying to eliminate testing workflow failures ci-run-unit
JohnHalleyGotway Jun 18, 2026
b088d62
Per #1518, always read ConfigConstants before reading a config string.
JohnHalleyGotway Jun 18, 2026
b7f25d6
Per #1518, more tweaks to try get the unit tests to pass ci-run-unit
JohnHalleyGotway Jun 18, 2026
452b288
Minor tweak
JohnHalleyGotway Jun 22, 2026
d5316c5
Per #1518, add VarInfo::reset_dict_with_name() function and update re…
JohnHalleyGotway Jun 22, 2026
e27537d
Per #1518, improve the read_wind_data() warning messages. ci-run-unit
JohnHalleyGotway Jun 22, 2026
37a6d24
Per #1518, refined wind rotation log messages #ci-run-unit
JohnHalleyGotway Jun 22, 2026
4d675b0
Per #1518, handle wind rotation before calling process_data_plane(). …
JohnHalleyGotway Jun 22, 2026
a200bdc
Per #1518, update gen_ens_prod and ensemble_stat to clone the VarInfo…
JohnHalleyGotway Jun 22, 2026
a49227f
Per #1518, abandon VarInfo::set_earth_relative() since that logic wre…
JohnHalleyGotway Jun 23, 2026
746b667
Per #1518, refine log message formatting and update existing plots of…
JohnHalleyGotway Jun 23, 2026
ed3c623
Merge remote-tracking branch 'origin/develop' into feature_1518_winds
JohnHalleyGotway Jun 23, 2026
f0d224f
Per #1518, patch pcp_combine.cc read_field to read the -field config …
JohnHalleyGotway Jun 23, 2026
5b070cb
Per #1518, log each wind rotation operation.
JohnHalleyGotway Jun 23, 2026
7cb27c0
Per #1518, move clone() operation up in the logic from read_wind_data…
JohnHalleyGotway Jun 23, 2026
f605d90
More tweaks
JohnHalleyGotway Jun 23, 2026
c7b147a
Per #1518, add unit_winds.xml to demonstrate the new functionality. c…
JohnHalleyGotway Jun 23, 2026
99a7f69
Start doc updates
JohnHalleyGotway Jun 23, 2026
e0c2d45
Per #1518, add logic to read_wind_data() when converting U to V or vi…
JohnHalleyGotway Jun 24, 2026
35b2482
Per #1518, update docs about wind rotation.
JohnHalleyGotway Jun 24, 2026
590df6b
Per #1518, note config changes in the upgrade instructions.
JohnHalleyGotway Jun 24, 2026
bc12786
Merge remote-tracking branch 'origin/develop' into feature_1518_winds
JohnHalleyGotway Jun 24, 2026
4cf02d2
Try reverting from METbaseimage 3.5-latest back to 3.4-latest. The TC…
JohnHalleyGotway Jun 24, 2026
f46f15c
Per #1518, don't need to specify u_wind_field and v_wind_field_name a…
JohnHalleyGotway Jun 25, 2026
fdc9f40
Merge branch 'develop' into feature_1518_winds
JohnHalleyGotway Jun 25, 2026
4303156
Per #1518, solve 3 SonarQube findings.
JohnHalleyGotway Jun 25, 2026
a114fa9
Per #1518, solve SonarQube findings in data_class.h/.cc.
JohnHalleyGotway Jun 25, 2026
61bd643
Per #1518, make GRIB table lookup functions const to satisfy SonarQube.
JohnHalleyGotway Jun 25, 2026
a4d3f03
Per #1518, solve more SonarQube findings.
JohnHalleyGotway Jun 25, 2026
eb9d144
Per #1518, drive down more SonarQube findings to reduce the overall n…
JohnHalleyGotway Jun 25, 2026
937840b
Merge branch 'feature_1518_winds' of https://github.com/dtcenter/MET …
JohnHalleyGotway Jun 25, 2026
0d8b901
Per #1518, reduce 4 more SonarQube findings.
JohnHalleyGotway Jun 25, 2026
ff87c25
Per #3304, work in progress
JohnHalleyGotway Jun 26, 2026
7ed4021
Merge remote-tracking branch 'origin/feature_1518_winds' into feature…
JohnHalleyGotway Jun 26, 2026
c36294a
Reduce SonarQube findings.
JohnHalleyGotway Jun 26, 2026
6c06e94
Per #3304, add logic for LatLonGrid::scale_km() and update grid_diag'…
JohnHalleyGotway Jun 26, 2026
b0ebfd7
Per #1518, add missing references to Error or Debug for handful of ca…
JohnHalleyGotway Jun 30, 2026
f2c4bfa
Per #1518, refine the swap UV name logic so that it's only employed w…
JohnHalleyGotway Jun 30, 2026
e19ca14
MetConfig doesn't need to be static
JohnHalleyGotway Jun 30, 2026
4119f5a
Per #1518, switch VarInfo::clone() to return an std::unique_ptr() to …
JohnHalleyGotway Jun 30, 2026
c030a4c
Per #1518, solve another SonarQube finding.
JohnHalleyGotway Jun 30, 2026
21cff9f
Switch double to bool
JohnHalleyGotway Jun 30, 2026
933b89d
More SonarQube cleanup
JohnHalleyGotway Jun 30, 2026
6be40fa
Merge remote-tracking branch 'origin/feature_1518_winds' into feature…
JohnHalleyGotway Jun 30, 2026
dae64dc
One more SonarQube issue
JohnHalleyGotway Jul 1, 2026
d5f0f13
Merge remote-tracking branch 'origin/feature_1518_winds' into feature…
JohnHalleyGotway Jul 1, 2026
b1fbda5
Per #3304, update Grid-Diag to read U and V winds for kinetic energy.
JohnHalleyGotway Jul 1, 2026
0636957
Per #3304, swap args to dct_typeII_2d() to be ncol followed by nrow t…
JohnHalleyGotway Jul 1, 2026
960fe48
Per #3304, scale radial energy by the number of grid points to match …
JohnHalleyGotway Jul 1, 2026
fdbc6ba
Per #3304, enable special handling of U/V components for kinetic energy.
JohnHalleyGotway Jul 1, 2026
fd24f06
Per #3304, add Grid-Diag unit test for kinetic energy. ci-run-unit
JohnHalleyGotway Jul 1, 2026
dcd7b0a
Merge remote-tracking branch 'origin/develop' into feature_3304_power…
JohnHalleyGotway Jul 2, 2026
f937a5d
Per #3304, add logic for kinetic_energy as well. ci-run-unit
JohnHalleyGotway Jul 6, 2026
e5090eb
Removing whitespace
JohnHalleyGotway Jul 7, 2026
d9f75b3
Per #3304, update Grid-Diag based on testing to use the set_attr_grid…
JohnHalleyGotway Jul 7, 2026
87ac8ac
Merge remote-tracking branch 'origin/develop' into feature_3304_power…
JohnHalleyGotway Jul 29, 2026
e3c46e6
Per #3304, reduce SonarQube findings.
JohnHalleyGotway Jul 29, 2026
36754b7
Pe #3304, resolve a couple more SonarQube findings.
JohnHalleyGotway Jul 29, 2026
567912f
Per #3304, add orthonormalization scaling factor to dct_typeII function.
JohnHalleyGotway Aug 19, 2026
02040f6
Per #3304, add missing sstatic specifier.
JohnHalleyGotway Aug 20, 2026
17b796b
Per #3304, correct the radial_energy() logic to omit domain average v…
JohnHalleyGotway Aug 26, 2026
8a90660
Per #3304, with an assist from Claude, this is a major overhaul to th…
JohnHalleyGotway Aug 26, 2026
b26efde
Per #3304, update the accumulate() logic to check for bad data values.
JohnHalleyGotway Aug 26, 2026
076af02
Per #3304, move radial_spectral_variance() into grid_diag.cc since th…
JohnHalleyGotway Aug 26, 2026
abc76e2
Per #3304, add references and update the documentation.
JohnHalleyGotway Aug 26, 2026
d6bca8f
Per #3304, fix off by one error.
JohnHalleyGotway Aug 26, 2026
bdef474
Per #3304, update the upgrade instructions for for this issue.
JohnHalleyGotway Aug 27, 2026
5409117
Fix documentation build warning message
JohnHalleyGotway Aug 27, 2026
234a824
Per #3304, resolve a few SonarQube findings.
JohnHalleyGotway Aug 27, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions data/config/ConfigConstants
Original file line number Diff line number Diff line change
Expand Up @@ -214,3 +214,7 @@ CLIMO_STD_ANOM = 3;
FCST_ANOM = 4;
FCST_STD_ANOM = 5;

// Power spectrum missing flag types
NONE = 1;
MEAN = 2;
VALUE = 3;
16 changes: 13 additions & 3 deletions data/config/GridDiagConfig_default
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,15 @@ regrid = {
censor_thresh = [];
censor_val = [];

//
// Specify the handling of missing data for power spectra
//
power_spectrum = {
missing_flag = NONE;
missing_value = 0.0;
vld_thresh = 0.5;
}

//
// Data fields
//
Expand Down Expand Up @@ -68,9 +77,10 @@ mask = {
// Diagnostic output types
//
output_flag = {
histogram_1d = TRUE;
histogram_2d = TRUE;
info_theory = FALSE;
histogram_1d = TRUE;
histogram_2d = TRUE;
info_theory = FALSE;
power_spectrum = FALSE;
}

////////////////////////////////////////////////////////////////////////////////
Expand Down
32 changes: 27 additions & 5 deletions docs/Users_Guide/grid-diag.rst
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,13 @@ Grid-Diag Tool
Introduction
============

The Grid-Diag tool creates histograms (probability distributions when normalized) for an arbitrary collection of data fields and levels. Joint histograms are created for all possible pairs of variables. If no masking region is specified to subset the data fields spatially, then all points in the input domain are used. However, an arbitrary number of masking regions can be specified and output is created for each one. The histograms are accumulated over all of the input data files. Typically this tool is run with a time series of input data files, similar to Series-Analysis.
Unlike the Grid-Stat and Point-Stat tools, which compute verification statistics for matched pairs of forecast and observation values, the Grid-Diag tool provides diagnostic information based on the distribution of values found in gridded input files.

The Grid-Diag tool also uses the histograms to derive information theory statistics. Entropy is derived from each 1-dimensional histogram, and joint entropy and mutual information are derived from each 2-dimensional joint histogram. These statistics are defined using log base 2, rather than the natural logarithm which is also commonly used.
Grid-Diag creates histograms (probability distributions when normalized) for an arbitrary collection of data fields and levels. Joint histograms are created for all possible pairs of variables. If no masking region is specified to subset the data fields spatially, then all points in the input domain are used. However, an arbitrary number of masking regions can be specified and output is created for each one. The histograms are accumulated over all of the input data files. Typically this tool is run with a time series of input data files, similar to Series-Analysis.

Grid-Diag also uses the histograms to derive information theory statistics. Entropy is derived from each 1-dimensional histogram, and joint entropy and mutual information are derived from each 2-dimensional joint histogram. These statistics are defined using log base 2, rather than the natural logarithm which is also commonly used.

Finally, Grid-Diag also derives power spectra for each input field using discrete cosine transforms, as described in :ref:`Denis et al. (2002) <Denis-2002>` and :ref:`Durran et al. (2017) <Durran-2017>`. However, power spectra are computed over the full model domain rather than being subset by spatial masking regions. Note that special logic is applied when processing kinetic energy. Grid-Diag reads the corresponding U and V-wind vector components and applies a discrete cosine transform to them separately prior to computing the power spectrum. If multiple inputs are provided with the **-data** command line option, the error power spectrum of the difference fields is also computed.

Practical Information
=====================
Expand Down Expand Up @@ -77,6 +81,20 @@ The configuration options listed above are common to many MET tools and are desc

_____________________

.. code-block:: none

power_spectrum = {
missing_flag = NONE;
missing_value = 0.0;
vld_thresh = 0.5;
}

The **power_spectrum** dictionary defines options for computing power spectra and can be specified separately for each **data.field** entry below.

The **missing_flag** and **missing_value** entries define how bad data values should be handled. For all other output types, bad data values are ignored but they are problematic for power spectra. Set **missing_flag** to **NONE** (default) to skip power spectrum when bad data is present, to **MEAN** to replace bad data with the mean of each input field, or to **VALUE** to replace bad data with the constant numeric value specified by **missing_value**. Set **vld_thresh** to a number beween 0 and 1 to define the required ratio of valid data to be present to compute power spectra output for that field.

_____________________

.. code-block:: none

data = {
Expand Down Expand Up @@ -105,9 +123,10 @@ _____________________
.. code-block:: none

output_flag = {
histogram_1d = TRUE;
histogram_2d = TRUE;
info_theory = FALSE;
histogram_1d = TRUE;
histogram_2d = TRUE;
info_theory = FALSE;
power_spectrum = FALSE;
}

The **output_flag** dictionary controls the type of output that the Grid-Diag tool generates. Each flag should be set to **TRUE** or **FALSE** to enable the computation and writing of one or more variables to the output NetCDF file, as described below:
Expand All @@ -118,6 +137,8 @@ The **output_flag** dictionary controls the type of output that the Grid-Diag to

3. **info_theory** for information theory metrics, including entropy for each **data.field** entry and mutual information and joint entropy for each pair of entries.

4. **power_spectrum** for power spectrum output.

grid_diag Output File
---------------------

Expand All @@ -133,3 +154,4 @@ If 2-dimensional joint historgrams are requested, a corresponding **hist_** vari

If information theory output is requested, **entropy_**, **joint_entropy_**, and **mutual_information_** variables are written. Shannon entropy is derived from each 1-dimensional histogram, while joint entropy and mutual information are derived from each 2-dimensional joint histogram. These variables have one dimension for the number of masking regions and are computed using log base 2 rather than the natural logarithm. As such, their units are specified in the output as "bits" rather than "nats".

If power spectrum output is requested, **wavenumber**, **wavelength**, and **power_spectrum_** variables are written. These variables have a single **wavenumber** dimension which is the minimum of the Nx and Ny dimensions of the verification grid. If multiple inputs are provided with the **-data** command line option, **error_power_spectrum_** variables are also written for the difference fields.
16 changes: 16 additions & 0 deletions docs/Users_Guide/refs.rst
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,22 @@ References
| *the Royal Statistical Society* A147, 278-292.
|

.. _Denis-2002:

| Denis, B., J. Cote, R. Laprise, 2002:
| Spectral Decomposition of Two-Dimensional Atmospheric Fields on Limited-Area
| Domains Using the Discrete Cosine Transform (DCT). *Monthly Weather Review*, 130, 1812-1829.
| https://doi.org/10.1175/1520-0493(2002)130<1812:SDOTDA>2.0.CO;2
|

.. _Durran-2017:

| Durran, D., J. Weyn, M. Menchaca, 2017:
| Practical Considerations for Computing Dimensional Spectra from
| Gridded Data. *Monthly Weather Review*, 145, 3901-3910.
| https://doi.org/10.1175/MWR-D-17-0056.1
|

.. _Ebert-2008:

| Ebert, E.E., 2008: Fuzzy verification of high-resolution gridded forecasts:
Expand Down
16 changes: 11 additions & 5 deletions docs/Users_Guide/release-notes.rst
Original file line number Diff line number Diff line change
Expand Up @@ -173,6 +173,9 @@ MET Version 13.0.0 Upgrade Instructions
* The "mask.grid" and "mask.poly" entries have changed from strings to arrays of strings
to support the processing of multiple masking regions.

* The "power_spectrum" dictionary is added to configure how missing data values should
handled when computing power spectra.

* The new "output_flag" entry is a dictionary specifying the desired output types.

* Gen-Ens-Prod configuration file
Expand All @@ -190,9 +193,7 @@ MET Version 13.0.0 Upgrade Instructions
for a description of wind rotation and derivation and :numref:`config_wind_field_names` for the
corresponding configuration options.

.. dropdown:: Output format changes - NONE

.. dropdown:: Output format changes - NONE
.. dropdown:: Output format changes

MET version 13.0.0 adds or modifies the following output file formats:

Expand All @@ -203,14 +204,19 @@ MET Version 13.0.0 Upgrade Instructions

* Existing histogram variables are modified to include the "mask" dimension.

* New information theory variables are added for "entropy", "joint_entropy", and "mutual_information".
* New information theory variables are added for "entropy", "joint_entropy", and
"mutual_information".

* A new power spectrum "wavenumber" dimension is added, along with "wavenumber" and
"wavelength" variables. "power_spectrum" variables are written for each input,
and "error_power_spectrum" variables contain the differences for multiple inputs.

* Gen-Ens-Prod output format

* Adds new output variables with names include "EAS" and "EAS_WIDTH" for the Ensemble
Agreement Scale algorithm.

.. dropdown:: Output data changes - NONE
.. dropdown:: Output data changes

MET version 13.0.0 modifies existing output data values in the following ways:

Expand Down
9 changes: 9 additions & 0 deletions internal/test_unit/config/GridDiagConfig
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,15 @@ regrid = {
censor_thresh = [];
censor_val = [];

//
// Specify the handling of missing data for power spectra
//
power_spectrum = {
missing_flag = NONE;
missing_value = 0.0;
vld_thresh = 0.5;
}

//
// Data fields
//
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,15 +32,19 @@ regrid = {
censor_thresh = [];
censor_val = [];

//
// Specify the handling of missing data for power spectra
//
power_spectrum = {
missing_flag = VALUE;
missing_value = 0.0;
vld_thresh = 0.5;
}

//
// Data fields
//
data = {
name = "APCP";
level = ["A06"];
n_bins = 50;
range = [0,25];

field = [
{ ${FIELD1} },
{ ${FIELD2} }
Expand All @@ -62,10 +66,6 @@ mask = {
//
// Diagnostic output types
//
output_flag = {
histogram_1d = TRUE;
histogram_2d = TRUE;
info_theory = FALSE;
}
output_flag = TRUE;

////////////////////////////////////////////////////////////////////////////////
16 changes: 13 additions & 3 deletions internal/test_unit/config/GridDiagConfig_TMP
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,15 @@ regrid = {
censor_thresh = [];
censor_val = [];

//
// Specify the handling of missing data for power spectra
//
power_spectrum = {
missing_flag = NONE;
missing_value = 0.0;
vld_thresh = 0.5;
}

//
// Data fields
//
Expand Down Expand Up @@ -74,9 +83,10 @@ mask = {
// Diagnostic output types
//
output_flag = {
histogram_1d = TRUE;
histogram_2d = TRUE;
info_theory = FALSE;
histogram_1d = TRUE;
histogram_2d = TRUE;
info_theory = FALSE;
power_spectrum = FALSE;
}

////////////////////////////////////////////////////////////////////////////////
68 changes: 62 additions & 6 deletions internal/test_unit/xml/unit_grid_diag.xml
Original file line number Diff line number Diff line change
Expand Up @@ -73,13 +73,13 @@
> &OUTPUT_DIR;/grid_diag/obs_file_list; \
&MET_BIN;/grid_diag</exec>
<env>
<pair><name>FIELD1</name> <value>set_attr_name = "FCST_APCP";</value></pair>
<pair><name>FIELD2</name> <value>set_attr_name = "OBS_APCP";</value></pair>
<pair><name>FIELD1</name> <value>set_attr_name = "FCST_APCP"; name = "APCP"; level = "A06"; n_bins = 50; range = [0,25];</value></pair>
<pair><name>FIELD2</name> <value>set_attr_name = "OBS_APCP"; name = "APCP"; level = "A06"; n_bins = 50; range = [0,25];</value></pair>
</env>
<param> \
-data &OUTPUT_DIR;/grid_diag/fcst_file_list \
-data &OUTPUT_DIR;/grid_diag/obs_file_list \
-config &CONFIG_DIR;/GridDiagConfig_APCP_06_FCST_OBS \
-config &CONFIG_DIR;/GridDiagConfig_FCST_OBS \
-out &OUTPUT_DIR;/grid_diag/grid_diag_APCP_06_FCST_OBS.nc \
-v 3
</param>
Expand Down Expand Up @@ -109,13 +109,13 @@
> &OUTPUT_DIR;/grid_diag/obs_file_list; \
&MET_BIN;/grid_diag</exec>
<env>
<pair><name>FIELD1</name> <value>name = "APCP";</value></pair>
<pair><name>FIELD2</name> <value>name = "APCP";</value></pair>
<pair><name>FIELD1</name> <value>name = "APCP"; level = "A06"; n_bins = 50; range = [0,25];</value></pair>
<pair><name>FIELD2</name> <value>name = "APCP"; level = "A06"; n_bins = 50; range = [0,25];</value></pair>
</env>
<param> \
-data &OUTPUT_DIR;/grid_diag/fcst_file_list \
-data &OUTPUT_DIR;/grid_diag/obs_file_list \
-config &CONFIG_DIR;/GridDiagConfig_APCP_06_FCST_OBS \
-config &CONFIG_DIR;/GridDiagConfig_FCST_OBS \
-out &OUTPUT_DIR;/grid_diag/grid_diag_APCP_06_VARN.nc \
-v 3
</param>
Expand All @@ -124,4 +124,60 @@
</output>
</test>

<test name="grid_diag_WIND_FCST_OBS">
<exec>echo "&DATA_DIR_MODEL;/grib2/gfs/gfs_2012040900_F006.grib2 \
&DATA_DIR_MODEL;/grib2/gfs/gfs_2012040900_F012.grib2 \
&DATA_DIR_MODEL;/grib2/gfs/gfs_2012040900_F018.grib2 \
&DATA_DIR_MODEL;/grib2/gfs/gfs_2012040900_F024.grib2" \
> &OUTPUT_DIR;/grid_diag/uv_wind_fcst_file_list; \
echo "&DATA_DIR_MODEL;/grib2/gfsanl/gfsanl_4_20120409_0600_000.grb2 \
&DATA_DIR_MODEL;/grib2/gfsanl/gfsanl_4_20120409_1200_000.grb2 \
&DATA_DIR_MODEL;/grib2/gfsanl/gfsanl_4_20120409_1800_000.grb2 \
&DATA_DIR_MODEL;/grib2/gfsanl/gfsanl_4_20120410_0000_000.grb2" \
> &OUTPUT_DIR;/grid_diag/uv_wind_anly_file_list; \
&MET_BIN;/grid_diag</exec>
<env>
<pair><name>FIELD1</name> <value>name = "WIND"; level = "Z10"; n_bins = 200; range = [0,20];</value></pair>
<pair><name>FIELD2</name> <value>name = "WIND"; level = "Z10"; n_bins = 200; range = [0,20];</value></pair>
</env>
<param> \
-data &OUTPUT_DIR;/grid_diag/uv_wind_fcst_file_list \
-data &OUTPUT_DIR;/grid_diag/uv_wind_anly_file_list \
-config &CONFIG_DIR;/GridDiagConfig_FCST_OBS \
-out &OUTPUT_DIR;/grid_diag/grid_diag_WIND_Z10.nc \
-v 3
</param>
<output>
<grid_nc>&OUTPUT_DIR;/grid_diag/grid_diag_WIND_Z10.nc</grid_nc>
</output>
</test>

<test name="grid_diag_KENG_FCST_OBS">
<exec>echo "&DATA_DIR_MODEL;/grib2/gfs/gfs_2012040900_F006.grib2 \
&DATA_DIR_MODEL;/grib2/gfs/gfs_2012040900_F012.grib2 \
&DATA_DIR_MODEL;/grib2/gfs/gfs_2012040900_F018.grib2 \
&DATA_DIR_MODEL;/grib2/gfs/gfs_2012040900_F024.grib2" \
> &OUTPUT_DIR;/grid_diag/keng_fcst_file_list; \
echo "&DATA_DIR_MODEL;/grib2/gfsanl/gfsanl_4_20120409_0600_000.grb2 \
&DATA_DIR_MODEL;/grib2/gfsanl/gfsanl_4_20120409_1200_000.grb2 \
&DATA_DIR_MODEL;/grib2/gfsanl/gfsanl_4_20120409_1800_000.grb2 \
&DATA_DIR_MODEL;/grib2/gfsanl/gfsanl_4_20120410_0000_000.grb2" \
> &OUTPUT_DIR;/grid_diag/keng_anly_file_list; \
&MET_BIN;/grid_diag</exec>
<env>
<pair><name>FIELD1</name> <value>name = "KENG"; level = "Z10"; n_bins = 140; range = [0,140];</value></pair>
<pair><name>FIELD2</name> <value>name = "KENG"; level = "Z10"; n_bins = 140; range = [0,140];</value></pair>
</env>
<param> \
-data &OUTPUT_DIR;/grid_diag/keng_fcst_file_list \
-data &OUTPUT_DIR;/grid_diag/keng_anly_file_list \
-config &CONFIG_DIR;/GridDiagConfig_FCST_OBS \
-out &OUTPUT_DIR;/grid_diag/grid_diag_KENG_Z10.nc \
-v 3
</param>
<output>
<grid_nc>&OUTPUT_DIR;/grid_diag/grid_diag_KENG_Z10.nc</grid_nc>
</output>
</test>

</met_test>
Loading
Loading