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

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

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


Revision 1.7 - (show annotations) (download)
Sat Sep 11 21:27:13 2010 UTC (13 years, 7 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint62v, checkpoint62u, checkpoint62t, checkpoint65b, checkpoint65a, checkpoint62s, checkpoint62r, checkpoint62q, checkpoint62p, checkpoint62k, checkpoint62o, checkpoint62n, checkpoint62m, checkpoint62l, checkpoint62w, checkpoint62z, checkpoint62y, checkpoint62x, checkpoint63g, checkpoint64, checkpoint65, checkpoint63, checkpoint63p, checkpoint63q, checkpoint63r, checkpoint63s, checkpoint63l, checkpoint63m, checkpoint63n, checkpoint63o, checkpoint63h, checkpoint63i, checkpoint63j, checkpoint63k, checkpoint63d, checkpoint63e, checkpoint63f, checkpoint63a, checkpoint63b, checkpoint63c, checkpoint64y, checkpoint64x, checkpoint64z, checkpoint64q, checkpoint64p, checkpoint64s, checkpoint64r, checkpoint64u, checkpoint64t, checkpoint64w, checkpoint64v, checkpoint64i, checkpoint64h, checkpoint64k, checkpoint64j, checkpoint64m, checkpoint64l, checkpoint64o, checkpoint64n, checkpoint64a, checkpoint64c, checkpoint64b, checkpoint64e, checkpoint64d, checkpoint64g, checkpoint64f
Changes since 1.6: +22 -10 lines
sigma (and hybrid-sigma) coordinate code for non-linear free-surface

1 C $Header: /u/gcmpack/MITgcm/model/src/freesurf_rescale_g.F,v 1.6 2006/06/07 01:55:13 heimbach Exp $
2 C $Name: $
3
4 #include "CPP_OPTIONS.h"
5
6 CBOP
7 C !ROUTINE: FREESURF_RESCALE_G
8 C !INTERFACE:
9 SUBROUTINE FREESURF_RESCALE_G(
10 I bi, bj, k,
11 U gTracer,
12 I myThid )
13 C !DESCRIPTION: \bv
14 C *==========================================================*
15 C | S/R FREESURF_RESCALE_G
16 C | o Re-scale Gs to account for change in free-surface
17 C | hieght. Only meaningful with non-linear free-surface.
18 C *==========================================================*
19 C \ev
20
21 C !USES:
22 IMPLICIT NONE
23 C == Global variables ===
24 #include "SIZE.h"
25 #include "EEPARAMS.h"
26 #include "PARAMS.h"
27 #include "GRID.h"
28 #include "SURFACE.h"
29
30 C !INPUT/OUTPUT PARAMETERS:
31 C == Routine Arguments ==
32 INTEGER bi,bj,k
33 _RL gTracer(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
34 INTEGER myThid
35 #ifdef NONLIN_FRSURF
36 C == Local variables ==
37 INTEGER i,j
38 CEOP
39
40 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
41
42 IF ( nonlinFreeSurf.GT.0 ) THEN
43 IF ( select_rStar.GT.0 ) THEN
44 # ifndef DISABLE_RSTAR_CODE
45 DO j=1-Oly,sNy+Oly
46 DO i=1-Olx,sNx+Olx
47 gTracer(i,j,k,bi,bj) = gTracer(i,j,k,bi,bj)
48 & /rStarExpC(i,j,bi,bj)
49 ENDDO
50 ENDDO
51 # endif /* DISABLE_RSTAR_CODE */
52 ELSEIF ( selectSigmaCoord.NE.0 ) THEN
53 # ifndef DISABLE_SIGMA_CODE
54 DO j=1-Oly,sNy+Oly
55 DO i=1-Olx,sNx+Olx
56 gTracer(i,j,k,bi,bj) = gTracer(i,j,k,bi,bj)
57 & /( 1. _d 0 + dEtaHdt(i,j,bi,bj)*deltaTfreesurf
58 & *dBHybSigF(k)*recip_drF(k)
59 & *recip_hFacC(i,j,k,bi,bj)
60 & )
61 ENDDO
62 ENDDO
63 # endif /* DISABLE_SIGMA_CODE */
64 ELSE
65 DO j=1-Oly,sNy+Oly
66 DO i=1-Olx,sNx+Olx
67 IF (k.EQ.kSurfC(i,j,bi,bj)) THEN
68 gTracer(i,j,k,bi,bj) = gTracer(i,j,k,bi,bj)
69 & *_hFacC(i,j,k,bi,bj)/hFac_surfC(i,j,bi,bj)
70 ENDIF
71 ENDDO
72 ENDDO
73 ENDIF
74 ENDIF
75
76 #endif /* NONLIN_FRSURF */
77
78 RETURN
79 END

  ViewVC Help
Powered by ViewVC 1.1.22