Skip to content

Commit 8d7db2a

Browse files
authored
Merge pull request #371 from msherman32/rede/8601-indonesia-dataset
REDE - 8601 - Adding the Indonesia WTK Dataset Documentation #370
2 parents 0b6f6dd + a0ccc38 commit 8d7db2a

File tree

1 file changed

+312
-0
lines changed

1 file changed

+312
-0
lines changed
Lines changed: 312 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,312 @@
1+
---
2+
title: "Indonesia Wind Data (Bias Corrected)"
3+
summary: "The Indonesia wind resource data set is a bias corrected subset of NREL's Southeast Asia Wind Data. The data provide a serially complete collection of gridded timeseries variables for modeling wind power production. The data set includes wind speed and direction, and temperature at 10m, 40m, 80m, 100m, 120m, 160m, and 200m above the surface and air pressure at the surface, 100m, and 200m above the surface for the years 2007 to 2021. The gridded spatial resolution is 2km and temporal resolution is 15-minute."
4+
detail: "The Indonesia wind resource data set is a bias corrected subset of NREL's Southeast Asia Wind Data. The original data set was produced using a hybrid approach with the Weather Research and Forecasting (WRF) model and NREL's Super Resolution for Renewable Resource (Sup3r) machine learning model. The data provide a serially complete collection of gridded timeseries variables for modeling wind power production. The data set includes wind speed and direction, and temperature at 10m, 40m, 80m, 100m, 120m, 160m, and 200m above the surface and air pressure at the surface, 100m, and 200m above the surface for the years 2007 to 2021. The gridded spatial resolution is 2km and the temporal resolution is 15-minute. Bias correction of the original Southeast Asia Wind Data applied a single scale factor of 1.08 (i.e., correction of an average 8% negative bias). The scale factor was determined using 24 meteorological tower anemometer measurements across Indonesia. Measurements ranged from 60m to 100m height above surface."
5+
url: /api/wind-toolkit/v2/wind/wtk-indonesia-v1-0-0-download
6+
---
7+
8+
# <%= current_page.data.title %> <span class="url">(<%= current_page.data.url %>)</span>
9+
<%= current_page.data.summary %>
10+
11+
<%= current_page.data.detail %>
12+
13+
<ul id="toc"></ul>
14+
15+
## Request URL
16+
17+
<pre>GET|POST <%= current_page.data.url %><em>.format?parameters</em></pre>
18+
19+
## Request Parameters
20+
_NOTE: when using POST to submit a request the api_key must still be included as a query parameter in the url. All other parameters may be included in a POST request as part of the payload._
21+
22+
<table border="0" cellpadding="0" cellspacing="0" class="doc-parameters">
23+
<thead>
24+
<tr>
25+
<th class="doc-parameters-name" scope="col">Parameter</th>
26+
<th class="doc-parameters-required" scope="col">Required</th>
27+
<th class="doc-parameters-value" scope="col">Value</th>
28+
<th class="doc-parameters-description" scope="col">Description</th>
29+
</tr>
30+
</thead>
31+
<tbody>
32+
<tr>
33+
<th class="doc-parameter-name" scope="row">api_key</th>
34+
<td class="doc-parameter-required">Yes</td>
35+
<td class="doc-parameter-value">
36+
<div class="doc-parameter-value-field"><strong>Type:</strong> string</div>
37+
<div class="doc-parameter-value-field"><strong>Default:</strong> None</div>
38+
</td>
39+
<td class="doc-parameter-description">
40+
<p>Your developer API key. See <a href="/docs/api-key/">API keys</a> for more information.</p>
41+
</td>
42+
</tr>
43+
<tr>
44+
<th class="doc-parameter-name" scope="row">wkt</th>
45+
<td class="doc-parameter-required">Yes</td>
46+
<td class="doc-parameter-value">
47+
<div class="doc-parameter-value-field"><strong>Type:</strong> well-known text string</div>
48+
<div class="doc-parameter-value-field"><strong>Default:</strong> None</div>
49+
</td>
50+
<td class="doc-parameter-description">
51+
A well-known text (WKT) representation of the geometry for which to extract data. May be a point, multipoint, or polygon geometry. When a point is passed the site nearest to that point is used. When a multipoint is passed the site nearest each point is used. This can be useful for downloading multiple sites in a single request when those sites are geographically distant from each other. When a polygon is passed all sites that intersect with the given polygon are used.
52+
</td>
53+
</tr>
54+
<tr>
55+
<th class="doc-parameter-name" scope="row">attributes</th>
56+
<td class="doc-parameter-required">No</td>
57+
<td class="doc-parameter-value">
58+
<div class="doc-parameter-value-field"><strong>Type:</strong> comma delimited string array</div>
59+
<div class="doc-parameter-value-field"><strong>Default:</strong> Returns ALL</div>
60+
<div class="doc-parameter-value-field"><strong>Options:</strong> <em>pressure_0m, pressure_100m, pressure_200m, temperature_100m, temperature_10m, temperature_120m, temperature_160m, temperature_200m, temperature_40m, temperature_80m, winddirection_100m, winddirection_10m, winddirection_120m, winddirection_160m, winddirection_200m, winddirection_40m, winddirection_80m, windspeed_100m, windspeed_10m, windspeed_120m, windspeed_160m, windspeed_200m, windspeed_40m, windspeed_80m.</em></div>
61+
</td>
62+
<td class="doc-parameter-description">
63+
Each specified attribute(*) will be returned as a column in the resultant CSV download.
64+
</td>
65+
</tr>
66+
<tr>
67+
<th class="doc-parameter-name" scope="row">names</th>
68+
<td class="doc-parameter-required">Yes</td>
69+
<td class="doc-parameter-value">
70+
<div class="doc-parameter-value-field"><strong>Type:</strong> comma delimited string array</div>
71+
<div class="doc-parameter-value-field"><strong>Default:</strong> None</div>
72+
<div class="doc-parameter-value-field"><strong>Options:</strong> <em>2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021</em>.</div>
73+
</td>
74+
<td class="doc-parameter-description">The year(s) for which data should be extracted.</td>
75+
</tr>
76+
<tr>
77+
<th class="doc-parameter-name" scope="row">utc</th>
78+
<td class="doc-parameter-required">No</td>
79+
<td class="doc-parameter-value">
80+
<div class="doc-parameter-value-field"><strong>Type:</strong> true or false</div>
81+
<div class="doc-parameter-value-field"><strong>Default:</strong> true</div>
82+
</td>
83+
<td class="doc-parameter-description">
84+
Pass true to retrieve data with timestamps in UTC. Pass false to retrieve data with timestamps converted to local time of data point (without daylight savings time).
85+
</td>
86+
</tr>
87+
<tr>
88+
<th class="doc-parameter-name" scope="row">leap_day</th>
89+
<td class="doc-parameter-required">No</td>
90+
<td class="doc-parameter-value">
91+
<div class="doc-parameter-value-field"><strong>Type:</strong> true or false</div>
92+
<div class="doc-parameter-value-field"><strong>Default:</strong> false</div>
93+
</td>
94+
<td class="doc-parameter-description">
95+
Pass true to retrieve data including leap day (where appropriate). Pass false to retrieve data excluding leap day.
96+
</td>
97+
</tr>
98+
<tr>
99+
<th class="doc-parameter-name" scope="row">interval</th>
100+
<td class="doc-parameter-required">Yes</td>
101+
<td class="doc-parameter-value">
102+
<div class="doc-parameter-value-field"><strong>Type:</strong>15, 30, 60</div>
103+
<div class="doc-parameter-value-field"><strong>Default:</strong> None</div>
104+
</td>
105+
<td class="doc-parameter-description">
106+
This value determines data resolution. Either 15, 30, 60 minute intervals are available.
107+
</td>
108+
</tr>
109+
<tr>
110+
<th class="doc-parameter-name" scope="row">full_name</th>
111+
<td class="doc-parameter-required">No</td>
112+
<td class="doc-parameter-value">
113+
<div class="doc-parameter-value-field"><strong>Type:</strong> string</div>
114+
<div class="doc-parameter-value-field"><strong>Default:</strong> None</div>
115+
</td>
116+
<td class="doc-parameter-description">The full name of the user requesting data.</td>
117+
</tr>
118+
<tr>
119+
<th class="doc-parameter-name" scope="row">email</th>
120+
<td class="doc-parameter-required">Yes</td>
121+
<td class="doc-parameter-value">
122+
<div class="doc-parameter-value-field"><strong>Type:</strong> email string</div>
123+
<div class="doc-parameter-value-field"><strong>Default:</strong> None</div>
124+
</td>
125+
<td class="doc-parameter-description">
126+
An active email for the user requesting data. This email will be used to deliver the extracted data.
127+
</td>
128+
</tr>
129+
<tr>
130+
<th class="doc-parameter-name" scope="row">affiliation</th>
131+
<td class="doc-parameter-required">No</td>
132+
<td class="doc-parameter-value">
133+
<div class="doc-parameter-value-field"><strong>Type:</strong> string</div>
134+
<div class="doc-parameter-value-field"><strong>Default:</strong> None</div>
135+
</td>
136+
<td class="doc-parameter-description">
137+
The organization with which the user requesting the data is affiliated.
138+
</td>
139+
</tr>
140+
<tr>
141+
<th class="doc-parameter-name" scope="row">reason</th>
142+
<td class="doc-parameter-required">No</td>
143+
<td class="doc-parameter-value">
144+
<div class="doc-parameter-value-field"><strong>Type:</strong> string</div>
145+
<div class="doc-parameter-value-field"><strong>Default:</strong> None</div>
146+
</td>
147+
<td class="doc-parameter-description">The reason that the user is requesting the data.</td>
148+
</tr>
149+
<tr>
150+
<th class="doc-parameter-name" scope="row">mailing_list</th>
151+
<td class="doc-parameter-required">No</td>
152+
<td class="doc-parameter-value">
153+
<div class="doc-parameter-value-field"><strong>Type:</strong> true or false</div>
154+
<div class="doc-parameter-value-field"><strong>Default:</strong> false</div>
155+
</td>
156+
<td class="doc-parameter-description">
157+
Pass true to add the email address to our list of recipients for the NSRDB mailing list.
158+
</td>
159+
</tr>
160+
</tbody>
161+
</table>
162+
163+
## Response Fields
164+
165+
The response is composed of service-related informational fields and the results of the data query.
166+
167+
<table border="0" cellpadding="0" cellspacing="0" class="doc-parameters">
168+
<thead>
169+
<tr>
170+
<th class="doc-parameters-name" scope="col">Field</th>
171+
<th class="doc-parameters-value" scope="col">Value</th>
172+
<th class="doc-parameters-description" scope="col">Description</th>
173+
</tr>
174+
</thead>
175+
<tbody>
176+
<tr>
177+
<th class="doc-parameter-name" scope="row">errors</th>
178+
<td class="doc-parameter-value">
179+
<div class="doc-parameter-value-field"><strong>Type:</strong> string array</div>
180+
</td>
181+
<td class="doc-parameter-description">
182+
<p>A list of error messages</p>
183+
</td>
184+
</tr>
185+
<tr>
186+
<th class="doc-parameter-name" scope="row">inputs</th>
187+
<td class="doc-parameter-value">
188+
<div class="doc-parameter-value-field"><strong>Type:</strong> Object Hash</div>
189+
</td>
190+
<td class="doc-parameter-description">Key: Value pairs representing all input parameters</td>
191+
</tr>
192+
<tr>
193+
<th class="doc-parameter-name" scope="row">outputs</th>
194+
<td class="doc-parameter-value">
195+
<div class="doc-parameter-value-field"><strong>Type:</strong> Object Hash</div>
196+
</td>
197+
<td class="doc-parameter-description">Upon successful completion a message will be returned informing the user that file generation is in progress and an email will be sent to the address provided in the <code>email</code> input field when the download is ready</td>
198+
</tr>
199+
</tbody>
200+
</table>
201+
202+
## Data File Format
203+
204+
Generated data files are formatted in accordance with the Standard Time Series Data File Format. This file format has been developed to support [SAM](https://sam.nrel.gov/) and other NREL models and is documented fully in [this PDF](https://sam.nrel.gov/sites/default/files/content/documents/pdf/wfcsv.pdf). More information on SAM file formats available on [the SAM weather page](https://sam.nrel.gov/weather).
205+
206+
## Examples
207+
Examples may not reflect this specific dataset.
208+
209+
### JSON Output Format
210+
211+
<div class="doc-example-url"><code>GET <%= current_page.data.url %>.json?wkt=POLYGON((-130.756145509839060 48.75520578942107,-130.75571635639668 48.75520578942107,-130.75571635639668 48.75485477666326,-130.75614550983906 48.75485477666326,-130.75614550983906 48.75520578942107))&attributes=winddirection_180m&names=2017&utc=false&leap_day=true&email=user@company.com</code></div>
212+
213+
```JSON
214+
{
215+
"inputs": {
216+
"query": {
217+
"attributes": "winddirection_180m",
218+
"names": "2017",
219+
"utc": "false",
220+
"leap_day": "true",
221+
"email": "user@company.com",
222+
"wkt": "POLYGON((-130.756145509839060 48.75520578942107,-130.75571635639668 48.75520578942107,-130.75571635639668 48.75485477666326,-130.75614550983906 48.75485477666326,-130.75614550983906 48.75520578942107))"
223+
}
224+
},
225+
"metadata": {
226+
"version": "2.0.0",
227+
"resultset": {
228+
"count": 1
229+
}
230+
},
231+
"status": 200,
232+
"outputs": {
233+
"message": "File generation in progress. An email will be sent to user@company.com when the download is ready.",
234+
"downloadUrl": "https://mapfiles.nrel.gov/data/wind/ebc9bbbc34f91c65ac50707d43176c6c.zip"
235+
},
236+
"errors": []
237+
}
238+
```
239+
240+
### CSV Output Format
241+
Direct streaming of CSV data is supported for single location, single year only. The following response example is truncated after the first few rows of data.
242+
243+
<div class="doc-example-url"><code>GET <%= current_page.data.url %>.csv?wkt=POINT(-179.99 -15.94)&attributes=winddirection_180m&names=2017&utc=false&leap_day=true&email=user@company.com&api_key=DEMO_KEY</code></div>
244+
245+
```csv
246+
SiteID,Site Timezone,Data Timezone,Longitude,Latitude,Country
247+
80,-9,-9,-130.756,48.75498,b'Canada'
248+
Year,Month,Day,Hour,Minute,wind direction at 180m (deg)
249+
2017,1,1,0,0,347.18
250+
2017,1,1,0,5,347.3
251+
2017,1,1,0,10,347.40000000000003
252+
2017,1,1,0,15,347.52
253+
2017,1,1,0,20,347.66
254+
2017,1,1,0,25,347.79
255+
2017,1,1,0,30,348
256+
2017,1,1,0,35,348.18
257+
2017,1,1,0,40,348.35
258+
```
259+
260+
### POST request example in Python
261+
262+
```python
263+
import requests
264+
265+
url = "http://developer.nrel.gov<%= current_page.data.url %>.json?api_key=yourapikeygoeshere"
266+
267+
payload = "api_key={{API_KEY}}&attributes=winddirection_180m&names=2017&utc=true&leap_day=true&interval=60&email=user@company.com&wkt=POINT(-179.99 -15.94)"
268+
269+
headers = {
270+
'content-type': "application/x-www-form-urlencoded",
271+
'cache-control': "no-cache"
272+
}
273+
274+
response = requests.request("POST", url, data=payload, headers=headers)
275+
276+
print(response.text)
277+
```
278+
279+
<h2 id="rate-limits">Rate Limits</h2>
280+
281+
Rate limits for this application are significantly less than the [standard rate limits](/docs/rate-limits){:target="_blank"} for developer.nrel.gov. This decrease in the limit is required as the data provided through this service is significantly more computationally intensive to generate and provide. These rate limits are carefully calculated to allow all users the maximum throughput that our servers can sustain.
282+
283+
There are several levels of rate limiting for this service. The first limit determines how many requests a given user can make per 24 hour period. For requests utilizing the <em>.csv</em> format this rate limit is set at 5000 a day at a frequency of no more than 1 per second. For all other requests this limit is set at 1000 requests per day at a frequency of no more than 1 every 2 seconds.
284+
285+
Secondly each user is limited to 20 in-flight requests at any given time.
286+
287+
In addition, the service has a fail-safe mechanism to prevent significant performance decreases that can be caused by unexpectedly high usage of the service. This limit will cause the service to stop accepting requests when the queue reaches a point where additional requests will significantly lower server performance. When this limit is hit, the service will error with a message describing that the request queue is full.
288+
289+
For some tips and tricks to maximize data downloads please read the guide [here](/docs/wind/wind-toolkit/guide/).
290+
291+
<h2 id="contacts">Contact</h2>
292+
293+
<p>For questions about the API or the data models please contact <a href="mailto:wind-toolkit@nrel.gov">wind-toolkit@nrel.gov</a></p>
294+
295+
<h2 id="errors">Errors</h2>
296+
297+
<p><a href="/docs/errors/">Standard errors</a> may be returned. In addition, the following service-specific errors may be returned:</p>
298+
299+
<table border="0" cellpadding="0" cellspacing="0" class="doc-parameters">
300+
<thead>
301+
<tr>
302+
<th class="doc-parameters-name" scope="col" style="width: 100px;">HTTP Status Code</th>
303+
<th class="doc-parameters-required" scope="col">Description</th>
304+
</tr>
305+
</thead>
306+
<tbody>
307+
<tr>
308+
<th class="doc-parameter-name" scope="row">400</th>
309+
<td class="doc-parameter-description">Bad Request: When required parameters are missing.</td>
310+
</tr>
311+
</tbody>
312+
</table>

0 commit comments

Comments
 (0)