| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| integer, | public, | parameter | :: | TRACER_RECON_OK | = | 0 |
Config honours the requested tracer_recon code. |
| integer, | public, | parameter | :: | TRACER_RECON_PPM | = | 0 |
Use PPM (the default path — does not call this module). |
| integer, | public, | parameter | :: | TRACER_RECON_REJECT_NO_ML | = | 4 |
weno* requested on a coastal run without multilayer tracers. |
| integer, | public, | parameter | :: | TRACER_RECON_REJECT_OCEAN | = | 3 |
weno* requested on sim_type=’ocean’ (coastal-only in wave 1). |
| integer, | public, | parameter | :: | TRACER_RECON_REJECT_PQM | = | 1 |
“pqm” requested — deferred, not implemented on any config. |
| integer, | public, | parameter | :: | TRACER_RECON_REJECT_UNKNOWN | = | 2 |
Unrecognised tracer_recon string. |
| integer, | public, | parameter | :: | TRACER_RECON_WENO5 | = | 1 |
WENO5-Z (Jiang-Shu 1996 + Borges 2008 Z-weights), nghost >= 3. |
| integer, | public, | parameter | :: | TRACER_RECON_WENO7 | = | 2 |
WENO7-Z (Balsara-Shu 2000), nghost >= 4. |
| integer, | public, | parameter | :: | TRACER_RECON_WENO9 | = | 3 |
WENO9-Z (Balsara-Shu 2000), nghost >= 5. |
Map a namelist string onto a TRACER_RECON_* code.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character(len=*), | intent(in) | :: | str |
PLM (piecewise-linear) swept-average face value.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=wp), | intent(in) | :: | qm1 | |||
| real(kind=wp), | intent(in) | :: | q0 | |||
| real(kind=wp), | intent(in) | :: | qp1 | |||
| real(kind=wp), | intent(in) | :: | sigma |
Return the highest feasible reconstruction rung for one face.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | avail_up |
Interior cells from domain-west to face (including upwind cell c). |
||
| integer, | intent(in) | :: | avail_down |
Interior cells from face downwind side to domain-east. |
||
| integer, | intent(in) | :: | rung_max |
Maximum internal rung allowed (4 = WENO9, 3 = WENO7, 2 = WENO5). |
Minimum nghost required for a given TRACER_RECON_* code.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | code |
TRACER_RECON_* constant. |
Decide whether a parsed tracer_recon code is honoured on this config, independent of the multilayer nghost/use_ppm_tracer quality guards (those apply only once this returns OK for a weno rung). Factored out as a pure predicate so the fail-loud decision is unit-testable without triggering error stop.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | recon_code |
parse_tracer_recon(cfg%tracer_recon) result. |
||
| logical, | intent(in) | :: | is_ocean |
.true. when sim_type == ‘ocean’. |
||
| logical, | intent(in) | :: | has_multilayer_tracers |
cfg%use_multilayer — the coastal multilayer tracer registry. |
WENO5-Z swept-average face value (u > 0, upwind cell = q0).
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=wp), | intent(in) | :: | qm2 |
Cell averages at i-2, i-1, i, i+1, i+2. |
||
| real(kind=wp), | intent(in) | :: | qm1 |
Cell averages at i-2, i-1, i, i+1, i+2. |
||
| real(kind=wp), | intent(in) | :: | q0 |
Cell averages at i-2, i-1, i, i+1, i+2. |
||
| real(kind=wp), | intent(in) | :: | qp1 |
Cell averages at i-2, i-1, i, i+1, i+2. |
||
| real(kind=wp), | intent(in) | :: | qp2 |
Cell averages at i-2, i-1, i, i+1, i+2. |
||
| real(kind=wp), | intent(in) | :: | sigma |
CFL of upwind cell: |u_eff|*dt/dx. |
WENO7-Z swept-average face value (u > 0, upwind cell = q0).
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=wp), | intent(in) | :: | qm3 |
Cell averages at i-3 through i+3. |
||
| real(kind=wp), | intent(in) | :: | qm2 |
Cell averages at i-3 through i+3. |
||
| real(kind=wp), | intent(in) | :: | qm1 |
Cell averages at i-3 through i+3. |
||
| real(kind=wp), | intent(in) | :: | q0 |
Cell averages at i-3 through i+3. |
||
| real(kind=wp), | intent(in) | :: | qp1 |
Cell averages at i-3 through i+3. |
||
| real(kind=wp), | intent(in) | :: | qp2 |
Cell averages at i-3 through i+3. |
||
| real(kind=wp), | intent(in) | :: | qp3 |
Cell averages at i-3 through i+3. |
||
| real(kind=wp), | intent(in) | :: | sigma |
CFL of upwind cell: |u_eff|*dt/dx. |
WENO9-Z swept-average face value (u > 0, upwind cell = q0).
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=wp), | intent(in) | :: | qm4 |
Cell averages at i-4 through i+4. |
||
| real(kind=wp), | intent(in) | :: | qm3 |
Cell averages at i-4 through i+4. |
||
| real(kind=wp), | intent(in) | :: | qm2 |
Cell averages at i-4 through i+4. |
||
| real(kind=wp), | intent(in) | :: | qm1 |
Cell averages at i-4 through i+4. |
||
| real(kind=wp), | intent(in) | :: | q0 |
Cell averages at i-4 through i+4. |
||
| real(kind=wp), | intent(in) | :: | qp1 |
Cell averages at i-4 through i+4. |
||
| real(kind=wp), | intent(in) | :: | qp2 |
Cell averages at i-4 through i+4. |
||
| real(kind=wp), | intent(in) | :: | qp3 |
Cell averages at i-4 through i+4. |
||
| real(kind=wp), | intent(in) | :: | qp4 |
Cell averages at i-4 through i+4. |
||
| real(kind=wp), | intent(in) | :: | sigma |
CFL of upwind cell: |u_eff|*dt/dx. |