cstar-forge 0.3.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. cstar_forge/__init__.py +26 -0
  2. cstar_forge/catalog/DomainSpec/GoA-10th_deg/Assets/.gitkeep +0 -0
  3. cstar_forge/catalog/DomainSpec/GoA-10th_deg/Domain.yaml +30 -0
  4. cstar_forge/catalog/DomainSpec/NEP-4th_deg/Assets/.gitkeep +0 -0
  5. cstar_forge/catalog/DomainSpec/NEP-4th_deg/Domain.yaml +31 -0
  6. cstar_forge/catalog/DomainSpec/PAC_2fth_deg/Assets/.gitkeep +0 -0
  7. cstar_forge/catalog/DomainSpec/PAC_2fth_deg/Domain.yaml +26 -0
  8. cstar_forge/catalog/DomainSpec/ccs-12km/Assets/.gitkeep +0 -0
  9. cstar_forge/catalog/DomainSpec/ccs-12km/Domain.yaml +27 -0
  10. cstar_forge/catalog/DomainSpec/gulf-guinea-toy/Assets/.gitkeep +0 -0
  11. cstar_forge/catalog/DomainSpec/gulf-guinea-toy/Domain.yaml +22 -0
  12. cstar_forge/catalog/DomainSpec/hvalfjordur-0/Assets/.gitkeep +0 -0
  13. cstar_forge/catalog/DomainSpec/hvalfjordur-0/Domain.yaml +23 -0
  14. cstar_forge/catalog/DomainSpec/wio-toy/Assets/.gitkeep +0 -0
  15. cstar_forge/catalog/DomainSpec/wio-toy/Domain.yaml +22 -0
  16. cstar_forge/catalog/ForcingSpec/glorys-era5-unified/Forcing.yaml +54 -0
  17. cstar_forge/catalog/Machines/MacOS.yaml +4 -0
  18. cstar_forge/catalog/Machines/NERSC_perlmutter.yaml +6 -0
  19. cstar_forge/catalog/Machines/RCAC_anvil.yaml +5 -0
  20. cstar_forge/catalog/ModelSpec/cson_roms-marbl_v0.1/model.yaml +196 -0
  21. cstar_forge/catalog/ModelSpec/pio-dev/model.yaml +104 -0
  22. cstar_forge/catalog/OutputSpec/standard/Output.yaml +135 -0
  23. cstar_forge/catalog/blueprints/cson_roms-marbl_v0.1_wio-toy_10procs.forge_blueprint.yaml +554 -0
  24. cstar_forge/catalog.py +53 -0
  25. cstar_forge/config.py +639 -0
  26. cstar_forge/diagnostics/__init__.py +28 -0
  27. cstar_forge/diagnostics/glodap.py +186 -0
  28. cstar_forge/domain_catalog.py +1127 -0
  29. cstar_forge/forge/__init__.py +7 -0
  30. cstar_forge/forge/_yaml_representers.py +36 -0
  31. cstar_forge/forge/app.py +125 -0
  32. cstar_forge/forge/executor.py +2034 -0
  33. cstar_forge/forge/forge_blueprint.py +1036 -0
  34. cstar_forge/forge/forge_blueprint_engine.py +427 -0
  35. cstar_forge/forge/glorys_subchunk.py +335 -0
  36. cstar_forge/forge/host.py +54 -0
  37. cstar_forge/forge/input_data.py +1844 -0
  38. cstar_forge/forge/namelist_model.py +599 -0
  39. cstar_forge/forge/settings.py +365 -0
  40. cstar_forge/forge/source_data.py +843 -0
  41. cstar_forge/forge/source_registry.py +126 -0
  42. cstar_forge/forge/util.py +180 -0
  43. cstar_forge/forge-blueprint-wizard-app.ipynb +37 -0
  44. cstar_forge/forge-blueprint-wizard.ipynb +63 -0
  45. cstar_forge/forge_blueprint_resolve.py +952 -0
  46. cstar_forge/forge_blueprint_wizard.py +4365 -0
  47. cstar_forge/models.py +256 -0
  48. cstar_forge/parsers.py +545 -0
  49. cstar_forge/run.py +324 -0
  50. cstar_forge/utils.py +118 -0
  51. cstar_forge-0.3.0.dist-info/METADATA +175 -0
  52. cstar_forge-0.3.0.dist-info/RECORD +55 -0
  53. cstar_forge-0.3.0.dist-info/WHEEL +5 -0
  54. cstar_forge-0.3.0.dist-info/licenses/LICENSE +201 -0
  55. cstar_forge-0.3.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,26 @@
1
+ """
2
+ cstar_forge: A utility for generating regional oceanographic modeling domains
3
+ and spawning reproducible C-Star workflows.
4
+ """
5
+
6
+ # silence UCX warnings
7
+ import os
8
+
9
+ os.environ["UCX_LOG_LEVEL"] = "error"
10
+
11
+ from cstar_forge import catalog, config, diagnostics, models
12
+ from cstar_forge.domain_catalog import DomainCatalog, default_catalog
13
+ from cstar_forge.forge import settings, source_data
14
+ from cstar_forge.forge.executor import ForgeExecutor
15
+
16
+ __all__ = [
17
+ "DomainCatalog",
18
+ "ForgeExecutor",
19
+ "catalog",
20
+ "config",
21
+ "default_catalog",
22
+ "diagnostics",
23
+ "models",
24
+ "settings",
25
+ "source_data",
26
+ ]
@@ -0,0 +1,30 @@
1
+ description: "Gulf of Alaska 1/10 deg (nested)"
2
+ model_name: "cson_roms-marbl_v0.1"
3
+ grid_name: "GoA-10th_deg"
4
+ start_time: "2012-01-01"
5
+ end_time: "2012-01-02"
6
+ grid_kwargs:
7
+ nx: 208
8
+ ny: 192
9
+ size_x: 1460
10
+ size_y: 2220
11
+ center_lon: -135
12
+ center_lat: 52.6
13
+ rot: -105
14
+ N: 10
15
+ theta_s: 6.0
16
+ theta_b: 3.0
17
+ hc: 250.0
18
+ metadata:
19
+ prefix: "child"
20
+ period: 3600.0
21
+ include_bgc: true
22
+ open_boundaries:
23
+ south: true
24
+ east: false
25
+ north: true
26
+ west: true
27
+ partitioning:
28
+ n_procs_x: 16
29
+ n_procs_y: 8
30
+ _parent_grid_name: "NEP-4th_deg"
@@ -0,0 +1,31 @@
1
+ description: "Northeast Pacific 1/4 deg (nested)"
2
+ model_name: "cson_roms-marbl_v0.1"
3
+ grid_name: "NEP-4th_deg"
4
+ start_time: "2012-01-01"
5
+ end_time: "2012-01-02"
6
+ grid_kwargs:
7
+ nx: 208
8
+ ny: 192
9
+ size_x: 4380
10
+ size_y: 6660
11
+ center_lon: -155
12
+ center_lat: 42
13
+ rot: -90
14
+ N: 10
15
+ theta_s: 6.0
16
+ theta_b: 3.0
17
+ hc: 250.0
18
+ metadata:
19
+ prefix: "child"
20
+ period: 3600.0
21
+ include_bgc: true
22
+ open_boundaries:
23
+ south: true
24
+ east: false
25
+ north: true
26
+ west: true
27
+ partitioning:
28
+ n_procs_x: 16
29
+ n_procs_y: 8
30
+ _parent_grid_name: "PAC_2fth_deg"
31
+ _child_grid_name: "GoA-10th_deg"
@@ -0,0 +1,26 @@
1
+ description: "Pacific 2/15 deg (nested)"
2
+ model_name: "cson_roms-marbl_v0.1"
3
+ grid_name: "PAC_2fth_deg"
4
+ start_time: "2012-01-01"
5
+ end_time: "2012-01-02"
6
+ grid_kwargs:
7
+ nx: 208
8
+ ny: 192
9
+ size_x: 7300
10
+ size_y: 11100
11
+ center_lon: -165
12
+ center_lat: 40
13
+ rot: -90
14
+ N: 10
15
+ theta_s: 6.0
16
+ theta_b: 3.0
17
+ hc: 250.0
18
+ open_boundaries:
19
+ south: true
20
+ east: false
21
+ north: true
22
+ west: true
23
+ partitioning:
24
+ n_procs_x: 16
25
+ n_procs_y: 8
26
+ _child_grid_name: "NEP-4th_deg"
@@ -0,0 +1,27 @@
1
+ description: "California Current System"
2
+ model_name: "cson_roms-marbl_v0.1"
3
+ grid_name: "ccs-12km"
4
+ start_time: "2024-01-01"
5
+ end_time: "2024-01-02"
6
+ grid_kwargs:
7
+ nx: 224
8
+ ny: 440
9
+ size_x: 2688
10
+ size_y: 5280
11
+ center_lon: -134.5
12
+ center_lat: 39.6
13
+ rot: 33.3
14
+ N: 60
15
+ hc: 250.0
16
+ theta_s: 6.0
17
+ theta_b: 6.0
18
+ verbose: true
19
+ hmin: 5.0
20
+ open_boundaries:
21
+ south: true
22
+ east: true
23
+ north: true
24
+ west: true
25
+ partitioning:
26
+ n_procs_x: 16
27
+ n_procs_y: 20
@@ -0,0 +1,22 @@
1
+ description: "Gulf of Guinea (toy)"
2
+ model_name: "cson_roms-marbl_v0.1"
3
+ grid_name: "gulf-guinea-toy"
4
+ start_time: "2012-01-01"
5
+ end_time: "2012-01-02"
6
+ grid_kwargs:
7
+ nx: 10
8
+ ny: 10
9
+ size_x: 4000
10
+ size_y: 2000
11
+ center_lon: 4.0
12
+ center_lat: -1.0
13
+ rot: 0
14
+ N: 5
15
+ open_boundaries:
16
+ south: true
17
+ east: true
18
+ north: true
19
+ west: true
20
+ partitioning:
21
+ n_procs_x: 2
22
+ n_procs_y: 5
@@ -0,0 +1,23 @@
1
+ description: "Hvalfjörður, Iceland"
2
+ model_name: "cson_roms-marbl_v0.1"
3
+ grid_name: "hvalfjordur-0"
4
+ start_time: "2024-01-01"
5
+ end_time: "2024-01-02"
6
+ grid_kwargs:
7
+ nx: 512
8
+ ny: 384
9
+ size_x: 1280
10
+ size_y: 1280
11
+ center_lon: -25
12
+ center_lat: 63
13
+ rot: -20
14
+ N: 100
15
+ verbose: true
16
+ open_boundaries:
17
+ south: true
18
+ east: true
19
+ north: true
20
+ west: true
21
+ partitioning:
22
+ n_procs_x: 16
23
+ n_procs_y: 16
File without changes
@@ -0,0 +1,22 @@
1
+ description: "Western Indian Ocean (toy)"
2
+ model_name: "cson_roms-marbl_v0.1"
3
+ grid_name: "wio-toy"
4
+ start_time: "2012-01-01"
5
+ end_time: "2012-01-02"
6
+ grid_kwargs:
7
+ nx: 20
8
+ ny: 20
9
+ size_x: 8000
10
+ size_y: 8000
11
+ center_lon: 60.0
12
+ center_lat: -4.0
13
+ rot: 0
14
+ N: 10
15
+ open_boundaries:
16
+ south: true
17
+ east: true
18
+ north: true
19
+ west: true
20
+ partitioning:
21
+ n_procs_x: 2
22
+ n_procs_y: 5
@@ -0,0 +1,54 @@
1
+ description: "GLORYS physics + UNIFIED BGC + ERA5 surface (+MBL_co2, WOA sss-restoring) + TPXO tides + DAI rivers"
2
+ # A ForcingSpec is a selectable forcing configuration (initial conditions + surface/
3
+ # boundary/tidal/river forcing). Every domain must explicitly pick one -- there is no
4
+ # "model default" fallback. Topography source/path are DomainSpec-owned (Domain.yaml /
5
+ # the wizard's Grid section), not part of a ForcingSpec.
6
+
7
+ initial_conditions:
8
+ source:
9
+ name: GLORYS
10
+ glorys_layout: regional
11
+ bgc_source:
12
+ name: UNIFIED
13
+ climatology: true
14
+
15
+ forcing:
16
+ surface:
17
+ - source:
18
+ name: ERA5
19
+ type: physics
20
+ correct_radiation: true
21
+ coarse_grid_mode: "never"
22
+ - source:
23
+ name: UNIFIED
24
+ climatology: true
25
+ type: bgc
26
+ coarse_grid_mode: "never"
27
+ - source:
28
+ name: MBL_co2
29
+ type: bgc
30
+ coarse_grid_mode: "never"
31
+ - source:
32
+ name: WOA
33
+ climatology: true
34
+ restoring_forces: ['sss']
35
+ type: restoring
36
+ coarse_grid_mode: "never"
37
+ boundary:
38
+ - source:
39
+ name: GLORYS
40
+ glorys_layout: regional
41
+ type: physics
42
+ - source:
43
+ name: UNIFIED
44
+ climatology: true
45
+ type: bgc
46
+ tidal:
47
+ - source:
48
+ name: TPXO
49
+ ntides: 15
50
+ river:
51
+ - source:
52
+ name: DAI
53
+ climatology: false
54
+ include_bgc: true
@@ -0,0 +1,4 @@
1
+ account: ""
2
+ pes_per_node: 4
3
+ queues:
4
+ default: ""
@@ -0,0 +1,6 @@
1
+ account: m4632
2
+ pes_per_node: 128
3
+ queues:
4
+ default: regular
5
+ premium: premium
6
+ shared: shared
@@ -0,0 +1,5 @@
1
+ account: ees250129
2
+ pes_per_node: 128
3
+ queues:
4
+ default: wholenode
5
+ shared: shared
@@ -0,0 +1,196 @@
1
+ # ModelSpec: code refs, template refs, bgc_mode, and model-specific physics/numerics
2
+ # defaults.
3
+ #
4
+ # This intentionally holds nothing that a Domain/Forcing/Output spec already provides:
5
+ # no grid/IC/forcing source selection (that's a ForcingSpec's job -- pick one from the
6
+ # catalog; there is no more "model default" forcing) and no ocean_vars/surf_flux/
7
+ # diagnostics/stdout_diag/ts_output/frc_output/cdr_output/upscale_output/zslice/
8
+ # random_output sections or marbl_bgc write-lists (those are an OutputSpec's job -- pick
9
+ # one from the catalog; there is no more "model default" output either). Nor does it
10
+ # hold anything Domain-owned (open_boundaries -> cppdefs.obc_*; grid_kwargs/
11
+ # partitioning -> param's llm/mmm/n/np_xi/np_eta) or Forcing-owned (tidal presence ->
12
+ # cppdefs.tides + tides.ntides; MBL_co2 surface item -> cppdefs.co2_tvarying;
13
+ # restoring surface forcing with an SSS component -> cppdefs.sal_restore;
14
+ # river_frc/cdr_frc namelist defaults, which the resolver now owns directly and a
15
+ # ForcingSpec may override -- see build_forge_blueprint). Nor does it hold
16
+ # extract_data (child-grid nesting): its active values come from a second,
17
+ # separately-selected DomainSpec (the nesting child), so the resolver owns its
18
+ # disabled fallback directly too.
19
+ #
20
+ # `bgc_mode` (marbl|none) is a per-run toggle: it prepopulates the wizard's BGC
21
+ # dropdown and the resolver uses it to set cppdefs.marbl (and gate nhy_forcing/
22
+ # nox_forcing) and to decide whether code.marbl is populated.
23
+ #
24
+ # `use_pio` (bool) is a per-run toggle mirroring bgc_mode: it prepopulates the
25
+ # wizard's PIO checkbox and the resolver uses it to set cppdefs.use_pio and to
26
+ # decide whether code.pio is populated.
27
+ #
28
+ # `model_settings` is flat and mirrors ForgeBlueprint.model_settings 1:1 (cppdefs sits
29
+ # at the same level as the namelist sections, matching how the resolver treats them).
30
+ # A few sections here are fully overwritten by the resolver at build time regardless of
31
+ # what's written below (time_stepping, v_sponge from grid/run-window; param's
32
+ # llm/mmm/n/np_xi/np_eta from grid/partitioning; cppdefs.obc_*/marbl/co2_tvarying/
33
+ # sal_restore/tides/cdr_forcing/use_pio from, respectively, open boundaries/bgc_mode/
34
+ # forcing selection/forcing selection/tidal-forcing presence/CDR-forcing presence/the
35
+ # top-level use_pio toggle; river_frc/cdr_frc entirely; extract_data
36
+ # entirely; tides.ntides from tidal forcing) -- they're included
37
+ # below only where the remaining fields in that same section (cppdefs' sponge_tune/
38
+ # nhy_forcing/nox_forcing; param's nt_passive/ntrc_bio; tides' bry_tides/pot_tides/
39
+ # ana_tides) are real, still-relevant model defaults. `pipe_frc` stays here in full:
40
+ # there is no pipe forcing item or generation path, so it has no other piece to
41
+ # live in.
42
+
43
+ bgc_mode: marbl # marbl|none -- prepopulates the wizard; resolver derives cppdefs.marbl from it
44
+ use_pio: false # prepopulates the wizard's PIO checkbox; resolver derives cppdefs.use_pio from it
45
+
46
+ code:
47
+ roms:
48
+ location: https://github.com/CWorthy-ocean/ucla-roms.git
49
+ commit: 0.2.0
50
+
51
+ marbl:
52
+ location: https://github.com/marbl-ecosys/MARBL.git
53
+ commit: marbl0.45.0
54
+
55
+ pio:
56
+ location: https://github.com/NCAR/ParallelIO.git
57
+ commit: pio2_7_0
58
+
59
+ # Render templates live at the forge repo root (templates/), decoupled from this
60
+ # ModelSpec: they track a ROMS version, change infrequently, and may move into the
61
+ # ucla-roms repo later. `directory` is relative to the repo root. At processing time
62
+ # the executor fetches these via C-Star's AdditionalCode from the forge git ref.
63
+ # Pin the serving forge commit with `templates_commit:` (until pinned, the resolver
64
+ # defaults to branch `main`).
65
+ templates_commit: 4208f4384431852daccea1ccad01d03c0cb473d9
66
+ templates_compile_time:
67
+ directory: "templates/compile-time"
68
+ files:
69
+ - cppdefs.opt.j2
70
+ templates_run_time:
71
+ directory: "templates/run-time"
72
+ files:
73
+ - marbl_in
74
+
75
+ model_settings:
76
+ cppdefs:
77
+ # obc_west/east/north/south, marbl, co2_tvarying, sal_restore, tides, cdr_forcing,
78
+ # and use_pio are all resolver-derived (from the domain's open_boundaries, bgc_mode,
79
+ # forcing selection, restoring-forcing SSS component, tidal-forcing presence,
80
+ # CDR-forcing presence, and the top-level use_pio toggle, respectively) and are
81
+ # intentionally absent here -- there is no separate cppdefs-level default to
82
+ # duplicate (use_pio's own default lives at the top level, above).
83
+ sponge_tune: false # advanced setting only (nested-domain pressure flux forcing); not resolver-derived
84
+ nhy_forcing: true # ammonia atmospheric forcing; forced off by the resolver when bgc_mode="none"
85
+ nox_forcing: true # nitrogen oxide atmospheric forcing; forced off by the resolver when bgc_mode="none"
86
+
87
+ lateral_visc:
88
+ visc2: 0.0 # m^2/sec
89
+ rho0: 1000.0
90
+
91
+ vertical_mixing:
92
+ akv: 0.0 # m^2/sec
93
+ # akt is a list of values, one per tracer (NT tracers)
94
+ # Default is all zeros - will be generated in template
95
+ akt_default: 0.0
96
+
97
+ tracer_diff2:
98
+ # tnu2 is a list of values, one per tracer (NT tracers)
99
+ # Default is all zeros - will be generated in template
100
+ tnu2_default: 0.0
101
+
102
+ bottom_drag:
103
+ rdrg: 0.0E-4 # m/s
104
+ rdrg2: 1.0E-3
105
+ zob: 1.0E-2 # meters
106
+
107
+ gamma2: 1.0 # Slipperiness parameter
108
+
109
+ ubind: 0.1 # m/s, OBC binding velocity scale
110
+
111
+ param:
112
+ # llm/mmm/n/np_xi/np_eta are Domain-owned (resolver-derived from grid_kwargs/
113
+ # partitioning) and intentionally absent here; nsub_x/nsub_e are hardcoded by the
114
+ # resolver. Only nt_passive/ntrc_bio (real model-level BGC tracer counts) live here.
115
+ nt_passive: 0
116
+ ntrc_bio: 32
117
+
118
+ # Output-write-control fields (wrt_*/output_period_*/nrpf_*) are an OutputSpec's
119
+ # job (Output.yaml's own `bgc:` block) and are deep-merged on top of these at
120
+ # resolve time -- only the physics defaults stay here.
121
+ bgc:
122
+ nbgc_flx: 2
123
+ interp_frc: 0
124
+ xco2air_default: 284.7 # Atmospheric xCO2 (ppm) when PCO2AIR_FORCING is off
125
+
126
+ blk_frc:
127
+ interp_frc: 0
128
+ check_bulk_frc_units: false
129
+
130
+ tides:
131
+ # ntides is Forcing-owned (set by the resolver from the tidal item's ntides, or 0
132
+ # when there is no tidal forcing) and intentionally absent here.
133
+ bry_tides: true
134
+ pot_tides: true
135
+ ana_tides: false
136
+
137
+ sponge_tune:
138
+ pflx_w_vname: 'up_west'
139
+ pflx_w_tname: 'bry_time'
140
+ pflx_e_vname: 'up_east'
141
+ pflx_e_tname: 'bry_time'
142
+ pflx_s_vname: 'vp_south'
143
+ pflx_s_tname: 'bry_time'
144
+ pflx_n_vname: 'vp_north'
145
+ pflx_n_tname: 'bry_time'
146
+ ub_tune: false
147
+ spn_avg: true
148
+ sp_timscale: 86400 # 24*3600 seconds
149
+ wrt_sponge: false
150
+ nrpf: 7
151
+ output_period: 86400 # 24*3600 seconds
152
+
153
+ flux_frc:
154
+ interp_flux_frc: true
155
+
156
+ # calc_pflx absorbs diag_pflx and its timescale from the old diagnostics.opt
157
+ calc_pflx:
158
+ calc_pflx: true
159
+ timescale: 86400 # timescale for filtering pressure fluxes (s)
160
+
161
+ pipe_frc:
162
+ pipe_source: false
163
+ p_analytical: false
164
+ npip: 1
165
+
166
+ particles:
167
+ floats: false
168
+ np: 50
169
+ extra_space_fac: 1.5
170
+ exchange_facx: 0.1
171
+ exchange_facy: 0.1
172
+ exchange_facc: 0.01
173
+ output_period: 400
174
+ nrpf: 100
175
+ ppm3: 1.0e-6
176
+ pmin: 200
177
+
178
+ lin_rho_eos:
179
+ tcoef: 0.2 # Thermal expansion coefficient (kg/m2/K); unused if NONLIN_EOS active
180
+ t0: 1.0 # Reference temperature (*C)
181
+ scoef: 0.822 # Saline contraction coefficient (kg/m3/psu)
182
+ s0: 1.0 # Reference salinity (psu)
183
+
184
+ sss_correction:
185
+ dsssdt: 7.777 # SSS correction piston velocity (cm/day); requires SFLX_CORR + SALINITY
186
+
187
+ sst_correction:
188
+ dsstdt: 7.777 # SST correction piston velocity (cm/day); requires QCORRECTION
189
+
190
+ dic_alk_correction:
191
+ dcdt: 7.777 # DIC/ALK correction piston velocity (cm/day); requires CFLX_CORR + MARBL
192
+
193
+ marbl_bgc:
194
+ marbl_config_file: "marbl_in"
195
+ marbl_timestep: 3600.0
196
+ # marbl_tracers_to_write / marbl_diagnostics_to_write are OutputSpec's (see Output.yaml)
@@ -0,0 +1,104 @@
1
+ description: ucla-roms main + PIO enabled
2
+ bgc_mode: marbl
3
+ use_pio: true
4
+ code:
5
+ roms:
6
+ location: https://github.com/CWorthy-ocean/ucla-roms.git
7
+ commit: main
8
+ marbl:
9
+ location: https://github.com/marbl-ecosys/MARBL.git
10
+ commit: marbl0.45.0
11
+ pio:
12
+ location: https://github.com/NCAR/ParallelIO.git
13
+ commit: pio2_7_0
14
+ templates_commit: 4208f4384431852daccea1ccad01d03c0cb473d9
15
+ templates_compile_time:
16
+ directory: templates/compile-time
17
+ files:
18
+ - cppdefs.opt.j2
19
+ templates_run_time:
20
+ directory: templates/run-time
21
+ files:
22
+ - marbl_in
23
+ model_settings:
24
+ cppdefs:
25
+ sponge_tune: false
26
+ nhy_forcing: true
27
+ nox_forcing: true
28
+ lateral_visc:
29
+ visc2: 0.0
30
+ rho0: 1000.0
31
+ vertical_mixing:
32
+ akv: 0.0
33
+ akt_default: 0.0
34
+ tracer_diff2:
35
+ tnu2_default: 0.0
36
+ bottom_drag:
37
+ rdrg: 0.0
38
+ rdrg2: 0.001
39
+ zob: 0.01
40
+ gamma2: 1.0
41
+ ubind: 0.1
42
+ param:
43
+ nt_passive: 0
44
+ ntrc_bio: 32
45
+ bgc:
46
+ nbgc_flx: 2
47
+ interp_frc: 0
48
+ xco2air_default: 284.7
49
+ blk_frc:
50
+ interp_frc: 0
51
+ check_bulk_frc_units: false
52
+ tides:
53
+ bry_tides: true
54
+ pot_tides: true
55
+ ana_tides: false
56
+ sponge_tune:
57
+ pflx_w_vname: up_west
58
+ pflx_w_tname: bry_time
59
+ pflx_e_vname: up_east
60
+ pflx_e_tname: bry_time
61
+ pflx_s_vname: vp_south
62
+ pflx_s_tname: bry_time
63
+ pflx_n_vname: vp_north
64
+ pflx_n_tname: bry_time
65
+ ub_tune: false
66
+ spn_avg: true
67
+ sp_timscale: 86400
68
+ wrt_sponge: false
69
+ nrpf: 7
70
+ output_period: 86400
71
+ flux_frc:
72
+ interp_flux_frc: true
73
+ calc_pflx:
74
+ calc_pflx: true
75
+ timescale: 86400
76
+ pipe_frc:
77
+ pipe_source: false
78
+ p_analytical: false
79
+ npip: 1
80
+ particles:
81
+ floats: false
82
+ np: 50
83
+ extra_space_fac: 1.5
84
+ exchange_facx: 0.1
85
+ exchange_facy: 0.1
86
+ exchange_facc: 0.01
87
+ output_period: 400
88
+ nrpf: 100
89
+ ppm3: 1.0e-06
90
+ pmin: 200
91
+ lin_rho_eos:
92
+ tcoef: 0.2
93
+ t0: 1.0
94
+ scoef: 0.822
95
+ s0: 1.0
96
+ sss_correction:
97
+ dsssdt: 7.777
98
+ sst_correction:
99
+ dsstdt: 7.777
100
+ dic_alk_correction:
101
+ dcdt: 7.777
102
+ marbl_bgc:
103
+ marbl_config_file: marbl_in
104
+ marbl_timestep: 3600.0