head 1.2; access; symbols; locks wmc:1.2; strict; comment @# @; 1.2 date 2002.03.04.17.58.29; author wmc; state Exp; branches; next 1.1; 1.1 date 2002.03.04.17.56.21; author wmc; state Exp; branches; next ; desc @@ 1.2 log @*** empty log message *** @ text @*/ */ There is a bug in the setting of IBUFLEN (the length of */ the largest field to be written) in the MPP code. When written */ out, the length includes the halo (why?) but when calculated, the */ size is ignored. */ */ 2002/02/xx - original */ 2002/03/04 - improve to set ocean too! */ *DECLARE INITMEA1 *I INITMEA1.272 print *,'IBUFLEN (atmos) set to: ',IBUFLEN(atmos_sm) DO I=1,A_LEN2_LOOKUP IF (A_MPP_LOOKUP(P_LBLREC,I).GT.IBUFLEN(atmos_sm)) & IBUFLEN(atmos_sm)=A_MPP_LOOKUP(P_LBLREC,I) ENDDO print *,'IBUFLEN (atmos) reset to: ',IBUFLEN(atmos_sm) *I TJ300394.82 print *,'IBUFLEN (ocean) set to: ',IBUFLEN(ocean_sm) DO I=1,O_LEN2_LOOKUP IF (O_MPP_LOOKUP(P_LBLREC,I).GT.IBUFLEN(ocean_sm)) & IBUFLEN(ocean_sm)=O_MPP_LOOKUP(P_LBLREC,I) ENDDO print *,'IBUFLEN (ocean) reset to: ',IBUFLEN(ocean_sm) */ */ But there is more. IBUFLEN is then recalculated in acumps1 */ (which is very naughty, as its been used on input as the length */ of a dynamic array). remove the recalc */ *DECLARE ACUMPS1 *D GKR1F402.264,ACUMPS1.260 C Removed the next 6 lines: done in initmea1 C IBUFLEN=LOOKUP(LBLREC,1) GKR1F402.264 C IF (LEN2_LOOKUP.GT.1) THEN GKR1F402.265 C DO I=2,LEN2_LOOKUP GKR1F402.266 C IBUFLEN=MAX(IBUFLEN,LOOKUP(LBLREC,I)) GKR1F402.267 C ENDDO GKR1F402.268 C ENDIF ACUMPS1.260 @ 1.1 log @Initial revision @ text @d7 3 d11 1 a11 1 *I INITMEA1.273 d17 8 a24 1 print *,'IBUFLEN (atmos) set to: ',IBUFLEN(atmos_sm) @