InfoEx AutoWx (IEAW)
=============
-This program fetches data from an NRCS SNOTEL site and pushes it into
-the InfoEx system using the new automated weather system implementation.
+This program fetches data from an NRCS SNOTEL or MesoWest station and
+pushes it into the InfoEx system using the new automated weather system
+implementation.
-License under the MIT license (see file: LICENSE).
+License under the ISC license (see file: LICENSE).
Disclaimer
----------
-Your usage of the NRCS and InfoEx systems is bound by their respective
-terms and this software makes no attempt or claim to abide by any such
-terms.
+Your usage of the NRCS, MesoWest, and/or InfoEx systems is bound by
+their respective terms and this software makes no attempt or claim to
+abide by any such terms.
Installation
------------
cron(8)) and administered via a simple, concise configuration file.
This design allows you to run a separate program instance for each NRCS
-weather station from which you'd like to automate the importation of
-data into your InfoEx subscriber account.
+or MesoWest weather station from which you'd like to automate the
+importation of data into your InfoEx subscriber account.
To run ad-hoc (be sure to activate the virtual environment, as detailed in the
Installation section):
Configuration File
------------------
-The configuration file is separated into two parts, the
-[nrcs]/[mesowest] portion, and the [infoex] portion.
+The configuration file is separated into two parts, the [station]
+portion, and the [infoex] portion.
-The [nrcs]/[mesowest] values describe which weather station's data
-you're after. See the next section in this README for instructions on
-obtaining these values.
+The [station] values describe which weather station's data you're after.
+See the next section in this README for instructions on obtaining these
+values.
The [infoex] values describe your credentials for the InfoEx automated
weather station FTP server and other InfoEx-related configuration
options.
-`[nrcs]`
-`station_triplet = [The NRCS identifier for a particular SNOTEL site]`
-`desired_data = [A comma-delimited list of NRCS elements you're interested in]`
+`[station]`
+`type = # either mesowest or nrcs #`
+`token = # MesoWest API token -- ignored when type is nrcs #`
+`station_id = # the NRCS/MesoWest identifier for a particular station #`
+`desired_data = # a comma-delimited list of fields you're interested in #`
+`units = # either english or metric -- ignored when type is nrcs #`
`[infoex]`
-`host = [InfoEx FTP host address]`
-`uuid = [InfoEx-supplied UUID]`
-`api_key = [InfoEx-supplied API Key]`
-`csv_filename = [Arbitrary name of the file that will be uploaded to InfoEx]`
-`location_uuid = [The UUID used by InfoEx to identify your automated Wx site]`
+`host = # InfoEx FTP host address #`
+`uuid = # InfoEx-supplied UUID #`
+`api_key = # InfoEx-supplied API Key #`
+`csv_filename = # arbitrary name of the file that will be uploaded to InfoEx #`
+`location_uuid = # the UUID used by InfoEx to identify your automated Wx site #`
-Finding Your NRCS values
-------------------------
+Finding Your NRCS `station` values
+----------------------------------
-To complete the [nrcs] configuration section, you must fill in the
-attributes of the NRCS SNOTEL site from which you want to import data.
+To complete the [station] configuration section for an NRCS station, you
+must fill in the attributes of the NRCS SNOTEL site from which you want
+to import data.
Here are the steps to do that:
4-digit number).
3. Combine your Station ID, state abbreviation, and the network type
- "SNTL" to get your station triplet (`station_triplet`, in the
+ "SNTL" to get your NRCS station triplet (`station_id`, in the
configuration file). For example:
655:OR:SNTL
of Oregon (OR). SNTL just represents that the station is in the
SNOTEL network and is used internally by NRCS.
-Once you have your station triplet, fill in the field in your
-configuration file. Now you must select which data you'd like to pull
-from NRCS to push into InfoEx.
+Once you have your station ID, fill in the field in your configuration
+file. Now you must select which data you'd like to pull from NRCS to
+push into InfoEx.
For that, visit the NRCS web service:
"elementCd" values into a comma-delimited string and put that into your
configuration file as the `desired_data` value.
-For example:
+A complete example:
-`station_triplet = 655:OR:SNTL`
+`[station]`
+`type = nrcs`
+`station_id = 655:OR:SNTL`
`desired_data = TOBS,PREC`
indicates that I'd like to import "AIR TEMPERATURE OBSERVED" and
"PRECIPITATION ACCUMULATION" from the NRCS SNOTEL site at Mud Ridge, OR,
into InfoEx.
-Finding your MesoWest values
-----------------------------
+Finding your MesoWest `station` values
+--------------------------------------
MesoWest has great documentation which can be found here:
https://developers.synopticdata.com/mesonet/v2/getting-started/
-To complete the [mesowest] configuration section, you must fill in the
-attributes of the MesoWest station ID from which you want to import
-data. Here are the steps to do that:
+To complete the [station] configuration section for a MesoWest station,
+you must fill in the attributes of the MesoWest station ID from which
+you want to import data. Here are the steps to do that:
1. Firstly, get set up with MesoWest's API by going to the above
'Getting Started' link. Once you're set up, you can copy a token from
the MesoWest web portal into your configuration file's `token` value.
2. Next, you will want to find the Station ID for the MesoWest weather
- station of interest and copy it to the `stid` value.
+ station of interest and copy it to the `station_id` value.
3. Finally, you must choose what data types you want to push into
- InfoEx. MesoWest refers to these as 'field names' and a list is
+ InfoEx and compile them into a comma-separated list. MesoWest refers
+ to these as 'field names' or 'station variables' and a list is
available here:
https://developers.synopticdata.com/about/station-variables/
can be either 'english' or 'metric', with 'english' meaning imperial
units as used in the United States.
-For example:
+A complete example:
-`token = (token id)`
-`stid = OD110`
+`[station]`
+`type = mesowest`
+`token = # token id copied from MesoWest web account #`
+`station_id = OD110`
`desired_data = air_temp,snow_depth`
`units = english`