subroutine newcoff (beta,gama,g20,g21,h21,g22,h22,ginc20, > ginc21,hinc21,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 1998 c*AUT port. CISI c* c*ROL Theme : Modeles de champs magnetiques c*ROL Calcul des coefficients ginc20, ginc21, hinc21 dans le c*ROL repere incline excentre en fonction des anciens c*ROL coefficients. c*ROL Voir note Kosik DGA/T/TI/MS/AM 97-155. c* c*PAR beta (I) : coefficient du champ IGRF c*PAR gama (I) : coefficient du champ IGRF c*PAR g20 (I) : coefficient du champ IGRF c*PAR g21 (I) : coefficient du champ IGRF c*PAR h21 (I) : coefficient du champ IGRF c*PAR g22 (I) : coefficient du champ IGRF c*PAR h22 (I) : coefficient du champ IGRF c* c*PAR ginc20 (O) : coefficient du champ dipolaire excentre c*PAR ginc21 (O) : coefficient du champ dipolaire excentre c*PAR hinc21 (O) : coefficient du champ dipolaire excentre c* c*PAR ier (O) : code de retour c* c*NOT ier : sans objet 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 beta, gama, g20, g21, h21, g22 double precision h22, ginc20, ginc21, hinc21 integer ier c c --------------------------------- c*FON Declaration des variables locales c --------------------------------- c double precision bethalf, sqr1, cbeta, sbeta double precision cbethalf, sbethalf, cgama, sgama double precision cbeta2, sbeta2, cgama2, sgama2 double precision s2beta, c2beta, s2gama, c2gama double precision cbethalf4, sbethalf4 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 bethalf = beta / 2.d0 c sqr1 = dsqrt(3.d0 / 4.d0) c cbeta = dcos(beta) sbeta = dsin(beta) c cbethalf = dcos(bethalf) sbethalf = dsin(bethalf) c cgama = dcos(gama) sgama = dsin(gama) c cbeta2 = cbeta * cbeta sbeta2 = sbeta * sbeta c cgama2 = cgama * cgama sgama2 = sgama * sgama c s2beta = 2.d0 * sbeta * cbeta c2beta = cbeta2 - sbeta2 c s2gama = 2.d0 * sgama * cgama c2gama = cgama2 - sgama2 c cbethalf4 = cbethalf**4 sbethalf4 = sbethalf**4 c ginc20 = g20 * (cbeta2 - 0.5d0 * sbeta2) - sqr1 * (g21 * cgama > - h21 * sgama) * s2beta + sqr1 * (g22 * c2gama - h22 > * s2gama) * sbeta2 c ginc21 = sqr1 * s2beta * g20 + c2beta * (g21 * cgama - h21 > * sgama) - 0.5d0 * s2beta * (g22 * c2gama - h22 * s2gama) c hinc21 = (cbethalf4 - sbethalf4) * (g21 * sgama + h21* cgama) > - sbeta * (g22 * s2gama + h22 * c2gama) c c **************** c Fin de programme c **************** c return end