51 TYPE(spectrum) ,
INTENT(INOUT) :: SPEC
55 INTEGER :: IERR, I, IFF, IDD
60 DOUBLE PRECISION :: EPS
61 DOUBLE PRECISION,
ALLOCATABLE :: X1(:),Y1(:),STOCK(:)
63 CHARACTER(LEN=8) :: FFORMAT
64 CHARACTER(LEN=16),
ALLOCATABLE :: VARNAME(:),VARUNIT(:)
66 INTRINSIC dsqrt, datan, datan2
70 ALLOCATE(varname(spec%N),stat=ierr)
71 CALL check_allocate(ierr,
'GET_TOMSPEC_VALUE1:VARNAME')
72 ALLOCATE(varunit(spec%N),stat=ierr)
73 CALL check_allocate(ierr,
'GET_TOMSPEC_VALUE1:VARUNIT')
75 ALLOCATE(x1(
nf*
ndir),stat=ierr)
76 CALL check_allocate(ierr,
'GET_TOMSPEC_VALUE1:X1')
77 ALLOCATE(y1(
nf*
ndir),stat=ierr)
78 CALL check_allocate(ierr,
'GET_TOMSPEC_VALUE1:Y1')
79 ALLOCATE(stock(
ndir),stat=ierr)
80 CALL check_allocate(ierr,
'GET_TOMSPEC_VALUE1:STOCK')
97 WRITE(
lu,*)
'WARNING: TOO MANY VARIABLES IN ',
99 &
'ONLY THE FIRST VARIABLE IN THE FILE WILL BE READ' 107 CALL check_call(ierr,
'GET_TOMSPEC_VALUE1:GET_DATA_VAR_LIST')
109 READ (varname(1)(9:16),
'(I8)') spec%NOUTER(1)
116 CALL check_call(ierr,
'GET_TOMSPEC_VALUE1:GET_MESH_COORD:X')
118 CALL check_call(ierr,
'GET_TOMSPEC_VALUE1:GET_MESH_COORD:Y')
123 spec%FRE(i) = dsqrt(x1((i-1)*
ndir+1)**2+y1((i-1)*
ndir+1)**2)
133 spec%DIR(i) = datan2(y1(i),x1(i))
134 spec%DIR(i) = spec%DIR(i)/
degrad 136 IF (spec%DIR(i).LT.0d0)
THEN 137 spec%DIR(i) = 360.d0 + spec%DIR(i)
149 IF (spec%DIR(i).LT.eps)
THEN 162 spec%DIR(idd)=stock(i)
164 spec%DIR(
ndir+1)=spec%DIR(1)+360.d0
172 CALL check_call(ierr,
'GET_TOMSPEC_VALUE1:GET_DATA_TIMESTEP')
176 CALL check_call(ierr,
'GET_TOMSPEC_VALUE1:GET_DATA_VALUE')
180 spec%ADR(1)%SOUTER(iff,idd) = x1((iff-1)*
ndir+idd)
183 spec%ADR(1)%SOUTER(iff,
ndir+1) = spec%ADR(1)%SOUTER(iff,1)
193 stock(i)=spec%ADR(1)%SOUTER(iff,i)
201 spec%ADR(1)%SOUTER(iff,idd)=stock(i)
203 spec%ADR(1)%SOUTER(iff,
ndir+1)=spec%ADR(1)%SOUTER(iff,1)
208 DEALLOCATE(x1,y1,stock)
209 DEALLOCATE(varname,varunit)
217 301
FORMAT(/,1
x,
'GET_TOMSPEC_VALUE1 : READING TIME STEP ',1f9.2,
'S')
subroutine get_tomspec_value1(SPEC)
subroutine get_data_var_list(FFORMAT, FID, NVAR, VARLIST, UNITLIST, IERR)
subroutine get_data_value(FFORMAT, FID, RECORD, VAR_NAME, RES_VALUE, N, IERR)
subroutine get_data_timestep(FFORMAT, FID, RECORD, TIME, IERR)
type(bief_file), dimension(maxlu_art), target art_files
double precision, dimension(:), pointer x
integer, parameter quadrangle_elt_type
subroutine get_mesh_coord(FFORMAT, FID, JDIM, NDIM, NPOIN, COORD, IERR)