/[MITgcm]/MITgcm/verification/matrix_example/code/ptracers_init.F
ViewVC logotype

Contents of /MITgcm/verification/matrix_example/code/ptracers_init.F

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


Revision 1.2 - (show annotations) (download)
Sat May 14 22:55:14 2005 UTC (18 years, 11 months ago) by jmc
Branch: MAIN
CVS Tags: HEAD
Changes since 1.1: +1 -1 lines
FILE REMOVED
use standard version (from pkg/ptracers) instead.

1 C $Header: /u/gcmpack/MITgcm/verification/matrix_example/code/ptracers_init.F,v 1.1 2005/04/18 20:14:12 spk Exp $
2 C $Name: $
3
4 #include "PTRACERS_OPTIONS.h"
5 #ifdef ALLOW_GCHEM
6 # include "GCHEM_OPTIONS.h"
7 #endif
8
9 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
10 CBOP
11 C !ROUTINE: PTRACERS_INIT
12
13 C !INTERFACE:
14 SUBROUTINE PTRACERS_INIT( myThid )
15
16 C !DESCRIPTION:
17 C Initialize PTRACERS data structures
18
19 C !USES:
20 IMPLICIT NONE
21 #include "SIZE.h"
22 #include "EEPARAMS.h"
23 #include "PARAMS.h"
24 #include "GRID.h"
25 #include "PTRACERS_SIZE.h"
26 #include "PTRACERS.h"
27 cswdptr -- add ---
28 #ifdef ALLOW_GCHEM
29 # include "GCHEM.h"
30 #endif
31 cswdptr --- end add --
32
33 C !INPUT PARAMETERS:
34 C myThid :: thread number
35 INTEGER myThid
36
37 #ifdef ALLOW_PTRACERS
38
39 C !LOCAL VARIABLES:
40 C i,j,k,bi,bj,iTracer :: loop indices
41 INTEGER i,j,k,bi,bj,iTracer
42 CHARACTER*(10) suff
43 #ifndef ALLOW_GCHEM
44 INTEGER tIter0
45 C PARAMETER ( tIter0 = 0 )
46 IF (.NOT.useMatrix) THEN
47 tIter0 = 0
48 ELSE
49 tIter0=nIter0
50 ENDIF
51 #endif
52 CEOP
53
54 C Loop over tracers
55 DO iTracer = 1, PTRACERS_num
56
57 C Loop over tiles
58 DO bj = myByLo(myThid), myByHi(myThid)
59 DO bi = myBxLo(myThid), myBxHi(myThid)
60
61 C Initialize arrays in common blocks :
62 DO k=1,Nr
63 DO j=1-Oly,sNy+OLy
64 DO i=1-Olx,sNx+Olx
65 pTracer(i,j,k,bi,bj,iTracer) = 0. _d 0
66 gPtr(i,j,k,bi,bj,iTracer) = 0. _d 0
67 gPtrNM1(i,j,k,bi,bj,iTracer) = 0. _d 0
68 ENDDO
69 ENDDO
70 ENDDO
71 DO j=1-Oly,sNy+OLy
72 DO i=1-Olx,sNx+Olx
73 surfaceForcingPtr(i,j,bi,bj,iTracer) = 0. _d 0
74 ENDDO
75 ENDDO
76
77 C end bi,bj loops
78 ENDDO
79 ENDDO
80
81 C end of Tracer loop
82 ENDDO
83
84 C Now read initial conditions and always exchange
85 cswdptr IF (nIter0.EQ.0) THEN
86 cswdptr -- change ---
87 IF (nIter0.EQ.tIter0) THEN
88 cswdptr -- end change ---
89 DO iTracer = 1, PTRACERS_numInUse
90 IF ( PTRACERS_initialFile(iTracer) .NE. ' ' ) THEN
91 _BEGIN_MASTER( myThid )
92 CALL READ_FLD_XYZ_RL(PTRACERS_initialFile(iTracer),' ',
93 & pTracer(1-Olx,1-Oly,1,1,1,iTracer) ,0,myThid)
94 _END_MASTER(myThid)
95
96 C Apply mask
97 DO bj = myByLo(myThid), myByHi(myThid)
98 DO bi = myBxLo(myThid), myBxHi(myThid)
99 DO K=1,Nr
100 DO J=1,sNy
101 DO I=1,sNx
102 IF(hFacC(I,J,K,bi,bj).EQ.0)
103 & pTracer(i,j,k,bi,bj,iTracer)=0.
104 ENDDO
105 ENDDO
106 ENDDO
107 ENDDO
108 ENDDO
109
110 ELSE
111 cswdptr -- add ---
112 cswdptr -- end add ---
113 ENDIF
114 _EXCH_XYZ_R8(pTracer(1-Olx,1-Oly,1,1,1,iTracer),myThid)
115 ENDDO
116 ENDIF
117
118 C Read from a pickup file if needed
119 cswdptr IF (nIter0.NE.0) THEN
120 cswdptr -- change --
121 IF (nIter0.GT.tIter0) THEN
122 C Suffix for pickup files
123 IF (pickupSuff.EQ.' ') THEN
124 WRITE(suff,'(I10.10)') nIter0
125 ELSE
126 WRITE(suff,'(A10)') pickupSuff
127 ENDIF
128 CALL PTRACERS_READ_CHECKPOINT( nIter0,myThid )
129 ENDIF
130
131 #endif /* ALLOW_PTRACERS */
132
133 RETURN
134 END

  ViewVC Help
Powered by ViewVC 1.1.22