subroutine rosmgs (tilt,rsmgsm,rgsmsm,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 : Changements de repere c*ROL Calcul de la matrice de passage du repere solaire c*ROL magnetique au repere solaire magnetospherique et de c*ROL la matrice inverse. c* c*PAR tilt (I) : angle de tilt entre l'equateur solaire magnetique c*PAR : et l'equateur geomagnetique (radians) c* c*PAR rsmgsm (O) : matrice (3,3) de passage du repere solaire c*PAR : magnetique au repere solaire magnetospherique c*PAR rgsmsm (O) : matrice (3,3) de passage du repere solaire c* c*PAR : magnetospherique au repere solaire magnetique c*PAR ier (O) : code de retour c* c*NOT ier : sans objet c* c*NOT Calcul de la matrice de rotation vers le centre du soleil. c*NOT La matrice de rotation est calculee suivant la convention c*NOT mathematique classique, c.a.d. avec une rotation positive c*NOT de z vers x autour de y. Dans ces conditions l'angle de c*NOT de rotation tiltn est de signe oppose a l'angle de tilt c*NOT qui est compte positivement de x vers z. tiltn = -tilt. 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 des parametres c -------------------------- c double precision tilt double precision rsmgsm(3,3), rgsmsm(3,3) integer ier c c --------------------------------- c*FON Declaration des variables locales c --------------------------------- c integer i,j c*LOC i,j : indices de boucles 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 do 10 i = 1, 3 do 20 j = 1, 3 rsmgsm(i,j) = 0.d0 20 continue 10 continue c c --------------------------- c*FON Calcul de la matrice rsmgsm c --------------------------- c rsmgsm(1,1) = cos(tilt) rsmgsm(1,3) = sin(tilt) rsmgsm(2,2) = 1.d0 rsmgsm(3,1) = -sin(tilt) rsmgsm(3,3) = cos(tilt) c c ---------------------------- c*FON Calcul de la matrice inverse c ---------------------------- c do 30 i = 1, 3 do 25 j = 1, 3 rgsmsm(i,j) = rsmgsm(j,i) 25 continue 30 continue c c **************** c Fin de programme c **************** c return end