/[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.39 - (hide annotations) (download)
Sat Dec 2 16:46:32 2017 UTC (6 years, 6 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint66o, checkpoint66n, checkpoint66m, HEAD
Changes since 1.38: +18 -17 lines
File MIME type: text/plain
- fix/update common bloc "adexf_atm_temp_r": this fixes output of
  AD variable adprecip
- fix common block name for runoff (not sure if it ever worked before)

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

  ViewVC Help
Powered by ViewVC 1.1.22