@@ -451,7 +451,7 @@ double saalos(double d, prop_type & prop, propa_type & propa)
451
451
double adiff (double d, prop_type & prop, propa_type & propa)
452
452
{
453
453
complex < double >prop_zgnd (prop.zgndreal , prop.zgndimag );
454
- static double wd1, xd1, afo, qk, aht, xht;
454
+ static __thread double wd1, xd1, afo, qk, aht, xht;
455
455
double a, q, pk, ds, th, wa, ar, wd, adiffv;
456
456
457
457
if (d == 0 ) {
@@ -513,7 +513,7 @@ double adiff(double d, prop_type & prop, propa_type & propa)
513
513
double adiff2 (double d, prop_type & prop, propa_type & propa)
514
514
{
515
515
complex < double >prop_zgnd (prop.zgndreal , prop.zgndimag );
516
- static double wd1, xd1, qk, aht, xht, toh, toho, roh, roho, dto, dto1,
516
+ static __thread double wd1, xd1, qk, aht, xht, toh, toho, roh, roho, dto, dto1,
517
517
dtro, dro, dro2, drto, dtr, dhh1, dhh2, /* dhec, */ dtof, dto1f,
518
518
drof, dro2f;
519
519
double a, q, pk, rd, ds, dsl, /* dfdh, */ th, wa, /* ar, wd, sf1, */
@@ -829,7 +829,7 @@ double adiff2(double d, prop_type & prop, propa_type & propa)
829
829
830
830
double ascat (double d, prop_type & prop, propa_type & propa)
831
831
{
832
- static double ad, rr, etq, h0s;
832
+ static __thread double ad, rr, etq, h0s;
833
833
double h0, r1, r2, z0, ss, et, ett, th, q;
834
834
double ascatv, temp;
835
835
@@ -954,7 +954,7 @@ void qlrps(double fmhz, double zsys, double en0, int ipol, double eps,
954
954
double alos (double d, prop_type & prop, propa_type & propa)
955
955
{
956
956
complex < double >prop_zgnd (prop.zgndreal , prop.zgndimag );
957
- static double wls;
957
+ static __thread double wls;
958
958
complex < double >r;
959
959
double s, sps, q;
960
960
double alosv;
@@ -1146,8 +1146,8 @@ void qlra(int kst[], int klimx, int mdvarx, prop_type & prop,
1146
1146
void lrprop (double d, prop_type & prop, propa_type & propa)
1147
1147
{
1148
1148
/* PaulM_lrprop used for ITM */
1149
- static bool wlos, wscat;
1150
- static double dmin, xae;
1149
+ static __thread bool wlos, wscat;
1150
+ static __thread double dmin, xae;
1151
1151
complex < double >prop_zgnd (prop.zgndreal , prop.zgndimag );
1152
1152
double a0, a1, a2, a3, a4, a5, a6;
1153
1153
double d0, d1, d2, d3, d4, d5, d6;
@@ -1337,8 +1337,8 @@ void lrprop(double d, prop_type & prop, propa_type & propa)
1337
1337
void lrprop2 (double d, prop_type & prop, propa_type & propa)
1338
1338
{
1339
1339
/* ITWOM_lrprop2 */
1340
- static bool wlos, wscat;
1341
- static double dmin, xae;
1340
+ static __thread bool wlos, wscat;
1341
+ static __thread double dmin, xae;
1342
1342
complex < double >prop_zgnd (prop.zgndreal , prop.zgndimag );
1343
1343
double pd1;
1344
1344
double a0, a1, a2, a3, a4, a5, a6, iw;
@@ -1612,8 +1612,8 @@ double curve(double const &c1, double const &c2, double const &x1,
1612
1612
double avar (double zzt, double zzl, double zzc, prop_type & prop,
1613
1613
propv_type & propv)
1614
1614
{
1615
- static int kdv;
1616
- static double dexa, de, vmd, vs0, sgl, sgtm, sgtp, sgtd, tgtd,
1615
+ static __thread int kdv;
1616
+ static __thread double dexa, de, vmd, vs0, sgl, sgtm, sgtp, sgtd, tgtd,
1617
1617
gm, gp, cv1, cv2, yv1, yv2, yv3, csm1, csm2, ysm1, ysm2,
1618
1618
ysm3, csp1, csp2, ysp1, ysp2, ysp3, csd1, zd, cfm1, cfm2,
1619
1619
cfm3, cfp1, cfp2, cfp3;
@@ -1650,7 +1650,7 @@ double avar(double zzt, double zzl, double zzc, prop_type & prop,
1650
1650
double bfp1[7 ] = { 1.0 , 0.93 , 1.0 , 0.93 , 0.93 , 1.0 , 1.0 };
1651
1651
double bfp2[7 ] = { 0.0 , 0.31 , 0.0 , 0.19 , 0.31 , 0.0 , 0.0 };
1652
1652
double bfp3[7 ] = { 0.0 , 2.00 , 0.0 , 1.79 , 2.00 , 0.0 , 0.0 };
1653
- static bool ws, w1;
1653
+ static __thread bool ws, w1;
1654
1654
double rt = 7.8 , rl = 24.0 , avarv, q, vs, zt, zl, zc;
1655
1655
double sgt, yr, temp1, temp2;
1656
1656
int temp_klim = propv.klim - 1 ;
@@ -1974,6 +1974,7 @@ void z1sq1(double z[], const double &x1, const double &x2, double &z0,
1974
1974
xa = xb - xa;
1975
1975
x = -0.5 * xa;
1976
1976
xb += x;
1977
+
1977
1978
a = 0.5 * (z[ja + 2 ] + z[jb + 2 ]);
1978
1979
b = 0.5 * (z[ja + 2 ] - z[jb + 2 ]) * x;
1979
1980
0 commit comments