find_uhbt/find_duhbt_du are pure + !$acc routine seq (callable from
the BT substep do concurrent); uhbt_to_ubt keeps a Newton iteration and
is host/single-thread only (OBC setup).
Marginal zonal face area d(uhbt)/du. At u = 0 returns the average
of the two cubic-branch slopes (discontinuity harmless — only consumed
via max(…, h_neglect)).
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=wp), | intent(in) | :: | u | |||
| type(local_BT_cont_u_type), | intent(in) | :: | BTC |
Meridional mirror of find_duhbt_du.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=wp), | intent(in) | :: | v | |||
| type(local_BT_cont_v_type), | intent(in) | :: | BTC |
Zonal mass transport through a u-face given face velocity u.
C¹ continuous in u (cubic near zero, linear saturation beyond).
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=wp), | intent(in) | :: | u | |||
| type(local_BT_cont_u_type), | intent(in) | :: | BTC |
Meridional mirror of find_uhbt.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=wp), | intent(in) | :: | v | |||
| type(local_BT_cont_v_type), | intent(in) | :: | BTC |
Invert find_uhbt: recover u from a target transport uhbt.
Saturated branches close in one line; cubic branches use Newton +
bisection fallback to tol·|uhbt|. Hallberg & Adcroft (2009).
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=wp), | intent(in) | :: | uhbt | |||
| type(local_BT_cont_u_type), | intent(in) | :: | BTC |
Meridional mirror of uhbt_to_ubt.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=wp), | intent(in) | :: | vhbt | |||
| type(local_BT_cont_v_type), | intent(in) | :: | BTC |