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

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

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


Revision 1.26 - (hide annotations) (download)
Thu Feb 24 07:30:42 2011 UTC (13 years, 4 months ago) by heimbach
Branch: MAIN
CVS Tags: checkpoint62v, checkpoint62u, checkpoint62t, checkpoint62w, checkpoint62y, checkpoint62x
Changes since 1.25: +8 -1 lines
File MIME type: text/plain
Add adjoint output for DYNVARS_DIAG

1 heimbach 1.26 C $Header: /u/gcmpack/MITgcm/pkg/autodiff/adcommon.h,v 1.25 2010/11/10 22:11:17 gforget Exp $
2 jmc 1.19 C $Name: $
3    
4 heimbach 1.5 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 heimbach 1.4
12     #ifdef ALLOW_AUTODIFF_MONITOR
13    
14 heimbach 1.10 #include "PACKAGES_CONFIG.h"
15    
16     #ifdef ALLOW_EXF
17     # include "EXF_OPTIONS.h"
18     #endif
19 heimbach 1.11 #ifdef ALLOW_SEAICE
20     # include "SEAICE_OPTIONS.h"
21     #endif
22 heimbach 1.10
23 heimbach 1.13
24     common /addynvars_r/
25 heimbach 1.14 & adetan,
26 heimbach 1.13 & aduvel, advvel, adwvel,
27 jmc 1.19 & adtheta, adsalt,
28     & adgu, adgv, adgt, adgs,
29 gforget 1.24 #ifdef ALLOW_ADAMSBASHFORTH_3
30     & adgunm, adgvnm, adgtnm, adgsnm
31     #else
32 heimbach 1.13 & adgunm1, adgvnm1, adgtnm1, adgsnm1
33 gforget 1.24 #endif
34 heimbach 1.1 _RL adetan(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
35     _RL adgs(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
36     _RL adgt(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
37     _RL adgu(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
38     _RL adgv(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
39     _RL adsalt(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
40     _RL adtheta(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
41     _RL aduvel(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
42     _RL advvel(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
43     _RL adwvel(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
44 gforget 1.24 #ifdef ALLOW_ADAMSBASHFORTH_3
45     _RL adgtnm(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy,2)
46     _RL adgsnm(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy,2)
47     _RL adgunm(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy,2)
48     _RL adgvnm(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy,2)
49     #else
50     _RL adgtnm1(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
51     _RL adgsnm1(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
52     _RL adgunm1(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
53     _RL adgvnm1(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
54     #endif
55 heimbach 1.1
56 heimbach 1.14 common /addynvars_r_2/
57     & adetah
58     _RL adetah(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
59    
60 heimbach 1.26 #ifdef ALLOW_AUTODIFF_MONITOR_DIAG
61     common /addynvars_diag/
62     & adtotphihyd, adrhoinsitu
63     _RL adrhoinsitu(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
64     _RL adtotphihyd(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
65     #endif
66    
67 heimbach 1.5 #ifdef ALLOW_CD_CODE
68 jmc 1.19 common /addynvars_cd/
69 heimbach 1.1 & aduveld, advveld,
70 jmc 1.19 & adetanm1,
71 heimbach 1.8 & adunm1, advnm1
72 heimbach 1.1 _RL aduveld(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
73     _RL advveld(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
74 heimbach 1.3 _RL adetanm1(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
75 heimbach 1.1 _RL adunm1(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
76     _RL advnm1(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
77 heimbach 1.5 #endif
78 heimbach 1.3
79 heimbach 1.16 COMMON /adffields_fu/ adfu
80     COMMON /adffields_fv/ adfv
81     COMMON /adffields_Qnet/ adQnet
82     COMMON /adffields_Qsw/ adQsw
83     COMMON /adffields_dQdT/ addQdT
84     COMMON /adffields_EmPmR/ adEmPmR
85     COMMON /adffields_saltFlux/ adsaltFlux
86     COMMON /adffields_SST/ adSST
87     COMMON /adffields_SSS/ adSSS
88     COMMON /adffields_lambdaThetaClimRelax/ adlambdaThetaClimRelax
89     COMMON /adffields_lambdaSaltClimRelax/ adlambdaSaltClimRelax
90     #ifdef ATMOSPHERIC_LOADING
91     COMMON /adffields_pload/ adpload
92     COMMON /adffields_sIceLoad/ adsIceLoad
93     #endif
94    
95     _RS adfu (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
96     _RS adfv (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
97     _RS adQnet (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
98     _RS adQsw (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
99     _RS addQdT (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
100     _RS adEmPmR (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
101     _RS adsaltFlux (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
102     _RS adSST (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
103     _RS adSSS (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
104     _RS adlambdaThetaClimRelax
105     & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
106     _RS adlambdaSaltClimRelax
107     & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
108     #ifdef ATMOSPHERIC_LOADING
109     _RS adpload (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
110     _RS adsIceLoad (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
111     #endif
112 heimbach 1.4
113 heimbach 1.6 #ifdef ALLOW_DIFFKR_CONTROL
114     COMMON /ADDYNVARS_DIFFKR/
115     & addiffKr
116     _RL addiffKr (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
117 jmc 1.19 #endif
118 heimbach 1.17 #ifdef ALLOW_KAPGM_CONTROL
119     COMMON /ADDYNVARS_KAPGM/
120     & adkapgm
121     _RL adkapgm (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
122     #endif
123 gforget 1.20 #ifdef ALLOW_KAPREDI_CONTROL
124     COMMON /ADDYNVARS_KAPREDI/
125     & adkapredi
126     _RL adkapredi (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
127     #endif
128 gforget 1.18 #ifdef ALLOW_BOTTOMDRAG_CONTROL
129     COMMON /ADDYNVARS_BOTTOMDRAG/
130     & adbottomdragfld
131     _RL adbottomdragfld (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
132 jmc 1.19 #endif
133 gforget 1.21 #ifdef ALLOW_EDDYPSI_CONTROL
134     double precision adeddypsix(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,
135 heimbach 1.7 $nsy)
136 gforget 1.21 double precision adeddypsiy(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,
137 heimbach 1.7 $nsy)
138 gforget 1.21 common /adeddypsiffields/ adeddypsix, adeddypsiy
139 heimbach 1.7
140     #endif
141 heimbach 1.6
142 heimbach 1.5 #ifdef ALLOW_EXF
143     _RL adhflux(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
144     _RL adsflux(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
145     common /adexf_hsflux_r/ adhflux, adsflux
146     _RL adustress(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
147     _RL advstress(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
148     common /adexf_stress_r/ adustress, advstress
149 heimbach 1.10 # ifdef ALLOW_ATM_TEMP
150 heimbach 1.5 _RL adatemp (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
151     _RL adaqh (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
152     _RL adlwflux (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
153     _RL adprecip (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
154     common /adexf_atm_temp_r/ adatemp, adaqh, adlwflux, adprecip
155     # endif
156     # ifdef ALLOW_ATM_WIND
157     _RL aduwind (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
158     _RL advwind (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
159     common /adexf_atm_wind_r/ aduwind, advwind
160     # endif
161 heimbach 1.10 # ifdef ALLOW_DOWNWARD_RADIATION
162     _RL adswdown (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
163     _RL adlwdown (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
164     common /adexf_rad_down_r/
165     & adswdown, adlwdown
166     # endif
167 heimbach 1.12 # ifdef ALLOW_CLIMSST_RELAXATION
168     _RL adclimsst(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
169     common /adexf_clim_sst_r/ adclimsst
170     # endif
171     # ifdef ALLOW_CLIMSSS_RELAXATION
172     _RL adclimsss(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
173     common /adexf_clim_sss_r/ adclimsss
174     # endif
175 heimbach 1.5 #endif
176    
177 heimbach 1.11 #ifdef ALLOW_SEAICE
178 mlosch 1.23 _RL adarea (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
179     _RL adheff (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
180     _RL adhsnow (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
181     _RL aduice (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
182     _RL advice (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
183     common /adseaice_dynvars_1/
184     & adarea, adheff, adhsnow, aduice, advice
185 heimbach 1.11 #endif
186    
187 gforget 1.25 #ifdef ALLOW_GGL90
188     _RL adggl90tke (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
189     _RL adggl90diffkr (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
190     common /adggl90_fields/
191     & adggl90tke, adggl90diffkr
192     #endif
193    
194 heimbach 1.15 #ifdef ALLOW_DEPTH_CONTROL
195     _RL adr_low_control(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
196     _RL adhfacc(1-olx:snx+olx,1-oly:sny+oly,1:nr,nsx,nsy)
197     _RL adhfacs(1-olx:snx+olx,1-oly:sny+oly,1:nr,nsx,nsy)
198     _RL adhfacw(1-olx:snx+olx,1-oly:sny+oly,1:nr,nsx,nsy)
199     _RL adrecip_hfacc(1-olx:snx+olx,1-oly:sny+oly,1:nr,nsx,nsy)
200     _RL adrecip_hfacs(1-olx:snx+olx,1-oly:sny+oly,1:nr,nsx,nsy)
201     _RL adrecip_hfacw(1-olx:snx+olx,1-oly:sny+oly,1:nr,nsx,nsy)
202 jmc 1.19 common /adgrid_r/ adr_low_control,
203 heimbach 1.15 & adrecip_hfacc, adrecip_hfacw, adrecip_hfacs
204     common /adgrid_r_c/ adhfacc
205     common /adgrid_r_s/ adhfacs
206     common /adgrid_r_w/ adhfacw
207     #endif /* ALLOW_DEPTH_CONTROL */
208    
209 heimbach 1.4 #endif /* ALLOW_AUTODIFF_MONITOR */

  ViewVC Help
Powered by ViewVC 1.1.22