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

Contents of /MITgcm_contrib/natl_12/code/gad_biharm_y.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, 10 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_y.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_Y
8
9 C !INTERFACE: ==========================================================
10 SUBROUTINE GAD_BIHARM_Y(
11 I bi,bj,k,
12 I yA,del2T,diffK4,
13 O dfy,
14 I myThid )
15
16 C !DESCRIPTION:
17 C Calculates the meridional 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 meridional gradient:
20 C \begin{equation*}
21 C F^y_{diff} = \kappa_4 \partial_y \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 yA :: area of face at V points
33 C del2T :: Laplacian of tracer
34 C myThid :: thread number
35 INTEGER bi,bj,k
36 _RS yA (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 dfy :: meridional diffusive flux
43 _RL dfy (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 meridional fluxes ...
52 DO i=1-Olx,sNx+Olx
53 dfy(i,1-Oly) = 0.
54 ENDDO
55 DO j=1-Oly+1,sNy+Oly
56 DO i=1-Olx,sNx+Olx
57 gridScalingK4 = (_dyC(i,j,bi,bj)**4. _d 0)/(5000. _d 0**4. _d 0)
58 dfy(i,j) = diffK4
59 & *gridScalingK4
60 & *yA(i,j)
61 & *(del2T(i,j)-del2T(i,j-1))*_recip_dyC(i,j,bi,bj)
62 #ifdef ISOTROPIC_COS_SCALING
63 #ifdef COSINEMETH_III
64 & *sqCosFacV(j,bi,bj)
65 #else
66 & *CosFacV(j,bi,bj)
67 #endif
68 #endif
69 ENDDO
70 ENDDO
71
72 RETURN
73 END

  ViewVC Help
Powered by ViewVC 1.1.22