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

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

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


Revision 1.8 - (show annotations) (download)
Thu Aug 20 19:25:05 1998 UTC (25 years, 9 months ago) by cnh
Branch: MAIN
Changes since 1.7: +7 -7 lines
Isomorphism consistency changes

1 C $Header: /u/gcmpack/models/MITgcmUV/model/src/correction_step.F,v 1.7 1998/08/20 18:43:11 cnh Exp $
2
3 #include "CPP_EEOPTIONS.h"
4
5 C /==========================================================\
6 C | S/R CORRECTION_STEP |
7 C | o Corrects the horizontal flow fields with the surface |
8 C | slope. |
9 C \==========================================================/
10 SUBROUTINE CORRECTION_STEP( bi, bj, iMin, iMax, jMin, jMax,
11 I K, etaSurfX, etaSurfY,
12 I myCurrentTime, myThid )
13 IMPLICIT NONE
14 ! Common
15 #include "SIZE.h"
16 #include "DYNVARS.h"
17 #include "EEPARAMS.h"
18 #include "PARAMS.h"
19 #include "GRID.h"
20 #include "CG2D.h"
21 C == Routine Arguments ==
22 C etaSurfX, etaSurfY - Surface slope
23 C bi,bj,iMin,iMax,jMin,jMax, K - Loop counters
24 C myThid - Instance number for this call to S/R CORRECTION_STEP
25 C myCurrentTime - Current simulation time for this instance.
26 _RL etaSurfX(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
27 _RL etaSurfY(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
28 INTEGER bi,bj,iMin,iMax,jMin,jMax
29 INTEGER K
30 INTEGER myThid
31 _RL myCurrentTime
32
33 C == Local variables ==
34 INTEGER i,j
35 _RL hxFac,hyFac,rRhoNil
36
37 C On/off scaling paramters
38 hxFac = pfFacMom
39 hyFac = pfFacMom
40
41 C Step forward zonal velocity
42 DO j=jMin,jMax
43 DO i=iMin,iMax
44 uVel(i,j,k,bi,bj)=( gUNm1(i,j,k,bi,bj)
45 & -deltaTmom*hxFac*gBaro *etaSurfX(i,j)
46 & )*_maskW(i,j,k,bi,bj)
47 gUNm1(i,j,k,bi,bj)=gU(i,j,k,bi,bj)
48 ENDDO
49 ENDDO
50
51 C Step forward meridional velocity
52 DO j=jMin,jMax
53 DO i=iMin,iMax
54 vVel(i,j,k,bi,bj)=( gVNm1(i,j,k,bi,bj)
55 & -deltaTmom*hyFac*gBaro *etaSurfY(i,j)
56 & )*_maskS(i,j,k,bi,bj)
57 gVNm1(i,j,k,bi,bj)=gV(i,j,k,bi,bj)
58 ENDDO
59 ENDDO
60
61 C Rotate theta/gT/gTnm1
62 DO j=jMin,jMax
63 DO i=iMin,iMax
64 theta(i,j,k,bi,bj)=gTNm1(i,j,k,bi,bj)
65 gTNm1(i,j,k,bi,bj)=gT(i,j,k,bi,bj)
66 ENDDO
67 ENDDO
68
69 C Rotate salt/gS/gSnm1
70 DO j=jMin,jMax
71 DO i=iMin,iMax
72 salt(i,j,k,bi,bj)=gSNm1(i,j,k,bi,bj)
73 gSNm1(i,j,k,bi,bj)=gS(i,j,k,bi,bj)
74 ENDDO
75 ENDDO
76
77 RETURN
78 END

  ViewVC Help
Powered by ViewVC 1.1.22