1 | #include "cppdefs.h"
|
---|
2 | MODULE analytical_mod
|
---|
3 | !
|
---|
4 | !svn $Id: analytical.F 40 2007-05-02 14:34:06Z arango $
|
---|
5 | !================================================== Hernan G. Arango ===
|
---|
6 | ! Copyright (c) 2002-2007 The ROMS/TOMS Group !
|
---|
7 | ! Licensed under a MIT/X style license !
|
---|
8 | ! See License_ROMS.txt !
|
---|
9 | !=======================================================================
|
---|
10 | ! !
|
---|
11 | ! ANALYTICAL PACKAGE: !
|
---|
12 | ! !
|
---|
13 | ! This package is used to provide various analytical fields to the !
|
---|
14 | ! model when appropriate. !
|
---|
15 | ! !
|
---|
16 | !! Include Files: !
|
---|
17 | !! !
|
---|
18 | !! ana_biology.h Analytical initial conditions for biological !
|
---|
19 | !! tracers. !
|
---|
20 | !! ana_btflux.h Analytical kinematic bottom flux of tracer !
|
---|
21 | !! type variables. !
|
---|
22 | !! ana_bmflux.h Analytical bottom momentm flux - so can have !
|
---|
23 | !! spatially varying zo !
|
---|
24 | !! ana_cloud.h Analytical cloud fraction. !
|
---|
25 | !! ana_diag.h Customized diagnostics. !
|
---|
26 | !! ana_fsobc.h Analytical free-surface boundary conditions. !
|
---|
27 | !! ana_grid.h Analytical model grid set-up. !
|
---|
28 | !! ana_humid.h Analytical surface air humidity. !
|
---|
29 | !! ana_hmixcoef.h Analytical horizontal mixing coefficients for !
|
---|
30 | !! sponge areas at the open boundary. !
|
---|
31 | !! ana_initial.h Analytical initial conditions for momentum, !
|
---|
32 | !! free surface and tracers. !
|
---|
33 | !! ana_m2clima.h Analytical 2D momentum climatology. !
|
---|
34 | !! ana_m2obc.h Analytical 2D momentum boundary conditions. !
|
---|
35 | !! ana_m3clima.h Analytical 3D momentum climatology. !
|
---|
36 | !! ana_m3obc.h Analytical 3D momentum boundary conditions. !
|
---|
37 | !! ana_mask.h Analytical Land/Sea masking. !
|
---|
38 | !! ana_nudgcoef.h Analytical nudging coefficients. !
|
---|
39 | !! ana_pair.h Analytical surface air pressure. !
|
---|
40 | !! ana_passive.h Analytical initial conditions for passive !
|
---|
41 | !! inert tracers. !
|
---|
42 | !! ana_perturb.h Peturb analytical initial conditions with !
|
---|
43 | !! analytical expressions. !
|
---|
44 | !! ana_psource.h Analytical mass/tracer point sources/sinks. !
|
---|
45 | !! ana_rain.h Analytical rain fall rate. !
|
---|
46 | !! ana_scope.h Analytical adjoint sensitivity spatial scope !
|
---|
47 | !! mask. !
|
---|
48 | !! ana_sediment.h Analytical initial conditions for sediment !
|
---|
49 | !! tracers and bottom/bed properties. !
|
---|
50 | !! ana_smflux.h Analytical kinematic surface momentum flux !
|
---|
51 | !! (wind stress). !
|
---|
52 | !! ana_spinning.h Analytical time variable rotation forces. !
|
---|
53 | !! ana_srflux.h Analytical kinematic surface shortwave !
|
---|
54 | !! radiation flux. !
|
---|
55 | !! ana_specir.h Analytical calculation of spectral downwelling !
|
---|
56 | !! irradiance. !
|
---|
57 | !! ana_ssh.h Analytical sea surface height climatology. !
|
---|
58 | !! ana_sst.h Analytical SST and dQdSST which are used !
|
---|
59 | !! for heat flux correction. !
|
---|
60 | !! ana_sss.h Analytical sea surface salinity. !
|
---|
61 | !! ana_stflux.h Analytical kinematic surface flux of tracer !
|
---|
62 | !! type variables. !
|
---|
63 | !! ana_tair.h Analytical surface air temperature. !
|
---|
64 | !! ana_tclima.h Analytical tracer climatology fields. !
|
---|
65 | !! ana_tobc.h Analytical tracer boundary conditions. !
|
---|
66 | !! ana_vmix.h Analytical vertical mixing coefficients for !
|
---|
67 | !! momentum and tracers. !
|
---|
68 | !! ana_winds.h Analytical surface winds. !
|
---|
69 | !! ana_wwave.h Analytical wind induced wave amplitude, !
|
---|
70 | !! direction and period. !
|
---|
71 | !! !
|
---|
72 | !! Notice that there is a template copy of each header file in the !
|
---|
73 | !! "User/Functionals" directory for user private applications. This !
|
---|
74 | !! will facilitate updating in the future by distinguishing between !
|
---|
75 | !! official idealized problems and user interface. !
|
---|
76 | !! !
|
---|
77 | !=======================================================================
|
---|
78 | !
|
---|
79 | implicit none
|
---|
80 |
|
---|
81 | CONTAINS
|
---|
82 |
|
---|
83 | #if defined ANA_BIOLOGY && defined BIOLOGY
|
---|
84 | # include <ana_biology.h>
|
---|
85 | #endif
|
---|
86 |
|
---|
87 | #if defined ANA_BMFLUX && defined SEDIMENT && !defined ANA_SEDIMENT
|
---|
88 | # include <ana_bmflux.h>
|
---|
89 | #endif
|
---|
90 |
|
---|
91 | #ifdef SOLVE3D
|
---|
92 | # if defined ANA_BTFLUX || defined ANA_BSFLUX || defined ANA_BPFLUX
|
---|
93 | # include <ana_btflux.h>
|
---|
94 | # endif
|
---|
95 | #endif
|
---|
96 |
|
---|
97 | #if defined ANA_CLOUD && defined CLOUDS
|
---|
98 | # include <ana_cloud.h>
|
---|
99 | #endif
|
---|
100 |
|
---|
101 | #ifdef ANA_DIAG
|
---|
102 | # include <ana_diag.h>
|
---|
103 | #endif
|
---|
104 |
|
---|
105 | #ifdef ANA_FSOBC
|
---|
106 | # include <ana_fsobc.h>
|
---|
107 | #endif
|
---|
108 |
|
---|
109 | #ifdef ANA_GRID
|
---|
110 | # include <ana_grid.h>
|
---|
111 | #endif
|
---|
112 |
|
---|
113 | #if defined ANA_HUMIDITY && \
|
---|
114 | (defined BULK_FLUXES || defined ECOSIM || \
|
---|
115 | (defined ANA_SRFLUX && defined ALBEDO) )
|
---|
116 | # include <ana_humid.h>
|
---|
117 | #endif
|
---|
118 |
|
---|
119 | #if defined VISC_GRID || defined DIFF_GRID || defined SPONGE
|
---|
120 | # include <ana_hmixcoef.h>
|
---|
121 | #endif
|
---|
122 |
|
---|
123 | #ifdef ANA_INITIAL
|
---|
124 | # include <ana_initial.h>
|
---|
125 | #endif
|
---|
126 |
|
---|
127 | #if defined ANA_M2CLIMA && defined M2CLIMATOLOGY
|
---|
128 | # include <ana_m2clima.h>
|
---|
129 | #endif
|
---|
130 |
|
---|
131 | #ifdef ANA_M2OBC
|
---|
132 | # include <ana_m2obc.h>
|
---|
133 | #endif
|
---|
134 |
|
---|
135 | #if defined ANA_M3CLIMA && defined M3CLIMATOLOGY
|
---|
136 | # include <ana_m3clima.h>
|
---|
137 | #endif
|
---|
138 |
|
---|
139 | #ifdef ANA_M3OBC
|
---|
140 | # include <ana_m3obc.h>
|
---|
141 | #endif
|
---|
142 |
|
---|
143 | #if defined ANA_GRID && defined MASKING
|
---|
144 | # include <ana_mask.h>
|
---|
145 | #endif
|
---|
146 |
|
---|
147 | #if defined NUDGING_COFF
|
---|
148 | # include <ana_nudgcoef.h>
|
---|
149 | #endif
|
---|
150 |
|
---|
151 | #if defined ANA_PAIR && (defined BULK_FLUXES || defined ECOSIM || \
|
---|
152 | defined ATM_PRESS)
|
---|
153 | # include <ana_pair.h>
|
---|
154 | #endif
|
---|
155 |
|
---|
156 | #if defined ANA_PASSIVE && defined T_PASSIVE && defined SOLVE3D
|
---|
157 | # include <ana_passive.h>
|
---|
158 | #endif
|
---|
159 |
|
---|
160 | #if defined ANA_PERTURB
|
---|
161 | # include <ana_perturb.h>
|
---|
162 | #endif
|
---|
163 |
|
---|
164 | #if (defined TS_PSOURCE || defined UV_PSOURCE || defined Q_PSOURCE) && \
|
---|
165 | defined ANA_PSOURCE
|
---|
166 | # include <ana_psource.h>
|
---|
167 | #endif
|
---|
168 |
|
---|
169 | #if defined ANA_RAIN && defined BULK_FLUXES
|
---|
170 | # include <ana_rain.h>
|
---|
171 | #endif
|
---|
172 |
|
---|
173 | #if defined ANA_GRID && \
|
---|
174 | (defined AD_SENSITIVITY || defined OPT_OBSERVATIONS || \
|
---|
175 | defined SO_SEMI)
|
---|
176 | # include <ana_scope.h>
|
---|
177 | #endif
|
---|
178 |
|
---|
179 | #if defined ANA_SEDIMENT && (defined SEDIMENT || defined BBL_MODEL)
|
---|
180 | # include <ana_sediment.h>
|
---|
181 | #endif
|
---|
182 |
|
---|
183 | #ifdef ANA_SMFLUX
|
---|
184 | # include <ana_smflux.h>
|
---|
185 | #endif
|
---|
186 |
|
---|
187 | #ifdef ANA_SPINNING
|
---|
188 | # include <ana_spinning.h>
|
---|
189 | #endif
|
---|
190 |
|
---|
191 | #if (defined ANA_SRFLUX && defined SOLVE3D) || defined DIURNAL_SRFLUX
|
---|
192 | # include <ana_srflux.h>
|
---|
193 | #endif
|
---|
194 |
|
---|
195 | #if defined ECOSIM && defined SOLVE3D
|
---|
196 | # include <ana_specir.h>
|
---|
197 | #endif
|
---|
198 |
|
---|
199 | #if defined ANA_SSH && defined ZCLIMATOLOGY
|
---|
200 | # include <ana_ssh.h>
|
---|
201 | #endif
|
---|
202 |
|
---|
203 | #if defined SALINITY && defined ANA_SSS && \
|
---|
204 | (defined SCORRECTION || defined SRELAXATION)
|
---|
205 | # include <ana_sss.h>
|
---|
206 | #endif
|
---|
207 |
|
---|
208 | #if defined ANA_SST && defined QCORRECTION
|
---|
209 | # include <ana_sst.h>
|
---|
210 | #endif
|
---|
211 |
|
---|
212 | #if defined ANA_STFLUX || defined ANA_SSFLUX || defined ANA_SPFLUX
|
---|
213 | # include <ana_stflux.h>
|
---|
214 | #endif
|
---|
215 |
|
---|
216 | #if defined ANA_TAIR && \
|
---|
217 | (defined BULK_FLUXES || defined ECOSIM || \
|
---|
218 | (defined ANA_SRFLUX && defined ALBEDO) )
|
---|
219 | # include <ana_tair.h>
|
---|
220 | #endif
|
---|
221 |
|
---|
222 | #if defined ANA_TCLIMA && defined TCLIMATOLOGY
|
---|
223 | # include <ana_tclima.h>
|
---|
224 | #endif
|
---|
225 |
|
---|
226 | #ifdef ANA_TOBC
|
---|
227 | # include <ana_tobc.h>
|
---|
228 | #endif
|
---|
229 |
|
---|
230 | #ifdef ANA_VMIX
|
---|
231 | # include <ana_vmix.h>
|
---|
232 | #endif
|
---|
233 |
|
---|
234 | #if defined ANA_WINDS && (defined BULK_FLUXES || defined ECOSIM)
|
---|
235 | # include <ana_winds.h>
|
---|
236 | #endif
|
---|
237 |
|
---|
238 | #if defined ANA_WWAVE
|
---|
239 | # include <ana_wwave.h>
|
---|
240 | #endif
|
---|
241 |
|
---|
242 | SUBROUTINE analytical
|
---|
243 | END SUBROUTINE analytical
|
---|
244 |
|
---|
245 | END MODULE analytical_mod
|
---|