GeoTessCPPExamples  2.0
AK135Model.h
Go to the documentation of this file.
1 //- ****************************************************************************
2 //-
3 //- Copyright 2009 Sandia Corporation. Under the terms of Contract
4 //- DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government
5 //- retains certain rights in this software.
6 //-
7 //- BSD Open Source License.
8 //- All rights reserved.
9 //-
10 //- Redistribution and use in source and binary forms, with or without
11 //- modification, are permitted provided that the following conditions are met:
12 //-
13 //- * Redistributions of source code must retain the above copyright notice,
14 //- this list of conditions and the following disclaimer.
15 //- * Redistributions in binary form must reproduce the above copyright
16 //- notice, this list of conditions and the following disclaimer in the
17 //- documentation and/or other materials provided with the distribution.
18 //- * Neither the name of Sandia National Laboratories nor the names of its
19 //- contributors may be used to endorse or promote products derived from
20 //- this software without specific prior written permission.
21 //-
22 //- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
23 //- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
24 //- IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
25 //- ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
26 //- LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
27 //- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
28 //- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
29 //- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
30 //- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
31 //- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
32 //- POSSIBILITY OF SUCH DAMAGE.
33 //-
34 //- ****************************************************************************
35 
36 #ifndef AK135MODEL_H_
37 #define AK135MODEL_H_
38 
39 // **** _SYSTEM INCLUDES_ ******************************************************
40 
41 //#include <cstdio>
42 #include <iostream>
43 #include <string>
44 
45 // use standard library objects
46 using namespace std;
47 
48 // **** _LOCAL INCLUDES_ *******************************************************
49 
50 #include "CPPUtils.h"
51 #include "GeoTessUtils.h"
52 
53 // **** _BEGIN GEOTESS NAMESPACE_ **********************************************
54 
55 namespace geotess {
56 
57 // **** _FORWARD REFERENCES_ ***************************************************
58 
59 // **** _CLASS DEFINITION_ *****************************************************
60 
62 {
63 private:
64 
65  int nLayers;
66  int nRadii[7];
67  float radii[7][50];
68  int nNodes[7];
69  float data[7][50][3];
70 
71 public:
72 
73  /**
74  * Extract from our example earth model (AK135Model) a
75  * single profile of radii and data values through a single layer.
76  * <p>
77  * Note that the number of radii and number of data nodes
78  * are not always the same. Here are the possibilities:
79  * <br>In the crustal layers, there will be two radii and
80  * a single data node, indicating that vp, vs and density
81  * are constants in the profiles through crustal layers.
82  * <br>In the core and mantle, the number of radii and
83  * the number of data nodes will be equal, indicating
84  * that these values vary continuously in each layer
85  * in the radial direction.
86  *
87  * @param lat the latitude of the desired profile in degrees.
88  * @param lon the longitude of the desired profile in degrees.
89  * @param layer the layer of the model
90  * @param r will be populated with a 1D array of radius
91  * values that traverse the specified layer at the specified
92  * lat, lon position.
93  * @param nodeData will be populated with vp, vs, and density
94  * for each node of the profile.
95  */
96  void getLayerProfile(const double& lat, const double& lon, const int& layer,
97  vector<float>& r, vector<vector<float> >& nodeData)
98  {
99  // convert lat, lon in degrees to unit vector.
100  double vertex[3];
101  GeoTessUtils::getVectorDegrees(lat, lon, vertex);
102 
103  // find the radius of the WGS84 ellipsoid at the latitude of vertex.
104  double earthRadius = GeoTessUtils::getEarthRadius(vertex);
105 
106  // find a stretching factor that will stretch the radius values so that they
107  // span the range from zero at the center of the earth to the radius of the
108  // WGS84 ellipsoid at the surface of the Earth. This is not geophysically
109  // realistic, but sufficient for this simplistic example.
110  float stretch = (float)(earthRadius / 6371.);
111 
112  r.resize(nRadii[layer]);
113  for (int i=0; i<nRadii[layer]; ++i)
114  r[i] = radii[layer][i] * stretch;
115 
116  nodeData.resize(nNodes[layer]);
117  for (int i=0; i<nNodes[layer]; ++i)
118  {
119  nodeData[i].resize(3);
120  nodeData[i][0] = data[layer][i][0];
121  nodeData[i][1] = data[layer][i][1];
122  nodeData[i][2] = data[layer][i][2];
123  }
124  }
125 
127  {
128  for (int i=0; i<7; ++i) for (int j=0; j<50; ++j)
129  radii[i][j] = data[i][j][0] = data[i][j][1] = data[i][j][2] = NaN_FLOAT;
130 
131  nLayers = 7;
132  nRadii[0] = 24;
133  radii[0][ 0] = 0.000F;
134  radii[0][ 1] = 50.710F;
135  radii[0][ 2] = 101.430F;
136  radii[0][ 3] = 152.140F;
137  radii[0][ 4] = 202.850F;
138  radii[0][ 5] = 253.560F;
139  radii[0][ 6] = 304.280F;
140  radii[0][ 7] = 354.990F;
141  radii[0][ 8] = 405.700F;
142  radii[0][ 9] = 456.410F;
143  radii[0][10] = 507.130F;
144  radii[0][11] = 557.840F;
145  radii[0][12] = 659.260F;
146  radii[0][13] = 709.980F;
147  radii[0][14] = 760.690F;
148  radii[0][15] = 811.400F;
149  radii[0][16] = 862.110F;
150  radii[0][17] = 912.830F;
151  radii[0][18] = 963.540F;
152  radii[0][19] = 1014.250F;
153  radii[0][20] = 1064.960F;
154  radii[0][21] = 1115.680F;
155  radii[0][22] = 1166.390F;
156  radii[0][23] = 1217.500F;
157  nRadii[1] = 45;
158  radii[1][ 0] = 1217.500F;
159  radii[1][ 1] = 1267.430F;
160  radii[1][ 2] = 1317.760F;
161  radii[1][ 3] = 1368.090F;
162  radii[1][ 4] = 1418.420F;
163  radii[1][ 5] = 1468.760F;
164  radii[1][ 6] = 1519.090F;
165  radii[1][ 7] = 1569.420F;
166  radii[1][ 8] = 1670.080F;
167  radii[1][ 9] = 1720.410F;
168  radii[1][10] = 1770.740F;
169  radii[1][11] = 1821.070F;
170  radii[1][12] = 1871.400F;
171  radii[1][13] = 1921.740F;
172  radii[1][14] = 1972.070F;
173  radii[1][15] = 2022.400F;
174  radii[1][16] = 2072.730F;
175  radii[1][17] = 2123.060F;
176  radii[1][18] = 2173.390F;
177  radii[1][19] = 2223.720F;
178  radii[1][20] = 2274.050F;
179  radii[1][21] = 2324.380F;
180  radii[1][22] = 2374.720F;
181  radii[1][23] = 2425.050F;
182  radii[1][24] = 2475.380F;
183  radii[1][25] = 2525.710F;
184  radii[1][26] = 2576.040F;
185  radii[1][27] = 2626.370F;
186  radii[1][28] = 2676.700F;
187  radii[1][29] = 2727.030F;
188  radii[1][30] = 2777.360F;
189  radii[1][31] = 2827.700F;
190  radii[1][32] = 2878.030F;
191  radii[1][33] = 2928.360F;
192  radii[1][34] = 2978.690F;
193  radii[1][35] = 3029.020F;
194  radii[1][36] = 3079.350F;
195  radii[1][37] = 3129.680F;
196  radii[1][38] = 3180.010F;
197  radii[1][39] = 3230.340F;
198  radii[1][40] = 3280.680F;
199  radii[1][41] = 3331.010F;
200  radii[1][42] = 3381.340F;
201  radii[1][43] = 3431.670F;
202  radii[1][44] = 3479.500F;
203  nRadii[2] = 46;
204  radii[2][ 0] = 3479.500F;
205  radii[2][ 1] = 3531.670F;
206  radii[2][ 2] = 3581.330F;
207  radii[2][ 3] = 3631.000F;
208  radii[2][ 4] = 3681.000F;
209  radii[2][ 5] = 3731.000F;
210  radii[2][ 6] = 3779.500F;
211  radii[2][ 7] = 3829.000F;
212  radii[2][ 8] = 3878.500F;
213  radii[2][ 9] = 3928.000F;
214  radii[2][10] = 3977.500F;
215  radii[2][11] = 4027.000F;
216  radii[2][12] = 4076.500F;
217  radii[2][13] = 4126.000F;
218  radii[2][14] = 4175.500F;
219  radii[2][15] = 4225.000F;
220  radii[2][16] = 4274.500F;
221  radii[2][17] = 4324.000F;
222  radii[2][18] = 4373.500F;
223  radii[2][19] = 4423.000F;
224  radii[2][20] = 4472.500F;
225  radii[2][21] = 4522.000F;
226  radii[2][22] = 4571.500F;
227  radii[2][23] = 4621.000F;
228  radii[2][24] = 4670.500F;
229  radii[2][25] = 4720.000F;
230  radii[2][26] = 4769.500F;
231  radii[2][27] = 4819.000F;
232  radii[2][28] = 4868.500F;
233  radii[2][29] = 4918.000F;
234  radii[2][30] = 4967.500F;
235  radii[2][31] = 5017.000F;
236  radii[2][32] = 5066.500F;
237  radii[2][33] = 5116.000F;
238  radii[2][34] = 5165.500F;
239  radii[2][35] = 5215.000F;
240  radii[2][36] = 5264.500F;
241  radii[2][37] = 5314.000F;
242  radii[2][38] = 5363.500F;
243  radii[2][39] = 5413.000F;
244  radii[2][40] = 5462.500F;
245  radii[2][41] = 5512.000F;
246  radii[2][42] = 5561.500F;
247  radii[2][43] = 5611.000F;
248  radii[2][44] = 5661.000F;
249  radii[2][45] = 5711.000F;
250  nRadii[3] = 6;
251  radii[3][ 0] = 5711.000F;
252  radii[3][ 1] = 5761.000F;
253  radii[3][ 2] = 5811.000F;
254  radii[3][ 3] = 5861.000F;
255  radii[3][ 4] = 5911.000F;
256  radii[3][ 5] = 5961.000F;
257  nRadii[4] = 9;
258  radii[4][ 0] = 5961.000F;
259  radii[4][ 1] = 6011.000F;
260  radii[4][ 2] = 6061.000F;
261  radii[4][ 3] = 6111.000F;
262  radii[4][ 4] = 6161.000F;
263  radii[4][ 5] = 6206.000F;
264  radii[4][ 6] = 6251.000F;
265  radii[4][ 7] = 6293.500F;
266  radii[4][ 8] = 6336.000F;
267  nRadii[5] = 2;
268  radii[5][ 0] = 6336.000F;
269  radii[5][ 1] = 6351.000F;
270  nRadii[6] = 2;
271  radii[6][ 0] = 6351.000F;
272  radii[6][ 1] = 6371.000F;
273 
274  nNodes[0] = 24;
275  data[0][ 0][0] = 11.2622F; data[0][ 0][1] = 3.6678F; data[0][ 0][2] = 13.0122F;
276  data[0][ 1][0] = 11.2618F; data[0][ 1][1] = 3.6675F; data[0][ 1][2] = 13.0117F;
277  data[0][ 2][0] = 11.2606F; data[0][ 2][1] = 3.6667F; data[0][ 2][2] = 13.0100F;
278  data[0][ 3][0] = 11.2586F; data[0][ 3][1] = 3.6653F; data[0][ 3][2] = 13.0074F;
279  data[0][ 4][0] = 11.2557F; data[0][ 4][1] = 3.6633F; data[0][ 4][2] = 13.0036F;
280  data[0][ 5][0] = 11.2521F; data[0][ 5][1] = 3.6608F; data[0][ 5][2] = 12.9988F;
281  data[0][ 6][0] = 11.2477F; data[0][ 6][1] = 3.6577F; data[0][ 6][2] = 12.9929F;
282  data[0][ 7][0] = 11.2424F; data[0][ 7][1] = 3.6540F; data[0][ 7][2] = 12.9859F;
283  data[0][ 8][0] = 11.2364F; data[0][ 8][1] = 3.6498F; data[0][ 8][2] = 12.9779F;
284  data[0][ 9][0] = 11.2295F; data[0][ 9][1] = 3.6450F; data[0][ 9][2] = 12.9688F;
285  data[0][10][0] = 11.2219F; data[0][10][1] = 3.6396F; data[0][10][2] = 12.9586F;
286  data[0][11][0] = 11.2134F; data[0][11][1] = 3.6337F; data[0][11][2] = 12.9474F;
287  data[0][12][0] = 11.1941F; data[0][12][1] = 3.6202F; data[0][12][2] = 12.9217F;
288  data[0][13][0] = 11.1832F; data[0][13][1] = 3.6126F; data[0][13][2] = 12.9072F;
289  data[0][14][0] = 11.1715F; data[0][14][1] = 3.6044F; data[0][14][2] = 12.8917F;
290  data[0][15][0] = 11.1590F; data[0][15][1] = 3.5957F; data[0][15][2] = 12.8751F;
291  data[0][16][0] = 11.1457F; data[0][16][1] = 3.5864F; data[0][16][2] = 12.8574F;
292  data[0][17][0] = 11.1316F; data[0][17][1] = 3.5765F; data[0][17][2] = 12.8387F;
293  data[0][18][0] = 11.1166F; data[0][18][1] = 3.5661F; data[0][18][2] = 12.8188F;
294  data[0][19][0] = 11.0983F; data[0][19][1] = 3.5551F; data[0][19][2] = 12.7980F;
295  data[0][20][0] = 11.0850F; data[0][20][1] = 3.5435F; data[0][20][2] = 12.7760F;
296  data[0][21][0] = 11.0718F; data[0][21][1] = 3.5314F; data[0][21][2] = 12.7530F;
297  data[0][22][0] = 11.0585F; data[0][22][1] = 3.5187F; data[0][22][2] = 12.7289F;
298  data[0][23][0] = 11.0427F; data[0][23][1] = 3.5043F; data[0][23][2] = 12.7037F;
299  nNodes[1] = 45;
300  data[1][ 0][0] = 10.2890F; data[1][ 0][1] = 0.0000F; data[1][ 0][2] = 12.1391F;
301  data[1][ 1][0] = 10.2854F; data[1][ 1][1] = 0.0000F; data[1][ 1][2] = 12.1133F;
302  data[1][ 2][0] = 10.2745F; data[1][ 2][1] = 0.0000F; data[1][ 2][2] = 12.0867F;
303  data[1][ 3][0] = 10.2565F; data[1][ 3][1] = 0.0000F; data[1][ 3][2] = 12.0593F;
304  data[1][ 4][0] = 10.2329F; data[1][ 4][1] = 0.0000F; data[1][ 4][2] = 12.0311F;
305  data[1][ 5][0] = 10.2049F; data[1][ 5][1] = 0.0000F; data[1][ 5][2] = 12.0001F;
306  data[1][ 6][0] = 10.1739F; data[1][ 6][1] = 0.0000F; data[1][ 6][2] = 11.9722F;
307  data[1][ 7][0] = 10.1415F; data[1][ 7][1] = 0.0000F; data[1][ 7][2] = 11.9414F;
308  data[1][ 8][0] = 10.0768F; data[1][ 8][1] = 0.0000F; data[1][ 8][2] = 11.8772F;
309  data[1][ 9][0] = 10.0439F; data[1][ 9][1] = 0.0000F; data[1][ 9][2] = 11.8437F;
310  data[1][10][0] = 10.0103F; data[1][10][1] = 0.0000F; data[1][10][2] = 11.8092F;
311  data[1][11][0] = 9.9761F; data[1][11][1] = 0.0000F; data[1][11][2] = 11.7737F;
312  data[1][12][0] = 9.9410F; data[1][12][1] = 0.0000F; data[1][12][2] = 11.7373F;
313  data[1][13][0] = 9.9051F; data[1][13][1] = 0.0000F; data[1][13][2] = 11.6998F;
314  data[1][14][0] = 9.8682F; data[1][14][1] = 0.0000F; data[1][14][2] = 11.6612F;
315  data[1][15][0] = 9.8304F; data[1][15][1] = 0.0000F; data[1][15][2] = 11.6216F;
316  data[1][16][0] = 9.7914F; data[1][16][1] = 0.0000F; data[1][16][2] = 11.5809F;
317  data[1][17][0] = 9.7513F; data[1][17][1] = 0.0000F; data[1][17][2] = 11.5391F;
318  data[1][18][0] = 9.7100F; data[1][18][1] = 0.0000F; data[1][18][2] = 11.4962F;
319  data[1][19][0] = 9.6673F; data[1][19][1] = 0.0000F; data[1][19][2] = 11.4521F;
320  data[1][20][0] = 9.6232F; data[1][20][1] = 0.0000F; data[1][20][2] = 11.4069F;
321  data[1][21][0] = 9.5777F; data[1][21][1] = 0.0000F; data[1][21][2] = 11.3604F;
322  data[1][22][0] = 9.5306F; data[1][22][1] = 0.0000F; data[1][22][2] = 11.3127F;
323  data[1][23][0] = 9.4814F; data[1][23][1] = 0.0000F; data[1][23][2] = 11.2639F;
324  data[1][24][0] = 9.4297F; data[1][24][1] = 0.0000F; data[1][24][2] = 11.2137F;
325  data[1][25][0] = 9.3760F; data[1][25][1] = 0.0000F; data[1][25][2] = 11.1623F;
326  data[1][26][0] = 9.3205F; data[1][26][1] = 0.0000F; data[1][26][2] = 11.1095F;
327  data[1][27][0] = 9.2634F; data[1][27][1] = 0.0000F; data[1][27][2] = 11.0555F;
328  data[1][28][0] = 9.2042F; data[1][28][1] = 0.0000F; data[1][28][2] = 11.0001F;
329  data[1][29][0] = 9.1426F; data[1][29][1] = 0.0000F; data[1][29][2] = 10.9434F;
330  data[1][30][0] = 9.0792F; data[1][30][1] = 0.0000F; data[1][30][2] = 10.8852F;
331  data[1][31][0] = 9.0138F; data[1][31][1] = 0.0000F; data[1][31][2] = 10.8257F;
332  data[1][32][0] = 8.9461F; data[1][32][1] = 0.0000F; data[1][32][2] = 10.7647F;
333  data[1][33][0] = 8.8761F; data[1][33][1] = 0.0000F; data[1][33][2] = 10.7023F;
334  data[1][34][0] = 8.8036F; data[1][34][1] = 0.0000F; data[1][34][2] = 10.6385F;
335  data[1][35][0] = 8.7283F; data[1][35][1] = 0.0000F; data[1][35][2] = 10.5731F;
336  data[1][36][0] = 8.6496F; data[1][36][1] = 0.0000F; data[1][36][2] = 10.5062F;
337  data[1][37][0] = 8.5692F; data[1][37][1] = 0.0000F; data[1][37][2] = 10.4378F;
338  data[1][38][0] = 8.4861F; data[1][38][1] = 0.0000F; data[1][38][2] = 10.3679F;
339  data[1][39][0] = 8.4001F; data[1][39][1] = 0.0000F; data[1][39][2] = 10.2964F;
340  data[1][40][0] = 8.3122F; data[1][40][1] = 0.0000F; data[1][40][2] = 10.2233F;
341  data[1][41][0] = 8.2213F; data[1][41][1] = 0.0000F; data[1][41][2] = 10.1485F;
342  data[1][42][0] = 8.1283F; data[1][42][1] = 0.0000F; data[1][42][2] = 10.0722F;
343  data[1][43][0] = 8.0382F; data[1][43][1] = 0.0000F; data[1][43][2] = 9.9942F;
344  data[1][44][0] = 8.0000F; data[1][44][1] = 0.0000F; data[1][44][2] = 9.9145F;
345  nNodes[2] = 46;
346  data[2][ 0][0] = 13.6602F; data[2][ 0][1] = 7.2811F; data[2][ 0][2] = 5.5515F;
347  data[2][ 1][0] = 13.6566F; data[2][ 1][1] = 7.2704F; data[2][ 1][2] = 5.5284F;
348  data[2][ 2][0] = 13.6530F; data[2][ 2][1] = 7.2597F; data[2][ 2][2] = 5.5051F;
349  data[2][ 3][0] = 13.6494F; data[2][ 3][1] = 7.2490F; data[2][ 3][2] = 5.4817F;
350  data[2][ 4][0] = 13.5900F; data[2][ 4][1] = 7.2258F; data[2][ 4][2] = 5.4582F;
351  data[2][ 5][0] = 13.5312F; data[2][ 5][1] = 7.2031F; data[2][ 5][2] = 5.4345F;
352  data[2][ 6][0] = 13.4741F; data[2][ 6][1] = 7.1807F; data[2][ 6][2] = 5.4108F;
353  data[2][ 7][0] = 13.4156F; data[2][ 7][1] = 7.1586F; data[2][ 7][2] = 5.3869F;
354  data[2][ 8][0] = 13.3585F; data[2][ 8][1] = 7.1369F; data[2][ 8][2] = 5.3628F;
355  data[2][ 9][0] = 13.3018F; data[2][ 9][1] = 7.1144F; data[2][ 9][2] = 5.3386F;
356  data[2][10][0] = 13.2465F; data[2][10][1] = 7.0931F; data[2][10][2] = 5.3142F;
357  data[2][11][0] = 13.1894F; data[2][11][1] = 7.0720F; data[2][11][2] = 5.2898F;
358  data[2][12][0] = 13.1336F; data[2][12][1] = 7.0500F; data[2][12][2] = 5.2651F;
359  data[2][13][0] = 13.0783F; data[2][13][1] = 7.0281F; data[2][13][2] = 5.2403F;
360  data[2][14][0] = 13.0222F; data[2][14][1] = 7.0063F; data[2][14][2] = 5.2154F;
361  data[2][15][0] = 12.9668F; data[2][15][1] = 6.9855F; data[2][15][2] = 5.1904F;
362  data[2][16][0] = 12.9096F; data[2][16][1] = 6.9627F; data[2][16][2] = 5.1652F;
363  data[2][17][0] = 12.8526F; data[2][17][1] = 6.9418F; data[2][17][2] = 5.1398F;
364  data[2][18][0] = 12.7956F; data[2][18][1] = 6.9194F; data[2][18][2] = 5.1143F;
365  data[2][19][0] = 12.7382F; data[2][19][1] = 6.8972F; data[2][19][2] = 5.0887F;
366  data[2][20][0] = 12.6804F; data[2][20][1] = 6.8742F; data[2][20][2] = 5.0629F;
367  data[2][21][0] = 12.6221F; data[2][21][1] = 6.8515F; data[2][21][2] = 5.0370F;
368  data[2][22][0] = 12.5631F; data[2][22][1] = 6.8286F; data[2][22][2] = 5.0109F;
369  data[2][23][0] = 12.5031F; data[2][23][1] = 6.8052F; data[2][23][2] = 4.9847F;
370  data[2][24][0] = 12.4426F; data[2][24][1] = 6.7815F; data[2][24][2] = 4.9584F;
371  data[2][25][0] = 12.3819F; data[2][25][1] = 6.7573F; data[2][25][2] = 4.9319F;
372  data[2][26][0] = 12.3185F; data[2][26][1] = 6.7326F; data[2][26][2] = 4.9052F;
373  data[2][27][0] = 12.2550F; data[2][27][1] = 6.7073F; data[2][27][2] = 4.8785F;
374  data[2][28][0] = 12.1912F; data[2][28][1] = 6.6815F; data[2][28][2] = 4.8515F;
375  data[2][29][0] = 12.1245F; data[2][29][1] = 6.6555F; data[2][29][2] = 4.8245F;
376  data[2][30][0] = 12.0577F; data[2][30][1] = 6.6285F; data[2][30][2] = 4.7973F;
377  data[2][31][0] = 11.9895F; data[2][31][1] = 6.6008F; data[2][31][2] = 4.7699F;
378  data[2][32][0] = 11.9200F; data[2][32][1] = 6.5727F; data[2][32][2] = 4.7424F;
379  data[2][33][0] = 11.8491F; data[2][33][1] = 6.5439F; data[2][33][2] = 4.7148F;
380  data[2][34][0] = 11.7766F; data[2][34][1] = 6.5138F; data[2][34][2] = 4.6870F;
381  data[2][35][0] = 11.7026F; data[2][35][1] = 6.4828F; data[2][35][2] = 4.6591F;
382  data[2][36][0] = 11.6269F; data[2][36][1] = 6.4510F; data[2][36][2] = 4.6310F;
383  data[2][37][0] = 11.5495F; data[2][37][1] = 6.4187F; data[2][37][2] = 4.6028F;
384  data[2][38][0] = 11.4705F; data[2][38][1] = 6.3854F; data[2][38][2] = 4.5744F;
385  data[2][39][0] = 11.3896F; data[2][39][1] = 6.3512F; data[2][39][2] = 4.5459F;
386  data[2][40][0] = 11.3068F; data[2][40][1] = 6.3160F; data[2][40][2] = 4.5173F;
387  data[2][41][0] = 11.2221F; data[2][41][1] = 6.2798F; data[2][41][2] = 4.4885F;
388  data[2][42][0] = 11.1353F; data[2][42][1] = 6.2426F; data[2][42][2] = 4.4596F;
389  data[2][43][0] = 11.0558F; data[2][43][1] = 6.2095F; data[2][43][2] = 4.4305F;
390  data[2][44][0] = 10.9229F; data[2][44][1] = 6.0897F; data[2][44][2] = 4.4010F;
391  data[2][45][0] = 10.7900F; data[2][45][1] = 5.9600F; data[2][45][2] = 4.3714F;
392  nNodes[3] = 6;
393  data[3][ 0][0] = 10.2000F; data[3][ 0][1] = 5.6100F; data[3][ 0][2] = 4.0646F;
394  data[3][ 1][0] = 10.0320F; data[3][ 1][1] = 5.5040F; data[3][ 1][2] = 4.0028F;
395  data[3][ 2][0] = 9.8640F; data[3][ 2][1] = 5.3980F; data[3][ 2][2] = 3.9410F;
396  data[3][ 3][0] = 9.6960F; data[3][ 3][1] = 5.2920F; data[3][ 3][2] = 3.8793F;
397  data[3][ 4][0] = 9.5280F; data[3][ 4][1] = 5.1860F; data[3][ 4][2] = 3.8175F;
398  data[3][ 5][0] = 9.3600F; data[3][ 5][1] = 5.0800F; data[3][ 5][2] = 3.7557F;
399  nNodes[4] = 9;
400  data[4][ 0][0] = 9.0300F; data[4][ 0][1] = 4.8700F; data[4][ 0][2] = 3.5470F;
401  data[4][ 1][0] = 8.8475F; data[4][ 1][1] = 4.7830F; data[4][ 1][2] = 3.5167F;
402  data[4][ 2][0] = 8.6650F; data[4][ 2][1] = 4.6960F; data[4][ 2][2] = 3.4864F;
403  data[4][ 3][0] = 8.4825F; data[4][ 3][1] = 4.6090F; data[4][ 3][2] = 3.4561F;
404  data[4][ 4][0] = 8.3000F; data[4][ 4][1] = 4.5230F; data[4][ 4][2] = 3.4258F;
405  data[4][ 5][0] = 8.1750F; data[4][ 5][1] = 4.5090F; data[4][ 5][2] = 3.3985F;
406  data[4][ 6][0] = 8.0500F; data[4][ 6][1] = 4.5000F; data[4][ 6][2] = 3.3713F;
407  data[4][ 7][0] = 8.0450F; data[4][ 7][1] = 4.4900F; data[4][ 7][2] = 3.3455F;
408  data[4][ 8][0] = 8.0400F; data[4][ 8][1] = 4.4800F; data[4][ 8][2] = 3.3198F;
409  nNodes[5] = 1;
410  data[5][ 0][0] = 6.5000F; data[5][ 0][1] = 3.8500F; data[5][ 0][2] = 2.9200F;
411  nNodes[6] = 1;
412  data[6][ 0][0] = 5.8000F; data[6][ 0][1] = 3.4600F; data[6][ 0][2] = 2.7200F;
413  }
414 
416 
417 }; // end class AK135Model
418 
419 } // end namespace geotess
420 
421 #endif /* AK135MODEL_H_ */
geotess::AK135Model::~AK135Model
~AK135Model()
Definition: AK135Model.h:415
geotess
Definition: AK135Model.h:55
geotess::AK135Model::nLayers
int nLayers
Definition: AK135Model.h:65
geotess::AK135Model::getLayerProfile
void getLayerProfile(const double &lat, const double &lon, const int &layer, vector< float > &r, vector< vector< float > > &nodeData)
Definition: AK135Model.h:96
geotess::AK135Model
Definition: AK135Model.h:62
geotess::AK135Model::AK135Model
AK135Model()
Definition: AK135Model.h:126