Esempio n. 1
0
    def newCorrelation(self):
        """ This method decides when a new correlation has to be created
        
        :return: 
        """
        if len(self.correlations) == 0:
            self.correlations.append(Correlations(None))
            self.correlations[-1].figure.canvas.set_window_title(
                'Correlation' + ' ' + str(len(self.correlations) - 1))
            logging.info(
                'New correlation. Number of existing correlations: %s',
                len(self.correlations))

            self.correlations[-1].i_reward_assigned = 1

        if len(self.correlations) < 9:  #6
            if self.correlations[-1].established:
                self.correlations.append(
                    Correlations(len(self.correlations) - 1))
                #self.correlations.append(Correlations(0))
                self.correlations[-1].figure.canvas.set_window_title(
                    'Correlation' + ' ' + str(len(self.correlations) - 1))
                logging.info(
                    'New correlation. Number of existing correlations: %s',
                    len(self.correlations))
Esempio n. 2
0
    def newSUR(self, active_goal):
        """ This method decides when a new SUR has to be created. Two conditions are considered to do it:
        1- There are no SURs associated with the active goal.
        2- All the SURs associated with the active goal are established.
        
        :return: 
        """
        surs_asoc_active_goal = 0  #Used to count the number of SURs associated with the active goal. Condition 1
        index_last_sur_asoc = None  #Used to save the index of the last SUR associated wiht the active goal. Condition 2
        for i in range(len(self.correlations)):
            if self.correlations[i].goal == active_goal:
                surs_asoc_active_goal += 1
                index_last_sur_asoc = i

        if surs_asoc_active_goal == 0:  # Condition 1
            self.correlations.append(Correlations(None, active_goal))
            # self.correlations[-1].figure.canvas.set_window_title('SUR' + ' ' + str(len(self.correlations) - 1))
            # logging.info('New correlation. Number of existing correlations: %s', len(self.correlations))
        elif self.correlations[index_last_sur_asoc].established:  # Condition 2
            self.correlations.append(Correlations(None, active_goal))
Esempio n. 3
0
    def corr_one_d(self, quantity='redshift', end_s=0.02, ns=15, n_randoms=1, n_cores=1):
        """
        Calculates the correlation function in 1d for the given quantity
        """

        if quantity == 'c_dist' and end_s == 0.02:
            end_s = 120

        if quantity == 'redshift':
            min_cut = self.sample_cuts['redshift'][0]
            max_cut = self.sample_cuts['redshift'][1]
        elif quantity == 'c_dist':
            min_cut = cd.comoving_distance(self.sample_cuts['redshift'][0], **self.cosmology)
            max_cut = cd.comoving_distance(self.sample_cuts['redshift'][1], **self.cosmology)
        else:
            raise ValueError("Quantity not supported: ", quantity)

        s_bins, corr = cf._1d_correlation(self.survey_data[quantity], min_cut, max_cut, end_s, ns, n_randoms, n_cores)

        print s_bins, corr

        plt.clf()
        plt.plot(s_bins, corr)
        plt.title(r"Correlation Function for $" + quantity + "$ of sample " + self.sample_name.partition('.')[0] + \
                  " from " + self.survey_name)
        print "made title"
        if quantity == 'c_dist':
            plt.xlabel(r'Separation, Mpc $h^{-1}$s')
        elif quantity == "redshift":
            plt.xlabel(r'Separation, [z]')
        print "plotted"
        plt.ylabel(r"$\xi(r)$")
        plt.savefig(self._dirs["CorrelationFunctions"] + "CorrelationFunction_" + quantity + '_NS' + str(ns) + '_Nrand' + str(n_randoms) + '.eps')

        print "saved first fig"
        plt.clf()
        plt.plot(s_bins, corr * s_bins ** 2)
        plt.title(r"Correlation Function by $s^2$ for $" + quantity + "$ of sample " + self.sample_name.partition('.')[0] + \
                  " from " + self.survey_name)
        if quantity == 'c_dist':
            plt.xlabel(r'Separation, Mpc $h^{-1}$s')
        elif quantity == "redshift":
            plt.xlabel(r'Separation, [z]')

        plt.ylabel(r"$r^2\xi(r)$")
        plt.savefig(self._dirs["CorrelationFunctions"] + "CorrelationFunction_s2_" + quantity + '_NS' + str(ns) + '_Nrand' + str(n_randoms) + '.eps')

        return s_bins, corr
Esempio n. 4
0
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Thu Feb 27 17:52:20 2020

@author: kellenbullock
"""

import pandas as pd
from pandas.plotting import scatter_matrix
import Correlations

Milkwaukee = pd.read_spss('/Users/kellenbullock/Desktop/Geographic Analysis II/Data/5303_EX_B.sav')

Milkwaukee = Milkwaukee.drop(columns=['SaleDate', 'AC', 'Garage', 'Attic', 'Ald', 'Basement', 'Record'])

df = Milkwaukee.corr()

df = Correlations.unstack_corr(df)

# t-test:


# Correaltions by month
Esempio n. 5
0
 def OBJECTIVE(x):
     Tevap=x[0]
     Tcond=x[1]
     Tin_CC=x[2]
     if Cycle.Mode=='AC':
         #Condenser heat transfer rate
         Qcond=epsilon*Cycle.Condenser.Fins.Air.Vdot_ha*rho_air*(Cycle.Condenser.Fins.Air.Tdb-Tcond)*1005        #updated
         
         #Compressor power
         pevap=PropsSI('P','T',Tevap,'Q',1.0,Cycle.Ref)
         pcond=PropsSI('P','T',Tcond,'Q',1.0,Cycle.Ref)
         Cycle.Compressor.pin_r=pevap
         Cycle.Compressor.pout_r=pcond
         Cycle.Compressor.Tin_r=Tevap+Cycle.Compressor.DT_sh
         Cycle.Compressor.Ref=Cycle.Ref
         Cycle.Compressor.Calculate()
         W=Cycle.Compressor.W
         
         Qcoolingcoil_dry=epsilon*Cycle.CoolingCoil.Fins.Air.Vdot_ha*rho_air*(Cycle.CoolingCoil.Fins.Air.Tdb-Tin_CC)*1005    #updated
         
         # Air-side heat transfer UA
         CC=Cycle.CoolingCoil
         CC.Initialize()
         UA_a=CC.Fins.h_a*CC.Fins.A_a*CC.Fins.eta_a
         #Air outlet temp from dry analysis
         Tout_a=CC.Tin_a-Qcoolingcoil_dry/(CC.Fins.mdot_a*CC.Fins.cp_a)
         
         # Refrigerant side UA
         f,h,Re=Correlations.f_h_1phase_Tube(Cycle.Pump.mdot_g/CC.Ncircuits, CC.ID, Tin_CC, CC.pin_g, CC.Ref_g)
         UA_r=CC.A_g_wetted*h
         #Refrigerant outlet temp
         cp_g=PropsSI('C','T',Tin_CC,'P',Cycle.Pump.pin_g,Cycle.Pump.Ref_g) #*1000
         Tout_CC=Tin_CC+Qcoolingcoil_dry/(Cycle.Pump.mdot_g*cp_g)
         
         #Get wall temperatures at inlet and outlet from energy balance
         T_so_a=(UA_a*CC.Tin_a+UA_r*Tout_CC)/(UA_a+UA_r)
         T_so_b=(UA_a*Tout_a+UA_r*Tin_CC)/(UA_a+UA_r)
         
         Tdewpoint=HAPropsSI('D','T',CC.Fins.Air.Tdb,'P',101325,'R',CC.Fins.Air.RH)  #Updated from HumAir_Single(CC.Fins.Air.Tdb, 101325, 'RH',CC.Fins.Air.RH,'DewPoint')
         #Now calculate the fully-wet analysis
         #Evaporator is bounded by saturated air at the refrigerant temperature.
         h_ai= HAPropsSI('H','T',CC.Fins.Air.Tdb,'P',101325,'R',CC.Fins.Air.RH)      #Updated from HumAir_Single(CC.Fins.Air.Tdb, 101325, 'RH', CC.Fins.Air.RH,'Enthalpy')
         h_s_w_o=HAPropsSI('H','T',Tin_CC,'P',101325,'R',1.0)                        #Updated from HumAir_Single(Tin_CC, 101325, 'RH', 1.0,'Enthalpy')
         Qcoolingcoil_wet=epsilon*CC.Fins.Air.Vdot_ha*rho_air*(h_ai-h_s_w_o)
         
         #Coil is either fully-wet, fully-dry or partially wet, partially dry
         if T_so_a>Tdewpoint and T_so_b>Tdewpoint:
             #Fully dry, use dry Q
             f_dry=1.0
         elif T_so_a<Tdewpoint and T_so_b<Tdewpoint:
             #Fully wet, use wet Q
             f_dry=0.0
         else:
             f_dry=1-(Tdewpoint-T_so_a)/(T_so_b-T_so_a)
         Qcoolingcoil=f_dry*Qcoolingcoil_dry+(1-f_dry)*Qcoolingcoil_wet
     
         Tin_IHX=Tin_CC+Qcoolingcoil/(Cycle.Pump.mdot_g*cp_g)
         QIHX=epsilon*Cycle.Pump.mdot_g*cp_g*(Tin_IHX-Tevap)
         
         Qcond_enthalpy=Cycle.Compressor.mdot_r*(Cycle.Compressor.hout_r-PropsSI('H','T',Tcond-Cycle.DT_sc_target,'P',pcond,Cycle.Ref)) #*1000)
         resids=[QIHX+W+Qcond,Qcond+Qcond_enthalpy,Qcoolingcoil-QIHX]
         return resids
     elif Cycle.Mode=='HP':
         #Evaporator heat transfer rate
         Qevap=epsilon*Cycle.Evaporator.Fins.Air.Vdot_ha*rho_air*(Cycle.Evaporator.Fins.Air.Tdb-Tevap)*1005  #updated
         
         #Compressor power
         pevap=PropsSI('P','T',Tevap,'Q',1.0,Cycle.Ref)
         pcond=PropsSI('P','T',Tcond,'Q',1.0,Cycle.Ref)
         Cycle.Compressor.pin_r=pevap
         Cycle.Compressor.pout_r=pcond
         Cycle.Compressor.Tin_r=Tevap+Cycle.Evaporator.DT_sh
         Cycle.Compressor.Ref=Cycle.Ref
         Cycle.Compressor.Calculate()
         W=Cycle.Compressor.W
         
         #Evaporator will be dry
         Qcoolingcoil=epsilon*Cycle.CoolingCoil.Fins.Air.Vdot_ha*rho_air*(Tin_CC-Cycle.CoolingCoil.Fins.Air.Tdb)*1005 #updated
         
         cp_g=PropsSI('C','T',Tin_CC,'P',Cycle.Pump.pin_g,Cycle.Pump.Ref_g) #*1000
         Tin_IHX=Tin_CC-Qcoolingcoil/(Cycle.Pump.mdot_g*cp_g)
         QIHX=epsilon*Cycle.Pump.mdot_g*cp_g*(Tin_IHX-Tcond)
         
         QIHX_enthalpy=Cycle.Compressor.mdot_r*(Cycle.Compressor.hout_r-PropsSI('H','T',Tcond-Cycle.DT_sc_target,'P',pcond,Cycle.Ref)) #*1000)
         
         resids=[QIHX+W+Qevap,QIHX+QIHX_enthalpy,Qcoolingcoil+QIHX]
         return resids
Esempio n. 6
0
    def OBJECTIVE(x):
        Tevap = x[0]
        Tcond = x[1]
        Tin_CC = x[2]
        if Cycle.Mode == 'AC':
            #Condenser heat transfer rate
            Qcond = epsilon * Cycle.Condenser.Fins.Air.Vdot_ha * rho_air * (
                Cycle.Condenser.Fins.Air.Tdb - Tcond) * 1005  #updated

            #Compressor power
            pevap = PropsSI('P', 'T', Tevap, 'Q', 1.0, Cycle.Ref)
            pcond = PropsSI('P', 'T', Tcond, 'Q', 1.0, Cycle.Ref)
            Cycle.Compressor.pin_r = pevap
            Cycle.Compressor.pout_r = pcond
            Cycle.Compressor.Tin_r = Tevap + Cycle.Compressor.DT_sh
            Cycle.Compressor.Ref = Cycle.Ref
            Cycle.Compressor.Calculate()
            W = Cycle.Compressor.W

            Qcoolingcoil_dry = epsilon * Cycle.CoolingCoil.Fins.Air.Vdot_ha * rho_air * (
                Cycle.CoolingCoil.Fins.Air.Tdb - Tin_CC) * 1005  #updated

            # Air-side heat transfer UA
            CC = Cycle.CoolingCoil
            CC.Initialize()
            UA_a = CC.Fins.h_a * CC.Fins.A_a * CC.Fins.eta_a
            #Air outlet temp from dry analysis
            Tout_a = CC.Tin_a - Qcoolingcoil_dry / (CC.Fins.mdot_a *
                                                    CC.Fins.cp_a)

            # Refrigerant side UA
            f, h, Re = Correlations.f_h_1phase_Tube(
                Cycle.Pump.mdot_g / CC.Ncircuits, CC.ID, Tin_CC, CC.pin_g,
                CC.Ref_g)
            UA_r = CC.A_g_wetted * h
            #Refrigerant outlet temp
            cp_g = PropsSI('C', 'T', Tin_CC, 'P', Cycle.Pump.pin_g,
                           Cycle.Pump.Ref_g)  #*1000
            Tout_CC = Tin_CC + Qcoolingcoil_dry / (Cycle.Pump.mdot_g * cp_g)

            #Get wall temperatures at inlet and outlet from energy balance
            T_so_a = (UA_a * CC.Tin_a + UA_r * Tout_CC) / (UA_a + UA_r)
            T_so_b = (UA_a * Tout_a + UA_r * Tin_CC) / (UA_a + UA_r)

            Tdewpoint = HAPropsSI(
                'D', 'T', CC.Fins.Air.Tdb, 'P', 101325, 'R', CC.Fins.Air.RH
            )  #Updated from HumAir_Single(CC.Fins.Air.Tdb, 101325, 'RH',CC.Fins.Air.RH,'DewPoint')
            #Now calculate the fully-wet analysis
            #Evaporator is bounded by saturated air at the refrigerant temperature.
            h_ai = HAPropsSI(
                'H', 'T', CC.Fins.Air.Tdb, 'P', 101325, 'R', CC.Fins.Air.RH
            )  #Updated from HumAir_Single(CC.Fins.Air.Tdb, 101325, 'RH', CC.Fins.Air.RH,'Enthalpy')
            h_s_w_o = HAPropsSI(
                'H', 'T', Tin_CC, 'P', 101325, 'R', 1.0
            )  #Updated from HumAir_Single(Tin_CC, 101325, 'RH', 1.0,'Enthalpy')
            Qcoolingcoil_wet = epsilon * CC.Fins.Air.Vdot_ha * rho_air * (
                h_ai - h_s_w_o)

            #Coil is either fully-wet, fully-dry or partially wet, partially dry
            if T_so_a > Tdewpoint and T_so_b > Tdewpoint:
                #Fully dry, use dry Q
                f_dry = 1.0
            elif T_so_a < Tdewpoint and T_so_b < Tdewpoint:
                #Fully wet, use wet Q
                f_dry = 0.0
            else:
                f_dry = 1 - (Tdewpoint - T_so_a) / (T_so_b - T_so_a)
            Qcoolingcoil = f_dry * Qcoolingcoil_dry + (
                1 - f_dry) * Qcoolingcoil_wet

            Tin_IHX = Tin_CC + Qcoolingcoil / (Cycle.Pump.mdot_g * cp_g)
            QIHX = epsilon * Cycle.Pump.mdot_g * cp_g * (Tin_IHX - Tevap)

            Qcond_enthalpy = Cycle.Compressor.mdot_r * (
                Cycle.Compressor.hout_r -
                PropsSI('H', 'T', Tcond - Cycle.DT_sc_target, 'P', pcond,
                        Cycle.Ref))  #*1000)
            resids = [
                QIHX + W + Qcond, Qcond + Qcond_enthalpy, Qcoolingcoil - QIHX
            ]
            return resids
        elif Cycle.Mode == 'HP':
            #Evaporator heat transfer rate
            Qevap = epsilon * Cycle.Evaporator.Fins.Air.Vdot_ha * rho_air * (
                Cycle.Evaporator.Fins.Air.Tdb - Tevap) * 1005  #updated

            #Compressor power
            pevap = PropsSI('P', 'T', Tevap, 'Q', 1.0, Cycle.Ref)
            pcond = PropsSI('P', 'T', Tcond, 'Q', 1.0, Cycle.Ref)
            Cycle.Compressor.pin_r = pevap
            Cycle.Compressor.pout_r = pcond
            Cycle.Compressor.Tin_r = Tevap + Cycle.Evaporator.DT_sh
            Cycle.Compressor.Ref = Cycle.Ref
            Cycle.Compressor.Calculate()
            W = Cycle.Compressor.W

            #Evaporator will be dry
            Qcoolingcoil = epsilon * Cycle.CoolingCoil.Fins.Air.Vdot_ha * rho_air * (
                Tin_CC - Cycle.CoolingCoil.Fins.Air.Tdb) * 1005  #updated

            cp_g = PropsSI('C', 'T', Tin_CC, 'P', Cycle.Pump.pin_g,
                           Cycle.Pump.Ref_g)  #*1000
            Tin_IHX = Tin_CC - Qcoolingcoil / (Cycle.Pump.mdot_g * cp_g)
            QIHX = epsilon * Cycle.Pump.mdot_g * cp_g * (Tin_IHX - Tcond)

            QIHX_enthalpy = Cycle.Compressor.mdot_r * (
                Cycle.Compressor.hout_r -
                PropsSI('H', 'T', Tcond - Cycle.DT_sc_target, 'P', pcond,
                        Cycle.Ref))  #*1000)

            resids = [
                QIHX + W + Qevap, QIHX + QIHX_enthalpy, Qcoolingcoil + QIHX
            ]
            return resids
Esempio n. 7
0
    def OBJECTIVE(x):
        Tevap = x[0]
        Tcond = x[1]
        #Condensing heat transfer rate from enthalpies
        rho_air = 1.1

        #Use fixed effectiveness to get a guess for the condenser capacity
        Qcond = epsilon * Cycle.Condenser.Fins.Air.Vdot_ha * rho_air * (
            Cycle.Condenser.Fins.Air.Tdb - Tcond
        ) * 1005  #Cp_air =1005J/kg/K  #Cycle.Condenser.Fins.Air.Vdot_ha/rho_air, division is updated with *

        pevap = PropsSI('P', 'T', Tevap, 'Q', 1.0, Cycle.Ref)
        pcond = PropsSI('P', 'T', Tcond, 'Q', 1.0, Cycle.Ref)
        Cycle.Compressor.pin_r = pevap
        Cycle.Compressor.pout_r = pcond
        Cycle.Compressor.Tin_r = Tevap + Cycle.Evaporator.DT_sh
        Cycle.Compressor.Ref = Cycle.Ref
        Cycle.Compressor.Calculate()
        W = Cycle.Compressor.W

        # Evaporator fully-dry analysis
        Qevap_dry = epsilon * Cycle.Evaporator.Fins.Air.Vdot_ha * rho_air * (
            Cycle.Evaporator.Fins.Air.Tdb - Tevap) * 1005  #updated

        #Air-side heat transfer UA
        Evap = Cycle.Evaporator
        Evap.mdot_r = Cycle.Compressor.mdot_r
        Evap.psat_r = pevap
        Evap.Ref = Cycle.Ref
        Evap.Initialize()
        UA_a = Evap.Fins.h_a * Evap.Fins.A_a * Evap.Fins.eta_a
        Tin_a = Evap.Fins.Air.Tdb
        Tout_a = Tin_a + Qevap_dry / (Evap.Fins.mdot_da * Evap.Fins.cp_da)
        #Refrigerant-side heat transfer UA
        UA_r = Evap.A_r_wetted * Correlations.ShahEvaporation_Average(
            0.5, 0.5, Cycle.Ref, Evap.G_r, Evap.ID, Evap.psat_r,
            Qevap_dry / Evap.A_r_wetted, Evap.Tbubble_r, Evap.Tdew_r)
        #Get wall temperatures at inlet and outlet from energy balance
        T_so_a = (UA_a * Evap.Tin_a + UA_r * Tevap) / (UA_a + UA_r)
        T_so_b = (UA_a * Tout_a + UA_r * Tevap) / (UA_a + UA_r)

        Tdewpoint = HAPropsSI('D', 'T', Cycle.Evaporator.Fins.Air.Tdb, 'P',
                              101325, 'R', Evap.Fins.Air.RH)

        #Now calculate the fully-wet analysis
        #Evaporator is bounded by saturated air at the refrigerant temperature.
        h_ai = HAPropsSI('H', 'T', Cycle.Evaporator.Fins.Air.Tdb, 'P', 101325,
                         'R', Cycle.Evaporator.Fins.Air.RH)  #*1000 #[J/kg_da]
        h_s_w_o = HAPropsSI('H', 'T', Tevap, 'P', 101325, 'R',
                            1.0)  #*1000 #[J/kg_da]
        Qevap_wet = epsilon * Cycle.Evaporator.Fins.Air.Vdot_ha * rho_air * (
            h_ai - h_s_w_o)

        #Coil is either fully-wet, fully-dry or partially wet, partially dry
        if T_so_a > Tdewpoint and T_so_b > Tdewpoint:
            #Fully dry, use dry Q
            f_dry = 1.0
        elif T_so_a < Tdewpoint and T_so_b < Tdewpoint:
            #Fully wet, use wet Q
            f_dry = 0.0
        else:
            f_dry = 1 - (Tdewpoint - T_so_a) / (T_so_b - T_so_a)
        Qevap = f_dry * Qevap_dry + (1 - f_dry) * Qevap_wet

        Qcond_enthalpy = Cycle.Compressor.mdot_r * (
            Cycle.Compressor.hout_r - PropsSI(
                'H', 'T', Tcond - Cycle.DT_sc_target, 'P', pcond, Cycle.Ref)
        )  #*1000)

        resids = [Qevap + W + Qcond, Qcond + Qcond_enthalpy]  #,Qevap,f_dry]
        return resids
Esempio n. 8
0
    elif series == 'NEAR OCEAN':
        return 4
    elif series == 'ISLAND':
        return 5
    else:
        return 0

# Univariate
df = pd.read_excel('/Users/kellenbullock/Desktop/Cali_housing/Bullock_BM2.xlsx')

df = df.loc[df['median_house_value'] < 500000]
df = df.loc[df['housing_median_age'] < 52]

df['ocean_proximity'] = df['ocean_proximity'].apply(ocean_to_num)
df = df.drop(columns=['Unnamed: 0'])
df = df.dropna()

df.to_excel('FINAL.xlsx')

EDA.Descrptives(df, df)
EDA.figures(df, '')

# Bivar
Correlations.corr_w_sig(df, df['median_house_value'])
x = ['longitude','latitude','housing_median_age','total_rooms','total_bedrooms','population','households','median_income','ocean_proximity']
y = 'median_house_value'
Correlations.corr_scatter(df, x, y)
EDA.merge_pdfs()
# corr.style.background_gradient(cmap='coolwarm')
# df.corr(method='spearman')
# corr.style.background_gradient(cmap='coolwarm')