subroutine mpause (rb,rggsm,r,thet,phi,ipop,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 - janvier 1991 c*AUT port. CISI c* c*ROL Theme : Frontieres et regions c*ROL Calcul de l'appartenance d'un satellite a une c*ROL magnetosphere parabolique de type de Shabansky. c*ROL Calcul de la magnetopause. c* c*PAR rb (I) : distance subsolaire de la magnetopause c*PAR : (rayons terrestres) rb = 10. * re c* c*PAR rggsm (I) : matrice (3,3) de passage du repere geocentrique c*PAR : au repere solaire magnetospherique c* c*PAR r (I) : distance geocentrique (rayons terrestres) c*PAR thet (I) : colatitude geocentrique (radians) c*PAR phi (I) : longitude geocentrique (radians) c* c*PAR ipop (O) : indicateur de positionnement du satellite par c*PAR : rapport a la magnetosphere parabolique c* c*PAR ier (O) : code de retour c* c*NOT ipop : 0 = le satellite appartient a la magnetosphere c*NOT ipop : 2 = le satellite est en dehors de la magnetosphere c*NOT ipop : de Shabansky c* c*NOT ier : sans objet c* c*INF utilise : spcar, geogsm 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 double precision rb double precision rggsm(3,3) double precision r, thet, phi integer ipop integer ier c c --------------------------------- c*FON Declaration des variables locales c --------------------------------- c integer ier1,ier2 c*LOC ier1,ier2 : codes retour des modules appeles c double precision xg,yg,zg c*LOC xg,yg,zg : composantes cartesiennes en x,y et z c double precision xgsm,ygsm,zgsm c*LOC xgsm,ygsm,zgsm : composantes cartesiennes GSM en x, y et z c double precision ro,romp 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 ier1 = 0 ier2 = 0 c c -------------------------------------------- c*FON Transformation des coordonnees spheriques en c*FON coordonnees cartesiennes c -------------------------------------------- c call spcar(r,thet,phi,xg,yg,zg,ier1) c c ----------------------------------------------- c*FON Transformation des composantes geocentriques en c*FON composantes solaires eclyptiques c ----------------------------------------------- c call geogsm(rggsm,xg,yg,zg,xgsm,ygsm,zgsm,ier2) c c ---------------------------------------------------------- c*FON Positionnement du satellite par rapport a la magnetosphere c ---------------------------------------------------------- c ro = sqrt(ygsm * ygsm + zgsm * zgsm) c c au depart : le satellite est suppose en dehors de la magnetosphere c ipop = 2 c if (xgsm .lt. rb) then c romp = sqrt(2.d0 * rb * (rb - xgsm)) c if (ro .lt. romp) then ipop = 0 endif c endif c c **************** c Fin de programme c **************** c return end