[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Problem of "out array exceeded"



Dear Sirs
First of all, thank you for Dr Michaël Kummert's advice on the max. number of global arrary of outputs: 3000 in TRNSYS.
I would like to invite more discussion on my problem as listed below:
I have got a problem in TRNSYS input file and may I have your advice please.
There are totally 10 nos. of PIPE (type 31) connected by Mixers or Diverters in my input file. In running the simulation, an error message of "The output storage of the out array has been exceeded" appears and the simulation cannot start. When I delete all the pipes (type 31) and just connect the mixers and diverters directly to form the HVAC water circuit, the error "The output storage of the out array has been exceeded" disappears and the simulation can go on.
In tackling this "The output storage of the out array has been exceeded" problem, I have gone through some of the *.for files.
(In RCHECK.for) IF ((K1+NUMOUT).GT.NMOUT),
then the following will be printed on screen:
5000 FORMAT(//,1X,'***** ERROR *****',8X,'TRNSYS ERROR # ',I3,/1X,'THE 1 OUTPUT STORAGE OF THE OUT ARRAY HAS BEEN EXCEEDED')
NMOUT is set to 2000 by TRNSYS (PARAM.INC) and, NUMOUT=MAX(20,INFO2(6)), in the case of PIPE (type 31), NUMOUT is 6.
The problem comes from the value of K1 which make the output storage greater than 2000.
The value of K1 is: K1=IOUTPT(INUNIT) where INUNIT=INFO2(1)=Unit Number.
(In Proc.for) IF ((I.GE.8 .AND. I.LE.20).OR.(I.GE.35.AND.I.LE.41)) THEN IOUTPT(IU) = ILOUT + 1 IF (I.GE.13) THEN ILOUT = ILOUT + INPUTS ELSE CNB ILOUT = ILOUT + 20 ILOUT = ILOUT + 60 END IF
My question is that I cannot understand the meanings of IOUTPT and IU which causes the output storage greater than 2000.

Thanks a lot!
Apple Chan 13 Feb. 2003