<div dir="ltr"><div dir="ltr">Hi Martin<div><br></div><div>Did some investigation of the pkg/ctrl output -- the gradient portion of the cost file (ecco_cost_MIT_CE_000.optXXX) is being written in reverse byte-order when using the cray compiler with the settings i've given. possibly this is happening with the header information as well. Im not sure why since the mdsio package seems to read and write files using the right byte ordering, but I don't understand the mdsio or ctrl packages well enough to know the difference. </div><div><br></div><div>So aside from the numerical problems you reference below with optim.x (the NaNs), ill need to find some way to control this, but again, guidance would be very welcome.</div><div><br></div><div>Many thanks again</div><div>Dan</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Apr 10, 2019 at 5:35 PM Martin Losch <<a href="mailto:Martin.Losch@awi.de">Martin.Losch@awi.de</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">Hi Dan,<br>
<br>
I was wrong, the problem is already there after reading xx with optim_readdata. It has got to do something with the header information where a lot of integer stuff is written.<br>
<br>
I also noticed that the cray compiler complains about bi/bj being used/written before defined and some other old features in the code. Fixing that doesn’t change anything (although it needs to be fixed). More tomorrow.<br>
<br>
Martin<br>
<br>
> On 10. Apr 2019, at 18:02, Martin Losch <<a href="mailto:Martin.Losch@awi.de" target="_blank">Martin.Losch@awi.de</a>> wrote:<br>
> <br>
> Hi Dan,<br>
> <br>
> I don’t have access to ARCHER but I have a Cray CS400 with a somewhat disfunctional cray compiler. I followed the instructions in the README.md on <a href="https://github.com/mjlosch/optim_m1qn3" rel="noreferrer" target="_blank">https://github.com/mjlosch/optim_m1qn3</a> and I was able to run the tutorial_global_oce_optim for the zeroth iteration (so I can assume that in this case my compiler is not totally off), I could also compile and run optim.x with these flags:<br>
> <br>
> <br>
> CPPFLAGS = -DREAL_BYTE=4 \<br>
> -DMAX_INDEPEND=1000000 \<br>
> -D_RL=‘real*8' \<br>
> -D_RS=‘real*4' \<br>
> -D_d='d'<br>
> <br>
> # -DMAX_INDEPEND=293570968 \<br>
> # FORTRAN compiler and its flags copied from the opt file, or rather the Makefile of tutorial_global_oce_optim<br>
> FC = ftn<br>
> FFLAGS = -h byteswapio -hnoomp -O0 -hfp0<br>
> <br>
> Everything looks good until m1qn3_offline is called, unfortunately.<br>
> I get many wrong numbers ( somthingE+/-317, and even NaN), but also useful numbers in xx after m1qn3_offline has been called. This looks like something more severe. I’ll look into that, but if you can get this far, that would be good.<br>
> <br>
> Please use the github version.<br>
> <br>
> Martin<br>
> <br>
> <br>
> <br>
>> On 10. Apr 2019, at 16:30, GOLDBERG Daniel <<a href="mailto:Dan.Goldberg@ed.ac.uk" target="_blank">Dan.Goldberg@ed.ac.uk</a>> wrote:<br>
>> <br>
>> Hello Martin (or anyone who has used optim_m1qn3 on ARCHER)<br>
>> <br>
>> I have used optim_m1qn3 previously but not on the ARCHER UK supercomputer (a Cray architecture). The setup i am using (making use of STREAMICE/OpenAD/optim_m1qn3) has been working well on the MIT engaging cluster but am now trying to run on ARCHER. Following the recommendations of others I have built MITgcm using Cray compilers; and i modified mlosch/m1qn3_optim/Makefile, save to point to my build directory.<br>
>> <br>
>> The first call to optim.x yields the error<br>
>> <br>
>> ============================================================<br>
>> OPTIM_READDATA: opened file ecco_cost_MIT_CE_000.opt0000 <br>
>> At line 1295 of file optim_readdata.f (unit = 20, file = 'ecco_cost_MIT_CE_000.opt0000')<br>
>> Fortran runtime error: End of file<br>
>> ============================================================ <br>
>> <br>
>> which suggests the binary file is written in a format that optim_m1qn3 is not expecting? <br>
>> <br>
>> Other tests I did:<br>
>> <br>
>> 1) Ran the same experiment (i.e. same code and input, but with gnu compilers) on the engaging cluster. Ran fine.<br>
>> 2) Called optim.x (compiled on Archer) with the ecco_cost_MIT_CE_000.opt0000 produced on engaging. Ran fine.<br>
>> 3) Called optim.x (compiled on engaging) with the ecco_cost_MIT_CE_000.opt0000 produced on ARCHER. <br>
>> <br>
>> Hence, either mitgcmuv_ad is writing a corrupted executable when built with a cray compiler, or the Makefile of m1qn3_optim should be modified to reflect that its input files are being produced by a cray-compiled executable -- but I do not know how to do this. I am attempting now to build and run MITgcm/OAD using iFort, but may run into trouble for different reasons.<br>
>> <br>
>> Any guidance you could give on this topic would be much appreciated.<br>
>> <br>
>> Best<br>
>> Dan<br>
>> <br>
>> -- <br>
>> <br>
>> Daniel Goldberg, PhD<br>
>> Sr. Lecturer in Glaciology<br>
>> School of Geosciences, University of Edinburgh<br>
>> Geography Building, Drummond Street, Edinburgh EH8 9XP<br>
>> <br>
>> <br>
>> em: <a href="mailto:dan.goldberg@ed.ac.uk" target="_blank">dan.goldberg@ed.ac.uk</a><br>
>> web: <a href="https://www.geos.ed.ac.uk/homes/dgoldber" rel="noreferrer" target="_blank">https://www.geos.ed.ac.uk/homes/dgoldber</a><br>
>> The University of Edinburgh is a charitable body, registered in Scotland, with registration number SC005336.<br>
>> _______________________________________________<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>
> <br>
> _______________________________________________<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>
<br>
_______________________________________________<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></div>