Field contraction diagnostics
In EAMxx, we can automatically calculate field reductions across the horizontal columns and across the model vertical levels. We call these horizontal and vertical reductions.
Horizontal reduction
We currently offer only one horizontal reduction \(C\), and it is defined as
where \(F_\text{i...k}\) is the field at column \(i\) and level \(k\), and \(w_{i}\) is the weight at column \(i\). We note that the field \(F\) can have other dimensions (\(\dots\)). The weight \(w\) is defined as the area fraction in column \(i\), that is, the area in column \(i\) divided by the total area in all columns.
To select the horizontal reduction, you only need to suffix
a field name X
with _horiz_avg
in the output requests.
Reduction | Weight | Description |
---|---|---|
X_horiz_avg |
Area fraction | Average across all columns |
Vertical reduction
We currently offer three vertical reductions \(C\), defined as
where \(F_{\dots k}\) is the field at level \(k\), and \(w_{k}\) is the weight at level \(k\).
To select the vertical reduction, you only need to suffix
a field name X
with _vert_(avg|sum)_(dp|dz)_weighted
or
_vert_(avg|sum)
in the output yaml files.
Reduction | Weight | Description |
---|---|---|
X_vert_avg_dp_weighted |
\(\Delta p_{k}\) | Average across all levels, weighted by \(\Delta p_{k}\) |
X_vert_sum_dp_weighted |
\(\Delta p_{k}\) | Sum across all levels, weighted by \(\Delta p_{k}\) |
X_vert_avg_dz_weighted |
\(\Delta z_{k}\) | Average across all levels, weighted by \(\Delta z_{k}\) |
X_vert_sum_dz_weighted |
\(\Delta z_{k}\) | Sum across all levels, weighted by \(\Delta z_{k}\) |
X_vert_avg |
1 | Average across all levels |
X_vert_sum |
1 | Sum across all levels |
The supported weighting options for now are
pseudo_density
field in EAMxx, \(\Delta p_{k}\), in units of Pa;dz
field in EAMxx, \(\Delta z_{k}\), in units of m;- and no weighting, which is equivalent to using a weight of 1.
In the case of pseudo_density
, the weighting is scaled by 1/g,
where g is the gravitational acceleration, in units of m/s\(^2\).
Example
%YAML 1.1
---
filename_prefix: monthly.outputs
averaging_type: average
max_snapshots_per_file: 1
fields:
physics_pg2:
field_names:
# in this example, we use T_mid in units of K
- T_mid_horiz_avg # K
- T_mid_vert_avg_dp_weighted # K
- T_mid_vert_sum_dp_weighted # K * Pa * s / (m * m)
- T_mid_vert_avg_dz_weighted # K
- T_mid_vert_sum_dz_weighted # K * m
- T_mid_vert_avg # K
- T_mid_vert_sum # K
output_control:
frequency: 1
frequency_units: nmonths