subroutine disgb (ityp,xsnew,rosnew,arond,drond,erond, > posby,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 du satellite a la frontiere de c*ROL la magnetopause ou de l'onde de choc en fonction de c*ROL la valeur de ityp. c* c*PAR ityp (I) : parametre permettant de fixer le choix de frontiere c* c*PAR xsnew (I) : coordonnee x du satellite dans le repere solaire c*PAR : ecliptique (rayons terrestres) c* c*PAR rosnew (I) : distance du satellite a l'axe de symetrie dans le c*PAR : repere solaire ecliptique (rayons terrestres) c* c*PAR arond (I) : parametre modifie par la transformation quadratique c*PAR drond (I) : parametre modifie par la transformation quadratique c*PAR erond (I) : parametre modifie par la transformation quadratique c* c*PAR posby (I) : position du point c* c*PAR dist (O) : distance du satellite (rayons terrestres) c* c*PAR ier (O) : code de retour c* c*NOT ityp : fixe le choix de frontiere : c*NOT : --> ityp = 1 magnetopause c*NOT : --> ityp = 2 onde de choc c* c*NOT posby : Resultats dans posby : c*NOT : --> posby = +1., point au dela de la frontiere c*NOT : --> posby = -1., point en deca de la frontiere c* c*NOT ier : sans objet c* c*INF utilise : rootmp 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 des parametres c -------------------------- c integer ityp double precision xsnew,rosnew double precision arond,drond,erond double precision posby double precision dist integer ier c c --------------------------------- c*FON Declaration des variables locales c --------------------------------- c double precision rtab(5) double precision ro1,x1 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 ro1 = rosnew x1 = xsnew c if (ityp .eq. 2) then ro1 = rosnew - 0.314665d0 endif c rtab(1) = arond rtab(2) = drond rtab(3) = erond rtab(4) = ro1 rtab(5) = x1 c call rootmp(rtab,dist,ier) c c ---------------------------------------------------- c*FON posby affecte un signe a la distance a la frontiere c ---------------------------------------------------- c dist = dist * posby c c **************** c Fin de programme c **************** c return end