!### 2015/04/12 Yuta Ando (Mie University) program replace_undef implicit none real,parameter :: undef=-9.99e+08 integer :: n,ios integer :: i,j,num integer,parameter :: imax=360,jmax=180,nummax=2000 real :: sst(imax,jmax,nummax) !*********************************************************************************************** !open and read data file open(10,file='./HadISST_sst.bin',status='old',form='unformatted',access='direct',recl=imax*jmax*4) n=0 do num=1,nummax n=n+1 read(10,rec=n,iostat=ios) ((sst(i,j,num),i=1,imax),j=1,jmax) if(ios/=0)then cycle endif enddo close(10) !replace undef values (100% sea-ice-covered gridboxes are flagged as -1000 -> undef) do num=1,n do j=1,jmax do i=1,imax if (sst(i,j,num)==undef .or. sst(i,j,num)==-1000.) then sst(i,j,num)=undef endif enddo !i enddo !j enddo !num !output files open(20,file='./HadISST_sst.bin',form='unformatted',status='replace',access='direct',recl=imax*jmax*4) do num=1,n write(20,rec=num) ((sst(i,j,num),i=1,imax),j=1,jmax) enddo !num close(20) stop end program replace_undef