/[MITgcm]/MITgcm/pkg/matrix/matrix_store_tendency.F
ViewVC logotype

Annotation of /MITgcm/pkg/matrix/matrix_store_tendency.F

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


Revision 1.1 - (hide annotations) (download)
Mon Apr 18 19:42:16 2005 UTC (19 years, 1 month ago) by spk
Branch: MAIN
Checking in new pkg/matrix

1 spk 1.1 C $Header$
2     C $Name$
3    
4     #include "PACKAGES_CONFIG.h"
5     #include "CPP_OPTIONS.h"
6    
7     C !ROUTINE MATRIX_STORE_TENDENCY_EXP.F
8     C This routine accumalates the explicit tendency matrix. Note
9     C that on entry gPtr is the tracer field after explicit advection-
10     C diffusion. On exit, gPtr is set to the initial tracer field for
11     C the next step (implicit matrix calculation).
12    
13     SUBROUTINE MATRIX_STORE_TENDENCY_EXP( bi, bj, myTime, myIter, myThid )
14    
15     IMPLICIT NONE
16     #include "SIZE.h"
17     #include "EEPARAMS.h"
18     #include "PTRACERS_SIZE.h"
19     #include "PTRACERS.h"
20     #include "MATRIX.h"
21     #include "PARAMS.h"
22    
23     INTEGER bi, bj
24     _RL myTime
25     INTEGER myIter
26     INTEGER myThid
27    
28     #ifdef ALLOW_MATRIX
29    
30     INTEGER i,j,k
31     INTEGER iTracer
32    
33     DO iTracer=1,PTRACERS_numInUse
34     DO k=1,Nr
35     DO j=1-Oly, sNy+Oly
36     DO i=1-Olx, sNx+Olx
37     MATRIX(i,j,k,bi,bj,iTracer,1) =
38     & MATRIX(i,j,k,bi,bj,iTracer,1)
39     & + (gPtr(i,j,k,bi,bj,iTracer)
40     & - PTRACERS_initial(i,j,k,bi,bj,iTracer))
41     gPtr(i,j,k,bi,bj,iTracer)=
42     & PTRACERS_initial(i,j,k,bi,bj,iTracer)
43     ENDDO
44     ENDDO
45     ENDDO
46     ENDDO
47    
48     expMatrixCounter = expMatrixCounter + 1
49    
50     #endif /* ALLOW_MATRIX */
51     RETURN
52     END
53    
54     C !ROUTINE MATRIX_STORE_TENDENCY_IMP.F
55     C This routine accumalates the implicit update matrix. Note that
56     C on entry PTR is the tracer field after implicit advection-
57     C diffusion. On exit, PTR is set to the initial tracer field.
58    
59     SUBROUTINE MATRIX_STORE_TENDENCY_IMP( bi, bj, myTime, myIter, myThid )
60    
61     IMPLICIT NONE
62     #include "SIZE.h"
63     #include "EEPARAMS.h"
64     #include "PTRACERS_SIZE.h"
65     #include "PTRACERS.h"
66     #include "MATRIX.h"
67     #include "PARAMS.h"
68    
69     INTEGER bi, bj
70     _RL myTime
71     INTEGER myIter
72     INTEGER myThid
73    
74     #ifdef ALLOW_MATRIX
75    
76     INTEGER i,j,k
77     INTEGER iTracer
78    
79     DO iTracer=1,PTRACERS_numInUse
80     DO k=1,Nr
81     DO j=1-Oly, sNy+Oly
82     DO i=1-Olx, sNx+Olx
83     MATRIX(i,j,k,bi,bj,iTracer,2) =
84     & MATRIX(i,j,k,bi,bj,iTracer,2)
85     & + pTracer(i,j,k,bi,bj,iTracer)
86     pTracer(i,j,k,bi,bj,iTracer)=
87     & PTRACERS_initial(i,j,k,bi,bj,iTracer)
88     ENDDO
89     ENDDO
90     ENDDO
91     ENDDO
92    
93     impMatrixCounter = impMatrixCounter + 1
94    
95     #endif /* ALLOW_MATRIX */
96     RETURN
97     END
98    

  ViewVC Help
Powered by ViewVC 1.1.22