/[MITgcm]/MITgcm/pkg/generic_advdiff/gad_diff_r.F
ViewVC logotype

Contents of /MITgcm/pkg/generic_advdiff/gad_diff_r.F

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


Revision 1.2 - (show annotations) (download)
Thu Sep 20 20:07:06 2001 UTC (22 years, 7 months ago) by adcroft
Branch: MAIN
Changes since 1.1: +27 -8 lines
Added comments in form compatible with "protex".

1 C $Header: /u/gcmpack/models/MITgcmUV/pkg/generic_advdiff/gad_diff_r.F,v 1.1 2001/05/30 19:34:48 adcroft Exp $
2 C $Name: $
3
4 #include "GAD_OPTIONS.h"
5
6 CBOP
7 C !ROUTINE: GAD_DIFF_R
8
9 C !INTERFACE: ==========================================================
10 SUBROUTINE GAD_DIFF_R(
11 I bi,bj,k,
12 I KappaR,
13 I tracer,
14 O dfr,
15 I myThid )
16
17 C !DESCRIPTION:
18 C Calculates the vertical flux due to down-gradient diffusion of a tracer:
19 C \begin{equation*}
20 C F^r_{diff} = - \kappa_r \partial_r \theta
21 C \end{equation*}
22
23 C !USES: ===============================================================
24 IMPLICIT NONE
25 #include "SIZE.h"
26 #include "GRID.h"
27 #include "EEPARAMS.h"
28 #include "PARAMS.h"
29
30 C !INPUT PARAMETERS: ===================================================
31 C bi,bj :: tile indices
32 C k :: vertical level
33 C KappaR :: vertical diffusivity
34 C tracer :: tracer field
35 C myThid :: thread number
36 INTEGER bi,bj,k
37 _RL KappaR(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr)
38 _RL tracer(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
39 INTEGER myThid
40
41 C !OUTPUT PARAMETERS: ==================================================
42 C dfr :: vertical diffusive flux
43 _RL dfr (1-OLx:sNx+OLx,1-OLy:sNy+OLy)
44
45 C !LOCAL VARIABLES: ====================================================
46 C i,j :: loop indices
47 C km1 :: =k+1 for k<Nr, =Nr for k>-Nr
48 INTEGER i,j,km1
49
50 km1=max(1,k-1)
51
52 IF (k.eq.1 .OR. k.gt.Nr) THEN
53 DO j=1-Oly,sNy+Oly
54 DO i=1-Olx,sNx+Olx
55 dfr(i,j) = 0.
56 ENDDO
57 ENDDO
58 ELSE
59 DO j=1-Oly,sNy+Oly
60 DO i=1-Olx,sNx+Olx
61 dfr(i,j) =
62 & -_rA(i,j,bi,bj)
63 & *KappaR(i,j,k)*recip_drC(k)
64 & *(Tracer(i,j,km1,bi,bj)-Tracer(i,j,k,bi,bj))*rkFac
65 ENDDO
66 ENDDO
67 ENDIF
68
69 RETURN
70 END

  ViewVC Help
Powered by ViewVC 1.1.22