      subroutine ssd_init_f
        use ssd, only: ssd_init
        ml_external ssd_init_f
        !DEC$ ATTRIBUTES ALIAS:'ssd_init_f' :: ssd_init_f
        call ssd_init()
      end subroutine

      subroutine ssd_compute_ephemerides_f(epoch_mjd, elems, src, obs_code,&
            g_param, eph_times_ut, cov_flag, n_eph, ra, dec,&
            err_ra, err_dec, smaa, smia, pa, v_minus_h, errcod)
        use constants_mod, only: wp
        use ssd, only: ssd_compute_ephemerides
        ml_external ssd_compute_ephemerides_f
        !DEC$ ATTRIBUTES ALIAS:'ssd_compute_ephemerides_f' ::  ssd_compute_ephemerides_f
        real (kind=wp), intent(in)  :: epoch_mjd
        real (kind=wp), intent(in)  :: elems(6)
        real (kind=wp), intent(in)  :: src(21)
        character (len=3), intent(in)  :: obs_code
        real (kind=wp), intent(in)  :: g_param
        integer,        intent(in)  :: n_eph
        real (kind=wp), intent(in)  :: eph_times_ut(n_eph)
        integer,        intent(in)  :: cov_flag
        real (kind=wp), intent(out) :: ra(n_eph)
        real (kind=wp), intent(out) :: dec(n_eph)
        real (kind=wp), intent(out) :: err_ra(n_eph)
        real (kind=wp), intent(out) :: err_dec(n_eph)
        real (kind=wp), intent(out) :: smaa(n_eph)
        real (kind=wp), intent(out) :: smia(n_eph)
        real (kind=wp), intent(out) :: pa(n_eph)
        real (kind=wp), intent(out) :: v_minus_h(n_eph)
        integer,        intent(out) :: errcod
        
        
        call ssd_compute_ephemerides(epoch_mjd, elems, src, obs_code,&
             g_param, eph_times_ut, cov_flag, ra, dec,&
             err_ra, err_dec, smaa, smia, pa, v_minus_h, errcod)
      end subroutine ssd_compute_ephemerides_f

      
      subroutine ssd_propagate_elements_f(t_epoch, in_elems, out_elems,&
            t_eph_ut, exterrcod)
        use constants_mod, only: wp
        use ssd, only: ssd_propagate_elements
        ml_external ssd_propagate_elements_f
        !DEC$ ATTRIBUTES ALIAS:'ssd_propagate_elements_f' :: ssd_propagate_elements_f
        real (kind=wp), intent(in) :: t_epoch, in_elems(6)
        real (kind=wp), intent(out) :: out_elems(6)
        real (kind=wp), intent(in) :: t_eph_ut
        integer, intent(out) :: exterrcod
        
       call ssd_propagate_elements(t_epoch,in_elems,out_elems,&
            t_eph_ut,exterrcod)
      end subroutine ssd_propagate_elements_f


