/[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.3 by heimbach, Fri Jan 11 18:52:13 2002 UTC revision 1.39 by jmc, Sat Dec 2 16:46:32 2017 UTC
# Line 1  Line 1 
1     These lines are uncommented on purpose to provoke  C $Header$
2     a model crash. You need to customize this header file  C $Name$
    to your problem.  
    These common blocks are extracted from the  
    automatically created tangent linear code.  
    You need to make sure that they are up-to-date  
    (i.e. in right order), and customize them  
    accordingly.  
3    
4     heimbach@mit.edu 11-Jan-2001  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 accordingly.
8    C--
9    C--   heimbach@mit.edu 11-Jan-2001
10    
11        common /addynvars_r/  #ifdef ALLOW_AUTODIFF_MONITOR
12    
13          common /addynvars_r/
14       &                     adetan,       &                     adetan,
15       &                     aduvel, advvel, adwvel,       &                     aduvel, advvel, adwvel,
16       &                     adtheta, adsalt,       &                     adtheta, adsalt,
17       &                     adgu, adgv, adgt, adgs,       &                     adgu, adgv,
18    #ifdef ALLOW_ADAMSBASHFORTH_3
19         &                     adgunm, adgvnm, adgtnm, adgsnm
20    #else
21       &                     adgunm1, adgvnm1, adgtnm1, adgsnm1       &                     adgunm1, adgvnm1, adgtnm1, adgsnm1
22    #endif
23        _RL adetan(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)        _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)        _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)  
25        _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)  
26        _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)  
27        _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)  
28        _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)
29        _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)
30        _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)
31        _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)
32        _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)
33    #ifdef ALLOW_ADAMSBASHFORTH_3
34          _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    
45          common /addynvars_r_2/
46         &                     adetah
47          _RL adetah(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
48    
49        common /addynvars_cd/  #ifdef ALLOW_AUTODIFF_MONITOR_DIAG
50          common /addynvars_diag/
51         &                     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    #ifdef ALLOW_CD_CODE
57          common /addynvars_cd/
58       &                      aduveld, advveld,       &                      aduveld, advveld,
59       &                       adetanm1,       &                       adetanm1,
60       &                      adunm1, advnm1,       &                      adunm1, advnm1
      &                      adgucd, adgvcd  
61        _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)
62        _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)
63        _RL adetanm1(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)        _RL adetanm1(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
64        _RL adunm1(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)        _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)        _RL advnm1(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
66        _RL adgucd(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)  #endif
67        _RL adgvcd(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)  
68          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    
91    #ifdef ATMOSPHERIC_LOADING
92          COMMON /adffields_pload/ adpload
93          COMMON /adffields_sIceLoad/ adsIceLoad
94          _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    
98    #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    #endif
103    #ifdef ALLOW_KAPGM_CONTROL
104          COMMON /ADCTRL_FIELDS_KAPGM/
105         &                       adkapgm
106          _RL  adkapgm (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
107    #endif
108    #ifdef ALLOW_KAPREDI_CONTROL
109          COMMON /ADCTRL_FIELDS_KAPREDI/
110         &                       adkapredi
111          _RL  adkapredi (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
112    #endif
113    #ifdef ALLOW_BOTTOMDRAG_CONTROL
114          COMMON /ADCTRL_FIELDS_BOTTOMDRAG/
115         &                adbottomdragfld
116          _RL  adbottomdragfld (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
117    #endif
118    #ifdef ALLOW_EDDYPSI_CONTROL
119          _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          common /adeddypsiffields/ adeddypsix, adeddypsiy
122    #endif
123    
124    #ifdef ALLOW_EXF
125    
126          _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    
130          _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    
134          _RL adwspeed(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
135          common /adexf_wspeed_r/ adwspeed
136    
137    # ifdef ALLOW_RUNOFF
138          _RL adrunoff    (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
139          _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    # endif
143    
144    # ifdef ALLOW_ATM_TEMP
145          _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          _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          _RL adlwflux    (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
150          _RL adevap      (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
151          _RL adprecip    (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
152          _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    #  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    # endif /* ALLOW_ATM_TEMP */
160    
161          _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    
165    # 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          common /adexf_rad_down_r/ adswdown, adlwdown
169    # endif
170    # 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    
179    #endif /* ALLOW_EXF */
180    
181    #ifdef ALLOW_SEAICE
182          _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          common /adseaice_dynvars_1/
188         &     adarea, adheff, adhsnow, aduice, advice
189    # ifdef SEAICE_VARIABLE_SALINITY
190          _RL adhsalt (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
191          common /seaice_salinity_r/ adhsalt
192    # endif
193    #endif /* ALLOW_SEAICE */
194    
195    #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          common /adggl90_fields/ adggl90tke, adggl90diffkr
199    #endif
200    
201    #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          common /adgrid_r/ adr_low_control,
210         &                  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  cph      common /adtr1_r/  #endif /* ALLOW_AUTODIFF_MONITOR */
 cph     &                 adtr1, adgtr1, adgtr1nm1  
 cph      _RL adgtr1(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)  
 cph      _RL adgtr1nm1(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)  
 cph      _RL adtr1(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)  
   
       common /adffields/  
      &                   adfu, adfv  
      &                 , adqnet, adempmr  
 cph     &                 , adsst, adsss  
       _RL adfu(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)  
       _RL adfv(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)  
       _RL adqnet(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)  
       _RL adempmr(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)  
 cph      _RL adsst(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)  
 cph      _RL adsss(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)  

Legend:
Removed from v.1.3  
changed lines
  Added in v.1.39

  ViewVC Help
Powered by ViewVC 1.1.22