pro mvn_common_l0_file_transfer,l0_dir,new_l0_dir

if not keyword_set(l0_dir) then l0_dir = root_data_dir() + 'maven/data/sci/pfp/l0/'
if ~keyword_set(new_l0_dir) then new_l0_dir = root_data_dir() + 'maven/data/sci/pfp/l0_all/'

pattern = 'mvn_pfp_all_l0_YYYYMMDD_v???.dat'
spattern= 'mvn_pfp_all_l0_????????_v???.dat'
files= file_search(l0_dir+spattern)
bnames = file_basename(files)
rootnames = strmid(bnames,0,23)              ;  file name without version
last_ind = uniq(rootnames)                   ;  determine the last version files

last_files = files[last_ind]  
last_bnames = bnames[last_ind]

last_times= time_double(tformat=pattern,last_bnames)       ; get file dates;

new_last_dirs = new_l0_dir + time_string( last_times,tformat= 'YYYY/MM/')   ; get new directories

tr =  [ time_double('2013-1-1'),systime(1) ]                    ; Throw out the outliers
;tr =  [ time_double('2015-10-15'),systime(1) ]                    ; Throw out the outliers
w = where(last_times ge tr[0] and last_times lt tr[1] ,nw)
if nw ne 0 then begin 
  new_last_dirs = new_last_dirs[w]
  last_bnames = last_bnames[w]
  last_files = last_files[w]
  
  u = uniq(new_last_dirs)                         ; get unique directories
  file_mkdir2,new_last_dirs[u]                    ; create directories if needed
;  printdat,last_files,new_last_dirs + last_bnames
  file_link,/hardlink,last_files, new_last_dirs+last_bnames ,/allow_same
endif 


;  Now remove old versions from the new directory
if 1 then begin
  version_pattern = '_v???.dat'
  all_files = file_search(new_l0_dir,'*'+version_pattern,count=count)
  if count ne 0 then begin
    bfiles = strmid(all_files,0,transpose(strlen(all_files) -strlen(version_pattern)))
    last_ind = uniq(bfiles)    ; good files
    ind = replicate(1,n_elements(all_files))
    ind[last_ind] = 0
    old_ind = where(ind,n_old)
    old_files= n_old eq 0 ? '' : all_files[old_ind]
    count = n_old
    if n_old ne 0 then begin
      dprint,'files to be removed:',transpose(old_files)
      file_archive,archive_dir='.oldversions/',old_files      
    endif
  endif

endif


generate_checksums,new_l0_dir,dir='*',file_=spattern,/include

end