1 |
C $Header: /u/gcmpack/MITgcm_contrib/ocean_inversion_project/code/PTRACERS.h,v 1.6 2003/10/28 00:27:48 dimitri Exp $ |
2 |
C $Name: $ |
3 |
|
4 |
#ifdef ALLOW_PTRACERS |
5 |
|
6 |
CBOP |
7 |
C !ROUTINE: PTRACERS.h |
8 |
C !INTERFACE: |
9 |
C #include PTRACERS.h |
10 |
|
11 |
C !DESCRIPTION: |
12 |
C Contains passive tracer fields and parameters. |
13 |
C This file is customized to compute CO2 perturbations from |
14 |
C 30 ocean regions for Gruber's ocean inversion project. |
15 |
|
16 |
C Package flag |
17 |
logical PTRACERSisON |
18 |
COMMON /PTRACERS_PACKAGE/ PTRACERSisON |
19 |
|
20 |
C NUMBER_OF_PTRACERS defines how many passive tracers are allocated/exist. |
21 |
C This CPP macro is *only* used in PTRACERS.h to set an integer parameter. |
22 |
C <Please> do not make use of it elsewhere. |
23 |
C |
24 |
C NUMBER_OF_PTRACERS can also be defined in CPP_OPTIONS.h, or in the |
25 |
C Makefile with DEFINES=-DNUMBER_OF_PTRACERS=4 |
26 |
C |
27 |
C If NUMBER_OF_PTRACERS is not specified elsewhere and ALLOW_PTRACERS |
28 |
C is set then NUMBER_OF_PTRACERS is set here (default 1) |
29 |
#ifndef NUMBER_OF_PTRACERS |
30 |
#define NUMBER_OF_PTRACERS 30 |
31 |
#endif |
32 |
|
33 |
C Number of tracers |
34 |
INTEGER PTRACERS_num |
35 |
PARAMETER(PTRACERS_num = NUMBER_OF_PTRACERS) |
36 |
|
37 |
C PTRACERS_taveFreq :: Frequency with which time-averaged PTRACERS |
38 |
C are written to post-processing files. |
39 |
|
40 |
C PTRACERS parameters |
41 |
_RL PTRACERS_taveFreq |
42 |
_RL PTRACERS_diffKh(PTRACERS_num) |
43 |
_RL PTRACERS_diffK4(PTRACERS_num) |
44 |
_RL PTRACERS_diffKr(PTRACERS_num) |
45 |
INTEGER PTRACERS_advScheme(PTRACERS_num) |
46 |
INTEGER PTRACERS_numInUse |
47 |
LOGICAL PTRACERS_useGMRedi(PTRACERS_num) |
48 |
LOGICAL PTRACERS_useKPP(PTRACERS_num) |
49 |
LOGICAL PTRACERS_useRecords |
50 |
CHARACTER*(MAX_LEN_FNAM) PTRACERS_initialFile(PTRACERS_num) |
51 |
COMMON /PTRACERS_PARAMS/ |
52 |
& PTRACERS_taveFreq, |
53 |
& PTRACERS_diffKh, |
54 |
& PTRACERS_diffK4, |
55 |
& PTRACERS_diffKr, |
56 |
& PTRACERS_numInUse, |
57 |
& PTRACERS_advScheme, |
58 |
& PTRACERS_initialFile, |
59 |
& PTRACERS_useGMRedi, |
60 |
& PTRACERS_useKPP, |
61 |
& PTRACERS_useRecords |
62 |
NAMELIST /PTRACERS_PARM01/ |
63 |
& PTRACERS_taveFreq, |
64 |
& PTRACERS_advScheme, |
65 |
& PTRACERS_diffKh, |
66 |
& PTRACERS_diffK4, |
67 |
& PTRACERS_diffKr, |
68 |
& PTRACERS_useGMRedi, |
69 |
& PTRACERS_useKPP, |
70 |
& PTRACERS_numInUse, |
71 |
& PTRACERS_initialFile, |
72 |
& PTRACERS_useRecords |
73 |
|
74 |
C pTracer :: passive tracer concentration (tr per unit volume). |
75 |
C gPtr :: work-space for time-stepping |
76 |
C gPtrNM1 :: work-space for time-stepping |
77 |
_RL pTracer (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy, |
78 |
& PTRACERS_num) |
79 |
_RL gPtr (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy, |
80 |
& PTRACERS_num) |
81 |
_RL gPtrNM1 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy, |
82 |
& PTRACERS_num) |
83 |
_RL surfaceTendencyPtr (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy, |
84 |
& PTRACERS_num) |
85 |
COMMON /PTRACERS_FIELDS/ |
86 |
& pTracer, gPtr, gPtrNM1, surfaceTendencyPtr |
87 |
|
88 |
C pTracerMasks :: masks used to define 30 ocean regions |
89 |
C for Gruber's ocean inversion project |
90 |
INTEGER pTracerMasks(1-OLx:sNx+OLx,1-OLy:sNy+OLy, |
91 |
& PTRACERS_num,nSx,nSy) |
92 |
COMMON /PTRACERS_MASKS/ pTracerMasks |
93 |
|
94 |
C pTracerTakahashi :: variable containing monthly mean |
95 |
C Takahashi CO2 flux climatology |
96 |
_RS pTracerTakahashi(1-OLx:sNx+OLx,1-OLy:sNy+OLy,12,nSx,nSy) |
97 |
COMMON /PTRACERS_Takahashi/ pTracerTakahashi |
98 |
|
99 |
C pTracerAtmCO2 :: arrays containing atmospheric CO2 concentration |
100 |
integer pTracerAtm_Nrec |
101 |
PARAMETER(pTracerAtm_Nrec = 492) |
102 |
_RS pTracerAtmYear(pTracerAtm_Nrec) |
103 |
_RS pTracerAtmCO2 (pTracerAtm_Nrec) |
104 |
COMMON /PTRACERS_AtmCO2/ pTracerAtmYear, pTracerAtmCO2 |
105 |
|
106 |
CEOP |
107 |
#endif /* ALLOW_PTRACERS */ |