# Easy forcing perturbation experiments in ACCESS-OM2 + Tutorial

**URL:** https://forum.access-hive.org.au/t/easy-forcing-perturbation-experiments-in-access-om2-tutorial/4356
**Category:** COSIMA
**Tags:** access-om2, perturbation
**Created:** [27 March 2025 02:42 UTC](https://forum.access-hive.org.au/t/easy-forcing-perturbation-experiments-in-access-om2-tutorial/4356 "2025-03-27T02:42:36Z")
**Posts on this page:** 4
**Page:** 1

<div class="post-metadata">

### Author: ![rmholmes](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.access-hive.org.au/rmholmes/32/117_2.png) [@rmholmes](https://forum.access-hive.org.au/u/rmholmes)
#### Post date: [27 March 2025 02:42 UTC](https://forum.access-hive.org.au/t/easy-forcing-perturbation-experiments-in-access-om2-tutorial/4356/1 "2025-03-27T02:42:36Z")

</div>

I’m not sure how many people are aware that there is a system in ACCESS-OM2 (actually in YATM) to easily setup forcing perturbation experiments where the atmospheric forcing fields are modified. If you like running experiments like this you really should be!

The system was written by Nic Hannah, Andrew Kiss and others and is described here: [Tutorials · COSIMA/access-om2 Wiki · GitHub](https://github.com/COSIMA/access-om2/wiki/Tutorials#Scaling-the-forcing-fields)

It’s quite flexible - a range of additive or multiplicative perturbations to any of the forcing fields that are spatially or temporally dependent/independent (or combinations of these) can be done, without the need to create an entire new copy of the JRA55 (or ERA5, or whatever you’re using) forcing files.

I’ve written up a very brief tutorial on how to do a simple perturbation experiment for a student here: [cosima-scripts/ACCESS-OM2\_forcing\_perturbation\_tutorial.ipynb at master · rmholmes/cosima-scripts · GitHub](https://github.com/rmholmes/cosima-scripts/blob/master/ACCESS-OM2_forcing_perturbation_tutorial.ipynb) . Note that it was written in a rush since I’m off on leave for a while tomorrow. If someone has the inclination, it would be great to improve on it, expand it to some more complicated cases, make it consistent with current NRI best practice and put it somewhere more accessible.

@cbull maybe this is another candidate for your training series?

---

<div class="post-metadata">

### Author: ![aekiss](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.access-hive.org.au/aekiss/32/46_2.png) [@aekiss](https://forum.access-hive.org.au/u/aekiss)
#### Post date: [27 March 2025 04:07 UTC](https://forum.access-hive.org.au/t/easy-forcing-perturbation-experiments-in-access-om2-tutorial/4356/2 "2025-03-27T04:07:53Z")

</div>

Great, thanks @rmholmes, I’ve added a link to your tutorial on the wiki [Tutorials · COSIMA/access-om2 Wiki · GitHub](https://github.com/COSIMA/access-om2/wiki/Tutorials#Scaling-the-forcing-fields)

---

<div class="post-metadata">

### Author: ![rmholmes](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.access-hive.org.au/rmholmes/32/117_2.png) [@rmholmes](https://forum.access-hive.org.au/u/rmholmes)
#### Post date: [28 May 2026 05:11 UTC](https://forum.access-hive.org.au/t/easy-forcing-perturbation-experiments-in-access-om2-tutorial/4356/3 "2026-05-28T05:11:51Z")

</div>

Writing this down before I forget:

- We discovered a “bug” where in ERA5 simulations with “separable” forcing perturbations the forcing perturbations are not logged in the YATM log file `atmosphere/log/matmxx.pe00000.log`. I don’t know why, but the forcing anomalies are still applied.
- When running forcing perturbations with ERA5 forced simulations there are a few additional issues with netcdf packing, fill values and units that could cause you problems if you’re unaware. See [this tutorial](https://github.com/rmholmes/cosima-scripts/blob/master/ACCESS-OM2_forcing_perturbation_tutorial_ERA5.ipynb) for a minimally-documented example of how to do this kind of thing in ERA5 (as opposed to with JRA55 in the [more documented tutorial](https://github.com/rmholmes/cosima-scripts/blob/master/ACCESS-OM2_forcing_perturbation_tutorial.ipynb)).

---

<div class="post-metadata">

### Author: ![aekiss](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.access-hive.org.au/aekiss/32/46_2.png) [@aekiss](https://forum.access-hive.org.au/u/aekiss)
#### Post date: [29 May 2026 06:07 UTC](https://forum.access-hive.org.au/t/easy-forcing-perturbation-experiments-in-access-om2-tutorial/4356/4 "2026-05-29T06:07:23Z")

</div>

Also worth mentioning that there was a training presentation on this last August - see [these slides](https://forum.access-hive.org.au/uploads/short-url/pucjSjVlzIZjSor4dDJQN5OuOQ7.pdf) and [video](https://www.youtube.com/watch?v=1a87GbztSUo).
