```ts
/**
 * Checks if the provided temperature in degrees Celsius is a finite number at or above absolute zero.
 *
 * @param celsius The temperature in degrees Celsius to validate.
 * @returns true if valid, false otherwise.
 */
function isValidCelsius(celsius: number): boolean {
  return typeof celsius === "number" && Number.isFinite(celsius) && celsius >= -273.15;
}

/** The temperature in degrees Fahrenheit. */
export function celsiusToFahrenheit(celsius: number): number {
  if (!isValidCelsius(celsius)) {
    throw new Error("celsius must be a finite number at or above absolute zero");
  }
  return celsius * 1.8 + 32;
}

/** The temperature in kelvin. */
export function celsiusToKelvin(celsius: number): number {
  if (!isValidCelsius(celsius)) {
    throw new Error("celsius must be a finite number at or above absolute zero");
  }
  return celsius + 273.15;
}
```