# NUOPC coupling update

**URL:** https://forum.access-hive.org.au/t/nuopc-coupling-update/1196
**Category:** Main Program Day 1
**Tags:** talk, access-nri, video, nuopc, 21centuryweather, session-3
**Created:** [31 August 2023 06:37 UTC](https://forum.access-hive.org.au/t/nuopc-coupling-update/1196 "2023-08-31T06:37:24Z")
**Posts on this page:** 9
**Page:** 1

<div class="post-metadata">

### Author: ![kieranricardo](https://avatars.discourse-cdn.com/v4/letter/k/e47c2d/32.png) [@kieranricardo](https://forum.access-hive.org.au/u/kieranricardo)
#### Post date: [31 August 2023 06:37 UTC](https://forum.access-hive.org.au/t/nuopc-coupling-update/1196/1 "2023-08-31T06:37:24Z")

</div>

# Title

NUOPC coupling update

# Speaker

Kieran Ricardo (@kieranricardo) ACCESS-NRI

# Recording

[![](https://us1.discourse-cdn.com/flex020/uploads/access1/original/2X/5/5b009a7549362203568d09a95146f263c0e6c31f.jpeg "Kieran Ricardo ACCESS NRI") ](https://www.youtube.com/watch?v=d07K-ypFefM)

# Location

Weston Theatre (and online). See the [main workshop help topic for zoom details](https://forum.access-hive.org.au/t/workshop-information-everything-you-need-to-know/1172#zoom-details-3).

# Time

2:00-2:12pm

# Abstract

# Feedback

If you want to ask questions of the speaker **you must reply to this topic**. We encourage all speakers and attendees to continue fruitful discussions in replies to this topic for as long as they wish (weeks, years ..). This topic will remain available for as long as this site exists.

**Note:** This topic is part of the [2023 ACCESS Community Workshop](https://forum.access-hive.org.au/c/access-workshop-2023/61) main session

---

<div class="post-metadata">

### Author: ![system](https://us1.discourse-cdn.com/flex020/uploads/access1/original/1X/d8217396f46876e65685c86067b9f8c89d230627.png) [@system](https://forum.access-hive.org.au/u/system)
#### Post date: [5 September 2023 03:55 UTC](https://forum.access-hive.org.au/t/nuopc-coupling-update/1196/2 "2023-09-05T03:55:27Z")

</div>



---

<div class="post-metadata">

### Author: ![bgf](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.access-hive.org.au/bgf/32/455_2.png) [@bgf](https://forum.access-hive.org.au/u/bgf)
#### Post date: [5 September 2023 04:12 UTC](https://forum.access-hive.org.au/t/nuopc-coupling-update/1196/3 "2023-09-05T04:12:22Z")

</div>

@kieranricardo

We have an ice-sheet/ocean coupling framework built in ESMF - called FISOC. The paper that describes that is attached here: [GMD - The Framework For Ice Sheet–Ocean Coupling (FISOC) V1.1](https://gmd.copernicus.org/articles/14/889/2021/)

The github code is here: [GitHub - RupertGladstone/FISOC: Framework for ice sheet ocean coupling](https://github.com/RupertGladstone/FISOC)

Wrappers (caps?) have been written for a couple of different models now for ice sheet models Elmer/ice and icepack and ocean models ROMS and FVCOM - would be good to bring in MOM6 too @Hallberg-NOAA.

How easy would it be to get FISOC into the NUOPC framework do you think? Perhaps a bigger chat needed.

---

<div class="post-metadata">

### Author: ![kieranricardo](https://avatars.discourse-cdn.com/v4/letter/k/e47c2d/32.png) [@kieranricardo](https://forum.access-hive.org.au/u/kieranricardo)
#### Post date: [6 September 2023 02:06 UTC](https://forum.access-hive.org.au/t/nuopc-coupling-update/1196/4 "2023-09-06T02:06:10Z")

</div>

Hi @bgf, thanks for your question! I had a brief look at the FISOC code + paper and from what I’ve seen I think it should be pretty straightforward to port this approach to the NUOPC framework with the CMEPs mediator. There seems to a pretty clear mapping between FISOC and NUOPC:

- `FISOC_ISM_Wrapper_*.f90` corresponds to NUOPC caps (wrappers)

- `FISOC_coupler.f90` corresponds to `esmFldsExchange_*_mod.F90` files (these just specify how different fields are mapped e.g. the ACCESS one we’re working on [here](https://github.com/ACCESS-NRI/CMEPS/blob/access-cmeps0.13.78/mediator/esmFldsExchange_access_mod.F90%60))

- I think most (maybe all?) of the other functionality exists in CMEPS

It sounds like the caps/wrappers you’re interested in already exist, so it might be a matter of just writing the `esmFldsExchange_*_mod.F90`, compiling the nuopc caps with CMEPs, and running. And we have build and run scripts that you should be able to use. Happy to chat further, and help with the implementation if you decide to go ahead.

---

<div class="post-metadata">

### Author: ![Paul.Gregory](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.access-hive.org.au/paul.gregory/32/2566_2.png) [@Paul.Gregory](https://forum.access-hive.org.au/u/Paul.Gregory)
#### Post date: [8 November 2024 03:45 UTC](https://forum.access-hive.org.au/t/nuopc-coupling-update/1196/5 "2024-11-08T03:45:50Z")

</div>

Hi Kieran.

Thanks for presenting to the 21st Century Weather ModSci team last week. I have a couple of questions from your presentation.

Re : Run-time regridding weight calculation? What is the advantage of this? The ESMF regridder can pre-compute weights and store them to disk. So any future regridding operation just loads the weights from disk applies it to the input data. Is run-time regridding faster than reading weights from disk?

Or are you referring to ‘integrated’ regridding as opposed to ‘offline’ regridding? See:

> **[4 Infrastructure: Fields and Grids](https://earthsystemmodeling.org/docs/release/latest/ESMF_refdoc/node5.html#sec:regrid)**
>
> 4 Infrastructure: Fields and Grids

Or - does ‘run-time regridding’ mean the weighting grids are computed at run-time and then stored in memory for the duration of the run?

See this discussion on using of weights files (from a python package which wraps ESMF python api): [Save time by reusing regridder — xESMF 0.7.0 documentation](https://xesmf.readthedocs.io/en/latest/notebooks/Reuse_regridder.html)

Thanks for your presentation.

Do we want to start a new thread for on-going NUOPC work?

---

<div class="post-metadata">

### Author: ![kieranricardo](https://avatars.discourse-cdn.com/v4/letter/k/e47c2d/32.png) [@kieranricardo](https://forum.access-hive.org.au/u/kieranricardo)
#### Post date: [17 November 2024 22:44 UTC](https://forum.access-hive.org.au/t/nuopc-coupling-update/1196/6 "2024-11-17T22:44:49Z")

</div>

Hi @Paul.Gregory, thanks for your question!

Yep we’re using “integrated” re-gridding, which is probably slightly more expensive than “offline” but it has the advantage that’s it’s easier to change resolutions and configurations, and track provenance.

The cost of “integrated” may not be worth this trade-off for high resolution runs, but it should be straightforward to support “offline” re-gridding as well if needed.

---

<div class="post-metadata">

### Author: ![minghangli](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.access-hive.org.au/minghangli/32/1699_2.png) [@minghangli](https://forum.access-hive.org.au/u/minghangli)
#### Post date: [17 November 2024 23:07 UTC](https://forum.access-hive.org.au/t/nuopc-coupling-update/1196/7 "2024-11-17T23:07:03Z")

</div>

It might be computationally expensive for production runs at higher resolutions. For example, generating weights for a 0.25° grid using 288 CPU cores for the mediator can take up to 600 seconds, which represents a significant initialisation cost for high-resolution runs.

---

<div class="post-metadata">

### Author: ![Aidan](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.access-hive.org.au/aidan/32/42_2.png) [@Aidan](https://forum.access-hive.org.au/u/Aidan)
#### Post date: [17 November 2024 23:24 UTC](https://forum.access-hive.org.au/t/nuopc-coupling-update/1196/8 "2024-11-17T23:24:44Z")

</div>

Can the regridding weights files be cached? So it’s a one-time only cost?

---

<div class="post-metadata">

### Author: ![minghangli](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.access-hive.org.au/minghangli/32/1699_2.png) [@minghangli](https://forum.access-hive.org.au/u/minghangli)
#### Post date: [17 November 2024 23:33 UTC](https://forum.access-hive.org.au/t/nuopc-coupling-update/1196/9 "2024-11-17T23:33:29Z")

</div>

Yes, they can be saved and reused in future runs, and the cost of generating the weights is incurred only once.
