Introduce some numpy to speed up calculate_sam

TO DO:
- optimize _date_surcote()