Skip to content

Commit

Permalink
Fix unit for 'Atmospheric Station Pressure'
Browse files Browse the repository at this point in the history
  • Loading branch information
kastnerp committed Feb 27, 2024
1 parent a304c7b commit 01aeee5
Show file tree
Hide file tree
Showing 3 changed files with 36 additions and 22 deletions.
38 changes: 18 additions & 20 deletions nrel_psm3_2_epw/assets.py
Original file line number Diff line number Diff line change
Expand Up @@ -249,38 +249,36 @@ def download_epw(lon, lat, year, location, attributes, interval, utc, your_name,

# Actual file starts here

missing_values = np.array(np.ones(hours_per_year) * 999999).astype(int)

# st.write(df.index)
epw_df = pd.DataFrame()
epw_df['Year'] = datetimes.year.astype(int)
epw_df['Month'] = datetimes.month.astype(int)
epw_df['Day'] = datetimes.day.astype(int)
epw_df['Hour'] = datetimes.hour.astype(int) + 1
epw_df['Minute'] = datetimes.minute.astype(int)
epw_df['Data Source and Uncertainty Flags'] = missing_values
epw_df['Data Source and Uncertainty Flags'] = "'Created with NREL PSM3 input data'"

epw_df['Dry Bulb Temperature'] = df['Temperature'].values.flatten()

epw_df['Dew Point Temperature'] = df['Dew Point'].values.flatten()

epw_df['Relative Humidity'] = df['Relative Humidity'].values.flatten()

epw_df['Atmospheric Station Pressure'] = df['Pressure'].values.flatten()
epw_df['Extraterrestrial Horizontal Radiation'] = missing_values
epw_df['Atmospheric Station Pressure'] = df['Pressure'].astype(int).multiply(100).values.flatten()
epw_df['Extraterrestrial Horizontal Radiation'] = 9999
#
epw_df['Extraterrestrial Direct Normal Radiation'] = missing_values
epw_df['Extraterrestrial Direct Normal Radiation'] = 9999
#
epw_df['Horizontal Infrared Radiation Intensity'] = missing_values
epw_df['Horizontal Infrared Radiation Intensity'] = 9999
#
epw_df['Global Horizontal Radiation'] = df['GHI'].values.flatten()
epw_df['Direct Normal Radiation'] = df['DNI'].values.flatten()
epw_df['Diffuse Horizontal Radiation'] = df['DHI'].values.flatten()

epw_df['Global Horizontal Illuminance'] = missing_values
epw_df['Direct Normal Illuminance'] = missing_values
epw_df['Diffuse Horizontal Illuminance'] = missing_values
epw_df['Zenith Luminance'] = missing_values
epw_df['Global Horizontal Illuminance'] = 999999
epw_df['Direct Normal Illuminance'] = 999999
epw_df['Diffuse Horizontal Illuminance'] = 999999
epw_df['Zenith Luminance'] = 9999

epw_df['Wind Direction'] = df['Wind Direction'].values.flatten()
epw_df['Wind Speed'] = df['Wind Speed'].values.flatten()
Expand All @@ -290,21 +288,21 @@ def download_epw(lon, lat, year, location, attributes, interval, utc, your_name,
epw_df['Opaque Sky Cover'] = df['Cloud Type'].values.flatten()
#

epw_df['Visibility'] = missing_values
epw_df['Ceiling Height'] = missing_values
epw_df['Present Weather Observation'] = missing_values
epw_df['Visibility'] = 9999
epw_df['Ceiling Height'] = 99999
epw_df['Present Weather Observation'] = ''
#
epw_df['Present Weather Codes'] = missing_values
epw_df['Present Weather Codes'] = ''
epw_df['Precipitable Water'] = df['Precipitable Water'].values.flatten()
epw_df['Aerosol Optical Depth'] = missing_values
epw_df['Aerosol Optical Depth'] = .999
#
epw_df['Snow Depth'] = missing_values
epw_df['Days Since Last Snowfall'] = missing_values
epw_df['Snow Depth'] = 999
epw_df['Days Since Last Snowfall'] = 99
epw_df['Albedo'] = df['Surface Albedo'].values.flatten()
#

epw_df['Liquid Precipitation Depth'] = missing_values
epw_df['Liquid Precipitation Quantity'] = missing_values
epw_df['Liquid Precipitation Depth'] = 999
epw_df['Liquid Precipitation Quantity'] = 99

out.dataframe = epw_df

Expand Down
2 changes: 1 addition & 1 deletion nrel_psm3_2_epw/epw.py
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ def _read_data(self, fp):
'Wind Direction',
'Wind Speed',
'Total Sky Cover',
'Opaque Sky Cover (used if Horizontal IR Intensity missing)',
'Opaque Sky Cover',
'Visibility',
'Ceiling Height',
'Present Weather Observation',
Expand Down
18 changes: 17 additions & 1 deletion tests/test_download.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@

from nrel_psm3_2_epw.assets import *

import pandas as pd


def test_download_epw():
lat, lon = 40.755840, -73.982684
Expand Down Expand Up @@ -41,4 +43,18 @@ def test_download_epw():
data = epw.EPW()
data.read("NYC_40.75584_-73.982684_2012.epw")

assert (data.dataframe['Year'][0] == 2012)
#(data.dataframe)

assert(data.dataframe['Year'][0] == 2012)
assert((data.dataframe['Atmospheric Station Pressure'] > 31000) & (data.dataframe['Atmospheric Station Pressure'] < 120000)).all()
assert((data.dataframe['Dry Bulb Temperature'] > -70) & (data.dataframe['Dry Bulb Temperature'] < 70)).all()
assert((data.dataframe['Dew Point Temperature'] > -70) & (data.dataframe['Dew Point Temperature'] < 70)).all()
assert((data.dataframe['Relative Humidity'] >= 0) & (data.dataframe['Relative Humidity'] < 110)).all()
assert(data.dataframe['Global Horizontal Radiation'] >= 0).all()
assert(data.dataframe['Direct Normal Radiation'] >= 0).all()
assert(data.dataframe['Diffuse Horizontal Radiation'] >= 0).all()
assert((data.dataframe['Wind Direction'] >= 0) & (data.dataframe['Relative Humidity'] <= 360)).all()
assert((data.dataframe['Wind Speed'] >= 0) & (data.dataframe['Wind Speed'] <= 40)).all()
assert((data.dataframe['Opaque Sky Cover'] >= 0) & (data.dataframe['Opaque Sky Cover'] <= 10)).all()
assert((data.dataframe['Total Sky Cover'] >= 0) & (data.dataframe['Total Sky Cover'] <= 10)).all()

0 comments on commit 01aeee5

Please sign in to comment.