<html>
<body>
Jordi,<br>
  Are you making a Type that is going to be in its own external dll
or one that is going to be inside the TRNDll.dll. If you are going to
link your component in to the rest of TRNDll.dll then you can add your
allocatable arrays to TRNSYSData. If you are making a DLL that is
external to TRNDll.dll then I would recommend that you create a new data
module (called Type333Data.for or something) and add it to your project
instead of modifying TRNSYSData.for and adding it to the
project.<br><br>
  Second, I would suggest that you stay away from trying to
dynamically size the OUT() and OCHECK() arrays. The amount of spots
reserved for those arrays is set by your Type during one of the
initialization calls (when you set INFO(6) to the required number of
outputs). What is normally done instead is to simply make the OUT() array
big enough to handle the largest number of outputs that you anticipate
having from your Type.<br>
Cheers,<br>
 David<br>
 <br><br>
At 10:14 5/25/2007, jordi cipriano wrote:<br>
<blockquote type=cite class=cite cite=""><font size=2>Dear David, <br>
</font> <br>
<font size=2>Many thanks, but I followed your instructions and when I
compile my Type a lot of errors appear:<br>
1. I wrote the following at the uses statement of my type:<br>
USE TrnsysData, ONLY: STORED,OUT,OCHECK,a,b,c,r,Tn,Tnm05,Tnm1<br>
These arrays are my allocatable arrays which I defined as allocatable
within the Trnsysdata routine, as you suggested. The compilation error
is:<br>
Error: Name in only-list does not exist.   [STORED]<br>
2. In my type I also included the allocate instructiion, after reading
the values of the parameters, as:<br>
IF(.NOT.ALLOCATED(STORED)) ALLOCATE(STORED(NSTORED),stat=istat)<br>
And the compilation error is:<br>
Error: This name does not have a type, and must have an explicit
type.   [STORED]<br>
and:<br>
Error: An array-valued argument is required in this context.  
[ALLOCATED]<br>
</font> <br>
<font size=2>Do you know what are the causes of these errors?<br>
</font> <br>
<font size=2>Many thanks again, <br>
</font> <br>
<font size=2>Jordi Cipriano <br>
</font>
<dl>
<dd>----- Original Message ----- <br>

<dd>From:</b> <a href="mailto:bradley@tess-inc.com">David Bradley</a>
<br>

<dd>To:</b> <a href="mailto:cipriano@cimne.upc.edu">jordi cipriano</a> ;
<a href="mailto:trnsys-users@engr.wisc.edu">trnsys-users@engr.wisc.edu</a>
 <br>

<dd>Sent:</b> Friday, May 25, 2007 12:14 AM<br>

<dd>Subject:</b> Re: [TRNSYS-users] Problems with dynamic arrays
definition in new types<br><br>

<dd>Jordi,<br>

<dd>  You have run into an annoyance of Fortran. As soon as you
leave the Type subroutine, the allocatable array disappears. What you
need to do is define the allocatable array globally in a "data only
module" Your ALLOCATE instruction stays where it is but then the
array doesn't disappear. You can see what I mean if you look at the file
TRNSYSData.for. You will see the lines:<br><br>

<dd><font color="#008000">C ********* DECLARE ALLOCATABLE ARRAYS FOR USE
IN DYNDATA <br>
</font>
<dd><font color="#0000FF">DOUBLE PRECISION</b></font>,
<font color="#0000FF">ALLOCATABLE</b> </font>:: X1dd( : ,: ),X2dd( : ,:
),X3dd( : ,: )<br>

<dd><font color="#0000FF">DOUBLE PRECISION</b></font>,
<font color="#0000FF">ALLOCATABLE</b> </font>:: X4dd( : ,: ),YDATAdd( :
,: ),DATAINdd( : )<br>

<dd><font color="#0000FF">INTEGER</b></font> ,
<font color="#0000FF">ALLOCATABLE</b> </font>:: LUSTORdd( : ), IPTdd( :
)<br><br>

<dd>those lines declare the allocatable arrays that are actually used in
the DynamicData routine.<br>

<dd>Cheers,<br>

<dd>  David<br><br>

<dd>At 11:03 5/24/2007, jordi cipriano wrote:<br>
<blockquote type=cite class=cite cite="">
<dd><font size=2>Dear Trnsys users, <br>
</font>
<dd> <br>

<dd><font size=2>I have a question concerning to the use of Dynamic
arrays in new Trnsys types. I'm programming a new Type with fortran 90
and I'm using the instruction ALLOCATABLE to define the dimension of some
arrays. This dimension is depending on an input defined in the proforma.
<br>
</font>
<dd> <br>

<dd><font size=2>The issue is that I don't exactly know at which step
iteration should I define the array dimension so that this dimenson keeps
saved in each iteration. In other words, if I define the array dimension
just bellow the variables definition, each time the trnsys call my type,
the matrix appear as "Undefined pointer/array" until trnsys
finds the ALLOCATE instruction. This happens even if I've already defined
the dimension in previous iteration callings. This fact affects all the
calculations because one of the arrays is the STORED array, which I use
to update the temporary terms of my ecuations.  <br>
</font>
<dd> <br>

<dd><font size=2>Does anybody know who to solve this problem?<br>
</font>
<dd> <br>

<dd><font size=2>Many thanks, <br>
</font>
<dd> <br>

<dd><font size=2>Jordi Cipriano<br>

<dd>BEE-Group<br>

<dd>CIMNE-Terrassa<br>

<dd>CIMNE. Spain <br>
</font><br>

<dd>_______________________________________________<br>

<dd>TRNSYS-users mailing list<br>

<dd>TRNSYS-users@engr.wisc.edu<br>

<dd>
<a href="https://www.cae.wisc.edu/mailman/listinfo/trnsys-users" eudora="autourl">
https://www.cae.wisc.edu/mailman/listinfo/trnsys-users</a></blockquote>
<br>

<dd>
****************************************************************************************<br>

<dd>Thermal Energy System Specialists (TESS), LLC <br>

<dd>David
BRADLEY                          
2916 Marketplace Drive - Suite 104 <br>

<dd>
Partner                                       
Madison, WI 53719 <br>

<dd>Phone: (608) 274-2577 USA <br>

<dd>Fax: (608) 278-1475 <br>

<dd>E-mail: bradley@tess-inc.com <br>

<dd>Web Pages: 
<a href="http://www.tess-inc.com    /" eudora="autourl">
http://www.tess-inc.com    </a>
and     
<a href="http://www.trnsys.com/" eudora="autourl">
http://www.trnsys.com</a><br><br>

<dd>"Providing software solutions for today's energy engineering
projects" <br>

<dd>
****************************************************************************************<br>
</blockquote>
<x-sigsep><p></x-sigsep>

</dl>
****************************************************************************************<br>
Thermal Energy System Specialists (TESS), LLC <br>
David
BRADLEY                          
2916 Marketplace Drive - Suite 104 <br>
Partner                                       
Madison, WI 53719 <br>
Phone: (608) 274-2577 USA <br>
Fax: (608) 278-1475 <br>
E-mail: bradley@tess-inc.com <br>
Web Pages: 
<a href="http://www.tess-inc.com/" eudora="autourl">
http://www.tess-inc.com</a>    
and     
<a href="http://www.trnsys.com/" eudora="autourl">
http://www.trnsys.com<br><br>
</a>"Providing software solutions for today's energy engineering
projects" <br>
****************************************************************************************<br>
</body>
</html>