;+ ; Contains the are_all function ; ; :Author: ; Gaƫlle Boisnard ; ; :History: ; 2007/10/11: Created ; ; 2007/10/11: Last Edit ;- ; ;+ ; are_all is a function that <behavior desc here> ; ; :Returns: ; <return desc here> ; ; :Params: ; day1: in, required, type=sometype ; A parameter named day1 ; day2: in, required, type=sometype ; A parameter named day2 ; ; :Keywords: ; level1: in, optional, type=sometype ; A keyword named level1 ; level2: in, optional, type=sometype ; A keyword named level2 ;- function are_all, day1, day2, level1=level1, level2=level2 ; there's no level1 file in this period pfiles1=make_file_list(day1, 0, day2, 24, level=level1) if not (ptr_valid(pfiles1)) then begin pfiles1=1 return, 1 endif ; there's no level2 file in this period pfiles2=make_file_list(day1, 0, day2, 24, level=level2) if (not ptr_valid(pfiles2)) then begin pfiles2=2 return, pfiles2 endif nb1=n_elements(*pfiles1) nb2=n_elements(*pfiles2) ; all needed level2 files exist if nb1 eq nb2 then begin pfiles1=0 return, pfiles1 endif else begin ; some level2 files are missing if nb1 lt nb2 then begin pfiles1=3 return, pfiles1 endif else begin files=strarr(nb1-nb2+1) case level1 of 'k':car1=10 'n1': car1=10 'n2': car1=10 endcase case level2 of 'k':car2=10 'n1':car2=10 'n2': car2=10 endcase ifile2=0 ifile=0 ifile1=0 while ifile1 le nb1-1 do begin if (strmid((*pfiles1)[ifile1], strlen((*pfiles1)[ifile1])-car1, 10) eq strmid((*pfiles2)[ifile2], strlen((*pfiles2)[ifile2])-car2, 10)) then begin ifile2=ifile2+1 if ifile2 eq nb2 then begin for i=iFile1+1, nb1-1 do begin files[ifile]= (*pfiles1)[ifile1] ifile=ifile+1 endfor iFile1=nb1-1 endif iFile1=ifile1+1 endif else begin files[ifile]= (*pfiles1)[ifile1] ifile=ifile+1 ;ifile2=ifile2+1 ; erreur corrigee par BC [11-juillet-2007] if ifile2 eq nb2 then begin for i=iFile1+1, nb1-1 do begin files[ifile]= (*pfiles1)[ifile1] ifile=ifile+1 endfor iFile1=nb1-1 endif ifile1=ifile1+1 endelse endwhile files[ifile]=strtrim(string(nb1), 2)+" "+level1+" files. "+strtrim(string(nb2), 2)+" "+level2+" files. "+level2+" files are done now." return, ptr_new(files) endelse endelse end