/[MITgcm]/MITgcm/model/src/correction_step.F
ViewVC logotype

Annotation of /MITgcm/model/src/correction_step.F

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.14 - (hide annotations) (download)
Sun Feb 4 14:38:46 2001 UTC (23 years, 4 months ago) by cnh
Branch: MAIN
CVS Tags: checkpoint35
Changes since 1.13: +2 -1 lines
Made sure each .F and .h file had
the CVS keywords Header and Name at its start.
Most had header but very few currently have Name, so
lots of changes!

1 cnh 1.14 C $Header: /u/gcmpack/models/MITgcmUV/model/src/correction_step.F,v 1.13 2001/02/02 21:04:48 adcroft Exp $
2     C $Name: $
3 adcroft 1.1
4 cnh 1.10 #include "CPP_OPTIONS.h"
5 adcroft 1.1
6     C /==========================================================\
7     C | S/R CORRECTION_STEP |
8     C | o Corrects the horizontal flow fields with the surface |
9 cnh 1.7 C | slope. |
10 adcroft 1.1 C \==========================================================/
11     SUBROUTINE CORRECTION_STEP( bi, bj, iMin, iMax, jMin, jMax,
12 cnh 1.8 I K, etaSurfX, etaSurfY,
13 adcroft 1.6 I myCurrentTime, myThid )
14 cnh 1.7 IMPLICIT NONE
15 heimbach 1.12
16     C == Global variables ==
17 adcroft 1.1 #include "SIZE.h"
18     #include "DYNVARS.h"
19 cnh 1.3 #include "EEPARAMS.h"
20 adcroft 1.1 #include "PARAMS.h"
21     #include "GRID.h"
22     #include "CG2D.h"
23 adcroft 1.11 #ifdef ALLOW_NONHYDROSTATIC
24     #include "CG3D.h"
25     #endif
26 adcroft 1.1 C == Routine Arguments ==
27 cnh 1.9 C etaSurfX, etaSurfY - Surface slope
28 cnh 1.7 C bi,bj,iMin,iMax,jMin,jMax, K - Loop counters
29 cnh 1.9 C myThid - Instance number for
30     C this call to S/R CORRECTION_STEP
31     C myCurrentTime - Current simulation time for this instance.
32 cnh 1.8 _RL etaSurfX(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
33     _RL etaSurfY(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
34 adcroft 1.1 INTEGER bi,bj,iMin,iMax,jMin,jMax
35     INTEGER K
36     INTEGER myThid
37 adcroft 1.6 _RL myCurrentTime
38 cnh 1.7
39 adcroft 1.1 C == Local variables ==
40     INTEGER i,j
41 adcroft 1.11 _RL hxFac,hyFac
42     _RL hx3dFac,hy3dFac
43 adcroft 1.1
44     C On/off scaling paramters
45     hxFac = pfFacMom
46     hyFac = pfFacMom
47 adcroft 1.11 IF ( nonHydrostatic ) THEN
48     hx3dFac = pfFacMom
49     hy3dFac = pfFacMom
50     ELSE
51     hx3dFac = 0.
52     hy3dFac = 0.
53     ENDIF
54 adcroft 1.1
55     C Step forward zonal velocity
56     DO j=jMin,jMax
57     DO i=iMin,iMax
58     uVel(i,j,k,bi,bj)=( gUNm1(i,j,k,bi,bj)
59 cnh 1.9 & -deltaTmom*hxFac*gBaro*etaSurfX(i,j)
60 adcroft 1.11 #ifdef ALLOW_NONHYDROSTATIC
61     & -deltaTmom*hx3dFac*gravity*_recip_dxC(i,j,bi,bj)*
62     & (cg3d_x(i,j,k,bi,bj)-cg3d_x(i-1,j,k,bi,bj))
63     #endif
64 adcroft 1.1 & )*_maskW(i,j,k,bi,bj)
65     gUNm1(i,j,k,bi,bj)=gU(i,j,k,bi,bj)
66     ENDDO
67     ENDDO
68    
69     C Step forward meridional velocity
70     DO j=jMin,jMax
71     DO i=iMin,iMax
72     vVel(i,j,k,bi,bj)=( gVNm1(i,j,k,bi,bj)
73 cnh 1.9 & -deltaTmom*hyFac*gBaro*etaSurfY(i,j)
74 adcroft 1.11 #ifdef ALLOW_NONHYDROSTATIC
75     & -deltaTmom*hy3dFac*gravity*_recip_dyC(i,j,bi,bj)*
76     & (cg3d_x(i,j,k,bi,bj)-cg3d_x(i,j-1,k,bi,bj))
77     #endif
78 adcroft 1.1 & )*_maskS(i,j,k,bi,bj)
79     gVNm1(i,j,k,bi,bj)=gV(i,j,k,bi,bj)
80 adcroft 1.4 ENDDO
81     ENDDO
82 adcroft 1.1
83     RETURN
84     END

  ViewVC Help
Powered by ViewVC 1.1.22