Blame view

maglib/src/vs_chp.f 9.57 KB
eb2d6c5c   Hacene SI HADJ MOHAND   adding maglib
1
2
3
4
5
6
7
8
      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
41e01c78   Hacene SI HADJ MOHAND   Mise a jours magl...
9
10
c*VER 17.02.24 - V 5.0
c*VER 20.07.16 - V 6.0
eb2d6c5c   Hacene SI HADJ MOHAND   adding maglib
11
12
13
14
15
16
17
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
41e01c78   Hacene SI HADJ MOHAND   Mise a jours magl...
18
C*ROL         chp95, chp00, chp05, chp10, chp15 et chp20
eb2d6c5c   Hacene SI HADJ MOHAND   adding maglib
19
20
21
22
23
24
25
26
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
41e01c78   Hacene SI HADJ MOHAND   Mise a jours magl...
27
28
29
30
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
eb2d6c5c   Hacene SI HADJ MOHAND   adding maglib
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
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
41e01c78   Hacene SI HADJ MOHAND   Mise a jours magl...
46
47
      integer lg(195,6)
c*LOC lg : coefficients entre 1995 et 2020
eb2d6c5c   Hacene SI HADJ MOHAND   adding maglib
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
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
41e01c78   Hacene SI HADJ MOHAND   Mise a jours magl...
72
73
74
c    Revision 16.07.2020
c    Passage au coeff. champ 2015 définitifs
c    Introduction des coeff. champ 2020
eb2d6c5c   Hacene SI HADJ MOHAND   adding maglib
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
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
41e01c78   Hacene SI HADJ MOHAND   Mise a jours magl...
166
c    Champ 2015  révisé juillet 2020
eb2d6c5c   Hacene SI HADJ MOHAND   adding maglib
167
168
c
      data (lg(i,5),i=1,195)/
41e01c78   Hacene SI HADJ MOHAND   Mise a jours magl...
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
     > -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
eb2d6c5c   Hacene SI HADJ MOHAND   adding maglib
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
     > /
c
      data kmax /14/

c
c     ******************
c     Debut de programme
c     ******************
c
c     ---------------
c*FON Initialisations
c     ---------------

         delt  =  5.d0
         
41e01c78   Hacene SI HADJ MOHAND   Mise a jours magl...
226
         imax = 6
eb2d6c5c   Hacene SI HADJ MOHAND   adding maglib
227
228
229
230
231
232
233
         imin = imax - 1
c
c        *************************
c        Facteur de normalisation
c        *************************
         fn1 = 10.d0
	 fn2 = 10.d0
41e01c78   Hacene SI HADJ MOHAND   Mise a jours magl...
234
         if ((imin .ge. 3) .and. (imin .lt. 6)) then
eb2d6c5c   Hacene SI HADJ MOHAND   adding maglib
235
236
	    fn2 = 100.d0
	 endif
41e01c78   Hacene SI HADJ MOHAND   Mise a jours magl...
237
         if ((imax.ge. 3) .and. (imax .lt. 6)) then
eb2d6c5c   Hacene SI HADJ MOHAND   adding maglib
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
	    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