subroutine Bit_Specification use sROP_Other_Variables use sROP_Variables use CStringConfigurationVariables use ConfigurationVariables 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 = (Configuration%StringConfiguration%BitDefinition%BitCodeHundreds*100)+(Configuration%StringConfiguration%BitDefinition%BitCodeTens*10)+Configuration%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