/[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.2 - (show annotations) (download)
Tue Apr 19 18:44:50 2005 UTC (19 years, 1 month ago) by edhill
Branch: MAIN
CVS Tags: checkpoint58l_post, checkpoint57t_post, checkpoint57o_post, checkpoint58e_post, checkpoint57v_post, checkpoint58u_post, checkpoint58w_post, checkpoint57m_post, checkpoint57s_post, checkpoint57k_post, checkpoint58r_post, checkpoint57i_post, checkpoint57y_post, checkpoint58n_post, checkpoint58x_post, checkpoint58t_post, checkpoint58h_post, checkpoint57y_pre, checkpoint58q_post, checkpoint58j_post, checkpoint59e, checkpoint59d, checkpoint59g, checkpoint59f, checkpoint59a, checkpoint59c, checkpoint59b, checkpoint59i, checkpoint59h, checkpoint57r_post, checkpoint59, checkpoint58, checkpoint57h_done, checkpoint58f_post, checkpoint57x_post, checkpoint57n_post, checkpoint58d_post, checkpoint58c_post, checkpoint57w_post, checkpoint57p_post, checkpint57u_post, checkpoint58a_post, checkpoint58i_post, checkpoint57q_post, checkpoint58g_post, checkpoint58o_post, checkpoint57z_post, checkpoint58y_post, checkpoint58k_post, checkpoint58v_post, checkpoint58s_post, checkpoint58p_post, checkpoint57j_post, checkpoint58b_post, checkpoint57h_pre, checkpoint58m_post, checkpoint57l_post, checkpoint57h_post
Changes since 1.1: +16 -9 lines
 o lots of small changes to "matrix" things including:
   - lines over 72 characters in length
   - fixups for testreport

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

  ViewVC Help
Powered by ViewVC 1.1.22