/[MITgcm]/MITgcm_contrib/ocean_inversion_project/code/ptracers_init.F
ViewVC logotype

Diff of /MITgcm_contrib/ocean_inversion_project/code/ptracers_init.F

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

revision 1.1 by dimitri, Thu Sep 18 02:33:38 2003 UTC revision 1.2 by dimitri, Tue Sep 23 04:34:23 2003 UTC
# Line 2  C $Header$ Line 2  C $Header$
2  C $Name$  C $Name$
3    
4  #include "PTRACERS_OPTIONS.h"  #include "PTRACERS_OPTIONS.h"
 #ifdef ALLOW_GCHEM  
 # include "GCHEM_OPTIONS.h"  
 #endif  
5    
6  CBOP  CBOP
7  C !ROUTINE: PTRACERS_INIT  C !ROUTINE: PTRACERS_INIT
# Line 14  C !INTERFACE: ========================== Line 11  C !INTERFACE: ==========================
11    
12  C !DESCRIPTION:  C !DESCRIPTION:
13  C     Initialize PTRACERS data structures  C     Initialize PTRACERS data structures
14  cdm   This file is customized to compute CO2 perturbations from 30 ocean  C     This file is customized to compute CO2 perturbations from
15  cdm   regions for Gruber's ocean inversion project.  C     30 ocean regions for Gruber's ocean inversion project.
16    
17  C !USES: ===============================================================  C !USES: ===============================================================
18        IMPLICIT NONE        IMPLICIT NONE
# Line 24  C !USES: =============================== Line 21  C !USES: ===============================
21  #include "PARAMS.h"  #include "PARAMS.h"
22  #include "GRID.h"  #include "GRID.h"
23  #include "PTRACERS.h"  #include "PTRACERS.h"
 cswdptr -- add ---  
 #ifdef ALLOW_GCHEM  
 # include "GCHEM.h"  
 #endif  
 cswdptr --- end add --  
24    
25    
26  C !INPUT PARAMETERS: ===================================================  C !INPUT PARAMETERS: ===================================================
# Line 42  C  none Line 34  C  none
34    
35  C !LOCAL VARIABLES: ====================================================  C !LOCAL VARIABLES: ====================================================
36  C  i,j,k,bi,bj,iTracer  :: loop indices  C  i,j,k,bi,bj,iTracer  :: loop indices
37        INTEGER i,j,k,bi,bj,iTracer        INTEGER i,j,k,bi,bj,iTracer,iMonth
38        CHARACTER*(10) suff        CHARACTER*(10) suff
39  #ifndef ALLOW_GCHEM        _RL SumPtracer
       INTEGER tIter0  
       PARAMETER ( tIter0 = 0 )  
 #endif  
40  CEOP  CEOP
41                    
42  C Loop over tracers  C Loop over tracers
43        DO iTracer = 1, PTRACERS_num        DO iTracer = 1, PTRACERS_num
44    
45  C Loop over tiles  C Loop over tiles
46        DO bj = myByLo(myThid), myByHi(myThid)         DO bj = myByLo(myThid), myByHi(myThid)
47         DO bi = myBxLo(myThid), myBxHi(myThid)          DO bi = myBxLo(myThid), myBxHi(myThid)
48    
49  C Initialize arrays in common blocks :  C Initialize arrays in common blocks :
50          DO k=1,Nr           DO k=1,Nr
51           DO j=1-Oly,sNy+OLy            DO j=1-Oly,sNy+OLy
52            DO i=1-Olx,sNx+Olx             DO i=1-Olx,sNx+Olx
53             pTracer(i,j,k,bi,bj,iTracer) = 0. _d 0              pTracer(i,j,k,bi,bj,iTracer) = 0. _d 0
54             gPtr(i,j,k,bi,bj,iTracer)    = 0. _d 0              gPtr(i,j,k,bi,bj,iTracer)    = 0. _d 0
55             gPtrNM1(i,j,k,bi,bj,iTracer) = 0. _d 0              gPtrNM1(i,j,k,bi,bj,iTracer) = 0. _d 0
56               ENDDO
57            ENDDO            ENDDO
58           ENDDO           ENDDO
         ENDDO  
59    
60  C end bi,bj loops  C end bi,bj loops
61            ENDDO
62         ENDDO         ENDDO
       ENDDO  
63    
64  C end of Tracer loop  C end of Tracer loop
65        ENDDO        ENDDO
66    
67  C Read from a pickup file if nIter0  C Read from a pickup file if nIter0 is not zero
68  cswdptr IF (nIter0.NE.0) THEN        IF (nIter0.NE.0) THEN
 cswdptr -- change --  
       IF (nIter0.GT.tIter0) THEN  
69  C--     Suffix for pickup files  C--     Suffix for pickup files
70         IF (pickupSuff.EQ.' ') THEN         IF (pickupSuff.EQ.' ') THEN
71           WRITE(suff,'(I10.10)') nIter0           WRITE(suff,'(I10.10)') nIter0
# Line 88  C--     Suffix for pickup files Line 75  C--     Suffix for pickup files
75         CALL PTRACERS_READ_CHECKPOINT( nIter0,myThid )         CALL PTRACERS_READ_CHECKPOINT( nIter0,myThid )
76        ENDIF        ENDIF
77    
78  cdm   Initialize pTracerMasks  C     Initialize pTracerMasks
79        CALL PTRACERS_READ_MASK ( mythid )        CALL PTRACERS_READ_MASK ( mythid )
80    
81    C     Initialize pTracerTakahashi
82          CALL PTRACERS_READ_Takahashi ( mythid )
83    
84    C     Normalize pTracerTakahashi so that 1e18 mol/yr is released
85    C     from each model region defined in pTracerMasks.
86    C     It is assumed that each year is 365.25 days (31557600 s)
87    C     long and that each month is 2629800 s.
88    
89          DO iTracer = 1, PTRACERS_num
90           SumPtracer = 0.
91           DO bj = myByLo(myThid), myByHi(myThid)
92            DO bi = myBxLo(myThid), myBxHi(myThid)
93             DO j=1,sNy
94              DO i=1,sNx
95               DO iMonth=1,12
96                SumPtracer = SumPtracer + 2629800. * rA(I,J,bi,bj) *
97         &             pTracerMasks    (I,J,iTracer,bi,bj) *
98         &             pTracerTakahashi(I,J,iMonth ,bi,bj)
99               ENDDO
100              ENDDO
101             ENDDO
102            ENDDO
103           ENDDO
104           _GLOBAL_SUM_R8( SumPtracer, myThid )
105           DO bj = myByLo(myThid), myByHi(myThid)
106            DO bi = myBxLo(myThid), myBxHi(myThid)
107             DO j=1,sNy
108              DO i=1,sNx
109               DO iMonth=1,12
110                IF ( pTracerMasks(I,J,iTracer,bi,bj) .eq. 1. )
111         &             pTracerTakahashi(I,J,iMonth ,bi,bj) = 1.e18 *
112         &             pTracerTakahashi(I,J,iMonth ,bi,bj) / SumPtracer
113               ENDDO
114              ENDDO
115             ENDDO
116            ENDDO
117           ENDDO
118          ENDDO
119    
120  #endif /* ALLOW_PTRACERS */  #endif /* ALLOW_PTRACERS */
121    
122        RETURN        RETURN

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.2

  ViewVC Help
Powered by ViewVC 1.1.22