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

[TRNSYS-users] Creation of a New Type and Error message 105



Dear Trnsys Users,
I’m a new user of Trnsys and it’s the first time I create a new type. I wrote a code (Type182.f90) to read 2 different .
txt files, mappa_ABS.txt and mappa_HD.txt, and simulate the coupling between an ABS chiller and a desalinator. From this code I created the 
library Type182.dll using Visual Studio 2008 (I followed the instruction of 08-ProgrammersGuide.pdf in the section “Instructions to add a 
new project to the Ivf90-Mvs2003 Solution”).
At this point I created a simple Project.ptf to test the new component, but I obtain this 
error:

*** Fatal Error at time   :         0.000000
    Generated by Unit     :     4
    Generated by Type     :   182
    TRNSYS 
Message    105 : A TYPE was called in the TRNSYS input file but was either not linked into trndll.dll or was not found in an external dll. 
A dummy subroutine was called in its place. Please link the TYPE or remove it from the input file
    Reported information  : Not available


Anyone can help me???
You can find all these files in attached to this email:
•	Type182.f90
•	Type182.tmf
•	mappa_ABS.txt and mappa_HD.txt 
(to paste in folder C:\Program Files\Trnsys16\SourceCode\MySource)
•	Type182.dll
•	Project.dck

Thanks in advance,
Ph.D. Alberto Picinardi

University of Bergamo, Italy



Risparmia con Tutto Incluso Light: telefono + adsl 8 mega a soli 19,95 € al mese per un anno!

SCONTO DI 120 EURO! 

L’offerta è valida solo se attivi entro il 29/07/10

http://abbonati.tiscali.it/telefono-adsl/prodotti/tc/tuttoincluso_light/?WT.mc_id=01fw
5	10	6
0.4	0.6	0.8	1.0	1.2					
75	80	85	90	95	100	105	110	115	120
26	30	34	38	42	46				
0.674052	0.677270								
0.460276	0.612677								
0.265719	0.508767								
0.063248	0.222966								
0.000000	0.000000								
0.000000	0.000000								
0.755833	0.677531								
0.552988	0.628503								
0.359121	0.551884								
0.157866	0.383548								
0.000000	0.000000								
0.000000	0.000000								
0.845566	0.679717								
0.643610	0.639107								
0.449818	0.580486								
0.255936	0.479760								
0.072017	0.240497								
0.000000	0.000000								
0.930828	0.682493								
0.729303	0.651963								
0.541321	0.612720								
0.343769	0.540964								
0.156398	0.394942								
0.000000	0.000000								
1.004721	0.688632								
0.807271	0.664849								
0.614433	0.631743								
0.421663	0.580755								
0.239898	0.488267								
0.057243	0.219281								
1.069420	0.692611								
0.875074	0.672760								
0.685980	0.647148								
0.496228	0.608021								
0.320478	0.547393								
0.145102	0.398073								
1.128323	0.695807								
0.939837	0.679127								
0.750618	0.658187								
0.575652	0.631898								
0.401066	0.586841								
0.221699	0.483693								
1.190918	0.698594								
1.010113	0.685464								
0.831262	0.670218								
0.660742	0.650090								
0.474838	0.610442								
0.296071	0.539246								
1.258243	0.700852								
1.069917	0.688751								
0.891040	0.675906								
0.717470	0.658309								
0.527291	0.621122								
0.366321	0.579258								
1.305902	0.701777								
1.130129	0.693232								
0.954415	0.681613								
0.783352	0.666976								
0.599694	0.636662								
0.435842	0.607463								
0.782127	0.700457								
0.533577	0.638836								
0.310978	0.540740								
0.077776	0.257281								
0.000000	0.000000								
0.000000	0.000000								
0.866355	0.698724								
0.630984	0.650126								
0.412886	0.578288								
0.192179	0.424645								
0.000000	0.000000								
0.000000	0.000000								
0.957756	0.697902								
0.737156	0.660794								
0.517474	0.604189								
0.296951	0.507853								
0.088583	0.275192								
0.000000	0.000000								
1.052779	0.698004								
0.835606	0.670354								
0.617453	0.631718								
0.393495	0.563007								
0.186814	0.429413								
0.000000	0.000000								
1.136800	0.703209								
0.916284	0.679929								
0.701308	0.649429								
0.478675	0.598349								
0.272625	0.509338								
0.068461	0.249513								
1.214705	0.706624								
0.992950	0.687011								
0.777794	0.661420								
0.565686	0.625477								
0.362565	0.565712								
0.138716	0.382728								
1.282031	0.708747								
1.060748	0.691511								
0.847725	0.669837								
0.642034	0.642340								
0.451933	0.603390								
0.240340	0.495530								
1.342092	0.709910								
1.132762	0.695724								
0.931425	0.679431								
0.735875	0.659847								
0.544394	0.629790								
0.325865	0.551908								
1.417463	0.712112								
1.202645	0.698387								
0.995118	0.683910								
0.801208	0.667856								
0.604527	0.641170								
0.401193	0.586678								
1.452313	0.710216								
1.297494	0.703939								
1.064007	0.689613								
0.874448	0.675758								
0.671755	0.650394								
0.476599	0.613150								
0.845885	0.712183								
0.576791	0.651885								
0.337969	0.557292								
0.086493	0.276341								
0.000000	0.000000								
0.000000	0.000000								
0.938511	0.710323								
0.680631	0.662264								
0.446591	0.592847								
0.209345	0.442370								
0.000000	0.000000								
0.000000	0.000000								
1.033198	0.708659								
0.793118	0.671858								
0.558720	0.617568								
0.321742	0.522677								
0.094436	0.284902								
0.000000	0.000000								
1.131373	0.707854								
0.896807	0.679413								
0.663542	0.642030								
0.425757	0.576189								
0.202340	0.444518								
0.000000	0.000000								
1.216308	0.710801								
0.981249	0.687808								
0.752796	0.658434								
0.518268	0.609873								
0.292597	0.521301								
0.081732	0.281132								
1.295113	0.713625								
1.061569	0.694131								
0.833088	0.669422								
0.604341	0.633070								
0.385289	0.572791								
0.160012	0.414043								
1.366271	0.714954								
1.132925	0.698098								
0.906513	0.676985								
0.682433	0.649000								
0.479584	0.610391								
0.253030	0.503078								
1.427008	0.715668								
1.204346	0.701370								
0.990129	0.684637								
0.778786	0.664200								
0.581681	0.637593								
0.345344	0.560257								
1.501746	0.717158								
1.280123	0.704002								
1.057626	0.688771								
0.846857	0.672017								
0.643143	0.647957								
0.424004	0.593397								
1.561060	0.717279								
1.376552	0.708656								
1.123699	0.692607								
0.924782	0.680057								
0.720278	0.659057								
0.502473	0.618053								
0.888696	0.719326								
0.605033	0.659724								
0.356180	0.567593								
0.092433	0.288692								
0.000000	0.000000								
0.000000	0.000000								
0.986529	0.717468								
0.712698	0.669409								
0.468936	0.601826								
0.220785	0.453449								
0.000000	0.000000								
0.000000	0.000000								
1.085045	0.715516								
0.829289	0.678381								
0.584652	0.625329								
0.338201	0.531866								
0.107509	0.309737								
0.000000	0.000000								
1.182277	0.713408								
0.937875	0.685336								
0.693661	0.648231								
0.447179	0.584327								
0.212481	0.453668								
0.000000	0.000000								
1.273868	0.715904								
1.024270	0.692698								
0.786495	0.663909								
0.543018	0.616632								
0.306114	0.528926								
0.083842	0.285462								
1.354243	0.718402								
1.106885	0.698468								
0.869424	0.674244								
0.631396	0.638554								
0.400901	0.578520								
0.176727	0.435531								
1.426717	0.719584								
1.180574	0.702232								
0.944943	0.681364								
0.709930	0.652695								
0.502355	0.616364								
0.258889	0.504398								
1.487630	0.719670								
1.250945	0.704896								
1.028993	0.688239								
0.806505	0.667390								
0.604390	0.641510								
0.360568	0.566080								
1.555463	0.720150								
1.329012	0.707274								
1.101136	0.691973								
0.876838	0.674897								
0.669627	0.652060								
0.439140	0.597664								
1.618591	0.720329								
1.378978	0.707183								
1.194826	0.698082								
0.956636	0.682254								
0.749415	0.663012								
0.522089	0.622004								
0.919014	0.724259								
0.624906	0.664868								
0.359964	0.568815								
0.097205	0.298228								
0.000000	0.000000								
0.000000	0.000000								
1.021022	0.722368								
0.735290	0.674141								
0.485037	0.607924								
0.229154	0.461146								
0.000000	0.000000								
0.000000	0.000000								
1.120439	0.719938								
0.854335	0.682660								
0.604300	0.630860								
0.350007	0.538119								
0.111557	0.316467								
0.000000	0.000000								
1.222098	0.717897								
0.965931	0.688910								
0.714935	0.652334								
0.462430	0.589773								
0.217697	0.457006								
0.000000	0.000000								
1.316736	0.719610								
1.053703	0.695891								
0.807707	0.666941								
0.560679	0.621173								
0.315677	0.533995								
0.094766	0.309053								
1.395083	0.721538								
1.138455	0.701410								
0.895081	0.677388								
0.649496	0.641347								
0.411990	0.582318								
0.180326	0.439448								
1.471560	0.722751								
1.215296	0.705181								
0.972036	0.684269								
0.730792	0.655835								
0.508124	0.616251								
0.265171	0.509030								
1.531211	0.722577								
1.283533	0.707250								
1.056255	0.690610								
0.826632	0.669615								
0.619342	0.643848								
0.370284	0.569933								
1.601478	0.722877								
1.361403	0.709396								
1.131301	0.694374								
0.897753	0.675968								
0.685393	0.654155								
0.449926	0.600586								
1.662048	0.722524								
1.413355	0.709171								
1.264098	0.703607								
0.978852	0.684015								
0.767381	0.665077								
0.535941	0.624693								
			SUBROUTINE TYPE182 (TIME,XIN,OUT,T,DTDT,PAR,INFO,ICNTRL,*) 
!************************************************************************
! Object: ABS+DHD
! Simulation Studio Model: Type182
! 
! Author: Alberto Picinardi
! Editor: 
! Date:	 July 21, 2010 last modified: July 21, 2010
! 
! 
! *** 
! *** Model Parameters 
! *** 
!			Cpw	kJ/kg.K [-Inf;+Inf]
!			tol	- [-Inf;+Inf]
!			MaxIter	- [-Inf;+Inf]

! *** 
! *** Model Inputs 
! *** 
!			Qevanom	kW [-Inf;+Inf]
!			COPnom	- [-Inf;+Inf]
!			Theatin	C [-Inf;+Inf]
!			Tchillin	C [-Inf;+Inf]
!			Tamb	C [-Inf;+Inf]
!			Tsea	C [-Inf;+Inf]
!			mheat	kg/s [-Inf;+Inf]
!			mcool	kg/s [-Inf;+Inf]
!			mchill	kg/s [-Inf;+Inf]

! *** 
! *** Model Outputs 
! *** 
!			Qevaeff	kW [-Inf;+Inf]
!			COPeff	- [-Inf;+Inf]
!			Qcool	kW [-Inf;+Inf]
!			Theatout	C [-Inf;+Inf]
!			Tcoolin	C [-Inf;+Inf]
!			Tcoolout	C [-Inf;+Inf]
!			Tchillout	C [-Inf;+Inf]
!			FreshWater	kg/s [-Inf;+Inf]
!			Id	- [-Inf;+Inf]
!			Overalleff	- [-Inf;+Inf]
!			SpecEnergy	- [-Inf;+Inf]
!			Ratio_LG	- [-Inf;+Inf]

! *** 
! *** Model Derivatives 
! *** 

! (Comments and routine interface generated by TRNSYS Studio)
!************************************************************************

!    TRNSYS acess functions (allow to acess TIME etc.) 
      USE TrnsysConstants
      USE TrnsysFunctions

!-----------------------------------------------------------------------------------------------------------------------
!    REQUIRED BY THE MULTI-DLL VERSION OF TRNSYS
      !DEC$ATTRIBUTES DLLEXPORT :: TYPE182				!SET THE CORRECT TYPE NUMBER HERE
!-----------------------------------------------------------------------------------------------------------------------
!-----------------------------------------------------------------------------------------------------------------------
!    TRNSYS DECLARATIONS
      IMPLICIT NONE			!REQUIRES THE USER TO DEFINE ALL VARIABLES BEFORE USING THEM

	DOUBLE PRECISION XIN	!THE ARRAY FROM WHICH THE INPUTS TO THIS TYPE WILL BE RETRIEVED
	DOUBLE PRECISION OUT	!THE ARRAY WHICH WILL BE USED TO STORE THE OUTPUTS FROM THIS TYPE
	DOUBLE PRECISION TIME	!THE CURRENT SIMULATION TIME - YOU MAY USE THIS VARIABLE BUT DO NOT SET IT!
	DOUBLE PRECISION PAR	!THE ARRAY FROM WHICH THE PARAMETERS FOR THIS TYPE WILL BE RETRIEVED
	DOUBLE PRECISION STORED !THE STORAGE ARRAY FOR HOLDING VARIABLES FROM TIMESTEP TO TIMESTEP
	DOUBLE PRECISION T		!AN ARRAY CONTAINING THE RESULTS FROM THE DIFFERENTIAL EQUATION SOLVER
	DOUBLE PRECISION DTDT	!AN ARRAY CONTAINING THE DERIVATIVES TO BE PASSED TO THE DIFF.EQ. SOLVER
	INTEGER*4 INFO(15)		!THE INFO ARRAY STORES AND PASSES VALUABLE INFORMATION TO AND FROM THIS TYPE
	INTEGER*4 NP,NI,NOUT,ND	!VARIABLES FOR THE MAXIMUM NUMBER OF PARAMETERS,INPUTS,OUTPUTS AND DERIVATIVES
	INTEGER*4 NPAR,NIN,NDER	!VARIABLES FOR THE CORRECT NUMBER OF PARAMETERS,INPUTS,OUTPUTS AND DERIVATIVES
	INTEGER*4 IUNIT,ITYPE	!THE UNIT NUMBER AND TYPE NUMBER FOR THIS COMPONENT
	INTEGER*4 ICNTRL		!AN ARRAY FOR HOLDING VALUES OF CONTROL FUNCTIONS WITH THE NEW SOLVER
	INTEGER*4 NSTORED		!THE NUMBER OF VARIABLES THAT WILL BE PASSED INTO AND OUT OF STORAGE
	CHARACTER*3 OCHECK		!AN ARRAY TO BE FILLED WITH THE CORRECT VARIABLE TYPES FOR THE OUTPUTS
	CHARACTER*3 YCHECK		!AN ARRAY TO BE FILLED WITH THE CORRECT VARIABLE TYPES FOR THE INPUTS
!-----------------------------------------------------------------------------------------------------------------------

!-----------------------------------------------------------------------------------------------------------------------
!    USER DECLARATIONS - SET THE MAXIMUM NUMBER OF PARAMETERS (NP), INPUTS (NI),
!    OUTPUTS (NOUT), AND DERIVATIVES (ND) THAT MAY BE SUPPLIED FOR THIS TYPE
      PARAMETER (NP=3,NI=9,NOUT=12,ND=0,NSTORED=0)
!-----------------------------------------------------------------------------------------------------------------------

!-----------------------------------------------------------------------------------------------------------------------
!    REQUIRED TRNSYS DIMENSIONS
      DIMENSION XIN(NI),OUT(NOUT),PAR(NP),YCHECK(NI),OCHECK(NOUT),STORED(NSTORED),T(ND),DTDT(ND)
      INTEGER NITEMS
!-----------------------------------------------------------------------------------------------------------------------
!-----------------------------------------------------------------------------------------------------------------------
!    ADD DECLARATIONS AND DEFINITIONS FOR THE USER-VARIABLES HERE


!    PARAMETERS
      DOUBLE PRECISION Cpw
      DOUBLE PRECISION tol
      DOUBLE PRECISION MaxIter

!    INPUTS
      DOUBLE PRECISION Qevanom
      DOUBLE PRECISION COPnom
      DOUBLE PRECISION Theatin
      DOUBLE PRECISION Tchillin
      DOUBLE PRECISION Tamb
      DOUBLE PRECISION Tsea
      DOUBLE PRECISION mheat
      DOUBLE PRECISION mcool
      DOUBLE PRECISION mchill
      
!    Other Parameters

      CHARACTER(70), PARAMETER :: mappaABS ='C:\Program Files\Trnsys16\SourceCode\MySource\mappa_ABS.txt'
      CHARACTER(70), PARAMETER :: mappaHD ='C:\Program Files\Trnsys16\SourceCode\MySource\mappa_HD.txt'
      
      INTEGER i
      INTEGER j
      INTEGER k
      INTEGER m
      
      INTEGER n1
      INTEGER n2
      INTEGER n3
      INTEGER m1
      INTEGER m2
      INTEGER m3
      
      INTEGER NIter
      INTEGER istatus
      
      DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: flowrate_ratio
      DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: theatin_range
      DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: tcoolin_range
      DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: flowrate
      DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: tcoolout_range
      DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: tsea_range
      
      DOUBLE PRECISION, DIMENSION(:,:), ALLOCATABLE :: input
      
      DOUBLE PRECISION, DIMENSION(:,:,:), ALLOCATABLE :: Qmatrix
      DOUBLE PRECISION, DIMENSION(:,:,:), ALLOCATABLE :: COPmatrix
      DOUBLE PRECISION, DIMENSION(:,:,:), ALLOCATABLE :: Dmatrix
      DOUBLE PRECISION, DIMENSION(:,:,:), ALLOCATABLE :: T2matrix
      
      DOUBLE PRECISION Qevaeff
      DOUBLE PRECISION COPeff
      DOUBLE PRECISION Qcool
      DOUBLE PRECISION Qin
      DOUBLE PRECISION Lnom
      DOUBLE PRECISION Lratio
      
      DOUBLE PRECISION err
      DOUBLE PRECISION deltaD
      DOUBLE PRECISION deltaQ
      DOUBLE PRECISION FreshWater_old
      DOUBLE PRECISION Tcoolout_old
      DOUBLE PRECISION Qcool_old
      
      DOUBLE PRECISION :: FreshWater = 0.03
      DOUBLE PRECISION :: Tcoolin = 30
      DOUBLE PRECISION :: Tcoolout = 45  
      
!      DOUBLE PRECISION, EXTERNAL :: LINT3  
      
!-----------------------------------------------------------------------------------------------------------------------
!       READ IN THE VALUES OF THE PARAMETERS IN SEQUENTIAL ORDER
      Cpw=PAR(1)
      tol=PAR(2)
      MaxIter=PAR(3)

!-----------------------------------------------------------------------------------------------------------------------
!    RETRIEVE THE CURRENT VALUES OF THE INPUTS TO THIS MODEL FROM THE XIN ARRAY IN SEQUENTIAL ORDER

      Qevanom=XIN(1)
      COPnom=XIN(2)
      Theatin=XIN(3)
      Tchillin=XIN(4)
      Tamb=XIN(5)
      Tsea=XIN(6)
      mheat=XIN(7)
      mcool=XIN(8)
      mchill=XIN(9)
	   IUNIT=INFO(1)
	   ITYPE=INFO(2)

!-----------------------------------------------------------------------------------------------------------------------
!    SET THE VERSION INFORMATION FOR TRNSYS
      IF(INFO(7).EQ.-2) THEN
	   INFO(12)=16
	   RETURN 1
	END IF
!-----------------------------------------------------------------------------------------------------------------------

!-----------------------------------------------------------------------------------------------------------------------
!    DO ALL THE VERY LAST CALL OF THE SIMULATION MANIPULATIONS HERE
      IF (INFO(8).EQ.-1) THEN
	   RETURN 1
	END IF
!-----------------------------------------------------------------------------------------------------------------------

!-----------------------------------------------------------------------------------------------------------------------
!    PERFORM ANY 'AFTER-ITERATION' MANIPULATIONS THAT ARE REQUIRED HERE
!    e.g. save variables to storage array for the next timestep
      IF (INFO(13).GT.0) THEN
	   NITEMS=0
!	   STORED(1)=... (if NITEMS > 0)
!        CALL setStorageVars(STORED,NITEMS,INFO)
	   RETURN 1
	END IF
!
!-----------------------------------------------------------------------------------------------------------------------

!-----------------------------------------------------------------------------------------------------------------------
!    DO ALL THE VERY FIRST CALL OF THE SIMULATION MANIPULATIONS HERE
      IF (INFO(7).EQ.-1) THEN

!       SET SOME INFO ARRAY VARIABLES TO TELL THE TRNSYS ENGINE HOW THIS TYPE IS TO WORK
         INFO(6)=NOUT				
         INFO(9)=1				
	   INFO(10)=0	!STORAGE FOR VERSION 16 HAS BEEN CHANGED				

!       SET THE REQUIRED NUMBER OF INPUTS, PARAMETERS AND DERIVATIVES THAT THE USER SHOULD SUPPLY IN THE INPUT FILE
!       IN SOME CASES, THE NUMBER OF VARIABLES MAY DEPEND ON THE VALUE OF PARAMETERS TO THIS MODEL....
         NIN=NI
	   NPAR=NP
	   NDER=ND
	       
!       CALL THE TYPE CHECK SUBROUTINE TO COMPARE WHAT THIS COMPONENT REQUIRES TO WHAT IS SUPPLIED IN 
!       THE TRNSYS INPUT FILE
	   CALL TYPECK(1,INFO,NIN,NPAR,NDER)

!       SET THE NUMBER OF STORAGE SPOTS NEEDED FOR THIS COMPONENT
         NITEMS=0
!	   CALL setStorageSize(NITEMS,INFO)

!       RETURN TO THE CALLING PROGRAM
         RETURN 1

      END IF
!-----------------------------------------------------------------------------------------------------------------------

!-----------------------------------------------------------------------------------------------------------------------
!    DO ALL OF THE INITIAL TIMESTEP MANIPULATIONS HERE - THERE ARE NO ITERATIONS AT THE INTIAL TIME
      IF (TIME .LT. (getSimulationStartTime() + getSimulationTimeStep()/2.D0)) THEN

!       SET THE UNIT NUMBER FOR FUTURE CALLS
         IUNIT=INFO(1)
         ITYPE=INFO(2)

!       CHECK THE PARAMETERS FOR PROBLEMS AND RETURN FROM THE SUBROUTINE IF AN ERROR IS FOUND
!         IF(...) CALL TYPECK(-4,INFO,0,"BAD PARAMETER #",0)

!       PERFORM ANY REQUIRED CALCULATIONS TO SET THE INITIAL VALUES OF THE OUTPUTS HERE
!		 Qevaeff
			OUT(1)=0
!		 COPeff
			OUT(2)=0
!		 Qcool
			OUT(3)=0
!		 Theatout
			OUT(4)=0
!		 Tcoolin
			OUT(5)=0
!		 Tcoolout
			OUT(6)=0
!		 Tchillout
			OUT(7)=0
!		 FreshWater
			OUT(8)=0
!		 Id
			OUT(9)=0
!		 Overalleff
			OUT(10)=0
!		 SpecEnergy
			OUT(11)=0
!		 Ratio_LG
			OUT(12)=0

!       PERFORM ANY REQUIRED CALCULATIONS TO SET THE INITIAL STORAGE VARIABLES HERE
         NITEMS=0
!	   STORED(1)=...

!       PUT THE STORED ARRAY IN THE GLOBAL STORED ARRAY
!         CALL setStorageVars(STORED,NITEMS,INFO)

!       RETURN TO THE CALLING PROGRAM
         RETURN 1

      END IF
!-----------------------------------------------------------------------------------------------------------------------

!-----------------------------------------------------------------------------------------------------------------------
!    *** ITS AN ITERATIVE CALL TO THIS COMPONENT ***
!-----------------------------------------------------------------------------------------------------------------------

	    
!-----------------------------------------------------------------------------------------------------------------------
!    RETRIEVE THE VALUES IN THE STORAGE ARRAY FOR THIS ITERATION
!      NITEMS=
!	CALL getStorageVars(STORED,NITEMS,INFO)
!      STORED(1)=
!-----------------------------------------------------------------------------------------------------------------------
!-----------------------------------------------------------------------------------------------------------------------
!    CHECK THE INPUTS FOR PROBLEMS
!      IF(...) CALL TYPECK(-3,INFO,'BAD INPUT #',0,0)
!	IF(IERROR.GT.0) RETURN 1
!-----------------------------------------------------------------------------------------------------------------------
!-----------------------------------------------------------------------------------------------------------------------
!    *** PERFORM ALL THE CALCULATION HERE FOR THIS MODEL. ***
!-----------------------------------------------------------------------------------------------------------------------

!		ADD YOUR COMPONENT EQUATIONS HERE; BASICALLY THE EQUATIONS THAT WILL
!		CALCULATE THE OUTPUTS BASED ON THE PARAMETERS AND THE INPUTS.	REFER TO
!		CHAPTER 3 OF THE TRNSYS VOLUME 1 MANUAL FOR DETAILED INFORMATION ON
!		WRITING TRNSYS COMPONENTS.

!       Reading from mappa_ABS.txt

        OPEN(1,FILE=mappaABS,STATUS='OLD',ACTION='READ',IOSTAT=istatus)

        IF(istatus==0) THEN     ! the file is open correctly

            READ(1,*,IOSTAT=istatus)n1,n2,n3
            
            ALLOCATE(flowrate_ratio(n1))
            ALLOCATE(theatin_range(n2))
            ALLOCATE(tcoolin_range(n3))
            ALLOCATE(input(n1*n2*n3,2))
            
            i=1
            
            DO WHILE(i<(n1*n2*n3)+3)
                SELECT CASE(i)
                    CASE(1)
                        READ(1,*,IOSTAT=istatus)flowrate_ratio(:)
                        i=i+1
                    CASE(2)
                        READ(1,*,IOSTAT=istatus)theatin_range(:)
                        i=i+1
                    CASE(3)
                        READ(1,*,IOSTAT=istatus)tcoolin_range(:)
                        i=i+1
                    CASE DEFAULT
                        READ(1,*,IOSTAT=istatus)input(i-3,:)
                        IF(istatus/=0) THEN
                            WRITE(*,*) 'The file ', mappaABS, ' is not complete'
                            EXIT
                        END IF
                        i=i+1
                END SELECT      
            END DO
            CLOSE(1)
        ELSE
            WRITE(*,*) 'The file ', mappaABS, ' does not exist'
        END IF

        ALLOCATE(Qmatrix(n2,n3,n1))
        ALLOCATE(COPmatrix(n2,n3,n1))

        m=1; 
        DO i=1,n1
              DO j=1,n2
                    DO k=1,n3         
                        Qmatrix(j,k,i)=input(m,1)
                        COPmatrix(j,k,i)=input(m,2)
                        m=m+1
                    END DO
              END DO
        END DO

        DEALLOCATE(input)
        
        Qcool=Qevanom/COPnom+Qevanom
        Lnom=(Qcool*191)/3575
        Lratio=mcool/Lnom


!       Reading from mappa_HD.txt

        OPEN(1,FILE=mappaHD,STATUS='OLD',ACTION='READ',IOSTAT=istatus)
        
        IF(istatus==0) THEN     ! the file is open correctly
        
            READ(1,*,IOSTAT=istatus)m1,m2,m3
            
            ALLOCATE(flowrate(m1))
            ALLOCATE(tcoolout_range(m2))
            ALLOCATE(tsea_range(m3))
            ALLOCATE(input(m1*m2*m3,2))
            
            i=1
            
            DO WHILE(i<(m1*m2*m3)+3)
                SELECT CASE(i)
                    CASE(1)
                        READ(1,*,IOSTAT=istatus)flowrate(:)
                        i=i+1
                    CASE(2)
                        READ(1,*,IOSTAT=istatus)tcoolout_range(:)
                        i=i+1
                    CASE(3)
                        READ(1,*,IOSTAT=istatus)tsea_range(:)
                        i=i+1
                    CASE DEFAULT
                        READ(1,*,IOSTAT=istatus)input(i-3,:)
                        IF(istatus/=0) THEN
                            WRITE(*,*) 'The file ', mappaHD, ' is not complete'
                            EXIT
                        END IF
                        i=i+1
                END SELECT      
            END DO
            CLOSE(1)
        ELSE
            WRITE(*,*) 'The file ', mappaHD, ' does not exist'
        END IF
        
        ALLOCATE(Dmatrix(m2,m3,m1))
        ALLOCATE(T2matrix(m2,m3,m1))
        
        m=1; 
        DO i=1,m1
              DO j=1,m2
                    DO k=1,m3         
                        Dmatrix(j,k,i)=input(m,1)
                        T2matrix(j,k,i)=input(m,2)
                        m=m+1
                    END DO
              END DO
        END DO
        
        DEALLOCATE(input)


!       Resolution of the System

        err=1;
        NIter=0;
        
        DO WHILE(err>=tol.AND.NIter<MaxIter)
        
!       Desalinator
    
            deltaD=1;
            DO WHILE(deltaD>0.01)
                IF(Tcoolout==Tcoolin) THEN
                    FreshWater=0
                    Tcoolin=Tsea
                    Tcoolout=Tsea
                    deltaD=0
                ELSE
                    FreshWater_old=FreshWater
                    FreshWater=LINT3(m2,m3,m1,tcoolout_range,&
                     tsea_range,flowrate,Dmatrix,Tcoolout,Tsea,mcool)
                    Tcoolin=lint3(m2,m3,m1,tcoolout_range,tsea_range,&
                     flowrate,T2matrix,Tcoolout,Tsea,mcool)
                    
                    deltaD=ABS((FreshWater_old-FreshWater)/FreshWater_old)
                END IF
            END DO
            
            Tcoolout_old=Tcoolout
            
!       Chiller

            deltaQ=1
            DO WHILE(deltaQ>0.01)
                IF(Theatin<theatin_range(1)) THEN
                    Tcoolout=Tcoolin
                    Qevaeff=0
                    COPeff=0
                    Qcool=0
                    Qin=0
                    deltaQ=0
                    FreshWater=0
                ELSE
                    IF(Theatin>theatin_range(n2)) THEN
                        Theatin=theatin_range(n2)
                    END IF
                    Qcool_old=Qcool
                    Qevaeff=lint3(n2,n3,n1,theatin_range,tcoolin_range,&
                     flowrate_ratio,Qmatrix,Theatin,Tcoolin,Lratio)
                    Qevaeff=Qevaeff*Qevanom
                    COPeff=lint3(n2,n3,n1,theatin_range,tcoolin_range,&
                     flowrate_ratio,COPmatrix,Theatin,Tcoolin,Lratio)
                    Qcool=Qevaeff/COPeff+Qevaeff
                    Tcoolout=Tcoolin+Qcool/(mcool*Cpw)
                    Qin=Qcool/(1+COPeff)
                    deltaQ=ABS((Qcool_old-Qcool)/Qcool_old)
                END IF
            END DO
            
            err=ABS(Tcoolout_old-Tcoolout)
            NIter=NIter+1
        
        END DO
        
        DEALLOCATE(flowrate_ratio)
        DEALLOCATE(theatin_range)
        DEALLOCATE(tcoolin_range)
        DEALLOCATE(Qmatrix)
        DEALLOCATE(COPmatrix)
        DEALLOCATE(flowrate)
        DEALLOCATE(tcoolout_range)
        DEALLOCATE(tsea_range)
        DEALLOCATE(Dmatrix)
        DEALLOCATE(T2matrix)
        
       
!-----------------------------------------------------------------------------------------------------------------------

!-----------------------------------------------------------------------------------------------------------------------
!-----------------------------------------------------------------------------------------------------------------------
!    SET THE STORAGE ARRAY AT THE END OF THIS ITERATION IF NECESSARY
!      NITEMS=
!      STORED(1)=
!	CALL setStorageVars(STORED,NITEMS,INFO)
!-----------------------------------------------------------------------------------------------------------------------
!-----------------------------------------------------------------------------------------------------------------------
!    REPORT ANY PROBLEMS THAT HAVE BEEN FOUND USING CALLS LIKE THIS:
!      CALL MESSAGES(-1,'put your message here','MESSAGE',IUNIT,ITYPE)
!      CALL MESSAGES(-1,'put your message here','WARNING',IUNIT,ITYPE)
!      CALL MESSAGES(-1,'put your message here','SEVERE',IUNIT,ITYPE)
!      CALL MESSAGES(-1,'put your message here','FATAL',IUNIT,ITYPE)
!-----------------------------------------------------------------------------------------------------------------------
!-----------------------------------------------------------------------------------------------------------------------
!    SET THE OUTPUTS FROM THIS MODEL IN SEQUENTIAL ORDER AND GET OUT

!		 Qevaeff
			OUT(1)=Qevaeff
!		 COPeff
			OUT(2)=COPeff
!		 Qcool
			OUT(3)=Qcool
!		 Theatout
			OUT(4)=Theatin-Qin/(Cpw*mheat)
!		 Tcoolin
			OUT(5)=Tcoolin
!		 Tcoolout
			OUT(6)=Tcoolout
!		 Tchillout
			OUT(7)=Tchillin-Qevaeff/(Cpw*mchill)
!		 FreshWater
			OUT(8)=FreshWater
!		 Id
			OUT(9)=(FreshWater*310)/Qevaeff
!		 Overalleff
			OUT(10)=(Qevaeff+FreshWater*310)/Qin
!		 SpecEnergy
			OUT(11)=Qcool/(FreshWater*3.6)
!		 Ratio_LG
			OUT(12)=1

!-----------------------------------------------------------------------------------------------------------------------
!    EVERYTHING IS DONE - RETURN FROM THIS SUBROUTINE AND MOVE ON
      RETURN 1
      
      CONTAINS
            DOUBLE PRECISION FUNCTION LINT3(NX,NY,NZ,X,Y,Z,W,X1,Y1,Z1)

            INTEGER :: NX,NY,NZ		!dimensioni dei vettori X, Y 
            DOUBLE PRECISION,DIMENSION(NX) :: X	!vettore ascisse della griglia
            DOUBLE PRECISION,DIMENSION(NY) :: Y	!vettore ordinate della griglia
            DOUBLE PRECISION,DIMENSION(NZ) :: Z	!vettore ordinata complessa della griglia
            DOUBLE PRECISION,DIMENSION(NX,NY,NZ):: W	!iper-superficie da interpolare
            DOUBLE PRECISION :: X1,Y1,Z1		!coordinate di interpolazione
            INTEGER :: IMIN,JMIN,KMIN	!valori coordinate estremo inferiore di interpolazione

            INTEGER :: I

            !valori di interpolazione parziale
            DOUBLE PRECISION :: w11,w12,w21,w22		
            DOUBLE PRECISION :: w1,w2

            IMIN=0
            JMIN=0
            KMIN=0
            	
            !individuazione dell'estremo inferiore 
            !(le ascisse e le ordinate siano vettori di elementi a valore crescente)
            IF (IMIN==0) THEN
	            DO I=1,NX
		            IF (X(I)>X1) THEN
		            IMIN=I-1
		            EXIT
		            END IF
	            END DO
            END IF

            IF (JMIN==0) THEN
	            DO I=1,NY
		            IF(Y(I)>Y1) THEN
		            JMIN=I-1
		            EXIT
		            END IF
	            END DO
            END IF

            IF (KMIN==0) THEN
	            DO I=1,NZ
		            IF(Z(I)>Z1) THEN
		            KMIN=I-1
		            EXIT
		            END IF
	            END DO
            END IF


            IF (IMIN*JMIN*KMIN==0)THEN
            WRITE(*,*)"Out of boundary"
            LINT3=-111.111
            RETURN
            END IF

            !interpolazioni parziali
            w11=W(IMIN,JMIN,KMIN)+(X1-X(IMIN))*(W(IMIN+1,JMIN,KMIN)-W(IMIN,JMIN,KMIN))/(X(IMIN+1)-X(IMIN))
            w12=W(IMIN,JMIN+1,KMIN)+(X1-X(IMIN))*(W(IMIN+1,JMIN+1,KMIN)-W(IMIN,JMIN+1,KMIN))/(X(IMIN+1)-X(IMIN))

            w1=w11+(Y1-Y(JMIN))*(w12-w11)/(Y(JMIN+1)-Y(JMIN))

            w21=W(IMIN,JMIN,KMIN+1)+(X1-X(IMIN))*(W(IMIN+1,JMIN,KMIN+1)-W(IMIN,JMIN,KMIN+1))/(X(IMIN+1)-X(IMIN))
            w22=W(IMIN,JMIN+1,KMIN+1)+(X1-X(IMIN))*(W(IMIN+1,JMIN+1,KMIN+1)-W(IMIN,JMIN+1,KMIN+1))/(X(IMIN+1)-X(IMIN))

            w2=w21+(Y1-Y(JMIN))*(w22-w21)/(Y(JMIN+1)-Y(JMIN))


            LINT3=w1+(Z1-Z(KMIN))*(w2-w1)/(Z(KMIN+1)-Z(KMIN))

            RETURN
            END FUNCTION
      
      END
!-----------------------------------------------------------------------------------------------------------------------

Attachment: Project.dck
Description: Binary data

Attachment: Type182.tmf
Description: Binary data

Attachment: Type182.dll
Description: application/msdownload

7	16	6
2    3    4    5    6    7    8
35   37   39   41   43   45   47   49   51   53   55   57   59   61   63   65
20   22   24   26   28   30
0.035748   33.311169
0.032407   33.915009
0.028839   34.478284
0.025063   35.005776
0.021096   35.501888
0.016953   35.970551
0.038950   34.364842
0.035528   34.944440
0.031885   35.485498
0.028038   35.992671
0.024004   36.470180
0.019800   36.921757
0.042104   35.386240
0.038598   35.942007
0.034878   36.461315
0.030959   36.948650
0.026858   37.408034
0.022593   37.842989
0.045206   36.375909
0.041616   36.908414
0.037817   37.406561
0.033825   37.874642
0.029657   38.316459
0.025330   38.735318
0.048253   37.334516
0.044579   37.844454
0.040700   38.322130
0.036636   38.771614
0.032401   39.196480
0.028012   39.599812
0.051245   38.262831
0.047485   38.750998
0.043528   39.208963
0.039391   39.640562
0.035089   40.049131
0.030638   40.437536
0.054180   39.161708
0.050335   39.628970
0.046299   40.068036
0.042090   40.482494
0.037723   40.875445
0.033211   41.249541
0.057056   40.032063
0.053127   40.479336
0.049014   40.900343
0.044734   41.298425
0.040301   41.676448
0.035729   42.036856
0.059873   40.874860
0.055861   41.303085
0.051672   41.706890
0.047322   42.089364
0.042825   42.453148
0.038194   42.800488
0.062632   41.691093
0.058538   42.101221
0.054275   42.488677
0.049856   42.856306
0.045295   43.206533
0.040606   43.541413
0.065332   42.481770
0.061158   42.874747
0.056821   43.246696
0.052335   43.600228
0.047713   43.937563
0.042967   44.260579
0.067973   43.247904
0.063722   43.624655
0.059313   43.981918
0.054762   44.322082
0.050080   44.647169
0.045278   44.958896
0.070557   43.990498
0.066229   44.351923
0.061751   44.695294
0.057136   45.022789
0.052395   45.336251
0.047540   45.637239
0.073084   44.710538
0.068682   45.057503
0.064137   45.387743
0.059459   45.703238
0.054661   46.005669
0.049753   46.296454
0.075555   45.408989
0.071081   45.742319
0.066470   46.060154
0.061732   46.364291
0.056879   46.656257
0.051919   46.937342
0.077971   46.086782
0.073428   46.407263
0.068753   46.713380
0.063956   47.006768
0.059049   47.288808
0.054039   47.560674
0.048149   32.072791
0.043751   32.824354
0.039021   33.535385
0.033981   34.209974
0.028653   34.851982
0.023059   35.464947
0.052564   33.055913
0.048061   33.784702
0.043231   34.474298
0.038095   35.128761
0.032675   35.751883
0.026995   36.347094
0.056933   34.014304
0.052322   34.720416
0.047388   35.388764
0.042153   36.023352
0.036640   36.627873
0.030871   37.205639
0.061252   34.948145
0.056529   35.631806
0.051488   36.279198
0.046153   36.894244
0.040545   37.480520
0.034686   38.041209
0.065517   35.857700
0.060680   36.519242
0.055530   37.146059
0.050093   37.741969
0.044389   38.310416
0.038440   38.854444
0.069724   36.743302
0.064771   37.383154
0.059512   37.989854
0.053971   38.567095
0.048171   39.118174
0.042132   39.645990
0.073870   37.605353
0.068800   38.224022
0.063431   38.811125
0.057787   39.370209
0.051890   39.904418
0.045761   40.416500
0.077954   38.444309
0.072766   39.042370
0.067286   39.610453
0.061539   40.151931
0.055546   40.669797
0.049327   41.166643
0.081972   39.260680
0.076667   39.838755
0.071077   40.388403
0.065227   40.912847
0.059138   41.414905
0.052830   41.897019
0.085925   40.055008
0.080502   40.613763
0.074803   41.145618
0.068851   41.653620
0.062668   42.140426
0.056271   42.608323
0.089810   40.827877
0.084270   41.368000
0.078463   41.882705
0.072411   42.374865
0.066133   42.846971
0.059650   43.301165
0.093627   41.579890
0.087972   42.102085
0.082058   42.600295
0.075906   43.077216
0.069537   43.535176
0.062967   43.976175
0.097376   42.311667
0.091607   42.816646
0.085588   43.299014
0.079338   43.761293
0.072878   44.205655
0.066224   44.633962
0.101055   43.023840
0.095175   43.512312
0.089052   43.979485
0.082706   44.427711
0.076157   44.859012
0.069420   45.275118
0.104667   43.717047
0.098677   44.189713
0.092452   44.642327
0.086012   45.077079
0.079376   45.495843
0.072557   45.900228
0.108210   44.391917
0.102113   44.849465
0.095789   45.288142
0.089257   45.709980
0.082534   46.116719
0.075637   46.509847
0.058261   31.072763
0.053047   31.943281
0.047402   32.773854
0.041351   33.567957
0.034919   34.328940
0.028131   35.059930
0.063691   31.991058
0.058358   32.840528
0.052596   33.650920
0.046431   34.425734
0.039888   35.168316
0.032995   35.881745
0.069083   32.889952
0.063625   33.718305
0.057742   34.508538
0.051458   35.264168
0.044802   35.988500
0.037799   36.684573
0.074433   33.769464
0.068845   34.576726
0.062836   35.346916
0.056431   36.083526
0.049658   36.789821
0.042544   37.468754
0.079734   34.629665
0.074013   35.415952
0.067874   36.166278
0.061345   36.884106
0.054454   37.572629
0.047227   38.234723
0.084984   35.470676
0.079125   36.236183
0.072854   36.966896
0.066199   37.666228
0.059187   38.337288
0.051847   38.982867
0.090177   36.292670
0.084178   37.037664
0.077772   37.749075
0.070990   38.430242
0.063857   39.084188
0.056402   39.713603
0.095311   37.095856
0.089169   37.820668
0.082628   38.513136
0.075716   39.176513
0.068462   39.813723
0.060891   40.427352
0.100381   37.880489
0.094095   38.585502
0.087417   39.259433
0.080377   39.905428
0.073000   40.526304
0.065315   41.124538
0.105386   38.646858
0.098955   39.332506
0.092140   39.988331
0.084970   40.617377
0.077472   41.222340
0.069672   41.805588
0.110324   39.395282
0.103747   40.062033
0.096795   40.700220
0.089496   41.312768
0.081876   41.902254
0.073962   42.470932
0.115192   40.126110
0.108470   40.774462
0.101381   41.395498
0.093953   41.992014
0.086213   42.566468
0.078185   43.121000
0.119988   40.839713
0.113122   41.470188
0.105897   42.074575
0.098342   42.655536
0.090482   43.215407
0.082343   43.756213
0.124713   41.536481
0.117703   42.149620
0.110343   42.737864
0.102662   43.303750
0.094684   43.849488
0.086433   44.376993
0.129365   42.216818
0.122212   42.813166
0.114719   43.385785
0.106913   43.937077
0.098818   44.469131
0.090458   44.983754
0.133943   42.881138
0.126649   43.461249
0.119024   44.018758
0.111095   44.555935
0.102886   45.074750
0.094418   45.576906
0.066644   30.249198
0.060786   31.217973
0.054405   32.147689
0.047527   33.041278
0.040179   33.901624
0.032391   34.731445
0.072928   31.108789
0.066943   32.058237
0.060435   32.969164
0.053432   33.844560
0.045961   34.687331
0.038052   35.500197
0.079186   31.952863
0.073066   32.882828
0.066426   33.774897
0.059291   34.632104
0.051692   35.457364
0.043659   36.253380
0.085410   32.781367
0.079151   33.691766
0.072371   34.564979
0.065101   35.404059
0.057371   36.211916
0.049210   36.991230
0.091596   33.594290
0.085191   34.485109
0.078268   35.339517
0.070858   36.160583
0.062992   36.951195
0.054701   37.714000
0.097739   34.391643
0.091182   35.262932
0.084112   36.098650
0.076559   36.901866
0.068556   37.675429
0.060132   38.421941
0.103833   35.173479
0.097121   36.025348
0.089900   36.842541
0.082201   37.628105
0.074057   38.384851
0.065499   39.115321
0.109875   35.939881
0.103004   36.772489
0.095628   37.571366
0.087782   38.339521
0.079496   39.079712
0.070803   39.794417
0.115860   36.690955
0.108827   37.504519
0.101295   38.285330
0.093299   39.036350
0.084871   39.760275
0.076041   40.459507
0.121786   37.426843
0.114587   38.221620
0.106898   38.984655
0.098751   39.718843
0.090179   40.426807
0.081212   41.110879
0.127648   38.147712
0.120283   38.924003
0.112434   39.669573
0.104136   40.387254
0.095420   41.079587
0.086317   41.748824
0.133445   38.853753
0.125912   39.611886
0.117903   40.340336
0.109453   41.041856
0.100593   41.718900
0.091353   42.373636
0.139173   39.545174
0.131471   40.285512
0.123303   40.997207
0.114700   41.682926
0.105697   42.345034
0.096321   42.985617
0.144831   40.222207
0.136961   40.945134
0.128632   41.640458
0.119878   42.310751
0.110731   42.958285
0.101221   43.585056
0.150418   40.885101
0.142378   41.591022
0.133890   42.270371
0.124985   42.925617
0.115697   43.558942
0.106052   44.172255
0.155930   41.534119
0.147723   42.223454
0.139075   42.887228
0.130022   43.527815
0.120592   44.147302
0.110814   44.747507
0.073690   29.563185
0.067310   30.614493
0.060324   31.627799
0.052757   32.605548
0.044636   33.550202
0.035993   34.464095
0.080699   30.369881
0.074190   31.403486
0.067072   32.399382
0.059372   33.360107
0.051120   34.288153
0.042346   35.185893
0.087692   31.163964
0.081045   32.179661
0.073789   33.158032
0.065950   34.101670
0.057560   35.013107
0.048651   35.894735
0.094663   31.945351
0.087871   32.942994
0.080469   33.903767
0.072486   34.830315
0.063953   35.725187
0.054904   36.590774
0.101605   32.713984
0.094662   33.693484
0.087108   34.636640
0.078975   35.546127
0.070295   36.424510
0.061103   37.274172
0.108515   33.469831
0.101412   34.431151
0.093701   35.356708
0.085414   36.249208
0.076584   37.111215
0.067246   37.945101
0.115385   34.212886
0.108119   35.156028
0.100246   36.064052
0.091800   36.939676
0.082816   37.785456
0.073329   38.603728
0.122212   34.943154
0.114776   35.868173
0.106737   36.758772
0.098130   37.617663
0.088990   38.447381
0.079351   39.250236
0.128992   35.660669
0.121382   36.567664
0.113173   37.440974
0.104402   38.283305
0.095103   39.097162
0.085311   39.884813
0.135719   36.365491
0.127931   37.254592
0.119550   38.110788
0.110612   38.936760
0.101152   39.734973
0.091207   40.507656
0.142391   37.057687
0.134422   37.929069
0.125866   38.768354
0.116759   39.578191
0.107138   40.361003
0.097037   41.118957
0.149003   37.737356
0.140851   38.591222
0.132118   39.413828
0.122841   40.207777
0.113057   40.975437
0.102802   41.718923
0.155553   38.404607
0.147215   39.241196
0.138304   40.047371
0.128856   40.825694
0.118910   41.578472
0.108498   42.307761
0.162039   39.059574
0.153513   39.879140
0.144422   40.669160
0.134804   41.432137
0.124694   42.170313
0.114127   42.885680
0.168457   39.702396
0.159743   40.505223
0.150472   41.279379
0.140682   42.027301
0.130409   42.751167
0.119687   43.452898
0.174806   40.333233
0.165902   41.119624
0.156451   41.878220
0.146490   42.611391
0.136054   43.321238
0.125178   44.009621
0.079680   28.987788
0.072870   30.109353
0.065375   31.194027
0.057221   32.243863
0.048435   33.260923
0.039049   34.247201
0.087309   29.746891
0.080370   30.852217
0.072744   31.920798
0.064454   32.954752
0.055531   33.956213
0.046009   34.927216
0.094932   30.495577
0.087856   31.584454
0.080089   32.636784
0.071656   33.654768
0.062590   34.640578
0.052925   35.596291
0.102543   31.233766
0.095322   32.306013
0.087405   33.341989
0.078823   34.343942
0.069608   35.314093
0.059795   36.254544
0.110137   31.961384
0.102761   33.016873
0.094689   34.036416
0.085951   35.022321
0.076582   35.976839
0.066616   36.902080
0.117707   32.678380
0.110170   33.717013
0.101935   34.720088
0.093037   35.689963
0.083508   36.628896
0.073386   37.539013
0.125248   33.384710
0.117543   34.406432
0.109140   35.393044
0.100075   36.346925
0.090384   37.270358
0.080102   38.165459
0.132755   34.080351
0.124875   35.085148
0.116300   36.055322
0.107064   36.993286
0.097206   37.901322
0.086761   38.781543
0.140224   34.765299
0.132164   35.753180
0.123411   36.706983
0.114001   37.629129
0.103972   38.521900
0.093362   39.387383
0.147650   35.439553
0.139404   36.410573
0.130469   37.348096
0.120881   38.254552
0.110680   39.132200
0.099902   39.983114
0.155028   36.103140
0.146593   37.057379
0.137472   37.978744
0.127704   38.869650
0.117328   39.732345
0.106381   40.568871
0.162356   36.756094
0.153727   37.693669
0.144418   38.599013
0.134466   39.474539
0.123913   40.322464
0.112797   41.144801
0.169629   37.398472
0.160804   38.319514
0.151303   39.209006
0.141167   40.069336
0.130435   40.902693
0.119147   41.711040
0.176844   38.030331
0.167819   38.935006
0.158125   39.808833
0.147802   40.654172
0.136892   41.473164
0.125432   42.267741
0.183999   38.651752
0.174772   39.540247
0.164882   40.398615
0.154373   41.229173
0.143283   42.034025
0.131651   42.815055
0.191090   39.262826
0.181659   40.135349
0.171574   40.978473
0.160876   41.794479
0.149606   42.585422
0.137802   43.353136
0.084822   28.503390
0.077648   29.685403
0.069718   30.831667
0.061054   31.943878
0.051686   33.023754
0.041644   34.072960
0.092986   29.219621
0.085687   30.386718
0.077626   31.518096
0.068827   32.615517
0.059320   33.680773
0.049137   34.715599
0.101153   29.927134
0.093720   31.079101
0.085518   32.195422
0.076576   33.277934
0.066923   34.328492
0.056593   35.348885
0.109318   30.625854
0.101740   31.762498
0.093391   32.863630
0.084296   33.931151
0.074491   34.966970
0.064008   35.972905
0.117474   31.315706
0.109744   32.436878
0.101238   33.522714
0.091985   34.575192
0.082021   35.596250
0.071380   36.587743
0.125616   31.996634
0.117725   33.102201
0.109055   34.172677
0.099638   35.210079
0.089509   36.216388
0.078705   37.193483
0.133739   32.668580
0.125679   33.758454
0.116839   34.813520
0.107252   35.835847
0.096953   36.827445
0.085982   37.790197
0.141837   33.331508
0.133602   34.405621
0.124585   35.445263
0.114822   36.452542
0.104350   37.429479
0.093207   38.377972
0.149906   33.985383
0.141489   35.043703
0.132290   36.067929
0.122346   37.060204
0.111696   38.022558
0.100379   38.956892
0.157941   34.630190
0.149335   35.672708
0.139949   36.681558
0.129820   37.658892
0.118989   38.606758
0.107495   39.527051
0.165938   35.265920
0.157138   36.292660
0.147560   37.286184
0.137242   38.248669
0.126227   39.182161
0.114553   40.088537
0.173892   35.892580
0.164894   36.903581
0.155119   37.881862
0.144610   38.829606
0.133407   39.748846
0.121552   40.641449
0.181800   36.510179
0.172598   37.505512
0.162625   38.468649
0.151921   39.401775
0.140529   40.306905
0.128490   41.185890
0.189659   37.118745
0.180250   38.098502
0.170073   39.046618
0.159172   39.965259
0.147589   40.856435
0.135366   41.721970
0.197464   37.718312
0.187844   38.682609
0.177462   39.615834
0.166362   40.520148
0.154587   41.397533
0.142179   42.249789
0.205214   38.308931
0.195380   39.257893
0.184790   40.176381
0.173490   41.066534
0.161521   41.930309
0.148926   42.769462