isomip_plus_bx Function

public pure function isomip_plus_bx(x) result(bx)

Along-flow bedrock elevation, Asay-Davis et al. (2016) Eq. (2):

Bx(x) = B0 + B2*xt**2 + B4*xt**4 + B6*xt**6,   xt = x/x_bar

x is the ABSOLUTE MISMIP+ along-flow coordinate in METRES (0 at the ice divide), NOT the model’s domain-relative x — the ISOMIP+ ocean box starts at x = 320 km (their Table 3 x0), which is what &ocean_topo_nml x_origin supplies. Result is an ELEVATION (m, positive up), so it is negative everywhere in the ISOMIP+ box.

Arguments

Type IntentOptional Attributes Name
real(kind=wp), intent(in) :: x

Return Value real(kind=wp)


Called by

proc~~isomip_plus_bx~~CalledByGraph proc~isomip_plus_bx isomip_plus_bx proc~set_bathymetry_isomip_plus set_bathymetry_isomip_plus proc~set_bathymetry_isomip_plus->proc~isomip_plus_bx proc~ocean_state_seed_from_cfg ocean_state_seed_from_cfg proc~ocean_state_seed_from_cfg->proc~set_bathymetry_isomip_plus proc~engine_setup engine_setup proc~engine_setup->proc~ocean_state_seed_from_cfg proc~complete_ocean_create complete_ocean_create proc~complete_ocean_create->proc~engine_setup proc~driver_run_ocean driver_run_ocean proc~driver_run_ocean->proc~engine_setup proc~driver_validate driver_validate proc~driver_validate->proc~engine_setup proc~driver_run driver_run proc~driver_run->proc~driver_run_ocean proc~rdb_ocean_create_finalize rdb_ocean_create_finalize proc~rdb_ocean_create_finalize->proc~complete_ocean_create proc~rdb_ocean_create_from_string rdb_ocean_create_from_string proc~rdb_ocean_create_from_string->proc~complete_ocean_create

Variables

Type Visibility Attributes Name Initial
real(kind=wp), private :: xt
real(kind=wp), private :: xt2

Source Code

   pure function isomip_plus_bx(x) result(bx)
      !! Along-flow bedrock elevation, Asay-Davis et al. (2016) Eq. (2):
      !!
      !!     Bx(x) = B0 + B2*xt**2 + B4*xt**4 + B6*xt**6,   xt = x/x_bar
      !!
      !! `x` is the ABSOLUTE MISMIP+ along-flow coordinate in METRES
      !! (0 at the ice divide), NOT the model's domain-relative x — the
      !! ISOMIP+ ocean box starts at `x = 320 km` (their Table 3 `x0`),
      !! which is what `&ocean_topo_nml x_origin` supplies.  Result is an
      !! ELEVATION (m, positive up), so it is negative everywhere in the
      !! ISOMIP+ box.
      real(wp), intent(in) :: x
      real(wp) :: bx
      real(wp) :: xt, xt2
      xt = x/ISOMIP_XBAR
      xt2 = xt*xt
      bx = ISOMIP_B0 + xt2*(ISOMIP_B2 + xt2*(ISOMIP_B4 + xt2*ISOMIP_B6))
   end function isomip_plus_bx