mean_longitudes Subroutine

public pure subroutine mean_longitudes(dnum, s_deg, h_deg, p_deg, n_deg)

Mean longitudes at day number dnum (Schureman polynomials). Returned in DEGREES, folded to [0,360). T = dnum/36525 (Julian centuries, Schureman’s 36525-day century). Multiply by TIDE_DEG2RAD to get radians for the equilibrium arguments.

Arguments

Type IntentOptional Attributes Name
real(kind=wp), intent(in) :: dnum
real(kind=wp), intent(out) :: s_deg
real(kind=wp), intent(out) :: h_deg
real(kind=wp), intent(out) :: p_deg
real(kind=wp), intent(out) :: n_deg

Calls

proc~~mean_longitudes~~CallsGraph proc~mean_longitudes mean_longitudes proc~wrap360 wrap360 proc~mean_longitudes->proc~wrap360

Called by

proc~~mean_longitudes~~CalledByGraph proc~mean_longitudes mean_longitudes proc~equilibrium_arguments equilibrium_arguments proc~equilibrium_arguments->proc~mean_longitudes proc~nodal_fu nodal_fu proc~nodal_fu->proc~mean_longitudes proc~configure_ocean_bc configure_ocean_bc proc~configure_ocean_bc->proc~equilibrium_arguments proc~configure_ocean_bc->proc~nodal_fu proc~tides_configure_astronomy tides_configure_astronomy proc~tides_configure_astronomy->proc~equilibrium_arguments proc~tides_configure_astronomy->proc~nodal_fu proc~configure_ocean_tides configure_ocean_tides proc~configure_ocean_tides->proc~tides_configure_astronomy proc~engine_setup engine_setup proc~engine_setup->proc~configure_ocean_bc proc~engine_setup->proc~configure_ocean_tides 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 :: t

Source Code

   pure subroutine mean_longitudes(dnum, s_deg, h_deg, p_deg, n_deg)
      !! Mean longitudes at day number `dnum` (Schureman polynomials).
      !! Returned in DEGREES, folded to [0,360).  T = dnum/36525 (Julian
      !! centuries, Schureman's 36525-day century).  Multiply by
      !! TIDE_DEG2RAD to get radians for the equilibrium arguments.
      real(wp), intent(in) :: dnum
      real(wp), intent(out) :: s_deg, h_deg, p_deg, n_deg
      real(wp) :: t
      t = dnum/36525.0_wp
      s_deg = wrap360(277.0248_wp + 481267.8906_wp*t + 0.0011_wp*t**2)
      h_deg = wrap360(280.1895_wp + 36000.7689_wp*t + 3.0310e-4_wp*t**2)
      p_deg = wrap360(334.3853_wp + 4069.0340_wp*t - 0.0103_wp*t**2)
      n_deg = wrap360(259.1568_wp - 1934.142_wp*t + 0.0021_wp*t**2)
   end subroutine mean_longitudes