subroutine corr (alt,theti,reqd,phieqd,corlat,corlon,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.01 - V 2.0 c*VER 03.01.06 - V 2.1 c* c*AUT CNES - JC KOSIK - janvier 1991 c*AUT port. CISI c* c*ROL Theme : Calculs de geophysique c*ROL Calcul de la colatitude geomagnetique et de la longitude c*ROL geomagnetique corrigees. c* c*PAR alt (I) : altitude en km du 1er point de la ligne de champ c* c*PAR theti (I) : colatitude geocentrique (radians) c*PAR reqd (I) : distance radiale geocentrique du point equatorial c*PAR : de la ligne de champ (rayons terrestres) c*PAR phieqd (I) : longitude geocentrique du point equatorial c*PAR : de la ligne de champ (radians) c* c*PAR corlat (O) : latitude geomagnetique corrigee (radians) c*PAR corlon (O) : longitude geomagnetique corrigee (radians) c* c*PAR ier (O) : code de retour c* c*NOT corlat : si theti < pi/2 , corlat > 0. c*NOT corlat : si theti >= pi/2 , corlat < 0. c* c*NOT ier : sans objet c* c*NOT common : util, util2 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.01 - 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 double precision alt, theti, reqd double precision phieqd double precision corlat, corlon integer ier c c ---------------------------------- c*FON Declaration des variables communes c ---------------------------------- c double precision pi,dpi,rad,deg,pid,xmu,rayt c c*COM pi : constante pi (obtenue a partir de acos(-1.)) c*COM dpi : constante 2 * pi c*COM pid : constante pi / 2 c*COM rad : facteur de conversion degres ----> radians c*COM deg : facteur de conversion radians ----> degres c*COM xmu : constante de gravitation terrestre (km**3/sec**2) c*COM rayt : rayon equatorial terrestre (km) c common/util/pi,dpi,rad,deg,pid,xmu,rayt c double precision rgmt c c*COM rgmt : rayon geocentrique terrestre (km) c common/util2/rgmt c c --------------------------------- c*FON Declaration des variables locales c --------------------------------- c double precision ralt,radic 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 c c --------------- c*FON Initialisations c --------------- c ier = 0 c c --------------------- c*FON Calculs preliminaires c --------------------- c ralt = 1.d0 + alt / rgmt radic = sqrt(ralt / reqd) c c -------------------------------- c*FON Calcul des coordonnees corrigees c -------------------------------- c corlat = acos(radic) c if (theti .gt. pid) then corlat = -corlat endif c corlon = phieqd c c **************** c Fin de programme c **************** c return end