Salve vorrei scrivere un programma in fortran che partendo da una tabella di dati :

Hs | Tp | Dir |
1 12 12

e così via


mi divida i dati in settori di 30 (0-30,31-60........301-360) in base alla colonna Dir e salvi i dati contenuti nei settori in file diversi ,oppure nello stesso file ma ordinati per settore

Ho scritto un abbozzo di programma, ma non riesco a fare il ciclo IF per due condizioni.Mi potreste spiegare come fare?

codice:
      PROGRAM Ordine

      COMMON HS(200000) ,TP(200000)
      COMMON DIR(200000) 
* APERTURA FILE
	OPEN(UNIT=10,STATUS='OLD',FILE='DATI.TXT')
* DEFINISCO L'INDICE IN CUI INSERISCO IL DATO
	I=0
	DO WHILE (.NOT.EOF(10))
	READ(10,*) Q1,Q2,Q3
	I=I+1
	HS(I)=Q1
	TP(I)=Q2
	DIR(I)=Q3
	END DO
	Imax=I
	Write(6,*) IMax

************************
	Do i=1,imax
	D=DIR(I)
	IF ( D.GT.0.AND.D.LT.31) 
	WRITE(11,*) D(I),HS(I),TP(I)
	
	IF ( D.GT.30.AND.D.LT.61) 	
	WRITE(12,*) D(I),HS(I),TP(I)
	
	IF ( D.GT.60 && D.LT.91)
	WRITE(13,*) D(I),HS(I),TP(I)

	IF ( D.GT.90 && D.LT.121)
	WRITE(14,*) D(I),HS(I),TP(I)

	IF ( D.GT.120 && D.LT.151)
	WRITE(15,*) D(I),HS(I),TP(I)

	IF ( D.GT.150 && D.LT.181)
	WRITE(16,*) D(I),HS(I),TP(I)

	IF ( D.GT.180 && D.LT.211)
	WRITE(17,*) D(I),HS(I),TP(I)

	IF ( D.GT.210 && D.LT.241)
	WRITE(18,*) D(I),HS(I),TP(I)

	IF ( D.GT.240 && D.LT.271)
	WRITE(19,*) D(I),HS(I),TP(I)

	IF ( D.GT.270 && D.LT.301)
	WRITE(20,*) D(I),HS(I),TP(I)

	IF ( D.GT.300 && D.LT.331)
	WRITE(21,*) D(I),HS(I),TP(I)

	IF ( D.GT.330 && D.LT.361)
	WRITE(22,*) D(I),HS(I),TP(I)

	END DO

	END