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

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

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


Revision 1.21 - (show 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 C $Header: /u/gcmpack/MITgcm/pkg/autodiff/adcommon.h,v 1.20 2008/02/02 02:35:26 gforget Exp $
2 C $Name: $
3
4 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
12 #ifdef ALLOW_AUTODIFF_MONITOR
13
14 #include "PACKAGES_CONFIG.h"
15
16 #ifdef ALLOW_EXF
17 # include "EXF_OPTIONS.h"
18 #endif
19 #ifdef ALLOW_SEAICE
20 # include "SEAICE_OPTIONS.h"
21 #endif
22
23
24 common /addynvars_r/
25 & adetan,
26 & aduvel, advvel, adwvel,
27 & adtheta, adsalt,
28 & adgu, adgv, adgt, adgs,
29 & adgunm1, adgvnm1, adgtnm1, adgsnm1
30 _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 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,
52 & adetanm1,
53 & adunm1, advnm1
54 _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 _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)
58 _RL advnm1(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
59 #endif
60
61 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
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
101 COMMON /ADDYNVARS_KAPGM/
102 & adkapgm
103 _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
115 #ifdef ALLOW_EDDYPSI_CONTROL
116 double precision adeddypsix(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,
117 $nsy)
118 double precision adeddypsiy(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,
119 $nsy)
120 common /adeddypsiffields/ adeddypsix, adeddypsiy
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 */

  ViewVC Help
Powered by ViewVC 1.1.22