Hello,<div><br></div><div>There are a couple of deceptive descriptions in the manual and in Topo_gravity.c that could easily be fixed, which potentially would save users some time and confusion in the future.  </div><div><br>
</div><div>I wrote my own code to visualize the geoid output from CitcomS and found that my map differed quite a bit from the one produced by the application included in the visual subdirectory, project_geoid.app.  The file project_geoid.c was reading the geoid output file in a way that contradicted the manual appendix, so I decided to dig into the code a bit to make sure that I was reading the output correctly.  It turns out that I was misled by the following reinforcing errors. </div>
<div><br></div><div>Appendix C.6.9 states that the third column of the geoid output file contains the sine coefficients of the total geoid, while the fourth column lists the cosine coefficients.  The opposite is true.</div>
<div><br></div><div>Following are lines 497 - 500 o f Topo_gravity.c, which incorrectly support the description in the manual.</div><div><p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; color: #007400"><span style="color: #000000">    </span>/* sin coeff */</p>

<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco">    geoid[<span style="color: #1c00cf">0</span>] = (<span style="color: #aa0d91">float</span>*)malloc(E-&gt;sphere.hindice*<span style="color: #aa0d91">sizeof</span>(<span style="color: #aa0d91">float</span>));</p>

<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; color: #007400"><span style="color: #000000">    </span>/* cos coeff */</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco">    geoid[<span style="color: #1c00cf">1</span>] = (<span style="color: #aa0d91">float</span>*)malloc(E-&gt;sphere.hindice*<span style="color: #aa0d91">sizeof</span>(<span style="color: #aa0d91">float</span>));</p>
<div><font class="Apple-style-span" face="Monaco" size="2"><span class="Apple-style-span" style="font-size: 10px;"><br></span></font></div><div><font class="Apple-style-span" face="Monaco" size="2"><span class="Apple-style-span" style="font-size: 10px;"><span class="Apple-style-span" style="font-family: arial; font-size: small; ">The above float pointers are received by the sphere_expansion function on line 103 of Sphere_harmonics.c as follows,</span></span></font></div>
<div><p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"><span style="color: #aa0d91">    void</span> sphere_expansion(E,TG,sphc,sphs)</p></div><div><br></div>and in the following lines of the code are treated opposite the comment descriptions, i.e.  geoid[0] points to the cosine coefficient and geoid[1] points to the sine coefficient.  Those values are scaled and stored in the variables harm_geoid[0] and harm_geoid[1] on lines 543 and 544 of Topo_gravity.c, respectively, maintaining the same ordering of cosine terms followed by sine terms.  </div>
<div><p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco">    harm_geoid[<span style="color: #1c00cf">0</span>][p] += con1*cont*geoid[<span style="color: #1c00cf">0</span>][p];</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco">    harm_geoid[<span style="color: #1c00cf">1</span>][p] += con1*cont*geoid[<span style="color: #1c00cf">1</span>][p];</p><div><font class="Apple-style-span" face="Monaco" size="2"><span class="Apple-style-span" style="font-size: 10px;"><br>
</span></font></div></div><div>The geoid coefficients are then written out in the order of cosine terms then sine terms on lines 424-431 of Output.c.</div><div><p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; color: #c41a16">
<span style="color: #000000">    fprintf(fp1,</span>&quot;%d %d %.4e %.4e %.4e %.4e %.4e %.4e\n&quot;<span style="color: #000000">,</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco">                        ll, mm,</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco">                        E-&gt;sphere.harm_geoid[<span style="color: #1c00cf">0</span>][p],</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco">                        E-&gt;sphere.harm_geoid[<span style="color: #1c00cf">1</span>][p],</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco">                        E-&gt;sphere.harm_geoid_from_tpgt[<span style="color: #1c00cf">0</span>][p],</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco">                        E-&gt;sphere.harm_geoid_from_tpgt[<span style="color: #1c00cf">1</span>][p],</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco">                        E-&gt;sphere.harm_geoid_from_bncy[<span style="color: #1c00cf">0</span>][p],</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco">                        E-&gt;sphere.harm_geoid_from_bncy[<span style="color: #1c00cf">1</span>][p]);</p><div><font class="Apple-style-span" face="Monaco" size="2"><span class="Apple-style-span" style="font-size: 10px;"><br>
</span></font></div></div><div>It would be helpful to future users if the manual were updated to reflect the correct output order, along with the comments in Topo_gravity.c.  Another useful addition to the manual would be the formula for normalizing the Legendre polynomials that is implemented in the function modified_plgndr_a on lines 51-97 of Sphere_harmonics.c, but that&#39;s just a suggestion and is not immediately necessary.</div>
<div><br></div><div>Please let me know if I have incorrectly interpreted CitcomS, so that I can appropriately update my own code for geoid coefficient processing.</div><div><br></div><div>Thanks,</div><div>Joy Hines</div>
<div>-- <br>Graduate Student Researcher<br>Department of Geology<br>University of California, Davis<br>2205 Earth &amp; Physical Sciences<br>Davis, CA 95616<br>
</div>