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

Contents of /MITgcm/pkg/matrix/matrix_write_tendency.F

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


Revision 1.3 - (show annotations) (download)
Mon Nov 5 18:58:00 2007 UTC (16 years, 5 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint63a, checkpoint60, checkpoint61, checkpoint62, checkpoint63, checkpoint59q, checkpoint59p, checkpoint59r, checkpoint59m, checkpoint59l, checkpoint59o, checkpoint59n, checkpoint59k, checkpoint59j, checkpoint62c, checkpoint62b, checkpoint62a, checkpoint62g, checkpoint62f, checkpoint62e, checkpoint62d, checkpoint62k, checkpoint62j, checkpoint62i, checkpoint62h, checkpoint62o, checkpoint62n, checkpoint62m, checkpoint62l, checkpoint62s, checkpoint62r, checkpoint62q, checkpoint62p, checkpoint62w, checkpoint62v, checkpoint62u, checkpoint62t, checkpoint62z, checkpoint62y, checkpoint62x, checkpoint61f, checkpoint61g, checkpoint61d, checkpoint61e, checkpoint61b, checkpoint61c, checkpoint61a, checkpoint61n, checkpoint61o, checkpoint61l, checkpoint61m, checkpoint61j, checkpoint61k, checkpoint61h, checkpoint61i, checkpoint61v, checkpoint61w, checkpoint61t, checkpoint61u, checkpoint61r, checkpoint61s, checkpoint61p, checkpoint61q, checkpoint61z, checkpoint61x, checkpoint61y
Changes since 1.2: +24 -24 lines
split PTRACERS.h in 2 header files: PTRACERS_FIELDS.h & PTRACERS_PARAMS
 declare Namelist in matrix_readparms.F (was previously in MATRIX.h)

1 C $Header: /u/gcmpack/MITgcm/pkg/matrix/matrix_write_tendency.F,v 1.2 2005/04/19 18:44:50 edhill Exp $
2 C $Name: $
3
4 #include "PACKAGES_CONFIG.h"
5 #include "CPP_OPTIONS.h"
6
7 C !ROUTINE MATRIX_WRITE_TENDENCY.F
8 C This routine writes both the explicit and implicit matrices
9 C to file.
10
11 SUBROUTINE MATRIX_WRITE_TENDENCY( myTime, myIter, myThid )
12
13 IMPLICIT NONE
14 #include "SIZE.h"
15 #include "EEPARAMS.h"
16 #include "PARAMS.h"
17 #include "PTRACERS_SIZE.h"
18 #include "PTRACERS_PARAMS.h"
19 c#include "PTRACERS_FIELDS.h"
20 #include "MATRIX.h"
21
22 _RL myTime
23 INTEGER myIter
24 INTEGER myThid
25
26 #ifdef ALLOW_MATRIX
27
28 INTEGER bi,bj,i,j,k,iTracer,iRec
29 CHARACTER*(MAX_LEN_MBUF) suff
30 _RL recipImpMatrixCounter, recipExpDeltaTtracer
31
32 DATA expMatrixWriteCount /0/
33 DATA impMatrixWriteCount /0/
34
35 IF ( (mod(myTime-startTime,expMatrixWriteTime)
36 & .EQ. (0.0 _d 0))) THEN
37 recipExpDeltaTtracer =
38 & (1. _d 0)/(expMatrixCounter*dTtracerLev(1))
39 IF (expMatrixWriteCount.EQ.0) expMatrixWriteCount=1
40 iRec=expMatrixWriteCount
41 DO iTracer=1,PTRACERS_numInUse
42 DO bj=myByLo(myThid), myByHi (myThid)
43 DO bi=myBxLo (myThid), myBxHi (myThid)
44 DO k=1,Nr
45 DO j=1-Oly, sNy+Oly
46 DO i=1-Olx, sNx+Olx
47 MATRIX(i,j,k,bi,bj,iTracer,1) =
48 & MATRIX(i,j,k,bi,bj,iTracer,1)
49 & *recipExpDeltaTtracer
50 ENDDO
51 ENDDO
52 ENDDO
53 ENDDO
54 ENDDO
55 WRITE(suff,'(A9,I2.2)') 'MATRIXEXP',iTracer
56 write(*,*)'Writing explicit matrix :',iTracer,
57 & expMatrixWriteCount, expMatrixCounter
58 CALL WRITE_REC_XYZ_RL(suff,
59 & MATRIX(1-Olx,1-Oly,1,1,1,iTracer,1),iRec,myIter,myThid)
60 ENDDO
61 expMatrixCounter=0
62 expMatrixWriteCount=expMatrixWriteCount+1
63 C Reset explicit matrix
64 DO iTracer=1,PTRACERS_numInUse
65 DO bj=myByLo(myThid), myByHi (myThid)
66 DO bi=myBxLo (myThid), myBxHi (myThid)
67 DO k=1,Nr
68 DO j=1-Oly, sNy+Oly
69 DO i=1-Olx, sNx+Olx
70 MATRIX(i,j,k,bi,bj,iTracer,1)= 0. _d 0
71 ENDDO
72 ENDDO
73 ENDDO
74 ENDDO
75 ENDDO
76 ENDDO
77 ENDIF
78
79 IF ( (mod(myTime-startTime,impMatrixWriteTime)
80 & .EQ.(0.0 _d 0)) ) THEN
81 recipImpMatrixCounter = (1. _d 0)/dble(impMatrixCounter)
82 IF (impMatrixWriteCount.EQ.0) impMatrixWriteCount=1
83 iRec=impMatrixWriteCount
84 DO iTracer=1,PTRACERS_numInUse
85 DO bj=myByLo(myThid), myByHi (myThid)
86 DO bi=myBxLo (myThid), myBxHi (myThid)
87 DO k=1,Nr
88 DO j=1-Oly, sNy+Oly
89 DO i=1-Olx, sNx+Olx
90 MATRIX(i,j,k,bi,bj,iTracer,2) =
91 & MATRIX(i,j,k,bi,bj,iTracer,2)
92 & *recipImpMatrixCounter
93 ENDDO
94 ENDDO
95 ENDDO
96 ENDDO
97 ENDDO
98 WRITE(suff,'(A9,I2.2)') 'MATRIXIMP',iTracer
99 write(*,*)'Writing implicit matrix :',iTracer,
100 & impMatrixWriteCount, impMatrixCounter
101 CALL WRITE_REC_XYZ_RL(suff,
102 & MATRIX(1-Olx,1-Oly,1,1,1,iTracer,2),iRec,myIter,myThid)
103 ENDDO
104 impMatrixCounter=0
105 impMatrixWriteCount=impMatrixWriteCount+1
106 C Reset implicit matrix
107 DO iTracer=1,PTRACERS_numInUse
108 DO bj=myByLo(myThid), myByHi (myThid)
109 DO bi=myBxLo (myThid), myBxHi (myThid)
110 DO k=1,Nr
111 DO j=1-Oly, sNy+Oly
112 DO i=1-Olx, sNx+Olx
113 MATRIX(i,j,k,bi,bj,iTracer,2)= 0. _d 0
114 ENDDO
115 ENDDO
116 ENDDO
117 ENDDO
118 ENDDO
119 ENDDO
120 ENDIF
121
122 #endif /* ALLOW_MATRIX */
123 RETURN
124 END

  ViewVC Help
Powered by ViewVC 1.1.22