Program predominancia

 implicit none

! m =coluna
! n =linha
 integer, parameter :: m=390,n=355
 
 integer :: i,j,irec

 real :: difhad45 , difhad85 , difmic45 , difmic85 , difcan45 , difcan85 , difbes45 , difbes85
 dimension difhad45(m,n) , difhad85(m,n) , difmic45(m,n) , difmic85(m,n) , difcan45(m,n) , difcan85(m,n) , difbes45(m,n) , difbes85(m,n)

 real ::  sinalpositivo, sinalnegativo
 dimension sinalpositivo(m,n), sinalnegativo(m,n)

 real :: np, nn

 character(147) entrada
 
 character(9) periodo

 call GETARG(1,periodo)

! Arquivo de entrada
        entrada='/dados/grpeta/Team/Andre/Mosaico_Brasil/Bin_Mosaico_media_10anos/'//periodo//'/PREC/mosaico_difhad45_PREC_'//periodo//'.bin'
        open (11,file=entrada,FORM='UNFORMATTED',status='unknown',ACCESS='DIRECT', recl=355*390*4)
        read(11,rec=1) difhad45

        entrada='/dados/grpeta/Team/Andre/Mosaico_Brasil/Bin_Mosaico_media_10anos/'//periodo//'/PREC/mosaico_difhad85_PREC_'//periodo//'.bin'
        open (12,file=entrada,FORM='UNFORMATTED',status='unknown',ACCESS='DIRECT', recl=355*390*4)
        read(12,rec=1) difhad85

        entrada='/dados/grpeta/Team/Andre/Mosaico_Brasil/Bin_Mosaico_media_10anos/'//periodo//'/PREC/mosaico_difmic45_PREC_'//periodo//'.bin'
        open (13,file=entrada,FORM='UNFORMATTED',status='unknown',ACCESS='DIRECT', recl=355*390*4)
        read(13,rec=1) difmic45

        entrada='/dados/grpeta/Team/Andre/Mosaico_Brasil/Bin_Mosaico_media_10anos/'//periodo//'/PREC/mosaico_difmic85_PREC_'//periodo//'.bin'
        open (14,file=entrada,FORM='UNFORMATTED',status='unknown',ACCESS='DIRECT', recl=355*390*4)
        read(14,rec=1) difmic85
	
        entrada='/dados/grpeta/Team/Andre/Mosaico_Brasil/Bin_Mosaico_media_10anos/'//periodo//'/PREC/mosaico_difcan45_PREC_'//periodo//'.bin'
        open (15,file=entrada,FORM='UNFORMATTED',status='unknown',ACCESS='DIRECT', recl=355*390*4)
        read(15,rec=1) difcan45

        entrada='/dados/grpeta/Team/Andre/Mosaico_Brasil/Bin_Mosaico_media_10anos/'//periodo//'/PREC/mosaico_difcan85_PREC_'//periodo//'.bin'
        open (16,file=entrada,FORM='UNFORMATTED',status='unknown',ACCESS='DIRECT', recl=355*390*4)
        read(16,rec=1) difcan85	
	
        entrada='/dados/grpeta/Team/Andre/Mosaico_Brasil/Bin_Mosaico_media_10anos/'//periodo//'/PREC/mosaico_difbes45_PREC_'//periodo//'.bin'
        open (17,file=entrada,FORM='UNFORMATTED',status='unknown',ACCESS='DIRECT', recl=355*390*4)
        read(17,rec=1) difbes45

        entrada='/dados/grpeta/Team/Andre/Mosaico_Brasil/Bin_Mosaico_media_10anos/'//periodo//'/PREC/mosaico_difbes85_PREC_'//periodo//'.bin'
        open (18,file=entrada,FORM='UNFORMATTED',status='unknown',ACCESS='DIRECT', recl=355*390*4)
        read(18,rec=1) difbes85

        sinalpositivo=-9.99e+08
        sinalnegativo=-9.99e+08
	

        do i=1,m
        do j=1,n		
           
	   np=0
	   nn=0
	   
	   if (difhad45(i,j) == -9.99e+08) then 
	   
!	   print*, 'undef', i , j
	   
	   else
	   
	   if (difhad45(i,j) >= 0.0) then
           np=1.
	   else
	   nn=1.	
	   endif
	
	   if (difhad85(i,j) >= 0.0) then
           np=np+1.
	   else
	   nn=nn+1.	
	   endif	   
	   
	   if (difmic45(i,j) >= 0.0) then
           np=np+1.
	   else
	   nn=nn+1.	
	   endif
	
	   if (difmic85(i,j) >= 0.0) then
           np=np+1.
	   else
	   nn=nn+1.	
	   endif	

	   if (difcan45(i,j) >= 0.0) then
           np=np+1.
	   else
	   nn=nn+1.	
	   endif
	
	   if (difcan85(i,j) >= 0.0) then
           np=np+1.
	   else
	   nn=nn+1.	
	   endif

	   if (difbes45(i,j) >= 0.0) then
           np=np+1.
	   else
	   nn=nn+1.	
	   endif
	
	   if (difbes85(i,j) >= 0.0) then
           np=np+1.
	   else
	   nn=nn+1.	
	   endif
	   
	   sinalpositivo(i,j)=np	
           sinalnegativo(i,j)=nn
	   endif
	   
        end do
        end do	
	

! Escrevendo o arq de sa?da
         open(20,file='/dados/grpeta/Team/Andre/Mosaico_Brasil/Bin_Mosaico_media_10anos/'//periodo//'/PREC/sinal_predo_dif.bin',FORM='UNFORMATTED',status='unknown',ACCESS='DIRECT', recl=355*390*4)
         write(20) sinalpositivo
         write(20) sinalnegativo	 
 

end

