/[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.16 by heimbach, Thu Nov 9 03:54:10 2006 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
19  C     | Make sure that adjoint common blocks below are up-to-date  
20  C     | w.r.t. current adjoint code.  
21  C     *==========================================================*        common /addynvars_r/
22  C     | CPP_EEMACROS.h                                                   &                     adetan,
23  C     *==========================================================*       &                     aduvel, advvel, adwvel,
 C     \ev  
 CEOP  
   
       common /addynvars_r/  
      &                     adetan, adetanm1,  
      &                     aduvel, advvel, adwvel,  
24       &                     adtheta, adsalt,       &                     adtheta, adsalt,
25       &                     adgu, adgv, adgt, adgs,       &                     adgu, adgv, adgt, adgs,
26       &                     adgunm1, adgvnm1, adgtnm1, adgsnm1       &                     adgunm1, adgvnm1, adgtnm1, adgsnm1
27        _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)  
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 39  CEOP Line 39  CEOP
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          common /addynvars_r_2/
43         &                     adetah
44          _RL adetah(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
45    
46    #ifdef ALLOW_CD_CODE
47        common /addynvars_cd/        common /addynvars_cd/
48       &                      aduveld, advveld,       &                      aduveld, advveld,
49       &                      adunm1, advnm1,       &                       adetanm1,
50       &                      adgucd, adgvcd       &                      adunm1, advnm1
51        _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)
52        _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)
53          _RL adetanm1(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
54        _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)
55        _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)
56        _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)  
57    
58        common /adffields/        COMMON /adffields_fu/ adfu
59       &                   adfu, adfv, adqnet, adempmr, adsst, adsss        COMMON /adffields_fv/ adfv
60        _RL adfu(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)        COMMON /adffields_Qnet/ adQnet
61        _RL adfv(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)        COMMON /adffields_Qsw/ adQsw
62        _RL adqnet(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)        COMMON /adffields_dQdT/ addQdT
63        _RL adempmr(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)        COMMON /adffields_EmPmR/ adEmPmR
64        _RL adsst(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)        COMMON /adffields_saltFlux/ adsaltFlux
65        _RL adsss(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)        COMMON /adffields_SST/ adSST
66          COMMON /adffields_SSS/ adSSS
67  #ifdef ALLOW_TR10_CONTROL        COMMON /adffields_lambdaThetaClimRelax/ adlambdaThetaClimRelax
68        common /adtr1_r/        COMMON /adffields_lambdaSaltClimRelax/ adlambdaSaltClimRelax
69       &                 adtr1, adgtr1, adgtr1nm1  #ifdef ATMOSPHERIC_LOADING
70        _RL adgtr1(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)        COMMON /adffields_pload/ adpload
71        _RL adgtr1nm1(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)        COMMON /adffields_sIceLoad/ adsIceLoad
72        _RL adtr1(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)  #endif
73    
74          _RS  adfu       (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
75          _RS  adfv       (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
76          _RS  adQnet     (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
77          _RS  adQsw      (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
78          _RS  addQdT     (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
79          _RS  adEmPmR    (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
80          _RS  adsaltFlux (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
81          _RS  adSST      (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
82          _RS  adSSS      (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
83          _RS  adlambdaThetaClimRelax
84         &    (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
85          _RS  adlambdaSaltClimRelax
86         &    (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
87    #ifdef ATMOSPHERIC_LOADING
88          _RS  adpload    (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
89          _RS  adsIceLoad (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
90  #endif  #endif
91    
92  #ifdef ALLOW_DIFFKR_CONTROL  #ifdef ALLOW_DIFFKR_CONTROL
93        common /addynvars_diffkr/        COMMON /ADDYNVARS_DIFFKR/
94       &                          addiffkr       &                       addiffKr
95        _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)
96    #endif
97    #if (defined (ALLOW_EDTAUX_CONTROL) || defined (ALLOW_EDTAUY_CONTROL))
98          double precision adeddytaux(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,
99         $nsy)
100          double precision adeddytauy(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,
101         $nsy)
102          common /adedtauffields/ adeddytaux, adeddytauy
103    
104  #endif  #endif
105    
106  #ifdef ALLOW_KAPGM_CONTROL  #ifdef ALLOW_EXF
107        common /addynvars_kapgm/        _RL adhflux(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
108       &                          adkapgm        _RL adsflux(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
109        _RL adkapgm(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)        common /adexf_hsflux_r/ adhflux, adsflux
110          _RL adustress(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
111          _RL advstress(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
112          common /adexf_stress_r/ adustress, advstress
113    # ifdef ALLOW_ATM_TEMP
114          _RL adatemp     (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
115          _RL adaqh       (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
116          _RL adlwflux    (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
117          _RL adprecip    (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
118          common /adexf_atm_temp_r/ adatemp, adaqh, adlwflux, adprecip
119    # endif
120    # ifdef ALLOW_ATM_WIND
121          _RL aduwind     (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
122          _RL advwind     (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
123          common /adexf_atm_wind_r/ aduwind, advwind
124    # endif
125    # ifdef ALLOW_DOWNWARD_RADIATION
126          _RL adswdown    (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
127          _RL adlwdown    (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
128          common /adexf_rad_down_r/
129         &     adswdown, adlwdown
130    # endif
131    # ifdef ALLOW_CLIMSST_RELAXATION
132          _RL adclimsst(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
133          common /adexf_clim_sst_r/ adclimsst
134    # endif
135    # ifdef ALLOW_CLIMSSS_RELAXATION
136          _RL adclimsss(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
137          common /adexf_clim_sss_r/ adclimsss
138    # endif
139  #endif  #endif
140    
141    #ifdef ALLOW_SEAICE
142          _RL adarea(1-olx:snx+olx,1-oly:sny+oly,3,nsx,nsy)
143          common /adseaice_dynvars_1/ adarea
144    c
145          _RL adheff(1-olx:snx+olx,1-oly:sny+oly,3,nsx,nsy)
146          _RL adhsnow(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
147          common /adseaice_trans/ adheff, adhsnow
148    # ifdef SEAICE_ALLOW_DYNAMICS
149          _RL aduice(1-olx:snx+olx,1-oly:sny+oly,3,nsx,nsy)
150          _RL advice(1-olx:snx+olx,1-oly:sny+oly,3,nsx,nsy)
151          common /adseaice_dynvars_2/ aduice, advice
152    # endif
153    #endif
154    
155    #ifdef ALLOW_DEPTH_CONTROL
156          _RL adr_low_control(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
157          _RL adhfacc(1-olx:snx+olx,1-oly:sny+oly,1:nr,nsx,nsy)
158          _RL adhfacs(1-olx:snx+olx,1-oly:sny+oly,1:nr,nsx,nsy)
159          _RL adhfacw(1-olx:snx+olx,1-oly:sny+oly,1:nr,nsx,nsy)
160          _RL adrecip_hfacc(1-olx:snx+olx,1-oly:sny+oly,1:nr,nsx,nsy)
161          _RL adrecip_hfacs(1-olx:snx+olx,1-oly:sny+oly,1:nr,nsx,nsy)
162          _RL adrecip_hfacw(1-olx:snx+olx,1-oly:sny+oly,1:nr,nsx,nsy)
163          common /adgrid_r/ adr_low_control,
164         &                  adrecip_hfacc, adrecip_hfacw, adrecip_hfacs
165          common /adgrid_r_c/ adhfacc
166          common /adgrid_r_s/ adhfacs
167          common /adgrid_r_w/ adhfacw
168    #endif /* ALLOW_DEPTH_CONTROL */
169    
170    #endif /* ALLOW_AUTODIFF_MONITOR */

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

  ViewVC Help
Powered by ViewVC 1.1.22