-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindices_8h_source.html
More file actions
267 lines (265 loc) · 31.3 KB
/
indices_8h_source.html
File metadata and controls
267 lines (265 loc) · 31.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Aether: include/indices.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdn.jsdelivr.net/npm/mathjax@2/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Aether
 <span id="projectnumber">0.0</span>
</div>
<div id="projectbrief">Ionosphere-Thermosphere model</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">indices.h</div> </div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">// Copyright 2020, the Aether Development Team (see doc/dev_team.md for members)</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment">// Full license can be found in License.md</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>  </div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="preprocessor">#ifndef INCLUDE_INDICES_H_</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="preprocessor">#define INCLUDE_INDICES_H_</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>  </div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment">/**************************************************************</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * \class Indices</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * \brief A class for keeping track of indices (1d vectors w/time)</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"></span> </div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> This is a class that allows users to read in and keep track of</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> indices, such as IMF Bz, Kp, AE, F107, etc. These are often needed</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> to drive other sub models, such as EUVAC, MSIS, Weimer, etc. Basically,</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> the way you use this is to:</span></div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> - read a file (custom for each type of file)</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> - get the proper index number</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> - call the set_index function with the time and values array</span></div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> - call the appropriate get function with time to get index value at time</span></div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"></span> </div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> * \author Aaron Ridley</span></div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * \date 2021/04/16 </span></div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> **************************************************************/</span></div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>  </div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="preprocessor">#include <vector></span></div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor">#include <string></span></div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>  </div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>  </div>
<div class="line"><a name="l00033"></a><span class="lineno"><a class="line" href="structindex__file__output__struct.html"> 33</a></span> <span class="keyword">struct </span><a class="code" href="structindex__file__output__struct.html">index_file_output_struct</a> {</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>  </div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>  int64_t <a class="code" href="structindex__file__output__struct.html#a169481fcb271f9db161f02336fe02e19">nTimes</a>;</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>  </div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>  std::vector<double> <a class="code" href="structindex__file__output__struct.html#a14d0d33110b657930a1b45e53f700e30">times</a>;</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>  </div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>  <span class="keywordtype">int</span> <a class="code" href="structindex__file__output__struct.html#af7dfc157cfa8f60af862626aee6811fd">nVars</a>;</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  </div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  std::vector<std::string> <a class="code" href="structindex__file__output__struct.html#a0af5bb97def2aa1226ffcd37138ebce6">var_names</a>;</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  </div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  std::vector<std::vector<float>> <a class="code" href="structindex__file__output__struct.html#a198d86a3b1b80b8e3e906f6697c0fca2">values</a>;</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  </div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  std::vector<float> <a class="code" href="structindex__file__output__struct.html#af739480f6f20b99321b87bd7ec5a5fe0">missing_values</a>;</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  </div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  std::vector<int> <a class="code" href="structindex__file__output__struct.html#a324ff368582d9b39d212c55e037bb231">index_id</a>;</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> };</div>
<div class="line"><a name="l00056"></a><span class="lineno"><a class="line" href="structindex__file__output__struct.html#a14d0d33110b657930a1b45e53f700e30"> 56</a></span>  </div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="comment">/**************************************************************</span></div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="comment"> \brief Print out information in the structure for debugging</span></div>
<div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="structindex__file__output__struct.html#af7dfc157cfa8f60af862626aee6811fd"> 59</a></span> <span class="comment"> \param contents structure containing the index file output</span></div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="comment"> **/</span></div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="keywordtype">void</span> print_index_file_output_struct(<a class="code" href="structindex__file__output__struct.html">index_file_output_struct</a> contents);</div>
<div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="structindex__file__output__struct.html#a0af5bb97def2aa1226ffcd37138ebce6"> 62</a></span>  </div>
<div class="line"><a name="l00063"></a><span class="lineno"><a class="line" href="classIndices.html"> 63</a></span> <span class="keyword">class </span><a class="code" href="classIndices.html">Indices</a> {</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  </div>
<div class="line"><a name="l00065"></a><span class="lineno"><a class="line" href="structindex__file__output__struct.html#a198d86a3b1b80b8e3e906f6697c0fca2"> 65</a></span> <span class="comment">// -----------------------------------------------------------------------</span></div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="comment">// Public functions and variables</span></div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="comment">// -----------------------------------------------------------------------</span></div>
<div class="line"><a name="l00068"></a><span class="lineno"><a class="line" href="structindex__file__output__struct.html#af739480f6f20b99321b87bd7ec5a5fe0"> 68</a></span>  </div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  <span class="keyword">public</span>:</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  </div>
<div class="line"><a name="l00071"></a><span class="lineno"><a class="line" href="structindex__file__output__struct.html#a324ff368582d9b39d212c55e037bb231"> 71</a></span> <span class="comment"> /**************************************************************</span></div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="comment"> \brief Initialize the class</span></div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="comment"> \param args info about how user has configured things</span></div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="comment"> **/</span></div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  <a class="code" href="classIndices.html">Indices</a>(<a class="code" href="classInputs.html">Inputs</a> args);</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  </div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="comment"> /**************************************************************</span></div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="comment"> \brief get the daily f107 value at the given time</span></div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="comment"> \param time time in seconds</span></div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="comment"> **/</span></div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  precision_t get_f107(<span class="keywordtype">double</span> time);</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  </div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="comment"> /**************************************************************</span></div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="comment"> \brief get the 81-day average f107 at the given time</span></div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="comment"> \param time time in seconds</span></div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="comment"> **/</span></div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  precision_t get_f107a(<span class="keywordtype">double</span> time);</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  </div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="comment"> /**************************************************************</span></div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="comment"> \brief a series of functions that return the internal index number</span></div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="comment"></span> </div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="comment"> In order to keep track of which index is which, the class uses </span></div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="comment"> constants. These functions return these constants. The user doesn't</span></div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="comment"> really need to know about the constants, but they have to get the</span></div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="comment"> constant (when reading the file, for example) and then provide that </span></div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="comment"> to the set index function. Conversely, we could create a bunch of</span></div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="comment"> set_ functions (such as the set_f107 function below). We figured</span></div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="comment"> that this minor inconvience is easier than making a bunch of set_</span></div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="comment"> functions.</span></div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="comment"></span> </div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="comment"> **/</span></div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  <span class="keywordtype">int</span> get_f107_index_id();</div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  <span class="keywordtype">int</span> get_f107a_index_id();</div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  <span class="keywordtype">int</span> get_imfbx_index_id();</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  <span class="keywordtype">int</span> get_imfby_index_id();</div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  <span class="keywordtype">int</span> get_imfbz_index_id();</div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  <span class="keywordtype">int</span> get_swvx_index_id();</div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  <span class="keywordtype">int</span> get_swvy_index_id();</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  <span class="keywordtype">int</span> get_swvz_index_id();</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  <span class="keywordtype">int</span> get_swn_index_id();</div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  <span class="keywordtype">int</span> get_swt_index_id();</div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  <span class="keywordtype">int</span> get_ae_index_id();</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  <span class="keywordtype">int</span> get_au_index_id();</div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  <span class="keywordtype">int</span> get_al_index_id();</div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  </div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="comment"> /**************************************************************</span></div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="comment"> \brief This function sets the f107, does an 81 day ave, sets f107a too</span></div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="comment"> \param f107_contents contents from the f107 file (time, f107, etc.)</span></div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="comment"> **/</span></div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  <span class="comment">// This is the method for setting f107 specifically:</span></div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  <span class="keywordtype">void</span> set_f107(<a class="code" href="structindex__file__output__struct.html">index_file_output_struct</a> f107_contents);</div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  </div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="comment"> /**************************************************************</span></div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="comment"> \brief set the index array into the indices class</span></div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="comment"> \param index_id which index is being checked in (bx, by, kp, ae, etc)</span></div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="comment"> \param time vector of time for each index value</span></div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="comment"> \param values vector of values for each index value</span></div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="comment"> \param missing value for missing data</span></div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="comment"> **/</span></div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  <span class="keywordtype">void</span> set_index(<span class="keywordtype">int</span> index_id,</div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  std::vector<double> time,</div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  std::vector<float> values,</div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  precision_t missing);</div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  </div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <span class="comment">// -----------------------------------------------------------------------</span></div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="comment">// Private functions and variables</span></div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="comment">// -----------------------------------------------------------------------</span></div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  </div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="keyword">private</span>:</div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  </div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  <span class="keyword">struct </span>index_time_pair {</div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  </div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  int64_t nValues;</div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  </div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  std::vector<float> values;</div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  </div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  std::vector<double> times;</div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  </div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  std::string name;</div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  };</div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  </div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  std::vector<index_time_pair> all_indices_arrays;</div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  </div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> iF107_ = 0;</div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> iF107A_ = 1;</div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> iIMFBX_ = 2;</div>
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> iIMFBY_ = 3;</div>
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> iIMFBZ_ = 4;</div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> iSWVX_ = 5;</div>
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> iSWVY_ = 6;</div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> iSWVZ_ = 7;</div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> iSWN_ = 8;</div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> iSWT_ = 9;</div>
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> iAE_ = 10;</div>
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> iAL_ = 11;</div>
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> iAU_ = 12;</div>
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>  <span class="keywordtype">int</span> nIndices = 13;</div>
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>  </div>
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> <span class="comment"> /**************************************************************</span></div>
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> <span class="comment"> \brief The general function that returns the index value at the time</span></div>
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> <span class="comment"> \param time the time in seconds that the index is requested at</span></div>
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> <span class="comment"> \param the index to return (i.e., one of the constants defined above)</span></div>
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> <span class="comment"> **/</span></div>
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>  precision_t get_index(<span class="keywordtype">double</span> time, <span class="keywordtype">int</span> index);</div>
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> };</div>
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>  </div>
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>  </div>
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> <span class="preprocessor">#endif // INCLUDE_INDICES_H_</span></div>
</div><!-- fragment --></div><!-- contents -->
<div class="ttc" id="astructindex__file__output__struct_html_af7dfc157cfa8f60af862626aee6811fd"><div class="ttname"><a href="structindex__file__output__struct.html#af7dfc157cfa8f60af862626aee6811fd">index_file_output_struct::nVars</a></div><div class="ttdeci">int nVars</div><div class="ttdoc">number of variables read in:</div><div class="ttdef"><b>Definition:</b> indices.h:59</div></div>
<div class="ttc" id="astructindex__file__output__struct_html"><div class="ttname"><a href="structindex__file__output__struct.html">index_file_output_struct</a></div><div class="ttdef"><b>Definition:</b> indices.h:33</div></div>
<div class="ttc" id="astructindex__file__output__struct_html_a198d86a3b1b80b8e3e906f6697c0fca2"><div class="ttname"><a href="structindex__file__output__struct.html#a198d86a3b1b80b8e3e906f6697c0fca2">index_file_output_struct::values</a></div><div class="ttdeci">std::vector< std::vector< float > > values</div><div class="ttdoc">a 2d vector (vars vs times) of indices values:</div><div class="ttdef"><b>Definition:</b> indices.h:65</div></div>
<div class="ttc" id="aclassInputs_html"><div class="ttname"><a href="classInputs.html">Inputs</a></div><div class="ttdef"><b>Definition:</b> inputs.h:10</div></div>
<div class="ttc" id="astructindex__file__output__struct_html_af739480f6f20b99321b87bd7ec5a5fe0"><div class="ttname"><a href="structindex__file__output__struct.html#af739480f6f20b99321b87bd7ec5a5fe0">index_file_output_struct::missing_values</a></div><div class="ttdeci">std::vector< float > missing_values</div><div class="ttdoc">a vector of missing values for each variable:</div><div class="ttdef"><b>Definition:</b> indices.h:68</div></div>
<div class="ttc" id="astructindex__file__output__struct_html_a0af5bb97def2aa1226ffcd37138ebce6"><div class="ttname"><a href="structindex__file__output__struct.html#a0af5bb97def2aa1226ffcd37138ebce6">index_file_output_struct::var_names</a></div><div class="ttdeci">std::vector< std::string > var_names</div><div class="ttdoc">variable names as a vector of strings:</div><div class="ttdef"><b>Definition:</b> indices.h:62</div></div>
<div class="ttc" id="astructindex__file__output__struct_html_a14d0d33110b657930a1b45e53f700e30"><div class="ttname"><a href="structindex__file__output__struct.html#a14d0d33110b657930a1b45e53f700e30">index_file_output_struct::times</a></div><div class="ttdeci">std::vector< double > times</div><div class="ttdoc">array of times that correspond to the values:</div><div class="ttdef"><b>Definition:</b> indices.h:56</div></div>
<div class="ttc" id="astructindex__file__output__struct_html_a324ff368582d9b39d212c55e037bb231"><div class="ttname"><a href="structindex__file__output__struct.html#a324ff368582d9b39d212c55e037bb231">index_file_output_struct::index_id</a></div><div class="ttdeci">std::vector< int > index_id</div><div class="ttdoc">The index_id returned by the call to get_XXX_index_id:</div><div class="ttdef"><b>Definition:</b> indices.h:71</div></div>
<div class="ttc" id="astructindex__file__output__struct_html_a169481fcb271f9db161f02336fe02e19"><div class="ttname"><a href="structindex__file__output__struct.html#a169481fcb271f9db161f02336fe02e19">index_file_output_struct::nTimes</a></div><div class="ttdeci">int64_t nTimes</div><div class="ttdoc">number of times read in:</div><div class="ttdef"><b>Definition:</b> indices.h:53</div></div>
<div class="ttc" id="aclassIndices_html"><div class="ttname"><a href="classIndices.html">Indices</a></div><div class="ttdef"><b>Definition:</b> indices.h:63</div></div>
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>