Skip to content

Commit 95140aa

Browse files
committed
fixed a bug where tzinfo could not be specified when running from a timestamp
1 parent 26faadc commit 95140aa

File tree

4 files changed

+33
-2
lines changed

4 files changed

+33
-2
lines changed

CosRayModifiedISO/CosRayModifiedISO.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,10 @@
1010
from CosRayModifiedISO.internalFunctions.rigidityEnergyConversionFunctions import convertParticleEnergySpecToRigiditySpec, convertParticleRigiditySpecToEnergySpec, convertParticleRigidityToEnergy, convertParticleEnergyToRigidity
1111
from CosRayModifiedISO.internalFunctions.spectrumHandling import ISOmodelSpectrum_fromSolarModulation
1212

13+
import logging
14+
15+
logging.basicConfig(level=logging.WARNING)
16+
1317
def getEnergyFluxesFromEnergies(solarModulationWparameter:float, atomicNumber:int, energyListInMeV:list):
1418

1519
energyListInMeV = convertToIterable(energyListInMeV)
@@ -57,6 +61,10 @@ def getSpectrumUsingOULUcountRate(OULUcountRatePerSecond:float, atomicNumber:int
5761

5862
def getSpectrumUsingTimestamp(timestamp:dt.datetime, atomicNumber:int):
5963

64+
if timestamp.tzinfo is None:
65+
logging.warning("The inputted timestamp does not have timezone info. Assuming UTC.")
66+
timestamp = timestamp.replace(tzinfo=dt.timezone.utc)
67+
6068
OULUcountRate = getOULUcountRateForTimestamp(timestamp)
6169
Wparameter = getWparameterFromOULUcountRate(OULUcountRate)
6270
return getSpectrumUsingSolarModulation(Wparameter, atomicNumber)
Binary file not shown.

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
packages=find_packages(),
1919
package_data={"":["CosRayModifiedISO/neutronMonitorData/*.dat","CosRayModifiedISO/neutronMonitorData/*.pkl"]},
2020
include_package_data=True,
21-
version='1.2.8',
21+
version='1.2.9',
2222
url="https://github.com/ssc-maire/CosRayModifiedISO",
2323
author='Space Environment and Protection Group, University of Surrey',
2424
keywords='space physics galactic cosmic ray',

tests/test_DLRISOmodel.py

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ def test_energy_flux_output():
1212

1313
assert round(outputEnergyFlux[0],7) == round(0.00012419,7)
1414

15-
def test_timestamp_flux_output():
15+
def test_timestamp_flux_output_no_tzinfo():
1616

1717
datetimeToUse = dt.datetime(
1818
year = 2001,
@@ -25,6 +25,29 @@ def test_timestamp_flux_output():
2525

2626
outputtedSpectralDataFrame = CosRayModifiedISO.getSpectrumUsingTimestamp(datetimeToUse,atomicNumber=1)
2727

28+
assert round(outputtedSpectralDataFrame["Energy (MeV/n)"].iloc[0],5) == round(11.294627,5)
29+
assert round(outputtedSpectralDataFrame["Energy (MeV/n)"].iloc[4],5) == round(28.370820,5)
30+
assert round(outputtedSpectralDataFrame["Rigidity (GV/n)"].iloc[0],5) == round(0.146022,5)
31+
assert round(outputtedSpectralDataFrame["Rigidity (GV/n)"].iloc[4],5) == round(0.232474,5)
32+
assert round(outputtedSpectralDataFrame["d_Flux / d_E (cm-2 s-1 sr-1 (MeV/n)-1)"].iloc[0],10) == round(2.290835e-07,10)
33+
assert round(outputtedSpectralDataFrame["d_Flux / d_E (cm-2 s-1 sr-1 (MeV/n)-1)"].iloc[4],10) == round(1.546788e-06,10)
34+
assert round(outputtedSpectralDataFrame["d_Flux / d_R (cm-2 s-1 sr-1 (GV/n)-1)"].iloc[0],8) == round(3.522790e-05,8)
35+
assert round(outputtedSpectralDataFrame["d_Flux / d_R (cm-2 s-1 sr-1 (GV/n)-1)"].iloc[4],8) == round(3.719962e-04,8)
36+
37+
def test_timestamp_flux_output():
38+
39+
datetimeToUse = dt.datetime(
40+
year = 2001,
41+
month = 10,
42+
day = 27,
43+
hour = 0,
44+
minute = 10,
45+
second = 35,
46+
tzinfo = dt.timezone.utc
47+
)
48+
49+
outputtedSpectralDataFrame = CosRayModifiedISO.getSpectrumUsingTimestamp(datetimeToUse,atomicNumber=1)
50+
2851
assert round(outputtedSpectralDataFrame["Energy (MeV/n)"].iloc[0],5) == round(11.294627,5)
2952
assert round(outputtedSpectralDataFrame["Energy (MeV/n)"].iloc[4],5) == round(28.370820,5)
3053
assert round(outputtedSpectralDataFrame["Rigidity (GV/n)"].iloc[0],5) == round(0.146022,5)

0 commit comments

Comments
 (0)