Parent Directory | Revision Log | Revision Graph
o first check-in for the "branch-genmake2" merge o verification suite as run on shelley (gcc 3.2.2): Wed Oct 8 23:42:29 EDT 2003 T S U V G D M c m s m s m s m s E p a R g m m e . m m e . m m e . m m e . N n k u 2 i a a d i a a d i a a d i a a d 2 d e n d n x n . n x n . n x n . n x n . OPTFILE=NONE Y Y Y Y 13 16 16 16 0 16 16 16 16 16 16 16 16 13 12 0 0 pass adjustment.128x64x1 Y Y Y Y 16 16 16 16 0 16 16 16 16 16 16 0 0 16 16 0 0 pass adjustment.cs-32x32x1 Y Y Y Y 16 16 16 16 0 16 16 16 16 16 16 22 0 16 16 22 0 pass adjust_nlfs.cs-32x32x1 Y Y Y Y -- 13 13 16 16 13 13 13 13 16 16 16 16 16 16 16 16 N/O advect_cs Y Y Y Y -- 22 16 16 16 16 16 16 13 16 16 16 16 16 16 16 16 N/O advect_xy Y Y Y Y -- 13 16 13 16 16 16 16 16 16 16 22 16 16 16 16 16 N/O advect_xz Y Y Y Y 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 pass aim.5l_cs Y Y Y Y 14 16 16 16 16 16 16 16 16 13 16 16 16 16 16 13 16 pass aim.5l_Equatorial_Channel Y Y Y Y 16 16 16 16 16 16 16 16 16 16 16 13 16 16 13 13 16 pass aim.5l_LatLon Y Y Y Y 13 16 16 16 16 16 16 16 16 16 13 12 13 13 16 13 16 pass exp0 Y Y Y Y 14 16 16 16 16 16 16 16 22 16 16 16 13 16 16 22 16 pass exp1 Y Y Y Y 13 13 16 13 16 16 16 16 16 13 13 16 16 13 13 13 13 pass exp2 Y Y Y Y 16 16 16 16 16 16 16 16 22 16 16 16 16 16 16 16 16 pass exp4 Y Y Y Y 16 16 16 16 16 16 16 16 16 16 16 22 16 16 16 22 16 pass exp5 Y Y Y Y 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 pass front_relax Y Y Y Y 14 16 16 13 13 16 16 13 13 16 13 13 16 12 13 13 16 pass global_ocean.90x40x15 Y Y Y Y 10 16 16 13 13 16 13 16 16 13 13 13 13 16 16 13 16 FAIL global_ocean.cs32x15 Y Y Y Y 6 11 12 13 13 12 13 16 13 9 9 9 9 10 9 9 11 FAIL global_ocean_pressure Y Y Y Y 14 16 16 13 16 16 16 13 13 13 13 13 16 12 16 13 16 pass global_with_exf Y Y Y Y 14 16 16 16 16 16 16 16 16 11 13 22 13 16 16 9 16 pass hs94.128x64x5 Y Y Y Y 13 16 16 16 16 16 16 16 16 11 16 16 16 13 16 22 13 pass hs94.1x64x5 Y Y Y Y 14 16 16 16 16 16 16 16 16 13 16 13 13 16 16 22 13 pass hs94.cs-32x32x5 Y Y Y Y 10 10 16 13 13 16 16 16 22 16 13 13 13 13 13 22 13 FAIL ideal_2D_oce Y Y Y Y 8 16 16 16 16 16 16 16 16 13 13 8 16 16 16 16 16 FAIL internal_wave Y Y Y Y 14 16 16 16 16 16 16 16 16 13 13 22 13 13 13 22 16 pass inverted_barometer Y Y Y Y 12 16 16 16 16 16 16 16 16 16 13 12 13 13 13 13 13 FAIL lab_sea Y Y Y Y 11 16 16 16 16 16 16 16 13 13 13 12 13 16 13 12 13 FAIL natl_box Y Y Y Y 16 16 16 16 16 16 16 16 22 16 16 16 16 16 16 16 16 pass plume_on_slope Y Y Y Y 13 16 16 16 16 13 16 16 16 16 16 16 16 13 16 16 16 pass solid-body.cs-32x32x1
1 | C $Header: /u/u3/gcmpack/MITgcm/pkg/mom_fluxform/mom_v_coriolis.F,v 1.7.8.1 2003/10/02 18:30:08 adcroft Exp $ |
2 | C $Name: $ |
3 | |
4 | #include "MOM_FLUXFORM_OPTIONS.h" |
5 | |
6 | CBOP |
7 | C !ROUTINE: MOM_V_CORIOLIS |
8 | |
9 | C !INTERFACE: ========================================================== |
10 | SUBROUTINE MOM_V_CORIOLIS( |
11 | I bi,bj,k,uFld, |
12 | U vCoriolisTerm, |
13 | I myThid) |
14 | |
15 | C !DESCRIPTION: |
16 | C Calculates the horizontal Coriolis term in the meridional equation: |
17 | C \begin{equation*} |
18 | C -\overline{f}^j \overline{u}^{ij} |
19 | C \end{equation*} |
20 | |
21 | C !USES: =============================================================== |
22 | IMPLICIT NONE |
23 | #include "SIZE.h" |
24 | #include "DYNVARS.h" |
25 | #include "EEPARAMS.h" |
26 | #include "PARAMS.h" |
27 | #include "GRID.h" |
28 | #include "SURFACE.h" |
29 | |
30 | C !INPUT PARAMETERS: =================================================== |
31 | C bi,bj :: tile indices |
32 | C k :: vertical level |
33 | C uFld :: zonal flow |
34 | C myThid :: thread number |
35 | INTEGER bi,bj,K |
36 | _RL uFld(1-OLx:sNx+OLx,1-OLy:sNy+OLy) |
37 | INTEGER myThid |
38 | |
39 | C !OUTPUT PARAMETERS: ================================================== |
40 | C vCoriolisTerm :: Coriolis term |
41 | _RL vCoriolisTerm(1-OLx:sNx+OLx,1-OLy:sNy+OLy) |
42 | |
43 | C !LOCAL VARIABLES: ==================================================== |
44 | C i,j :: loop indices |
45 | INTEGER I,J |
46 | _RL one |
47 | PARAMETER(one=1.d0) |
48 | CEOP |
49 | |
50 | IF (useEnergyConservingCoriolis) THEN |
51 | C Energy conserving discretization |
52 | DO j=1-Oly+1,sNy+Oly |
53 | DO i=1-Olx,sNx+Olx-1 |
54 | vCoriolisTerm(i,j) = |
55 | & -0.5*( _fCori(i, j ,bi,bj) |
56 | & *0.5*( uFld( i , j )+uFld(i+1, j ) ) |
57 | & + _fCori(i,j-1,bi,bj) |
58 | & *0.5*( uFld( i ,j-1)+uFld(i+1,j-1) ) ) |
59 | ENDDO |
60 | ENDDO |
61 | ELSE |
62 | C Original discretization |
63 | DO j=1-Oly+1,sNy+Oly |
64 | DO i=1-Olx,sNx+Olx-1 |
65 | vCoriolisTerm(i,j) = |
66 | & -0.5*(_fCori(i, j ,bi,bj)+_fCori(i,j-1,bi,bj)) |
67 | & *0.25*( uFld(i, j )+uFld(i+1, j ) |
68 | & +uFld(i,j-1)+uFld(i+1,j-1) |
69 | & ) |
70 | ENDDO |
71 | ENDDO |
72 | ENDIF |
73 | |
74 | IF (useJamartWetPoints) THEN |
75 | C Scale term so that only "wet" points are used |
76 | C Due to: Jamart and Ozer, 1986, JGR 91 (C9), 10,621-10,631 |
77 | C "Numerical Boundary Layers and Spurious Residual Flows" |
78 | DO j=1-Oly+1,sNy+Oly |
79 | DO i=1-Olx,sNx+Olx-1 |
80 | vCoriolisTerm(i,j) = vCoriolisTerm(i,j) |
81 | & *4.d0/max(one, maskW( i , j ,k,bi,bj)+maskW(i+1, j ,k,bi,bj) |
82 | & +maskW( i ,j-1,k,bi,bj)+maskW(i+1,j-1,k,bi,bj) ) |
83 | ENDDO |
84 | ENDDO |
85 | ENDIF |
86 | |
87 | RETURN |
88 | END |
ViewVC Help | |
Powered by ViewVC 1.1.22 |