|
| 1 | +.. _recipes_mjo_hovmoeller: |
| 2 | + |
| 3 | +Madden-Julian Oscillation precipitation Hovmöller diagnostic |
| 4 | +============================================================== |
| 5 | + |
| 6 | +Overview |
| 7 | +-------- |
| 8 | + |
| 9 | +This recipe computes lag-regression Hovmöller diagrams of the |
| 10 | +Madden-Julian Oscillation (MJO). For each dataset, daily tropical |
| 11 | +precipitation is averaged over a latitude band and its day-of-year |
| 12 | +climatology is removed. The resulting anomalies are Lanczos band-pass |
| 13 | +filtered to the 20-100 day MJO period range. A reference index is built |
| 14 | +by averaging the filtered field over a reference longitude sector, and |
| 15 | +the full filtered field is then regressed against this index at a range |
| 16 | +of lags. |
| 17 | + |
| 18 | +The result is a longitude-lag diagram: an eastward-propagating diagonal |
| 19 | +band is the signature of MJO convection. |
| 20 | + |
| 21 | + |
| 22 | +Available recipes and diagnostics |
| 23 | +---------------------------------- |
| 24 | + |
| 25 | +Recipes are stored in recipes/ |
| 26 | + |
| 27 | +* recipe_mjo_hovmoeller.yml |
| 28 | + |
| 29 | +Diagnostics are stored in diag_scripts/mjo/ |
| 30 | + |
| 31 | +* mjo_hovmoeller.py: compute the lag regression and plot the Hovmöller |
| 32 | + diagram. |
| 33 | + |
| 34 | + |
| 35 | +User settings in recipe |
| 36 | +------------------------ |
| 37 | + |
| 38 | +#. Script mjo_hovmoeller.py |
| 39 | + |
| 40 | + *Required settings for script* |
| 41 | + |
| 42 | + * ``reference_longitudes``: longitude sector ``[lon0, lon1]`` (in |
| 43 | + degrees East) used to build the MJO reference index that the |
| 44 | + filtered field is regressed against. |
| 45 | + * ``low_period``: lower period cutoff (in days) of the Lanczos |
| 46 | + band-pass filter. |
| 47 | + * ``high_period``: upper period cutoff (in days) of the Lanczos |
| 48 | + band-pass filter. |
| 49 | + * ``lanczos_weights``: number of weights of the Lanczos band-pass |
| 50 | + filter. Must be an odd integer greater than 1. |
| 51 | + * ``max_lag``: maximum lag (in days, in both directions) computed by |
| 52 | + the lag regression. |
| 53 | + |
| 54 | + *Optional settings for script* |
| 55 | + |
| 56 | + * ``longitude_limits``: longitude axis limits of the Hovmöller plot |
| 57 | + (default: ``[0.0, 360.0]``). |
| 58 | + * ``contour_levels``: number of contour levels in the Hovmöller plot. |
| 59 | + Must be at least 3 (default: ``21``). |
| 60 | + * ``colormap``: matplotlib colormap used for the Hovmöller contour |
| 61 | + plot (default: ``RdYlBu``). |
| 62 | + * ``plot_title``: title of the Hovmöller plot (default: ``MJO |
| 63 | + Hovmöller diagram``). |
| 64 | + * ``colorbar_label``: label for the figure's colorbar (default: |
| 65 | + ``Precipitation regression coefficient``). |
| 66 | + |
| 67 | + *Required settings for variables* |
| 68 | + |
| 69 | + * none beyond the standard ``short_name``, ``mip``, ``preprocessor`` |
| 70 | + and ``timerange``. |
| 71 | + |
| 72 | + *Optional settings for variables* |
| 73 | + |
| 74 | + * none |
| 75 | + |
| 76 | + *Required settings for preprocessor* |
| 77 | + |
| 78 | + * ``extract_region``: restrict the data to the tropical latitude |
| 79 | + band used for the diagnostic. |
| 80 | + * ``regrid``: regrid all datasets onto a common regular grid. |
| 81 | + * ``meridional_statistics``: average over the extracted latitude |
| 82 | + band (``operator: mean``). |
| 83 | + * ``daily_statistics``: reduce the data to daily means |
| 84 | + (``operator: mean``). |
| 85 | + * ``anomalies``: remove the day-of-year climatology |
| 86 | + (``period: day``). |
| 87 | + * ``convert_units``: convert precipitation to ``kg m-2 day-1``. |
| 88 | + |
| 89 | + *Optional settings for preprocessor* |
| 90 | + |
| 91 | + * none |
| 92 | + |
| 93 | + *Color tables* |
| 94 | + |
| 95 | + * none |
| 96 | + |
| 97 | + |
| 98 | +Variables |
| 99 | +--------- |
| 100 | + |
| 101 | +* pr (atmos, daily mean, longitude latitude time) |
| 102 | + |
| 103 | + |
| 104 | +Observations and reformat scripts |
| 105 | +---------------------------------- |
| 106 | + |
| 107 | +*Note: ERA5 is read directly through ESMValCore's native6 support; no |
| 108 | +separate reformat script needs to be run beforehand.* |
| 109 | + |
| 110 | +* ERA5 (native6 project, tier 3, ``frequency: 1hr``) |
| 111 | + |
| 112 | + |
| 113 | +References |
| 114 | +---------- |
| 115 | + |
| 116 | +* Hannah, W. M., Jones, C. R., Hillman, B. R., Norman, M. R., Bader, D. C., Taylor, M. A., et al. (2020). |
| 117 | + Initial results from the super-parameterized E3SM. Journal of Advances in Modeling Earth Systems. 12, |
| 118 | + e2019MS001863. https://doi.org/10.1029/2019MS001863 |
| 119 | + |
| 120 | + |
| 121 | +Example plots |
| 122 | +------------- |
| 123 | + |
| 124 | +.. _fig_mjo_hovmoeller_1: |
| 125 | +.. figure:: /recipes/figures/mjo/era5_mjo_hovmoeller.png |
| 126 | + :align: center |
| 127 | + |
| 128 | + Lag regression of 20-100 day filtered ERA5 precipitation against a |
| 129 | + precipitation index averaged over 80-100E, 1979-1983. Positive |
| 130 | + longitude-lag slope through the reference sector shows the |
| 131 | + eastward-propagating MJO precipitation signal. |
0 commit comments