/[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.1 by heimbach, Fri Sep 28 04:18:58 2001 UTC revision 1.25 by gforget, Wed Nov 10 22:11:17 2010 UTC
# Line 1  Line 1 
1    C $Header$
2    C $Name$
3    
4  CBOP  C--   These common blocks are extracted from the
5  C     !ROUTINE: adcommon.h  C--   automatically created tangent linear code.
6  C     !INTERFACE:  C--   You need to make sure that they are up-to-date
7  C     include "adcommon.h "  C--   (i.e. in right order), and customize them
8  C     !DESCRIPTION: \bv  C--   accordingly.
9  C     *==========================================================*  C--
10  C     | CPP_EEMACROS.h                                              C--   heimbach@mit.edu 11-Jan-2001
11  C     *==========================================================*  
12  C--   | common blocks of adjoint variables extracted from  #ifdef ALLOW_AUTODIFF_MONITOR
13  C     | TAMC-/TAF- generated code for use in adjoint support;  
14  C     | Make sure that adjoint common blocks below are up-to-date  #include "PACKAGES_CONFIG.h"
15  C     | w.r.t. current adjoint code.  
16  C     *==========================================================*  #ifdef ALLOW_EXF
17  C     | CPP_EEMACROS.h                                              # include "EXF_OPTIONS.h"
18  C     *==========================================================*  #endif
19  C     \ev  #ifdef ALLOW_SEAICE
20  CEOP  # include "SEAICE_OPTIONS.h"
21    #endif
22        common /addynvars_r/  
23       &                     adetan, adetanm1,  
24       &                     aduvel, advvel, adwvel,        common /addynvars_r/
25       &                     adtheta, adsalt,       &                     adetan,
26       &                     adgu, adgv, adgt, adgs,       &                     aduvel, advvel, adwvel,
27         &                     adtheta, adsalt,
28         &                     adgu, adgv, adgt, adgs,
29    #ifdef ALLOW_ADAMSBASHFORTH_3
30         &                     adgunm, adgvnm, adgtnm, adgsnm
31    #else
32       &                     adgunm1, adgvnm1, adgtnm1, adgsnm1       &                     adgunm1, adgvnm1, adgtnm1, adgsnm1
33    #endif
34        _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 adetanm1(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)  
35        _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)  
36        _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)  
37        _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)  
38        _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)  
39        _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)
40        _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)
41        _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)
42        _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)
43        _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)
44    #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    
56        common /addynvars_cd/        common /addynvars_r_2/
57         &                     adetah
58          _RL adetah(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
59    
60    #ifdef ALLOW_CD_CODE
61          common /addynvars_cd/
62       &                      aduveld, advveld,       &                      aduveld, advveld,
63       &                      adunm1, advnm1,       &                       adetanm1,
64       &                      adgucd, adgvcd       &                      adunm1, advnm1
65        _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)
66        _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)
67          _RL adetanm1(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
68        _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)
69        _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)
70        _RL adgucd(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)  #endif
       _RL adgvcd(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)  
71    
72        common /adffields/        COMMON /adffields_fu/ adfu
73       &                   adfu, adfv, adqnet, adempmr, adsst, adsss        COMMON /adffields_fv/ adfv
74        _RL adfu(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)        COMMON /adffields_Qnet/ adQnet
75        _RL adfv(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)        COMMON /adffields_Qsw/ adQsw
76        _RL adqnet(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)        COMMON /adffields_dQdT/ addQdT
77        _RL adempmr(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)        COMMON /adffields_EmPmR/ adEmPmR
78        _RL adsst(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)        COMMON /adffields_saltFlux/ adsaltFlux
79        _RL adsss(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)        COMMON /adffields_SST/ adSST
80          COMMON /adffields_SSS/ adSSS
81  #ifdef ALLOW_TR10_CONTROL        COMMON /adffields_lambdaThetaClimRelax/ adlambdaThetaClimRelax
82        common /adtr1_r/        COMMON /adffields_lambdaSaltClimRelax/ adlambdaSaltClimRelax
83       &                 adtr1, adgtr1, adgtr1nm1  #ifdef ATMOSPHERIC_LOADING
84        _RL adgtr1(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)        COMMON /adffields_pload/ adpload
85        _RL adgtr1nm1(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)        COMMON /adffields_sIceLoad/ adsIceLoad
       _RL adtr1(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)  
86  #endif  #endif
87    
88  #ifdef ALLOW_DIFFKR_CONTROL        _RS  adfu       (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
89        common /addynvars_diffkr/        _RS  adfv       (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
90       &                          addiffkr        _RS  adQnet     (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
91        _RL addiffkr(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)        _RS  adQsw      (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
92          _RS  addQdT     (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
93          _RS  adEmPmR    (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
94          _RS  adsaltFlux (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
95          _RS  adSST      (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
96          _RS  adSSS      (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
97          _RS  adlambdaThetaClimRelax
98         &    (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
99          _RS  adlambdaSaltClimRelax
100         &    (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
101    #ifdef ATMOSPHERIC_LOADING
102          _RS  adpload    (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
103          _RS  adsIceLoad (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
104  #endif  #endif
105    
106    #ifdef ALLOW_DIFFKR_CONTROL
107          COMMON /ADDYNVARS_DIFFKR/
108         &                       addiffKr
109          _RL  addiffKr (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
110    #endif
111  #ifdef ALLOW_KAPGM_CONTROL  #ifdef ALLOW_KAPGM_CONTROL
112        common /addynvars_kapgm/        COMMON /ADDYNVARS_KAPGM/
113       &                          adkapgm       &                       adkapgm
114        _RL adkapgm(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)        _RL  adkapgm (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
115    #endif
116    #ifdef ALLOW_KAPREDI_CONTROL
117          COMMON /ADDYNVARS_KAPREDI/
118         &                       adkapredi
119          _RL  adkapredi (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
120    #endif
121    #ifdef ALLOW_BOTTOMDRAG_CONTROL
122          COMMON /ADDYNVARS_BOTTOMDRAG/
123         &                adbottomdragfld
124          _RL  adbottomdragfld (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
125    #endif
126    #ifdef ALLOW_EDDYPSI_CONTROL
127          double precision adeddypsix(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,
128         $nsy)
129          double precision adeddypsiy(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,
130         $nsy)
131          common /adeddypsiffields/ adeddypsix, adeddypsiy
132    
133    #endif
134    
135    #ifdef ALLOW_EXF
136          _RL adhflux(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
137          _RL adsflux(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
138          common /adexf_hsflux_r/ adhflux, adsflux
139          _RL adustress(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
140          _RL advstress(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
141          common /adexf_stress_r/ adustress, advstress
142    # ifdef ALLOW_ATM_TEMP
143          _RL adatemp     (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
144          _RL adaqh       (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
145          _RL adlwflux    (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
146          _RL adprecip    (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
147          common /adexf_atm_temp_r/ adatemp, adaqh, adlwflux, adprecip
148    # endif
149    # ifdef ALLOW_ATM_WIND
150          _RL aduwind     (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
151          _RL advwind     (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
152          common /adexf_atm_wind_r/ aduwind, advwind
153    # endif
154    # ifdef ALLOW_DOWNWARD_RADIATION
155          _RL adswdown    (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
156          _RL adlwdown    (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
157          common /adexf_rad_down_r/
158         &     adswdown, adlwdown
159    # endif
160    # ifdef ALLOW_CLIMSST_RELAXATION
161          _RL adclimsst(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
162          common /adexf_clim_sst_r/ adclimsst
163    # endif
164    # ifdef ALLOW_CLIMSSS_RELAXATION
165          _RL adclimsss(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
166          common /adexf_clim_sss_r/ adclimsss
167    # endif
168    #endif
169    
170    #ifdef ALLOW_SEAICE
171          _RL adarea  (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
172          _RL adheff  (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
173          _RL adhsnow (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
174          _RL aduice  (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
175          _RL advice  (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
176          common /adseaice_dynvars_1/
177         &     adarea, adheff, adhsnow, aduice, advice
178  #endif  #endif
179    
180    #ifdef ALLOW_GGL90
181          _RL adggl90tke     (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
182          _RL adggl90diffkr  (1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
183          common /adggl90_fields/
184         &     adggl90tke, adggl90diffkr
185    #endif
186    
187    #ifdef ALLOW_DEPTH_CONTROL
188          _RL adr_low_control(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
189          _RL adhfacc(1-olx:snx+olx,1-oly:sny+oly,1:nr,nsx,nsy)
190          _RL adhfacs(1-olx:snx+olx,1-oly:sny+oly,1:nr,nsx,nsy)
191          _RL adhfacw(1-olx:snx+olx,1-oly:sny+oly,1:nr,nsx,nsy)
192          _RL adrecip_hfacc(1-olx:snx+olx,1-oly:sny+oly,1:nr,nsx,nsy)
193          _RL adrecip_hfacs(1-olx:snx+olx,1-oly:sny+oly,1:nr,nsx,nsy)
194          _RL adrecip_hfacw(1-olx:snx+olx,1-oly:sny+oly,1:nr,nsx,nsy)
195          common /adgrid_r/ adr_low_control,
196         &                  adrecip_hfacc, adrecip_hfacw, adrecip_hfacs
197          common /adgrid_r_c/ adhfacc
198          common /adgrid_r_s/ adhfacs
199          common /adgrid_r_w/ adhfacw
200    #endif /* ALLOW_DEPTH_CONTROL */
201    
202    #endif /* ALLOW_AUTODIFF_MONITOR */

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.25

  ViewVC Help
Powered by ViewVC 1.1.22