subroutine vs_chp c* c*********************************************************************** c* c*PRO MAGLIB c* c*VER 01.01.07 - V 3.0 c*VER 13.10.10 - V 4.0 c*VER 17.02.24 - V 5.0 c*VER 20.07.16 - V 6.0 c* c*AUT spec. CNES - JC KOSIK - Novembre 2006 c*AUT port. SILOGIC c*AUT adapt. AKKA c* c*ROL Theme : Modeles de champs magnetiques c*ROL Calcul des variations seculaires pour les modeles C*ROL chp95, chp00, chp05, chp10, chp15 et chp20 c* c*NOT common : util, util2 c* c*INF utilise : sans objet c* c*HST version 3.0 - 01.01.07 c*HST version 4.0 - 13.10.10 Coefficients de Schmidt c*HST entre 1995 et 2010 c*HST version 5.0 - 17.02.24 - Coefficients de Schmidt c*HST entre 1995 et 2015 c*HST version 6.0 - 20.07.16 - Coefficients de Schmidt c*HST entre 1995 et 2020 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 variables locales c --------------------------------- c integer lg(195,6) c*LOC lg : coefficients entre 1995 et 2020 c integer kmax c*LOC kmax : nombre de pas de calcul (= 14) c integer i,k,l,imin,imax,ntot,nm,inc c*LOC i,k,l,jj,imin,imax,ntot,nm,inc : indices de boucles et de tableaux c double precision delt,dgg(14,14),dhh(14,14),fn1,fn2 c SAVE c c --------------------------------- c*FON Affectation identificateur rcs_id c --------------------------------- c data rcs_id /" >$Id$"/ c c -------------------------- c*FON Affectation des constantes c -------------------------- c c c Revision 16.07.2020 c Passage au coeff. champ 2015 définitifs c Introduction des coeff. champ 2020 c c Champ 1995 révisé octobre 2006 data (lg(i,1),i=1,195)/ > -296920, -17840, 53060, -22000, 30700, -23660, 16810, -4130, > 13350,-22670, > -2620, 12490, 3020, 7590, -4270, 9400, 7800, 2620, 2900, -2360, > -4180, 970, 1220, -3060, -2140, 3520, 460, 2350, 1650, -1180, > -1430, -1660, -550, -170, 1070, 680, 670, -170, 680, 720, > -1700, 670, -10, -580, 190, 10, -930, 360, 770, -720, > -690, 10, -250, 280, 40, 50, 240, 40, 170, 80, > -240, -20, -60, 250, 60, 110, -60, -210, -90, 80, > -140, -230, 90, 150, 60, 110, -50, -160, -70, -40, > 40, 90, -200, 30, 150, -100, 120, 80, -60, -80, > -80, -10, 80, 100, 50, -20, -80, -80, 30, -30, > -60, 10, 20, 0, -40, 40, -10, 50, 40, -50, > 20, -10, 20, -20, 50, 10, 10, -20, 0, -70,75*0/ c c Champ 2000 révisé octobre 2006 c data (lg(i,2),i=1,195)/ > -296194,-17282,51861,-22677,30684,-24816,16709,-4580,13396, > -22880,-2276,12521,2934,7145, > -4911,9323,7868,2726,2500,-2319,-4030,1198,1113,-3038,-2188, > 3514,438,2223, > 1719,-1304,-1331,-1686,-393,-129,1063,723,682,-174,742,637, > -1609,651, > -59,-612,169,7,-904,438,790,-740,-646,0,-242,333,62,91, > 240,69,148,73,-254,-12,-58,244,66,119,-92,-215,-79,85, > -166,-215,91,155,70,89,-79,-149,-70,-21,50,94,-197,30, > 134,-84,125,63,-62,-89,-84,-15,84,93,38,-43,-82,-82, > 48,-26,-60,17,17,0,-31,40,-5,49,37,-59,10,-12, > 20,-29,42,2,3,-22,-11,-74,27,-17,1,-19,13,15, > -9,-1,-26,1,9,-7,-7,7,-28,17,-9,1,-12,12, > -19,40,-9,-22,-3,-4,2,3,9,25,-2,-26,9,7, > -5,3,3,0,-3,0,-4,3,-1,-9,-2,-4,-4,8, > -2,-9,-9,3,2,1,18,-4,-4,13,-10,-4,-1,7, > 7,-4,3,3,6,-1,3,4,-2,0,-5,1,-9 > / c c Champ 2005 révisé octobre 2010 c data (lg(i,3),i=1,195)/ > -2955463,-166905,507799,-233724,304769,-259450,165776,-51543, > 133630,-230583,-19886,124639,26972,67251, > -52472,92055,79796,28207,21065,-22523,-37986,14515,10000, > -30536,-22700,35441,4272,20895, > 18025,-13654,-12345,-16805,-1957,-1355,10385,7360,6956,-2033, > 7674,5475,-15134,6363, > -1458,-6353,1458,24,-8636,5094,7988,-7446,-6114,-165,-2257, > 3873,682,1230, > 2535,937,1093,542,-2632,194,-464,2480,762,1120,-1173,-2088, > -688,983, > -1811,-1971,1017,1622,936,761,-1125,-1276,-487,-6,558,976, > -2011,358, > 1269,-694,1267,501,-672,-1076,-816,-125,810,876,292,-666,-773, > -922, > 601,-217,-612,219,142,10,-235,446,-15,476,306,-658,29,-101, > 206,-347,377,-86,-21,-231,-209,-793,295,-160,26,-188,144,144, > -77,-31,-227,29,90,-79,-58,53,-269,180,-108,16,-158,96, > -190,399,-139,-215,-29,-55,21,23,89,238,-38,-263,96,61, > -30,40,46,1,-35,2,-36,28,8,-87,-49,-34,-8,88, > -16,-88,-76,30,33,28,172,-43,-54,118,-107,-37,-4,75, > 63,-26,21,35,53,-5,38,41,-22,-10,-57,-18,-82 > / c c Champ 2010 révisé février 2017 c data (lg(i,4),i=1,195)/ > -2949657,-158642,494426,-239606,302634,-270854,166817,-57573, > 133985,-232654,-16040,123210,25175, > 63373,-53703,91266,80897,28648,16658,-21103,-35683,16446,8940, > -30972,-23087,35729,4458, > 20026,18901,-14105,-11806,-16317,-1,-803,10104,7278,6869, > -2090,7592,4418,-14140, > 6154,-2283,-6626,1310,302,-7809,5540,8044,-7500,-5780,-455, > -2120,4524,654, > 1400,2496,1046,703,164,-2761,492,-328,2441,821,1084,-1450, > -2003,-559, > 1183,-1934,-1741,1161,1671,1085,696,-1405,-1074,-354,164,550, > 945,-2054, > 345,1151,-527,1275,313,-714,-1238,-742,-76,797,843,214,-842, > -608, > -1008,701,-194,-624,273,89,-10,-107,471,-16,444,245,-722,-33, > -96,213,-395,309,-199,-103,-197,-280,-831,305,-148,13,-203,167, > 165,-66,-51,-176,54,85,-79,-39,37,-251,179,-127,12,-211, > 75,-194,375,-186,-212,-21,-87,30,27,104,213,-63,-249,95, > 49,-11,59,52,0,-39,13,-37,27,21,-86,-77,-23,4, > 87,-9,-89,-87,31,30,42,166,-45,-59,108,-114,-31,-7, > 78,54,-18,10,38,49,2,44,42,-25,-26,-53,-26,-79 > / c c Champ 2015 révisé juillet 2020 c data (lg(i,5),i=1,195)/ > -2944146,-150177,479599,-244588,301220,-284541,167635,-64217, > 135033,-235226,-11529,122585,24504, > 58169,-53870,90742,81368,28354,12049,-18843,-33485,18095,7038, > -32923,-23291,36014,4698, > 19235,19698,-14094,-11914,-15740,1598,430,10012,6955,6757,-2061, > 7279,3330,-12985, > 5874,-2893,-6664,1314,735,-7085,6241,8129,-7599,-5427,-679, > -1953,5182,559, > 1507,2445,932,327,-288,-2750,661,-232,2398,889,1004,-1678,-1826, > -316, > 1318,-2056,-1460,1333,1616,1176,569,-1598,-910,-202,226,533,883, > -2177, > 302,1076,-322,1174,67,-674,-1320,-688,-10,779,868,104,-906,-389, > -1054,844,-201,-626,328,17,-40,55,455,-55,440,170,-792,-67, > -61,213,-416,233,-285,-180,-112,-359,-872,300,-140,0,-230,211, > 208,-60,-79,-105,58,76,-70,-20,14,-212,170,-144,-22,-257, > 44,-201,349,-234,-209,-16,-108,46,37,123,175,-89,-219,85, > 27,10,72,54,-9,-37,29,-43,23,22,-89,-94,-16,-3, > 72,-2,-92,-88,42,49,63,156,-42,-50,96,-124,-19,-10, > 81,42,-13,-4,38,48,8,48,46,-30,-35,-43,-36,-71 > / c c Champ 2020 révisé juillet 2020 c data (lg(i,6),i=1,195)/ > -294048,-14509,46525,-24996,29820,-29916,16770,-7346,13632, > -23812,-821,12362,2419, > 5257,-5434,9030,8095,2819,863,-1584,-3094,1997,480,-3497, > -2343,3632,477, > 1878,2083,-1407,-1212,-1512,323,135,989,660,655,-191,729,251, > -1215, > 528,-362,-645,135,89,-647,681,806,-767,-515,-82,-169,565,22, > 158,235,64,-22,-72,-272,98,-18,237,97,84,-176,-153,-5, > 128,-211,-117,153,149,137,36,-165,-69,-3,28,50,84,-234, > 29,110,-15,98,-11,-51,-132,-63,11,78,88,4,-93,-14, > -119,96,-19,-62,34,-1,-2,17,36,-9,48,7,-86,-9, > -1,19,-43,14,-34,-24,-1,-38,-88,30,-14,0,-25,25, > 23,-6,-9,-4,3,6,-7,-2,-1,-17,14,-16,-6,-30, > 2,-20,31,-26,-20,-1,-12,5,5,13,14,-12,-18,7, > 1,3,8,5,-2,-3,6,-5,2,1,-9,-11,0,-3, > 5,1,-9,-9,5,6,7,14,-3,-4,8,-13,0,-1, > 8,3,0,-1,4,5,1,5,5,-4,-5,-4,-4,-6 > / c data kmax /14/ c c ****************** c Debut de programme c ****************** c c --------------- c*FON Initialisations c --------------- delt = 5.d0 imax = 6 imin = imax - 1 c c ************************* c Facteur de normalisation c ************************* fn1 = 10.d0 fn2 = 10.d0 if ((imin .ge. 3) .and. (imin .lt. 6)) then fn2 = 100.d0 endif if ((imax.ge. 3) .and. (imax .lt. 6)) then fn1 = 100.d0 endif ntot = 0 do 60 k = 2, kmax dgg(k,1) = ((+ dble(lg(ntot+1,imax))/fn1 - > dble(lg(ntot+1,imin))/fn2) > / delt) > *(fn1*fn2) l = 1 write(1,100) 'k,1,dgg',k, 1, dgg(k,1) c nm = 2 * k - 1 do 50 l = 2, k inc = 2 * l - 2 dgg(k,l) = ((dble(lg(ntot+inc,imax))/fn1 - > dble(lg(ntot+inc,imin))/fn2) > /delt) > *(fn1*fn2) write(1,100) 'k,l,dgg', k, l, dgg(k,l) dhh(k,l) = ((+ dble(lg(ntot+inc+1,imax))/fn1 - > dble(lg(ntot+inc+1,imin))/fn2) > /delt) > *(fn1*fn2) write(1,100) 'k,l,dgg', k,l, dhh(k,l) 50 continue ntot = ntot + nm 60 continue 100 format(a20, 2i5, 2f10.1) c **************** c Fin de programme c **************** c return end