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

Annotation 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 - (hide 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 adcroft 1.2 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 adcroft 1.1
4     #include "GAD_OPTIONS.h"
5    
6 adcroft 1.2 CBOP
7     C !ROUTINE: GAD_DIFF_R
8    
9     C !INTERFACE: ==========================================================
10 adcroft 1.1 SUBROUTINE GAD_DIFF_R(
11     I bi,bj,k,
12     I KappaR,
13     I tracer,
14     O dfr,
15     I myThid )
16 adcroft 1.2
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 adcroft 1.1 IMPLICIT NONE
25     #include "SIZE.h"
26     #include "GRID.h"
27     #include "EEPARAMS.h"
28     #include "PARAMS.h"
29    
30 adcroft 1.2 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 adcroft 1.1 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 adcroft 1.2 INTEGER myThid
40    
41     C !OUTPUT PARAMETERS: ==================================================
42     C dfr :: vertical diffusive flux
43 adcroft 1.1 _RL dfr (1-OLx:sNx+OLx,1-OLy:sNy+OLy)
44    
45 adcroft 1.2 C !LOCAL VARIABLES: ====================================================
46     C i,j :: loop indices
47     C km1 :: =k+1 for k<Nr, =Nr for k>-Nr
48 adcroft 1.1 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