1
<?xml version='1.0' encoding='utf-8'?>
4
<string_value lines="1">column-parallel</string_value>
7
<string_value lines="1">oceans</string_value>
11
<integer_value rank="0">3</integer_value>
13
<mesh name="CoordinateMesh">
14
<from_file file_name="column">
15
<format name="triangle"/>
21
<mesh name="VelocityMesh">
23
<mesh name="CoordinateMesh"/>
29
<mesh name="PressureMesh">
31
<mesh name="CoordinateMesh"/>
39
<integer_value rank="0">3</integer_value>
45
<string_value>vtk</string_value>
49
<real_value rank="0">86400</real_value>
50
<comment>86400 - 1 day
51
604800 - 1 week</comment>
54
<output_mesh name="CoordinateMesh"/>
59
<real_value rank="0">0.0</real_value>
60
<time_units date="seconds since 1970-01-01 12:00:0.0"/>
63
<real_value rank="0">15</real_value>
66
<real_value rank="0">45</real_value>
67
<comment>1 years</comment>
69
<nonlinear_iterations>
70
<integer_value rank="0">2</integer_value>
71
</nonlinear_iterations>
76
<real_value rank="0">9.8</real_value>
78
<vector_field name="GravityDirection" rank="1">
80
<mesh name="CoordinateMesh"/>
81
<value name="WholeMesh">
83
<real_value shape="3" dim1="dim" rank="1">0.0 0.0 -1.0</real_value>
91
<exclude_from_detectors/>
99
<real_value rank="0">1.0e-4</real_value>
103
</physical_parameters>
104
<material_phase name="Fluid">
107
<ocean_pade_approximation/>
110
<subgridscale_parameterisations>
113
<string_value>k-epsilon</string_value>
116
<string_value>Canuto-01-A</string_value>
117
</stability_function>
118
<calculate_boundaries>
119
<string_value>neumann</string_value>
121
<integer_value shape="1" rank="1">38</integer_value>
124
<integer_value shape="1" rank="1">39</integer_value>
125
</bottom_surface_ids>
126
</calculate_boundaries>
127
<scalar_field name="GLSTurbulentKineticEnergy" rank="0">
129
<mesh name="VelocityMesh"/>
130
<equation name="AdvectionDiffusion"/>
131
<spatial_discretisation>
133
<face_value name="FiniteElement">
135
<limiter name="Sweby"/>
138
<diffusion_scheme name="ElementGradient"/>
140
<conservative_advection>
141
<real_value rank="0">0.0</real_value>
142
</conservative_advection>
143
</spatial_discretisation>
144
<temporal_discretisation>
146
<real_value rank="0">1.0</real_value>
149
<number_advection_iterations>
150
<integer_value rank="0">3</integer_value>
151
</number_advection_iterations>
153
</temporal_discretisation>
155
<iterative_method name="gmres">
157
<integer_value rank="0">50</integer_value>
160
<preconditioner name="sor"/>
162
<real_value rank="0">1.0e-7</real_value>
165
<integer_value rank="0">5000</integer_value>
167
<never_ignore_solver_failures/>
172
<initial_condition name="WholeMesh">
174
<real_value rank="0">7.6e-6</real_value>
177
<tensor_field name="Diffusivity" rank="2">
179
<algorithm name="Internal" material_phase_support="multiple"/>
186
<scalar_field name="Source" rank="0">
188
<algorithm name="Internal" material_phase_support="multiple"/>
192
<include_in_detectors/>
196
<scalar_field name="Absorption" rank="0">
198
<algorithm name="Internal" material_phase_support="multiple"/>
202
<include_in_detectors/>
209
<include_in_convergence/>
212
<include_in_detectors/>
215
<include_in_steady_state/>
217
<consistent_interpolation/>
219
<real_value rank="0">7.6e-6</real_value>
223
<scalar_field name="GLSGenericSecondQuantity" rank="0">
225
<mesh name="VelocityMesh"/>
226
<equation name="AdvectionDiffusion"/>
227
<spatial_discretisation>
229
<face_value name="FiniteElement">
231
<limiter name="Sweby"/>
234
<diffusion_scheme name="ElementGradient"/>
236
<conservative_advection>
237
<real_value rank="0">0.0</real_value>
238
</conservative_advection>
239
</spatial_discretisation>
240
<temporal_discretisation>
242
<real_value rank="0">1.0</real_value>
245
<number_advection_iterations>
246
<integer_value rank="0">3</integer_value>
247
</number_advection_iterations>
249
</temporal_discretisation>
251
<iterative_method name="gmres">
253
<integer_value rank="0">30</integer_value>
256
<preconditioner name="sor"/>
258
<real_value rank="0">1.0E-7</real_value>
261
<integer_value rank="0">20000</integer_value>
263
<never_ignore_solver_failures/>
268
<initial_condition name="WholeMesh">
270
<real_value rank="0">1.0e-12</real_value>
273
<tensor_field name="Diffusivity" rank="2">
275
<algorithm name="Internal" material_phase_support="multiple"/>
282
<scalar_field name="Source" rank="0">
284
<algorithm name="Internal" material_phase_support="multiple"/>
288
<include_in_detectors/>
292
<scalar_field name="Absorption" rank="0">
294
<algorithm name="Internal" material_phase_support="multiple"/>
298
<include_in_detectors/>
305
<include_in_convergence/>
308
<include_in_detectors/>
311
<include_in_steady_state/>
313
<consistent_interpolation/>
316
<tensor_field name="GLSBackgroundViscosity" rank="2">
318
<mesh name="VelocityMesh"/>
319
<value name="WholeMesh">
320
<anisotropic_symmetric>
322
<string_value lines="20" type="code" language="python">def val(X, t):
325
if (X[2] > -depth): # top depth m
326
value = surface_nu * (X[2]+depth)/depth
330
return [[1000, 0, 0],
332
[0, 0, value]]</string_value>
334
</anisotropic_symmetric>
339
<tensor_field name="GLSBackgroundDiffusivity" rank="2">
341
<mesh name="VelocityMesh"/>
342
<value name="WholeMesh">
343
<anisotropic_symmetric>
345
<string_value lines="20" type="code" language="python">def val(X, t):
348
if (X[2] > -depth): # top depth m
349
value = surface_nu * (X[2]+depth)/depth
353
return [[1000, 0, 0],
355
[0, 0, value]]</string_value>
357
</anisotropic_symmetric>
362
<tensor_field name="GLSEddyViscosityKM" rank="2">
364
<algorithm name="Internal" material_phase_support="multiple"/>
365
<mesh name="VelocityMesh"/>
369
<include_in_convergence/>
372
<include_in_detectors/>
375
<include_in_steady_state/>
379
<tensor_field name="GLSEddyDiffusivityKH" rank="2">
381
<algorithm name="Internal" material_phase_support="multiple"/>
382
<mesh name="VelocityMesh"/>
386
<include_in_convergence/>
389
<include_in_detectors/>
392
<include_in_steady_state/>
396
<scalar_field name="GLSLengthScale" rank="0">
398
<algorithm name="Internal" material_phase_support="multiple"/>
399
<mesh name="VelocityMesh"/>
403
<include_in_convergence/>
406
<include_in_detectors/>
409
<include_in_steady_state/>
413
<scalar_field name="GLSBuoyancyFrequency" rank="0">
415
<algorithm name="Internal" material_phase_support="multiple"/>
416
<mesh name="VelocityMesh"/>
420
<include_in_convergence/>
423
<include_in_detectors/>
426
<include_in_steady_state/>
430
<scalar_field name="GLSVelocityShear" rank="0">
432
<algorithm name="Internal" material_phase_support="multiple"/>
433
<mesh name="VelocityMesh"/>
437
<include_in_convergence/>
440
<include_in_detectors/>
443
<include_in_steady_state/>
447
<scalar_field name="GLSShearProduction" rank="0">
449
<algorithm name="Internal" material_phase_support="multiple"/>
450
<mesh name="VelocityMesh"/>
454
<include_in_convergence/>
457
<include_in_detectors/>
460
<include_in_steady_state/>
464
<scalar_field name="GLSBuoyancyProduction" rank="0">
466
<algorithm name="Internal" material_phase_support="multiple"/>
467
<mesh name="VelocityMesh"/>
471
<include_in_convergence/>
474
<include_in_detectors/>
477
<include_in_steady_state/>
481
<scalar_field name="GLSDissipationEpsilon" rank="0">
483
<algorithm name="Internal" material_phase_support="multiple"/>
484
<mesh name="VelocityMesh"/>
488
<include_in_convergence/>
491
<include_in_detectors/>
494
<include_in_steady_state/>
498
<scalar_field name="GLSStabilityFunctionSM" rank="0">
500
<algorithm name="Internal" material_phase_support="multiple"/>
501
<mesh name="VelocityMesh"/>
505
<include_in_convergence/>
508
<include_in_detectors/>
511
<include_in_steady_state/>
515
<scalar_field name="GLSStabilityFunctionSH" rank="0">
517
<algorithm name="Internal" material_phase_support="multiple"/>
518
<mesh name="VelocityMesh"/>
522
<include_in_convergence/>
525
<include_in_detectors/>
528
<include_in_steady_state/>
532
<scalar_field name="GLSSource1" rank="0">
534
<algorithm name="Internal" material_phase_support="multiple"/>
535
<mesh name="VelocityMesh"/>
539
<include_in_convergence/>
542
<include_in_detectors/>
545
<include_in_steady_state/>
549
<scalar_field name="GLSSource2" rank="0">
551
<algorithm name="Internal" material_phase_support="multiple"/>
552
<mesh name="VelocityMesh"/>
556
<include_in_convergence/>
559
<include_in_detectors/>
562
<include_in_steady_state/>
566
<scalar_field name="GLSAbsorption1" rank="0">
568
<algorithm name="Internal" material_phase_support="multiple"/>
569
<mesh name="VelocityMesh"/>
573
<include_in_convergence/>
576
<include_in_detectors/>
579
<include_in_steady_state/>
583
<scalar_field name="GLSAbsorption2" rank="0">
585
<algorithm name="Internal" material_phase_support="multiple"/>
586
<mesh name="VelocityMesh"/>
590
<include_in_convergence/>
593
<include_in_detectors/>
596
<include_in_steady_state/>
600
<scalar_field name="GLSWallFunction" rank="0">
602
<algorithm name="Internal" material_phase_support="multiple"/>
603
<mesh name="VelocityMesh"/>
607
<include_in_convergence/>
610
<include_in_detectors/>
613
<include_in_steady_state/>
617
<scalar_field name="GLSVerticalViscosity" rank="0">
619
<algorithm name="Internal" material_phase_support="multiple"/>
620
<mesh name="VelocityMesh"/>
624
<include_in_convergence/>
627
<include_in_detectors/>
630
<include_in_steady_state/>
634
<scalar_field name="GLSVerticalDiffusivity" rank="0">
636
<algorithm name="Internal" material_phase_support="multiple"/>
637
<mesh name="VelocityMesh"/>
641
<include_in_convergence/>
644
<include_in_detectors/>
647
<include_in_steady_state/>
652
</subgridscale_parameterisations>
653
<scalar_field name="Density" rank="0">
655
<algorithm name="Internal" material_phase_support="multiple"/>
656
<mesh name="VelocityMesh"/>
660
<include_in_convergence/>
663
<include_in_detectors/>
666
<include_in_steady_state/>
670
<vector_field name="Velocity" rank="1">
672
<mesh name="VelocityMesh"/>
673
<equation name="Boussinesq"/>
674
<spatial_discretisation>
675
<continuous_galerkin>
679
<nu_scale name="0.5">
680
<real_value shape="1" rank="0">0.5</real_value>
688
<exclude_advection_terms/>
693
</continuous_galerkin>
694
<conservative_advection>
695
<real_value rank="0">0.0</real_value>
696
</conservative_advection>
697
</spatial_discretisation>
698
<temporal_discretisation>
700
<real_value rank="0">1.0</real_value>
703
<real_value rank="0">1.0</real_value>
705
</temporal_discretisation>
707
<iterative_method name="gmres">
709
<integer_value rank="0">30</integer_value>
712
<preconditioner name="sor"/>
714
<real_value rank="0">1.0E-7</real_value>
717
<integer_value rank="0">2000</integer_value>
719
<never_ignore_solver_failures/>
724
<initial_condition name="WholeMesh">
726
<real_value shape="3" dim1="dim" rank="1">0.0 0.0 0.0</real_value>
729
<boundary_conditions name="lateral">
731
<integer_value shape="4" rank="1">40 41 42 43</integer_value>
733
<type name="dirichlet">
734
<align_bc_with_cartesian>
737
<real_value rank="0">0.0</real_value>
740
</align_bc_with_cartesian>
742
</boundary_conditions>
743
<boundary_conditions name="topbottom">
745
<integer_value shape="2" rank="1">38 39</integer_value>
747
<type name="dirichlet">
748
<align_bc_with_cartesian>
751
<real_value rank="0">0.0</real_value>
754
</align_bc_with_cartesian>
756
</boundary_conditions>
757
<boundary_conditions name="BulkForcingVelocity">
759
<integer_value shape="1" rank="1">38</integer_value>
761
<type name="bulk_formulae"/>
762
</boundary_conditions>
763
<tensor_field name="Viscosity" rank="2">
765
<algorithm name="Internal" material_phase_support="multiple"/>
772
<vector_field name="Absorption" rank="1">
774
<value name="WholeMesh">
776
<real_value shape="3" dim1="dim" rank="1">1.0e-7 1.0e-7 1.0e-7</real_value>
784
<exclude_from_detectors/>
787
<default_absorption/>
794
</previous_time_step>
800
<include_in_convergence/>
803
<include_in_detectors/>
806
<include_in_steady_state/>
808
<consistent_interpolation/>
811
<scalar_field name="Temperature" rank="0">
813
<mesh name="VelocityMesh"/>
814
<equation name="AdvectionDiffusion"/>
815
<spatial_discretisation>
816
<continuous_galerkin>
820
<nu_scale name="0.5">
821
<real_value shape="1" rank="0">0.5</real_value>
826
<exclude_advection_terms/>
829
</continuous_galerkin>
830
<conservative_advection>
831
<real_value rank="0">0.0</real_value>
832
</conservative_advection>
833
</spatial_discretisation>
834
<temporal_discretisation>
836
<real_value rank="0">1.0</real_value>
838
</temporal_discretisation>
840
<iterative_method name="gmres">
842
<integer_value rank="0">30</integer_value>
845
<preconditioner name="sor"/>
847
<real_value rank="0">1.0e-7</real_value>
850
<integer_value rank="0">1000000</integer_value>
852
<never_ignore_solver_failures/>
857
<initial_condition name="WholeMesh">
859
<string_value lines="20" type="code" language="python">def val(X,t):
866
reader = csv.reader(file("temperature.csv"))
868
layerl.append(abs(float(row[0])))
869
templ.append(float(row[1]))
871
return float(interpolate.interpolate(layerl, templ, abs(X[2])))</string_value>
874
<boundary_conditions name="BulkForcingTemperature">
876
<integer_value shape="1" rank="1">38</integer_value>
878
<type name="bulk_formulae"/>
879
</boundary_conditions>
880
<subgridscale_parameterisation name="GLS"/>
884
<include_in_convergence/>
887
<include_in_detectors/>
890
<include_in_steady_state/>
892
<consistent_interpolation/>
895
<scalar_field name="Salinity" rank="0">
897
<mesh name="VelocityMesh"/>
898
<equation name="AdvectionDiffusion"/>
899
<spatial_discretisation>
900
<continuous_galerkin>
904
<nu_scale name="0.5">
905
<real_value shape="1" rank="0">0.5</real_value>
910
<exclude_advection_terms/>
913
</continuous_galerkin>
914
<conservative_advection>
915
<real_value rank="0">0.0</real_value>
916
</conservative_advection>
917
</spatial_discretisation>
918
<temporal_discretisation>
920
<real_value rank="0">1.0</real_value>
922
</temporal_discretisation>
924
<iterative_method name="gmres">
926
<integer_value rank="0">30</integer_value>
929
<preconditioner name="sor"/>
931
<real_value rank="0">1.0e-7</real_value>
934
<integer_value rank="0">100000</integer_value>
936
<never_ignore_solver_failures/>
941
<initial_condition name="WholeMesh">
943
<string_value lines="20" type="code" language="python">def val(X,t):
946
from interpolate import interpolate
950
reader = csv.reader(file("salinity.csv"))
952
layerl.append(abs(float(row[0])))
953
templ.append(float(row[1]))
955
return float(interpolate(layerl, templ, abs(X[2])))</string_value>
958
<boundary_conditions name="BulkForcingSalinity">
960
<integer_value shape="1" rank="1">38</integer_value>
962
<type name="bulk_formulae"/>
963
</boundary_conditions>
964
<subgridscale_parameterisation name="GLS"/>
968
<include_in_convergence/>
971
<include_in_detectors/>
974
<include_in_steady_state/>
976
<consistent_interpolation/>
979
<scalar_field name="PerturbationDensity" rank="0">
981
<algorithm name="Internal" material_phase_support="multiple"/>
982
<mesh name="VelocityMesh"/>
986
<include_in_convergence/>
989
<include_in_detectors/>
992
<include_in_steady_state/>
996
<scalar_field name="CFLNumber" rank="0">
998
<algorithm name="Internal" material_phase_support="multiple"/>
999
<mesh name="VelocityMesh"/>
1003
<include_in_convergence/>
1006
<include_in_detectors/>
1009
<include_in_steady_state/>
1013
<scalar_field name="DistanceToTop" rank="0">
1015
<mesh name="VelocityMesh"/>
1016
<value name="WholeMesh">
1018
<string_value lines="20" type="code" language="python">def val(X,t):
1019
return abs(X[2])</string_value>
1025
<exclude_from_detectors/>
1029
<scalar_field name="DistanceToBottom" rank="0">
1031
<mesh name="VelocityMesh"/>
1032
<value name="WholeMesh">
1034
<string_value lines="20" type="code" language="python">def val(X,t):
1035
return 900.0 - abs(X[2])</string_value>
1041
<exclude_from_detectors/>
1051
<input_file file_name="1970_1980_StationPapa.nc"/>
1053
<real_value shape="2" rank="1">50 -145</real_value>
1056
<output_fluxes_diagnostics/>