X-Git-Url: https://wylark.com/src/infoex-autowx.git/blobdiff_plain/64929d40db7dc9acb29005ac624f8dd13aefc335..5778903062414091f61f5fb7ef43eaf7abda4e03:/README.md?ds=sidebyside diff --git a/README.md b/README.md index 258c70a..91c4b98 100644 --- a/README.md +++ b/README.md @@ -37,7 +37,10 @@ data into your InfoEx subscriber account. To run ad-hoc (be sure to activate the virtual environment, as detailed in the Installation section): -`./infoex-autowx.py --config [path/to/config-file.ini]` +`./infoex-autowx.py --config [path/to/config-file.ini] [--dry-run]` + +**NOTE: Specifying --dry-run will also not clean up the generated CSV +file.** This is so that you can debug any issues more easily. Here's an example of a crontab(5) with two SNOTEL sites, each of which will run once per hour (note that this will activate the virtual environment @@ -49,32 +52,38 @@ created earlier): Configuration File ------------------ -The configuration file is separated into two parts, the [wxsite] -portion, and the [ftp] portion. +The configuration file is separated into two parts, the [station] +portion, and the [infoex] portion. -The [wxsite] values describe which NRCS SNOTEL site's data you're after. +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 [ftp] values describe your credentials for the InfoEx automated -weather station FTP server. +The [infoex] values describe your credentials for the InfoEx automated +weather station FTP server and other InfoEx-related configuration +options. -`[wxsite]` -`station_triplet = [The NRCS identifier for a particular SNOTEL site]` -`desired_data = [A comma-delimited list of NRCS elements you're interested in]` -`location_uuid = [The UUID used by InfoEx to identify your automated Wx site]` -`csv_filename = [Arbitrary name of the file that will be uploaded to InfoEx]` +`[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]` -`[ftp]` +`[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]` + +Finding Your NRCS `station` values +---------------------------------- -Finding Your WXSITE values --------------------------- +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. -To complete the [wxsite] configuration section, 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: 1. Find your station by clicking through this website: @@ -89,7 +98,7 @@ 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 @@ -98,9 +107,9 @@ Here are the steps to do that: 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: @@ -116,16 +125,65 @@ configuration file as the `desired_data` value. For example: -`station_triplet = 655:OR:SNTL` +`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 `station` values +-------------------------------------- + +MesoWest has great documentation which can be found here: + +https://developers.synopticdata.com/mesonet/v2/getting-started/ + +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 `station_id` value. + +3. Finally, you must choose what data types you want to push into + 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/ + +The MesoWest API supports on-the-fly unit conversion, so that can be +specified to infoex-autowx via the configuration option `units`. This +can be either 'english' or 'metric', with 'english' meaning imperial +units as used in the United States. + +For example: + +`token = (token id located in your MesoWest web account)` +`stid = OD110` +`desired_data = air_temp,snow_depth` +`units = english` + +indicates that I'd like to import "Temperature" and "Precipitation +accumulated" from the MesoWest station at Santiam Pass, OR, into InfoEx, +and that I want that data in imperial units. + Version History --------------- +- 2.0.0 (Jul 2020) + + Implement MesoWest integration. + + This release also makes significant changes to the configuration file, + hence the major version bump. Such changes are not taken lightly but + given the desire to support multiple data sources, were necessary. + - 1.0.0 (Jun 2020) First released version. Cleaned up the program and design.