Home Contact Us Site Map  
 
       
    next up previous contents
Next: 6.19 RW Basic binary Up: 6.18 exch2: Extended Cubed Previous: 6.18.5 Key Variables   Contents

6.18.6 Key Routines

Most of the subroutines particular to exch2 handle the exchanges themselves and are of the same format as those described in 4.3.3.3 Cube sphere communication. Like the original routines, they are written as templates which the local Makefile converts from RX into RL and RS forms.

The interfaces with the core model subroutines are EXCH_UV_XY_RX, EXCH_UV_XYZ_RX and EXCH_XY_RX. They override the standard exchange routines when genmake2 is run with exch2 option. They in turn call the local exch2 subroutines EXCH2_UV_XY_RX and EXCH2_UV_XYZ_RX for two and three-dimensional vector quantities, and EXCH2_XY_RX and EXCH2_XYZ_RX for two and three-dimensional scalar quantities. These subroutines set the dimensions of the area to be exchanged, call EXCH2_RX1_CUBE for scalars and EXCH2_RX2_CUBE for vectors, and then handle the singularities at the cube corners.

The separate scalar and vector forms of EXCH2_RX1_CUBE and EXCH2_RX2_CUBE reflect that the vector-handling subroutine needs to pass both the $ u$ and $ v$ components of the physical vectors. This swapping arises from the topological folding discussed above, where the $ x$ and $ y$ axes get swapped in some cases, and is not an issue with the scalar case. These subroutines call EXCH2_SEND_RX1 and EXCH2_SEND_RX2, which do most of the work using the variables discussed above.


next up previous contents
Next: 6.19 RW Basic binary Up: 6.18 exch2: Extended Cubed Previous: 6.18.5 Key Variables   Contents
mitgcm-support@dev.mitgcm.org
Copyright © 2002 Massachusetts Institute of Technology