/[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.12 by heimbach, Fri Sep 2 23:21:22 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
16  C     *==========================================================*  #ifdef ALLOW_SEAICE
17  C--   | common blocks of adjoint variables extracted from  # include "SEAICE_OPTIONS.h"
18  C     | TAMC-/TAF- generated code for use in adjoint support;  #endif
 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.  
19    
20        common /addynvars_r/        common /addynvars_r/
21       &                     adetan, adetanm1,       &                     adetan, adetah,
22       &                     aduvel, advvel, adwvel,       &                     aduvel, advvel, adwvel,
23       &                     adtheta, adsalt,       &                     adtheta, adsalt,
24       &                     adgu, adgv, adgt, adgs,       &                     adgu, adgv, adgt, adgs,
25       &                     adgunm1, adgvnm1, adgtnm1, adgsnm1       &                     adgunm1, adgvnm1, adgtnm1, adgsnm1
26        _RL adetan(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)        _RL adetan(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
27        _RL adetanm1(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)        _RL adetah(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
28        _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)
29        _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)
30        _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 39  CREATED ADJOINT CODE.
39        _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)
40        _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)
41    
42    #ifdef ALLOW_CD_CODE
43        common /addynvars_cd/        common /addynvars_cd/
44       &                      aduveld, advveld,       &                      aduveld, advveld,
45       &                      adunm1, advnm1,       &                       adetanm1,
46       &                      adgucd, adgvcd       &                      adunm1, advnm1
47        _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)
48        _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)
49          _RL adetanm1(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
50        _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)
51        _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)
52        _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)  
53    
54        common /adffields/        common /adffields/
55       &                   adfu, adfv, adqnet, adempmr, adsst, adsss       &                   adfu, adfv
56         &                 , adqnet, adempmr
57    cph     &                 , adsst, adsss
58        _RL adfu(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)        _RL adfu(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
59        _RL adfv(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)        _RL adfv(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
60        _RL adqnet(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)        _RL adqnet(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
61        _RL adempmr(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)        _RL adempmr(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
62        _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)
63        _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  
64    
65  #ifdef ALLOW_DIFFKR_CONTROL  #ifdef ALLOW_DIFFKR_CONTROL
66        common /addynvars_diffkr/        COMMON /ADDYNVARS_DIFFKR/
67       &                          addiffkr       &                       addiffKr
68        _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)
69  #endif  #endif
70    #if (defined (ALLOW_EDTAUX_CONTROL) || defined (ALLOW_EDTAUY_CONTROL))
71          double precision adeddytaux(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,
72         $nsy)
73          double precision adeddytauy(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,
74         $nsy)
75          common /adedtauffields/ adeddytaux, adeddytauy
76    
 #ifdef ALLOW_KAPGM_CONTROL  
       common /addynvars_kapgm/  
      &                          adkapgm  
       _RL adkapgm(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)  
77  #endif  #endif
78    
79    #ifdef ALLOW_EXF
80          _RL adhflux(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
81          _RL adsflux(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
82          common /adexf_hsflux_r/ adhflux, adsflux
83          _RL adustress(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
84          _RL advstress(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
85          common /adexf_stress_r/ adustress, advstress
86    # ifdef ALLOW_ATM_TEMP
87          _RL adatemp     (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
88          _RL adaqh       (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
89          _RL adlwflux    (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
90          _RL adprecip    (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
91          common /adexf_atm_temp_r/ adatemp, adaqh, adlwflux, adprecip
92    # endif
93    # ifdef ALLOW_ATM_WIND
94          _RL aduwind     (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
95          _RL advwind     (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
96          common /adexf_atm_wind_r/ aduwind, advwind
97    # endif
98    # ifdef ALLOW_DOWNWARD_RADIATION
99          _RL adswdown    (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
100          _RL adlwdown    (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
101          common /adexf_rad_down_r/
102         &     adswdown, adlwdown
103    # endif
104    # ifdef ALLOW_CLIMSST_RELAXATION
105          _RL adclimsst(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
106          common /adexf_clim_sst_r/ adclimsst
107    # endif
108    # ifdef ALLOW_CLIMSSS_RELAXATION
109          _RL adclimsss(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
110          common /adexf_clim_sss_r/ adclimsss
111    # endif
112    #endif
113    
114    #ifdef ALLOW_SEAICE
115          _RL adarea(1-olx:snx+olx,1-oly:sny+oly,3,nsx,nsy)
116          common /adseaice_dynvars_1/ adarea
117    c
118          _RL adheff(1-olx:snx+olx,1-oly:sny+oly,3,nsx,nsy)
119          _RL adhsnow(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
120          common /adseaice_trans/ adheff, adhsnow
121    # ifdef SEAICE_ALLOW_DYNAMICS
122          _RL aduice(1-olx:snx+olx,1-oly:sny+oly,3,nsx,nsy)
123          _RL advice(1-olx:snx+olx,1-oly:sny+oly,3,nsx,nsy)
124          common /adseaice_dynvars_2/ aduice, advice
125    # endif
126    #endif
127    
128    #endif /* ALLOW_AUTODIFF_MONITOR */

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

  ViewVC Help
Powered by ViewVC 1.1.22