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

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

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

revision 1.13 by heimbach, Mon Sep 12 20:31:53 2005 UTC revision 1.28 by heimbach, Wed Aug 17 15:01:18 2011 UTC
# Line 1  Line 1 
1    C $Header$
2    C $Name$
3    
4  C--   These common blocks are extracted from the  C--   These common blocks are extracted from the
5  C--   automatically created tangent linear code.  C--   automatically created tangent linear code.
6  C--   You need to make sure that they are up-to-date  C--   You need to make sure that they are up-to-date
# Line 13  C--   heimbach@mit.edu 11-Jan-2001 Line 16  C--   heimbach@mit.edu 11-Jan-2001
16  #ifdef ALLOW_EXF  #ifdef ALLOW_EXF
17  # include "EXF_OPTIONS.h"  # include "EXF_OPTIONS.h"
18  #endif  #endif
19  #ifdef ALLOW_SEAICE  c#ifdef ALLOW_SEAICE
20  # include "SEAICE_OPTIONS.h"  c# include "SEAICE_OPTIONS.h"
21    c#endif
22    #ifdef ALLOW_PTRACERS
23    # include "PTRACERS_OPTIONS.h"
24  #endif  #endif
25    
26    
 #ifdef EXACT_CONSERV  
27        common /addynvars_r/        common /addynvars_r/
28       &                     adetan, adetah,       &                     adetan,
29       &                     aduvel, advvel, adwvel,       &                     aduvel, advvel, adwvel,
30       &                     adtheta, adsalt,       &                     adtheta, adsalt,
31       &                     adgu, adgv, adgt, adgs,       &                     adgu, adgv, adgt, adgs,
32       &                     adgunm1, adgvnm1, adgtnm1, adgsnm1  #ifdef ALLOW_ADAMSBASHFORTH_3
33         &                     adgunm, adgvnm, adgtnm, adgsnm
34  #else  #else
       common /addynvars_r/  
      &                     adetan,  
      &                     aduvel, advvel, adwvel,  
      &                     adtheta, adsalt,  
      &                     adgu, adgv, adgt, adgs,  
35       &                     adgunm1, adgvnm1, adgtnm1, adgsnm1       &                     adgunm1, adgvnm1, adgtnm1, adgsnm1
36  #endif  #endif
37        _RL adetan(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)        _RL adetan(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
       _RL adetah(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)  
38        _RL adgs(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)        _RL adgs(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
       _RL adgsnm1(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)        _RL adgt(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
       _RL adgtnm1(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)        _RL adgu(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
       _RL adgunm1(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)        _RL adgv(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
       _RL adgvnm1(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)        _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)        _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)        _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)        _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)        _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  #ifdef ALLOW_CD_CODE
71        common /addynvars_cd/        common /addynvars_cd/
72       &                      aduveld, advveld,       &                      aduveld, advveld,
73       &                       adetanm1,       &                       adetanm1,
74       &                      adunm1, advnm1       &                      adunm1, advnm1
75        _RL aduveld(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)        _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)        _RL advveld(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
# Line 61  C--   heimbach@mit.edu 11-Jan-2001 Line 79  C--   heimbach@mit.edu 11-Jan-2001
79        _RL advnm1(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)        _RL advnm1(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
80  #endif  #endif
81    
82        common /adffields/        COMMON /adffields_fu/ adfu
83       &                   adfu, adfv        COMMON /adffields_fv/ adfv
84       &                 , adqnet, adempmr        COMMON /adffields_Qnet/ adQnet
85  cph     &                 , adsst, adsss        COMMON /adffields_Qsw/ adQsw
86        _RL adfu(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)        COMMON /adffields_dQdT/ addQdT
87        _RL adfv(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)        COMMON /adffields_EmPmR/ adEmPmR
88        _RL adqnet(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)        COMMON /adffields_saltFlux/ adsaltFlux
89        _RL adempmr(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)        COMMON /adffields_SST/ adSST
90  cph      _RL adsst(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)        COMMON /adffields_SSS/ adSSS
91  cph      _RL adsss(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)        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  #ifdef ALLOW_DIFFKR_CONTROL
117        COMMON /ADDYNVARS_DIFFKR/        COMMON /ADDYNVARS_DIFFKR/
118       &                       addiffKr       &                       addiffKr
119        _RL  addiffKr (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)        _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  #endif
131  #if (defined (ALLOW_EDTAUX_CONTROL) || defined (ALLOW_EDTAUY_CONTROL))  #ifdef ALLOW_BOTTOMDRAG_CONTROL
132        double precision adeddytaux(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,        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)       $nsy)
139        double precision adeddytauy(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,        double precision adeddypsiy(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,
140       $nsy)       $nsy)
141        common /adedtauffields/ adeddytaux, adeddytauy        common /adeddypsiffields/ adeddypsix, adeddypsiy
142    
143  #endif  #endif
144    
145  #ifdef ALLOW_EXF  #ifdef ALLOW_EXF
146    
147        _RL adhflux(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)        _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)        _RL adsflux(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
149        common /adexf_hsflux_r/ adhflux, adsflux        common /adexf_hsflux_r/ adhflux, adsflux
150    c
151        _RL adustress(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)        _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)        _RL advstress(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
153        common /adexf_stress_r/ adustress, advstress        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  # ifdef ALLOW_ATM_TEMP
159        _RL adatemp     (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)        _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)        _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)        _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)        _RL adprecip    (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
163        common /adexf_atm_temp_r/ adatemp, adaqh, adlwflux, adprecip        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  # endif
170  # ifdef ALLOW_ATM_WIND  # ifdef ALLOW_ATM_WIND
171        _RL aduwind     (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)        _RL aduwind     (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
# Line 119  cph      _RL adsss(1-olx:snx+olx,1-oly:s Line 186  cph      _RL adsss(1-olx:snx+olx,1-oly:s
186        _RL adclimsss(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)        _RL adclimsss(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
187        common /adexf_clim_sss_r/ adclimsss        common /adexf_clim_sss_r/ adclimsss
188  # endif  # endif
189  #endif  
190    #endif /* ALLOW_EXF */
191    
192  #ifdef ALLOW_SEAICE  #ifdef ALLOW_SEAICE
193        _RL adarea(1-olx:snx+olx,1-oly:sny+oly,3,nsx,nsy)        _RL adarea  (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
194        common /adseaice_dynvars_1/ adarea        _RL adheff  (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
195  c        _RL adhsnow (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
196        _RL adheff(1-olx:snx+olx,1-oly:sny+oly,3,nsx,nsy)        _RL aduice  (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
197        _RL adhsnow(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)        _RL advice  (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
198        common /adseaice_trans/ adheff, adhsnow        common /adseaice_dynvars_1/
199  # ifdef SEAICE_ALLOW_DYNAMICS       &     adarea, adheff, adhsnow, aduice, advice
200        _RL aduice(1-olx:snx+olx,1-oly:sny+oly,3,nsx,nsy)  # ifdef SEAICE_VARIABLE_SALINITY
201        _RL advice(1-olx:snx+olx,1-oly:sny+oly,3,nsx,nsy)        _RL adhsalt (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
202        common /adseaice_dynvars_2/ aduice, advice        common /seaice_salinity_r/
203  # endif       &     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  #endif
241    
242  #endif /* ALLOW_AUTODIFF_MONITOR */  #endif /* ALLOW_AUTODIFF_MONITOR */

Legend:
Removed from v.1.13  
changed lines
  Added in v.1.28

  ViewVC Help
Powered by ViewVC 1.1.22