subroutine rootmp (rtab,dist,ier) c* c*********************************************************************** c* c* "Copyright [c] CNES 98 - tous droits reserves" c* ********************************************** c* c*PRO MAGLIB c* c*VER 99.03.31 - V 1.0 c*VER 01.06.05 - V 2.0 c*VER 03.01.06 - V 2.1 c* c*AUT spec. CNES - JC KOSIK - juin 1995 c*AUT port. CISI c* c*ROL Theme : Frontieres et regions c*ROL Calcul de la distance minimum d'un satellite a une ligne c*ROL de champ. c* c*PAR rtab (I) : parametres definissant la fonction a appliquer c* c*PAR dist (O) : distance c* c*PAR ier (O) : code de retour c* c*NOT rtab (1 a 3) : parametres modifies par la transformation quadratique c*NOT rtab (4) : distance du satellite a l'axe de symetrie dans le c* : repere solaire ecliptique. c*NOT rtab (5) : coordonnee en x du satellite dans le repere solaire c* : ecliptique c* c*NOT ier : sans objet c* c*INF utilise : nuraci, rfonc1 c* c*HST version 1.0 - 99.03.31 - creation de la maglib au CDPP c*HST version 2.0 - 01.06.05 - correction de commentaires de code c*HST version 2.1 - 03.01.06 - corrections en compilation avec g77 * c*********************************************************************** c* implicit none c c --------------------------------- c*FON Declaration identificateur rcs_id c --------------------------------- c character rcs_id*100 c c -------------------------- c*FON Declaration des parametres c -------------------------- c double precision rtab(5) double precision dist integer ier c c ---------------------------------- c*FON Declaration des fonctions externes c ---------------------------------- c double precision rfonc1 external rfonc1 c c --------------------------------- c*FON Declaration des variables locales c --------------------------------- c integer nbr c double precision ra,rb c*LOC ra,rb : bornes de l'intervalle c double precision rh,repsi double precision arond,drond,erond double precision x1,ro,ro2,ro1 double precision x c*LOC Variables de travail intermediaires c SAVE c c --------------------------------- c*FON Affectation identificateur rcs_id c --------------------------------- c data rcs_id /" >$Id$"/ c c ****************** c Debut de programme c ****************** c ier = 0 c ra = 20.d0 rb = -40.d0 rh = 0.d0 repsi = 1.d-10 c call nuraci(rfonc1,rtab,ra,rb,rh,repsi,x,nbr,ier) c arond = rtab(1) drond = rtab(2) erond = rtab(3) ro1 = rtab(4) x1 = rtab(5) c ro2 = -arond * x * x - drond * x - erond c ro = sqrt(ro2) c dist = sqrt((ro-ro1)**2 + (x - x1)**2) c c **************** c Fin de programme c **************** c return end