subroutine tspcar (np,tr,tthet,tphi,tx,ty,tz,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 : Calculs mathematiques c*ROL Transformation des coordonnees spheriques en coordonnees c*ROL cartesiennes de tous les points d'une ligne de champ. c* c*PAR np (I) : nombre de points c* c*PAR tr (I) : tableau des distances radiales c* : (rayons terrestres ou kilometres) c*PAR tthet (I) : tableau des colatitudes (radians) c*PAR tphi (I) : tableau des longitudes (radians) c* c*PAR tx (O) : tableau des coordonnees cartesiennes en x (idem input) c*PAR ty (O) : tableau des coordonnees cartesiennes en y (idem input) c*PAR tz (O) : tableau des coordonnees cartesiennes en z (idem input) c* c*PAR ier (O) : code de retour c* c*NOT ier : 0 = OK c*NOT ier : 1 = nombre de points negatifs ou nuls c* c*NOT Le module appelant doit avoir declare et initialise les c*NOT tableaux de dimension variable np. 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 integer np double precision tr(500), tthet(500), tphi(500) double precision tx(500), ty(500), tz(500) integer ier c c --------------------------------- c*FON Declaration des variables locales c --------------------------------- c integer n c*LOC n : indice 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 if (np .gt. 0) then c do 10 n = 1, np tx(n) = tr(n) * sin(tthet(n)) * cos(tphi(n)) ty(n) = tr(n) * sin(tthet(n)) * sin(tphi(n)) tz(n) = tr(n) * cos(tthet(n)) 10 continue c else ier = 1 endif c c **************** c Fin de programme c **************** c return end