/[MITgcm]/MITgcm_contrib/natl_12/code/gad_biharm_x.F
ViewVC logotype

Contents of /MITgcm_contrib/natl_12/code/gad_biharm_x.F

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


Revision 1.2 - (show annotations) (download)
Thu Aug 7 13:03:31 2003 UTC (20 years, 9 months ago) by cnh
Branch: MAIN
CVS Tags: HEAD
Changes since 1.1: +2 -2 lines
Mods to allow laplacian as well as biharmonic viscosity with varying resolution

1 C $Header: /u/gcmpack/MITgcm_contrib/natl_12/code/gad_biharm_x.F,v 1.1 2003/08/05 21:22:43 cnh Exp $
2 C $Name: $
3
4 #include "GAD_OPTIONS.h"
5
6 CBOP
7 C !ROUTINE: GAD_BIHARM_X
8
9 C !INTERFACE: ==========================================================
10 SUBROUTINE GAD_BIHARM_X(
11 I bi,bj,k,
12 I xA,del2T,diffK4,
13 O dfx,
14 I myThid )
15
16 C !DESCRIPTION:
17 C Calculates the zonal flux due to bi-harmonic diffusion of a tracer.
18 C Routine takes the laplacian of the tracer as argument and calculates
19 C the zonal gradient:
20 C \begin{equation*}
21 C F^x_{diff} = \kappa_4 \partial_x \nabla^2 \theta
22 C \end{equation*}
23
24 C !USES: ===============================================================
25 IMPLICIT NONE
26 #include "SIZE.h"
27 #include "GRID.h"
28
29 C !INPUT PARAMETERS: ===================================================
30 C bi,bj :: tile indices
31 C k :: vertical level
32 C xA :: area of face at U points
33 C del2T :: Laplacian of tracer
34 C myThid :: thread number
35 INTEGER bi,bj,k
36 _RS xA (1-OLx:sNx+OLx,1-OLy:sNy+OLy)
37 _RL del2T(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
38 _RL diffK4
39 INTEGER myThid
40
41 C !OUTPUT PARAMETERS: ==================================================
42 C dfx :: zonal diffusive flux
43 _RL dfx (1-OLx:sNx+OLx,1-OLy:sNy+OLy)
44
45 C !LOCAL VARIABLES: ====================================================
46 C i,j :: loop indices
47 INTEGER i,j
48 _RS gridScalingK4
49 CEOP
50
51 C Difference of zonal fluxes ...
52 DO j=1-Oly,sNy+Oly
53 dfx(1-Olx,j) = 0.
54 DO i=1-Olx+1,sNx+Olx
55 gridScalingK4 = (_dxC(i,j,bi,bj)**4. _d 0)/(5000. _d 0**4. _d 0)
56 dfx(i,j) = diffK4
57 & *gridScalingK4
58 & *xA(i,j)
59 & *(del2T(i,j)-del2T(i-1,j))*_recip_dxC(i,j,bi,bj)
60 #ifdef COSINEMETH_III
61 & *sqCosFacU(j,bi,bj)
62 #else
63 & *CosFacU(j,bi,bj)
64 #endif
65 ENDDO
66 ENDDO
67
68 RETURN
69 END

  ViewVC Help
Powered by ViewVC 1.1.22