/[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.2 by heimbach, Tue Nov 20 23:27:29 2001 UTC revision 1.20 by gforget, Sat Feb 2 02:35:26 2008 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  WARNING:  
23  THESE LINES ARE MEANT TO PROVOKE A COMPILER CRASH.  
24  THIS IS ONLY A TEMPLATE FILE.        common /addynvars_r/
25  YOU NEED TO CUSTOMIZE THIS TO YOUR RESPECTIVE SETUP,       &                     adetan,
26  E.G. BY PLACING A COPY IN YOUR VERIFICATION DIRECTORY.       &                     aduvel, advvel, adwvel,
27  IT IS IMPORTANT THAT YOU MAKE SURE THAT THE COMMON BLOCKS       &                     adtheta, adsalt,
28  BELOW CORRESPOND TO THE COMMON BLOCKS IN THE AUTOMATICALLY       &                     adgu, adgv, adgt, adgs,
 CREATED ADJOINT CODE.  
   
       common /addynvars_r/  
      &                     adetan, adetanm1,  
      &                     aduvel, advvel, adwvel,  
      &                     adtheta, adsalt,  
      &                     adgu, adgv, adgt, adgs,  
29       &                     adgunm1, adgvnm1, adgtnm1, adgsnm1       &                     adgunm1, adgvnm1, adgtnm1, adgsnm1
30        _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)  
31        _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)
32        _RL adgsnm1(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)        _RL adgsnm1(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
33        _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)
# Line 48  CREATED ADJOINT CODE. Line 42  CREATED ADJOINT CODE.
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    
45        common /addynvars_cd/        common /addynvars_r_2/
46         &                     adetah
47          _RL adetah(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
48    
49    #ifdef ALLOW_CD_CODE
50          common /addynvars_cd/
51       &                      aduveld, advveld,       &                      aduveld, advveld,
52       &                      adunm1, advnm1,       &                       adetanm1,
53       &                      adgucd, adgvcd       &                      adunm1, advnm1
54        _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)
55        _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)
56          _RL adetanm1(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
57        _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)
58        _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)
59        _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)  
60    
61        common /adffields/        COMMON /adffields_fu/ adfu
62       &                   adfu, adfv, adqnet, adempmr, adsst, adsss        COMMON /adffields_fv/ adfv
63        _RL adfu(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)        COMMON /adffields_Qnet/ adQnet
64        _RL adfv(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)        COMMON /adffields_Qsw/ adQsw
65        _RL adqnet(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)        COMMON /adffields_dQdT/ addQdT
66        _RL adempmr(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)        COMMON /adffields_EmPmR/ adEmPmR
67        _RL adsst(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)        COMMON /adffields_saltFlux/ adsaltFlux
68        _RL adsss(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)        COMMON /adffields_SST/ adSST
69          COMMON /adffields_SSS/ adSSS
70  #ifdef ALLOW_TR10_CONTROL        COMMON /adffields_lambdaThetaClimRelax/ adlambdaThetaClimRelax
71        common /adtr1_r/        COMMON /adffields_lambdaSaltClimRelax/ adlambdaSaltClimRelax
72       &                 adtr1, adgtr1, adgtr1nm1  #ifdef ATMOSPHERIC_LOADING
73        _RL adgtr1(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)        COMMON /adffields_pload/ adpload
74        _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)  
75  #endif  #endif
76    
77  #ifdef ALLOW_DIFFKR_CONTROL        _RS  adfu       (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
78        common /addynvars_diffkr/        _RS  adfv       (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
79       &                          addiffkr        _RS  adQnet     (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
80        _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)
81          _RS  addQdT     (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    #ifdef ATMOSPHERIC_LOADING
91          _RS  adpload    (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
92          _RS  adsIceLoad (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
93  #endif  #endif
94    
95    #ifdef ALLOW_DIFFKR_CONTROL
96          COMMON /ADDYNVARS_DIFFKR/
97         &                       addiffKr
98          _RL  addiffKr (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
99    #endif
100  #ifdef ALLOW_KAPGM_CONTROL  #ifdef ALLOW_KAPGM_CONTROL
101        common /addynvars_kapgm/        COMMON /ADDYNVARS_KAPGM/
102       &                          adkapgm       &                       adkapgm
103        _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)
104    #endif
105    #ifdef ALLOW_KAPREDI_CONTROL
106          COMMON /ADDYNVARS_KAPREDI/
107         &                       adkapredi
108          _RL  adkapredi (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
109    #endif
110    #ifdef ALLOW_BOTTOMDRAG_CONTROL
111          COMMON /ADDYNVARS_BOTTOMDRAG/
112         &                adbottomdragfld
113          _RL  adbottomdragfld (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
114  #endif  #endif
115    #if (defined (ALLOW_EDTAUX_CONTROL) || defined (ALLOW_EDTAUY_CONTROL))
116          double precision adeddytaux(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,
117         $nsy)
118          double precision adeddytauy(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,
119         $nsy)
120          common /adedtauffields/ adeddytaux, adeddytauy
121    
122    #endif
123    
124    #ifdef ALLOW_EXF
125          _RL adhflux(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
126          _RL adsflux(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
127          common /adexf_hsflux_r/ adhflux, adsflux
128          _RL adustress(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
129          _RL advstress(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
130          common /adexf_stress_r/ adustress, advstress
131    # ifdef ALLOW_ATM_TEMP
132          _RL adatemp     (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
133          _RL adaqh       (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
134          _RL adlwflux    (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
135          _RL adprecip    (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
136          common /adexf_atm_temp_r/ adatemp, adaqh, adlwflux, adprecip
137    # endif
138    # ifdef ALLOW_ATM_WIND
139          _RL aduwind     (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
140          _RL advwind     (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
141          common /adexf_atm_wind_r/ aduwind, advwind
142    # endif
143    # ifdef ALLOW_DOWNWARD_RADIATION
144          _RL adswdown    (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
145          _RL adlwdown    (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
146          common /adexf_rad_down_r/
147         &     adswdown, adlwdown
148    # endif
149    # ifdef ALLOW_CLIMSST_RELAXATION
150          _RL adclimsst(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
151          common /adexf_clim_sst_r/ adclimsst
152    # endif
153    # ifdef ALLOW_CLIMSSS_RELAXATION
154          _RL adclimsss(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
155          common /adexf_clim_sss_r/ adclimsss
156    # endif
157    #endif
158    
159    #ifdef ALLOW_SEAICE
160          _RL adarea(1-olx:snx+olx,1-oly:sny+oly,3,nsx,nsy)
161          common /adseaice_dynvars_1/ adarea
162    c
163          _RL adheff(1-olx:snx+olx,1-oly:sny+oly,3,nsx,nsy)
164          _RL adhsnow(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
165          common /adseaice_trans/ adheff, adhsnow
166    # ifdef SEAICE_ALLOW_DYNAMICS
167          _RL aduice(1-olx:snx+olx,1-oly:sny+oly,3,nsx,nsy)
168          _RL advice(1-olx:snx+olx,1-oly:sny+oly,3,nsx,nsy)
169          common /adseaice_dynvars_2/ aduice, advice
170    # endif
171    #endif
172    
173    #ifdef ALLOW_DEPTH_CONTROL
174          _RL adr_low_control(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
175          _RL adhfacc(1-olx:snx+olx,1-oly:sny+oly,1:nr,nsx,nsy)
176          _RL adhfacs(1-olx:snx+olx,1-oly:sny+oly,1:nr,nsx,nsy)
177          _RL adhfacw(1-olx:snx+olx,1-oly:sny+oly,1:nr,nsx,nsy)
178          _RL adrecip_hfacc(1-olx:snx+olx,1-oly:sny+oly,1:nr,nsx,nsy)
179          _RL adrecip_hfacs(1-olx:snx+olx,1-oly:sny+oly,1:nr,nsx,nsy)
180          _RL adrecip_hfacw(1-olx:snx+olx,1-oly:sny+oly,1:nr,nsx,nsy)
181          common /adgrid_r/ adr_low_control,
182         &                  adrecip_hfacc, adrecip_hfacw, adrecip_hfacs
183          common /adgrid_r_c/ adhfacc
184          common /adgrid_r_s/ adhfacs
185          common /adgrid_r_w/ adhfacw
186    #endif /* ALLOW_DEPTH_CONTROL */
187    
188    #endif /* ALLOW_AUTODIFF_MONITOR */

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.20

  ViewVC Help
Powered by ViewVC 1.1.22