[MITgcm-support] Problem with MNC initialization

Chris Hill cnh at mit.edu
Mon Oct 11 14:18:23 EDT 2004


Hi Baylor,

 I think another temporary fix is to revert to the latest "checkpoint" rev
of the mnc package. To do this I would do something like
cd pkg/
mv pkg/mnc pkg/mnc.hidden
cvs co -r checkpoint55 -d mnc MITgcm/pkg/mnc

Then do a make CLEAN and redo genmake2 etc... for your experiment.
If checkpint55 pkg/mnc doesn't work with latest code, then I would try a
pkg/mnc fron "checkpoint55b_post". It looks like some mnc changes went in
after that - see

 
http://mitgcm.org/cgi-bin/viewcvs.cgi/MITgcm/doc/tag-index?rev=1.365&content
-type=text/vnd.viewcvs-markup


Chris 

> -----Original Message-----
> From: mitgcm-support-bounces at mitgcm.org 
> [mailto:mitgcm-support-bounces at mitgcm.org] On Behalf Of 
> Baylor Fox-Kemper
> Sent: Monday, October 11, 2004 1:56 PM
> To: mitgcm-support at mitgcm.org
> Subject: Re: [MITgcm-support] Problem with MNC initialization
> 
> Hi Chris and Patrick and Ed,
>    I don't have ifc yet, and I really wanted to do some runs 
> while I'm away later this week, so I'm working on a fix here.
> 
>    The problem seems to lie in the way that the 'scalar' 
> version of mnc_cw_rs is interpreted by my compiler.
>    When you send the first element of an array like xc to
> mnc_cw_rs_w(...,xc,...) then you relabel the first element as 
> var inside, the compiler doesn't look in the same place in 
> memory when accessing var(i).  Apparently, only the first 
> element is matched.  So, if you do
> 
> print *, xc
> before
> call mnc_cw_rs_w
> 
> Then you get all the xc values.
> 
> If you do
> 
> do i=1,247
>     var(i)
> enddo
> 
> inside mnc_cw_rs_w, you get all sorts of crazy stuff...Only 
> the first element, the var(1) element matches...
> 
> Hope that helps...
>    -Baylor
> 
> On Oct 11, 2004, at 1:30 PM, Chris Hill wrote:
> 
> > Hi Baylor,
> >
> >  Ed is fixing this as I write. This seems to have started happening 
> > late last week. Patrick reports that things appear for his 
> codes with 
> > ifc (see below), so he suggests that as a temporary work around 
> > (either that or use this as an excuse to go and enjoy the beautiful 
> > fall weather).
> >
> > Chris
> >
> >
> > Ed,
> >
> > two things:
> >
> > 1.
> > Using ifc I don't get a seg. fault,
> > so this might be a good work around for people wanting to use mnc.
> >
> > 2.
> > I think, unrelated to this issue is that, e.g. for lab_sea, I no 
> > longer get monitor output:
> > grep dynstat output.txt
> > gives nothing, but
> > grep dynstat ../results/output.txt\
> > gives plenty of output.
> >
> > -Patrick
> >
> >
> >
> >> -----Original Message-----
> >> From: mitgcm-devel-bounces at mitgcm.org 
> >> [mailto:mitgcm-devel-bounces at mitgcm.org] On Behalf Of Ed Hill
> >> Sent: Sunday, October 10, 2004 11:57 AM
> >> To: MITgcm-devel
> >> Subject: RE: [MITgcm-devel] useMNC not in PARAMS.h ?
> >>
> >>
> >> On Sun, 2004-10-10 at 10:12, Patrick Heimbach wrote:
> >>> Hi Ed,
> >>>
> >>> it's not clear to me how you got the clean testreport.
> >>> The seg. fault on lab_sea and dic_example persist with an 
> entirely 
> >>> fresh checkout as of now (9:36am).
> >>>
> >>> I've traced down the problem to S/R MNC_CW_RS_W_OFFSET and within 
> >>> there to the loop over j2, ..., j7 but got lost then.
> >>>
> >>> -Patrick
> >>>
> >>> PS:
> >>> platform is sea.mit.edu
> >>>> uname -a
> >>> Linux sea 2.4.24-openmosix2 #1 Wed Jul 28 14:33:52 CEST 2004 i686 
> >>> unknown
> >>
> >>
> >> Hi Patrick,
> >>
> >> Yes, this is a head-scratcher for me, too.  I got the clean 
> >> testreport runs on both my laptop and the black Athlon 
> desktop in my 
> >> office (both are running FC2) and thought I was done.  Then this 
> >> morning I saw the failed faulks tests and could reproduce the seg 
> >> faults with gdb showing that it dies in mnc_cw_rl_w_offset().
> >>
> >> I'll keep at it and send news as soon as I can determine exactly 
> >> whats b0rked and why.  In the mean time, please either 
> disable MNC or 
> >> roll back to the MNC version in the last checkpoint if you 
> need the 
> >> MNC functionality.
> >>
> >> Ed
> >>
> >> --
> >> Edward H. Hill III, PhD
> >> office:  MIT Dept. of EAPS;  Rm 54-1424;  77 Massachusetts Ave.
> >>              Cambridge, MA 02139-4307
> >> emails:  eh3 at mit.edu                ed at eh3.com
> >> URLs:    http://web.mit.edu/eh3/    http://eh3.com/
> >> phone:   617-253-0098
> >> fax:     617-253-4464
> >>
> >> _______________________________________________
> >> MITgcm-devel mailing list
> >> MITgcm-devel at mitgcm.org
> >> http://dev.mitgcm.org/mailman/listinfo/mitgcm-devel
> >>
> >
> > _______________________________________________
> > MITgcm-devel mailing list
> > MITgcm-devel at mitgcm.org
> > http://dev.mitgcm.org/mailman/listinfo/mitgcm-devel
> >
> >> -----Original Message-----
> >> From: mitgcm-support-bounces at mitgcm.org 
> >> [mailto:mitgcm-support-bounces at mitgcm.org] On Behalf Of Baylor 
> >> Fox-Kemper
> >> Sent: Monday, October 11, 2004 1:14 PM
> >> To: mitgcm-support at mitgcm.org
> >> Subject: [MITgcm-support] Problem with MNC initialization
> >>
> >> Hello,
> >>    I'm having a problem with the most recent cvs update with mnc.  
> >> When the model initializes, I get a seg fault.  I am using 
> g77 on Mac 
> >> OSX.
> >> The debugging info is:
> >>
> >> When the original 'state' file is written in ini_model_io:
> >> C     Write coordinates to "state" file
> >>        CALL MNC_CW_SET_UDIM('state', 0, myThid)
> >>        CALL MNC_CW_RS_W('R','state',0,0,'XC',xC, myThid)
> >>        CALL MNC_CW_RS_W('R','state',0,0,'YC',yC, myThid)
> >>        CALL MNC_CW_RS_W('R','state',0,0,'XU',xG, myThid)
> >>        CALL MNC_CW_RS_W('R','state',0,0,'YU',yC, myThid)
> >>        CALL MNC_CW_RS_W('R','state',0,0,'XV',xC, myThid)
> >>        CALL MNC_CW_RS_W('R','state',0,0,'YV',yG, myThid)
> >>        CALL MNC_CW_RS_W('R','state',0,0,'XG',xG, myThid)
> >>        CALL MNC_CW_RS_W('R','state',0,0,'YG',yG, myThid)
> >>        CALL MNC_CW_RS_W('R','state',0,0,'RC',rC, myThid)
> >>        CALL MNC_CW_RS_W('R','state',0,0,'RF',rF, myThid)
> >>
> >> The mnc_cw_rs_w dies when it calls:
> >>
> >>        var_arr(1) = var
> >>        CALL MNC_CW_RS_W_OFFSET(stype,fbname,bi,bj,vtype, var_arr,
> >>       &     offsets, myThid)
> >>
> >> Ultimately, this stems from a call inside this routine 
> indicated with 
> >> the arrow:
> >>
> >>        IF (stype(1:1) .EQ. 'R') THEN
> >>          DO j1 = s(1),e(1)
> >>            k1 = k2 + j1
> >>            kr = kr + 1
> >> ==>          resh_r(kr) = var(k1)
> >>          ENDDO
> >>
> >> In my particular run, this crashes when k1=247, but I'm 
> sure that's 
> >> setup specific.
> >>
> >> Since var is this subroutine's version of var_arr, and var_arr in 
> >> this instance is xc, which is an 80x30=2400 array, I am 
> puzzled why 
> >> this crashes before k1=2400.
> >>
> >> Running with -fbounds-check doesn't seem to improve the problem...
> >>
> >> Thanks,
> >>     -Baylor
> >>
> >>
> >>
> >>
> >>
> >>
> >>
> >> _______________________________________________
> >> MITgcm-support mailing list
> >> MITgcm-support at mitgcm.org
> >> http://dev.mitgcm.org/mailman/listinfo/mitgcm-support
> >>
> >
> > _______________________________________________
> > MITgcm-support mailing list
> > MITgcm-support at mitgcm.org
> > http://dev.mitgcm.org/mailman/listinfo/mitgcm-support
> 
> _______________________________________________
> MITgcm-support mailing list
> MITgcm-support at mitgcm.org
> http://dev.mitgcm.org/mailman/listinfo/mitgcm-support
> 




More information about the MITgcm-support mailing list