Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
commit 06d0499 Author: Michael Hirsch, Ph.D <scivision@users.noreply.github.com> Date: Fri Mar 30 03:28:53 2018 -0400 lat profile working commit 2720d13 Author: Michael Hirsch, Ph.D <scivision@users.noreply.github.com> Date: Fri Mar 30 02:54:27 2018 -0400 fixed time profile too commit 95082c2 Author: Michael Hirsch, Ph.D <scivision@users.noreply.github.com> Date: Fri Mar 30 02:43:56 2018 -0400 needs thorough cleaning commit 4b7eee9 Author: Michael Hirsch, Ph.D <scivision@users.noreply.github.com> Date: Fri Mar 30 02:40:27 2018 -0400 altitude profile OK commit 6c80575 Author: Michael Hirsch, Ph.D <scivision@users.noreply.github.com> Date: Tue Mar 6 23:27:05 2018 -0500 template commit 2ced97a Author: Michael Hirsch, Ph.D <scivision@users.noreply.github.com> Date: Tue Mar 6 23:19:22 2018 -0500 mpl2.2 commit 7fdac07 Author: Michael Hirsch, Ph.D <scivision@users.noreply.github.com> Date: Mon Mar 5 18:28:45 2018 -0500 log commit c994f87 Author: Michael Hirsch, Ph.D <scivision@users.noreply.github.com> Date: Mon Mar 5 18:12:32 2018 -0500 alt plots OK commit 5c76e42 Author: Michael Hirsch, Ph.D <scivision@users.noreply.github.com> Date: Mon Mar 5 18:07:46 2018 -0500 uniform alt grid fixed commit d2c48f3 Author: Michael Hirsch, Ph.D <scivision@users.noreply.github.com> Date: Mon Mar 5 17:42:23 2018 -0500 ig commit 8d1fb84 Author: Michael Hirsch, Ph.D <scivision@users.noreply.github.com> Date: Mon Mar 5 17:42:05 2018 -0500 ig commit 93e261a Author: Michael Hirsch, Ph.D <scivision@users.noreply.github.com> Date: Mon Mar 5 17:41:35 2018 -0500 INWORK: debug altitude all one height commit e4dc4e3 Author: Michael Hirsch, Ph.D <scivision@users.noreply.github.com> Date: Mon Mar 5 17:29:58 2018 -0500 first time density profile plot workign commit adc1d9f Author: Michael Hirsch, Ph.D <scivision@users.noreply.github.com> Date: Mon Mar 5 17:11:39 2018 -0500 passing out data, fixing up plots commit 60a814b Author: Michael Hirsch, Ph.D <scivision@users.noreply.github.com> Date: Mon Mar 5 16:48:49 2018 -0500 disable FIRI by default commit 2a9218e Author: Michael Hirsch, Ph.D <scivision@users.noreply.github.com> Date: Mon Mar 5 16:27:55 2018 -0500 import syntax commit 25e18df Author: Michael Hirsch, Ph.D <scivision@users.noreply.github.com> Date: Mon Mar 5 16:20:28 2018 -0500 OK repeated run commit e195488 Author: Michael Hirsch, Ph.D <scivision@users.noreply.github.com> Date: Mon Mar 5 15:43:28 2018 -0500 simplify commit 803b41b Author: Michael Hirsch, Ph.D <scivision@users.noreply.github.com> Date: Mon Mar 5 15:23:32 2018 -0500 cleaning up commit ac3483d Author: Michael Hirsch, Ph.D <scivision@users.noreply.github.com> Date: Mon Mar 5 14:58:55 2018 -0500 cleanup commit 4cdbcd9 Author: Michael Hirsch, Ph.D <scivision@users.noreply.github.com> Date: Mon Mar 5 14:56:29 2018 -0500 deblank commit 95e7776 Author: Michael Hirsch, Ph.D <scivision@users.noreply.github.com> Date: Mon Mar 5 14:44:34 2018 -0500 needed to read ig_rz.dat commit dc14f41 Author: Michael Hirsch, Ph.D <scivision@users.noreply.github.com> Date: Mon Mar 5 14:27:21 2018 -0500 pass data directory, error stop commit 692d7b8 Author: Michael Hirsch, Ph.D <scivision@users.noreply.github.com> Date: Mon Mar 5 13:53:01 2018 -0500 error stop commit f7181af Author: Michael Hirsch, Ph.D <scivision@users.noreply.github.com> Date: Mon Mar 5 13:42:52 2018 -0500 init commit f8ff215 Author: Michael Hirsch, Ph.D <scivision@users.noreply.github.com> Date: Mon Mar 5 13:42:44 2018 -0500 large cleanup
- Loading branch information
Showing
25 changed files
with
1,446 additions
and
1,397 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,5 @@ | ||
baseIRI2016 | ||
testiri2016 | ||
bin/ | ||
|
||
# Byte-compiled / optimized / DLL files | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,38 @@ | ||
#!/usr/bin/env python | ||
""" Height Profile Example """ | ||
import pyiri2016 | ||
# | ||
import numpy as np | ||
from matplotlib.pyplot import figure, show | ||
|
||
glat, glon = -11.95, -76.77 | ||
|
||
alt_km = np.arange(80,1000,20.) | ||
|
||
iri = pyiri2016.IRI('2012-08-21T12', alt_km, glat, glon) | ||
|
||
fig = figure(figsize=(16,6)) | ||
axs = fig.subplots(1,2) | ||
|
||
fig.suptitle(f'{str(iri.time[0].values)[:-13]}\n Glat, Glon: {iri.glat}, {iri.attrs["glon"]}') | ||
|
||
|
||
pn = axs[0] | ||
pn.plot(iri['ne'].squeeze(), iri.alt_km, label='N$_e$') | ||
#pn.set_title(iri2016Obj.title1) | ||
pn.set_xlabel('Density (m$^{-3}$)') | ||
pn.set_ylabel('Altitude (km)') | ||
pn.set_xscale('log') | ||
pn.legend(loc='best') | ||
pn.grid(True) | ||
|
||
pn = axs[1] | ||
pn.plot(iri['Ti'].squeeze(), iri.alt_km, label='T$_i$') | ||
pn.plot(iri['Te'].squeeze(), iri.alt_km, label='T$_e$') | ||
#pn.set_title(iri2016Obj.title2) | ||
pn.set_xlabel('Temperature (K)') | ||
pn.set_ylabel('Altitude (km)') | ||
pn.legend(loc='best') | ||
pn.grid(True) | ||
|
||
show() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,45 @@ | ||
#!/usr/bin/env python | ||
import pyiri2016 | ||
from numpy import arange | ||
from matplotlib.pyplot import figure, show | ||
|
||
""" Geog. Latitude Profile Example """ | ||
|
||
latlim = [-60, 60] | ||
latstp = 2. | ||
sim = pyiri2016.geoprofile(altkm=600, latlim=latlim, dlat=latstp, \ | ||
glon=-76.77, time='2004-01-01T17') | ||
|
||
latbins = arange(latlim[0], latlim[1], latstp) | ||
|
||
|
||
fig = figure(figsize=(8,12)) | ||
axs = fig.subplots(2,1, sharex=True) | ||
|
||
pn = axs[0] | ||
|
||
pn.plot(latbins, sim['NmF2'].squeeze(), label='N$_m$F$_2$') | ||
pn.plot(latbins, sim['NmF1'].squeeze(), label='N$_m$F$_1$') | ||
pn.plot(latbins, sim['NmE'].squeeze(), label='N$_m$E') | ||
pn.set_title(str(sim.time[0].values)[:-13] + ' latitude'+str(latlim)) | ||
pn.set_xlim(latbins[[0, -1]]) | ||
pn.set_xlabel('Geog. Lat. ($^\circ$)') | ||
pn.set_ylabel('(m$^{-3}$)') | ||
pn.set_yscale('log') | ||
|
||
|
||
pn = axs[1] | ||
pn.plot(latbins, sim['hmF2'].squeeze(), label='h$_m$F$_2$') | ||
pn.plot(latbins, sim['hmF1'].squeeze(), label='h$_m$F$_1$') | ||
pn.plot(latbins, sim['hmE'].squeeze(), label='h$_m$E') | ||
pn.set_xlim(latbins[[0, -1]]) | ||
pn.set_title(str(sim.time[0].values)[:-13] + ' latitude'+str(latlim)) | ||
pn.set_xlabel('Geog. Lat. ($^\circ$)') | ||
pn.set_ylabel('(km)') | ||
|
||
for a in axs: | ||
a.legend(loc='best') | ||
a.grid(True) | ||
|
||
|
||
show() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,104 @@ | ||
#!/usr/bin/env python | ||
""" Time Profile: IRI2016 """ | ||
import numpy as np | ||
from datetime import timedelta | ||
from matplotlib.pyplot import figure, show | ||
try: | ||
import ephem | ||
except ImportError: | ||
ephem = None | ||
# | ||
import pyiri2016 | ||
|
||
|
||
# %% user parameters | ||
#lat = -11.95; lon = -76.77 | ||
#glat, glon = 0,0 | ||
glat,glon = 65,-148 | ||
alt_km = np.arange(120, 180, 20) | ||
# %% ru | ||
sim = pyiri2016.timeprofile(('2012-08-21','2012-08-22'),timedelta(hours=0.25), | ||
alt_km,glat,glon) | ||
|
||
# %% Plots | ||
Nplot=3 | ||
|
||
if Nplot>2: | ||
fig = figure(figsize=(16,12)) | ||
axs = fig.subplots(3,1, sharex=True).ravel() | ||
else: | ||
fig = figure(figsize=(16,6)) | ||
axs = fig.subplots(1,2).ravel() | ||
|
||
fig.suptitle(f'{str(sim.time[0].values)[:-13]} to {str(sim.time[-1].values)[:-13]}\n Glat, Glon: {sim.glat}, {sim.glon}') | ||
|
||
ax = axs[0] | ||
#NmF1 = pyiri2016.IRI2016()._RmNeg(sim.b[2, :]) | ||
#NmE = sim.loc[4, :] | ||
ax.plot(sim.time, sim['NmF2'].squeeze(), label='N$_m$F$_2$') | ||
#ax.plot(sim.time, NmF1, label='N$_m$F$_1$') | ||
#ax.plot(sim.time, NmE, label='N$_m$E') | ||
ax.set_title('Maximum number densities vs. ionospheric layer') | ||
ax.set_xlabel('Hour (UT)') | ||
ax.set_ylabel('(m$^{-3}$)') | ||
ax.set_yscale('log') | ||
ax.legend(loc='best') | ||
|
||
ax = axs[1] | ||
#hmF1 = pyiri2016.IRI2016()._RmNeg(sim.b[3, :]) | ||
#hmE = sim.b[5, :] | ||
ax.plot(sim.time, sim['hmF2'].squeeze(), label='h$_m$F$_2$') | ||
#ax.plot(sim.time, hmF1, label='h$_m$F$_1$') | ||
#ax.plot(sim.time, hmE, label='h$_m$E') | ||
ax.set_title('Height of maximum density vs. ionospheric layer') | ||
ax.set_xlabel('Hour (UT)') | ||
ax.set_ylabel('(km)') | ||
ax.legend(loc='best') | ||
# %% | ||
if Nplot > 2: | ||
ax = axs[2] | ||
|
||
for a in sim.alt_km: | ||
ax.plot(sim.time, sim['ne'].squeeze(), marker='.', label=f'{a.item()} km') | ||
ax.set_xlabel('time UTC (hours)') | ||
ax.set_ylabel('[m$^{-3}$]') | ||
ax.set_title(f'$N_e$ vs. altitude and time') | ||
ax.set_yscale('log') | ||
ax.legend(loc='best') | ||
# %% | ||
if Nplot > 4: | ||
ax = axs[4] | ||
tec = sim.b[36, :] | ||
ax.plot(sim.time, tec, label=r'TEC') | ||
ax.set_xlabel('Hour (UT)') | ||
ax.set_ylabel('(m$^{-2}$)') | ||
#ax.set_yscale('log') | ||
ax.legend(loc='best') | ||
|
||
ax = axs[5] | ||
vy = sim.b[43, :] | ||
ax.plot(sim.time, vy, label=r'V$_y$') | ||
ax.set_xlabel('Hour (UT)') | ||
ax.set_ylabel('(m/s)') | ||
ax.legend(loc='best') | ||
|
||
for a in axs.ravel(): | ||
a.grid(True) | ||
|
||
|
||
if __name__ == '__main__': | ||
from argparse import ArgumentParser | ||
p = ArgumentParser(description='IRI2016 time profile plot') | ||
p.add_argument('-t','--trange',help='START STOP STEP (hours) time [UTC]',nargs=3, | ||
default=('2012-08-21','2012-08-22',0.25)) | ||
p.add_argument('--alt',help='START STOP STEP altitude [km]',type=float, nargs=3,default=(120,180,20)) | ||
p.add_argument('-c','--latlon',help='geodetic coordinates of simulation', | ||
type=float,default=(65,-147.5)) | ||
p.add_argument('--f107',type=float,default=200.) | ||
p.add_argument('--f107a', type=float,default=200.) | ||
p.add_argument('--ap', type=int, default=4) | ||
p.add_argument('--species',help='species to plot',nargs='+',default=('ne')) | ||
p = p.parse_args() | ||
|
||
|
||
show() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,9 +1,8 @@ | ||
#!/usr/bin/env python | ||
from pyiri2016 import IRI2016 | ||
from pyiri2016 import IRI | ||
|
||
|
||
sim = IRI2016() | ||
IRIData, IRIDATAAdd = sim.IRI() | ||
IRIData, IRIDATAAdd = IRI() | ||
print('Ne {:.3e}'.format(IRIData['ne'])) | ||
print('NmF2 {:.3e}'.format(IRIDATAAdd['NmF2'])) | ||
print('hmF2 {:.3e}'.format(IRIDATAAdd['hmF2'])) |
Oops, something went wrong.