/[MITgcm]/MITgcm_contrib/PRM/multi_comp_setup/cg/code/set_ddtvars.F
ViewVC logotype

Annotation of /MITgcm_contrib/PRM/multi_comp_setup/cg/code/set_ddtvars.F

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


Revision 1.1 - (hide annotations) (download)
Tue Dec 11 00:26:03 2007 UTC (17 years, 7 months ago) by jmc
Branch: MAIN
- take S/R SET_DDTVARS out of file parent_override.F
- add myTime & myIter arguments to S/R SET_DDTVARS
- dump parent tendencies to files.

1 jmc 1.1 C $Header: /u/gcmpack/MITgcm_contrib/PRM/multi_comp_setup/cg/code/parent_override.F,v 1.7 2007/11/06 00:22:44 jmc Exp $
2     C $Name: $
3    
4     #include "PACKAGES_CONFIG.h"
5     #include "CPP_OPTIONS.h"
6    
7     CBOP
8     C !ROUTINE: SET_DDTVARS
9     C !INTERFACE:
10     SUBROUTINE SET_DDTVARS( gUVelC, gVVelC, gThetaC,
11     I cnx, cny, cnr,
12     I myTime, myIter, myThid )
13     C !DESCRIPTION: \bv
14     C *==========================================================*
15     C | S/R SET_DDTVARS
16     C | o Set tendencies to be used as additional forcing
17     C *==========================================================*
18     C *==========================================================*
19     C \ev
20    
21     C !USES:
22     IMPLICIT NONE
23    
24     C == Global data ==
25     #include "SIZE.h"
26     #include "EEPARAMS.h"
27     #include "PARAMS.h"
28     #include "ORIENTATION.h"
29     #include "PARENT_OVERRIDE.h"
30    
31     C !INPUT/OUTPUT PARAMETERS:
32     C == Routine arguments ==
33     C myTime :: Current time in simulation
34     C myIter :: Current iteration number
35     C myThid :: Thread Id number
36     INTEGER cnx, cny, cnr
37     REAL*8 gUVelC( cnx, cny, cnr)
38     REAL*8 gVVelC( cnx, cny, cnr)
39     REAL*8 gThetaC(cnx, cny, cnr)
40     _RL myTime
41     INTEGER myIter
42     INTEGER myThid
43    
44     C !FUNCTIONS:
45     LOGICAL DIFFERENT_MULTIPLE
46     EXTERNAL DIFFERENT_MULTIPLE
47    
48     C !LOCAL VARIABLES:
49     C == Local variables ==
50     C i,j,k :: Loop counters
51     INTEGER i,j,k
52     C Variables used for I/O
53     CHARACTER*(10) suff
54     CEOP
55    
56     IF ( cnx .NE. sNx ) THEN
57     STOP 'SET_DTTVARS cnx NE sNx'
58     ENDIF
59     IF ( cny .NE. sNy ) THEN
60     STOP 'SET_DTTVARS cny NE sNy'
61     ENDIF
62     IF ( cnr .NE. Nr ) THEN
63     STOP 'SET_DTTVARS cnr NE Nr'
64     ENDIF
65    
66     DO k=1,Nr
67     DO j=1,sNy
68     DO i=1,sNx
69     IF ( velDvRMS(i,j,1,1).GT.0. _d 0 ) THEN
70     po_gu(i,j,k,1,1) = gUVelC(i,j,k)*cAngleFG(i,j,1,1)
71     & - gVVelC(i,j,k)*sAngleFG(i,j,1,1)
72     po_gv(i,j,k,1,1) = gVVelC(i,j,k)*cAngleFG(i,j,1,1)
73     & + gUVelC(i,j,k)*sAngleFG(i,j,1,1)
74     ELSE
75     po_gu(i,j,k,1,1) = 0. _d 0
76     po_gv(i,j,k,1,1) = 0. _d 0
77     ENDIF
78     ENDDO
79     ENDDO
80     ENDDO
81    
82     DO k=1,Nr
83     DO j=1,sNy
84     DO i=1,sNx
85     po_gTheta(i,j,k,1,1) = gThetaC(i,j,k)
86     ENDDO
87     ENDDO
88     ENDDO
89     C-- po_gu & po_gv are both on A-grid
90     CALL EXCH_UV_AGRID_3D_RL(po_gu,po_gv,.TRUE.,Nr,myThid)
91    
92     C- Write snap-shot output:
93     IF ( DIFFERENT_MULTIPLE(dumpFreq,myTime,deltaTClock)
94     & .OR. dumpInitAndLast.AND.( myTime.EQ.endTime .OR.
95     & myTime.EQ.startTime )
96     & ) THEN
97     WRITE(suff,'(I10.10)') myIter
98     CALL WRITE_FLD_XY_RL('po_gU.',suff,po_gu, myIter,myThid)
99     CALL WRITE_FLD_XY_RL('po_gV.',suff,po_gv, myIter,myThid)
100     CALL WRITE_FLD_XY_RL('po_gT.',suff,po_gTheta,myIter,myThid)
101     ENDIF
102    
103     RETURN
104     END

  ViewVC Help
Powered by ViewVC 1.1.22