ROMS
Loading...
Searching...
No Matches
analytical.F
Go to the documentation of this file.
1#include "cppdefs.h"
2 MODULE analytical_mod
3!
4!git $Id$
5!================================================== Hernan G. Arango ===
6! Copyright (c) 2002-2025 The ROMS Group !
7! Licensed under a MIT/X style license !
8! See License_ROMS.md !
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_cloud.h Analytical cloud fraction. !
23!! ana_diag.h Customized diagnostics. !
24!! ana_dqdsst.h Analytical dQdSST used for heat flux correction.!
25!! ana_drag.h Analytical spatially varying bottom friction !
26!! parameters. !
27!! ana_fsobc.h Analytical free-surface boundary conditions. !
28!! ana_grid.h Analytical model grid set-up. !
29!! ana_humid.h Analytical surface air humidity. !
30!! ana_initial.h Analytical initial conditions for momentum, !
31!! free surface and tracers. !
32!! ana_m2clima.h Analytical 2D momentum climatology. !
33!! ana_m2obc.h Analytical 2D momentum boundary conditions. !
34!! ana_m3clima.h Analytical 3D momentum climatology. !
35!! ana_m3obc.h Analytical 3D momentum boundary conditions. !
36!! ana_mask.h Analytical Land/Sea masking. !
37!! ana_nudgcoef.h Analytical climatology nudging coefficients. !
38!! ana_pair.h Analytical surface air pressure. !
39!! ana_passive.h Analytical initial conditions for passive !
40!! inert tracers. !
41!! ana_perturb.h Peturb analytical initial conditions with !
42!! analytical expressions. !
43!! ana_psource.h Analytical mass/tracer point sources/sinks. !
44!! ana_rain.h Analytical rain fall rate. !
45!! ana_respiration.h Analytical total respiration for hypoxia. !
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_sponge.h Analytical enhanced viscosity/diffusion sponge !
54!! ana_srflux.h Analytical kinematic surface shortwave !
55!! radiation flux. !
56!! ana_specir.h Analytical calculation of spectral downwelling !
57!! irradiance. !
58!! ana_ssh.h Analytical sea surface height climatology. !
59!! ana_sst.h Analytical SST used 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_wtype.h Analytical Jerlov water type index. !
70!! ana_wwave.h Analytical wind induced wave amplitude, !
71!! direction and period. !
72!! !
73!! Notice that there is a template copy of each header file in the !
74!! "User/Functionals" directory for user private applications. This !
75!! will facilitate updating in the future by distinguishing between !
76!! official idealized problems and user interface. !
77!! !
78!=======================================================================
79!
80 implicit none
81!
82 CONTAINS
83!
84#ifdef ANALYTICAL
85# ifdef SOLVE3D
86# if defined ANA_BIOLOGY && defined BIOLOGY
87# include <ana_biology.h>
88# endif
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# ifdef SOLVE3D
98# if defined ANA_CLOUD && defined CLOUDS
99# include <ana_cloud.h>
100# endif
101# endif
102
103# ifdef ANA_DIAG
104# include <ana_diag.h>
105# endif
106
107# ifdef SOLVE3D
108# if defined ANA_DQDSST && defined QCORRECTION
109# include <ana_dqdsst.h>
110# endif
111# endif
112
113# if defined ANA_DRAG && defined UV_DRAG_GRID
114# include <ana_drag.h>
115# endif
116
117# ifdef ANA_FSOBC
118# include <ana_fsobc.h>
119# endif
120
121# ifdef ANA_GRID
122# include <ana_grid.h>
123# endif
124
125# ifdef SOLVE3D
126# if defined ANA_HUMIDITY && \
127 (defined bulk_fluxes || defined ecosim || \
128 (defined ana_srflux && defined albedo) )
129# include <ana_humid.h>
130# endif
131# endif
132
133# ifdef ANA_INITIAL
134# include <ana_initial.h>
135# endif
136
137# ifdef ANA_M2CLIMA
138# include <ana_m2clima.h>
139# endif
140
141# ifdef ANA_M2OBC
142# include <ana_m2obc.h>
143# endif
144
145# if defined ANA_M3CLIMA && defined SOLVE3D
146# include <ana_m3clima.h>
147# endif
148
149# if defined ANA_M3OBC && defined SOLVE3D
150# include <ana_m3obc.h>
151# endif
152
153# if defined ANA_GRID && defined MASKING
154# include <ana_mask.h>
155# endif
156
157# ifdef ANA_NUDGCOEF
158# include <ana_nudgcoef.h>
159# endif
160
161# if defined ANA_PAIR && (defined BULK_FLUXES || defined ECOSIM || \
162 defined atm_press)
163# include <ana_pair.h>
164# endif
165
166# if defined ANA_PASSIVE && defined T_PASSIVE && defined SOLVE3D
167# include <ana_passive.h>
168# endif
169
170# if defined ANA_PERTURB
171# include <ana_perturb.h>
172# endif
173
174# if defined ANA_PSOURCE
175# include <ana_psource.h>
176# endif
177
178# ifdef SOLVE3D
179# if defined ANA_RAIN && defined BULK_FLUXES
180# include <ana_rain.h>
181# endif
182# endif
183
184# ifdef SOLVE3D
185# if defined ANA_RESPIRATION && defined HYPOXIA_SRM
186# include <ana_respiration.h>
187# endif
188# endif
189
190# if defined ANA_GRID && \
191 (defined ad_sensitivity || defined i4dvar_ana_sensitivity || \
192 defined opt_observations || defined sensitivity_4dvar || \
193 defined so_semi)
194# include <ana_scope.h>
195# endif
196
197# ifdef SOLVE3D
198# if defined ANA_SEDIMENT && (defined SEDIMENT || defined BBL_MODEL)
199# include <ana_sediment.h>
200# endif
201# endif
202
203# ifdef ANA_SMFLUX
204# include <ana_smflux.h>
205# endif
206
207# ifdef ANA_SPINNING
208# include <ana_spinning.h>
209# endif
210
211# ifdef ANA_SPONGE
212# include <ana_sponge.h>
213# endif
214
215# if (defined ANA_SRFLUX || defined DIURNAL_SRFLUX) && defined SOLVE3D
216# include <ana_srflux.h>
217# endif
218
219# if defined ECOSIM && defined SOLVE3D
220# include <ana_specir.h>
221# endif
222
223# ifdef ANA_SSH
224# include <ana_ssh.h>
225# endif
226
227# ifdef SOLVE3D
228# if defined SALINITY && defined ANA_SSS && \
229 (defined scorrection || defined srelaxation)
230# include <ana_sss.h>
231# endif
232# endif
233
234# ifdef SOLVE3D
235# if defined ANA_SST && defined QCORRECTION
236# include <ana_sst.h>
237# endif
238# endif
239
240# ifdef SOLVE3D
241# if defined ANA_STFLUX || defined ANA_SSFLUX || defined ANA_SPFLUX
242# include <ana_stflux.h>
243# endif
244# endif
245
246# ifdef SOLVE3D
247# if defined ANA_TAIR && \
248 (defined bulk_fluxes || defined ecosim || \
249 (defined ana_srflux && defined albedo) )
250# include <ana_tair.h>
251# endif
252# endif
253
254# if defined ANA_TCLIMA && defined SOLVE3D
255# include <ana_tclima.h>
256# endif
257
258# if defined ANA_TOBC && defined SOLVE3D
259# include <ana_tobc.h>
260# endif
261
262# if defined ANA_VMIX && defined SOLVE3D
263# include <ana_vmix.h>
264# endif
265
266# if defined ANA_WINDS && (defined BULK_FLUXES || defined ECOSIM)
267# include <ana_winds.h>
268# endif
269
270# ifdef SOLVE3D
271# if defined WTYPE_GRID && defined ANA_WTYPE && \
272 (defined lmd_skpp || defined solar_source)
273# include <ana_wtype.h>
274# endif
275# endif
276
277# if defined ANA_WWAVE
278# include <ana_wwave.h>
279# endif
280#endif
281
282 END MODULE analytical_mod
subroutine lmd_skpp(ng, tile)
Definition lmd_skpp.F:45
subroutine ana_srflux(ng, tile, model)
Definition ana_srflux.h:3