program get_num_bias ! ********************************************************************** ! ! ROUTINE: get_num_bias: read file cntrl_vrbl and get num_bias ! used in ensda ! PRGMMR: D. ZUPANSKI ORG: CIRA/CSU DATE: 2003-11-06 ! ! ! REVISION HISTORY: ! ! 11/06/2003 ..... D. ZUPANSKI ! !----------------------------------------------------------------------- ! implicit NONE integer cvar_max,num_bias,nbias,IER,i character(len=9), dimension(:),allocatable :: cvar_name logical, dimension(:),allocatable :: cvar_ic,cvar_param,cvar_bias integer, dimension(:),allocatable :: cvar_num_bias !....................................................................... CLOSE(103) OPEN(UNIT=103,FILE='cntrl_vrbl',FORM='FORMATTED',IOSTAT=IER) IF(IER.NE.0)WRITE(*,*)' 103 OPEN UNIT ERROR IER=',IER READ(103,*) cvar_max allocate(cvar_name(1:cvar_max)) allocate(cvar_ic(1:cvar_max)) allocate(cvar_param(1:cvar_max)) allocate(cvar_bias(1:cvar_max)) allocate(cvar_num_bias(1:cvar_max)) num_bias=0 do i=1,cvar_max READ(103,*) cvar_name(i),cvar_ic(i),cvar_param(i),cvar_bias(i), & cvar_num_bias(i) if(cvar_bias(i)) then num_bias=cvar_num_bias(i) end if end do CLOSE(103,STATUS='KEEP') CLOSE(104) OPEN(UNIT=104,FILE='num_bias.parm',FORM='FORMATTED',IOSTAT=IER) IF(IER.NE.0)WRITE(*,*)' 104 OPEN UNIT ERROR IER=',IER write(104,50) num_bias 50 format(' num_bias=',i2.2) CLOSE(104) end program get_num_bias