00001
00010 #ifndef _EMISSIONS_H
00011 #define _EMISSIONS_H
00012
00013 #include "powerflow.h"
00014 #include "powerflow_object.h"
00015
00016 class emissions : public powerflow_object
00017 {
00018 public:
00019 static CLASS *oclass;
00020 static CLASS *pclass;
00021 public:
00022
00023
00024 double Nuclear_Order;
00025 double Hydroelectric_Order;
00026 double Solarthermal_Order;
00027 double Biomass_Order;
00028 double Wind_Order;
00029 double Coal_Order;
00030 double Naturalgas_Order;
00031 double Geothermal_Order;
00032 double Petroleum_Order;
00033
00034
00035
00036 double Naturalgas_Max_Out;
00037 double Coal_Max_Out;
00038 double Biomass_Max_Out;
00039 double Geothermal_Max_Out;
00040 double Hydroelectric_Max_Out;
00041 double Nuclear_Max_Out;
00042 double Wind_Max_Out;
00043 double Petroleum_Max_Out;
00044 double Solarthermal_Max_Out;
00045
00046
00047 double Naturalgas_Conv_Eff;
00048 double Coal_Conv_Eff;
00049 double Biomass_Conv_Eff;
00050 double Geothermal_Conv_Eff;
00051 double Hydroelectric_Conv_Eff;
00052 double Nuclear_Conv_Eff;
00053 double Wind_Conv_Eff;
00054 double Petroleum_Conv_Eff;
00055 double Solarthermal_Conv_Eff;
00056
00057
00058 double Naturalgas_CO2;
00059 double Coal_CO2;
00060 double Biomass_CO2;
00061 double Geothermal_CO2;
00062 double Hydroelectric_CO2;
00063 double Nuclear_CO2;
00064 double Wind_CO2;
00065 double Petroleum_CO2;
00066 double Solarthermal_CO2;
00067
00068 double Naturalgas_SO2;
00069 double Coal_SO2;
00070 double Biomass_SO2;
00071 double Geothermal_SO2;
00072 double Hydroelectric_SO2;
00073 double Nuclear_SO2;
00074 double Wind_SO2;
00075 double Petroleum_SO2;
00076 double Solarthermal_SO2;
00077
00078 double Naturalgas_NOx;
00079 double Coal_NOx;
00080 double Biomass_NOx;
00081 double Geothermal_NOx;
00082 double Hydroelectric_NOx;
00083 double Nuclear_NOx;
00084 double Wind_NOx;
00085 double Petroleum_NOx;
00086 double Solarthermal_NOx;
00087
00088 double Naturalgas_Out;
00089 double Coal_Out;
00090 double Biomass_Out;
00091 double Geothermal_Out;
00092 double Hydroelectric_Out;
00093 double Nuclear_Out;
00094 double Wind_Out;
00095 double Petroleum_Out;
00096 double Solarthermal_Out;
00097
00098
00099 double Naturalgas_emissions_CO2;
00100 double Naturalgas_emissions_SO2;
00101 double Naturalgas_emissions_NOx;
00102
00103 double Coal_emissions_CO2;
00104 double Coal_emissions_SO2;
00105 double Coal_emissions_NOx;
00106
00107 double Biomass_emissions_CO2;
00108 double Biomass_emissions_SO2;
00109 double Biomass_emissions_NOx;
00110
00111 double Geothermal_emissions_CO2;
00112 double Geothermal_emissions_SO2;
00113 double Geothermal_emissions_NOx;
00114
00115 double Hydroelectric_emissions_CO2;
00116 double Hydroelectric_emissions_SO2;
00117 double Hydroelectric_emissions_NOx;
00118
00119 double Nuclear_emissions_CO2;
00120 double Nuclear_emissions_SO2;
00121 double Nuclear_emissions_NOx;
00122
00123 double Wind_emissions_CO2;
00124 double Wind_emissions_SO2;
00125 double Wind_emissions_NOx;
00126
00127 double Petroleum_emissions_CO2;
00128 double Petroleum_emissions_SO2;
00129 double Petroleum_emissions_NOx;
00130
00131 double Solarthermal_emissions_CO2;
00132 double Solarthermal_emissions_SO2;
00133 double Solarthermal_emissions_NOx;
00134
00135 double Total_emissions_CO2;
00136 double Total_emissions_SO2;
00137 double Total_emissions_NOx;
00138 double Total_energy_out;
00139
00140 double cycle_interval;
00141
00142 double Region;
00143
00144
00145 gld_property *parent_meter_total_power;
00146
00147
00148 double accumulated_energy;
00149 double cycle_power;
00150
00151 public:
00152 emissions(MODULE *mod);
00153 emissions(CLASS *cl=oclass):powerflow_object(cl){};
00154 int create(void);
00155 int init(OBJECT *parent=NULL);
00156 int isa(char *classname);
00157 TIMESTAMP postsync(TIMESTAMP t0);
00158
00159 private:
00160 TIMESTAMP cycle_interval_TS;
00161 TIMESTAMP time_cycle_interval;
00162 TIMESTAMP prev_cycle_time;
00163 TIMESTAMP curr_cycle_time;
00164 double dt_val;
00165
00166 };
00167
00168
00169 #endif // _EMISSIONS_H