program index_1d ! nxp=75 ! nyp=55 ! nzp=35 ! n_var=4 nxp=30 nyp=15 nzp=20 n_var=7 ii=1 jj=7 ll=5 i1d=0 ind_1d=0 i1d=nxp*nyp*nzp*(n_var-1) do l=1,nzp do j=1,nyp do i=1,nxp i1d=i1d+1 if(i.eq.ii.and.j.eq.jj.and.l.eq.ll) then ind_1d=i1d go to 200 endif end do end do end do 200 continue write(*,*) " nxp*nyp*nzp=",nxp*nyp*nzp write(*,*) " ind_1d=",ind_1d ind_1d=nxp*nyp*(ll-1)+nxp*(jj-1)+ii+nxp*nyp*nzp*(n_var-1) write(*,*) " ind_1d=",ind_1d end program index_1d