/[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.15 - (show annotations) (download)
Wed Jun 7 01:55:13 2006 UTC (17 years, 11 months ago) by heimbach
Branch: MAIN
CVS Tags: checkpoint58m_post, checkpoint58o_post, checkpoint58p_post, checkpoint58q_post, checkpoint58n_post, checkpoint58k_post, checkpoint58l_post, checkpoint58h_post, checkpoint58j_post, checkpoint58i_post
Changes since 1.14: +15 -0 lines
File MIME type: text/plain
Modifications for bottom topography control
o replace hFacC by _hFacC at various places
o replace ALLOW_HFACC_CONTROL by ALLOW_DEPTH_CONTROL
o add non-self-adjoint cg2d_nsa
o update autodiff support routines
o re-initialise hfac after ctrl_depth_ini
o works for 5x5 box, doesnt work for global_ocean.90x40x15

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 #ifdef ALLOW_AUTODIFF_MONITOR
10
11 #include "PACKAGES_CONFIG.h"
12
13 #ifdef ALLOW_EXF
14 # include "EXF_OPTIONS.h"
15 #endif
16 #ifdef ALLOW_SEAICE
17 # include "SEAICE_OPTIONS.h"
18 #endif
19
20
21 common /addynvars_r/
22 & adetan,
23 & aduvel, advvel, adwvel,
24 & adtheta, adsalt,
25 & adgu, adgv, adgt, adgs,
26 & adgunm1, adgvnm1, adgtnm1, adgsnm1
27 _RL adetan(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
28 _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)
30 _RL adgt(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
31 _RL adgtnm1(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
32 _RL adgu(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
33 _RL adgunm1(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
34 _RL adgv(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
35 _RL adgvnm1(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
36 _RL adsalt(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
37 _RL adtheta(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
38 _RL aduvel(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
39 _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)
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/
48 & aduveld, advveld,
49 & adetanm1,
50 & adunm1, advnm1
51 _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)
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)
55 _RL advnm1(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,nsy)
56 #endif
57
58 common /adffields/
59 & adfu, adfv
60 & , adqnet, adempmr
61 cph & , adsst, adsss
62 _RL adfu(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
63 _RL adfv(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
64 _RL adqnet(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
65 _RL adempmr(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
66 cph _RL adsst(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
67 cph _RL adsss(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
68
69 #ifdef ALLOW_DIFFKR_CONTROL
70 COMMON /ADDYNVARS_DIFFKR/
71 & addiffKr
72 _RL addiffKr (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
73 #endif
74 #if (defined (ALLOW_EDTAUX_CONTROL) || defined (ALLOW_EDTAUY_CONTROL))
75 double precision adeddytaux(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,
76 $nsy)
77 double precision adeddytauy(1-olx:snx+olx,1-oly:sny+oly,nr,nsx,
78 $nsy)
79 common /adedtauffields/ adeddytaux, adeddytauy
80
81 #endif
82
83 #ifdef ALLOW_EXF
84 _RL adhflux(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
85 _RL adsflux(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
86 common /adexf_hsflux_r/ adhflux, adsflux
87 _RL adustress(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
88 _RL advstress(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
89 common /adexf_stress_r/ adustress, advstress
90 # ifdef ALLOW_ATM_TEMP
91 _RL adatemp (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
92 _RL adaqh (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
93 _RL adlwflux (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
94 _RL adprecip (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
95 common /adexf_atm_temp_r/ adatemp, adaqh, adlwflux, adprecip
96 # endif
97 # ifdef ALLOW_ATM_WIND
98 _RL aduwind (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
99 _RL advwind (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
100 common /adexf_atm_wind_r/ aduwind, advwind
101 # endif
102 # ifdef ALLOW_DOWNWARD_RADIATION
103 _RL adswdown (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
104 _RL adlwdown (1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
105 common /adexf_rad_down_r/
106 & adswdown, adlwdown
107 # endif
108 # ifdef ALLOW_CLIMSST_RELAXATION
109 _RL adclimsst(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
110 common /adexf_clim_sst_r/ adclimsst
111 # endif
112 # ifdef ALLOW_CLIMSSS_RELAXATION
113 _RL adclimsss(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
114 common /adexf_clim_sss_r/ adclimsss
115 # endif
116 #endif
117
118 #ifdef ALLOW_SEAICE
119 _RL adarea(1-olx:snx+olx,1-oly:sny+oly,3,nsx,nsy)
120 common /adseaice_dynvars_1/ adarea
121 c
122 _RL adheff(1-olx:snx+olx,1-oly:sny+oly,3,nsx,nsy)
123 _RL adhsnow(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
124 common /adseaice_trans/ adheff, adhsnow
125 # ifdef SEAICE_ALLOW_DYNAMICS
126 _RL aduice(1-olx:snx+olx,1-oly:sny+oly,3,nsx,nsy)
127 _RL advice(1-olx:snx+olx,1-oly:sny+oly,3,nsx,nsy)
128 common /adseaice_dynvars_2/ aduice, advice
129 # endif
130 #endif
131
132 #ifdef ALLOW_DEPTH_CONTROL
133 _RL adr_low_control(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
134 _RL adhfacc(1-olx:snx+olx,1-oly:sny+oly,1:nr,nsx,nsy)
135 _RL adhfacs(1-olx:snx+olx,1-oly:sny+oly,1:nr,nsx,nsy)
136 _RL adhfacw(1-olx:snx+olx,1-oly:sny+oly,1:nr,nsx,nsy)
137 _RL adrecip_hfacc(1-olx:snx+olx,1-oly:sny+oly,1:nr,nsx,nsy)
138 _RL adrecip_hfacs(1-olx:snx+olx,1-oly:sny+oly,1:nr,nsx,nsy)
139 _RL adrecip_hfacw(1-olx:snx+olx,1-oly:sny+oly,1:nr,nsx,nsy)
140 common /adgrid_r/ adr_low_control,
141 & adrecip_hfacc, adrecip_hfacw, adrecip_hfacs
142 common /adgrid_r_c/ adhfacc
143 common /adgrid_r_s/ adhfacs
144 common /adgrid_r_w/ adhfacw
145 #endif /* ALLOW_DEPTH_CONTROL */
146
147 #endif /* ALLOW_AUTODIFF_MONITOR */

  ViewVC Help
Powered by ViewVC 1.1.22