Security News
Maven Central Adds Sigstore Signature Validation
Maven Central now validates Sigstore signatures, making it easier for developers to verify the provenance of Java packages.
Ruby API to access Royal Netherlands Meteorological Institute daily climate data Access climatological data as provided by the Royal Netherlands Meteorological Institute through the http get forms for daily and hourly data
This gem was constructed using information from the KNMI climate data pages here.
gem install httparty
gem install geokit
gem install knmi
Launch console e.g. irb at the command line
require 'knmi'
station = KNMI.station_by_id(235)
parameters = KNMI.parameters(period = "daily", params = nil, categories = ["TEMP", "WIND"])
starts = Time.utc(2010, 6, 28) # 2010 April 28th
ends = Time.utc(2010, 6, 29) # 2010 April 29th
request = KNMI.get_data(station, parameters, starts, ends)
data = KNMI.convert(parameters, request)
require 'knmi'
# Get station object by station ID
station = KNMI.station_by_id(235)
station
#=> #<KNMI::Station:0x0000010133c938> # A struct object
# Available Instance Variables
station.instance_variables
#=> [:@id, :@name, :@elevation, :@photo, :@map, :@web, :@instrumentation, :@coordinates]
station.id
#=> 235
station.name
#=>"De kooy"
station.coordinates
#=> 52.924,4.785
# Get parameter object at the time interval you wish to use "hourly" or "daily"
# Params can be a single term or an array of terms such as "TG" or ["TG", TX]
# Categories can be a single term or an array of terms such as "WIND" or ["WIND", "TEMP"]
parameters = KNMI.parameters(period = "daily", params = nil, categories = ["TEMP", "WIND"])
parameters # returns an array of parameter objects
#=> [#<KNMI::Parameters:0x000001011387e0 @parameter="TX", @category="TEMP", @description="Maximum Temperature", @validate="n.integer?", @conversion="n / 10", @units="C", @period="daily">]
# Available Instance Variables
parameters[0].instance_variables
#=>[:@parameter, :@category, :@description, :@validate, :@conversion, :@units, :@period]
parameters[0].parameter
#=> "TX"
# Define Time period of interest
starts = Time.utc(2010, 6, 28) # 2010 April 28th
ends = Time.utc(2010, 7, 01) # 2010 April 29th
# Get Data using previously retrieved objects
request = KNMI.get_data(station, parameters, starts, ends)
# Available Instance Variables
request.instance_variables
#=> [:@query, :@data]
request.query
#=>["stns=235", "vars=TX", "start=20100628", "end=20100629"]
request.data
#=>[{:STN=>"235", :YYYYMMDD=>"20100628", :TX=>"263"}, {:STN=>"235", :YYYYMMDD=>"20100629", :TX=>"225"}]
request.data[0]
#=>{:STN=>"235", :YYYYMMDD=>"20100628", :TX=>"263"}
# Convert data from storage format to operating format
data = KNMI.convert(parameters, request)
All available recorded parameters can be found in the file .data/data_key.yml This file contains the parameter name, category, description, a script to validate the data, a script to convert the data to to appropriate units, units, and the appropriate period.
Parameter | Category | Description |
---|---|---|
YYYYMMDD | Time Stamp | |
DDVEC | WIND | Wind Direction |
FHVEC | WIND | Vector Mean Wind Speed |
FG | WIND | Daily Mean Wind Speed |
FHX | WIND | Maximum Hourly Mean Windspeed |
FHXH | WIND | Hourly Division at Which Maximum Wind Speed Was Measured |
FHN | WIND | Minimum Hourly Mean Windspeed |
FHNH | WIND | Hourly Division at Which Minimum Wind Speed Was Measured |
FXX | WIND | Maximum Instantaneous Wind Speed |
FXXH | WIND | Hourly Division at Which Maximum Instantaneous Wind Speed Was Measured |
TG | TEMP | Daily Mean Temperature |
TN | TEMP | Minimum Temperature |
TNH | TEMP | Hourly Division in Which Minimum Temperature Was Measured |
TX | TEMP | Maximum Temperature |
TXH | TEMP | Hourly Division in Which Maximum Temperature Was Measured |
T10N | TEMP | Minimum Temperature at 10 Cm Above Surface |
T10NH | TEMP | Six Hourly Division at Which Minimum Temperature at 10 Cm Above Surface Was Measured |
SQ | RADT | Sunshine Duration |
SP | RADT | Percent of Maximum Sunshine Duration |
Q | RADT | Global Radiation |
DR | PRCP | Precipitation Duration |
RH | PRCP | Daily Precipitation |
RHX | PRCP | Maximum Hourly Precipitation |
RHXH | PRCP | Hourly Division in Which Maximum Hourly Precipitation Was Measured |
EV24 | ATMS | Potential Evapotranspiration |
PG | ATMS | Daily Mean Sea Level Pressure |
PX | ATMS | Maximum Hourly Sea Level Pressure |
PXH | ATMS | Hourly Division on Which Maximum Hourly Sea Level Pressure Was Measured |
PN | ATMS | Minimum Hourly Sea Level Pressure |
PNH | ATMS | Hourly Division in Which Minimum Hourly Sea Level Pressure Was Measured |
VVN | VISB | Minimum Visibility |
VVNH | VISB | Hourly Division in Which Minimum Visibility Was Measured |
VVX | VISB | Maximum Visibility |
VVXH | VISB | Hourly Division in Which Maximum Visibility Was Measured |
NG | VISB | Mean Daily Cloud Cover |
UG | ATMS | Daily Mean Relative Humidity |
UX | ATMS | Maximum Relative Humidity |
UXH | ATMS | Hourly Division in Which Maximum Relative Humidity Was Measured |
UN | ATMS | Minimum Relative Humidity |
UNH | ATMS | Hourly Division in Which Minimum Relative Humidity Was Measured |
Parameter | Category | Description |
---|---|---|
YYYYMMDD | Time Stamp | |
HH | Hour | |
DD | WIND | Mean wind direction during the 10-minute period preceding the time of observation |
FH | WIND | Hourly mean wind speed |
FF | WIND | Mean wind speed |
FX | WIND | Maximum wind gust |
T | TEMP | Air Temperature at 1.5 m |
T10N | TEMP | Minimum Air Temperature at 10 cm in the preceding 6 hours |
TD | TEMP | Dew Point Temperature |
SQ | RDTN | Sunshine Duration |
Q | RDTN | Golbal Radiation |
DR | PRCP | Precipitation Duration |
RH | PRCP | Precipitation |
P | ATMS | Air Pressure |
VV | VISB | Visibility |
N | VISB | Cloud Cover |
U | ATMS | Relative Humidity |
M | WTHR | Fog |
R | WTHR | Rainfall |
S | WTHR | Snow |
O | WTHR | Thunder |
Y | WTHR | Ice |
WW | WTHR | Weather Code |
Write unit tests for lib/calculations/calculations.rb
# DEZE GEGEVENS MOGEN VRIJ WORDEN GEBRUIKT MITS DE VOLGENDE BRONVERMELDING WORDT GEGEVEN:
# KONINKLIJK NEDERLANDS METEOROLOGISCH INSTITUUT (KNMI)
#
# THESE DATA CAN BE USED FREELY PROVIDED THAT THE FOLLOWING SOURCE IS ACKNOWLEDGED:
# ROYAL NETHERLANDS METEOROLOGICAL INSTITUTE
Copyright (c) 2011 Patrick Galvin Schmitz p.schmitz@gmail.com. See LICENSE.txt for further details.
FAQs
Unknown package
We found that knmi demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Maven Central now validates Sigstore signatures, making it easier for developers to verify the provenance of Java packages.
Security News
CISOs are racing to adopt AI for cybersecurity, but hurdles in budgets and governance may leave some falling behind in the fight against cyber threats.
Research
Security News
Socket researchers uncovered a backdoored typosquat of BoltDB in the Go ecosystem, exploiting Go Module Proxy caching to persist undetected for years.