cdss-ruby 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (99) hide show
  1. checksums.yaml +7 -0
  2. data/.rubocop.yml +86 -0
  3. data/CHANGELOG.md +5 -0
  4. data/CODE_OF_CONDUCT.md +84 -0
  5. data/README.md +101 -0
  6. data/Rakefile +26 -0
  7. data/docs/Cdss/AdminCalls.html +399 -0
  8. data/docs/Cdss/Analysis.html +972 -0
  9. data/docs/Cdss/Client.html +581 -0
  10. data/docs/Cdss/Climate.html +1257 -0
  11. data/docs/Cdss/Concerns/LogReadingAttributes.html +406 -0
  12. data/docs/Cdss/Concerns/WellReadingAttributes.html +414 -0
  13. data/docs/Cdss/Concerns.html +117 -0
  14. data/docs/Cdss/GroundWater.html +945 -0
  15. data/docs/Cdss/Models/AdminCall.html +252 -0
  16. data/docs/Cdss/Models/Analysis.html +397 -0
  17. data/docs/Cdss/Models/CallAnalysis.html +140 -0
  18. data/docs/Cdss/Models/ClimateStation.html +249 -0
  19. data/docs/Cdss/Models/DiversionRecord.html +248 -0
  20. data/docs/Cdss/Models/Reading.html +301 -0
  21. data/docs/Cdss/Models/ReferenceTable.html +339 -0
  22. data/docs/Cdss/Models/RouteAnalysis.html +140 -0
  23. data/docs/Cdss/Models/SourceRoute.html +140 -0
  24. data/docs/Cdss/Models/Station.html +248 -0
  25. data/docs/Cdss/Models/Structure.html +259 -0
  26. data/docs/Cdss/Models/WaterClass.html +249 -0
  27. data/docs/Cdss/Models/WaterRight.html +255 -0
  28. data/docs/Cdss/Models/Well.html +251 -0
  29. data/docs/Cdss/Models.html +117 -0
  30. data/docs/Cdss/Parser.html +2155 -0
  31. data/docs/Cdss/Parsers/AdminCallsParser.html +201 -0
  32. data/docs/Cdss/Parsers/AnalysisParser.html +296 -0
  33. data/docs/Cdss/Parsers/BaseParser.html +207 -0
  34. data/docs/Cdss/Parsers/ClimateParser.html +253 -0
  35. data/docs/Cdss/Parsers/ReadingParser.html +201 -0
  36. data/docs/Cdss/Parsers/ReferenceTablesParser.html +201 -0
  37. data/docs/Cdss/Parsers/StationParser.html +201 -0
  38. data/docs/Cdss/Parsers/StructuresParser.html +305 -0
  39. data/docs/Cdss/Parsers/WaterRightsParser.html +219 -0
  40. data/docs/Cdss/Parsers/WellParser.html +357 -0
  41. data/docs/Cdss/Parsers.html +117 -0
  42. data/docs/Cdss/ReferenceTables.html +332 -0
  43. data/docs/Cdss/Structures.html +1132 -0
  44. data/docs/Cdss/SurfaceWater.html +798 -0
  45. data/docs/Cdss/Telemetry.html +763 -0
  46. data/docs/Cdss/Utils.html +1276 -0
  47. data/docs/Cdss/WaterRights.html +634 -0
  48. data/docs/Cdss.html +292 -0
  49. data/docs/_index.html +493 -0
  50. data/docs/class_list.html +54 -0
  51. data/docs/css/common.css +1 -0
  52. data/docs/css/full_list.css +58 -0
  53. data/docs/css/style.css +503 -0
  54. data/docs/file.README.html +108 -0
  55. data/docs/file_list.html +59 -0
  56. data/docs/frames.html +22 -0
  57. data/docs/index.html +108 -0
  58. data/docs/js/app.js +344 -0
  59. data/docs/js/full_list.js +242 -0
  60. data/docs/js/jquery.js +4 -0
  61. data/docs/method_list.html +790 -0
  62. data/docs/top-level-namespace.html +110 -0
  63. data/lib/cdss/admin_calls.rb +44 -0
  64. data/lib/cdss/analysis.rb +183 -0
  65. data/lib/cdss/client.rb +121 -0
  66. data/lib/cdss/climate.rb +155 -0
  67. data/lib/cdss/concerns/log_reading_attributes.rb +48 -0
  68. data/lib/cdss/concerns/well_reading_attributes.rb +56 -0
  69. data/lib/cdss/ground_water.rb +112 -0
  70. data/lib/cdss/models/admin_call.rb +45 -0
  71. data/lib/cdss/models/analysis.rb +77 -0
  72. data/lib/cdss/models/climate_station.rb +40 -0
  73. data/lib/cdss/models/reading.rb +54 -0
  74. data/lib/cdss/models/reference_table.rb +56 -0
  75. data/lib/cdss/models/station.rb +40 -0
  76. data/lib/cdss/models/structure.rb +101 -0
  77. data/lib/cdss/models/water_right.rb +47 -0
  78. data/lib/cdss/models/well.rb +43 -0
  79. data/lib/cdss/parser.rb +172 -0
  80. data/lib/cdss/parsers/admin_calls_parser.rb +47 -0
  81. data/lib/cdss/parsers/analysis_parser.rb +124 -0
  82. data/lib/cdss/parsers/base_parser.rb +18 -0
  83. data/lib/cdss/parsers/climate_parser.rb +86 -0
  84. data/lib/cdss/parsers/reading_parser.rb +90 -0
  85. data/lib/cdss/parsers/reference_tables_parser.rb +55 -0
  86. data/lib/cdss/parsers/station_parser.rb +42 -0
  87. data/lib/cdss/parsers/structures_parser.rb +96 -0
  88. data/lib/cdss/parsers/water_rights_parser.rb +77 -0
  89. data/lib/cdss/parsers/well_parser.rb +107 -0
  90. data/lib/cdss/reference_tables.rb +147 -0
  91. data/lib/cdss/structures.rb +235 -0
  92. data/lib/cdss/surface_water.rb +186 -0
  93. data/lib/cdss/telemetry.rb +98 -0
  94. data/lib/cdss/utils.rb +152 -0
  95. data/lib/cdss/version.rb +5 -0
  96. data/lib/cdss/water_rights.rb +95 -0
  97. data/lib/cdss.rb +27 -0
  98. data/sig/cdss/ruby.rbs +6 -0
  99. metadata +272 -0
@@ -0,0 +1,1257 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>
7
+ Module: Cdss::Climate
8
+
9
+ &mdash; Documentation by YARD 0.9.37
10
+
11
+ </title>
12
+
13
+ <link rel="stylesheet" href="../css/style.css" type="text/css" />
14
+
15
+ <link rel="stylesheet" href="../css/common.css" type="text/css" />
16
+
17
+ <script type="text/javascript">
18
+ pathId = "Cdss::Climate";
19
+ relpath = '../';
20
+ </script>
21
+
22
+
23
+ <script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
24
+
25
+ <script type="text/javascript" charset="utf-8" src="../js/app.js"></script>
26
+
27
+
28
+ </head>
29
+ <body>
30
+ <div class="nav_wrap">
31
+ <iframe id="nav" src="../class_list.html?1"></iframe>
32
+ <div id="resizer"></div>
33
+ </div>
34
+
35
+ <div id="main" tabindex="-1">
36
+ <div id="header">
37
+ <div id="menu">
38
+
39
+ <a href="../_index.html">Index (C)</a> &raquo;
40
+ <span class='title'><span class='object_link'><a href="../Cdss.html" title="Cdss (module)">Cdss</a></span></span>
41
+ &raquo;
42
+ <span class="title">Climate</span>
43
+
44
+ </div>
45
+
46
+ <div id="search">
47
+
48
+ <a class="full_list_link" id="class_list_link"
49
+ href="../class_list.html">
50
+
51
+ <svg width="24" height="24">
52
+ <rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
53
+ <rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
54
+ <rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
55
+ </svg>
56
+ </a>
57
+
58
+ </div>
59
+ <div class="clear"></div>
60
+ </div>
61
+
62
+ <div id="content"><h1>Module: Cdss::Climate
63
+
64
+
65
+
66
+ </h1>
67
+ <div class="box_info">
68
+
69
+
70
+
71
+
72
+
73
+
74
+ <dl>
75
+ <dt>Includes:</dt>
76
+ <dd><span class='object_link'><a href="Utils.html" title="Cdss::Utils (module)">Utils</a></span></dd>
77
+ </dl>
78
+
79
+
80
+
81
+
82
+ <dl>
83
+ <dt>Included in:</dt>
84
+ <dd><span class='object_link'><a href="Client.html" title="Cdss::Client (class)">Client</a></span></dd>
85
+ </dl>
86
+
87
+
88
+
89
+ <dl>
90
+ <dt>Defined in:</dt>
91
+ <dd>lib/cdss/climate.rb</dd>
92
+ </dl>
93
+
94
+ </div>
95
+
96
+ <h2>Overview</h2><div class="docstring">
97
+ <div class="discussion">
98
+
99
+ <p>Provides methods for accessing climate data from the CDSS API.</p>
100
+
101
+ <p>This module includes functionality for retrieving climate stations, frost dates, and time series data at various time scales.</p>
102
+
103
+
104
+ </div>
105
+ </div>
106
+ <div class="tags">
107
+
108
+
109
+ </div>
110
+
111
+
112
+
113
+
114
+
115
+
116
+
117
+ <h2>
118
+ Instance Method Summary
119
+ <small><a href="#" class="summary_toggle">collapse</a></small>
120
+ </h2>
121
+
122
+ <ul class="summary">
123
+
124
+ <li class="public ">
125
+ <span class="summary_signature">
126
+
127
+ <a href="#get_climate_frost_dates-instance_method" title="#get_climate_frost_dates (instance method)">#<strong>get_climate_frost_dates</strong>(station_number:, start_date: nil, end_date: nil) &#x21d2; Array&lt;Reading&gt; </a>
128
+
129
+
130
+
131
+ </span>
132
+
133
+
134
+
135
+
136
+
137
+
138
+
139
+
140
+
141
+ <span class="summary_desc"><div class='inline'>
142
+ <p>Fetches frost dates for a specific climate station.</p>
143
+ </div></span>
144
+
145
+ </li>
146
+
147
+
148
+ <li class="public ">
149
+ <span class="summary_signature">
150
+
151
+ <a href="#get_climate_stations-instance_method" title="#get_climate_stations (instance method)">#<strong>get_climate_stations</strong>(aoi: nil, radius: nil, county: nil, division: nil, station_name: nil, site_id: nil, water_district: nil) &#x21d2; Array&lt;Station&gt; </a>
152
+
153
+
154
+
155
+ </span>
156
+
157
+
158
+
159
+
160
+
161
+
162
+
163
+
164
+
165
+ <span class="summary_desc"><div class='inline'>
166
+ <p>Fetches climate stations based on various filtering criteria.</p>
167
+ </div></span>
168
+
169
+ </li>
170
+
171
+
172
+ <li class="public ">
173
+ <span class="summary_signature">
174
+
175
+ <a href="#get_climate_ts-instance_method" title="#get_climate_ts (instance method)">#<strong>get_climate_ts</strong>(station_number: nil, site_id: nil, param: nil, start_date: nil, end_date: nil, timescale: &quot;day&quot;) &#x21d2; Array&lt;Reading&gt; </a>
176
+
177
+
178
+
179
+ </span>
180
+
181
+
182
+
183
+
184
+
185
+
186
+
187
+
188
+
189
+ <span class="summary_desc"><div class='inline'>
190
+ <p>Fetches climate time series data for specified stations.</p>
191
+ </div></span>
192
+
193
+ </li>
194
+
195
+
196
+ <li class="public ">
197
+ <span class="summary_signature">
198
+
199
+ <a href="#get_climate_ts_day-instance_method" title="#get_climate_ts_day (instance method)">#<strong>get_climate_ts_day</strong>(param:, station_number: nil, site_id: nil, start_date: nil, end_date: nil) &#x21d2; Array&lt;Reading&gt; </a>
200
+
201
+
202
+
203
+ </span>
204
+
205
+
206
+
207
+
208
+
209
+
210
+
211
+
212
+
213
+ <span class="summary_desc"><div class='inline'>
214
+ <p>Fetches daily climate time series data.</p>
215
+ </div></span>
216
+
217
+ </li>
218
+
219
+
220
+ <li class="public ">
221
+ <span class="summary_signature">
222
+
223
+ <a href="#get_climate_ts_month-instance_method" title="#get_climate_ts_month (instance method)">#<strong>get_climate_ts_month</strong>(param:, station_number: nil, site_id: nil, start_date: nil, end_date: nil) &#x21d2; Array&lt;Reading&gt; </a>
224
+
225
+
226
+
227
+ </span>
228
+
229
+
230
+
231
+
232
+
233
+
234
+
235
+
236
+
237
+ <span class="summary_desc"><div class='inline'>
238
+ <p>Fetches monthly climate time series data.</p>
239
+ </div></span>
240
+
241
+ </li>
242
+
243
+
244
+ </ul>
245
+
246
+
247
+
248
+
249
+
250
+
251
+
252
+
253
+
254
+
255
+
256
+ <h3 class="inherited">Methods included from <span class='object_link'><a href="Utils.html" title="Cdss::Utils (module)">Utils</a></span></h3>
257
+ <p class="inherited"><span class='object_link'><a href="Utils.html#batch_dates-instance_method" title="Cdss::Utils#batch_dates (method)">#batch_dates</a></span>, <span class='object_link'><a href="Utils.html#build_query-instance_method" title="Cdss::Utils#build_query (method)">#build_query</a></span>, <span class='object_link'><a href="Utils.html#fetch_paginated_data-instance_method" title="Cdss::Utils#fetch_paginated_data (method)">#fetch_paginated_data</a></span>, <span class='object_link'><a href="Utils.html#format_date-instance_method" title="Cdss::Utils#format_date (method)">#format_date</a></span>, <span class='object_link'><a href="Utils.html#format_query_param-instance_method" title="Cdss::Utils#format_query_param (method)">#format_query_param</a></span>, <span class='object_link'><a href="Utils.html#parse_timestamp-instance_method" title="Cdss::Utils#parse_timestamp (method)">#parse_timestamp</a></span>, <span class='object_link'><a href="Utils.html#safe_float-instance_method" title="Cdss::Utils#safe_float (method)">#safe_float</a></span>, <span class='object_link'><a href="Utils.html#safe_integer-instance_method" title="Cdss::Utils#safe_integer (method)">#safe_integer</a></span></p>
258
+
259
+
260
+ <div id="instance_method_details" class="method_details_list">
261
+ <h2>Instance Method Details</h2>
262
+
263
+
264
+ <div class="method_details first">
265
+ <h3 class="signature first" id="get_climate_frost_dates-instance_method">
266
+
267
+ #<strong>get_climate_frost_dates</strong>(station_number:, start_date: nil, end_date: nil) &#x21d2; <tt>Array&lt;Reading&gt;</tt>
268
+
269
+
270
+
271
+
272
+
273
+ </h3><div class="docstring">
274
+ <div class="discussion">
275
+
276
+ <p>Fetches frost dates for a specific climate station.</p>
277
+
278
+
279
+ </div>
280
+ </div>
281
+ <div class="tags">
282
+ <p class="tag_title">Parameters:</p>
283
+ <ul class="param">
284
+
285
+ <li>
286
+
287
+ <span class='name'>station_number</span>
288
+
289
+
290
+ <span class='type'>(<tt>String</tt>)</span>
291
+
292
+
293
+
294
+ &mdash;
295
+ <div class='inline'>
296
+ <p>Station number to fetch frost dates for.</p>
297
+ </div>
298
+
299
+ </li>
300
+
301
+ <li>
302
+
303
+ <span class='name'>start_date</span>
304
+
305
+
306
+ <span class='type'>(<tt>Date</tt>, <tt>nil</tt>)</span>
307
+
308
+
309
+ <em class="default">(defaults to: <tt>nil</tt>)</em>
310
+
311
+
312
+ &mdash;
313
+ <div class='inline'>
314
+ <p>Start date for frost dates data.</p>
315
+ </div>
316
+
317
+ </li>
318
+
319
+ <li>
320
+
321
+ <span class='name'>end_date</span>
322
+
323
+
324
+ <span class='type'>(<tt>Date</tt>, <tt>nil</tt>)</span>
325
+
326
+
327
+ <em class="default">(defaults to: <tt>nil</tt>)</em>
328
+
329
+
330
+ &mdash;
331
+ <div class='inline'>
332
+ <p>End date for frost dates data.</p>
333
+ </div>
334
+
335
+ </li>
336
+
337
+ </ul>
338
+
339
+ <p class="tag_title">Returns:</p>
340
+ <ul class="return">
341
+
342
+ <li>
343
+
344
+
345
+ <span class='type'>(<tt>Array&lt;Reading&gt;</tt>)</span>
346
+
347
+
348
+
349
+ &mdash;
350
+ <div class='inline'>
351
+ <p>Array of frost date readings.</p>
352
+ </div>
353
+
354
+ </li>
355
+
356
+ </ul>
357
+
358
+ </div><table class="source_code">
359
+ <tr>
360
+ <td>
361
+ <pre class="lines">
362
+
363
+
364
+ 60
365
+ 61
366
+ 62
367
+ 63
368
+ 64
369
+ 65
370
+ 66
371
+ 67
372
+ 68
373
+ 69
374
+ 70
375
+ 71
376
+ 72
377
+ 73</pre>
378
+ </td>
379
+ <td>
380
+ <pre class="code"><span class="info file"># File 'lib/cdss/climate.rb', line 60</span>
381
+
382
+ <span class='kw'>def</span> <span class='id identifier rubyid_get_climate_frost_dates'>get_climate_frost_dates</span><span class='lparen'>(</span><span class='label'>station_number:</span><span class='comma'>,</span> <span class='label'>start_date:</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='label'>end_date:</span> <span class='kw'>nil</span><span class='rparen'>)</span>
383
+ <span class='id identifier rubyid_query_params'>query_params</span> <span class='op'>=</span> <span class='lbrace'>{</span>
384
+ <span class='label'>dateFormat:</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>spaceSepToSeconds</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span>
385
+ <span class='label'>stationNum:</span> <span class='id identifier rubyid_station_number'>station_number</span>
386
+ <span class='rbrace'>}</span>
387
+
388
+ <span class='id identifier rubyid_query_params'>query_params</span><span class='lbracket'>[</span><span class='symbol'>:&quot;min-calYear&quot;</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_start_date'>start_date</span><span class='period'>.</span><span class='id identifier rubyid_strftime'>strftime</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>%Y</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id identifier rubyid_start_date'>start_date</span>
389
+ <span class='id identifier rubyid_query_params'>query_params</span><span class='lbracket'>[</span><span class='symbol'>:&quot;max-calYear&quot;</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_end_date'>end_date</span><span class='period'>.</span><span class='id identifier rubyid_strftime'>strftime</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>%Y</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id identifier rubyid_end_date'>end_date</span>
390
+
391
+ <span class='id identifier rubyid_fetch_paginated_data'>fetch_paginated_data</span><span class='lparen'>(</span>
392
+ <span class='label'>endpoint:</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>/climatedata/climatestationfrostdates/</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span>
393
+ <span class='label'>query:</span> <span class='id identifier rubyid_query_params'>query_params</span>
394
+ <span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_data'>data</span><span class='op'>|</span> <span class='const'><span class='object_link'><a href="Parser.html" title="Cdss::Parser (class)">Parser</a></span></span><span class='period'>.</span><span class='id identifier rubyid_parse_climate_readings'><span class='object_link'><a href="Parser.html#parse_climate_readings-class_method" title="Cdss::Parser.parse_climate_readings (method)">parse_climate_readings</a></span></span><span class='lparen'>(</span><span class='id identifier rubyid_data'>data</span><span class='comma'>,</span> <span class='label'>type:</span> <span class='symbol'>:frost_dates</span><span class='rparen'>)</span> <span class='rbrace'>}</span>
395
+ <span class='kw'>end</span></pre>
396
+ </td>
397
+ </tr>
398
+ </table>
399
+ </div>
400
+
401
+ <div class="method_details ">
402
+ <h3 class="signature " id="get_climate_stations-instance_method">
403
+
404
+ #<strong>get_climate_stations</strong>(aoi: nil, radius: nil, county: nil, division: nil, station_name: nil, site_id: nil, water_district: nil) &#x21d2; <tt>Array&lt;Station&gt;</tt>
405
+
406
+
407
+
408
+
409
+
410
+ </h3><div class="docstring">
411
+ <div class="discussion">
412
+
413
+ <p>Fetches climate stations based on various filtering criteria.</p>
414
+
415
+
416
+ </div>
417
+ </div>
418
+ <div class="tags">
419
+
420
+ <div class="examples">
421
+ <h4 class="tag_title">Examples:</h4>
422
+
423
+
424
+ <h5 class="example_title"><div class='inline'>
425
+ <p>Fetch stations in Denver county</p>
426
+ </div></h5>
427
+
428
+ <pre class="example code"><code><span class='id identifier rubyid_get_climate_stations'>get_climate_stations</span><span class='lparen'>(</span><span class='label'>county:</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>Denver</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span></code></pre>
429
+
430
+ </div>
431
+ <p class="tag_title">Parameters:</p>
432
+ <ul class="param">
433
+
434
+ <li>
435
+
436
+ <span class='name'>aoi</span>
437
+
438
+
439
+ <span class='type'>(<tt>Hash</tt>, <tt>Array</tt>, <tt>nil</tt>)</span>
440
+
441
+
442
+ <em class="default">(defaults to: <tt>nil</tt>)</em>
443
+
444
+
445
+ &mdash;
446
+ <div class='inline'>
447
+ <p>Area of interest for spatial searches. If hash, must contain :latitude and :longitude keys. If array, must contain [longitude, latitude].</p>
448
+ </div>
449
+
450
+ </li>
451
+
452
+ <li>
453
+
454
+ <span class='name'>radius</span>
455
+
456
+
457
+ <span class='type'>(<tt>Integer</tt>, <tt>nil</tt>)</span>
458
+
459
+
460
+ <em class="default">(defaults to: <tt>nil</tt>)</em>
461
+
462
+
463
+ &mdash;
464
+ <div class='inline'>
465
+ <p>Radius in miles for spatial search around aoi. Defaults to 20 if aoi is provided.</p>
466
+ </div>
467
+
468
+ </li>
469
+
470
+ <li>
471
+
472
+ <span class='name'>county</span>
473
+
474
+
475
+ <span class='type'>(<tt>String</tt>, <tt>nil</tt>)</span>
476
+
477
+
478
+ <em class="default">(defaults to: <tt>nil</tt>)</em>
479
+
480
+
481
+ &mdash;
482
+ <div class='inline'>
483
+ <p>County name to filter stations.</p>
484
+ </div>
485
+
486
+ </li>
487
+
488
+ <li>
489
+
490
+ <span class='name'>division</span>
491
+
492
+
493
+ <span class='type'>(<tt>Integer</tt>, <tt>nil</tt>)</span>
494
+
495
+
496
+ <em class="default">(defaults to: <tt>nil</tt>)</em>
497
+
498
+
499
+ &mdash;
500
+ <div class='inline'>
501
+ <p>Water division number to filter stations.</p>
502
+ </div>
503
+
504
+ </li>
505
+
506
+ <li>
507
+
508
+ <span class='name'>station_name</span>
509
+
510
+
511
+ <span class='type'>(<tt>String</tt>, <tt>nil</tt>)</span>
512
+
513
+
514
+ <em class="default">(defaults to: <tt>nil</tt>)</em>
515
+
516
+
517
+ &mdash;
518
+ <div class='inline'>
519
+ <p>Name of the station to filter by.</p>
520
+ </div>
521
+
522
+ </li>
523
+
524
+ <li>
525
+
526
+ <span class='name'>site_id</span>
527
+
528
+
529
+ <span class='type'>(<tt>String</tt>, <tt>nil</tt>)</span>
530
+
531
+
532
+ <em class="default">(defaults to: <tt>nil</tt>)</em>
533
+
534
+
535
+ &mdash;
536
+ <div class='inline'>
537
+ <p>Station site ID to filter by.</p>
538
+ </div>
539
+
540
+ </li>
541
+
542
+ <li>
543
+
544
+ <span class='name'>water_district</span>
545
+
546
+
547
+ <span class='type'>(<tt>Integer</tt>, <tt>nil</tt>)</span>
548
+
549
+
550
+ <em class="default">(defaults to: <tt>nil</tt>)</em>
551
+
552
+
553
+ &mdash;
554
+ <div class='inline'>
555
+ <p>Water district number to filter stations.</p>
556
+ </div>
557
+
558
+ </li>
559
+
560
+ </ul>
561
+
562
+ <p class="tag_title">Returns:</p>
563
+ <ul class="return">
564
+
565
+ <li>
566
+
567
+
568
+ <span class='type'>(<tt>Array&lt;Station&gt;</tt>)</span>
569
+
570
+
571
+
572
+ &mdash;
573
+ <div class='inline'>
574
+ <p>Array of matching climate station objects.</p>
575
+ </div>
576
+
577
+ </li>
578
+
579
+ </ul>
580
+ <p class="tag_title">Raises:</p>
581
+ <ul class="raise">
582
+
583
+ <li>
584
+
585
+
586
+ <span class='type'>(<tt>ArgumentError</tt>)</span>
587
+
588
+
589
+
590
+ &mdash;
591
+ <div class='inline'>
592
+ <p>If aoi parameter is provided but invalid.</p>
593
+ </div>
594
+
595
+ </li>
596
+
597
+ </ul>
598
+
599
+ </div><table class="source_code">
600
+ <tr>
601
+ <td>
602
+ <pre class="lines">
603
+
604
+
605
+ 25
606
+ 26
607
+ 27
608
+ 28
609
+ 29
610
+ 30
611
+ 31
612
+ 32
613
+ 33
614
+ 34
615
+ 35
616
+ 36
617
+ 37
618
+ 38
619
+ 39
620
+ 40
621
+ 41
622
+ 42
623
+ 43
624
+ 44
625
+ 45
626
+ 46
627
+ 47
628
+ 48
629
+ 49
630
+ 50
631
+ 51
632
+ 52</pre>
633
+ </td>
634
+ <td>
635
+ <pre class="code"><span class="info file"># File 'lib/cdss/climate.rb', line 25</span>
636
+
637
+ <span class='kw'>def</span> <span class='id identifier rubyid_get_climate_stations'>get_climate_stations</span><span class='lparen'>(</span><span class='label'>aoi:</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='label'>radius:</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='label'>county:</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='label'>division:</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='label'>station_name:</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='label'>site_id:</span> <span class='kw'>nil</span><span class='comma'>,</span>
638
+ <span class='label'>water_district:</span> <span class='kw'>nil</span><span class='rparen'>)</span>
639
+ <span class='id identifier rubyid_query_params'>query_params</span> <span class='op'>=</span> <span class='lbrace'>{</span>
640
+ <span class='label'>dateFormat:</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>spaceSepToSeconds</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span>
641
+ <span class='label'>units:</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>miles</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span>
642
+ <span class='label'>county:</span> <span class='id identifier rubyid_county'>county</span><span class='comma'>,</span>
643
+ <span class='label'>division:</span> <span class='id identifier rubyid_division'>division</span><span class='comma'>,</span>
644
+ <span class='label'>stationName:</span> <span class='id identifier rubyid_station_name'>station_name</span><span class='comma'>,</span>
645
+ <span class='label'>siteId:</span> <span class='id identifier rubyid_site_id'>site_id</span><span class='comma'>,</span>
646
+ <span class='label'>waterDistrict:</span> <span class='id identifier rubyid_water_district'>water_district</span>
647
+ <span class='rbrace'>}</span>
648
+
649
+ <span class='kw'>if</span> <span class='id identifier rubyid_aoi'>aoi</span>
650
+ <span class='kw'>if</span> <span class='id identifier rubyid_aoi'>aoi</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Hash</span><span class='rparen'>)</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_aoi'>aoi</span><span class='lbracket'>[</span><span class='symbol'>:latitude</span><span class='rbracket'>]</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_aoi'>aoi</span><span class='lbracket'>[</span><span class='symbol'>:longitude</span><span class='rbracket'>]</span>
651
+ <span class='id identifier rubyid_query_params'>query_params</span><span class='period'>.</span><span class='id identifier rubyid_merge!'>merge!</span><span class='lparen'>(</span><span class='label'>longitude:</span> <span class='id identifier rubyid_aoi'>aoi</span><span class='lbracket'>[</span><span class='symbol'>:longitude</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='label'>latitude:</span> <span class='id identifier rubyid_aoi'>aoi</span><span class='lbracket'>[</span><span class='symbol'>:latitude</span><span class='rbracket'>]</span><span class='rparen'>)</span>
652
+ <span class='kw'>elsif</span> <span class='id identifier rubyid_aoi'>aoi</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Array</span><span class='rparen'>)</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_aoi'>aoi</span><span class='period'>.</span><span class='id identifier rubyid_count'>count</span> <span class='op'>==</span> <span class='int'>2</span>
653
+ <span class='id identifier rubyid_query_params'>query_params</span><span class='period'>.</span><span class='id identifier rubyid_merge!'>merge!</span><span class='lparen'>(</span><span class='label'>longitude:</span> <span class='id identifier rubyid_aoi'>aoi</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='label'>latitude:</span> <span class='id identifier rubyid_aoi'>aoi</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span><span class='rparen'>)</span>
654
+ <span class='kw'>else</span>
655
+ <span class='id identifier rubyid_raise'>raise</span> <span class='const'>ArgumentError</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Invalid &#39;aoi&#39; parameter</span><span class='tstring_end'>&quot;</span></span>
656
+ <span class='kw'>end</span>
657
+ <span class='id identifier rubyid_query_params'>query_params</span><span class='lbracket'>[</span><span class='symbol'>:radius</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_radius'>radius</span> <span class='op'>||</span> <span class='int'>20</span>
658
+ <span class='kw'>end</span>
659
+
660
+ <span class='id identifier rubyid_fetch_paginated_data'>fetch_paginated_data</span><span class='lparen'>(</span>
661
+ <span class='label'>endpoint:</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>/climatedata/climatestations/</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span>
662
+ <span class='label'>query:</span> <span class='id identifier rubyid_query_params'>query_params</span>
663
+ <span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_data'>data</span><span class='op'>|</span> <span class='const'><span class='object_link'><a href="Parser.html" title="Cdss::Parser (class)">Parser</a></span></span><span class='period'>.</span><span class='id identifier rubyid_parse_climate_stations'><span class='object_link'><a href="Parser.html#parse_climate_stations-class_method" title="Cdss::Parser.parse_climate_stations (method)">parse_climate_stations</a></span></span><span class='lparen'>(</span><span class='id identifier rubyid_data'>data</span><span class='rparen'>)</span> <span class='rbrace'>}</span>
664
+ <span class='kw'>end</span></pre>
665
+ </td>
666
+ </tr>
667
+ </table>
668
+ </div>
669
+
670
+ <div class="method_details ">
671
+ <h3 class="signature " id="get_climate_ts-instance_method">
672
+
673
+ #<strong>get_climate_ts</strong>(station_number: nil, site_id: nil, param: nil, start_date: nil, end_date: nil, timescale: &quot;day&quot;) &#x21d2; <tt>Array&lt;Reading&gt;</tt>
674
+
675
+
676
+
677
+
678
+
679
+ </h3><div class="docstring">
680
+ <div class="discussion">
681
+
682
+ <p>Fetches climate time series data for specified stations.</p>
683
+
684
+
685
+ </div>
686
+ </div>
687
+ <div class="tags">
688
+ <p class="tag_title">Parameters:</p>
689
+ <ul class="param">
690
+
691
+ <li>
692
+
693
+ <span class='name'>station_number</span>
694
+
695
+
696
+ <span class='type'>(<tt>String</tt>, <tt>nil</tt>)</span>
697
+
698
+
699
+ <em class="default">(defaults to: <tt>nil</tt>)</em>
700
+
701
+
702
+ &mdash;
703
+ <div class='inline'>
704
+ <p>Station number</p>
705
+ </div>
706
+
707
+ </li>
708
+
709
+ <li>
710
+
711
+ <span class='name'>site_id</span>
712
+
713
+
714
+ <span class='type'>(<tt>String</tt>, <tt>nil</tt>)</span>
715
+
716
+
717
+ <em class="default">(defaults to: <tt>nil</tt>)</em>
718
+
719
+
720
+ &mdash;
721
+ <div class='inline'>
722
+ <p>Site ID</p>
723
+ </div>
724
+
725
+ </li>
726
+
727
+ <li>
728
+
729
+ <span class='name'>param</span>
730
+
731
+
732
+ <span class='type'>(<tt>String</tt>)</span>
733
+
734
+
735
+ <em class="default">(defaults to: <tt>nil</tt>)</em>
736
+
737
+
738
+ &mdash;
739
+ <div class='inline'>
740
+ <p>Climate parameter to retrieve (Evap, FrostDate, MaxTemp, etc.)</p>
741
+ </div>
742
+
743
+ </li>
744
+
745
+ <li>
746
+
747
+ <span class='name'>start_date</span>
748
+
749
+
750
+ <span class='type'>(<tt>Date</tt>, <tt>nil</tt>)</span>
751
+
752
+
753
+ <em class="default">(defaults to: <tt>nil</tt>)</em>
754
+
755
+
756
+ &mdash;
757
+ <div class='inline'>
758
+ <p>Start date for time series data</p>
759
+ </div>
760
+
761
+ </li>
762
+
763
+ <li>
764
+
765
+ <span class='name'>end_date</span>
766
+
767
+
768
+ <span class='type'>(<tt>Date</tt>, <tt>nil</tt>)</span>
769
+
770
+
771
+ <em class="default">(defaults to: <tt>nil</tt>)</em>
772
+
773
+
774
+ &mdash;
775
+ <div class='inline'>
776
+ <p>End date for time series data</p>
777
+ </div>
778
+
779
+ </li>
780
+
781
+ <li>
782
+
783
+ <span class='name'>timescale</span>
784
+
785
+
786
+ <span class='type'>(<tt>String</tt>)</span>
787
+
788
+
789
+ <em class="default">(defaults to: <tt>&quot;day&quot;</tt>)</em>
790
+
791
+
792
+ &mdash;
793
+ <div class='inline'>
794
+ <p>Time interval for data aggregation (‘day’ or ‘month’). Defaults to ‘day’</p>
795
+ </div>
796
+
797
+ </li>
798
+
799
+ </ul>
800
+
801
+ <p class="tag_title">Returns:</p>
802
+ <ul class="return">
803
+
804
+ <li>
805
+
806
+
807
+ <span class='type'>(<tt>Array&lt;Reading&gt;</tt>)</span>
808
+
809
+
810
+
811
+ &mdash;
812
+ <div class='inline'>
813
+ <p>Array of time series reading objects</p>
814
+ </div>
815
+
816
+ </li>
817
+
818
+ </ul>
819
+ <p class="tag_title">Raises:</p>
820
+ <ul class="raise">
821
+
822
+ <li>
823
+
824
+
825
+ <span class='type'>(<tt>ArgumentError</tt>)</span>
826
+
827
+
828
+
829
+ &mdash;
830
+ <div class='inline'>
831
+ <p>If an invalid parameter or timescale is provided</p>
832
+ </div>
833
+
834
+ </li>
835
+
836
+ </ul>
837
+
838
+ </div><table class="source_code">
839
+ <tr>
840
+ <td>
841
+ <pre class="lines">
842
+
843
+
844
+ 135
845
+ 136
846
+ 137
847
+ 138
848
+ 139
849
+ 140
850
+ 141
851
+ 142
852
+ 143
853
+ 144
854
+ 145
855
+ 146
856
+ 147
857
+ 148
858
+ 149
859
+ 150
860
+ 151
861
+ 152
862
+ 153</pre>
863
+ </td>
864
+ <td>
865
+ <pre class="code"><span class="info file"># File 'lib/cdss/climate.rb', line 135</span>
866
+
867
+ <span class='kw'>def</span> <span class='id identifier rubyid_get_climate_ts'>get_climate_ts</span><span class='lparen'>(</span><span class='label'>station_number:</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='label'>site_id:</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='label'>param:</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='label'>start_date:</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='label'>end_date:</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='label'>timescale:</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>day</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
868
+ <span class='id identifier rubyid_valid_params'>valid_params</span> <span class='op'>=</span> <span class='qwords_beg'>%w[</span><span class='tstring_content'>Evap</span><span class='words_sep'> </span><span class='tstring_content'>FrostDate</span><span class='words_sep'> </span><span class='tstring_content'>MaxTemp</span><span class='words_sep'> </span><span class='tstring_content'>MeanTemp</span><span class='words_sep'> </span><span class='tstring_content'>MinTemp</span><span class='words_sep'> </span><span class='tstring_content'>Precip</span><span class='words_sep'> </span><span class='tstring_content'>Snow</span><span class='words_sep'> </span><span class='tstring_content'>SnowDepth</span><span class='words_sep'> </span><span class='tstring_content'>SnowSWE</span><span class='words_sep'> </span><span class='tstring_content'>Solar</span><span class='words_sep'> </span><span class='tstring_content'>VP</span><span class='words_sep'> </span><span class='tstring_content'>Wind</span><span class='tstring_end'>]</span></span>
869
+ <span class='id identifier rubyid_raise'>raise</span> <span class='const'>ArgumentError</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Invalid parameter: &#39;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_param'>param</span><span class='embexpr_end'>}</span><span class='tstring_content'>&#39;. Valid values are: </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_valid_params'>valid_params</span><span class='period'>.</span><span class='id identifier rubyid_join'>join</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>, </span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>unless</span> <span class='id identifier rubyid_valid_params'>valid_params</span><span class='period'>.</span><span class='id identifier rubyid_include?'>include?</span><span class='lparen'>(</span><span class='id identifier rubyid_param'>param</span><span class='rparen'>)</span>
870
+
871
+ <span class='id identifier rubyid_day_formats'>day_formats</span> <span class='op'>=</span> <span class='qwords_beg'>%w[</span><span class='tstring_content'>day</span><span class='words_sep'> </span><span class='tstring_content'>days</span><span class='words_sep'> </span><span class='tstring_content'>daily</span><span class='words_sep'> </span><span class='tstring_content'>d</span><span class='tstring_end'>]</span></span>
872
+ <span class='id identifier rubyid_month_formats'>month_formats</span> <span class='op'>=</span> <span class='qwords_beg'>%w[</span><span class='tstring_content'>month</span><span class='words_sep'> </span><span class='tstring_content'>months</span><span class='words_sep'> </span><span class='tstring_content'>monthly</span><span class='words_sep'> </span><span class='tstring_content'>mon</span><span class='words_sep'> </span><span class='tstring_content'>m</span><span class='tstring_end'>]</span></span>
873
+ <span class='id identifier rubyid_timescale'>timescale</span> <span class='op'>=</span> <span class='id identifier rubyid_timescale'>timescale</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='period'>.</span><span class='id identifier rubyid_downcase'>downcase</span>
874
+
875
+ <span class='kw'>case</span> <span class='id identifier rubyid_timescale'>timescale</span>
876
+ <span class='kw'>when</span> <span class='op'>*</span><span class='id identifier rubyid_day_formats'>day_formats</span>
877
+ <span class='id identifier rubyid_get_climate_ts_day'>get_climate_ts_day</span><span class='lparen'>(</span><span class='label'>station_number:</span> <span class='id identifier rubyid_station_number'>station_number</span><span class='comma'>,</span> <span class='label'>site_id:</span> <span class='id identifier rubyid_site_id'>site_id</span><span class='comma'>,</span> <span class='label'>param:</span> <span class='id identifier rubyid_param'>param</span><span class='comma'>,</span>
878
+ <span class='label'>start_date:</span> <span class='id identifier rubyid_start_date'>start_date</span><span class='comma'>,</span> <span class='label'>end_date:</span> <span class='id identifier rubyid_end_date'>end_date</span><span class='rparen'>)</span>
879
+ <span class='kw'>when</span> <span class='op'>*</span><span class='id identifier rubyid_month_formats'>month_formats</span>
880
+ <span class='id identifier rubyid_get_climate_ts_month'>get_climate_ts_month</span><span class='lparen'>(</span><span class='label'>station_number:</span> <span class='id identifier rubyid_station_number'>station_number</span><span class='comma'>,</span> <span class='label'>site_id:</span> <span class='id identifier rubyid_site_id'>site_id</span><span class='comma'>,</span> <span class='label'>param:</span> <span class='id identifier rubyid_param'>param</span><span class='comma'>,</span>
881
+ <span class='label'>start_date:</span> <span class='id identifier rubyid_start_date'>start_date</span><span class='comma'>,</span> <span class='label'>end_date:</span> <span class='id identifier rubyid_end_date'>end_date</span><span class='rparen'>)</span>
882
+ <span class='kw'>else</span>
883
+ <span class='id identifier rubyid_raise'>raise</span> <span class='const'>ArgumentError</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Invalid timescale: &#39;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_timescale'>timescale</span><span class='embexpr_end'>}</span><span class='tstring_content'>&#39;. Use &#39;day&#39; or &#39;month&#39;.</span><span class='tstring_end'>&quot;</span></span>
884
+ <span class='kw'>end</span>
885
+ <span class='kw'>end</span></pre>
886
+ </td>
887
+ </tr>
888
+ </table>
889
+ </div>
890
+
891
+ <div class="method_details ">
892
+ <h3 class="signature " id="get_climate_ts_day-instance_method">
893
+
894
+ #<strong>get_climate_ts_day</strong>(param:, station_number: nil, site_id: nil, start_date: nil, end_date: nil) &#x21d2; <tt>Array&lt;Reading&gt;</tt>
895
+
896
+
897
+
898
+
899
+
900
+ </h3><div class="docstring">
901
+ <div class="discussion">
902
+
903
+ <p>Fetches daily climate time series data.</p>
904
+
905
+
906
+ </div>
907
+ </div>
908
+ <div class="tags">
909
+ <p class="tag_title">Parameters:</p>
910
+ <ul class="param">
911
+
912
+ <li>
913
+
914
+ <span class='name'>param</span>
915
+
916
+
917
+ <span class='type'>(<tt>String</tt>)</span>
918
+
919
+
920
+
921
+ &mdash;
922
+ <div class='inline'>
923
+ <p>Climate parameter type to retrieve</p>
924
+ </div>
925
+
926
+ </li>
927
+
928
+ <li>
929
+
930
+ <span class='name'>station_number</span>
931
+
932
+
933
+ <span class='type'>(<tt>String</tt>, <tt>nil</tt>)</span>
934
+
935
+
936
+ <em class="default">(defaults to: <tt>nil</tt>)</em>
937
+
938
+
939
+ &mdash;
940
+ <div class='inline'>
941
+ <p>Station number</p>
942
+ </div>
943
+
944
+ </li>
945
+
946
+ <li>
947
+
948
+ <span class='name'>site_id</span>
949
+
950
+
951
+ <span class='type'>(<tt>String</tt>, <tt>nil</tt>)</span>
952
+
953
+
954
+ <em class="default">(defaults to: <tt>nil</tt>)</em>
955
+
956
+
957
+ &mdash;
958
+ <div class='inline'>
959
+ <p>Site ID</p>
960
+ </div>
961
+
962
+ </li>
963
+
964
+ <li>
965
+
966
+ <span class='name'>start_date</span>
967
+
968
+
969
+ <span class='type'>(<tt>Date</tt>, <tt>nil</tt>)</span>
970
+
971
+
972
+ <em class="default">(defaults to: <tt>nil</tt>)</em>
973
+
974
+
975
+ &mdash;
976
+ <div class='inline'>
977
+ <p>Start date for time series data</p>
978
+ </div>
979
+
980
+ </li>
981
+
982
+ <li>
983
+
984
+ <span class='name'>end_date</span>
985
+
986
+
987
+ <span class='type'>(<tt>Date</tt>, <tt>nil</tt>)</span>
988
+
989
+
990
+ <em class="default">(defaults to: <tt>nil</tt>)</em>
991
+
992
+
993
+ &mdash;
994
+ <div class='inline'>
995
+ <p>End date for time series data</p>
996
+ </div>
997
+
998
+ </li>
999
+
1000
+ </ul>
1001
+
1002
+ <p class="tag_title">Returns:</p>
1003
+ <ul class="return">
1004
+
1005
+ <li>
1006
+
1007
+
1008
+ <span class='type'>(<tt>Array&lt;Reading&gt;</tt>)</span>
1009
+
1010
+
1011
+
1012
+ &mdash;
1013
+ <div class='inline'>
1014
+ <p>Array of daily climate readings</p>
1015
+ </div>
1016
+
1017
+ </li>
1018
+
1019
+ </ul>
1020
+
1021
+ </div><table class="source_code">
1022
+ <tr>
1023
+ <td>
1024
+ <pre class="lines">
1025
+
1026
+
1027
+ 83
1028
+ 84
1029
+ 85
1030
+ 86
1031
+ 87
1032
+ 88
1033
+ 89
1034
+ 90
1035
+ 91
1036
+ 92
1037
+ 93
1038
+ 94
1039
+ 95
1040
+ 96
1041
+ 97
1042
+ 98</pre>
1043
+ </td>
1044
+ <td>
1045
+ <pre class="code"><span class="info file"># File 'lib/cdss/climate.rb', line 83</span>
1046
+
1047
+ <span class='kw'>def</span> <span class='id identifier rubyid_get_climate_ts_day'>get_climate_ts_day</span><span class='lparen'>(</span><span class='label'>param:</span><span class='comma'>,</span> <span class='label'>station_number:</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='label'>site_id:</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='label'>start_date:</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='label'>end_date:</span> <span class='kw'>nil</span><span class='rparen'>)</span>
1048
+ <span class='id identifier rubyid_query_params'>query_params</span> <span class='op'>=</span> <span class='lbrace'>{</span>
1049
+ <span class='label'>dateFormat:</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>spaceSepToSeconds</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span>
1050
+ <span class='label'>measType:</span> <span class='id identifier rubyid_param'>param</span><span class='comma'>,</span>
1051
+ <span class='label'>stationNum:</span> <span class='id identifier rubyid_station_number'>station_number</span><span class='comma'>,</span>
1052
+ <span class='label'>siteId:</span> <span class='id identifier rubyid_site_id'>site_id</span>
1053
+ <span class='rbrace'>}</span>
1054
+
1055
+ <span class='id identifier rubyid_query_params'>query_params</span><span class='lbracket'>[</span><span class='symbol'>:&quot;min-measDate&quot;</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_start_date'>start_date</span><span class='period'>.</span><span class='id identifier rubyid_strftime'>strftime</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>%m-%d-%Y</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id identifier rubyid_start_date'>start_date</span>
1056
+ <span class='id identifier rubyid_query_params'>query_params</span><span class='lbracket'>[</span><span class='symbol'>:&quot;max-measDate&quot;</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_end_date'>end_date</span><span class='period'>.</span><span class='id identifier rubyid_strftime'>strftime</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>%m-%d-%Y</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id identifier rubyid_end_date'>end_date</span>
1057
+
1058
+ <span class='id identifier rubyid_fetch_paginated_data'>fetch_paginated_data</span><span class='lparen'>(</span>
1059
+ <span class='label'>endpoint:</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>/climatedata/climatestationtsday/</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span>
1060
+ <span class='label'>query:</span> <span class='id identifier rubyid_query_params'>query_params</span>
1061
+ <span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_data'>data</span><span class='op'>|</span> <span class='const'><span class='object_link'><a href="Parser.html" title="Cdss::Parser (class)">Parser</a></span></span><span class='period'>.</span><span class='id identifier rubyid_parse_climate_readings'><span class='object_link'><a href="Parser.html#parse_climate_readings-class_method" title="Cdss::Parser.parse_climate_readings (method)">parse_climate_readings</a></span></span><span class='lparen'>(</span><span class='id identifier rubyid_data'>data</span><span class='comma'>,</span> <span class='label'>type:</span> <span class='symbol'>:daily</span><span class='rparen'>)</span> <span class='rbrace'>}</span>
1062
+ <span class='kw'>end</span></pre>
1063
+ </td>
1064
+ </tr>
1065
+ </table>
1066
+ </div>
1067
+
1068
+ <div class="method_details ">
1069
+ <h3 class="signature " id="get_climate_ts_month-instance_method">
1070
+
1071
+ #<strong>get_climate_ts_month</strong>(param:, station_number: nil, site_id: nil, start_date: nil, end_date: nil) &#x21d2; <tt>Array&lt;Reading&gt;</tt>
1072
+
1073
+
1074
+
1075
+
1076
+
1077
+ </h3><div class="docstring">
1078
+ <div class="discussion">
1079
+
1080
+ <p>Fetches monthly climate time series data.</p>
1081
+
1082
+
1083
+ </div>
1084
+ </div>
1085
+ <div class="tags">
1086
+ <p class="tag_title">Parameters:</p>
1087
+ <ul class="param">
1088
+
1089
+ <li>
1090
+
1091
+ <span class='name'>param</span>
1092
+
1093
+
1094
+ <span class='type'>(<tt>String</tt>)</span>
1095
+
1096
+
1097
+
1098
+ &mdash;
1099
+ <div class='inline'>
1100
+ <p>Climate parameter type to retrieve</p>
1101
+ </div>
1102
+
1103
+ </li>
1104
+
1105
+ <li>
1106
+
1107
+ <span class='name'>station_number</span>
1108
+
1109
+
1110
+ <span class='type'>(<tt>String</tt>, <tt>nil</tt>)</span>
1111
+
1112
+
1113
+ <em class="default">(defaults to: <tt>nil</tt>)</em>
1114
+
1115
+
1116
+ &mdash;
1117
+ <div class='inline'>
1118
+ <p>Station number</p>
1119
+ </div>
1120
+
1121
+ </li>
1122
+
1123
+ <li>
1124
+
1125
+ <span class='name'>site_id</span>
1126
+
1127
+
1128
+ <span class='type'>(<tt>String</tt>, <tt>nil</tt>)</span>
1129
+
1130
+
1131
+ <em class="default">(defaults to: <tt>nil</tt>)</em>
1132
+
1133
+
1134
+ &mdash;
1135
+ <div class='inline'>
1136
+ <p>Site ID</p>
1137
+ </div>
1138
+
1139
+ </li>
1140
+
1141
+ <li>
1142
+
1143
+ <span class='name'>start_date</span>
1144
+
1145
+
1146
+ <span class='type'>(<tt>Date</tt>, <tt>nil</tt>)</span>
1147
+
1148
+
1149
+ <em class="default">(defaults to: <tt>nil</tt>)</em>
1150
+
1151
+
1152
+ &mdash;
1153
+ <div class='inline'>
1154
+ <p>Start date for time series data</p>
1155
+ </div>
1156
+
1157
+ </li>
1158
+
1159
+ <li>
1160
+
1161
+ <span class='name'>end_date</span>
1162
+
1163
+
1164
+ <span class='type'>(<tt>Date</tt>, <tt>nil</tt>)</span>
1165
+
1166
+
1167
+ <em class="default">(defaults to: <tt>nil</tt>)</em>
1168
+
1169
+
1170
+ &mdash;
1171
+ <div class='inline'>
1172
+ <p>End date for time series data</p>
1173
+ </div>
1174
+
1175
+ </li>
1176
+
1177
+ </ul>
1178
+
1179
+ <p class="tag_title">Returns:</p>
1180
+ <ul class="return">
1181
+
1182
+ <li>
1183
+
1184
+
1185
+ <span class='type'>(<tt>Array&lt;Reading&gt;</tt>)</span>
1186
+
1187
+
1188
+
1189
+ &mdash;
1190
+ <div class='inline'>
1191
+ <p>Array of monthly climate readings</p>
1192
+ </div>
1193
+
1194
+ </li>
1195
+
1196
+ </ul>
1197
+
1198
+ </div><table class="source_code">
1199
+ <tr>
1200
+ <td>
1201
+ <pre class="lines">
1202
+
1203
+
1204
+ 108
1205
+ 109
1206
+ 110
1207
+ 111
1208
+ 112
1209
+ 113
1210
+ 114
1211
+ 115
1212
+ 116
1213
+ 117
1214
+ 118
1215
+ 119
1216
+ 120
1217
+ 121
1218
+ 122
1219
+ 123</pre>
1220
+ </td>
1221
+ <td>
1222
+ <pre class="code"><span class="info file"># File 'lib/cdss/climate.rb', line 108</span>
1223
+
1224
+ <span class='kw'>def</span> <span class='id identifier rubyid_get_climate_ts_month'>get_climate_ts_month</span><span class='lparen'>(</span><span class='label'>param:</span><span class='comma'>,</span> <span class='label'>station_number:</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='label'>site_id:</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='label'>start_date:</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='label'>end_date:</span> <span class='kw'>nil</span><span class='rparen'>)</span>
1225
+ <span class='id identifier rubyid_query_params'>query_params</span> <span class='op'>=</span> <span class='lbrace'>{</span>
1226
+ <span class='label'>dateFormat:</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>spaceSepToSeconds</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span>
1227
+ <span class='label'>measType:</span> <span class='id identifier rubyid_param'>param</span><span class='comma'>,</span>
1228
+ <span class='label'>stationNum:</span> <span class='id identifier rubyid_station_number'>station_number</span><span class='comma'>,</span>
1229
+ <span class='label'>siteId:</span> <span class='id identifier rubyid_site_id'>site_id</span>
1230
+ <span class='rbrace'>}</span>
1231
+
1232
+ <span class='id identifier rubyid_query_params'>query_params</span><span class='lbracket'>[</span><span class='symbol'>:&quot;min-calYear&quot;</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_start_date'>start_date</span><span class='period'>.</span><span class='id identifier rubyid_strftime'>strftime</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>%Y</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id identifier rubyid_start_date'>start_date</span>
1233
+ <span class='id identifier rubyid_query_params'>query_params</span><span class='lbracket'>[</span><span class='symbol'>:&quot;max-calYear&quot;</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_end_date'>end_date</span><span class='period'>.</span><span class='id identifier rubyid_strftime'>strftime</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>%Y</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id identifier rubyid_end_date'>end_date</span>
1234
+
1235
+ <span class='id identifier rubyid_fetch_paginated_data'>fetch_paginated_data</span><span class='lparen'>(</span>
1236
+ <span class='label'>endpoint:</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>/climatedata/climatestationtsmonth/</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span>
1237
+ <span class='label'>query:</span> <span class='id identifier rubyid_query_params'>query_params</span>
1238
+ <span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_data'>data</span><span class='op'>|</span> <span class='const'><span class='object_link'><a href="Parser.html" title="Cdss::Parser (class)">Parser</a></span></span><span class='period'>.</span><span class='id identifier rubyid_parse_climate_readings'><span class='object_link'><a href="Parser.html#parse_climate_readings-class_method" title="Cdss::Parser.parse_climate_readings (method)">parse_climate_readings</a></span></span><span class='lparen'>(</span><span class='id identifier rubyid_data'>data</span><span class='comma'>,</span> <span class='label'>type:</span> <span class='symbol'>:monthly</span><span class='rparen'>)</span> <span class='rbrace'>}</span>
1239
+ <span class='kw'>end</span></pre>
1240
+ </td>
1241
+ </tr>
1242
+ </table>
1243
+ </div>
1244
+
1245
+ </div>
1246
+
1247
+ </div>
1248
+
1249
+ <div id="footer">
1250
+ Generated on Thu Feb 20 21:19:08 2025 by
1251
+ <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
1252
+ 0.9.37 (ruby-3.2.2).
1253
+ </div>
1254
+
1255
+ </div>
1256
+ </body>
1257
+ </html>