rdb_bt_cont_type Module

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).


Uses

  • module~~rdb_bt_cont_type~~UsesGraph module~rdb_bt_cont_type rdb_bt_cont_type module~rdb_barotropic_workstate rdb_barotropic_workstate module~rdb_bt_cont_type->module~rdb_barotropic_workstate module~rdb_constants rdb_constants module~rdb_bt_cont_type->module~rdb_constants module~rdb_barotropic_workstate->module~rdb_constants iso_fortran_env iso_fortran_env module~rdb_barotropic_workstate->iso_fortran_env module~rdb_grid rdb_grid module~rdb_barotropic_workstate->module~rdb_grid module~rdb_mem_report rdb_mem_report module~rdb_barotropic_workstate->module~rdb_mem_report pic_types pic_types module~rdb_constants->pic_types module~rdb_grid->module~rdb_constants module~rdb_mem_report->module~rdb_constants module~rdb_mem_report->iso_fortran_env pic_logger pic_logger module~rdb_mem_report->pic_logger pic_strings pic_strings module~rdb_mem_report->pic_strings

Used by

  • module~~rdb_bt_cont_type~~UsedByGraph module~rdb_bt_cont_type rdb_bt_cont_type module~rdb_barotropic_substep rdb_barotropic_substep module~rdb_barotropic_substep->module~rdb_bt_cont_type module~rdb_ocean_bt_wide rdb_ocean_bt_wide module~rdb_ocean_bt_wide->module~rdb_barotropic_substep module~rdb_ocean_dyn rdb_ocean_dyn module~rdb_ocean_dyn->module~rdb_barotropic_substep module~rdb_ocean_dyn->module~rdb_ocean_bt_wide module~rdb_driver rdb_driver module~rdb_driver->module~rdb_ocean_dyn module~rdb_ocean_engine rdb_ocean_engine module~rdb_driver->module~rdb_ocean_engine module~rdb_ocean_state rdb_ocean_state module~rdb_driver->module~rdb_ocean_state module~rdb_ocean_api rdb_ocean_api module~rdb_ocean_api->module~rdb_ocean_dyn module~rdb_ocean_api->module~rdb_ocean_engine module~rdb_handle rdb_handle module~rdb_ocean_api->module~rdb_handle module~rdb_ocean_diag_derived rdb_ocean_diag_derived module~rdb_ocean_api->module~rdb_ocean_diag_derived module~rdb_ocean_diag_fills rdb_ocean_diag_fills module~rdb_ocean_api->module~rdb_ocean_diag_fills module~rdb_ocean_engine->module~rdb_ocean_dyn module~rdb_ocean_setup rdb_ocean_setup module~rdb_ocean_engine->module~rdb_ocean_setup module~rdb_ocean_engine->module~rdb_ocean_state module~rdb_ocean_engine->module~rdb_ocean_diag_derived module~rdb_ocean_engine->module~rdb_ocean_diag_fills module~rdb_ocean_setup->module~rdb_ocean_dyn module~rdb_ocean_setup->module~rdb_ocean_state module~rdb_ocean_state->module~rdb_ocean_dyn module~rdb_handle->module~rdb_ocean_engine module~rdb_handle->module~rdb_ocean_state module~rdb_ocean_diag_derived->module~rdb_ocean_state module~rdb_ocean_diag_derived->module~rdb_ocean_diag_fills module~rdb_ocean_diag_fills->module~rdb_ocean_state

Functions

public pure function find_duhbt_du(u, BTC) result(duhbt_du)

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)).

Arguments

Type IntentOptional Attributes Name
real(kind=wp), intent(in) :: u
type(local_BT_cont_u_type), intent(in) :: BTC

Return Value real(kind=wp)

public pure function find_dvhbt_dv(v, BTC) result(dvhbt_dv)

Meridional mirror of find_duhbt_du.

Arguments

Type IntentOptional Attributes Name
real(kind=wp), intent(in) :: v
type(local_BT_cont_v_type), intent(in) :: BTC

Return Value real(kind=wp)

public pure function find_uhbt(u, BTC) result(uhbt)

Zonal mass transport through a u-face given face velocity u. C¹ continuous in u (cubic near zero, linear saturation beyond).

Arguments

Type IntentOptional Attributes Name
real(kind=wp), intent(in) :: u
type(local_BT_cont_u_type), intent(in) :: BTC

Return Value real(kind=wp)

public pure function find_vhbt(v, BTC) result(vhbt)

Meridional mirror of find_uhbt.

Arguments

Type IntentOptional Attributes Name
real(kind=wp), intent(in) :: v
type(local_BT_cont_v_type), intent(in) :: BTC

Return Value real(kind=wp)

public pure function uhbt_to_ubt(uhbt, BTC) result(ubt)

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).

Arguments

Type IntentOptional Attributes Name
real(kind=wp), intent(in) :: uhbt
type(local_BT_cont_u_type), intent(in) :: BTC

Return Value real(kind=wp)

public pure function vhbt_to_vbt(vhbt, BTC) result(vbt)

Meridional mirror of uhbt_to_ubt.

Arguments

Type IntentOptional Attributes Name
real(kind=wp), intent(in) :: vhbt
type(local_BT_cont_v_type), intent(in) :: BTC

Return Value real(kind=wp)