function rfonc (x,rtab,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 : Calculs mathematiques c*ROL Fonction donnant l'equation de definition de la distance c*ROL minimum d'un point a une ligne dipolaire. c* c*PAR x (I) : colatitude d'un point de la ligne dipolaire c* c*PAR rtab (I) : tableau (dim = 3) representant : xl, r1 et thet1r c* c*PAR rfonc (O) : resultat de la fonction : resultat de l'equation c* c*PAR ier (O) : code de retour c* c*NOT ier : sans objet c* c*NOT rtab : rtab(1) = parametre de la ligne dipolaire c*NOT rtab : rtab(2) = distance geocentrique du satellite c* : (rayons terrestres) c*NOT rtab : rtab(3) = colatitude du satellite en radians c* c*INF utilise : sans objet 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*********************************************************************** c* implicit none c c --------------------------------- c*FON Declaration identificateur rcs_id c --------------------------------- c character rcs_id*100 c c -------------------------- c*FON Declaration de la fonction c -------------------------- c double precision rfonc c c -------------------------- c*FON Declaration des parametres c -------------------------- c double precision x double precision rtab(3) integer ier c c --------------------------------- c*FON Declaration des variables locales c --------------------------------- c double precision xl,r1,thet1r double precision dthetr double precision sdthet,cdthet double precision cx,sx,sx2 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 xl = rtab(1) r1 = rtab(2) thet1r = rtab(3) c sx = sin(x) cx = cos(x) sx2 = sx * sx c dthetr = x - thet1r c sdthet = sin(dthetr) cdthet = cos(dthetr) c rfonc = xl * sx2 * cx - r1 * cx * cdthet + 0.5d0 > * r1 * sx * sdthet c c **************** c Fin de programme c **************** c return end