def calcIDAdjustment(Corp, eta=0.4):
    """
    Calculates the adjustment factors for the corporate and noncorporate debt
    and interest. 
    eta: retirement rate of existing debt
    """
    # Create Asset object
    asset1 = Asset(data1.btax_defaults, Corp)
    asset1.calc_all()
    # Get asset forecast
    forecast = asset1.get_forecast()
    # Create Debt object
    debt1 = Debt(data1.btax_defaults, forecast, corp=Corp)
    debt1.calc_all()
    # Get unscaled net interest deduction
    NID_gross = debt1.NID[38:54]
    # Get net interest deduction from historical IRS data
    if Corp:
        NID_irs = np.array(data1.debt_data_corp['NID_IRS'])[38:54]
    else:
        NID_irs = np.array(data1.debt_data_noncorp['ID_Scorp'][38:54] +
                           data1.debt_data_noncorp['ID_sp'][38:54] +
                           data1.debt_data_noncorp['ID_partner'][38:54])
    NID_scale = sum(NID_irs / NID_gross) / 16.
    return NID_scale
def calcDepAdjustment(corp):
    """
    Calculates the adjustment factor for assets, depreciation and investment
    corp: indicator for whether corporate or noncorporate data
    """
    # Create Asset object
    asset1 = Asset(data1.btax_defaults, corp)
    asset1.calc_all()
    # Get unscaled depreciation for all years
    totalAnnualDepreciation = asset1.calcDep_allyears()
    #####
    depreciation_data = copy.deepcopy(data1.depreciationIRS_data)
    depreciation_data['dep_model'] = totalAnnualDepreciation[40:54]
    if corp:
        depreciation_data['scale'] = (depreciation_data['dep_Ccorp'] /
                                      depreciation_data['dep_model'])
    else:
        depreciation_data['scale'] = (
            (depreciation_data['dep_Scorp'] + depreciation_data['dep_sp'] +
             depreciation_data['dep_partner']) /
            depreciation_data['dep_model'])
    adj_factor = (sum(depreciation_data['scale']) /
                  len(depreciation_data['scale']))
    return adj_factor