Search
 
SCRIPT & CODE EXAMPLE
 

PYTHON

cornell hotel sustainability benchmarking index

class CarbonFootprint:
    """ This class calculates the carbon footprint of a hotel """
    def __init__(
            self,
            energy_usage: float,                     # kWh
            total_floor_area: float,                 # in square meters
            num_rooms: int,                          # number of rooms
            num_occupied_rooms: int,                 # number of occupied rooms
            total_energy_generated_renewable: float  # kWh
    ):
        """ Initialize the class """
        self.total_carbon_footprint = 0  # kg CO2
        self.energy_usage = energy_usage
        self.total_floor_area = total_floor_area
        self.num_rooms = num_rooms
        self.num_occupied_rooms = num_occupied_rooms
        self.total_energy_generated_renewable = total_energy_generated_renewable

    def calc_carbon_footprint_from_kwh(self) -> float:
        """ Calculate the carbon footprint of a hotel """
        co2_per_kwh = 0.433  # kg CO2 per kWh
        return self.energy_usage * co2_per_kwh

    # Measure 2
    def calc_carbon_footprint_per_room(self) -> float:
        """ Calculate the carbon footprint of the property divided by total number of rooms """
        return self.total_carbon_footprint / self.num_rooms

    # Measure 3
    def calc_carbon_footprint_occupied(self) -> float:
        """ Calculate carbon footprint of the property divided by number of OCCUPIED rooms """
        return self.total_carbon_footprint / self.num_occupied_rooms

    # Measure 4
    def calc_carbon_footprint_per_sqm(self) -> float:
        """Calculate total carbon footprint of the property divided by the total floor area in SQUARE METERS"""
        return self.total_carbon_footprint / self.total_floor_area

    # Measure 5
    def calc_energy_usage_per_occupied(self) -> float:
        """ Total energy usage of the property divided by number of OCCUPIED rooms"""
        return self.energy_usage / self.num_occupied_rooms

    # Measure 6
    def calc_energy_usage_per_sqm(self) -> float:
        """ Total energy usage of the property divided by floor area of the property in SQUARE METERS """
        return self.energy_usage / self.total_floor_area

    # Measure 12
    def calc_renewable_energy_percentage(self, total_energy_generated_renewable: float = 0) -> float:
        """ Percentage of property's total energy that is generated from renewable sources """
        if total_energy_generated_renewable != 0:
            return (self.total_energy_generated_renewable / self.energy_usage) * 100
        else:
            return 0


if __name__ == "__main__":
    # Create an instance of the CarbonFootprint class
    today_carbon_footprint = CarbonFootprint(
        energy_usage=1514,  # kWh
        total_floor_area=9999,  # m2
        num_rooms=75,  # number of rooms in the property
        num_occupied_rooms=64,
        total_energy_generated_renewable=0  # kWh
    )

    # Print the results
    print("Energy Usage:", today_carbon_footprint.energy_usage, "kWh")
    print("Total Floor Area:", today_carbon_footprint.total_floor_area, "m2")
    print("Number of Rooms:", today_carbon_footprint.num_rooms, "rooms")
    print("Number of Occupied Rooms:", today_carbon_footprint.num_occupied_rooms, "rooms")
    print("Total Energy Generated from Renewable Sources:", today_carbon_footprint.total_energy_generated_renewable,
          "kWh")
    print("Percentage of Energy Generated from Renewable Sources:",
          today_carbon_footprint.calc_renewable_energy_percentage(), "%", end="

")

    # Calculate the carbon footprint of the property
    today_carbon_footprint.total_carbon_footprint = today_carbon_footprint.calc_carbon_footprint_from_kwh()
    print("Total carbon footprint of the property:", round(today_carbon_footprint.total_carbon_footprint, 2), "kg CO2")

    # Measure 2
    print("Carbon footprint per room:", round(today_carbon_footprint.calc_carbon_footprint_per_room(), 2), "kg CO2")

    # Measure 3
    print("Carbon footprint per occupied room:", round(today_carbon_footprint.calc_carbon_footprint_occupied(), 2),
          "kg CO2")

    # Measure 4
    print("Carbon footprint per square meter:", round(today_carbon_footprint.calc_carbon_footprint_per_sqm(), 3),
          "kg CO2")

    # Measure 5
    print("Energy usage per occupied room:", round(today_carbon_footprint.calc_energy_usage_per_occupied(), 2), "kWh")

    # Measure 6
    print("Energy usage per square meter:", round(today_carbon_footprint.calc_energy_usage_per_sqm(), 3), "kWh")

    # Measure 12
    print("Percentage of energy generated from renewable sources:",
          today_carbon_footprint.calc_renewable_energy_percentage(), "%")
Comment

PREVIOUS NEXT
Code Example
Python :: Linear Search Python with enumerate 
Python :: extended slices [::2] 
Python :: python math.trunc 
Python :: perfect power function python 
Python :: colorutils python 
Python :: FizzBuzz in Python Using itertools 
Python :: pop tkinter to the front of the screen 
Python :: pyttsx3 Using an external event loop¶ 
Python :: custom port odoo 
Python :: aws chalice 
Python :: Validation using voluptuous python library 
Python :: add Elements to Python list Using extend() method 
Python :: extract tables from image python 
Python :: joining datasets by id python 
Python :: tree view width 
Python :: python to uml 
Python :: uncompress zip file in pythonanywhere 
Python :: python typing optional argument 
Python :: Python NumPy squeeze function Syntax 
Python :: seasonal plot python time series 
Python :: python dictionary examples 
Python :: Python NumPy block Function Example by using np.eye function 
Python :: Python NumPy append Function Example Working with axis 
Python :: pandas dt.weekday to string 
Python :: NumPy rot90 Example Rotating four times 
Python :: NumPy bitwise_or Code When inputs are Boolean 
Python :: ttk.frame 
Python :: how to show all rows whith a unique value in a column 
Python :: list python !g 
Python :: pandas dataframe select columns multiple cell value 
ADD CONTENT
Topic
Content
Source link
Name
7+3 =