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

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

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


Revision 1.2 - (hide 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 edhill 1.2 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 spk 1.1
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 edhill 1.2 IF ( (mod(myTime-startTime,expMatrixWriteTime)
35     & .EQ. (0.0 _d 0))) THEN
36     recipExpDeltaTtracer =
37     & (1. _d 0)/(expMatrixCounter*dTtracerLev(1))
38 spk 1.1 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 edhill 1.2 & MATRIX(i,j,k,bi,bj,iTracer,1)
48     & *recipExpDeltaTtracer
49 spk 1.1 ENDDO
50     ENDDO
51     ENDDO
52     ENDDO
53     ENDDO
54     WRITE(suff,'(A9,I2.2)') 'MATRIXEXP',iTracer
55 edhill 1.2 write(*,*)'Writing explicit matrix :',iTracer,
56     & expMatrixWriteCount, expMatrixCounter
57 spk 1.1 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 edhill 1.2 IF ( (mod(myTime-startTime,impMatrixWriteTime)
79     & .EQ.(0.0 _d 0)) ) THEN
80 spk 1.1 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 edhill 1.2 & MATRIX(i,j,k,bi,bj,iTracer,2)
91     & *recipImpMatrixCounter
92 spk 1.1 ENDDO
93     ENDDO
94     ENDDO
95     ENDDO
96     ENDDO
97     WRITE(suff,'(A9,I2.2)') 'MATRIXIMP',iTracer
98 edhill 1.2 write(*,*)'Writing implicit matrix :',iTracer,
99     & impMatrixWriteCount, impMatrixCounter
100 spk 1.1 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