adcroft_recip Function

public pure elemental function adcroft_recip(x) result(r)

Adcroft reciprocal: 1/x, but 0 -> 0 (zero-width faces give zero inverse, no NaN/Inf). Single source for every metric inverse (D4).

Arguments

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

Return Value real(kind=wp)


Called by

proc~~adcroft_recip~~CalledByGraph proc~adcroft_recip adcroft_recip proc~metrics_finalize metrics_finalize proc~metrics_finalize->proc~adcroft_recip proc~bt_wide_init bt_wide_t%bt_wide_init proc~bt_wide_init->proc~metrics_finalize proc~configure_ocean_metrics configure_ocean_metrics proc~configure_ocean_metrics->proc~metrics_finalize proc~engine_setup engine_setup proc~engine_setup->proc~metrics_finalize proc~engine_setup->proc~configure_ocean_metrics proc~complete_ocean_create complete_ocean_create proc~complete_ocean_create->proc~engine_setup proc~engine_enter_data engine_enter_data proc~complete_ocean_create->proc~engine_enter_data proc~driver_run_ocean driver_run_ocean proc~driver_run_ocean->proc~engine_setup proc~driver_run_ocean->proc~engine_enter_data proc~driver_validate driver_validate proc~driver_validate->proc~engine_setup proc~ocean_dyn_enable_bt_wide ocean_dyn_enable_bt_wide proc~ocean_dyn_enable_bt_wide->proc~bt_wide_init proc~driver_run driver_run proc~driver_run->proc~driver_run_ocean proc~engine_enter_data->proc~ocean_dyn_enable_bt_wide 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

Source Code

   elemental pure function adcroft_recip(x) result(r)
      !! Adcroft reciprocal: `1/x`, but `0 -> 0` (zero-width faces give
      !! zero inverse, no NaN/Inf).  Single source for every metric
      !! inverse (D4).
      real(wp), intent(in) :: x
      real(wp) :: r
      if (x /= 0.0_wp) then
         r = 1.0_wp/x
      else
         r = 0.0_wp
      end if
   end function adcroft_recip