function has_parents, grid_info if max(grid_info.parent) eq -1 then return, 0 else return, 1 end pro read_all_grid_info, flist @common_blocks.inc nf = N_elements(flist) count = 0L last_timestep = -1L data_format = -1 undefine, redshifts for i=0,nf-1 do begin file_name = strmid(flist[i], 0, strpos(flist[i], '.hierarchy')) read_parameters, file_name, redshift=this_redshift, InitialTime=InitialTime, $ InitialRedshift=InitialRedshift, DataDumpNumber=DataDumpNumber, $ lengthunit=lengthunit, timeunit=timeunit, velocityunit=velocityunit, $ densityunit=densityunit, temperatureunit=temperatureunit, $ DomainLeftEdge=DomainLeftEdge, DomainRightEdge=DomainRightEdge, Gamma=gamma if N_elements(DomainLeftEdge) eq 1 then DomainLeftEdge = [DomainLeftEdge[*],0,0] if N_elements(DomainRightEdge) eq 1 then DomainRightEdge = [DomainRightEdge[*],0,0] if N_elements(DomainLeftEdge) eq 2 then DomainLeftEdge = [DomainLeftEdge[*],0] if N_elements(DomainRightEdge) eq 2 then DomainRightEdge = [DomainRightEdge[*],0] tgi = read_grid_info(flist[i], redshift=this_redshift) if max(tgi.time) eq 0. then begin tgi[*].time = InitialTime tgi[*].timestep = DataDumpNumber endif if (N_ELEMENTS(redshifts) eq 0) then $ redshifts = [this_redshift[*]] else $ redshifts = [redshifts, this_redshift] if (tgi[0].timestep eq last_timestep) then tgi.timestep = last_timestep + 1 tgi.num += count if has_parents(tgi) then tgi.parent += count cng = N_elements(tgi) count += cng if i eq 0 then all_grid_info = tgi $ else all_grid_info = [all_grid_info[*], tgi[*]] last_timestep = tgi[0].timestep if (data_format lt 0) then $ data_format = determine_data_format_from_file_name(all_grid_info[0].baryon_file) if (data_format eq 5) then $ count = 0L endfor print, 'lengthunit:', lengthunit,' timeunit:', timeunit,' densityunit:',densityunit if data_format eq 4 or data_format eq 5 then all_grid_info = find_and_set_parent_grids(all_grid_info) unique_entries = UNIQ(all_grid_info.time, SORT(all_grid_info.time)) times = all_grid_info[unique_entries].time ; if N_elements(redshifts) gt 1 then redshifts = redshifts[unique_entries] grid_info = all_grid_info[0] return end