1 |
C $Header: /u/gcmpack/models/MITgcmUV/model/src/grad_psurf.F,v 1.5 1998/06/09 16:48:02 cnh Exp $ |
2 |
|
3 |
#include "CPP_EEOPTIONS.h" |
4 |
|
5 |
C /==========================================================\ |
6 |
C | S/R GRAD_PSURF | |
7 |
C | o Calculate the gradient of the surface pressure | |
8 |
C \==========================================================/ |
9 |
SUBROUTINE GRAD_PSURF( bi, bj, iMin, iMax, jMin, jMax, |
10 |
O pSurfX, pSurfY, |
11 |
I myThid ) |
12 |
IMPLICIT NONE |
13 |
C == Global variables == |
14 |
#include "SIZE.h" |
15 |
#include "EEPARAMS.h" |
16 |
#include "PARAMS.h" |
17 |
#include "GRID.h" |
18 |
#include "CG2D.h" |
19 |
C == Routine Arguments == |
20 |
INTEGER bi,bj,iMin,iMax,jMin,jMax |
21 |
_RL pSurfX(1-Olx:sNx+Olx,1-Oly:sNy+Oly) |
22 |
_RL pSurfY(1-Olx:sNx+Olx,1-Oly:sNy+Oly) |
23 |
INTEGER myThid |
24 |
C == Local variables == |
25 |
INTEGER i,j |
26 |
|
27 |
C Zonal pressure term |
28 |
DO j=jMin,jMax |
29 |
DO i=iMin,iMax |
30 |
pSurfX(i,j)=_rdxC(i,j,bi,bj)* |
31 |
& (cg2d_x(i,j,bi,bj)-cg2d_x(i-1,j,bi,bj)) |
32 |
& *gBaro*rhonil |
33 |
ENDDO |
34 |
ENDDO |
35 |
|
36 |
C Meridional pressure term |
37 |
DO j=jMin,jMax |
38 |
DO i=iMin,iMax |
39 |
pSurfY(i,j)=_rdyC(i,j,bi,bj)* |
40 |
& (cg2d_x(i,j,bi,bj)-cg2d_x(i,j-1,bi,bj)) |
41 |
& *gBaro*rhonil |
42 |
ENDDO |
43 |
ENDDO |
44 |
|
45 |
RETURN |
46 |
END |