Creating an index requires at least the size of the index as free space. Plus there's the sort space if you don't have sort in tempDB on. So to create a clustered index on a table of 145 GB, you'd need easily 200GB free space, to put the new index down and to do the sort.
As for where the space went, it's now free space in the data file, available for any table or index growth that's needed.
because a clustered index made of 3 columns (datetime, large int, small int) can;t take up that much space, the whole table is 140GB?
The clustered index is the table, so yes, it would take the full 140GB, create a clustered index on a table that didn't have one, you're recreating the entire table.
3 columns for a clustered index, bit wider than optimal.
Gail Shaw
Microsoft Certified Master: SQL Server, MVP, M.Sc (Comp Sci)
SQL In The Wild: Discussions on DB performance with occasional diversions into recoverability