Gentle Users, Attached please find email concerning a bug that affects FDDA. This is actually a bug in both the MPP and non-MPP versions; however, it has only shown up on the Cray T3E, so far. The fix involves deleting an argument from the call to BLW and the definition of BLW. Note that BLW is defined in fdda/grid/blw.F for the non-MPP code and in ./MPP/RSL/parallel_src/mpblw.F for the MPP code. Both of these locations must be changed. Thanks to Mark Salzmann of University of Gothenburg, Sweden, and to Al Bourgeois. -Rotang, June 25, 2000 --- Dear Al, Thank you very much for your help! The problem was that the integer IN was not passed correctly from subroutine in4dgd to subroutine mpblw, due to the inconsistent declaration of the character/integer variable CDATE/MDATE which is passed from in4dgd to mpblw in the same call. Obviously the Cray compiler didn't like that. Since MDATE is not used in mpblw, I chose to removed it from the call. In the MM5 Version 3.3 (January 25, 2000) code pblw is called from in4dgd in lines IN4DGD.666 and IN4DGD.667 as follows: CALL BLW(IL,JL,WXYTOP,DUM2D,BLDUM2D,RINBLW,DX,TIMANLS,CDATES, + IN) where CDATES is a CHARACTER*19, and the subroutine statement for BLW reads: SUBROUTINE BLW(IL,JL,WTTOP_L,BLWXY_L,BLDUM2D_L,RINBLW,DX, MPP.401 1TIMANLS,MDATES,IN) MPP.402 where MDATES is declared as INTEGER. I changed those lines to CALL BLW(IL,JL,WXYTOP,DUM2D,BLDUM2D,RINBLW,DX,TIMANLS,IN) and SUBROUTINE BLW(IL,JL,WTTOP_L,BLWXY_L,BLDUM2D_L,RINBLW,DX, 1TIMANLS,IN) respectively. I appreciated your help very much. Best regards, Marc _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ Marc Salzmann Department of Earth Sciences tel.:+46 (0)31 7731962 Box 460 e-mail: marc@gvc.gu.se University of Gothenburg 405 30 Gothenburg, Sweden _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_ On Thu, 22 Jun 2000, Al Bourgeois wrote: > Hi Marc, > > If the error is happening on an access to BLWXY(I,J), then it could be that the > value computed for array index IX is causing an out-of-bounds memory access for > BLWXY_G. If the error is happening on an RSL_WRITE, then there could be an > inconsistency between IL, GLEN, and LLEN. Could you please clarify the line > number where the operand range error occurs? In your note you wrote: > > > >On a T3E with CF90 Version 3.3.0.2, the lines MPP.413f of the > > >fdda subroutine mpblw.F > > Are you running with nests? If so, is this error happening on a nest? (I.e., is > IN .gt. 1?) > We can probably figure out what is going wrong by knowing the values of IN, > LLEN, GLEN, and IL on processor 0 just before the error occurs. Could you write > these out on entrance to mpblw.F? This would require editing the > MPP/RSL/parallel_src/mpblw.F file and doing a "make mpp" from the MM5 directory. > E.g., make the following edits to mpblw.F: > > REAL BLDUM2D_G(mix_g * mjx_g) > MPP.412 > Cajb 3/28/97 Bug fix to replace mix_g with il in definition of IX. > # define IX(I,J) ((I)+((J)-1)*il) > # define BLWXY(I,J) BLWXY_G(IX(I,J)) > # define WTTOP(I,J) WTTOP_G(IX(I,J)) > # define BLDUM2D(I,J) BLDUM2D_G(IX(I,J)) > > write(0,*) 'IN = ',IN > write(0,*) 'LLEN = ',LLEN > write(0,*) 'GLEN = ',GLEN > write(0,*) 'IL = ',IL > > CALL RSL_WRITE(WTTOP_G,IO2D_IJ_INTERNAL, > + WTTOP_L,DOMAINS(in),RSL_REAL,glen,llen) > CALL RSL_WRITE(BLWXY_G,IO2D_IJ_INTERNAL, > + BLWXY_L,DOMAINS(in),RSL_REAL,glen,llen) > > Then look at file rsl.error.0000 for the output. > > If you are running with nests, it would also be helpful to know the horizontal > dimensions of the coarse and nest domains. > > If you can get this information back to me, hopefully we can determine the > problem. If not, I could get your data and see if I can re-create the problem. > > -Al > > > > > > "John G. Michalakes" wrote: > > > > Dear Marc, > > > > I haven't seen this before, but I don't work with the T3E very much. I'm > > cc'ing Al Bourgeois, who's working with the MM5 group at NCAR now, and is > > "of ROTANG." Al has a lot of experience on the T3E from when he worked at > > EPA. (That's his comment there in the code fragment you sent). > > > > What version and release number of MM5 are you using? > > > > John > > > > At 01:43 PM 6/22/00 +0200, you wrote: > > >Dear John, > > > > > >Could RSL_WRITE possibly cause problems when writing a > > >two dimensional array to a one dimensional array? > > > > > >On a T3E with CF90 Version 3.3.0.2, the lines MPP.413f of the > > >fdda subroutine mpblw.F of the current release of MM5-MPP cause the > > >following error: > > > > > >SIGNAL: Operand range error ( [13] unaligned address fault) > > > > > > > > >Here is an extract from the MM5-MPP subroutine mpblw.F > > >which causes the error (unchanged): > > > > > > DIMENSION WTTOP_L(MIXFG,MJXFG),BLWXY_L(MIXFG,MJXFG), MPP.406 > > > 1 BLDUM2D_L(MIXFG,MJXFG) > > > > > > REAL BLWXY_G(mix_g * mjx_g) MPP.410 > > > REAL WTTOP_G(mix_g * mjx_g) MPP.411 > > > REAL BLDUM2D_G(mix_g * mjx_g) MPP.412 > > >Cajb 3/28/97 Bug fix to replace mix_g with il in definition of IX. > > ># define IX(I,J) ((I)+((J)-1)*il) MPP.414 > > ># define BLWXY(I,J) BLWXY_G(IX(I,J)) MPP.415 > > ># define WTTOP(I,J) WTTOP_G(IX(I,J)) MPP.416 > > ># define BLDUM2D(I,J) BLDUM2D_G(IX(I,J)) MPP.417 > > >C > > > CALL RSL_WRITE(WTTOP_G,IO2D_IJ_INTERNAL, > > > + WTTOP_L,DOMAINS(in),RSL_REAL,glen,llen) > > > CALL RSL_WRITE(BLWXY_G,IO2D_IJ_INTERNAL, MPP.423 > > > + BLWXY_L,DOMAINS(in),RSL_REAL,glen,llen) > > > > > >. > > >. > > >. > > > > > > CALL RSL_READ (BLWXY_G,IO2D_IJ_INTERNAL, MPP.437 > > > + BLWXY_L,DOMAINS(in),RSL_REAL,glen,llen) MPP.438 > > >c probably not necesssary to do bldum2d; I think it's just scratch MPP.439 > > > CALL RSL_READ (BLDUM2D_G,IO2D_IJ_INTERNAL, MPP.440 > > > + bldum2d_l,DOMAINS(in),RSL_REAL,glen,llen) MPP.441 > > > > > > > > >I would really appreciate if you (or ROTANG) could examine the problem > > >and give me some hint. > > > > > >Best regards, Marc Salzmann > > > > > > > > > > > >_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ > > > > > >Marc Salzmann > > >Department of Earth Sciences tel.:+46 (0)31 7731962 > > >Box 460 e-mail: marc@gvc.gu.se > > >University of Gothenburg > > >405 30 Gothenburg, Sweden > > > > > >_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_ > > > > ---------------------------------------------------------------------- > > John Michalakes, michalak@ucar.edu, http://www.mcs.anl.gov/~michalak > > ---------------------------------------------------------------------- > > MCS Division | MMM Division > > Argonne National Laboratory | National Center for Atmospheric Research > > | 3450 Mitchell Lane, Boulder, CO 80301 > > | 303-497-8199 > > ---------------------------------------------------------------------- > ---------------------------------------------------------------------- John Michalakes, michalak@ucar.edu, http://www.mcs.anl.gov/~michalak ---------------------------------------------------------------------- MCS Division | MMM Division Argonne National Laboratory | National Center for Atmospheric Research | 3450 Mitchell Lane, Boulder, CO 80301 | 303-497-8199 ----------------------------------------------------------------------