1 |
C $Header: /u/gcmpack/MITgcm/pkg/autodiff/g_common.h,v 1.25 2014/04/30 02:46:16 heimbach Exp $ |
2 |
C $Name: $ |
3 |
|
4 |
C-- These common blocks are extracted from the |
5 |
C-- automatically created tangent linear code. |
6 |
C-- You need to make sure that they are up-to-date |
7 |
C-- (i.e. in right order), and customize them |
8 |
C-- accordingly. |
9 |
C-- |
10 |
C-- heimbach@mit.edu 11-Jan-2001 |
11 |
|
12 |
#ifdef ALLOW_AUTODIFF_MONITOR |
13 |
|
14 |
#include "PACKAGES_CONFIG.h" |
15 |
|
16 |
#ifdef ALLOW_EXF |
17 |
# include "EXF_OPTIONS.h" |
18 |
#endif |
19 |
#ifdef ALLOW_SEAICE |
20 |
# include "SEAICE_OPTIONS.h" |
21 |
#endif |
22 |
|
23 |
common /g_dynvars_r/ |
24 |
& g_etan, |
25 |
& g_uvel, g_vvel, g_wvel, |
26 |
& g_theta, g_salt, |
27 |
& g_gu, g_gv, g_gt, g_gs, |
28 |
#ifdef ALLOW_ADAMSBASHFORTH_3 |
29 |
& g_gunm, g_gvnm, g_gtnm, g_gsnm |
30 |
#else |
31 |
& g_gunm1, g_gvnm1, g_gtnm1, g_gsnm1 |
32 |
#endif |
33 |
_RL g_etan(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
34 |
_RL g_gs(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy) |
35 |
_RL g_gt(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy) |
36 |
_RL g_gu(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy) |
37 |
_RL g_gv(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy) |
38 |
_RL g_salt(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy) |
39 |
_RL g_theta(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy) |
40 |
_RL g_uvel(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy) |
41 |
_RL g_vvel(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy) |
42 |
_RL g_wvel(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy) |
43 |
#ifdef ALLOW_ADAMSBASHFORTH_3 |
44 |
_RL g_gtnm(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy,2) |
45 |
_RL g_gsnm(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy,2) |
46 |
_RL g_gunm(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy,2) |
47 |
_RL g_gvnm(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy,2) |
48 |
#else |
49 |
_RL g_gtnm1(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy) |
50 |
_RL g_gsnm1(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy) |
51 |
_RL g_gunm1(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy) |
52 |
_RL g_gvnm1(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy) |
53 |
#endif |
54 |
|
55 |
common /g_dynvars_r_2/ |
56 |
& g_etah |
57 |
_RL g_etah(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
58 |
|
59 |
#ifdef ALLOW_AUTODIFF_MONITOR_DIAG |
60 |
common /g_dynvars_diag/ |
61 |
& g_totphihyd, g_rhoinsitu |
62 |
_RL g_rhoinsitu(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy) |
63 |
_RL g_totphihyd(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy) |
64 |
#endif |
65 |
|
66 |
#ifdef ALLOW_CD_CODE |
67 |
common /g_dynvars_cd/ |
68 |
& g_uveld, g_vveld, |
69 |
& g_etanm1, |
70 |
& g_unm1, g_vnm1 |
71 |
_RL g_uveld(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy) |
72 |
_RL g_vveld(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy) |
73 |
_RL g_etanm1(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
74 |
_RL g_unm1(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy) |
75 |
_RL g_vnm1(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy) |
76 |
#endif |
77 |
|
78 |
#ifdef ALLOW_AUTODIFF_MONITOR_PHIHYD |
79 |
cph this is a tricky one since TAF exctracts it from a |
80 |
cph larger common block, so be careful |
81 |
common /g_dynvars_diag/ g_totphihyd |
82 |
_RL g_totphihyd(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy) |
83 |
#endif |
84 |
|
85 |
COMMON /g_ffields_fu/ g_fu |
86 |
COMMON /g_ffields_fv/ g_fv |
87 |
COMMON /g_ffields_Qnet/ g_Qnet |
88 |
COMMON /g_ffields_Qsw/ g_Qsw |
89 |
COMMON /g_ffields_EmPmR/ g_EmPmR |
90 |
COMMON /g_ffields_saltFlux/ g_saltFlux |
91 |
COMMON /g_ffields_SST/ g_SST |
92 |
COMMON /g_ffields_SSS/ g_SSS |
93 |
COMMON /g_ffields_lambdaThetaClimRelax/ g_lambdaThetaClimRelax |
94 |
COMMON /g_ffields_lambdaSaltClimRelax/ g_lambdaSaltClimRelax |
95 |
_RS g_fu (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
96 |
_RS g_fv (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
97 |
_RS g_Qnet (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
98 |
_RS g_Qsw (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
99 |
_RS g_EmPmR (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
100 |
_RS g_saltFlux (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
101 |
_RS g_SST (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
102 |
_RS g_SSS (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
103 |
_RS g_lambdaThetaClimRelax |
104 |
& (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
105 |
_RS g_lambdaSaltClimRelax |
106 |
& (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
107 |
|
108 |
#ifdef ATMOSPHERIC_LOADING |
109 |
COMMON /g_ffields_pload/ g_pload |
110 |
COMMON /g_ffields_sIceLoad/ g_sIceLoad |
111 |
_RS g_pload (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
112 |
_RS g_sIceLoad (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
113 |
#endif |
114 |
|
115 |
#ifdef ALLOW_DIFFKR_CONTROL |
116 |
COMMON /G_DYNVARS_DIFFKR/ |
117 |
& g_diffKr |
118 |
_RL g_diffKr (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy) |
119 |
#endif |
120 |
#ifdef ALLOW_KAPGM_CONTROL |
121 |
COMMON /G_CTRL_FIELDS_KAPGM/ |
122 |
& g_kapgm |
123 |
_RL g_kapgm (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy) |
124 |
#endif |
125 |
#ifdef ALLOW_KAPREDI_CONTROL |
126 |
COMMON /G_CTRL_FIELDS_KAPREDI/ |
127 |
& g_kapredi |
128 |
_RL g_kapredi (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy) |
129 |
#endif |
130 |
#ifdef ALLOW_BOTTOMDRAG_CONTROL |
131 |
COMMON /G_CTRL_FIELDS_BOTTOMDRAG/ |
132 |
& g_bottomdragfld |
133 |
_RL g_bottomdragfld (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
134 |
#endif |
135 |
|
136 |
#ifdef ALLOW_EXF |
137 |
_RL g_hflux(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
138 |
_RL g_sflux(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
139 |
common /g_exf_hsflux_r/ g_hflux, g_sflux |
140 |
_RL g_ustress(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
141 |
_RL g_vstress(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
142 |
common /g_exf_stress_r/ g_ustress, g_vstress |
143 |
# ifdef ALLOW_ATM_TEMP |
144 |
_RL g_atemp (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
145 |
_RL g_aqh (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
146 |
_RL g_hs (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
147 |
_RL g_hl (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
148 |
_RL g_lwflux (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
149 |
_RL g_evap (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
150 |
_RL g_precip (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
151 |
_RL g_snowprecip(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
152 |
common /g_exf_atm_temp_r/ g_atemp, g_aqh, g_hs, g_hl, |
153 |
& g_lwflux, g_evap, g_precip, g_snowprecip |
154 |
# endif /* ALLOW_ATM_TEMP */ |
155 |
|
156 |
_RL g_uwind (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
157 |
_RL g_vwind (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
158 |
common /g_exf_atm_wind_r/ g_uwind, g_vwind |
159 |
|
160 |
# ifdef ALLOW_DOWNWARD_RADIATION |
161 |
_RL g_swdown (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
162 |
_RL g_lwdown (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
163 |
common /g_exf_rad_down_r/ g_swdown, g_lwdown |
164 |
# endif |
165 |
# ifdef ALLOW_CLIMSST_RELAXATION |
166 |
_RL g_climsst(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
167 |
common /g_exf_clim_sst_r/ g_climsst |
168 |
# endif |
169 |
# ifdef ALLOW_CLIMSSS_RELAXATION |
170 |
_RL g_climsss(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
171 |
common /g_exf_clim_sss_r/ g_climsss |
172 |
# endif |
173 |
#endif /* ALLOW_EXF */ |
174 |
|
175 |
#ifdef ALLOW_SEAICE |
176 |
_RL g_area (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
177 |
_RL g_heff (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
178 |
_RL g_hsnow (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
179 |
_RL g_uice (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
180 |
_RL g_vice (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
181 |
common /g_seaice_dynvars_1/ |
182 |
& g_area, g_heff, g_hsnow, g_uice, g_vice |
183 |
#endif |
184 |
|
185 |
#endif /* ALLOW_AUTODIFF_MONITOR */ |