MODULE Temperature
!----------------------------------------------------------------
! Module that contains the following subprograms for processing
! temperatures on various scales:
!    Fahr_to_Celsius, a Fahrenheit-to-conversion function
!    Celsius_to_Fahr, a Celsius-to-Fahrenheit conversion functiions
!
!------------------------------------------------------------------
   IMPLICIT NONE

   CONTAINS
 !-Fahr_to_Celsius ----------------------------------------------------
 ! Function to convert a Fahrenheit temperature to Celsius.
 !   Accepts:  A temperature Temp in Fahrenheit
 !   Returns:  The corresponding Celsius temperature
 !---------------------------------------------------------------------

   FUNCTION Fahr_to_Celsius(Temp)

    REAL:: Fahr_to_Celsius
    REAL, INTENT(IN) :: Temp

    Fahr_to_Celsius = (Temp - 32.0) / 1.8
    RETURN

  END FUNCTION Fahr_to_Celsius



  !-Celsius_to_Fahr-----------------------------------------------------
  ! Function to convert a Celsius temperature to Fahrenheit. 
  !   Accepts:  A temperature Temp in Celsius 
  !   Returns:  The corresponding Fahrenheit temperature
  !---------------------------------------------------------------------

 FUNCTION Celsius_to_Fahr(Temp)

    REAL:: Celsius_to_Fahr
    REAL, INTENT(IN) :: Temp

    Celsius_to_Fahr = 1.8 * Temp + 32.0
    RETURN

  END FUNCTION Celsius_to_Fahr


  ! ... Other temperature-related subprograms can be added ...

END MODULE Temperature
