Ticket #49: analytical.F

File analytical.F, 8.5 KB (added by m.hadfield, 17 years ago)
Line 
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