/[MITgcm]/MITgcm/pkg/autodiff/adcommon.h
ViewVC logotype

Contents of /MITgcm/pkg/autodiff/adcommon.h

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


Revision 1.28 - (show annotations) (download)
Wed Aug 17 15:01:18 2011 UTC (13 years, 1 month ago) by heimbach
Branch: MAIN
Changes since 1.27: +17 -1 lines
File MIME type: text/plain
Start adjoint monitor for ptracers

1 C $Header: /u/gcmpack/MITgcm/pkg/autodiff/adcommon.h,v 1.27 2011/06/16 22:49:15 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 c#ifdef ALLOW_SEAICE
20 c# include "SEAICE_OPTIONS.h"
21 c#endif
22 #ifdef ALLOW_PTRACERS
23 # include "PTRACERS_OPTIONS.h"
24 #endif
25
26
27 common /addynvars_r/
28 & adetan,
29 & aduvel, advvel, adwvel,
30 & adtheta, adsalt,
31 & adgu, adgv, adgt, adgs,
32 #ifdef ALLOW_ADAMSBASHFORTH_3
33 & adgunm, adgvnm, adgtnm, adgsnm
34 #else
35 & adgunm1, adgvnm1, adgtnm1, adgsnm1
36 #endif
37 _RL adetan(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
38 _RL adgs(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
39 _RL adgt(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
40 _RL adgu(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
41 _RL adgv(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
42 _RL adsalt(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
43 _RL adtheta(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
44 _RL aduvel(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
45 _RL advvel(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
46 _RL adwvel(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
47 #ifdef ALLOW_ADAMSBASHFORTH_3
48 _RL adgtnm(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy,2)
49 _RL adgsnm(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy,2)
50 _RL adgunm(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy,2)
51 _RL adgvnm(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy,2)
52 #else
53 _RL adgtnm1(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
54 _RL adgsnm1(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
55 _RL adgunm1(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
56 _RL adgvnm1(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
57 #endif
58
59 common /addynvars_r_2/
60 & adetah
61 _RL adetah(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
62
63 #ifdef ALLOW_AUTODIFF_MONITOR_DIAG
64 common /addynvars_diag/
65 & adtotphihyd, adrhoinsitu
66 _RL adrhoinsitu(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
67 _RL adtotphihyd(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
68 #endif
69
70 #ifdef ALLOW_CD_CODE
71 common /addynvars_cd/
72 & aduveld, advveld,
73 & adetanm1,
74 & adunm1, advnm1
75 _RL aduveld(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
76 _RL advveld(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
77 _RL adetanm1(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
78 _RL adunm1(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
79 _RL advnm1(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
80 #endif
81
82 COMMON /adffields_fu/ adfu
83 COMMON /adffields_fv/ adfv
84 COMMON /adffields_Qnet/ adQnet
85 COMMON /adffields_Qsw/ adQsw
86 COMMON /adffields_dQdT/ addQdT
87 COMMON /adffields_EmPmR/ adEmPmR
88 COMMON /adffields_saltFlux/ adsaltFlux
89 COMMON /adffields_SST/ adSST
90 COMMON /adffields_SSS/ adSSS
91 COMMON /adffields_lambdaThetaClimRelax/ adlambdaThetaClimRelax
92 COMMON /adffields_lambdaSaltClimRelax/ adlambdaSaltClimRelax
93 #ifdef ATMOSPHERIC_LOADING
94 COMMON /adffields_pload/ adpload
95 COMMON /adffields_sIceLoad/ adsIceLoad
96 #endif
97
98 _RS adfu (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
99 _RS adfv (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
100 _RS adQnet (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
101 _RS adQsw (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
102 _RS addQdT (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
103 _RS adEmPmR (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
104 _RS adsaltFlux (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
105 _RS adSST (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
106 _RS adSSS (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
107 _RS adlambdaThetaClimRelax
108 & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
109 _RS adlambdaSaltClimRelax
110 & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
111 #ifdef ATMOSPHERIC_LOADING
112 _RS adpload (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
113 _RS adsIceLoad (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
114 #endif
115
116 #ifdef ALLOW_DIFFKR_CONTROL
117 COMMON /ADDYNVARS_DIFFKR/
118 & addiffKr
119 _RL addiffKr (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
120 #endif
121 #ifdef ALLOW_KAPGM_CONTROL
122 COMMON /ADDYNVARS_KAPGM/
123 & adkapgm
124 _RL adkapgm (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
125 #endif
126 #ifdef ALLOW_KAPREDI_CONTROL
127 COMMON /ADDYNVARS_KAPREDI/
128 & adkapredi
129 _RL adkapredi (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
130 #endif
131 #ifdef ALLOW_BOTTOMDRAG_CONTROL
132 COMMON /ADDYNVARS_BOTTOMDRAG/
133 & adbottomdragfld
134 _RL adbottomdragfld (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
135 #endif
136 #ifdef ALLOW_EDDYPSI_CONTROL
137 double precision adeddypsix(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,
138 $nsy)
139 double precision adeddypsiy(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,
140 $nsy)
141 common /adeddypsiffields/ adeddypsix, adeddypsiy
142
143 #endif
144
145 #ifdef ALLOW_EXF
146
147 _RL adhflux(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
148 _RL adsflux(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
149 common /adexf_hsflux_r/ adhflux, adsflux
150 c
151 _RL adustress(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
152 _RL advstress(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
153 common /adexf_stress_r/ adustress, advstress
154 c
155 _RL adwspeed(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
156 common /adexf_wspeed_r/ adwspeed
157
158 # ifdef ALLOW_ATM_TEMP
159 _RL adatemp (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
160 _RL adaqh (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
161 _RL adlwflux (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
162 _RL adprecip (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
163 common /adexf_atm_temp_r/ adatemp, adaqh, adlwflux,
164 & adprecip
165 # ifdef SHORTWAVE_HEATING
166 _RL adswflux (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
167 common /adexf_swflux_r/ adswflux
168 # endif
169 # endif
170 # ifdef ALLOW_ATM_WIND
171 _RL aduwind (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
172 _RL advwind (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
173 common /adexf_atm_wind_r/ aduwind, advwind
174 # endif
175 # ifdef ALLOW_DOWNWARD_RADIATION
176 _RL adswdown (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
177 _RL adlwdown (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
178 common /adexf_rad_down_r/
179 & adswdown, adlwdown
180 # endif
181 # ifdef ALLOW_CLIMSST_RELAXATION
182 _RL adclimsst(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
183 common /adexf_clim_sst_r/ adclimsst
184 # endif
185 # ifdef ALLOW_CLIMSSS_RELAXATION
186 _RL adclimsss(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
187 common /adexf_clim_sss_r/ adclimsss
188 # endif
189
190 #endif /* ALLOW_EXF */
191
192 #ifdef ALLOW_SEAICE
193 _RL adarea (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
194 _RL adheff (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
195 _RL adhsnow (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
196 _RL aduice (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
197 _RL advice (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
198 common /adseaice_dynvars_1/
199 & adarea, adheff, adhsnow, aduice, advice
200 # ifdef SEAICE_VARIABLE_SALINITY
201 _RL adhsalt (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
202 common /seaice_salinity_r/
203 & adhsalt
204 # endif
205 #endif /* ALLOW_SEAICE */
206
207 #ifdef ALLOW_GGL90
208 _RL adggl90tke (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
209 _RL adggl90diffkr (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
210 common /adggl90_fields/
211 & adggl90tke, adggl90diffkr
212 #endif
213
214 #ifdef ALLOW_DEPTH_CONTROL
215 _RL adr_low_control(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
216 _RL adhfacc(1-olx:snx+olx,1-oly:sny+oly,1:nr,nsx,nsy)
217 _RL adhfacs(1-olx:snx+olx,1-oly:sny+oly,1:nr,nsx,nsy)
218 _RL adhfacw(1-olx:snx+olx,1-oly:sny+oly,1:nr,nsx,nsy)
219 _RL adrecip_hfacc(1-olx:snx+olx,1-oly:sny+oly,1:nr,nsx,nsy)
220 _RL adrecip_hfacs(1-olx:snx+olx,1-oly:sny+oly,1:nr,nsx,nsy)
221 _RL adrecip_hfacw(1-olx:snx+olx,1-oly:sny+oly,1:nr,nsx,nsy)
222 common /adgrid_r/ adr_low_control,
223 & adrecip_hfacc, adrecip_hfacw, adrecip_hfacs
224 common /adgrid_r_c/ adhfacc
225 common /adgrid_r_s/ adhfacs
226 common /adgrid_r_w/ adhfacw
227 #endif /* ALLOW_DEPTH_CONTROL */
228
229 #ifdef ALLOW_PTRACERS
230 _RL adgptr(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy,
231 $ptracers_num)
232 _RL adgptrnm1(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy,
233 $ptracers_num)
234 _RL adptracer(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy,
235 $ptracers_num)
236 _RL adsurfaceforcingptr(1-olx:snx+olx,1-oly:sny+oly,
237 $nsx,nsy,ptracers_num)
238 common /adptracers_fields/ adptracer, adgptr, adgptrnm1,
239 $adsurfaceforcingptr
240 #endif
241
242 #endif /* ALLOW_AUTODIFF_MONITOR */

  ViewVC Help
Powered by ViewVC 1.1.22