Model Coupling IRENE

From WikiROMS
Jump to navigationJump to search
Test Case: Hurricane Irene

Introduction

Hurricane Irene was a the first hurricane and major hurricane of the 2011 Atlantic hurricane season. This coupled simulation is only run for 42 hours as it approaches the U.S. east coast on August 27, 2011. The WRF and ROMS grids are incongruent so the DATA model provides the SST values to WRF at locations not covered by the the ROMS grid. This test case uses ESMF/NUOPC coupling to create a DATA-WRF-ROMS coupling application.

Grid Setup and Melding

The WRF and ROMS grids are incongruent. That is, the WRF grid is larger than the ROMS grid. Therefore, the DATA model provides SST values at the WRF grid locations not covered by the ROMS grid. Thus, both DATA and ROMS SST values are exported to WRF and must be melded to create a smooth transition at the ROMS domain boundaries. The melding is computed as:



where are the weight coefficients that guarantee a smooth transition between the ROMS and DATA values, as illustrated below.


melding weights IRENE.png


These wights are computed and plotted using the script coupling/wrf_weights.m from the ROMS Matlab repository.

Run Sequence

The ESMF RunSequence configuration file sets how the ESM components are connected and coupled. All the components interact with the same or different coupling time step. Usually, the connector from ROMS to ATM is explicit, whereas the connector from ATM to ROMS is semi-implicit. Often, the timestep of the atmosphere kernel is smaller than that for the ocean. Therefore, it is advantageous for the ATM model to export time-averaged fields over the coupling interval, which is the same as the ROMS timestep. It is semi-implicit because ROMS right-hand-side terms are forced with n+1/2 ATM fields because of the time-averaging. The following diagram shows the explicit and semi-implicit coupling for a DATA-ATM-ROMS system:

DATA-ATM-ROMS Semi-Implicit Avg Coupling.png
Semi-Implicit, ATM Average
# Hurricane Irene Application (single time loop)

runSeq::
@* # timeStep = wildcard (*)
DATA -> WRF # DATA to WRF connector bw1.png
DATA
ROMS -> WRF # ROMS to WRF connector bw2.png
WRF bw3.png
WRF -> ROMS # WRF to ROMS connector bw4.png
ROMS bw5.png
@
::