5 &(varref,textref,uref,refformat,varres,textres,ures,resformat,
6 & maxtab,np,it,maxit,acomparer)
81 INTEGER,
INTENT(IN) :: NP,MAXTAB,IT,MAXIT,URES,UREF
82 INTEGER,
INTENT(IN) :: ACOMPARER(maxtab)
84 CHARACTER(LEN=32),
INTENT(IN) :: TEXTREF(maxtab),TEXTRES(maxtab)
86 TYPE(
bief_obj),
INTENT(INOUT) :: VARREF,VARRES
87 CHARACTER(LEN=*),
INTENT(IN) :: REFFORMAT,RESFORMAT
91 INTEGER IVAR,I,IREF,IRES,IERMAX
93 DOUBLE PRECISION TIMEREF,TIMERES,ERMAX,ERR
97 INTEGER FINDREF(500),FINDRES(500)
98 IF(maxtab.GT.500)
THEN 99 WRITE(
lu,*)
'WRONG SIZE OF FINDREF AND FINDRES IN BIEF_VALIDA' 111 CALL read_dataset(refformat,uref,varref,np,iref,timeref,
112 & textref,findref,acomparer,.true.,.true.,maxtab)
117 CALL read_dataset(resformat,ures,varres,np,ires,timeres,
118 & textres,findres,acomparer,.true.,.true.,maxtab)
124 IF(abs(timeres-timeref)/max(timeref,1.d-4).GT.1.d-2)
THEN 127 IF(ires.NE.iref)
THEN 135 DO ivar=1,min(maxtab,varref%N,varres%N)
137 IF(acomparer(ivar).EQ.1)
THEN 141 IF(findref(ivar).EQ.1.AND.findres(ivar).EQ.1)
THEN 146 err=abs(varref%ADR(ivar)%P%R(i)-varres%ADR(ivar)%P%R(i))
147 IF(err.GT.ermax)
THEN 154 WRITE(
lu,61) textres(ivar)(1:16),ermax
156 ELSEIF(findref(ivar).EQ.1)
THEN 158 WRITE(
lu,71) textres(ivar)(1:16)
172 11
FORMAT(1x,////,1x,80(
'='),/,
173 & 25x,
' VALIDATION PROCEDURE OF ',a24,/,
175 & 1x,
' 1) READING THE REFERENCE FILE :',/,
176 & 1x,
' ------------------------------',/)
178 & 1x,
' 2) READING THE RESULTS FILE :',/,
179 & 1x,
' --------------------------------',/)
181 & 1x,
' 3) COMPARISON:',/,
182 & 1x,
' --------------',/)
184 & 1x,
' BEWARE: TIMES ARE DIFFERENT',/,
185 & 1x,
' ---------------------------',/)
187 & 1x,
' BEWARE: RECORD NUMBERS ARE DIFFERENT',/,
188 & 1x,
' ------------------------------------',/)
190 51
FORMAT(1x,80(
'-'),/,23x,
'END OF VALIDATION REPORT',/,
193 61
FORMAT(1x,
'VARIABLE: ' ,a16,
' DIFFERENCE: ',g16.7,/)
195 71
FORMAT(1x,
'VARIABLE: ' ,a16,
' NOT FOUND' ,/)
character(len=24) namecode
subroutine bief_valida(VARREF, TEXTREF, UREF, REFFORMAT, VARRES, TEXTRES, URES, RESFORMAT, MAXTAB, NP, IT, MAXIT, ACOMPARER)
subroutine read_dataset(FFORMAT, FID, VARSOR, NPOIN, RECORD, AT, VAR_LIST, TROUVE, ALIRE, LISTIN, LASTRECORD, MAXVAR)