added shelfwater envelope calculation to constructor if it hasn't been calculated yet