2078
free surface field, this is a copy of prognostic_scalar_field above
2079
removing all options that don't apply (mainly advection related)
2081
<define name="prognostic_free_surface_field">
2083
<element name="spatial_discretisation">
2084
<a:documentation>Spatial discretisation options</a:documentation>
2086
<element name="free_surface_3D">
2087
<a:documentation>Form a full 3D system for the free surface</a:documentation>
2092
<element name="fourth_order_dissipation">
2097
<element name="low_order_free_surface">
2098
<a:documentation>low order (linear) free surface</a:documentation>
2103
<element name="default_free_surface_filter">
2104
<a:documentation>Select free surface filter
2106
With PN-PN we need some filter to supress spurious modes.</a:documentation>
2109
<element name="user_specified_free_surface_filter">
2110
<a:documentation>Select free surface filter
2112
With PN-PN we need some filter to supress spurious modes.</a:documentation>
2113
<element name="non_linear_filter_coefficient">
2114
<a:documentation>Default is to apply 0.01 and for wetting and drying cases 1.0</a:documentation>
2118
<element name="switch_off_free_surface_filter">
2119
<a:documentation>Switch off free surface filter, this is more efficient than setting the coefficient to 0.</a:documentation>
2124
<element name="wetting_drying">
2125
<a:documentation>Apply wetting and drying routines</a:documentation>
2130
<element name="tidal_forcing">
2131
<a:documentation>Tidal forcing options </a:documentation>
2134
<a:documentation>M2</a:documentation>
2140
<a:documentation>S2</a:documentation>
2146
<a:documentation>N2</a:documentation>
2152
<a:documentation>K2</a:documentation>
2158
<a:documentation>K1</a:documentation>
2164
<a:documentation>O1</a:documentation>
2170
<a:documentation>P1</a:documentation>
2176
<a:documentation>Q1</a:documentation>
2181
<element name="all_tidal_components">
2182
<a:documentation>Switch on all tidal components</a:documentation>
2187
<element name="love_number">
2188
<a:documentation>Switches on a Love number of 0.3</a:documentation>
2193
<element name="static_tidal_force">
2194
<a:documentation>Use static tidal force for testing</a:documentation>
2201
<element name="Legacy_Free_Surface">
2202
<a:documentation>Legacy Free Surface
2203
Allows astronomical forcing for multiple tidal constituents.
2204
Integer should be sum of desired components as follows:
2208
Fourth Order Dissipation = 4
2210
Low Order Free Surface = 8
2212
Implicit absorption in the free surface (good for wetting/drying) = 16
2214
Turn on all tides = 32
2218
Static Tidal Force = 128
2220
M2 constituent = 2048
2222
S2 constituent = 4096
2224
N2 constituent = 8192
2226
K2 constituent = 16384
2228
K1 constituent = 32768
2230
O1 constituent = 65536
2232
P1 constituent = 131072
2234
Q1 constituent = 262144</a:documentation>
2235
<ref name="integer"/>
2239
atheta, ctheta and fstheta (absorption, coriolis and free surface)
2240
need to go in temporal discretisation
2241
they are currently hard-coded however
2243
<element name="temporal_discretisation">
2244
<element name="theta">
2245
<a:documentation>Implicit/explicitness for the free surface.
2247
Suggested value 1.0 (should be at least bigger than 0.5).
2249
=0.5 -- Crank-Nicolson
2250
=1. -- implicit</a:documentation>
2254
<!-- Maybe this should go under a proper absorption field under free surface? -->
2255
<element name="absorption_theta">
2256
<a:documentation>Implicit/explicitness for absorption
2257
=0. -- explicit (default)
2258
=0.5 -- Crank-Nicolson
2259
=1. -- implicit</a:documentation>
2264
<element name="solver">
2265
<a:documentation>Solver</a:documentation>
2266
<ref name="linear_solver_options_sym"/>
2270
<element name="initial_condition">
2271
<a:documentation>Initial condition for WholeMesh
2273
Only specify one condition if not using mesh regions.
2274
Otherwise select other initial_condition option, specify region_ids
2275
and distinct names. Then add extra intial conditions for other regions.</a:documentation>
2276
<attribute name="name">
2277
<value>WholeMesh</value>
2279
<ref name="input_choice_initial_condition_real"/>
2281
<element name="initial_condition">
2282
<a:documentation>Multiple initial_conditions are allowed if specifying
2283
different values in different
2284
regions of the mesh (defined by region_ids). In this case
2285
each initial_condition
2286
requires a distinct name for the options dictionary.</a:documentation>
2287
<attribute name="name">
2288
<data type="string" datatypeLibrary=""/>
2290
<ref name="region_ids"/>
2291
<ref name="input_choice_initial_condition_real"/>
2296
<element name="boundary_conditions">
2297
<a:documentation>Boundary conditions</a:documentation>
2298
<attribute name="name">
2299
<data type="string" datatypeLibrary=""/>
2301
<element name="surface_ids">
2302
<a:documentation>Surface id:</a:documentation>
2303
<ref name="integer_vector"/>
2306
<a:documentation>Type</a:documentation>
2307
<element name="type">
2308
<attribute name="name">
2309
<value>dirichlet</value>
2312
<ref name="input_choice_real_contents"/>
2313
<element name="from_file">
2315
<element name="tidal">
2316
<attribute name="file_name">
2317
<data type="string" datatypeLibrary=""/>
2319
<attribute name="variable_name_amplitude">
2320
<data type="string" datatypeLibrary=""/>
2322
<attribute name="variable_name_phase">
2323
<data type="string" datatypeLibrary=""/>
2325
<attribute name="name">
2326
<a:documentation>See E.W. Schwiderski - Rev. Geophys. Space
2327
Phys. Vol. 18 No. 1 pp. 243--268, 1980
2328
for details of these constituent.</a:documentation>
2348
<element name="type">
2349
<attribute name="name">
2350
<value>neumann</value>
2352
<ref name="input_choice_real"/>
2354
<element name="type">
2355
<attribute name="name">
2356
<value>robin</value>
2358
<element name="order_zero_coefficient">
2359
<ref name="input_choice_real"/>
2361
<element name="order_one_coefficient">
2362
<ref name="input_choice_real"/>
2369
no Diffusivity for field
2372
no Adaptive timestepping option
2374
<ref name="prognostic_scalar_output_options"/>
2375
<ref name="prognostic_scalar_stat_options"/>
2376
<ref name="scalar_convergence_options"/>
2377
<ref name="prognostic_detector_options"/>
2378
<ref name="scalar_steady_state_options"/>
2379
<ref name="adaptivity_options_prognostic_scalar_field"/>
2380
<ref name="interpolation_algorithm_scalar"/>
2382
<ref name="discrete_properties_algorithm_scalar"/>
2386
2078
stream function, this is a copy of prognostic_scalar_field above
2387
2079
removing all options that don't apply (mainly advection related)
3932
3624
<element name="scalar_field">
3933
<a:documentation>Free Surface
3934
NOTE: the prognostic FreeSurface field only works with the
3935
legacy_continuous_galerkin code path
3936
NOTE: if you are using the free_surface boundary condition
3937
applied to the Velocity field (recommended), you should not
3938
use the prognostic FreeSurface field. In this case you may
3939
(optionally) add a diagnostic FreeSurface field.</a:documentation>
3625
<a:documentation>Free Surface</a:documentation>
3940
3626
<attribute name="rank">
3941
3627
<value>0</value>
3943
3629
<attribute name="name">
3944
3630
<value>FreeSurface</value>
3947
<element name="prognostic">
3948
<a:documentation>Free Surface
3949
NOTE: the prognostic FreeSurface field only works with the
3950
legacy_continuous_galerkin code path</a:documentation>
3951
<element name="mesh">
3952
<a:documentation>Note that this is not the quadratic mesh balance pressure is
3953
actually calculated on, but the linear mesh it is projected back
3954
on for output purposes.</a:documentation>
3955
<attribute name="name">
3956
<value>VelocityMesh</value>
3959
<ref name="prognostic_free_surface_field"/>
3961
<element name="diagnostic">
3962
<a:documentation>Free Surface
3632
<element name="diagnostic">
3633
<a:documentation>Free Surface
3963
3634
NOTE: the diagnostic FreeSurface field only works in combination
3964
3635
with the free_surface boundary condition applied to the Velocity
3965
3636
field. It gives you a 3D field (constant over the vertical)
3966
3637
of the free surface elevation.</a:documentation>
3967
<ref name="internal_algorithm"/>
3969
this is hard-coded on the PressureMesh as long as the Pressure is
3970
if this is no longer true, it should be option-checked to be on the
3971
same mesh as Pressure
3973
<element name="mesh">
3974
<a:documentation>Must be on the same mesh as Pressure</a:documentation>
3975
<attribute name="name">
3976
<value>PressureMesh</value>
3979
<ref name="diagnostic_scalar_field"/>
3638
<ref name="internal_algorithm"/>
3640
this is hard-coded on the PressureMesh as long as the Pressure is
3641
if this is no longer true, it should be option-checked to be on the
3642
same mesh as Pressure
3644
<element name="mesh">
3645
<a:documentation>Must be on the same mesh as Pressure</a:documentation>
3646
<attribute name="name">
3647
<value>PressureMesh</value>
3650
<ref name="diagnostic_scalar_field"/>
3983
3653
<element name="scalar_field">
3984
3654
<a:documentation>Second Fluid</a:documentation>