/[MITgcm]/MITgcm/pkg/autodiff/adcommon.h
ViewVC logotype

Annotation of /MITgcm/pkg/autodiff/adcommon.h

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.21 - (hide annotations) (download)
Fri May 30 02:47:50 2008 UTC (15 years, 11 months ago) by gforget
Branch: MAIN
CVS Tags: checkpoint60, checkpoint61, checkpoint61f, checkpoint61n, checkpoint61q, checkpoint61e, checkpoint61g, checkpoint61d, checkpoint61b, checkpoint61c, checkpoint61a, checkpoint61o, checkpoint61l, checkpoint61m, checkpoint61j, checkpoint61k, checkpoint61h, checkpoint61i, checkpoint61v, checkpoint61t, checkpoint61u, checkpoint61r, checkpoint61s, checkpoint61p
Changes since 1.20: +5 -5 lines
File MIME type: text/plain
o bridging the gap between eddy stress and GM.
  -> eddyTau is replaced with eddyPsi (eddyTau = f x rho0 x eddyPsi)
      along with a change in CPP option (now ALLOW_EDDYPSI).
  -> when using GM w/ GM_AdvForm:
      The total eddy streamfunction (Psi = eddyPsi + K x Slope)
      is applied either in the tracer Eq. or in momentum Eq.
      depending on data.gmredi (intro. GM_InMomAsStress).
  -> ALLOW_EDDYPSI_CONTROL for estimation purpose.
  The key modifications are in model/src/taueddy_external_forcing.F
  pkg/gmredi/gmredi_calc_*F pkg/gmredi/gmredi_*transport.F

1 gforget 1.21 C $Header: /u/gcmpack/MITgcm/pkg/autodiff/adcommon.h,v 1.20 2008/02/02 02:35:26 gforget Exp $
2 jmc 1.19 C $Name: $
3    
4 heimbach 1.5 C-- These common blocks are extracted from the
5     C-- automatically created tangent linear code.
6     C-- You need to make sure that they are up-to-date
7     C-- (i.e. in right order), and customize them
8     C-- accordingly.
9     C--
10     C-- heimbach@mit.edu 11-Jan-2001
11 heimbach 1.4
12     #ifdef ALLOW_AUTODIFF_MONITOR
13    
14 heimbach 1.10 #include "PACKAGES_CONFIG.h"
15    
16     #ifdef ALLOW_EXF
17     # include "EXF_OPTIONS.h"
18     #endif
19 heimbach 1.11 #ifdef ALLOW_SEAICE
20     # include "SEAICE_OPTIONS.h"
21     #endif
22 heimbach 1.10
23 heimbach 1.13
24     common /addynvars_r/
25 heimbach 1.14 & adetan,
26 heimbach 1.13 & aduvel, advvel, adwvel,
27 jmc 1.19 & adtheta, adsalt,
28     & adgu, adgv, adgt, adgs,
29 heimbach 1.13 & adgunm1, adgvnm1, adgtnm1, adgsnm1
30 heimbach 1.1 _RL adetan(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
31     _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)
33     _RL adgt(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
34     _RL adgtnm1(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
35     _RL adgu(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
36     _RL adgunm1(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
37     _RL adgv(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
38     _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)
40     _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)
42     _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)
44    
45 heimbach 1.14 common /addynvars_r_2/
46     & adetah
47     _RL adetah(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
48    
49 heimbach 1.5 #ifdef ALLOW_CD_CODE
50 jmc 1.19 common /addynvars_cd/
51 heimbach 1.1 & aduveld, advveld,
52 jmc 1.19 & adetanm1,
53 heimbach 1.8 & adunm1, advnm1
54 heimbach 1.1 _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)
56 heimbach 1.3 _RL adetanm1(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
57 heimbach 1.1 _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)
59 heimbach 1.5 #endif
60 heimbach 1.3
61 heimbach 1.16 COMMON /adffields_fu/ adfu
62     COMMON /adffields_fv/ adfv
63     COMMON /adffields_Qnet/ adQnet
64     COMMON /adffields_Qsw/ adQsw
65     COMMON /adffields_dQdT/ addQdT
66     COMMON /adffields_EmPmR/ adEmPmR
67     COMMON /adffields_saltFlux/ adsaltFlux
68     COMMON /adffields_SST/ adSST
69     COMMON /adffields_SSS/ adSSS
70     COMMON /adffields_lambdaThetaClimRelax/ adlambdaThetaClimRelax
71     COMMON /adffields_lambdaSaltClimRelax/ adlambdaSaltClimRelax
72     #ifdef ATMOSPHERIC_LOADING
73     COMMON /adffields_pload/ adpload
74     COMMON /adffields_sIceLoad/ adsIceLoad
75     #endif
76    
77     _RS adfu (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
78     _RS adfv (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
79     _RS adQnet (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
80     _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
94 heimbach 1.4
95 heimbach 1.6 #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 jmc 1.19 #endif
100 heimbach 1.17 #ifdef ALLOW_KAPGM_CONTROL
101     COMMON /ADDYNVARS_KAPGM/
102     & adkapgm
103     _RL adkapgm (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
104     #endif
105 gforget 1.20 #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 gforget 1.18 #ifdef ALLOW_BOTTOMDRAG_CONTROL
111     COMMON /ADDYNVARS_BOTTOMDRAG/
112     & adbottomdragfld
113     _RL adbottomdragfld (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
114 jmc 1.19 #endif
115 gforget 1.21 #ifdef ALLOW_EDDYPSI_CONTROL
116     double precision adeddypsix(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,
117 heimbach 1.7 $nsy)
118 gforget 1.21 double precision adeddypsiy(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,
119 heimbach 1.7 $nsy)
120 gforget 1.21 common /adeddypsiffields/ adeddypsix, adeddypsiy
121 heimbach 1.7
122     #endif
123 heimbach 1.6
124 heimbach 1.5 #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 heimbach 1.10 # ifdef ALLOW_ATM_TEMP
132 heimbach 1.5 _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 heimbach 1.10 # 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 heimbach 1.12 # 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 heimbach 1.5 #endif
158    
159 heimbach 1.11 #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 heimbach 1.15 #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 jmc 1.19 common /adgrid_r/ adr_low_control,
182 heimbach 1.15 & 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 heimbach 1.4 #endif /* ALLOW_AUTODIFF_MONITOR */

  ViewVC Help
Powered by ViewVC 1.1.22