def runQs(): #make figure fig = plt.figure(figsize=(17, 21)) #set up test runs nvals, rvals = 5, [2, 3, 4, 5, 6] dates = spt.tickrange('2001-04-22T12:00:00', '2001-04-23T23:00:00', 1/24) alpha = 45 #loop over radial positions, dates and quality flags for rval in rvals: Lstar = [[]]*nvals for date, qual in itertools.product(dates.UTC, range(nvals)): pos = dm.dmarray([-1*rval, 0, 0], attrs={'sys': 'SM'}) data = lgmpy.get_Lstar(pos, date, alpha=alpha, coord_system='SM', Bfield='Lgm_B_cdip', LstarThresh=20.0, extended_out=True, LstarQuality=qual) try: Lstar[qual].extend(data[alpha]['Lstar']) except TypeError: Lstar[qual].append(data[alpha]['Lstar'].tolist()) print('Did [-%d,0,0] for all qualities' % rval) #make plots fstr = '%d1%d' % (len(rvals), rval-rvals[0]+1) ax = fig.add_subplot(fstr) ax.boxplot(Lstar) #ax = plt.gca() ax.set_title('LGM - Centred dipole [-%d, 0, 0]$_{SM}$; PA=%d$^{o}$' % (rval, alpha)) ax.set_ylabel('L* (LanlGeoMag)') ax.set_xlabel('Quality Flag') ax.set_xticklabels([str(n) for n in range(5)]) tb.savepickle('lgm_cdip_lstar%d_alpha%d.pkl' % (rval, alpha), {'Lstar': Lstar}) plt.ylim([rval-0.04, rval+0.04]) plt.savefig('lgm_cdip_verify%d.png' % alpha, dpi=300)
def runPAdungey(quality): #test for range of pitch angles ticks = spt.tickrange('2002-04-18', '2002-04-19', 1) loci = spc.Coords([[-4, 0, 0], [-5, 0, 0]], 'SM', 'car') vals = [] for pp in range(1, 91): dum = lgmpy.get_Lstar(loci.data[1], ticks.UTC[1], alpha=pp, coord_system='SM', Bfield='Lgm_B_Dungey', extended_out=True, LstarQuality=quality) try: vals.extend(dum[pp]['Lstar']) except (IndexError, TypeError): #get_Lstar returns a 0-D nan in some cases... vals.extend([dum[pp]['Lstar'].tolist()]) fig = plt.figure() expect = dungeyLeq(tb.hypot(loci.data[1])) #print(expect) plt.plot(100 * (dm.dmarray(vals) - expect) / expect, drawstyle='steps-mid') plt.ylim([-0.01, 0.01]) plt.xlabel('Pitch Angle') plt.ylabel('100*(L* - L*$_{exp}$)/L*$_{exp}$') plt.title('Dungey model [-5,0,0]$_{SM}$' + '; Quality ({0})'.format(str(quality))) figname = 'MagEphem_Dungey_test_q{0}'.format( str(quality)) #'LGM_L*_vs_PA_cdip_q{0}'.format(str(quality)) plt.savefig(''.join([figname, '.png']), dpi=300) plt.savefig(''.join([figname, '.pdf']))
def runQs(): #make figure fig = plt.figure(figsize=(17, 21)) #set up test runs nvals, rvals = 5, [2, 3, 4, 5, 6] dates = spt.tickrange('2001-04-22T12:00:00', '2001-04-23T23:00:00', 1 / 24) alpha = 45 #loop over radial positions, dates and quality flags for rval in rvals: Lstar = [[]] * nvals for date, qual in itertools.product(dates.UTC, range(nvals)): pos = dm.dmarray([-1 * rval, 0, 0], attrs={'sys': 'SM'}) data = lgmpy.get_Lstar(pos, date, alpha=alpha, coord_system='SM', Bfield='Lgm_B_cdip', LstarThresh=20.0, extended_out=True, LstarQuality=qual) try: Lstar[qual].extend(data[alpha]['Lstar']) except TypeError: Lstar[qual].append(data[alpha]['Lstar'].tolist()) print('Did [-%d,0,0] for all qualities' % rval) #make plots fstr = '%d1%d' % (len(rvals), rval - rvals[0] + 1) ax = fig.add_subplot(fstr) ax.boxplot(Lstar) #ax = plt.gca() ax.set_title('LGM - Centred dipole [-%d, 0, 0]$_{SM}$; PA=%d$^{o}$' % (rval, alpha)) ax.set_ylabel('L* (LanlGeoMag)') ax.set_xlabel('Quality Flag') ax.set_xticklabels([str(n) for n in range(5)]) tb.savepickle('lgm_cdip_lstar%d_alpha%d.pkl' % (rval, alpha), {'Lstar': Lstar}) plt.ylim([rval - 0.04, rval + 0.04]) plt.savefig('lgm_cdip_verify%d.png' % alpha, dpi=300)
def runPA(quality): #test for range of pitch angles ticks = spt.tickrange('2002-04-18', '2002-04-19', 1) loci = spc.Coords([[-4,0,0], [-5,0,0]], 'SM', 'car') vals = [] for pp in range(1,91): dum = lgmpy.get_Lstar(loci.data[1], ticks.UTC[1], alpha=pp, coord_system='SM', Bfield='Lgm_B_cdip', extended_out=True, LstarQuality=quality) try: vals.extend(dum[pp]['Lstar']) except (IndexError, TypeError): #get_Lstar returns a 0-D nan in some cases... vals.extend([dum[pp]['Lstar'].tolist()]) fig = plt.figure() expect = float(tb.hypot(loci.data[1])) plt.plot(100*(dm.dmarray(vals)-expect)/expect, drawstyle='steps-mid') plt.ylim([-0.01, 0.01]) plt.xlabel('Pitch Angle') plt.ylabel('100*(L* - L*$_{exp}$)/L*$_{exp}$') plt.title('Cent. dipole [-5,0,0]$_{SM}$'+'; Quality ({0})'.format(str(quality))) figname = 'MagEphem_CDIP_test_q{0}'.format(str(quality)) #'LGM_L*_vs_PA_cdip_q{0}'.format(str(quality)) plt.savefig(''.join([figname,'.png']), dpi=300) plt.savefig(''.join([figname,'.pdf']))
dates = spt.tickrange('2001-04-22T12:00:00', '2001-04-22T12:01:00', dt.timedelta(seconds=5)) alpha = 45 print('T89: alpha=%s, date range [%s, %s]' % (alpha, dates.UTC[0], dates.UTC[-1])) #loop over radial positions, dates and quality flags for rval in rvals: print('Radial Distance: %s' % rval) Lstar = [[]] * nvals for date, qual in itertools.product(dates.UTC, range(nvals)): print('%s, Quality=%d' % (date, qual)) pos = dm.dmarray([-1 * rval, 0, 0], attrs={'sys': 'GSM'}) data = lgmpy.get_Lstar(pos, date, alpha=alpha, coord_system='GSM', Bfield='Lgm_B_T89c', LstarThresh=20.0, extended_out=True, LstarQuality=qual) try: Lstar[qual].extend(data[alpha]['Lstar']) except TypeError: Lstar[qual].append(data[alpha]['Lstar'].tolist()) #make plots fstr = '%d1%d' % (len(rvals), rval - rvals[0] + 1) ax = fig.add_subplot(fstr) ax.boxplot(Lstar) ax.set_title('T89 [-%d, 0, 0]$_{GSM}$; PA=%d$^{o}$' % (rval, alpha)) ax.set_ylabel('L* (LanlGeoMag)') ax.set_xlabel('Quality Flag')
nvals, rvals = 5, [3, 4, 5, 6] dates = spt.tickrange("2001-04-22T12:00:00", "2001-04-22T12:01:00", dt.timedelta(seconds=5)) alpha = 45 print("T89: alpha=%s, date range [%s, %s]" % (alpha, dates.UTC[0], dates.UTC[-1])) # loop over radial positions, dates and quality flags for rval in rvals: print("Radial Distance: %s" % rval) Lstar = [[]] * nvals for date, qual in itertools.product(dates.UTC, range(nvals)): print("%s, Quality=%d" % (date, qual)) pos = dm.dmarray([-1 * rval, 0, 0], attrs={"sys": "GSM"}) data = lgmpy.get_Lstar( pos, date, alpha=alpha, coord_system="GSM", Bfield="Lgm_B_T89c", LstarThresh=20.0, extended_out=True, LstarQuality=qual, ) try: Lstar[qual].extend(data[alpha]["Lstar"]) except TypeError: Lstar[qual].append(data[alpha]["Lstar"].tolist()) # make plots fstr = "%d1%d" % (len(rvals), rval - rvals[0] + 1) ax = fig.add_subplot(fstr) ax.boxplot(Lstar) ax.set_title("T89 [-%d, 0, 0]$_{GSM}$; PA=%d$^{o}$" % (rval, alpha)) ax.set_ylabel("L* (LanlGeoMag)")