diff --git a/CosRayModifiedISO/CosRayModifiedISO.py b/CosRayModifiedISO/CosRayModifiedISO.py index 2517a8c..136634f 100644 --- a/CosRayModifiedISO/CosRayModifiedISO.py +++ b/CosRayModifiedISO/CosRayModifiedISO.py @@ -10,6 +10,10 @@ from CosRayModifiedISO.internalFunctions.rigidityEnergyConversionFunctions import convertParticleEnergySpecToRigiditySpec, convertParticleRigiditySpecToEnergySpec, convertParticleRigidityToEnergy, convertParticleEnergyToRigidity from CosRayModifiedISO.internalFunctions.spectrumHandling import ISOmodelSpectrum_fromSolarModulation +import logging + +logging.basicConfig(level=logging.WARNING) + def getEnergyFluxesFromEnergies(solarModulationWparameter:float, atomicNumber:int, energyListInMeV:list): energyListInMeV = convertToIterable(energyListInMeV) @@ -57,6 +61,10 @@ def getSpectrumUsingOULUcountRate(OULUcountRatePerSecond:float, atomicNumber:int def getSpectrumUsingTimestamp(timestamp:dt.datetime, atomicNumber:int): + if timestamp.tzinfo is None: + logging.warning("The inputted timestamp does not have timezone info. Assuming UTC.") + timestamp = timestamp.replace(tzinfo=dt.timezone.utc) + OULUcountRate = getOULUcountRateForTimestamp(timestamp) Wparameter = getWparameterFromOULUcountRate(OULUcountRate) return getSpectrumUsingSolarModulation(Wparameter, atomicNumber) diff --git a/CosRayModifiedISO/neutronMonitorData/OULUinputData.pkl b/CosRayModifiedISO/neutronMonitorData/OULUinputData.pkl index e4aae9c..ab2a430 100644 Binary files a/CosRayModifiedISO/neutronMonitorData/OULUinputData.pkl and b/CosRayModifiedISO/neutronMonitorData/OULUinputData.pkl differ diff --git a/setup.py b/setup.py index 23743b8..44f0f4c 100644 --- a/setup.py +++ b/setup.py @@ -18,7 +18,7 @@ packages=find_packages(), package_data={"":["CosRayModifiedISO/neutronMonitorData/*.dat","CosRayModifiedISO/neutronMonitorData/*.pkl"]}, include_package_data=True, - version='1.2.8', + version='1.2.9', url="https://github.com/ssc-maire/CosRayModifiedISO", author='Space Environment and Protection Group, University of Surrey', keywords='space physics galactic cosmic ray', diff --git a/tests/test_DLRISOmodel.py b/tests/test_DLRISOmodel.py index 67f0070..9e3f937 100644 --- a/tests/test_DLRISOmodel.py +++ b/tests/test_DLRISOmodel.py @@ -12,7 +12,7 @@ def test_energy_flux_output(): assert round(outputEnergyFlux[0],7) == round(0.00012419,7) -def test_timestamp_flux_output(): +def test_timestamp_flux_output_no_tzinfo(): datetimeToUse = dt.datetime( year = 2001, @@ -25,6 +25,29 @@ def test_timestamp_flux_output(): outputtedSpectralDataFrame = CosRayModifiedISO.getSpectrumUsingTimestamp(datetimeToUse,atomicNumber=1) + assert round(outputtedSpectralDataFrame["Energy (MeV/n)"].iloc[0],5) == round(11.294627,5) + assert round(outputtedSpectralDataFrame["Energy (MeV/n)"].iloc[4],5) == round(28.370820,5) + assert round(outputtedSpectralDataFrame["Rigidity (GV/n)"].iloc[0],5) == round(0.146022,5) + assert round(outputtedSpectralDataFrame["Rigidity (GV/n)"].iloc[4],5) == round(0.232474,5) + assert round(outputtedSpectralDataFrame["d_Flux / d_E (cm-2 s-1 sr-1 (MeV/n)-1)"].iloc[0],10) == round(2.290835e-07,10) + assert round(outputtedSpectralDataFrame["d_Flux / d_E (cm-2 s-1 sr-1 (MeV/n)-1)"].iloc[4],10) == round(1.546788e-06,10) + assert round(outputtedSpectralDataFrame["d_Flux / d_R (cm-2 s-1 sr-1 (GV/n)-1)"].iloc[0],8) == round(3.522790e-05,8) + assert round(outputtedSpectralDataFrame["d_Flux / d_R (cm-2 s-1 sr-1 (GV/n)-1)"].iloc[4],8) == round(3.719962e-04,8) + +def test_timestamp_flux_output(): + + datetimeToUse = dt.datetime( + year = 2001, + month = 10, + day = 27, + hour = 0, + minute = 10, + second = 35, + tzinfo = dt.timezone.utc + ) + + outputtedSpectralDataFrame = CosRayModifiedISO.getSpectrumUsingTimestamp(datetimeToUse,atomicNumber=1) + assert round(outputtedSpectralDataFrame["Energy (MeV/n)"].iloc[0],5) == round(11.294627,5) assert round(outputtedSpectralDataFrame["Energy (MeV/n)"].iloc[4],5) == round(28.370820,5) assert round(outputtedSpectralDataFrame["Rigidity (GV/n)"].iloc[0],5) == round(0.146022,5)