/[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.10 by heimbach, Tue Aug 30 21:38:56 2005 UTC
# Line 1  Line 1 
1    C--   These common blocks are extracted from the
2    C--   automatically created tangent linear code.
3    C--   You need to make sure that they are up-to-date
4    C--   (i.e. in right order), and customize them
5    C--   accordingly.
6    C--
7    C--   heimbach@mit.edu 11-Jan-2001
8    
9  CBOP  #ifdef ALLOW_AUTODIFF_MONITOR
10  C     !ROUTINE: adcommon.h  
11  C     !INTERFACE:  #include "PACKAGES_CONFIG.h"
12  C     include "adcommon.h "  
13  C     !DESCRIPTION: \bv  #ifdef ALLOW_EXF
14  C     *==========================================================*  # include "EXF_OPTIONS.h"
15  C     | CPP_EEMACROS.h                                              #endif
 C     *==========================================================*  
 C--   | common blocks of adjoint variables extracted from  
 C     | TAMC-/TAF- generated code for use in adjoint support;  
 C     | Make sure that adjoint common blocks below are up-to-date  
 C     | w.r.t. current adjoint code.  
 C     *==========================================================*  
 C     | CPP_EEMACROS.h                                              
 C     *==========================================================*  
 C     \ev  
 CEOP  
   
 WARNING:  
 THESE LINES ARE MEANT TO PROVOKE A COMPILER CRASH.  
 THIS IS ONLY A TEMPLATE FILE.  
 YOU NEED TO CUSTOMIZE THIS TO YOUR RESPECTIVE SETUP,  
 E.G. BY PLACING A COPY IN YOUR VERIFICATION DIRECTORY.  
 IT IS IMPORTANT THAT YOU MAKE SURE THAT THE COMMON BLOCKS  
 BELOW CORRESPOND TO THE COMMON BLOCKS IN THE AUTOMATICALLY  
 CREATED ADJOINT CODE.  
16    
17        common /addynvars_r/        common /addynvars_r/
18       &                     adetan, adetanm1,       &                     adetan, adetah,
19       &                     aduvel, advvel, adwvel,       &                     aduvel, advvel, adwvel,
20       &                     adtheta, adsalt,       &                     adtheta, adsalt,
21       &                     adgu, adgv, adgt, adgs,       &                     adgu, adgv, adgt, adgs,
22       &                     adgunm1, adgvnm1, adgtnm1, adgsnm1       &                     adgunm1, adgvnm1, adgtnm1, adgsnm1
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 adetanm1(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)        _RL adetah(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
25        _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)
26        _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)
27        _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 36  CREATED ADJOINT CODE.
36        _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)
37        _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)
38    
39    #ifdef ALLOW_CD_CODE
40        common /addynvars_cd/        common /addynvars_cd/
41       &                      aduveld, advveld,       &                      aduveld, advveld,
42       &                      adunm1, advnm1,       &                       adetanm1,
43       &                      adgucd, adgvcd       &                      adunm1, advnm1
44        _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)
45        _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)
46          _RL adetanm1(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
47        _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)
48        _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)
49        _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)  
50    
51        common /adffields/        common /adffields/
52       &                   adfu, adfv, adqnet, adempmr, adsst, adsss       &                   adfu, adfv
53         &                 , adqnet, adempmr
54    cph     &                 , adsst, adsss
55        _RL adfu(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)        _RL adfu(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
56        _RL adfv(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)        _RL adfv(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
57        _RL adqnet(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)        _RL adqnet(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
58        _RL adempmr(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)        _RL adempmr(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
59        _RL adsst(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)  cph      _RL adsst(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
60        _RL adsss(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)  cph      _RL adsss(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
   
 #ifdef ALLOW_TR10_CONTROL  
       common /adtr1_r/  
      &                 adtr1, adgtr1, adgtr1nm1  
       _RL adgtr1(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)  
       _RL adgtr1nm1(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)  
       _RL adtr1(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)  
 #endif  
61    
62  #ifdef ALLOW_DIFFKR_CONTROL  #ifdef ALLOW_DIFFKR_CONTROL
63        common /addynvars_diffkr/        COMMON /ADDYNVARS_DIFFKR/
64       &                          addiffkr       &                       addiffKr
65        _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)
66  #endif  #endif
67    #if (defined (ALLOW_EDTAUX_CONTROL) || defined (ALLOW_EDTAUY_CONTROL))
68          double precision adeddytaux(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,
69         $nsy)
70          double precision adeddytauy(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,
71         $nsy)
72          common /adedtauffields/ adeddytaux, adeddytauy
73    
 #ifdef ALLOW_KAPGM_CONTROL  
       common /addynvars_kapgm/  
      &                          adkapgm  
       _RL adkapgm(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)  
74  #endif  #endif
75    
76    #ifdef ALLOW_EXF
77          _RL adhflux(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
78          _RL adsflux(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
79          common /adexf_hsflux_r/ adhflux, adsflux
80          _RL adustress(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
81          _RL advstress(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
82          common /adexf_stress_r/ adustress, advstress
83    # ifdef ALLOW_ATM_TEMP
84          _RL adatemp     (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
85          _RL adaqh       (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
86          _RL adlwflux    (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
87          _RL adprecip    (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
88          common /adexf_atm_temp_r/ adatemp, adaqh, adlwflux, adprecip
89    # endif
90    # ifdef ALLOW_ATM_WIND
91          _RL aduwind     (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
92          _RL advwind     (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
93          common /adexf_atm_wind_r/ aduwind, advwind
94    # endif
95    # ifdef ALLOW_DOWNWARD_RADIATION
96          _RL adswdown    (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
97          _RL adlwdown    (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
98          common /adexf_rad_down_r/
99         &     adswdown, adlwdown
100    # endif
101    #endif
102    
103    #endif /* ALLOW_AUTODIFF_MONITOR */

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

  ViewVC Help
Powered by ViewVC 1.1.22