<div dir="ltr">P.S. I am attaching the modified python script:<div><br></div><div><a href="http://gendata_tut4.1.py">gendata_tut4.1.py</a> </div><div><br></div><div>to explain things</div><div><br></div><div>Best</div><div>Jeremy</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, 4 Apr 2021 at 08:55, Jeremy Miller <<a href="mailto:jeremysharonmiller@gmail.com">jeremysharonmiller@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Dear Dr Rieck,<div><br></div><div>First of all my apologies for only replying now I was on holiday. And thanks for your help.</div><div><br></div><div>Unfortunately that didn't solve the problem. After replacing </div><div><br></div><div>if sys.byteorder == 'little': tau_2.byteswap(True)<br>tau_2.tofile('windx_siny.bin')</div><div><br></div><div>with </div><div><br></div><div>if sys.byteorder == 'little': tau_2.byteswap(True)<br>fid = open('windx_siny.bin', 'wb')<br>tau_2.astype('float32').tofile(fid)<br></div><div><br></div><div>as you suggested, the plot still came out blank.</div><div>Regarding Jeffrey Scott's comment that the reason I could not read back the bin file was due to a mismatch between float32 and float64, I followed his advice and read in the</div><div>bin file using the snippet </div><div><br></div><div>tau_2_1 = np.fromfile('windx_siny.bin',dtype='float32')<br></div><div><br></div><div>and I got back an array with every entry being 'inf' except the penultimate column, being all '0'.</div><div><br></div><div>Is it possible that the snippet </div><div><br></div><div># X=X.astype('float128')<br># Y=Y.astype('float128')<br></div><div><br></div><div>(which is commented) needs to be included but with 'float128' replaced with 'float32'?</div><div><br></div><div>Best</div><div>Jeremy</div><div><br></div><div><br></div><div><br></div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, 1 Apr 2021 at 16:47, Jan Klaus Rieck <<a href="mailto:jan.rieck@mail.mcgill.ca" target="_blank">jan.rieck@mail.mcgill.ca</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div style="text-align:left;direction:ltr">
<div>Hello Jeremy Miller,</div>
<div><br>
</div>
<div>I also use python to to generate input data for the MITgcm. I found that, to generate files that can be read by the MITgcm consistently, I needed to specify the type explicitly. </div>
<div>My way of saving the files would look like this in your case: </div>
<div><br>
</div>
<div>if sys.byteorder == 'little': tau_2.byteswap(True)</div>
<div>fid = open(''windx_siny.bin', 'wb')</div>
<div>tau_2.astype('float32').tofile(fid)</div>
<div><br>
</div>
<div>Of course, 'float32' could be replaced by 'float64' if you require double precision.</div>
<div><br>
</div>
<div>I hope this helps,</div>
<div>Jan Rieck</div>
<div> </div>
<div>On Thu, 2021-04-01 at 10:22 +0300, Jeremy Miller wrote:</div>
<blockquote type="cite" style="margin:0px 0px 0px 0.8ex;border-left:2px solid rgb(114,159,207);padding-left:1ex">
<div dir="ltr">Dear MITGCM forum,
<div><br>
</div>
<div>I am Jeremy Miller, I am new to MITgcm and I've been going through the tutorials. I have a question about the "Barotropic Ocean Gyre" tutorial (section 4.1).</div>
<div><br>
</div>
<div>I managed to compile and run the code, and re-produce the first two plots shown in section 4.1.5 for wind stress of τ = τ0 cos( πy/Ly), for both the advection and non-advection cases (with the provided input binary files). </div>
<div>I ran into problems when trying to produce the third plot, for the case where τ = τ0 sin( πy/Ly). I am a python user, so I translated gendata.m into python to write the input binary files 'windx_cosy.bin' 'windx_siny.bin' (see the file gendata_tut4.1py
attached). As explained in section 3.9 I've included the snippet </div>
<span style="color:rgb(80,0,80)">
<div><br>
</div>
<div>if sys.byteorder == 'little': tau_2.byteswap(True)</div>
<div><br>
</div>
</span>
<div>where "tau2" is the array to be output. There was no issue in the cosine wind stress, and I managed to reproduce the results that I got with the original 'windx_cosy.bin' provided in the tutorial. However, with the sine wind stress case, the output in
'Eta.0000077760.001.001' is all zeros. </div>
<div><br>
</div>
<div>When I attempt to read 'windx_siny.bin' with python into a new array called tau2_1. I get absurdly big numbers back, which do not match the original array tau2 that I created. If I Remove the snippet " if sys.byteorder == 'little': tau_2.byteswap(True)
", in the python gendata code, tau2_1 and tau2 match. But, then when I run the code again, the file output.txt contains a long list of NaNs.</div>
<span style="color:rgb(80,0,80)">
<div><br>
</div>
<div>I have also included the python code used to generate the plots in the file <a href="http://tut_4.1_plots.py/" target="_blank">tut_4.1_plots.py</a></div>
<div><br>
</div>
<div>Look forward to hearing from you.</div>
<div>Yours sincerely</div>
<div>Jeremy Miller</div>
</span></div>
<pre>_______________________________________________</pre>
<pre>MITgcm-support mailing list</pre>
<a href="mailto:MITgcm-support@mitgcm.org" target="_blank">
<pre>MITgcm-support@mitgcm.org</pre>
</a>
<pre><br></pre>
<a href="http://mailman.mitgcm.org/mailman/listinfo/mitgcm-support" target="_blank">
<pre>http://mailman.mitgcm.org/mailman/listinfo/mitgcm-support</pre>
</a>
<pre><br></pre>
</blockquote>
</div>
_______________________________________________<br>
MITgcm-support mailing list<br>
<a href="mailto:MITgcm-support@mitgcm.org" target="_blank">MITgcm-support@mitgcm.org</a><br>
<a href="http://mailman.mitgcm.org/mailman/listinfo/mitgcm-support" rel="noreferrer" target="_blank">http://mailman.mitgcm.org/mailman/listinfo/mitgcm-support</a><br>
</blockquote></div>
</blockquote></div>