• Keine Ergebnisse gefunden

In this section, the general case will be considered where the atmosphere is assumed to be a GCM with domain and resolution diering from that of MOM 2 and two-way coupling between MOM 2 and the atmosphere model will be allowed. Option coupled congures MOM 2 for this general case and the test case prototype is described in Sections 19.6 and 19.7 as CASE=3.

A owchart of driver4 is given in Figure 10.2. It begins by calling subroutine setocn5 to perform initializations for mom6. Included in the list are such things as initializing variables, reading namelists to over-ride defaults, setting up the grid, topography, initial conditions, region masks, etc. In short, everything that needs to be done only once per model execution. Following this, a call is made to subroutine setatm7 which completes whatever setup is required by atmos8. At this point, the integration is ready to begin. Integration time is divided into a number of equal length time segments9 which determine the coupling period. In practice, this interval should always be chosen short enough to adequately resolve time scales of coupled interac-tion. Typically this value would be one day10. Within the segment loop, atmos and mom are

1Wind, rain, heatux, etc.

2Primarily SST.

3General circulation model.

4Contained within le driver.F. This is the main program for MOM 2.

5Contained within le setocn.F.

6Contained within le mom.F. This is the subroutine that does the time integration for the ocean model.

7Contained within le setatm.F in the MOM 2/SBC directories.

8Contained within le atmos.F in the SBC directories. This is the subroutine that does the time integration for the atmosphere model.

9The length of one time segment should be divisible by the length on one ocean time step to allow an integral number of calls to subroutine mom. The same holds true for the atmosphere time step.

10If the diurnal cycle is included, the coupling period needs to be reduced to allow adequately resolution in

95

for the number of time steps per ocean segment. Products of each atmosphere segment include surface boundary conditions11 for the ocean averaged over that segment. These are held xed and applied to mom while it integrates over the same segment. Products of integrating mom include surface boundary conditions for the atmosphere which are also averaged over this seg-ment. Subsequently, they are held xed and applied to atmos on the following segseg-ment. This process is represented schematically as a function of time in Figure 10.1 and continues until all time segments are completed. Using asynchronous time segments12 is possible with a small code modication but this is left to the researcher.

SETOCN

A T M O S

M O M GASBC GOSBC

A T M O S

M O M GASBC GOSBC

A T M O S

M O M GASBC GOSBC

time segment 1 time segment 2 time segment 3

Time

Figure 10.1: Schematic of two way coupling between an atmosphere model (ATMOS) and an ocean model (MOM) showing time segments.

In MOM 2 and in the descriptions that follow, index j refers to any variable dimensioned by the number of rows in the memory window and index jrow refers to any variable dimensioned by the total number of latitude rows. They are related by an oset jrow = j + jo which indicates how far the memory window has moved northward. Refer to Section 5.2 and also 3.3.2 with Figure 3.4 for a more complete description.

10.1.1 GASBC

Getting surface boundary conditions for the atmosphere model dened on the atmosphere grid is the purpose of subroutine gasbc13 which is an acronym for get atmosphere surface boundary conditions. All of the surface boundary conditions are two dimensional elds dened in longitude and latitude at model grid points. In the ocean, all quantities which are to be used as surface boundary conditions for the atmosphere are dened on the

T

ijrow grid14in array

sbcocn

ijrowm time.

11The rst set of surface boundary conditions for the atmosphere are products ofsetocn.

12Where, for example, an ocean segment is much longer than an atmosphere segment. This assumes the coupled system is linear with one equilibrium. Exercise caution if contemplating this!

13Contained in le gasbc.F.

14At grid locations given byxtiandytjrow.

end of each time segment. Basically what needs to be done in gasbc is to interpolate the time averaged

sbcocn

ijrowm elds to

sbcatm

i0j0m which is an array of the same surface boundary conditions except dened on the atmosphere boundary condition grid15Ai0j0. One of the duties of setatm is to dene Ai0j0 as the atmospheric boundary condition grid which includes extra boundary points along the borders to facilitate these interpolations.

SST outside Ocean domain

There is a complication if the ocean is of limited extent: SST must be prescribed outside the ocean domain as a surface boundary condition for the atmosphere on the Ai0j0 grid. To accommodate this, the ocean domain

T

ijrow must be known in terms of Ai0j0 and a buer or blending zone must be established. Within this zone, SST from mom is blended with the prescribed SST outside the ocean domain as indicated in Figure 10.3. As a simplication, SST is prescribed outside the domain of mom as a constant which is obviously unrealistic and should be prescribed by the researcher as a function of space and time appropriately along with the width of the blending zone. SST within the blending zone is a linear interpolation between the two regions.

Interpolations to atmos grid

Each surface boundary condition is interpolated one at a time using essentially the following steps:

For limited ocean domains, prescribe SST in

sbcatm

i0j0 outside the mom domain as described above. When ocean and atmosphere domains match, this is not necessary.

Extrapolate

sbcocn

ijrowm into land areas on the mom grid. This is done by solving

r

2(

SST

ijrow) = 0 over land cells using ocean

SST

ijrowas boundary conditions16. The idea is to get reasonable

SST

ijrowin land adjacent to coastlines but not necessarily to produce accurate

SST

ijrowin the middle of continents. Where land and ocean areas on the ocean and atmosphere grids are mismatched, this extrapolation will ameliorate the sensing of erroneous

SST

ijrowby the atmosphere. Such situations are common when coupling spectral atmospheres to MOM 2 which has an Arakawa B-grid.

Interpolate

sbcocn

ijrowm to

sbcatm

i0j0m. The ocean resolution is typically higher than that of the atmosphere because the Rossby radius is larger in the atmosphere. To prevent aliasing, the interpolation is an area average of

sbcocn

ijrowmfor those

ijrow

cells which fall within each Ai0j0 grid cell17. The interpolation is carried out using subroutine ftc18 which can easily be replaced by subroutine ctf19 (or something else) if ocean resolution is less than atmosphere resolution.

Set cyclic conditions on

sbcatm

i0j0m and convert to units expected by the atmosphere.

15Grid locations given byabcgxi0and abcgyj0.

16This method is arbitrary. However, when solving this equation iteratively, it is important not to zero out SST from previous solutions over land areas. Their purpose is to act as a good initial guess to limit the iterations needed for subsequent solutions.

17Partial ocean cells are accounted for to conserve the interpolated value.

18Acronym for ne to coarse resolution. It is an interpolation utility in moduleutil.

19Acronym for coarse to ne resolution. It is an interpolation utility in moduleutil.

appropriate ones if desired.

Caveat

In the process of constructing

sbcatm

i0j0m no attempt has been made at removing small scale spatial features from the grid which could potentially be a source of noise for the atmosphere model.

10.1.2 GOSBC

Getting surface boundary conditions for the ocean model dened on the grid of mom is the purpose of subroutine gosbc20which is an acronym for get ocean surface boundary conditions . This is the counterpart of gasbc. All of the surface boundary conditions are two dimensional elds as described in Section 10.1.1. In the atmosphere, all quantities which are to be used as surface boundary conditions for MOM 2 are dened on the Ai0j0 grid in array

sbcatm

i0j0m

where subscript

m

again refers to the ordering described in Section 10.3. Typically, they are quantities like windstress components, heatux and precipitation minus evaporation. These must be accumulated in

sbcatm

i0j0m within the atmosphere model and averaged at the end of each time segment. Basically what needs to be done in gosbc is to interpolate the time averaged

sbcatm

i0j0m to

sbcocn

ijrowm which is dened on the ocean grid.

Interpolations to ocean grid

Unlike in Section 10.1.1, there are no complications since the ocean domain is assumed to be contained within the atmosphere domain as shown in Figure 10.4. Each surface boundary condition is interpolated one at a time with the essential steps being:

Set cyclic conditions of

sbcatm

i0j0m. This assumes a global atmosphere domain.

Extrapolate

sbcatm

i0j0m into land areas on the atmosphere grid. This is done as in Section 10.1.1 by solving r2

i0j0 = 0 over land areas using values of

i0j0 over non-land areas as boundaries where

i0j0 represents windstress components, heatux, etc21. The idea, as on the ocean grid, is to get reasonable

i0j0 adjacent to coastlines while not trying to produce accurate

i0j0 in the middle of continents. Where land and ocean areas on the ocean and atmosphere grids are mismatched, this will ameliorate the sensing of erroneous

i0j0 by the ocean.

Interpolate

sbcatm

i0j0m to

sbcocn

ijrowm. Since ocean resolution is typically higher than that of the atmosphere due to the dierence in Rossby radius scales, the interpolation is linear. The interpolation is carried out using subroutine ctf from le util.F. Note that linear interpolation does not exactly conserve the quantity being interpolated. However, linear interpolation has been used without causing noticable drift in coupled integrations (without ux correction) of up to 20 years at GFDL.

For integrations simulating thousands of years, linear interpolation may not be good enough. To conserve uxes exactly, one possibility (although drastic) is to design the

20Contained within le gosbc.F.

21This method is arbitrary. However, when solving this equation iteratively, it is important not to zero out from previous solutions over land areas. Their purpose is to act as a good initial guess to limit the iterations needed for subsequent solutions.

conservation, the value in each ocean cell is just an integral of the atmospheric quantity over the area of the ocean cell. It would be a matter of writing a subroutine to do it and substituting this subroutine for the call to ctf.

Set cyclic conditions on

sbcocn

ijrowmand convert to units expected by the ocean. MOM 2 expects units of cgs.

Compute global mean of

sbcocn

ijrowm

Caveat

In the process of constructing

sbcocn

ijrowmno attempt has been made at removing small scale spatial features from the grid which could potentially be a source of noise for the ocean model.