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

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

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


Revision 1.2 - (show annotations) (download)
Tue Sep 23 04:34:23 2003 UTC (21 years, 10 months ago) by dimitri
Branch: MAIN
Changes since 1.1: +57 -31 lines
o Mods and bug fixes to pkg/cal and pkg/exf needed for computation
  of tracer Green's fucntions for ocean inversion project.

1 C $Header: /usr/local/gcmpack/MITgcm_contrib/ocean_inversion_project/code/ptracers_init.F,v 1.1 2003/09/18 02:33:38 dimitri Exp $
2 C $Name: $
3
4 #include "PTRACERS_OPTIONS.h"
5
6 CBOP
7 C !ROUTINE: PTRACERS_INIT
8
9 C !INTERFACE: ==========================================================
10 SUBROUTINE PTRACERS_INIT( myThid )
11
12 C !DESCRIPTION:
13 C Initialize PTRACERS data structures
14 C This file is customized to compute CO2 perturbations from
15 C 30 ocean regions for Gruber's ocean inversion project.
16
17 C !USES: ===============================================================
18 IMPLICIT NONE
19 #include "SIZE.h"
20 #include "EEPARAMS.h"
21 #include "PARAMS.h"
22 #include "GRID.h"
23 #include "PTRACERS.h"
24
25
26 C !INPUT PARAMETERS: ===================================================
27 C myThid :: thread number
28 INTEGER myThid
29
30 C !OUTPUT PARAMETERS: ==================================================
31 C none
32
33 #ifdef ALLOW_PTRACERS
34
35 C !LOCAL VARIABLES: ====================================================
36 C i,j,k,bi,bj,iTracer :: loop indices
37 INTEGER i,j,k,bi,bj,iTracer,iMonth
38 CHARACTER*(10) suff
39 _RL SumPtracer
40 CEOP
41
42 C Loop over tracers
43 DO iTracer = 1, PTRACERS_num
44
45 C Loop over tiles
46 DO bj = myByLo(myThid), myByHi(myThid)
47 DO bi = myBxLo(myThid), myBxHi(myThid)
48
49 C Initialize arrays in common blocks :
50 DO k=1,Nr
51 DO j=1-Oly,sNy+OLy
52 DO i=1-Olx,sNx+Olx
53 pTracer(i,j,k,bi,bj,iTracer) = 0. _d 0
54 gPtr(i,j,k,bi,bj,iTracer) = 0. _d 0
55 gPtrNM1(i,j,k,bi,bj,iTracer) = 0. _d 0
56 ENDDO
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 C Read from a pickup file if nIter0 is not zero
68 IF (nIter0.NE.0) THEN
69 C-- Suffix for pickup files
70 IF (pickupSuff.EQ.' ') THEN
71 WRITE(suff,'(I10.10)') nIter0
72 ELSE
73 WRITE(suff,'(A10)') pickupSuff
74 ENDIF
75 CALL PTRACERS_READ_CHECKPOINT( nIter0,myThid )
76 ENDIF
77
78 C Initialize pTracerMasks
79 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 */
121
122 RETURN
123 END

  ViewVC Help
Powered by ViewVC 1.1.22