|
- subroutine Bit_Specification
-
- use sROP_Other_Variables
- use sROP_Variables
- use CStringConfigurationVariables
-
- implicit none
-
- INTEGER :: io
- integer :: i , BitClass_name
- real(8) :: rd
-
- !ROP_Spec%H1=1.9
- !ROP_Spec%H2=7.
- !ROP_Spec%H3=1.
- !ROP_Spec%wdmax=7.
-
-
-
- ROP_Spec%BitClass = (StringConfiguration%BitDefinition%BitCodeHundreds*100)+(StringConfiguration%BitDefinition%BitCodeTens*10)+StringConfiguration%BitDefinition%BitCodeOnes
- rd = SNGL(ROP_Spec%BitClass)/10.d0
- ROP_Spec%BrCoef = ( (SNGL(ROP_Spec%BitClass)/10.d0)-(DINT(rd)) )*10.d0
-
- BitClass_name = (ROP_Spec%BitClass)/10
-
-
-
-
-
- if ( (any(BitClass_name==(/11,12,13,14,21,22,23,24,31,32,33,34,41/))) ) then
- open(unit=233,file="Bit_Database.TXT")
- READ (233,*)
- DO i=1,13!(14-1(/=10))
- READ (233,*) ROP_Spec%name, ROP_Spec%H1, ROP_Spec%H2, ROP_Spec%H3, ROP_Spec%wdmax
- if ( ROP_Spec%name==BitClass_name ) then
- exit
- end if
- END DO
- close (233)
- else
- ROP_Spec%H1=1.50d0
- ROP_Spec%H2=1.0d0
- ROP_Spec%H3=.020d0
- ROP_Spec%wdmax=10.0d0
- end if
-
-
-
-
-
- !print*, 'ROP_Spec%H1=' , ROP_Spec%H1
- !print*, 'ROP_Spec%H2=' , ROP_Spec%H2
- !print*, 'ROP_Spec%H3=' , ROP_Spec%H3
- !print*, 'ROP_Spec%wdmax=' , ROP_Spec%wdmax
- !print*, 'ROP_Spec%name=' , ROP_Spec%name
-
-
-
-
-
-
- ! filename = 'Bit_Database.TXT'
- !open (UNIT=3, FILE=filename )
- !!print*, 'ROP_Spec%wdmax1=' , ROP_Spec%wdmax
- ! !print*, 'ROP_Spec%name1=' , ROP_Spec%name
- !!openif: if ( ROP_Spec%status == 0 ) then
- ! read (3,*,IOSTAT=ROP_Spec%status) ! Get next value
- ! readloop: do i=1,14
- ! read (3,*,IOSTAT=ROP_Spec%status) ROP_Spec%name, ROP_Spec%H1, ROP_Spec%H2, ROP_Spec%H3, ROP_Spec%wdmax ! Get next value
- ! !print*, 'ROP_Spec%wdmax=' , ROP_Spec%wdmax
- ! !print*, 'ROP_Spec%name=' , ROP_Spec%name
- ! if ( ROP_Spec%status /= 0 ) exit ! EXIT if not valid.
- ! if ( ROP_Spec%name == ROP_Spec%BitClass/10) exit
- ! end do readloop
- !!endif openif
-
- end subroutine
|