| 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
|
|---|