[MITgcm-devel] alpha et omega

Martin.Losch at awi.de Martin.Losch at awi.de
Wed Nov 22 12:39:41 EST 2006


Thanks Chris,

that was the problem: strain,vort3,shear, and all viscA-type fields are not initialised properly. Only for TAF they are. I 
should have thought about that myself. When I make sure that all fields are initially zero, then it works. Why is this not 
done in the first place? Should we change the code to do that (basically remove the corresponding 
ALLOW_AUTODIFF_TAMC)? (but not today, this problem has sucked everything out of me, and I will only produce 
errors, if I try to do that)

M.

Martin Losch
Alfred Wegener Institute 
Postfach 120161, 27515 Bremerhaven, Germany; 
Tel./Fax: ++49(0471)4831-1872/1797



----- Original Message -----
From: chris hill <cnh at mit.edu>
Date: Wednesday, November 22, 2006 7:11 pm
Subject: Re: [MITgcm-devel] alpha et omega

> Hi Martin,
> 
>  Are vort3, strain and hFacZ initialized everywhere (included 
> overlaps).  Alpha compilers like to leave invalid floating points 
> in unitialized 
> variables that can cause this. Most other compilers have zeros in 
> unitialized vars which makes this hard to detect.
> 
> Chris
> Martin.Losch at awi.de wrote:
> > Hi there,
> > 
> > we are having problems on a Dec-Alpha system:
> > uname -a: OSF1 adva.weizmann.ac.il V5.1 2650 alpha
> > and some fort90 compiler that I cannot clear identify (no man 
> pages, no -V option, really nice). With this configuration we 
> > run into strange problems. I'll try to list them and maybe 
> someone can help:
> > - in single CPU mode (no MPI) everything seems to work fine
> > - with MPI the model stops with a floating point exception 
> depending on the viscosity parameters and the compile 
> > options.
> > 1. with the standard options (derived from osf1_alpha_f77), I 
> cannot use viscA4/hSmag >0 (stops in mom_u_yviscflux.F)
> > 2. with an additional array bound check I cannot use any 
> viscosity at all (momViscosity=.false. is the only thing that 
> > works), stops in either mom_fluxform.F or mom_vecinv.F at 
> approximately the same lines:
> >         CALL MOM_CALC_HDIV(bi,bj,k,2,uFld,vFld,hDiv,myThid)
> >         CALL MOM_CALC_RELVORT3(bi,bj,k,uFld,vFld,hFacZ,vort3,myThid)
> >         CALL MOM_CALC_TENSION(bi,bj,k,uFld,vFld,tension,myThid)
> >         CALL MOM_CALC_STRAIN(bi,bj,k,uFld,vFld,hFacZ,strain,myThid)
> >         DO j=1-Oly,sNy+Oly
> >          DO i=1-Olx,sNx+Olx
> >            IF ( hFacZ(i,j).EQ.0. ) THEN
> >              vort3(i,j)  = sideMaskFac*vort3(i,j)     <----- 
> mom_fluxform>              strain(i,j) = sideMaskFac*strain(i,j)    
> <----- mom_vecinv
> >            ENDIF
> >          ENDDO
> >         ENDDO
> > 
> > The system tells me where the floating point exception occurs but 
> that's about it. I have not been able to use any 
> > debugging options etc, it's all very buggy.
> > 
> > Any idea, what's going on? (apart from the obvious problem, that 
> the compute is not very well maintained)
> > 
> > Martin
> > 
> > Martin Losch
> > Alfred Wegener Institute 
> > Postfach 120161, 27515 Bremerhaven, Germany; 
> > Tel./Fax: ++49(0471)4831-1872/1797
> > 
> > content of the optfile:
> > #!/bin/bash
> > ## Yossi's version for alpha MPI
> > #
> > #  $Header: /u/gcmpack/MITgcm/tools/build_options/osf1+mpi,v 1.2 
> 2003/08/27 22:12:31 edhill Exp $
> > #
> > 
> > S64='$(TOOLSDIR)/set64bitConst.sh'
> > #MAKEDEPEND='mkdep -f depend.out'
> > ## MAKEDEPEND=makedepend
> > ## DEFINES='-DWORDLENGTH=4'
> > ## DEFINES='-DALLOW_USE_MPI -DALWAYS_USE_MPI -DTARGET_DEC -
> DWORDLENGTH=1'> DEFINES='-DTARGET_DEC -DWORDLENGTH=1'
> > FC_NAMEMANGLE='#define FC_NAMEMANGLE(X) X ## _'
> > 
> > MPI='true'
> > CPP='/usr/local/bin/cpp -traditional -P'
> > #ph: e.g. halem.gsfc.nasa.gov
> > LIBS='-L/opt/mpi/lib/alpha/ -lfmpi -lmpi -lkmp_osfp10 -pthread -
> L/appl/netcdf/lib'> ## LIBS='-L/opt/mpi/lib/alpha/ -lfmpi -lmpi'
> > FC='/opt/mpi/bin/mpif77'
> > LINK='/opt/mpi/bin/mpif77'
> > FFLAGS='-convert big_endian -r8 -extend_source -automatic -
> call_shared -notransform_loops -align dcommons'
> > # FOPTIM='-O5 -fast -tune host -inline all'
> > FOPTIM='-O5 -fast -tune host -inline all'
> > #ph: -O5 probably too aggressive in conjunction with adjoint code
> > ## INCLUDEDIRS='/opt/mpi/include/64'
> > INCLUDES='-I/opt/mpi/include/64 -I/appl/netcdf/include '
> > #ph: -lkmp_osfp10 not needed on some/many platforms
> > NOOPTFILES='barrier.F different_multiple.F external_fields_load.F'
> > NOOPTFLAGS='-O0'
> > RMFILES='*.p.out'
> > ## CPP='/lib/cpp -P -DMPI -DDEC -I/opt/mpi/include/'
> > 
> > 
> > 
> > _______________________________________________
> > MITgcm-devel mailing list
> > MITgcm-devel at mitgcm.org
> > http://mitgcm.org/mailman/listinfo/mitgcm-devel
> > 
> 
> _______________________________________________
> MITgcm-devel mailing list
> MITgcm-devel at mitgcm.org
> http://mitgcm.org/mailman/listinfo/mitgcm-devel
> 



More information about the MITgcm-devel mailing list