/[MITgcm]/MITgcm/pkg/ptracers/ptracers_init_varia.F
ViewVC logotype

Annotation of /MITgcm/pkg/ptracers/ptracers_init_varia.F

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


Revision 1.1 - (hide annotations) (download)
Wed May 24 00:47:05 2006 UTC (17 years, 11 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint58l_post, checkpoint58n_post, checkpoint58h_post, checkpoint58q_post, checkpoint58j_post, checkpoint58f_post, checkpoint58i_post, checkpoint58g_post, checkpoint58o_post, checkpoint58k_post, checkpoint58p_post, checkpoint58m_post
use standard names for initialization S/R (init_fixed, init_varia):
rename: ptracers_initialise.F -> ptracers_init_fixed.F
   and: ptracers_init.F ->  ptracers_init_varia.F

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

  ViewVC Help
Powered by ViewVC 1.1.22