HDR*PowerBuilder0600OU@Objects for NEI NIF 3.0 data exportFRE*?NOD*P f j0FENT*0600@6A d_nei_n3_format_transmittal.dwoENT*0600ZFo[@( d_nei_n3_format_transmittal.srdENT*0600NG[`A!d_nei_n3_format_site.srdENT*0600Z@6Ad_nei_n3_format_site.dwoENT*0600=1r@-$d_nei_n3_format_onroad_emission.srdENT*0600~86A$d_nei_n3_format_onroad_emission.dwoENT*0600,y@4+d_nei_n3_format_onroad_emission_period.srdENT*0600.*6A+d_nei_n3_format_onroad_emission_period.dwoENT*0600ZC@4,d_nei_n3_format_point_control_equipment.srdENT*0600n=6A,d_nei_n3_format_point_control_equipment.dwoENT*0600ov4A+#d_nei_n3_format_point_emission.srdENT*0600PFf6A#d_nei_n3_format_point_emission.dwoENT*0600K놎@2*d_nei_n3_format_point_emission_period.srdENT*0600D6A*d_nei_n3_format_point_emission_period.dwoENT*0600T._@3+d_nei_n3_format_point_emission_process.srdENT*0600RK6A+d_nei_n3_format_point_emission_process.dwoENT*0600VF Z@($d_nei_n3_transmittal_user_input.srdENT*0600l ;6A$d_nei_n3_transmittal_user_input.dwoENT*0600> m[@ n_ds_nei_n3_exp_transmittal.sruENT*0600 3 tpAn_ds_nei_n3_exp_site.sruENT*0600d "*>A+n_ds_nei_n3_exp_point_emission_process.sruENT*0600 YW@*n_ds_nei_n3_exp_point_emission_period.sruENT*0600 YW@#n_ds_nei_n3_exp_point_emission.sruENT*0600 AA,n_ds_nei_n3_exp_point_control_equipment.sruENT*0600b ]A n_ds_nei_n3_exp_transmittal.udoENT*0600@ m@CtransacDAT*tion_type_t$= 3259$?`439%ABTransaction TypeTransaction Type"D0`P:F GIKNinventory_year_t$H+{3707$JS{379%LMInventory YearInventory Year"O0`[EDAT*Q RTVYinventory_type_code_t$S4096$Uv539%WXInventory Type CodeInventory Type Code"Z0`fP\ ]_adtransaction_creation_date_t$^%4645$`DAT* 681%bcTransaction Creation DateTransaction Creation Date"e0`q[g hjlo incremental_submission_number_t$i5335$ke869%mnIncremental Submission NumberIncremental Submission Number"p0`|frDAT*" suwzreliability_indicator_t$tOE6213$vk489%xyReliability IndicatorReliability Indicator"{0`q} ~transaction_comments_t$76711$2194DAT*$%Transaction CommentsTransaction Comments"0`| contact_person_name_t$"8914$1920%Contact Person NameContact Person Name"0` DAT*&contact_phone_number_t$D [*10843$i617%Contact Phone NumberContact Phone Number"0` telephone_number_type_name_t$ ,11470$)809%Telephone Number TypDAT*(e NameTelephone Number Type Name"0` electronic_address_text_t$ 012288$X 2743%Electronic Address TextElectronic Address Text"0` eleDAT**ctronic_address_type_name_t$ :15040$7823%Electronic Address Type NameElectronic Address Type Name"0` source_type_t$ >15872$686% Source Type Source Type"DAT*,0` affiliation_type_t$(@16567$I1097%Affiliation TypeAffiliation Type"0` format_version_t$ E17673$DAT*.S{379%Format VersionFormat Version"0` tribal_code_t$oF18062$? 288% Tribal Code Tribal Code"0@@\DAT*0 ( record_type$ 9$L76$D7311& [general] [general]"0DAT*2(state_fips_and_county_fips$HI329$718"0 (  organization_name$ 1056$2194" 0 DAT*4((transaction_type$ 3259$`439"0! 2(inventory_year%numbernumber$+{DAT*63707$S{379" 0*"#%<(('inventory_type_code$$4096$&v539")06!+,/1F(43DAT*8transaction_creation_date%-.datedate$0%4645$2681"50B*78:P(@<incremental_submission_number$95335$;e869=&>?DAT*:"A0N6CDGI Z(LKreliability_indicator%EF decimal(2) decimal(2)$HOE6213$Jk489="M0WBOPR d(UDAT*<Ttransaction_comments$Q76711$S2194"V0`NXY[ n(^]contact_person_name$Z"8914$\1920"_0iWaDAT*>bd x(gfcontact_phone_number$cD [*10843$ei617"h0r`jkm (potelephone_number_type_name$l ,11470$n)809"DAT*@q0{istv(yxelectronic_address_text$u 012288$wX 2743"z0r|}(electronic_address_type_name$~DAT*B :15040$7823"0{( source_type$ >15872$686"0(DAT*Daffiliation_type$(@16567$I1097"0(format_version% decimal(0) decimal(0)$ E17673$S{379"0DAT*F( tribal_code$oF18062$? 288"0@DAT*HQ !DAT*J * 6B N QW G` i DAT*Lre{ ) record_type record_typestate_fips_and_county_fipsstate_fips_and_county_fipsDAT*"organization_nameorganization_nametransaction_typetransaction_type inventory_yearinventory_yearinventory_type_codeinventory_type_code!transaction_creation_datetransaction_creation_date*incremental_submission_numberincremental_submission_number6reliability_indicatorreliability_indicatorBDAT*PDatastore export records for siterelease 8; datawindow(units=0 timer_interval=0 color=1073741824 processing=1 HTMLDW=no print.documentname="" print.orientation = 0 print.margin.left = 110 print.margin.right = 110 print.margin.top = 96 print.margin.bottom = 96 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no grid.lines=0 ) header(height=80 color="536870912" ) summary(height=0 color="536870912" ) footer(height=0 color="536870912" ) detail(heiDAT*Rght=92 color="536870912" ) table(column=(type=char(2) updatewhereclause=no name=record_type dbname="record_type" ) column=(type=char(5) updatewhereclause=no name=state_fips_and_county_fips dbname="state_fips_and_county_fips" ) column=(type=char(15) updatewhereclause=no name=state_facility_identifier dbname="state_facility_identifier" ) column=(type=char(12) updatewhereclause=no name=facility_registry_identifier dbname="facility_registry_identifier" ) column=(type=char(2) updatewhereclauseDAT*T=no name=facility_category dbname="facility_category" ) column=(type=char(6) updatewhereclause=no name=oris_facility_code dbname="oris_facility_code" ) column=(type=char(4) updatewhereclause=no name=sic_primary dbname="sic_primary" ) column=(type=char(6) updatewhereclause=no name=naics_primary dbname="naics_primary" ) column=(type=char(80) updatewhereclause=no name=facility_name dbname="facility_name" ) column=(type=char(40) updatewhereclause=no name=site_description dbname="site_descripDAT*Vtion" ) column=(type=char(50) updatewhereclause=no name=location_address dbname="location_address" ) column=(type=char(60) updatewhereclause=no name=city dbname="city" ) column=(type=char(2) updatewhereclause=no name=state dbname="state" ) column=(type=char(14) updatewhereclause=no name=zipcode dbname="zipcode" ) column=(type=char(40) updatewhereclause=no name=country dbname="country" ) column=(type=char(20) updatewhereclause=no name=nti_site_id dbname="nti_site_id" ) column=(type=chDAT*Xar(9) updatewhereclause=no name=dun_bradstreet_number dbname="dun_bradstreet_number" ) column=(type=char(20) updatewhereclause=no name=tri_id dbname="tri_id" ) column=(type=char(4) updatewhereclause=no name=submittal_flag dbname="submittal_flag" ) column=(type=char(3) updatewhereclause=no name=tribal_code dbname="tribal_code" ) ) text(band=header alignment="2" text="Record Type" border="0" color="33554432" x="9" y="8" height="64" width="311" html.valueishtml="0" name=record_type_t visiblDAT*e="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="State Fips And County Fips" border="0" color="33554432" x="329" y="8" height="64" width="718" html.valueishtml="0" name=state_fips_and_county_fips_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color=DAT*\Datastore export records for transmittalrelease 8; datawindow(units=0 timer_interval=0 color=1073741824 processing=1 HTMLDW=no print.documentname="" print.orientation = 0 print.margin.left = 110 print.margin.right = 110 print.margin.top = 96 print.margin.bottom = 96 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no grid.lines=0 ) header(height=80 color="536870912" ) summary(height=0 color="536870912" ) footer(height=0 color="536870912" ) detDAT*^ail(height=92 color="536870912" ) table(column=(type=char(2) updatewhereclause=yes name=record_type dbname="record_type" ) column=(type=char(5) updatewhereclause=yes name=state_fips_and_county_fips dbname="state_fips_and_county_fips" ) column=(type=char(80) updatewhereclause=yes name=organization_name dbname="organization_name" ) column=(type=char(2) updatewhereclause=yes name=transaction_type dbname="transaction_type" ) column=(type=char(4) updatewhereclause=yes name=inventory_year dbnamDAT*`e="inventory_year" ) column=(type=char(10) updatewhereclause=yes name=inventory_type_code dbname="inventory_type_code" ) column=(type=char(8) updatewhereclause=yes name=transaction_creation_date dbname="transaction_creation_date" ) column=(type=char(4) updatewhereclause=yes name=incremental_submission_number dbname="incremental_submission_number" ) column=(type=char(5) updatewhereclause=yes name=reliability_indicator dbname="reliability_indicator" ) column=(type=char(80) updatewhereclausDAT*be=yes name=transaction_comments dbname="transaction_comments" ) column=(type=char(70) updatewhereclause=yes name=contact_person_name dbname="contact_person_name" ) column=(type=char(15) updatewhereclause=yes name=contact_phone_number dbname="contact_phone_number" ) column=(type=char(10) updatewhereclause=yes name=telephone_number_type_name dbname="telephone_number_type_name" ) column=(type=char(100) updatewhereclause=yes name=electronic_address_text dbname="electronic_address_text" ) colDAT*dumn=(type=char(10) updatewhereclause=yes name=electronic_address_type_name dbname="electronic_address_type_name" ) column=(type=char(25) updatewhereclause=yes name=source_type dbname="source_type" ) column=(type=char(40) updatewhereclause=yes name=affiliation_type dbname="affiliation_type" ) column=(type=char(4) updatewhereclause=yes name=format_version dbname="format_version" ) column=(type=char(3) updatewhereclause=yes name=tribal_code dbname="tribal_code" ) ) text(band=header alignmeDAT*fnt="2" text="Record Type" border="0" color="33554432" x="9" y="8" height="64" width="311" html.valueishtml="0" name=record_type_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="State Fips And County Fips" border="0" color="33554432" x="329" y="8" height="64" width="718" html.valueishtml="0" name=state_fips_and_county_fips_t visible="1" fonDAT*ht.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Organization Name" border="0" color="33554432" x="1056" y="8" height="64" width="2194" html.valueishtml="0" name=organization_name_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=hDAT*jeader alignment="2" text="Transaction Type" border="0" color="33554432" x="3259" y="8" height="64" width="439" html.valueishtml="0" name=transaction_type_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Inventory Year" border="0" color="33554432" x="3707" y="8" height="64" width="379" html.valueishtml="0" name=inventory_year_t visible="1" DAT*lfont.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Inventory Type Code" border="0" color="33554432" x="4096" y="8" height="64" width="539" html.valueishtml="0" name=inventory_type_code_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(DAT*nband=header alignment="2" text="Transaction Creation Date" border="0" color="33554432" x="4645" y="8" height="64" width="681" html.valueishtml="0" name=transaction_creation_date_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Incremental Submission Number" border="0" color="33554432" x="5335" y="8" height="64" width="869" html.valueishtml="DAT*p0" name=incremental_submission_number_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Reliability Indicator" border="0" color="33554432" x="6213" y="8" height="64" width="489" html.valueishtml="0" name=reliability_indicator_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0"DAT*r background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Transaction Comments" border="0" color="33554432" x="6711" y="8" height="64" width="2194" html.valueishtml="0" name=transaction_comments_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Contact Person Name" border="0" color="33554432" x="8914" y="8" heiDAT*tght="64" width="1920" html.valueishtml="0" name=contact_person_name_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Contact Phone Number" border="0" color="33554432" x="10843" y="8" height="64" width="617" html.valueishtml="0" name=contact_phone_number_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" foDAT*vnt.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Telephone Number Type Name" border="0" color="33554432" x="11470" y="8" height="64" width="809" html.valueishtml="0" name=telephone_number_type_name_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Electronic Address Text" bDAT*xorder="0" color="33554432" x="12288" y="8" height="64" width="2743" html.valueishtml="0" name=electronic_address_text_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Electronic Address Type Name" border="0" color="33554432" x="15040" y="8" height="64" width="823" html.valueishtml="0" name=electronic_address_type_name_t visible="1" font.faDAT*zce="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Source Type" border="0" color="33554432" x="15872" y="8" height="64" width="686" html.valueishtml="0" name=source_type_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment=DAT*|"2" text="Affiliation Type" border="0" color="33554432" x="16567" y="8" height="64" width="1097" html.valueishtml="0" name=affiliation_type_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Format Version" border="0" color="33554432" x="17673" y="8" height="64" width="379" html.valueishtml="0" name=format_version_t visible="1" font.face="ArDAT*~ial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Tribal Code" border="0" color="33554432" x="18062" y="8" height="64" width="288" html.valueishtml="0" name=tribal_code_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=1 alignmentDAT*="0" tabsequence=10 border="0" color="33554432" x="9" y="8" height="76" width="311" format="[general]" html.valueishtml="0" name=record_type visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=2 alignment="0" tabsequence=20 border="0" color="33554432" x="32DAT*9" y="8" height="76" width="718" format="[general]" html.valueishtml="0" name=state_fips_and_county_fips visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=3 alignment="0" tabsequence=30 border="0" color="33554432" x="1056" y="8" height="76" width="2194" fDAT*ormat="[general]" html.valueishtml="0" name=organization_name visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=4 alignment="0" tabsequence=40 border="0" color="33554432" x="3259" y="8" height="76" width="439" format="[general]" html.valueishtml="0" nameDAT*=transaction_type visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=5 alignment="0" tabsequence=50 border="0" color="33554432" x="3707" y="8" height="76" width="379" format="[general]" html.valueishtml="0" name=inventory_year tag="number" visible="1" ediDAT*t.limit=4 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=6 alignment="0" tabsequence=60 border="0" color="33554432" x="4096" y="8" height="76" width="539" format="[general]" html.valueishtml="0" name=inventory_type_code visible="1" edit.limit=0 edit.case=any edit.focusrectanglDAT*e=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=7 alignment="0" tabsequence=70 border="0" color="33554432" x="4645" y="8" height="76" width="681" format="[general]" html.valueishtml="0" name=transaction_creation_date tag="date" visible="1" edit.limit=8 edit.case=any edit.focusrectangle=no edit.autoselect=yesDAT* edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=8 alignment="0" tabsequence=80 border="0" color="33554432" x="5335" y="8" height="76" width="869" format="[general]" html.valueishtml="0" name=incremental_submission_number tag="number" visible="1" edit.limit=4 edit.case=any edit.format="" edit.focusrectangle=no edit.autoselect=yes edDAT*it.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=9 alignment="0" tabsequence=90 border="0" color="33554432" x="6213" y="8" height="76" width="489" format="[general]" html.valueishtml="0" name=reliability_indicator tag="decimal(2)" visible="1" edit.limit=5 edit.case=any edit.format="" edit.focusrectangle=no edit.autoselect=yes edit.autoDAT*hscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=10 alignment="0" tabsequence=100 border="0" color="33554432" x="6711" y="8" height="76" width="2194" format="[general]" html.valueishtml="0" name=transaction_comments visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face=DAT*"Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=11 alignment="0" tabsequence=110 border="0" color="33554432" x="8914" y="8" height="76" width="1920" format="[general]" html.valueishtml="0" name=contact_person_name visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="DAT*400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=12 alignment="0" tabsequence=120 border="0" color="33554432" x="10843" y="8" height="76" width="617" format="[general]" html.valueishtml="0" name=contact_phone_number visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" fDAT*ont.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=13 alignment="0" tabsequence=130 border="0" color="33554432" x="11470" y="8" height="76" width="809" format="[general]" html.valueishtml="0" name=telephone_number_type_name visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode=DAT*"1" background.color="536870912" ) column(band=detail id=14 alignment="0" tabsequence=140 border="0" color="33554432" x="12288" y="8" height="76" width="2743" format="[general]" html.valueishtml="0" name=electronic_address_text visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )DAT* column(band=detail id=15 alignment="0" tabsequence=150 border="0" color="33554432" x="15040" y="8" height="76" width="823" format="[general]" html.valueishtml="0" name=electronic_address_type_name visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=16 aliDAT*"536870912" ) text(band=header alignment="2" text="State Facility Identifier" border="0" color="33554432" x="1056" y="8" height="64" width="585" html.valueishtml="0" name=state_facility_identifier_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Facility Registry Identifier" border="0" color="33554432" x="1650" y="8" height="64" width="649"DAT* html.valueishtml="0" name=facility_registry_identifier_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Facility Category" border="0" color="33554432" x="2309" y="8" height="64" width="430" html.valueishtml="0" name=facility_category_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.cDAT*harset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Oris Facility Code" border="0" color="33554432" x="2747" y="8" height="64" width="457" html.valueishtml="0" name=oris_facility_code_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Sic Primary" border="0" color="33554432" x="3214" y="8" heightDAT*="64" width="306" html.valueishtml="0" name=sic_primary_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Naics Primary" border="0" color="33554432" x="3529" y="8" height="64" width="370" html.valueishtml="0" name=naics_primary_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="DAT*0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Facility Name" border="0" color="33554432" x="3909" y="8" height="64" width="2194" html.valueishtml="0" name=facility_name_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Site Description" border="0" color="33554432" x="6112" y="8" height="64" width=DAT*"1097" html.valueishtml="0" name=site_description_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Location Address" border="0" color="33554432" x="7218" y="8" height="64" width="1371" html.valueishtml="0" name=location_address_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset=DAT*"0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="City" border="0" color="33554432" x="8599" y="8" height="64" width="1646" html.valueishtml="0" name=city_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="State" border="0" color="33554432" x="10254" y="8" height="64" width="133" html.valueishtml="0" DAT* name=state_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Zipcode" border="0" color="33554432" x="10395" y="8" height="64" width="384" html.valueishtml="0" name=zipcode_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) tDAT*ext(band=header alignment="2" text="Country" border="0" color="33554432" x="10789" y="8" height="64" width="1097" html.valueishtml="0" name=country_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Nti Site Id" border="0" color="33554432" x="11895" y="8" height="64" width="549" html.valueishtml="0" name=nti_site_id_t visible="1" font.face="DAT*Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Dun Bradstreet Number" border="0" color="33554432" x="12453" y="8" height="64" width="622" html.valueishtml="0" name=dun_bradstreet_number_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=hDAT*eader alignment="2" text="Tri Id" border="0" color="33554432" x="13083" y="8" height="64" width="549" html.valueishtml="0" name=tri_id_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Submittal Flag" border="0" color="33554432" x="13641" y="8" height="64" width="366" html.valueishtml="0" name=submittal_flag_t visible="1" font.face="Arial" DAT*font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Tribal Code" border="0" color="33554432" x="14016" y="8" height="64" width="288" html.valueishtml="0" name=tribal_code_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=1 alignment="0" DAT*tabsequence=10 border="0" color="33554432" x="9" y="8" height="76" width="311" format="[general]" html.valueishtml="0" name=record_type visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=2 alignment="0" tabsequence=20 border="0" color="33554432" x="329" y=DAT*"8" height="76" width="718" format="[general]" html.valueishtml="0" name=state_fips_and_county_fips visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=3 alignment="0" tabsequence=30 border="0" color="33554432" x="1056" y="8" height="76" width="585" format=DAT*"[general]" html.valueishtml="0" name=state_facility_identifier visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=4 alignment="0" tabsequence=40 border="0" color="33554432" x="1650" y="8" height="76" width="649" format="[general]" html.valueishtml="0" naDAT*me=facility_registry_identifier visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=5 alignment="0" tabsequence=50 border="0" color="33554432" x="2309" y="8" height="76" width="430" format="[general]" html.valueishtml="0" name=facility_category visible="1" DAT*edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=6 alignment="0" tabsequence=60 border="0" color="33554432" x="2747" y="8" height="76" width="457" format="[general]" html.valueishtml="0" name=oris_facility_code visible="1" edit.limit=0 edit.case=any edit.focusrectanDAT*gle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=7 alignment="0" tabsequence=70 border="0" color="33554432" x="3214" y="8" height="76" width="306" format="[general]" html.valueishtml="0" name=sic_primary tag="number" visible="1" edit.limit=4 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autoDAT*hscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=8 alignment="0" tabsequence=80 border="0" color="33554432" x="3529" y="8" height="76" width="370" format="[general]" html.valueishtml="0" name=naics_primary tag="number" visible="1" edit.limit=6 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.fDAT*ace="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=9 alignment="0" tabsequence=90 border="0" color="33554432" x="3909" y="8" height="76" width="2194" format="[general]" html.valueishtml="0" name=facility_name visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400"DAT* font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=10 alignment="0" tabsequence=100 border="0" color="33554432" x="6112" y="8" height="76" width="1097" format="[general]" html.valueishtml="0" name=site_description visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charDAT*set="0" background.mode="1" background.color="536870912" ) column(band=detail id=11 alignment="0" tabsequence=110 border="0" color="33554432" x="7218" y="8" height="76" width="1371" format="[general]" html.valueishtml="0" name=location_address visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.colDAT*or="536870912" ) column(band=detail id=12 alignment="0" tabsequence=120 border="0" color="33554432" x="8599" y="8" height="76" width="1646" format="[general]" html.valueishtml="0" name=city visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=13 alignment="DAT*0" tabsequence=130 border="0" color="33554432" x="10254" y="8" height="76" width="133" format="[general]" html.valueishtml="0" name=state visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=14 alignment="0" tabsequence=140 border="0" color="33554432" x="103DAT*95" y="8" height="76" width="384" format="[general]" html.valueishtml="0" name=zipcode visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=15 alignment="0" tabsequence=150 border="0" color="33554432" x="10789" y="8" height="76" width="1097" format="[generalDAT*]" html.valueishtml="0" name=country visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=16 alignment="0" tabsequence=160 border="0" color="33554432" x="11895" y="8" height="76" width="549" format="[general]" html.valueishtml="0" name=nti_site_id visible="DAT*1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=17 alignment="0" tabsequence=170 border="0" color="33554432" x="12453" y="8" height="76" width="622" format="[general]" html.valueishtml="0" name=dun_bradstreet_number visible="1" edit.limit=0 edit.case=any edit.foDAT*cusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=18 alignment="0" tabsequence=180 border="0" color="33554432" x="13083" y="8" height="76" width="549" format="[general]" html.valueishtml="0" name=tri_id visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscrollDAT*PDW0800pdw+````@7 F$(nn``DAT* @P`$DAT* "record_type_t$1<  $ 0%  ArialArial$2$-10$400$ 536870912$ 33DAT*554432$ 9$8$@64$D7311% ! Record Type Record Type"#0`/% &(*-state_fips_and_county_fips_t$'HI329$)718%+,StateDAT* Fips And County FipsState Fips And County Fips".0`:$0 1358state_facility_identifier_t$2 1056$4I585%67State Facility IdentifierState Facility Identifier"90`E/; <>@DAT*Cfacility_registry_identifier_t$=ir1650$?649%ABFacility Registry IdentifierFacility Registry Identifier"D0`P:F GIKNfacility_category_t$H 2309$J^430%LMFacility CateDAT*goryFacility Category"O0`[EQ RTVYoris_facility_code_t$SY 2747$Ud457%WXOris Facility CodeOris Facility Code"Z0`fP\ ]_adsic_primary_t$^DAT* 3214$`C2306%bc Sic Primary Sic Primary"e0`q[g hjlonaics_primary_t$i 3529$kQr370%mnNaics PrimaryNaics Primary"p0`|frDAT* suwzfacility_name_t$tWE3909$v2194%xyFacility NameFacility Name"{0`q} ~site_description_t$96112$I1097%Site DescriptionSDAT*ite Description"0`| location_address_t$+27218$,[1371%Location AddressLocation Address"0` city_t$Y!8599DAT*$hn1646%CityCity"0` state_t$(10254$133%StateState"0`  zipcode_DAT*t$(10395$T384%ZipcodeZipcode"0`  country_t$8 %*10789$I1097%CountryCountry"0` DAT*nti_site_id_t$* w.11895$x%549% Nti Site Id Nti Site Id"0` dun_bradstreet_number_t$ 012453$n622%Dun Bradstreet NumberDDAT*un Bradstreet Number"0`  tri_id_t$. 313083$x%549%Tri IdTri Id"0` submittal_flag_t$ I513641$DAT*Pn366%Submittal FlagSubmittal Flag"0` tribal_code_t$ 614016$? 288% Tribal Code Tribal Code"0@@\DAT* ( record_type$ 9$L76$D7311& [general] [general]"0 DAT*(  state_fips_and_county_fips$HI329$ 718" 0(state_facility_identifier$ 1056$I585"0 DAT*((facility_registry_identifier$ir1650$649"0)!"$2('&facility_category$# 2309$%DAT*^430"(02 *+-<(0/oris_facility_code$,Y 2747$.d457"10>)3479F(<; sic_primary%DAT*56numbernumber$8 3214$:C2306"=0G2?4@BP(EDnaics_primary$A 3529$CQr370"F0P>HIDAT*K Z(NMfacility_name$JWE3909$L2194"O0YGQRT d(WVsite_description$S96112$UI1097"X0DAT*bPZ[] n(`_location_address$\+27218$^,[1371"a0kYcdf x(ihcity$eY!8599$ghnDAT*1646"j0tblmo (rqstate$n(10254$p133"s0}kuvx({zzipcode$w(DAT*10395$yT384"|0t~(country$8 %*10789$I1097"0}( nDAT*ti_site_id$* w.11895$x%549"0(dun_bradstreet_number$ 012453$n622"0DAT*(tri_id$. 313083$x%549"0(submittal_flag$ I513641$Pn366"0DAT*( tribal_code$ 614016$? 288"0@DDAT*   )DAT* 2>G QP )Y 3b =k tDAT*})  record_type record_typestate_fips_and_county_fipsstDAT*ate_fips_and_county_fipsstate_facility_identifierstate_facility_identifierfacility_registry_identifierfacility_registry_identifierfacility_categoryfacility_category oris_facility_codeoris_facility_code) sic_primary sic_primary2naics_primarynaics_primary>facility_namefacility_nameGDAT*site_descriptionsite_descriptionPlocation_addresslocation_addressYcitycitybstatestatekzipcodezipcodetcountrycountry} nti_site_id nti_site_iddun_bradstreet_numberdun_bradstreet_numbertri_idtri_idsubmittal_flagsubmittal_flagDAT*=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=19 alignment="0" tabsequence=190 border="0" color="33554432" x="13641" y="8" height="76" width="366" format="[general]" html.valueishtml="0" name=submittal_flag visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.DAT*height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=20 alignment="0" tabsequence=200 border="0" color="33554432" x="14016" y="8" height="76" width="288" format="[general]" html.valueishtml="0" name=tribal_code visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2"DAT*  font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) htmltable(border="1" ) htmlgen(clientevents="1" clientvalidation="1" clientcomputedfields="1" clientformatting="0" clientscriptable="0" generatejavascript="1" netscapelayers="0" ) DAT* tribal_code tribal_code\"1"1"1"1"0"0"0DAT*gnment="0" tabsequence=160 border="0" color="33554432" x="15872" y="8" height="76" width="686" format="[general]" html.valueishtml="0" name=source_type visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=17 alignment="0" tabsequence=170 border="0" color="33DAT*554432" x="16567" y="8" height="76" width="1097" format="[general]" html.valueishtml="0" name=affiliation_type visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=18 alignment="0" tabsequence=180 border="0" color="33554432" x="17673" y="8" height="76" widthDAT* ="379" format="[general]" html.valueishtml="0" name=format_version tag="decimal(0)" visible="1" edit.limit=4 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=19 alignment="0" tabsequence=190 border="0" color="33554432" x="18062" y="8" height="76" width="288" format="[general]" DAT*html.valueishtml="0" name=tribal_code visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) htmltable(border="1" ) htmlgen(clientevents="1" clientvalidation="1" clientcomputedfields="1" clientformatting="0" clientscriptable="0" generatejavascript="1" netscapelayers="0" ) DAT*$transaction_commentstransaction_commentsNcontact_person_namecontact_person_nameWcontact_phone_numbercontact_phone_number`telephone_number_type_nametelephone_number_type_nameielectronic_address_textelectronic_address_textrelectronic_address_type_nameelectronic_address_type_name{ source_type source_typeDAT*h affiliation_typeaffiliation_typeformat_versionformat_version tribal_code tribal_code\"1"1"1"1"0"0"DAT*(Datastore export records for emission unitrelease 8; datawindow(units=0 timer_interval=0 color=1073741824 processing=1 HTMLDW=no print.documentname="" print.orientation = 0 print.margin.left = 110 print.margin.right = 110 print.margin.top = 96 print.margin.bottom = 96 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no grid.lines=0 ) header(height=80 color="536870912" ) summary(height=0 color="536870912" ) footer(height=0 color="536870912" ) dDAT**etail(height=92 color="536870912" ) table(column=(type=char(2) updatewhereclause=no name=record_type dbname="record_type" ) column=(type=char(5) updatewhereclause=no name=state_fips_and_county_fips dbname="state_fips_and_county_fips" ) column=(type=char(15) updatewhereclause=no name=state_facility_identifier dbname="state_facility_identifier" ) column=(type=char(6) updatewhereclause=no name=emission_unit_id dbname="emission_unit_id" ) column=(type=char(5) updatewhereclause=no name=oris_boDAT*,iler_id dbname="oris_boiler_id" ) column=(type=char(4) updatewhereclause=no name=sic_unit_level dbname="sic_unit_level" ) column=(type=char(6) updatewhereclause=no name=naics_unit_level dbname="naics_unit_level" ) column=(type=char(2) updatewhereclause=no name=space_1 dbname="space_1" ) column=(type=char(10) updatewhereclause=no name=design_capacity dbname="design_capacity" ) column=(type=char(10) updatewhereclause=no name=design_capacity_unit_numerator dbname="design_capacity_unit_numerDAT*.ator" ) column=(type=char(10) updatewhereclause=no name=design_capacity_unit_denominator dbname="design_capacity_unit_denominator" ) column=(type=char(10) updatewhereclause=no name=max_nameplate_capacity dbname="max_nameplate_capacity" ) column=(type=char(80) updatewhereclause=no name=emission_unit_description dbname="emission_unit_description" ) column=(type=char(4) updatewhereclause=no name=submittal_flag dbname="submittal_flag" ) column=(type=char(3) updatewhereclause=no name=tribal_cDAT*0ode dbname="tribal_code" ) ) text(band=header alignment="2" text="Record Type" border="0" color="33554432" x="9" y="8" height="64" width="311" html.valueishtml="0" name=record_type_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="State Fips And County Fips" border="0" color="33554432" x="329" y="8" height="64" width="718" html.valueishtmlDAT*2="0" name=state_fips_and_county_fips_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="State Facility Identifier" border="0" color="33554432" x="1056" y="8" height="64" width="585" html.valueishtml="0" name=state_facility_identifier_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charDAT*4set="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Emission Unit Id" border="0" color="33554432" x="1650" y="8" height="64" width="443" html.valueishtml="0" name=emission_unit_id_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Oris Boiler Id" border="0" color="33554432" x="2103" y="8" height="64DAT*6" width="347" html.valueishtml="0" name=oris_boiler_id_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Sic Unit Level" border="0" color="33554432" x="2459" y="8" height="64" width="352" html.valueishtml="0" name=sic_unit_level_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset=DAT*8"0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Naics Unit Level" border="0" color="33554432" x="2821" y="8" height="64" width="416" html.valueishtml="0" name=naics_unit_level_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Space 1" border="0" color="33554432" x="3246" y="8" height="64" width="22DAT*:4" html.valueishtml="0" name=space_1_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Design Capacity" border="0" color="33554432" x="3479" y="8" height="64" width="430" html.valueishtml="0" name=design_capacity_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mDAT*<ode="1" background.color="536870912" ) text(band=header alignment="2" text="Design Capacity Unit Numerator" border="0" color="33554432" x="3918" y="8" height="64" width="855" html.valueishtml="0" name=design_capacity_unit_numerator_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Design Capacity Unit Denominator" border="0" color="33554432"DAT*> x="4782" y="8" height="64" width="914" html.valueishtml="0" name=design_capacity_unit_denominator_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Max Nameplate Capacity" border="0" color="33554432" x="5705" y="8" height="64" width="677" html.valueishtml="0" name=max_nameplate_capacity_t visible="1" font.face="Arial" font.height="-10" fonDAT*@t.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Emission Unit Description" border="0" color="33554432" x="6391" y="8" height="64" width="2194" html.valueishtml="0" name=emission_unit_description_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" DAT*Btext="Submittal Flag" border="0" color="33554432" x="8594" y="8" height="64" width="366" html.valueishtml="0" name=submittal_flag_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Tribal Code" border="0" color="33554432" x="8969" y="8" height="64" width="288" html.valueishtml="0" name=tribal_code_t visible="1" font.face="Arial" font.height=DAT*D"-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=1 alignment="0" tabsequence=10 border="0" color="33554432" x="9" y="8" height="76" width="311" format="[general]" html.valueishtml="0" name=record_type visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="DAT*F2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=2 alignment="0" tabsequence=20 border="0" color="33554432" x="329" y="8" height="76" width="718" format="[general]" html.valueishtml="0" name=state_fips_and_county_fips visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode=DAT*H"1" background.color="536870912" ) column(band=detail id=3 alignment="0" tabsequence=30 border="0" color="33554432" x="1056" y="8" height="76" width="585" format="[general]" html.valueishtml="0" name=state_facility_identifier visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) DAT*Jcolumn(band=detail id=4 alignment="0" tabsequence=40 border="0" color="33554432" x="1650" y="8" height="76" width="443" format="[general]" html.valueishtml="0" name=emission_unit_id visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=5 alignment="0" tabsequDAT*Lence=50 border="0" color="33554432" x="2103" y="8" height="76" width="347" format="[general]" html.valueishtml="0" name=oris_boiler_id visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=6 alignment="0" tabsequence=60 border="0" color="33554432" x="2459" y=DAT*N"8" height="76" width="352" format="[general]" html.valueishtml="0" name=sic_unit_level tag="number" visible="1" edit.limit=4 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=7 alignment="0" tabsequence=70 border="0" color="33554432" x="2821" y="8" height="76" width="416" formaDAT*Pt="[general]" html.valueishtml="0" name=naics_unit_level tag="number" visible="1" edit.limit=6 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=8 alignment="0" tabsequence=80 border="0" color="33554432" x="3246" y="8" height="76" width="224" format="[general]" html.valueishtml=DAT*"0" name=space_1 visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=9 alignment="0" tabsequence=90 border="0" color="33554432" x="3479" y="8" height="76" width="430" format="[general]" html.valueishtml="0" name=design_capacity tag="decimal(0)" visible="1DAT*TPDW0800Ipdw+````@r F$Inn``DAT*V9: @P`$DAT*X "record_type_t$1<  $ 0%  ArialArial$2$-10$400$ 536870912$ 33DAT*Z554432$ 9$8$@64$D7311% ! Record Type Record Type"#0`/% &(*-state_and_county_fips_code_t$'HI329$)754%+,StateDAT*\ And County Fips CodeState And County Fips Code".0`:$0 1358scc_t$2E1093$4<274%67SccScc"90`E/; <>@Cpollutant_code_t$=-`DAT*^1376$?T384%ABPollutant CodePollutant Code"D0`P:F GIKN!primary_pct_control_efficiency_t$H1769$J 800%LMPrimary Pct Control EfficiencyPrimary Pct Control Efficiency"O0`[EDAT*`Q RTVYpct_capture_efficiency_t$S4 2578$UN590%WXPct Capture EfficiencyPct Capture Efficiency"Z0`fP\ ]_ad#total_capture_control_efficiency_t$^i 3177$`DAT*b@832%bc!Total Capture Control Efficiency!Total Capture Control Efficiency"e0`q[g hjloprimary_device_type_code_t$io4018$k699%mnPrimary Device Type CodePrimary Device Type Code"p0`|frDAT*d suwzsecondary_device_type_code_t$t w4727$v 777%xySecondary Device Type CodeSecondary Device Type Code"{0`q} ~control_system_description_t$5513$DAT*fI1097%Control System DescriptionControl System Description"0`| submittal_flag_t$6619$Pn366%Submittal FlagSubmittal Flag"0`DAT*h tribal_code_t$R6994$? 288% Tribal Code Tribal Code"0@@\  (DAT*j record_type$ 9$L76$D7311& [general] [general]"0(state_and_county_fips_code$HI329$754DAT*l"0(scc$E1093$<274"0((pollutant_code$-`1376$DAT*nT384"0P(primary_device_type_code$o4018$699"0 Z(sDAT*pecondary_device_type_code$ w4727$ 777"0 d(control_system_description$5513$I1097"0DAT*r n(submittal_flag$6619$Pn366"0 x( tribal_code$R6994$? 288"0DAT*tF(!total_capture_control_efficiency% decimal(0) decimal(0)$i 3177$@832"0 2(primary_pct_controlDAT*v_efficiency$1769$ 800" 0  <(pct_capture_efficiency$ 4 2578$N590"0@DDAT*x  DAT*z  #!"& $%)'(,*+/-. 201 )534 DAT*|867  record_type record_typestate_and_county_fips_codestate_and_county_fips_codesccsccpollutant_codepollutant_codeprimary_pct_control_efficiencyprimary_pct_control_efficiencypct_capture_efficiencypct_capture_efficiency !total_capture_control_efficDAT*~iency!total_capture_control_efficiencyprimary_device_type_codeprimary_device_type_codesecondary_device_type_codesecondary_device_type_codecontrol_system_descriptioncontrol_system_descriptionsubmittal_flagsubmittal_flag tribal_code tribal_code\;=?ACEDAT*G"<1">1"@1"B1"D0"F0"H0DAT*Datastore export records for area emission periodrelease 8; datawindow(units=0 timer_interval=0 color=1073741824 processing=1 HTMLDW=no print.documentname="" print.orientation = 0 print.margin.left = 110 print.margin.right = 110 print.margin.top = 96 print.margin.bottom = 96 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no grid.lines=0 ) header(height=80 color="536870912" ) summary(height=0 color="536870912" ) footer(height=0 color="53687091DAT*Datastore export records for area control equipmentrelease 8; datawindow(units=0 timer_interval=0 color=1073741824 processing=1 HTMLDW=no print.documentname="" print.orientation = 0 print.margin.left = 110 print.margin.right = 110 print.margin.top = 96 print.margin.bottom = 96 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no grid.lines=0 ) header(height=80 color="536870912" ) summary(height=0 color="536870912" ) footer(height=0 color="536870DAT*912" ) detail(height=92 color="536870912" ) table(column=(type=char(2) updatewhereclause=yes name=record_type dbname="record_type" ) column=(type=char(5) updatewhereclause=yes name=state_and_county_fips_code dbname="state_and_county_fips_code" ) column=(type=char(10) updatewhereclause=yes name=scc dbname="scc" ) column=(type=char(9) updatewhereclause=yes name=pollutant_code dbname="pollutant_code" ) column=(type=char(5) updatewhereclause=yes name=primary_pct_control_efficiency dbname="prDAT*imary_pct_control_efficiency" ) column=(type=char(5) updatewhereclause=yes name=pct_capture_efficiency dbname="pct_capture_efficiency" ) column=(type=char(5) updatewhereclause=yes name=total_capture_control_efficiency dbname="total_capture_control_efficiency" ) column=(type=char(4) updatewhereclause=yes name=primary_device_type_code dbname="primary_device_type_code" ) column=(type=char(4) updatewhereclause=yes name=secondary_device_type_code dbname="secondary_device_type_code" ) column=(DAT*type=char(40) updatewhereclause=yes name=control_system_description dbname="control_system_description" ) column=(type=char(4) updatewhereclause=yes name=submittal_flag dbname="submittal_flag" ) column=(type=char(3) updatewhereclause=yes name=tribal_code dbname="tribal_code" ) ) text(band=header alignment="2" text="Record Type" border="0" color="33554432" x="9" y="8" height="64" width="311" html.valueishtml="0" name=record_type_t visible="1" font.face="Arial" font.height="-10" font.weightDAT*="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="State And County Fips Code" border="0" color="33554432" x="329" y="8" height="64" width="754" html.valueishtml="0" name=state_and_county_fips_code_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="ScDAT*c" border="0" color="33554432" x="1093" y="8" height="64" width="274" html.valueishtml="0" name=scc_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Pollutant Code" border="0" color="33554432" x="1376" y="8" height="64" width="384" html.valueishtml="0" name=pollutant_code_t visible="1" font.face="Arial" font.height="-10" font.weight="400" DAT* font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Primary Pct Control Efficiency" border="0" color="33554432" x="1769" y="8" height="64" width="800" html.valueishtml="0" name=primary_pct_control_efficiency_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="DAT*Pct Capture Efficiency" border="0" color="33554432" x="2578" y="8" height="64" width="590" html.valueishtml="0" name=pct_capture_efficiency_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Total Capture Control Efficiency" border="0" color="33554432" x="3177" y="8" height="64" width="832" html.valueishtml="0" name=total_capture_control_effiDAT*ciency_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Primary Device Type Code" border="0" color="33554432" x="4018" y="8" height="64" width="699" html.valueishtml="0" name=primary_device_type_code_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" backgDAT*round.color="536870912" ) text(band=header alignment="2" text="Secondary Device Type Code" border="0" color="33554432" x="4727" y="8" height="64" width="777" html.valueishtml="0" name=secondary_device_type_code_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Control System Description" border="0" color="33554432" x="5513" y="8" height="64"DAT* width="1097" html.valueishtml="0" name=control_system_description_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Submittal Flag" border="0" color="33554432" x="6619" y="8" height="64" width="366" html.valueishtml="0" name=submittal_flag_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" fDAT*ont.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Tribal Code" border="0" color="33554432" x="6994" y="8" height="64" width="288" html.valueishtml="0" name=tribal_code_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=1 alignment="0" tabsequence=10 border="0" color="33554432" x="9" y="8" height="76" widDAT*th="311" format="[general]" html.valueishtml="0" name=record_type visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=2 alignment="0" tabsequence=20 border="0" color="33554432" x="329" y="8" height="76" width="754" format="[general]" html.valueishtml="0" nDAT*ame=state_and_county_fips_code visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=3 alignment="0" tabsequence=30 border="0" color="33554432" x="1093" y="8" height="76" width="274" format="[general]" html.valueishtml="0" name=scc visible="1" edit.limit=0 edDAT*it.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=4 alignment="0" tabsequence=40 border="0" color="33554432" x="1376" y="8" height="76" width="384" format="[general]" html.valueishtml="0" name=pollutant_code visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselDAT*ect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=8 alignment="0" tabsequence=80 border="0" color="33554432" x="4018" y="8" height="76" width="699" format="[general]" html.valueishtml="0" name=primary_device_type_code visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imeDAT*mode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=9 alignment="0" tabsequence=90 border="0" color="33554432" x="4727" y="8" height="76" width="777" format="[general]" html.valueishtml="0" name=secondary_device_type_code visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.heigDAT*ht="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=10 alignment="0" tabsequence=100 border="0" color="33554432" x="5513" y="8" height="76" width="1097" format="[general]" html.valueishtml="0" name=control_system_description visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" fontDAT*.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=11 alignment="0" tabsequence=110 border="0" color="33554432" x="6619" y="8" height="76" width="366" format="[general]" html.valueishtml="0" name=submittal_flag visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" bDAT*ackground.mode="1" background.color="536870912" ) column(band=detail id=12 alignment="0" tabsequence=120 border="0" color="33554432" x="6994" y="8" height="76" width="288" format="[general]" html.valueishtml="0" name=tribal_code visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" DAT*) column(band=detail id=7 alignment="0" tabsequence=70 border="0" color="33554432" x="3177" y="8" height="76" width="832" format="[general]" html.valueishtml="0" name=total_capture_control_efficiency tag="decimal(0)" visible="1" edit.limit=5 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(bDAT*and=detail id=5 alignment="0" tabsequence=50 border="0" color="33554432" x="1769" y="8" height="76" width="800" format="[general]" html.valueishtml="0" name=primary_pct_control_efficiency tag="decimal(0)" visible="1" edit.limit=5 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail idDAT*=6 alignment="0" tabsequence=60 border="0" color="33554432" x="2578" y="8" height="76" width="590" format="[general]" html.valueishtml="0" name=pct_capture_efficiency tag="decimal(0)" visible="1" edit.limit=5 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) htmltable(border="1" ) htmlgen(clientevenDAT*ts="1" clientvalidation="1" clientcomputedfields="1" clientformatting="0" clientscriptable="0" generatejavascript="1" netscapelayers="0" ) DAT*l2" ) detail(height=92 color="536870912" ) table(column=(type=char(2) updatewhereclause=yes name=record_type dbname="record_type" ) column=(type=char(5) updatewhereclause=yes name=state_and_county_fips_code dbname="state_and_county_fips_code" ) column=(type=char(10) updatewhereclause=yes name=scc dbname="scc" ) column=(type=char(8) updatewhereclause=yes name=start_date dbname="start_date" ) column=(type=char(8) updatewhereclause=yes name=end_date dbname="end_date" ) column=(type=char(2)DAT*Datastore export records for area emissionrelease 8; datawindow(units=0 timer_interval=0 color=1073741824 processing=1 HTMLDW=no print.documentname="" print.orientation = 0 print.margin.left = 110 print.margin.right = 110 print.margin.top = 96 print.margin.bottom = 96 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no grid.lines=0 ) header(height=80 color="536870912" ) summary(height=0 color="536870912" ) footer(height=0 color="536870912" ) dDAT*etail(height=92 color="536870912" ) table(column=(type=char(2) updatewhereclause=yes name=record_type dbname="record_type" ) column=(type=char(5) updatewhereclause=yes name=state_and_county_fips_code dbname="state_and_county_fips_code" ) column=(type=char(10) updatewhereclause=yes name=scc dbname="scc" ) column=(type=char(9) updatewhereclause=yes name=pollutant_code dbname="pollutant_code" ) column=(type=char(11) updatewhereclause=yes name=space_1 dbname="space_1" ) column=(type=char(8)DAT* updatewhereclause=yes name=start_date dbname="start_date" ) column=(type=char(8) updatewhereclause=yes name=end_date dbname="end_date" ) column=(type=char(2) updatewhereclause=yes name=space_2 dbname="space_2" ) column=(type=char(4) updatewhereclause=yes name=start_time dbname="start_time" ) column=(type=char(4) updatewhereclause=yes name=end_time dbname="end_time" ) column=(type=char(10) updatewhereclause=yes name=emission_numeric_value dbname="emission_numeric_value" ) column=(type=DAT*char(10) updatewhereclause=yes name=emission_unit_numerator dbname="emission_unit_numerator" ) column=(type=char(2) updatewhereclause=yes name=emission_type dbname="emission_type" ) column=(type=char(5) updatewhereclause=yes name=em_reliability_indicator dbname="em_reliability_indicator" ) column=(type=char(10) updatewhereclause=yes name=factor_numeric_value dbname="factor_numeric_value" ) column=(type=char(10) updatewhereclause=yes name=factor_unit_numerator dbname="factor_unit_numerator"DAT* ) column=(type=char(10) updatewhereclause=yes name=factor_unit_denominator dbname="factor_unit_denominator" ) column=(type=char(4) updatewhereclause=yes name=material dbname="material" ) column=(type=char(10) updatewhereclause=yes name=material_io dbname="material_io" ) column=(type=char(5) updatewhereclause=yes name=space_3 dbname="space_3" ) column=(type=char(2) updatewhereclause=yes name=emission_calculation_method_code dbname="emission_calculation_method_code" ) column=(type=char(DAT*5) updatewhereclause=yes name=ef_reliability_indicator dbname="ef_reliability_indicator" ) column=(type=char(5) updatewhereclause=yes name=rule_effectiveness dbname="rule_effectiveness" ) column=(type=char(2) updatewhereclause=yes name=rule_effectiveness_method dbname="rule_effectiveness_method" ) column=(type=char(5) updatewhereclause=yes name=rule_penetration dbname="rule_penetration" ) column=(type=char(4) updatewhereclause=yes name=submittal_flag dbname="submittal_flag" ) column=(typDAT*e=char(3) updatewhereclause=yes name=tribal_code dbname="tribal_code" ) ) text(band=header alignment="2" text="Record Type" border="0" color="33554432" x="9" y="8" height="64" width="311" html.valueishtml="0" name=record_type_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="State And County Fips Code" border="0" color="33554432" x="329" yDAT*="8" height="64" width="754" html.valueishtml="0" name=state_and_county_fips_code_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Scc" border="0" color="33554432" x="1093" y="8" height="64" width="274" html.valueishtml="0" name=scc_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.chaDAT*rset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Pollutant Code" border="0" color="33554432" x="1376" y="8" height="64" width="384" html.valueishtml="0" name=pollutant_code_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Space 1" border="0" color="33554432" x="1769" y="8" height="64" width="3DAT*02" html.valueishtml="0" name=space_1_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Start Date" border="0" color="33554432" x="2080" y="8" height="64" width="265" html.valueishtml="0" name=start_date_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" bDAT*ackground.color="536870912" ) text(band=header alignment="2" text="End Date" border="0" color="33554432" x="2354" y="8" height="64" width="242" html.valueishtml="0" name=end_date_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Space 2" border="0" color="33554432" x="2606" y="8" height="64" width="224" html.valueishtml="0" name=space_2_t vDAT*isible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Start Time" border="0" color="33554432" x="2839" y="8" height="64" width="265" html.valueishtml="0" name=start_time_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=hDAT*eader alignment="2" text="End Time" border="0" color="33554432" x="3113" y="8" height="64" width="242" html.valueishtml="0" name=end_time_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Emission Numeric Value" border="0" color="33554432" x="3365" y="8" height="64" width="645" html.valueishtml="0" name=emission_numeric_value_t visible="1" DAT*font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Emission Unit Numerator" border="0" color="33554432" x="4018" y="8" height="64" width="663" html.valueishtml="0" name=emission_unit_numerator_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" DAT*) text(band=header alignment="2" text="Emission Type" border="0" color="33554432" x="4690" y="8" height="64" width="384" html.valueishtml="0" name=emission_type_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Em Reliability Indicator" border="0" color="33554432" x="5083" y="8" height="64" width="603" html.valueishtml="0" name=em_reliabiliDAT*ty_indicator_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Factor Numeric Value" border="0" color="33554432" x="5696" y="8" height="64" width="553" html.valueishtml="0" name=factor_numeric_value_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" backgroDAT*und.color="536870912" ) text(band=header alignment="2" text="Factor Unit Numerator" border="0" color="33554432" x="6258" y="8" height="64" width="571" html.valueishtml="0" name=factor_unit_numerator_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Factor Unit Denominator" border="0" color="33554432" x="6839" y="8" height="64" width="631" htDAT*ml.valueishtml="0" name=factor_unit_denominator_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Material" border="0" color="33554432" x="7479" y="8" height="64" width="210" html.valueishtml="0" name=material_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.modeDAT*="1" background.color="536870912" ) text(band=header alignment="2" text="Material Io" border="0" color="33554432" x="7698" y="8" height="64" width="288" html.valueishtml="0" name=material_io_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Space 3" border="0" color="33554432" x="7995" y="8" height="64" width="224" html.valueishtml="0" nameDAT*=space_3_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Emission Calculation Method Code" border="0" color="33554432" x="8229" y="8" height="64" width="942" html.valueishtml="0" name=emission_calculation_method_code_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" backgroDAT*und.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Ef Reliability Indicator" border="0" color="33554432" x="9179" y="8" height="64" width="567" html.valueishtml="0" name=ef_reliability_indicator_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Rule Effectiveness" border="0" color="33554432" x="9755" y="8" heighDAT*t="64" width="466" html.valueishtml="0" name=rule_effectiveness_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Rule Effectiveness Method" border="0" color="33554432" x="10231" y="8" height="64" width="695" html.valueishtml="0" name=rule_effectiveness_method_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family=DAT*"2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Rule Penetration" border="0" color="33554432" x="10935" y="8" height="64" width="421" html.valueishtml="0" name=rule_penetration_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Submittal Flag" border="0" color="335544DAT*32" x="11365" y="8" height="64" width="366" html.valueishtml="0" name=submittal_flag_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Tribal Code" border="0" color="33554432" x="11739" y="8" height="64" width="288" html.valueishtml="0" name=tribal_code_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" fonDAT*t.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=1 alignment="0" tabsequence=10 border="0" color="33554432" x="9" y="8" height="76" width="311" format="[general]" html.valueishtml="0" name=record_type visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" backDAT*ground.color="536870912" ) column(band=detail id=2 alignment="0" tabsequence=20 border="0" color="33554432" x="329" y="8" height="76" width="754" format="[general]" html.valueishtml="0" name=state_and_county_fips_code visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(bDAT*and=detail id=3 alignment="0" tabsequence=30 border="0" color="33554432" x="1093" y="8" height="76" width="274" format="[general]" html.valueishtml="0" name=scc visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=4 alignment="0" tabsequence=40 border="0" coDAT*lor="33554432" x="1376" y="8" height="76" width="384" format="[general]" html.valueishtml="0" name=pollutant_code visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=5 alignment="0" tabsequence=50 border="0" color="33554432" x="1769" y="8" height="76" widthDAT*="302" format="[general]" html.valueishtml="0" name=space_1 visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=6 alignment="0" tabsequence=60 border="0" color="33554432" x="2080" y="8" height="76" width="265" format="[general]" html.valueishtml="0" name=sDAT*tart_date tag="date" visible="1" edit.limit=8 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=7 alignment="0" tabsequence=70 border="0" color="33554432" x="2354" y="8" height="76" width="242" format="[general]" html.valueishtml="0" name=end_date tag="date" visible="1" edit.liDAT*mit=8 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=8 alignment="0" tabsequence=80 border="0" color="33554432" x="2606" y="8" height="76" width="224" format="[general]" html.valueishtml="0" name=space_2 visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoseDAT*lect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=9 alignment="0" tabsequence=90 border="0" color="33554432" x="2839" y="4" height="76" width="265" format="[general]" html.valueishtml="0" name=start_time tag="time" visible="1" edit.limit=4 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemDAT*ode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=10 alignment="0" tabsequence=100 border="0" color="33554432" x="3113" y="8" height="76" width="242" format="[general]" html.valueishtml="0" name=end_time tag="time" visible="1" edit.limit=4 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-DAT*10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=11 alignment="0" tabsequence=110 border="0" color="33554432" x="3365" y="8" height="76" width="645" format="[general]" html.valueishtml="0" name=emission_numeric_value tag="decimal(0)" visible="1" edit.limit=10 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="4DAT*00" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=12 alignment="0" tabsequence=120 border="0" color="33554432" x="4018" y="8" height="76" width="663" format="[general]" html.valueishtml="0" name=emission_unit_numerator visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" DAT*font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=13 alignment="0" tabsequence=130 border="0" color="33554432" x="4690" y="8" height="76" width="384" format="[general]" html.valueishtml="0" name=emission_type visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" backgrounDAT*d.color="536870912" ) column(band=detail id=14 alignment="0" tabsequence=140 border="0" color="33554432" x="5083" y="8" height="76" width="603" format="[general]" html.valueishtml="0" name=em_reliability_indicator tag="decimal(0)" visible="1" edit.limit=5 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="53687091DAT*2" ) column(band=detail id=15 alignment="0" tabsequence=150 border="0" color="33554432" x="5696" y="8" height="76" width="553" format="[general]" html.valueishtml="0" name=factor_numeric_value tag="decimal(0)" visible="1" edit.limit=10 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=deDAT*tail id=16 alignment="0" tabsequence=160 border="0" color="33554432" x="6258" y="8" height="76" width="571" format="[general]" html.valueishtml="0" name=factor_unit_numerator visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=17 alignment="0" tabsequence=1DAT*70 border="0" color="33554432" x="6839" y="8" height="76" width="631" format="[general]" html.valueishtml="0" name=factor_unit_denominator visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=18 alignment="0" tabsequence=180 border="0" color="33554432" x="74DAT*79" y="8" height="76" width="210" format="[general]" html.valueishtml="0" name=material tag="number" visible="1" edit.limit=4 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=19 alignment="0" tabsequence=190 border="0" color="33554432" x="7698" y="8" height="76" width="288" forDAT*mat="[general]" html.valueishtml="0" name=material_io visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=20 alignment="0" tabsequence=200 border="0" color="33554432" x="7995" y="8" height="76" width="224" format="[general]" html.valueishtml="0" name=spaceDAT* _3 visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=21 alignment="0" tabsequence=210 border="0" color="33554432" x="8229" y="8" height="76" width="942" format="[general]" html.valueishtml="0" name=emission_calculation_method_code visible="1" edit.limit=0DAT*  edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=22 alignment="0" tabsequence=220 border="0" color="33554432" x="9179" y="8" height="76" width="567" format="[general]" html.valueishtml="0" name=ef_reliability_indicator visible="1" edit.limit=0 edit.case=any edit.focusrectangle=DAT*no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=23 alignment="0" tabsequence=230 border="0" color="33554432" x="9755" y="8" height="76" width="466" format="[general]" html.valueishtml="0" name=rule_effectiveness tag="decimal(0)" visible="1" edit.limit=5 edit.case=any edit.focusrectangle=no edit.autoselect=yes DAT*edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=24 alignment="0" tabsequence=240 border="0" color="33554432" x="10231" y="8" height="76" width="695" format="[general]" html.valueishtml="0" name=rule_effectiveness_method visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemodeDAT*=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=25 alignment="0" tabsequence=250 border="0" color="33554432" x="10935" y="0" height="76" width="421" format="[general]" html.valueishtml="0" name=rule_penetration tag="decimal(0)" visible="1" edit.limit=5 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" foDAT*nt.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=26 alignment="0" tabsequence=260 border="0" color="33554432" x="11365" y="8" height="76" width="366" format="[general]" html.valueishtml="0" name=submittal_flag visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.famiDAT*ly="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=27 alignment="0" tabsequence=270 border="0" color="33554432" x="11739" y="8" height="76" width="288" format="[general]" html.valueishtml="0" name=tribal_code visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" backgrouDAT*PDW0800pdw+MBCL````@. F$6nn``DAT* @P7`$DAT* "record_type_t$1<  $ 0%  ArialArial$2$-10$400$ 536870912$ 33DAT*554432$ 9$8$@64$D7311% ! Record Type Record Type"#0`/% &(*-state_and_county_fips_code_t$'HI329$)754%+,StateDAT*  And County Fips CodeState And County Fips Code".0`:$0 1358scc_t$2E1093$4<274%67SccScc"90`E/; <>@Cpollutant_code_t$=-`DAT*"1376$?T384%ABPollutant CodePollutant Code"D0`P:F GIKN space_1_t$H1769$JB.302%LMSpace 1Space 1"O0`[EQ RTVDAT*$Y start_date_t$S 2080$U: 265%WX Start Date Start Date"Z0`fP\ ]_ad end_date_t$^2 2354$`5242%bc End Date End Date"e0`q[gDAT*& hjlo space_2_t$i:. 2606$k1224%mnSpace 2Space 2"p0`|fr suwz start_time_t$tm 2839$v: 265%xy Start Time DAT*(Start Time"{0`q} ~ end_time_t$) 3113$5242% End Time End Time"0`| emission_numeric_value_t$% 3365$DAT**645%Emission Numeric ValueEmission Numeric Value"0` emission_unit_numerator_t$o4018$663%Emission Unit NumeratorEmission Unit Numerator"0`DAT*, emission_type_t$R4690$T384%Emission TypeEmission Type"0` em_reliability_indicator_t$X5083$[603%DAT*.Em Reliability IndicatorEm Reliability Indicator"0` factor_numeric_value_t$@5696$y)553%Factor Numeric ValueFactor Numeric Value"0` DAT*0factor_unit_numerator_t$Yr6258$};571%Factor Unit NumeratorFactor Unit Numerator"0` factor_unit_denominator_t$6839$w631%Factor Unit DenominatorFactor UniDAT*2t Denominator"0`  material_t$d77479$.210% Material Material"0` material_io_t$7698$DAT*4? 288% Material Io Material Io"0`  space_3_t$;7995$1224%Space 3Space 3"0` #emission_cDAT*6alculation_method_code_t$% 8229$942%!Emission Calculation Method Code!Emission Calculation Method Code"0`   ef_reliability_indicator_t$#9179$|7567%Ef Reliability IndicDAT*8atorEf Reliability Indicator" 0`   rule_effectiveness_t$V&9755$f466%Rule EffectivenessRule Effectiveness"0`!  rule_effectiveness_methoDAT*:d_t$'10231$695%Rule Effectiveness MethodRule Effectiveness Method" 0`," #%'*rule_penetration_t$$X *10935$&\421%()Rule PenetrationRule Penetration"+DAT*<0`7!- .025submittal_flag_t$/ e,11365$1Pn366%34Submittal FlagSubmittal Flag"60`,8 9;=@tribal_code_t$: -11739$<? DAT*>288%>? Tribal Code Tribal Code"A0@@\DCRECFHJL (PO record_type$G 9$IL76$KD7311DAT*@&MN [general] [general]"Q0[DSCTHVL(YXstate_and_county_fips_code$UHI329$W754"Z0dR\C]H_L(bDAT*Bascc$^E1093$`<274"c0m[eCfHhL((kjpollutant_code$g-`1376$iT384"l0vdnCoHqDAT*DL2(tsspace_1$p1769$rB.302"u0mwCx{H}L<( start_date%yzdatedate$| 2080$~: 265"DAT*F0vCxHLF( end_date$2 2354$5242"0CHLP(space_2$:. 2606$1DAT*H224"0CHL Z( start_time%timetime$m 2839$4$: 265"0CHLDAT*J d( end_time$) 3113$5242"0CHL n( emission_numeric_value% decimal(0) decimal(0)$% 3365$645DAT*L"0CHL x(emission_unit_numerator$o4018$663"0CHL (emission_type$RDAT*N4690$T384"0CHL(em_reliability_indicator$X5083$[603"0CHL(DAT*P factor_numeric_value$@5696$y)553"0CHL(factor_unit_numerator$Yr6258$};571"0CDAT*RHL(factor_unit_denominator$6839$w631"0CHL( material%numbernumber$d77479$.DAT*T210"0CHL( material_io$7698$? 288"0 CHL( space_3$;DAT* 7995$1224" 0 C HL(!emission_calculation_method_code$% 8229$942"0 CHL(DAT*Xa@4\AaAN a@a@/p@8o@M^@^@p`@o@o@o@o@@&o@pCo@pZo@`so@`o@po@`o@o@ o@o@.o@Uo@so@o@o@o@o@ o@Go@oo@o@o@o@o@ o@o@-o@@@o@^o@DAT*Zyxo@o@o@o@yo@o@o@`=|o@Zo@}o@o@~o@ o@o@o@8o@Xo@`~zo@o@`}o@o@`o@` o@` F@F@$ o@ = roeI _c AT q@q@Q` viAdf p@if foBc v@v@ C @@ {o@`o@`a@g@ n_cst_nei_exportn_cst_conDAT*\version_basew_exportn_ds_conversion_basepowerobjectFIPS CODEST USPS CODEstr_nei_file_namesnation_rid A, state_rid A, county_name A, id An_ds_exp_area_control_equipmentn_ds_exp_area_emissionn_ds_exp_area_emission_periodn_ds_exp_area_emission_processn_ds_exp_emission_release_ptn_ds_exp_emission_unitn_ds_exp_onroad_emissionn_ds_exp_onroad_emission_periodn_ds_exp_point_control_equipmentn_ds_exp_point_emissionn_ds_exp_point_emission_periodn_ds_exp_point_emission_processn_ds_exp_siteDAT*^n_ds_exp_transmittaln_ds_nei_n3_exp_area_control_equipmentn_ds_nei_n3_exp_area_emissionn_ds_nei_n3_exp_area_emission_periodn_ds_nei_n3_exp_area_emission_processn_ds_nei_n3_exp_emission_release_ptn_ds_nei_n3_exp_emission_unitn_ds_nei_n3_exp_onroad_emissionn_ds_nei_n3_exp_onroad_emission_periodn_ds_nei_n3_exp_point_control_equipmentn_ds_nei_n3_exp_point_emissionn_ds_nei_n3_exp_point_emission_periodn_ds_nei_n3_exp_point_emission_processn_ds_nei_n3_exp_siten_ds_nei_n3_exp_transmittaln_DAT*`ds_cache_basen_ds_cache_unitsn_ds_cache_metricsn_ds_cache_rap_metric_lookupsn_ds_cache_material_groupsn_ds_cache_conversion_lookup_codesn_ds_cache_primary_siten_ds_cache_emissionsn_ds_cache_state_activitiesn_ds_cache_county_activitiesn_ds_cache_source_activitiesn_ds_cache_process_activitiesn_ds_cache_device_activitiesn_ds_cache_input_stream_activitiesn_ds_cache_output_stream_activitiesn_ds_cache_emission_unitn_ds_cache_emission_processn_ds_cache_emission_release_pointn_ds_cache_fDAT* ugitive_release_pointn_ds_cache_site_release_pointn_ds_cache_rap_operating_monthsn_ds_cache_state_location_coordinatesn_ds_cache_county_location_coordinatesn_ds_cache_source_location_coordinatesn_ds_cache_device_location_coordinatesn_ds_cache_process_specific_schedulesn_ds_cache_primary_key_checksp0p0pDAT*do@m[@]A $o@o@=@@F a@\@@gI@I@ra@^@^@4o@o@v@v@ 0 n_ds_nei_n3_exp_transmittaln_ds_nei_conversion_basedwobjectn_cst_conversion_basefileaccesssaveastypen_cst_nei_exportpowerobject?owexăxăn_dsDAT*_nei_cache_baseW >n_ds_conversion_basemessage Hp2$ n_ds_nei_n3_exp_transmittal   aa_record_typeaa_state_fips_and_county_fipsaa_organization_nameaa_transaction_typeaa_inventory_yearaa_inventory_type_codeaa_transaction_creation_dateaa_incremental_submission_numberaa_reliability_indicatoraa_transaction_commentsDAT*ho@spA]A o@do@q6@@? a@aU@@`I@I@qka@a|^@^@aar,o@pAv@v@qA2 I n_ds_nei_n3_exp_siten_ds_nei_conversion_basedwobjectn_cst_conversion_basefileaccesssaveastypen_cst_nei_exportpowerobject?owΑqΑqn_ds_conversion_basemesDAT*sage2 n_ds_nei_n3_exp_site  aa_record_typeaa_state_fips_and_county_fipsaa_state_facility_identifieraa_facility_registry_identifieraa_facility_categoryaa_oris_facility_codeaa_sic_primaryaa_naics_primaryaa_facility_nameaa_site_descriptionaa_location_addressaa_cityaa_stateaa_zipcodeaa_countryaa_nti_site_idaa_dun_bradstreet_numberaa_tri_idaa_submittal_flagaa_tribal_codeof_addrow+create+dDAT*to@*>A]A/o@o@H@@Q a@g@@rI@I@}a@^@^@<~o@Xo@ho@o@v@v@  n_ds_nei_n3_exp_point_emission_processn_ds_nei_conversion_basedwobjectn_cst_conversion_basefileaccesssaveastypen_cst_nei_exportpowerobject?5Dl5DAT*n updatewhereclause=yes name=space_1 dbname="space_1" ) column=(type=char(4) updatewhereclause=yes name=start_time dbname="start_time" ) column=(type=char(4) updatewhereclause=yes name=end_time dbname="end_time" ) column=(type=char(10) updatewhereclause=yes name=actual_throughput dbname="actual_throughput" ) column=(type=char(10) updatewhereclause=yes name=throughput_unit_numerator dbname="throughput_unit_numerator" ) column=(type=char(4) updatewhereclause=yes name=material dbname="materiDAT*pal" ) column=(type=char(10) updatewhereclause=yes name=material_io dbname="material_io" ) column=(type=char(1) updatewhereclause=yes name=period_days_per_week dbname="period_days_per_week" ) column=(type=char(2) updatewhereclause=yes name=period_weeks_per_period dbname="period_weeks_per_period" ) column=(type=char(2) updatewhereclause=yes name=period_hours_per_day dbname="period_hours_per_day" ) column=(type=char(4) updatewhereclause=yes name=period_hours_per_period dbname="period_hours_DAT*rper_period" ) column=(type=char(4) updatewhereclause=yes name=submittal_flag dbname="submittal_flag" ) column=(type=char(3) updatewhereclause=yes name=tribal_code dbname="tribal_code" ) ) text(band=header alignment="2" text="Record Type" border="0" color="33554432" x="9" y="8" height="64" width="311" html.valueishtml="0" name=record_type_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.colorDAT*t="536870912" ) text(band=header alignment="2" text="State And County Fips Code" border="0" color="33554432" x="329" y="8" height="64" width="754" html.valueishtml="0" name=state_and_county_fips_code_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Scc" border="0" color="33554432" x="1093" y="8" height="64" width="274" html.valueishtml="0" DAT*vname=scc_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Start Date" border="0" color="33554432" x="1376" y="8" height="64" width="265" html.valueishtml="0" name=start_date_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) DAT*x text(band=header alignment="2" text="End Date" border="0" color="33554432" x="1650" y="8" height="64" width="242" html.valueishtml="0" name=end_date_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Space 1" border="0" color="33554432" x="1902" y="8" height="64" width="224" html.valueishtml="0" name=space_1_t visible="1" font.face="Arial" DAT*zfont.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Start Time" border="0" color="33554432" x="2135" y="8" height="64" width="265" html.valueishtml="0" name=start_time_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="End DAT*|Time" border="0" color="33554432" x="2409" y="8" height="64" width="242" html.valueishtml="0" name=end_time_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Actual Throughput" border="0" color="33554432" x="2661" y="8" height="64" width="471" html.valueishtml="0" name=actual_throughput_t visible="1" font.face="Arial" font.height="-10" fontDAT*~.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Throughput Unit Numerator" border="0" color="33554432" x="3141" y="8" height="64" width="704" html.valueishtml="0" name=throughput_unit_numerator_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" teDAT*xt="Material" border="0" color="33554432" x="3854" y="8" height="64" width="210" html.valueishtml="0" name=material_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Material Io" border="0" color="33554432" x="4073" y="8" height="64" width="288" html.valueishtml="0" name=material_io_t visible="1" font.face="Arial" font.height="-10" font.weiDAT*ght="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Period Days Per Week" border="0" color="33554432" x="4370" y="8" height="64" width="603" html.valueishtml="0" name=period_days_per_week_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Period WeeDAT*ks Per Period" border="0" color="33554432" x="4983" y="8" height="64" width="667" html.valueishtml="0" name=period_weeks_per_period_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Period Hours Per Day" border="0" color="33554432" x="5659" y="8" height="64" width="581" html.valueishtml="0" name=period_hours_per_day_t visible="1" font.face=DAT*"Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Period Hours Per Period" border="0" color="33554432" x="6249" y="8" height="64" width="645" html.valueishtml="0" name=period_hours_per_period_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(baDAT*nd=header alignment="2" text="Submittal Flag" border="0" color="33554432" x="6903" y="8" height="64" width="366" html.valueishtml="0" name=submittal_flag_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Tribal Code" border="0" color="33554432" x="7278" y="8" height="64" width="288" html.valueishtml="0" name=tribal_code_t visible="1" font.fDAT*ace="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=1 alignment="0" tabsequence=10 border="0" color="33554432" x="9" y="8" height="76" width="311" format="[general]" html.valueishtml="0" name=record_type visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" fontDAT*.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=2 alignment="0" tabsequence=20 border="0" color="33554432" x="329" y="8" height="76" width="754" format="[general]" html.valueishtml="0" name=state_and_county_fips_code visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charDAT*set="0" background.mode="1" background.color="536870912" ) column(band=detail id=3 alignment="0" tabsequence=30 border="0" color="33554432" x="1093" y="8" height="76" width="274" format="[general]" html.valueishtml="0" name=scc visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )DAT* column(band=detail id=4 alignment="0" tabsequence=40 border="0" color="33554432" x="1376" y="8" height="76" width="265" format="[general]" html.valueishtml="0" name=start_date tag="date" visible="1" edit.limit=8 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=5 alignment="0"DAT* tabsequence=50 border="0" color="33554432" x="1650" y="8" height="76" width="242" format="[general]" html.valueishtml="0" name=end_date tag="date" visible="1" edit.limit=8 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=6 alignment="0" tabsequence=60 border="0" color="3355443DAT*2" x="1902" y="8" height="76" width="224" format="[general]" html.valueishtml="0" name=space_1 visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=7 alignment="0" tabsequence=70 border="0" color="33554432" x="2135" y="8" height="76" width="265" format="[genDAT*eral]" html.valueishtml="0" name=start_time tag="time" visible="1" edit.limit=4 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=8 alignment="0" tabsequence=80 border="0" color="33554432" x="2409" y="8" height="76" width="242" format="[general]" html.valueishtml="0" name=end_tDAT*ime tag="time" visible="1" edit.limit=4 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=9 alignment="0" tabsequence=90 border="0" color="33554432" x="2661" y="8" height="76" width="471" format="[general]" html.valueishtml="0" name=actual_throughput tag="decimal(0)" visible="1DAT*" edit.limit=10 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=10 alignment="0" tabsequence=100 border="0" color="33554432" x="3141" y="8" height="76" width="704" format="[general]" html.valueishtml="0" name=throughput_unit_numerator visible="1" edit.limit=0 edit.case=any editDAT*.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=11 alignment="0" tabsequence=110 border="0" color="33554432" x="3854" y="8" height="76" width="210" format="[general]" html.valueishtml="0" name=material visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscDAT*roll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=12 alignment="0" tabsequence=120 border="0" color="33554432" x="4073" y="8" height="76" width="288" format="[general]" html.valueishtml="0" name=material_io visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.DAT*height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=13 alignment="0" tabsequence=130 border="0" color="33554432" x="4370" y="8" height="76" width="603" format="[general]" html.valueishtml="0" name=period_days_per_week visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.faDAT*mily="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=14 alignment="0" tabsequence=140 border="0" color="33554432" x="4983" y="8" height="76" width="667" format="[general]" html.valueishtml="0" name=period_weeks_per_period visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charsetDAT*="0" background.mode="1" background.color="536870912" ) column(band=detail id=15 alignment="0" tabsequence=150 border="0" color="33554432" x="5659" y="8" height="76" width="581" format="[general]" html.valueishtml="0" name=period_hours_per_day visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.colDAT*or="536870912" ) column(band=detail id=16 alignment="0" tabsequence=160 border="0" color="33554432" x="6249" y="8" height="76" width="645" format="[general]" html.valueishtml="0" name=period_hours_per_period visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detailDAT* id=17 alignment="0" tabsequence=170 border="0" color="33554432" x="6903" y="8" height="76" width="366" format="[general]" html.valueishtml="0" name=submittal_flag visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=18 alignment="0" tabsequence=180 border="DAT*0" color="33554432" x="7278" y="8" height="76" width="288" format="[general]" html.valueishtml="0" name=tribal_code visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) htmltable(border="1" ) htmlgen(clientevents="1" clientvalidation="1" clientcomputedfields="1" clientformattingDAT*H="0" clientscriptable="0" generatejavascript="1" netscapelayers="0" ) DAT*PDW0800pdw+````@ F$$nn``DAT* @P`$DAT* "record_type_t$1<  $ 0%  ArialArial$2$-10$400$ 536870912$ 33DAT*554432$ 9$8$@64$D7311% ! Record Type Record Type"#0`/% &(*-state_and_county_fips_code_t$'HI329$)754%+,StateDAT* And County Fips CodeState And County Fips Code".0`:$0 1358scc_t$2E1093$4<274%67SccScc"90`E/; <>@C start_date_t$=-`1DAT*376$?: 265%AB Start Date Start Date"D0`P:F GIKN end_date_t$Hir1650$J5242%LM End Date End Date"O0`[EQ RTVYDAT* space_1_t$Sn1902$U1224%WXSpace 1Space 1"Z0`fP\ ]_ad start_time_t$^W2135$`: 265%bc Start Time Start Time"e0`q[gDAT* hjlo end_time_t$ii 2409$k5242%mn End Time End Time"p0`|fr suwzactual_throughput_t$tFe 2661$vg471%xyActual ThroughDAT*putActual Throughput"{0`q} ~throughput_unit_numerator_t$E 3141$704%Throughput Unit NumeratorThroughput Unit Numerator"0`|  material_tDAT*$K3854$.210% Material Material"0` material_io_t${4073$? 288% Material Io Material Io"0`DAT* period_days_per_week_t$4370$[603%Period Days Per WeekPeriod Days Per Week"0` period_weeks_per_period_t$Bw4983$667%DAT*Period Weeks Per PeriodPeriod Weeks Per Period"0` period_hours_per_day_t$5659$E581%Period Hours Per DayPeriod Hours Per Day"0` DAT*period_hours_per_period_t$Wi6249$645%Period Hours Per PeriodPeriod Hours Per Period"0` submittal_flag_t$6903$Pn366%Submittal FlagSubmittal FlagDAT*"0` tribal_code_t$8n7278$? 288% Tribal Code Tribal Code"0@@\DAT* ( record_type$ 9$L76$D7311& [general] [general]"0(state_and_county_fips_code$DAT*HI329$754"0(scc$E1093$<274"0 ((  DAT* start_date%datedate$-`1376$ : 265" 02( end_date$ir1650$5242"0 DAT*<(space_1$n1902$1224"0+ !$&F()( start_time%"#timetime$%W2135$': DAT*265"*04,!-/P(21 end_time$.i 2409$05242"30@+569; Z(>= actual_throughput%7DAT*8 decimal(0) decimal(0)$:Fe 2661$<g471"?0I4ABD d(GFthroughput_unit_numerator$CE 3141$E704"H0R@JDAT*KM n(PO material$LK3854$N.210"Q0[ISTV x(YX material_io$U{4073$W? 288"Z0dDAT*R\]_ (baperiod_days_per_week$^4370$`[603"c0m[efh(kjperiod_weeks_per_period$gBw4983$iDAT*667"l0vdnoq(tsperiod_hours_per_day$p5659$rE581"u0mwxz(}|period_hours_per_DAT*period$yWi6249${645"~0v(submittal_flag$6903$Pn366"0DAT*( tribal_code$8n7278$? 288"0@DAT*    DAT*+4 @ I R [ dmDAT*v record_type record_typestate_and_county_fips_codestate_and_county_fips_codesccscc start_date start_date end_date end_date space_1DAT*space_1 start_time start_time end_time end_time+actual_throughputactual_throughput4throughput_unit_numeratorthroughput_unit_numerator@ material materialI material_io material_ioRperiod_days_per_weekperiod_days_per_week[period_weeks_per_periodperiod_weeks_per_periodDAT* dperiod_hours_per_dayperiod_hours_per_daymperiod_hours_per_periodperiod_hours_per_periodvsubmittal_flagsubmittal_flag tribal_code tribal_code\"1"1"1"DAT*nd.mode="1" background.color="536870912" ) htmltable(border="1" ) htmlgen(clientevents="1" clientvalidation="1" clientcomputedfields="1" clientformatting="0" clientscriptable="0" generatejavascript="1" netscapelayers="0" ) DAT*Datastore export records for on road emission periodrelease 8; datawindow(units=0 timer_interval=0 color=1073741824 processing=1 HTMLDW=no print.documentname="" print.orientation = 0 print.margin.left = 110 print.margin.right = 110 print.margin.top = 96 print.margin.bottom = 96 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no grid.lines=0 ) header(height=80 color="536870912" ) summary(height=0 color="536870912" ) footer(height=0 color="53687DAT*Datastore export records for area emission processrelease 8; datawindow(units=0 timer_interval=0 color=1073741824 processing=1 HTMLDW=no print.documentname="" print.orientation = 0 print.margin.left = 110 print.margin.right = 110 print.margin.top = 96 print.margin.bottom = 96 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no grid.lines=0 ) header(height=80 color="536870912" ) summary(height=0 color="536870912" ) footer(height=0 color="5368709DAT*12" ) detail(height=92 color="536870912" ) table(column=(type=char(2) updatewhereclause=yes name=record_type dbname="record_type" ) column=(type=char(5) updatewhereclause=yes name=state_and_county_fips_code dbname="state_and_county_fips_code" ) column=(type=char(10) updatewhereclause=yes name=scc dbname="scc" ) column=(type=char(6) updatewhereclause=yes name=process_mact_code dbname="process_mact_code" ) column=(type=char(78) updatewhereclause=yes name=emission_process_description dbnameDAT*="emission_process_description" ) column=(type=char(4) updatewhereclause=yes name=sic dbname="sic" ) column=(type=char(6) updatewhereclause=yes name=naics dbname="naics" ) column=(type=char(3) updatewhereclause=yes name=winter_throughput_pct dbname="winter_throughput_pct" ) column=(type=char(3) updatewhereclause=yes name=spring_throughput_pct dbname="spring_throughput_pct" ) column=(type=char(3) updatewhereclause=yes name=summer_throughput_pct dbname="summer_throughput_pct" ) column=(tDAT*ype=char(3) updatewhereclause=yes name=fall_throughput_pct dbname="fall_throughput_pct" ) column=(type=char(1) updatewhereclause=yes name=annual_avg_days_per_week dbname="annual_avg_days_per_week" ) column=(type=char(2) updatewhereclause=yes name=annual_avg_weeks_per_year dbname="annual_avg_weeks_per_year" ) column=(type=char(2) updatewhereclause=yes name=annual_avg_hours_per_day dbname="annual_avg_hours_per_day" ) column=(type=char(4) updatewhereclause=yes name=annual_avg_hours_per_year dDAT*bname="annual_avg_hours_per_year" ) column=(type=char(8) updatewhereclause=yes name=heat_content dbname="heat_content" ) column=(type=char(5) updatewhereclause=yes name=sulfur_content dbname="sulfur_content" ) column=(type=char(5) updatewhereclause=yes name=ash_content dbname="ash_content" ) column=(type=char(6) updatewhereclause=yes name=process_mact_compliance_status dbname="process_mact_compliance_status" ) column=(type=char(4) updatewhereclause=yes name=submittal_flag dbname="submittDAT*al_flag" ) column=(type=char(3) updatewhereclause=yes name=tribal_code dbname="tribal_code" ) ) text(band=header alignment="2" text="Record Type" border="0" color="33554432" x="9" y="8" height="64" width="311" html.valueishtml="0" name=record_type_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="State And County Fips Code" border="0" coDAT*lor="33554432" x="329" y="8" height="64" width="754" html.valueishtml="0" name=state_and_county_fips_code_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Scc" border="0" color="33554432" x="1093" y="8" height="64" width="274" html.valueishtml="0" name=scc_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2"DAT* font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Process Mact Code" border="0" color="33554432" x="1376" y="8" height="64" width="535" html.valueishtml="0" name=process_mact_code_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Emission Process Description" border="0" cDAT*olor="33554432" x="1920" y="8" height="64" width="2139" html.valueishtml="0" name=emission_process_description_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Sic" border="0" color="33554432" x="4069" y="8" height="64" width="110" html.valueishtml="0" name=sic_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.familDAT*y="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Naics" border="0" color="33554432" x="4187" y="8" height="64" width="165" html.valueishtml="0" name=naics_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Winter Throughput Pct" border="0" color="33554432" x="4361" yDAT*="8" height="64" width="581" html.valueishtml="0" name=winter_throughput_pct_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Spring Throughput Pct" border="0" color="33554432" x="4951" y="8" height="64" width="585" html.valueishtml="0" name=spring_throughput_pct_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.famDAT*ily="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Summer Throughput Pct" border="0" color="33554432" x="5545" y="8" height="64" width="640" html.valueishtml="0" name=summer_throughput_pct_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Fall Throughput Pct" borderDAT*="0" color="33554432" x="6194" y="8" height="64" width="498" html.valueishtml="0" name=fall_throughput_pct_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Annual Avg Days Per Week" border="0" color="33554432" x="6702" y="8" height="64" width="736" html.valueishtml="0" name=annual_avg_days_per_week_t visible="1" font.face="Arial" font.heigDAT*ht="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Annual Avg Weeks Per Year" border="0" color="33554432" x="7447" y="8" height="64" width="754" html.valueishtml="0" name=annual_avg_weeks_per_year_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header aliDAT* gnment="2" text="Annual Avg Hours Per Day" border="0" color="33554432" x="8210" y="8" height="64" width="713" html.valueishtml="0" name=annual_avg_hours_per_day_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Annual Avg Hours Per Year" border="0" color="33554432" x="8933" y="8" height="64" width="731" html.valueishtml="0" name=annual_avg_hDAT* ours_per_year_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Heat Content" border="0" color="33554432" x="9673" y="8" height="64" width="343" html.valueishtml="0" name=heat_content_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="5368DAT*70912" ) text(band=header alignment="2" text="Sulfur Content" border="0" color="33554432" x="10025" y="8" height="64" width="370" html.valueishtml="0" name=sulfur_content_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Ash Content" border="0" color="33554432" x="10405" y="8" height="64" width="325" html.valueishtml="0" name=ash_content_t DAT*visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Process Mact Compliance Status" border="0" color="33554432" x="10738" y="8" height="64" width="905" html.valueishtml="0" name=process_mact_compliance_status_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" bDAT*ackground.color="536870912" ) text(band=header alignment="2" text="Submittal Flag" border="0" color="33554432" x="11653" y="8" height="64" width="366" html.valueishtml="0" name=submittal_flag_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Tribal Code" border="0" color="33554432" x="12027" y="8" height="64" width="288" html.valueishtml="0"DAT* name=tribal_code_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=1 alignment="0" tabsequence=10 border="0" color="33554432" x="9" y="8" height="76" width="311" format="[general]" html.valueishtml="0" name=record_type visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" fDAT*ont.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=2 alignment="0" tabsequence=20 border="0" color="33554432" x="329" y="8" height="76" width="754" format="[general]" html.valueishtml="0" name=state_and_county_fips_code visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" DAT*font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=3 alignment="0" tabsequence=30 border="0" color="33554432" x="1093" y="8" height="76" width="274" format="[general]" html.valueishtml="0" name=scc visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" backgroundDAT*.mode="1" background.color="536870912" ) column(band=detail id=4 alignment="0" tabsequence=40 border="0" color="33554432" x="1376" y="8" height="76" width="535" format="[general]" html.valueishtml="0" name=process_mact_code visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) coDAT*lumn(band=detail id=5 alignment="0" tabsequence=50 border="0" color="33554432" x="1920" y="8" height="76" width="2139" format="[general]" html.valueishtml="0" name=emission_process_description visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=6 alignment=DAT*"0" tabsequence=60 border="0" color="33554432" x="4069" y="8" height="76" width="110" format="[general]" html.valueishtml="0" name=sic visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=7 alignment="0" tabsequence=70 border="0" color="33554432" x="4187" y=DAT* "8" height="76" width="165" format="[general]" html.valueishtml="0" name=naics visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=8 alignment="0" tabsequence=80 border="0" color="33554432" x="4361" y="8" height="76" width="581" format="[general]" html.valuDAT*"eishtml="0" name=winter_throughput_pct tag="decimal(0)" visible="1" edit.limit=3 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=9 alignment="0" tabsequence=90 border="0" color="33554432" x="4951" y="8" height="76" width="585" format="[general]" html.valueishtml="0" name=spriDAT*$ng_throughput_pct tag="decimal(0)" visible="1" edit.limit=3 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=10 alignment="0" tabsequence=100 border="0" color="33554432" x="5545" y="8" height="76" width="640" format="[general]" html.valueishtml="0" name=summer_throughput_pct tDAT*&ag="decimal(0)" visible="1" edit.limit=3 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=11 alignment="0" tabsequence=110 border="0" color="33554432" x="6194" y="8" height="76" width="498" format="[general]" html.valueishtml="0" name=fall_throughput_pct tag="decimal(0)" visiblDAT*(e="1" edit.limit=3 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=12 alignment="0" tabsequence=120 border="0" color="33554432" x="6702" y="8" height="76" width="736" format="[general]" html.valueishtml="0" name=annual_avg_days_per_week tag="number" visible="1" edit.limit=1 edDAT**it.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=13 alignment="0" tabsequence=130 border="0" color="33554432" x="7447" y="8" height="76" width="754" format="[general]" html.valueishtml="0" name=annual_avg_weeks_per_year tag="number" visible="1" edit.limit=2 edit.case=any edit.focDAT*usrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=14 alignment="0" tabsequence=140 border="0" color="33554432" x="8210" y="8" height="76" width="713" format="[general]" html.valueishtml="0" name=annual_avg_hours_per_day tag="number" visible="1" edit.limit=2 edit.case=any edit.focusrectangle=no edit.aDAT*.PDW0800pdw+````@0 F$*nn``DAT*0   @P`$DAT*2 "record_type_t$1<  $ 0%  ArialArial$2$-10$400$ 536870912$ 33DAT*4554432$ 9$8$@64$D7311% ! Record Type Record Type"#0`/% &(*-state_and_county_fips_code_t$'HI329$)754%+,StateDAT*6 And County Fips CodeState And County Fips Code".0`:$0 1358scc_t$2E1093$4<274%67SccScc"90`E/; <>@Cprocess_mact_code_t$=-`DAT*81376$?u535%ABProcess Mact CodeProcess Mact Code"D0`P:F GIKNemission_process_description_t$H1920$J[2139%LMEmission Process DescriptionEmission Process Description"O0`[DAT*:EQ RTVYsic_t$Sz4069$Un110%WXSicSic"Z0`fP\ ]_adnaics_t$^[4187$`$165%bcNaicsNaicsDAT*<"e0`q[g hjlowinter_throughput_pct_t$i 4361$kE581%mnWinter Throughput PctWinter Throughput Pct"p0`|fr suwzspring_throughput_pct_t$t;WDAT*>4951$vI585%xySpring Throughput PctSpring Throughput Pct"{0`q} ~summer_throughput_pct_t$5545$640%Summer Throughput PctSummer Throughput Pct"0`|DAT*@ fall_throughput_pct_t$K26194$m498%Fall Throughput PctFall Throughput Pct"0` annual_avg_days_per_week_t$.6702$73DAT*B6%Annual Avg Days Per WeekAnnual Avg Days Per Week"0` annual_avg_weeks_per_year_t$]7447$754%Annual Avg Weeks Per YearAnnual Avg Weeks Per Year"0`DAT*D annual_avg_hours_per_day_t$ 8210$713%Annual Avg Hours Per DayAnnual Avg Hours Per Day"0` annual_avg_hours_per_year_t$"8933$731%DAT*FAnnual Avg Hours Per YearAnnual Avg Hours Per Year"0` heat_content_t$D%9673$KW343% Heat Content Heat Content"0` suDAT*Hlfur_content_t$)'10025$Qr370%Sulfur ContentSulfur Content"0` ash_content_t$(10405$GE325% Ash Content Ash Content"0`DAT*J !process_mact_compliance_status_t$- )10738$905%Process Mact Compliance StatusProcess Mact Compliance Status"0` submittal_flag_t$ -11653$DAT*LPn366%Submittal FlagSubmittal Flag"0` tribal_code_t$G .12027$? 288% Tribal Code Tribal Code"0@@\DAT*N  (  record_type$ 9$L76$ D7311&   [general] [general]"0 DAT*P(state_and_county_fips_code$HI329$754"0" ( scc$E1093$<274"!0+#DAT*R$& (()(process_mact_code$%-`1376$'u535"*04",-/ 2(21emission_process_description$.1920$0[213DAT*T9"30=+568 <(;:sic$7z4069$9n110"<0F4>?A F(DCnaics$@[4187DAT*V$B$165"E0R=GHKM P(POwinter_throughput_pct%IJ decimal(0) decimal(0)$L 4361$NE581"Q0[FSHTV DAT*X Z(YXspring_throughput_pct$U;W4951$WI585"Z0dR\H]_  d(basummer_throughput_pct$^5545$`640"c0m[eDAT*ZHfh  n(kjfall_throughput_pct$gK26194$im498"l0ydnort  x(wvannual_avg_days_per_week%pqnumbernumber$sDAT*\.6702$u736"x0mzo{}  (annual_avg_weeks_per_year$|]7447$~754"0yo (DAT*^annual_avg_hours_per_day$ 8210$713"0 (annual_avg_hours_per_year$"8933$731"0HDAT*` ( heat_content$D%9673$KW343"0H (sulfur_content$)'10025$Qr370"DAT*b0H ( ash_content$(10405$GE325"0 (process_mact_compliance_status$- )DAT*d10738$905"0 (submittal_flag$ -11653$Pn366"0 (DAT*f tribal_code$G .12027$? 288"0@DAT*h "+O4=FDAT*jR [ d m y DAT*l    record_type record_typestate_and_county_fips_codestate_and_county_fips_codeDAT*nsccsccprocess_mact_codeprocess_mact_code"emission_process_descriptionemission_process_description+sicsic4naicsnaics=winter_throughput_pctwinter_throughput_pctFspring_throughput_pctspring_throughput_pctRsummer_throughput_pctsummer_throughput_pct[fall_througDAT*phput_pctfall_throughput_pctdannual_avg_days_per_weekannual_avg_days_per_weekmannual_avg_weeks_per_yearannual_avg_weeks_per_yearyannual_avg_hours_per_dayannual_avg_hours_per_dayannual_avg_hours_per_yearannual_avg_hours_per_year heat_content heat_contentsulfur_contentsulfur_content ash_content aDAT*rsh_contentprocess_mact_compliance_statusprocess_mact_compliance_statussubmittal_flagsubmittal_flag tribal_code tribal_code\ "1"1"1"1"DAT*H0"0"0DAT*Dln_ds_cache_emission_processn_ds_cache_basen_ds_cache_rap_operating_monthsn_ds_conversion_basemessage2/ n_ds_nei_n3_exp_point_emission_process  aa_record_typeaa_state_fips_and_county_fipsaa_state_facility_identifieraa_emission_unit_idaa_emission_release_point_idaa_process_idaa_sccaa_process_mact_codeaa_emission_process_descriptionaa_winter_throughput_pctaa_spring_thDAT*xo@YW@]A .o@To@aG@@aP a@af@@aqI@I@a|a@q^@^@aa<o@`Qv@v@aQ  Y n_ds_nei_n3_exp_point_emission_periodn_ds_nei_conversion_basedwobjectn_cst_conversion_basefileaccesssaveastypen_cst_nei_exportpowerobject?r,D,Dn_ds_conDAT*version_basemessage2. n_ds_nei_n3_exp_point_emission_period  aa_record_typeaa_state_fips_and_county_fipsaa_state_facility_identifieraa_emission_unit_idaa_process_idaa_start_dateaa_end_dateaa_space_1aa_start_timeaa_end_timeaa_space_2aa_actual_throughputaa_throughput_unit_numeratoraa_materialaa_material_ioaa_period_days_per_weekaa_period_weeks_per_periodaa_period_hours_per_dayaa_period_houDAT*|o@YW@]A 'o@o@@@@I a@_@@jI@I@ua@^@^@P4o@Iv@v@aItn oQ n_ds_nei_n3_exp_point_emissionn_ds_nei_conversion_basedwobjectn_cst_conversion_basefileaccesssaveastypen_cst_nei_exportpowerobject?h*h*n_ds_conversion_DAT*basemessage 2' n_ds_nei_n3_exp_point_emission  aa_record_typeaa_state_fips_and_county_fipsaa_state_facility_identifieraa_emission_unit_idaa_process_idaa_pollutant_codeaa_space_1aa_emission_release_point_idaa_start_dateaa_end_dateaa_start_timeaa_end_timeaa_space_2aa_emission_numeric_valueaa_emission_unit_numeratoraa_emission_typeaa_em_reliability_indicatoraa_factor_numeric_valueaa_factor_uDAT*o@A]A 0o@do@I@@aR a@h@@asI@I@~a@q^@^@q@o@Uv@v@qU  ] n_ds_nei_n3_exp_point_control_equipmentn_ds_nei_conversion_basedwobjectn_cst_conversion_basefileaccesssaveastypen_cst_nei_exportpowerobject?jecj(ej(en_dsDAT*Datastore export records for emission release pointrelease 8; datawindow(units=0 timer_interval=0 color=1073741824 processing=1 HTMLDW=no print.documentname="" print.orientation = 0 print.margin.left = 110 print.margin.right = 110 print.margin.top = 96 print.margin.bottom = 96 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no grid.lines=0 ) header(height=80 color="536870912" ) summary(height=0 color="536870912" ) footer(height=0 color="536870DAT*912" ) detail(height=92 color="536870912" ) table(column=(type=char(2) updatewhereclause=yes name=record_type dbname="record_type" ) column=(type=char(5) updatewhereclause=yes name=state_fips_and_county_fips dbname="state_fips_and_county_fips" ) column=(type=char(15) updatewhereclause=yes name=state_facility_identifier dbname="state_facility_identifier" ) column=(type=char(6) updatewhereclause=yes name=space_1 dbname="space_1" ) column=(type=char(6) updatewhereclause=yes name=emission_reDAT*lease_point_id dbname="emission_release_point_id" ) column=(type=char(2) updatewhereclause=yes name=emission_release_point_type dbname="emission_release_point_type" ) column=(type=char(10) updatewhereclause=yes name=space_2 dbname="space_2" ) column=(type=char(10) updatewhereclause=yes name=stack_height dbname="stack_height" ) column=(type=char(10) updatewhereclause=yes name=stack_diameter dbname="stack_diameter" ) column=(type=char(8) updatewhereclause=yes name=stack_fenceline_distance DAT*dbname="stack_fenceline_distance" ) column=(type=char(10) updatewhereclause=yes name=exit_gas_temperature dbname="exit_gas_temperature" ) column=(type=char(10) updatewhereclause=yes name=exit_gas_velocity dbname="exit_gas_velocity" ) column=(type=char(10) updatewhereclause=yes name=exit_gas_flow_rate dbname="exit_gas_flow_rate" ) column=(type=char(11) updatewhereclause=yes name=x_coordinate dbname="x_coordinate" ) column=(type=char(10) updatewhereclause=yes name=y_coordinate dbname="y_coDAT*ordinate" ) column=(type=char(2) updatewhereclause=yes name=utm_zone dbname="utm_zone" ) column=(type=char(8) updatewhereclause=yes name=xy_coordinate_type dbname="xy_coordinate_type" ) column=(type=char(8) updatewhereclause=yes name=horizontal_area_fugitive dbname="horizontal_area_fugitive" ) column=(type=char(8) updatewhereclause=yes name=release_height_fugitive dbname="release_height_fugitive" ) column=(type=char(10) updatewhereclause=yes name=fugitive_dimensions_unit dbname="fugitiveDAT*_dimensions_unit" ) column=(type=char(80) updatewhereclause=yes name=emission_release_pt_description dbname="emission_release_pt_description" ) column=(type=char(4) updatewhereclause=yes name=submittal_flag dbname="submittal_flag" ) column=(type=char(3) updatewhereclause=yes name=horizontal_collection_method_code dbname="horizontal_collection_method_code" ) column=(type=char(6) updatewhereclause=yes name=horizontal_accuracy_measure dbname="horizontal_accuracy_measure" ) column=(type=charDAT*(3) updatewhereclause=yes name=horizontal_reference_datum_code dbname="horizontal_reference_datum_code" ) column=(type=char(3) updatewhereclause=yes name=reference_point_code dbname="reference_point_code" ) column=(type=char(10) updatewhereclause=yes name=source_map_scale_number dbname="source_map_scale_number" ) column=(type=char(3) updatewhereclause=yes name=coordinate_data_source_code dbname="coordinate_data_source_code" ) column=(type=char(3) updatewhereclause=yes name=tribal_code dbnaDAT*me="tribal_code" ) ) text(band=header alignment="2" text="Record Type" border="0" color="33554432" x="9" y="8" height="64" width="311" html.valueishtml="0" name=record_type_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="State Fips And County Fips" border="0" color="33554432" x="329" y="8" height="64" width="736" html.valueishtml="0" naDAT*me=state_fips_and_county_fips_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="State Facility Identifier" border="0" color="33554432" x="1074" y="8" height="64" width="585" html.valueishtml="0" name=state_facility_identifier_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" DAT*background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Space 1" border="0" color="33554432" x="1669" y="8" height="64" width="224" html.valueishtml="0" name=space_1_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Emission Release Point Id" border="0" color="33554432" x="1902" y="8" height="64" width="699" hDAT*tml.valueishtml="0" name=emission_release_point_id_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Emission Release Point Type" border="0" color="33554432" x="2610" y="8" height="64" width="768" html.valueishtml="0" name=emission_release_point_type_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pDAT*itch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Space 2" border="0" color="33554432" x="3387" y="8" height="64" width="274" html.valueishtml="0" name=space_2_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Stack Height" border="0" color="33554432" x="3671" y="8" height="64" DAT*width="338" html.valueishtml="0" name=stack_height_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Stack Diameter" border="0" color="33554432" x="4018" y="8" height="64" width="407" html.valueishtml="0" name=stack_diameter_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" DAT*background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Stack Fenceline Distance" border="0" color="33554432" x="4434" y="8" height="64" width="667" html.valueishtml="0" name=stack_fenceline_distance_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Exit Gas Temperature" border="0" color="33554432" x="5111" y=DAT*"8" height="64" width="571" html.valueishtml="0" name=exit_gas_temperature_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Exit Gas Velocity" border="0" color="33554432" x="5691" y="8" height="64" width="453" html.valueishtml="0" name=exit_gas_velocity_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" foDAT*nt.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Exit Gas Flow Rate" border="0" color="33554432" x="6153" y="8" height="64" width="489" html.valueishtml="0" name=exit_gas_flow_rate_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="X Coordinate" border="0" color="33554432" xDAT*="6651" y="8" height="64" width="338" html.valueishtml="0" name=x_coordinate_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Y Coordinate" border="0" color="33554432" x="6999" y="8" height="64" width="338" html.valueishtml="0" name=y_coordinate_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitchDAT*="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Utm Zone" border="0" color="33554432" x="7346" y="8" height="64" width="261" html.valueishtml="0" name=utm_zone_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Xy Coordinate Type" border="0" color="33554432" x="7616" y="8" height="DAT*64" width="517" html.valueishtml="0" name=xy_coordinate_type_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Horizontal Area Fugitive" border="0" color="33554432" x="8142" y="8" height="64" width="613" html.valueishtml="0" name=horizontal_area_fugitive_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" foDAT*nt.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Release Height Fugitive" border="0" color="33554432" x="8763" y="8" height="64" width="594" html.valueishtml="0" name=release_height_fugitive_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Fugitive Dimensions Unit" border=DAT*"0" color="33554432" x="9367" y="8" height="64" width="640" html.valueishtml="0" name=fugitive_dimensions_unit_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Emission Release Pt Description" border="0" color="33554432" x="10016" y="8" height="64" width="2194" html.valueishtml="0" name=emission_release_pt_description_t visible="1" font.faDAT*ce="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Submittal Flag" border="0" color="33554432" x="12219" y="8" height="64" width="366" html.valueishtml="0" name=submittal_flag_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header aligDAT*nment="2" text="Horizontal Collection Method Code" border="0" color="33554432" x="12594" y="8" height="64" width="928" html.valueishtml="0" name=horizontal_collection_method_code_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Horizontal Accuracy Measure" border="0" color="33554432" x="13531" y="8" height="64" width="791" html.valueishtml="DAT*0" name=horizontal_accuracy_measure_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Horizontal Reference Datum Code" border="0" color="33554432" x="14331" y="8" height="64" width="887" html.valueishtml="0" name=horizontal_reference_datum_code_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="DAT*2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Reference Point Code" border="0" color="33554432" x="15227" y="8" height="64" width="562" html.valueishtml="0" name=reference_point_code_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Source Map Scale Number" border="0" color="33554DAT*432" x="15799" y="8" height="64" width="727" html.valueishtml="0" name=source_map_scale_number_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Coordinate Data Source Code" border="0" color="33554432" x="16535" y="8" height="64" width="791" html.valueishtml="0" name=coordinate_data_source_code_t visible="1" font.face="Arial" font.height="-DAT*10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Tribal Code" border="0" color="33554432" x="17335" y="8" height="64" width="288" html.valueishtml="0" name=tribal_code_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=1 alignment="0" tabsequence=10DAT* border="0" color="33554432" x="9" y="8" height="76" width="311" format="[general]" html.valueishtml="0" name=record_type visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=2 alignment="0" tabsequence=20 border="0" color="33554432" x="329" y="8" height="76DAT*" width="736" format="[general]" html.valueishtml="0" name=state_fips_and_county_fips visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=3 alignment="0" tabsequence=30 border="0" color="33554432" x="1074" y="8" height="76" width="585" format="[general]" htDAT*ml.valueishtml="0" name=state_facility_identifier visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=4 alignment="0" tabsequence=40 border="0" color="33554432" x="1669" y="8" height="76" width="224" format="[general]" html.valueishtml="0" name=space_1 visDAT*ible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=5 alignment="0" tabsequence=50 border="0" color="33554432" x="1902" y="8" height="76" width="699" format="[general]" html.valueishtml="0" name=emission_release_point_id visible="1" edit.limit=0 edit.case=any DAT*edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=6 alignment="0" tabsequence=60 border="0" color="33554432" x="2610" y="8" height="76" width="768" format="[general]" html.valueishtml="0" name=emission_release_point_type visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoseDAT*lect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=7 alignment="0" tabsequence=70 border="0" color="33554432" x="3387" y="8" height="76" width="274" format="[general]" html.valueishtml="0" name=space_2 visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.facDAT*e="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=8 alignment="0" tabsequence=80 border="0" color="33554432" x="3671" y="8" height="76" width="338" format="[general]" html.valueishtml="0" name=stack_height tag="decimal(0)" visible="1" edit.limit=10 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" foDAT*nt.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=9 alignment="0" tabsequence=90 border="0" color="33554432" x="4018" y="8" height="76" width="407" format="[general]" html.valueishtml="0" name=stack_diameter tag="decimal(0)" visible="1" edit.limit=10 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.familyDAT*="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=10 alignment="0" tabsequence=100 border="0" color="33554432" x="4434" y="8" height="76" width="667" format="[general]" html.valueishtml="0" name=stack_fenceline_distance tag="decimal(0)" visible="1" edit.limit=8 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="DAT*2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=11 alignment="0" tabsequence=110 border="0" color="33554432" x="5111" y="8" height="76" width="571" format="[general]" html.valueishtml="0" name=exit_gas_temperature tag="decimal(0)" visible="1" edit.limit=10 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" DAT*background.mode="1" background.color="536870912" ) column(band=detail id=12 alignment="0" tabsequence=120 border="0" color="33554432" x="5691" y="8" height="76" width="453" format="[general]" html.valueishtml="0" name=exit_gas_velocity tag="decimal(0)" visible="1" edit.limit=10 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" bacDAT*kground.color="536870912" ) column(band=detail id=13 alignment="0" tabsequence=130 border="0" color="33554432" x="6153" y="8" height="76" width="489" format="[general]" html.valueishtml="0" name=exit_gas_flow_rate tag="decimal(0)" visible="1" edit.limit=10 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="5368709DAT*`12" ) column(band=detail id=14 alignment="0" tabsequence=140 border="0" color="33554432" x="6651" y="8" height="76" width="338" format="[general]" html.valueishtml="0" name=x_coordinate tag="decimal(0)" visible="1" edit.limit=11 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail idDAT*PDW0800pdw+kXYj````@D F$:nn``DAT* @PM`$DAT* "record_type_t$1<  $ 0%  ArialArial$2$-10$400$ 536870912$ 33DAT*554432$ 9$8$@64$D7311% ! Record Type Record Type"#0`/% &(*-state_fips_and_county_fips_t$'HI329$)736%+,StateDAT* Fips And County FipsState Fips And County Fips".0`:$0 1358state_facility_identifier_t$221074$4I585%67State Facility IdentifierState Facility Identifier"90`E/; <>@DAT*C space_1_t$=m1669$?1224%ABSpace 1Space 1"D0`P:F GIKNemission_release_point_id_t$Hn1902$J699%LMEmission Release Point IdEmission Release Point Id"ODAT*0`[EQ RTVYemission_release_point_type_t$S;2 2610$U768%WXEmission Release Point TypeEmission Release Point Type"Z0`fP\ ]_ad space_2_t$^; DAT*3387$`<274%bcSpace 2Space 2"e0`q[g hjlostack_height_t$i#W3671$kJR338%mn Stack Height Stack Height"p0`|fr suDAT*wzstack_diameter_t$to4018$vY407%xyStack DiameterStack Diameter"{0`q} ~stack_fenceline_distance_t$R4434$667%Stack Fenceline DistanceStack FenceDAT*line Distance"0`| exit_gas_temperature_t$^5111$};571%Exit Gas TemperatureExit Gas Temperature"0` exit_gas_velocity_t$DAT*;5691$c453%Exit Gas VelocityExit Gas Velocity"0` exit_gas_flow_rate_t$B 6153$k489%Exit Gas Flow RateExit Gas Flow Rate"0`DAT* x_coordinate_t$6651$JR338% X Coordinate X Coordinate"0` y_coordinate_t$W6999$JR338% Y CooDAT*rdinate Y Coordinate"0`  utm_zone_t$G7346$9261% Utm Zone Utm Zone"0` xy_coordinate_type_t$7616DAT*$q517%Xy Coordinate TypeXy Coordinate Type"0` horizontal_area_fugitive_t$8142$e613%Horizontal Area FugitiveHorizontal Area Fugitive"0`DAT* release_height_fugitive_t$};"8763$R594%Release Height FugitiveRelease Height Fugitive"0` fugitive_dimensions_unit_t$$9367$DAT*640%Fugitive Dimensions UnitFugitive Dimensions Unit"0` "emission_release_pt_description_t$ '10016$2194% Emission Release Pt Description Emission Release Pt Description"0` DAT*  submittal_flag_t$q /12219$Pn366%Submittal FlagSubmittal Flag" 0`   $horizontal_collection_method_code_t$ 2112594$928%DAT*"Horizontal Collection Method Code"Horizontal Collection Method Code"0`!  horizontal_accuracy_measure_t$ 413531$791%Horizontal Accuracy MeasureHorizontal Accuracy Measure" 0`,"DAT* #%'*"horizontal_reference_datum_code_t$$? 714331$&w887%() Horizontal Reference Datum Code Horizontal Reference Datum Code"+0`7!- .025reference_point_code_t$/ {;15227$1{2DAT*562%34Reference Point CodeReference Point Code"60`B,8 9;=@source_map_scale_number_t$: =15799$<727%>?Source Map Scale NumberSource Map Scale Number"A0`M7CDAT* DFHKcoordinate_data_source_code_t$E!@16535$G791%IJCoordinate Data Source CodeCoordinate Data Source Code"L0`BN OQSVtribal_code_t$PC17335$R? 288%TDAT*U Tribal Code Tribal Code"W0@@\Zah[Y\^`b (fe record_type$] 9$_L76$aD7311&cDAT*d [general] [general]"g0qZiYj^lb(onstate_fips_and_county_fips$kHI329$m736"p0zhrYs^ub(xwDAT*state_facility_identifier$t21074$vI585"y0q{Y|^~b((space_1$}m1669$1224"0zY^DAT*b2(emission_release_point_id$n1902$699"0Y^b<(emission_release_point_type$;2 2610$768"0DAT*Y^bF(space_2$; 3387$<274"0Y^bP( stack_height% decimal(0) decimal(0)$DAT*#W3671$JR338"0Y^b Z( stack_diameter$o4018$Y407"0Y^b d(DAT*stack_fenceline_distance$R4434$667"0Y^b n( exit_gas_temperature$^5111$};571"0YDAT* ^b x( exit_gas_velocity$;5691$c453"0Y^b ( exit_gas_flow_rate$B 6153$k489"DAT* 0Y^b( x_coordinate$6651$JR338"0Y^b( y_coordinate$W6999$JDAT*R338"0Y^b( utm_zone%numbernumber$G7346$9261"0Y^b(DAT*xy_coordinate_type$7616$q517"0Y^b(horizontal_area_fugitive$8142$e613"0YDAT*Datastore export records for point emission processrelease 8; datawindow(units=0 timer_interval=0 color=1073741824 processing=1 HTMLDW=no print.documentname="" print.orientation = 0 print.margin.left = 110 print.margin.right = 110 print.margin.top = 96 print.margin.bottom = 96 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no grid.lines=0 ) header(height=80 color="536870912" ) summary(height=0 color="536870912" ) footer(height=0 color="536870DAT*912" ) detail(height=92 color="536870912" ) table(column=(type=char(2) updatewhereclause=yes name=record_type dbname="record_type" ) column=(type=char(5) updatewhereclause=yes name=state_fips_and_county_fips dbname="state_fips_and_county_fips" ) column=(type=char(15) updatewhereclause=yes name=state_facility_identifier dbname="state_facility_identifier" ) column=(type=char(6) updatewhereclause=yes name=emission_unit_id dbname="emission_unit_id" ) column=(type=char(6) updatewhereclause=yeDAT*s name=emission_release_point_id dbname="emission_release_point_id" ) column=(type=char(6) updatewhereclause=yes name=process_id dbname="process_id" ) column=(type=char(10) updatewhereclause=yes name=scc dbname="scc" ) column=(type=char(6) updatewhereclause=yes name=process_mact_code dbname="process_mact_code" ) column=(type=char(78) updatewhereclause=yes name=emission_process_description dbname="emission_process_description" ) column=(type=char(3) updatewhereclause=yes name=winter_throuDAT*ghput_pct dbname="winter_throughput_pct" ) column=(type=char(3) updatewhereclause=yes name=spring_throughput_pct dbname="spring_throughput_pct" ) column=(type=char(3) updatewhereclause=yes name=summer_throughput_pct dbname="summer_throughput_pct" ) column=(type=char(3) updatewhereclause=yes name=fall_throughput_pct dbname="fall_throughput_pct" ) column=(type=char(1) updatewhereclause=yes name=annual_avg_days_per_week dbname="annual_avg_days_per_week" ) column=(type=char(2) updatewhereclaDAT*use=yes name=annual_avg_weeks_per_year dbname="annual_avg_weeks_per_year" ) column=(type=char(2) updatewhereclause=yes name=annual_avg_hours_per_day dbname="annual_avg_hours_per_day" ) column=(type=char(4) updatewhereclause=yes name=annual_avg_hours_per_year dbname="annual_avg_hours_per_year" ) column=(type=char(8) updatewhereclause=yes name=heat_content dbname="heat_content" ) column=(type=char(5) updatewhereclause=yes name=sulfur_content dbname="sulfur_content" ) column=(type=char(5) uDAT*|pdatewhereclause=yes name=ash_content dbname="ash_content" ) column=(type=char(6) updatewhereclause=yes name=process_mact_compliance_status dbname="process_mact_compliance_status" ) column=(type=char(4) updatewhereclause=yes name=submittal_flag dbname="submittal_flag" ) column=(type=char(3) updatewhereclause=yes name=tribal_code dbname="tribal_code" ) ) text(band=header alignment="2" text="Record Type" border="0" color="33554432" x="9" y="8" height="64" width="311" html.valueishtml="0" nDAT*" edit.limit=10 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=10 alignment="0" tabsequence=100 border="0" color="33554432" x="3918" y="8" height="76" width="855" format="[general]" html.valueishtml="0" name=design_capacity_unit_numerator visible="1" edit.limit=0 edit.case=anyDAT*  edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=11 alignment="0" tabsequence=110 border="0" color="33554432" x="4782" y="8" height="76" width="914" format="[general]" html.valueishtml="0" name=design_capacity_unit_denominator visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no ediDAT*"t.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=12 alignment="0" tabsequence=120 border="0" color="33554432" x="5705" y="8" height="76" width="677" format="[general]" html.valueishtml="0" name=max_nameplate_capacity tag="decimal(0)" visible="1" edit.limit=10 edit.case=any edit.focusrectangle=no edit.autoselect=yes eDAT*$dit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=13 alignment="0" tabsequence=130 border="0" color="33554432" x="6391" y="8" height="76" width="2194" format="[general]" html.valueishtml="0" name=emission_unit_description visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=DAT*&0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=14 alignment="0" tabsequence=140 border="0" color="33554432" x="8594" y="8" height="76" width="366" format="[general]" html.valueishtml="0" name=submittal_flag visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.wDAT*(eight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=15 alignment="0" tabsequence=150 border="0" color="33554432" x="8969" y="8" height="76" width="288" format="[general]" html.valueishtml="0" name=tribal_code visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" fontDAT*.charset="0" background.mode="1" background.color="536870912" ) htmltable(border="1" ) htmlgen(clientevents="1" clientvalidation="1" clientcomputedfields="1" clientformatting="0" clientscriptable="0" generatejavascript="1" netscapelayers="0" ) DAT*,PDW0800pdw+SR````@)$ F$nn``DAT*. @P`$DAT*0 "record_type_t$1<  $ 0%  ArialArial$2$-10$400$ 536870912$ 33DAT*2554432$ 9$8$@64$D7311% ! Record Type Record Type"#0`/% &(*-state_fips_and_county_fips_t$'HI329$)718%+,StateDAT*4 Fips And County FipsState Fips And County Fips".0`:$0 1358state_facility_identifier_t$2 1056$4I585%67State Facility IdentifierState Facility Identifier"90`E/; <>@DAT*6Cemission_unit_id_t$=ir1650$?a443%ABEmission Unit IdEmission Unit Id"D0`P:F GIKNoris_boiler_id_t$H72103$JL[347%LMOris Boiler IdOris Boiler Id"ODAT*80`[EQ RTVYsic_unit_level_t$S 2459$UM`352%WXSic Unit LevelSic Unit Level"Z0`fP\ ]_adnaics_unit_level_t$^i 2821$`[DAT*:416%bcNaics Unit LevelNaics Unit Level"e0`q[g hjlo space_1_t$i 3246$k1224%mnSpace 1Space 1"p0`|fr suwzdesign_caDAT*<pacity_t$t 3479$v^430%xyDesign CapacityDesign Capacity"{0`q} ~!design_capacity_unit_numerator_t$YN3918$W855%Design Capacity Unit NumeratorDesign Capacity Unit NumeratoDAT*>r"0`| #design_capacity_unit_denominator_t$4782$914%!Design Capacity Unit Denominator!Design Capacity Unit Denominator"0` max_nameplate_DAT*@capacity_t$I5705$677%Max Nameplate CapacityMax Nameplate Capacity"0` emission_unit_description_t$v6391$2194%Emission Unit DescriptionEmission Unit DescriptDAT*Bion"0` submittal_flag_t$X!8594$Pn366%Submittal FlagSubmittal Flag"0` tribal_code_t$ #8969$DAT*D? 288% Tribal Code Tribal Code"0@@\I ( record_type$ 9$L76$DAT*FD7311& [general] [general]"0(state_fips_and_county_fips$HI329$718"0DAT*H(state_facility_identifier$ 1056$I585"0((emission_unit_id$ir1650$a443"0DAT*J2(oris_boiler_id$72103$L[347"0<(sic_unit_level%numbernumber$ 2459DAT*L$M`352"0F(naics_unit_level$i 2821$[416"0  P( DAT*Nspace_1$  3246$ 1224"0 Z( design_capacity% decimal(0) decimal(0)$ 3479$^430"0%DAT*P  d(#"design_capacity_unit_numerator$YN3918$!W855"$0.&') n(,+!design_capacity_unit_denominator$(4782$*DAT*R914"-07%/02 x(54 max_nameplate_capacity$1I5705$3677"60@.89; (>=emission_unit_descriptDAT*Tion$:v6391$<2194"?0I7ABD(GFsubmittal_flag$CX!8594$EPn366"H0@JKMDAT*V(PO tribal_code$L #8969$N? 288"Q0@DAT*XVTUYWX\Z[_]^b`aecdhfgDAT*Zkijnlm qop t%rs w.uv z7xy Q}@{|I~DAT*\ record_type record_typestate_fips_and_county_fipsstate_fips_and_county_fipsstate_facility_identifierstate_facility_identifieremission_unit_idemission_unit_idoris_boiler_idoris_boiler_idsic_unit_levelsic_unit_levelnaics_unit_levelnaics_unit_levelspace_1spaDAT*^ce_1design_capacitydesign_capacitydesign_capacity_unit_numeratordesign_capacity_unit_numerator!design_capacity_unit_denominator!design_capacity_unit_denominator%max_nameplate_capacitymax_nameplate_capacity.emission_unit_descriptionemission_unit_description7submittal_flagsubmittal_flag@ tribal_code tDAT*vribal_codeI\"1"1"1"1"0"0"0DAT*b=15 alignment="0" tabsequence=150 border="0" color="33554432" x="6999" y="8" height="76" width="338" format="[general]" html.valueishtml="0" name=y_coordinate tag="decimal(0)" visible="1" edit.limit=10 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=16 alignment="0" tabsequencDAT*de=160 border="0" color="33554432" x="7346" y="8" height="76" width="261" format="[general]" html.valueishtml="0" name=utm_zone tag="number" visible="1" edit.limit=2 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=17 alignment="0" tabsequence=170 border="0" color="33554432" x="DAT*f7616" y="8" height="76" width="517" format="[general]" html.valueishtml="0" name=xy_coordinate_type visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=18 alignment="0" tabsequence=180 border="0" color="33554432" x="8142" y="8" height="76" width="613" formaDAT*ht="[general]" html.valueishtml="0" name=horizontal_area_fugitive tag="number" visible="1" edit.limit=8 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=19 alignment="0" tabsequence=190 border="0" color="33554432" x="8763" y="8" height="76" width="594" format="[general]" html.vaDAT*jlueishtml="0" name=release_height_fugitive tag="number" visible="1" edit.limit=8 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=20 alignment="0" tabsequence=200 border="0" color="33554432" x="9367" y="8" height="76" width="640" format="[general]" html.valueishtml="0" name=fuDAT*lgitive_dimensions_unit visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=21 alignment="0" tabsequence=210 border="0" color="33554432" x="10016" y="8" height="76" width="2194" format="[general]" html.valueishtml="0" name=emission_release_pt_description visDAT*nible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=22 alignment="0" tabsequence=220 border="0" color="33554432" x="12219" y="8" height="76" width="366" format="[general]" html.valueishtml="0" name=submittal_flag visible="1" edit.limit=0 edit.case=any edit.focDAT*pusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=23 alignment="0" tabsequence=230 border="0" color="33554432" x="12594" y="8" height="76" width="928" format="[general]" html.valueishtml="0" name=horizontal_collection_method_code visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autosDAT*relect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=24 alignment="0" tabsequence=240 border="0" color="33554432" x="13531" y="8" height="76" width="791" format="[general]" html.valueishtml="0" name=horizontal_accuracy_measure visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes DAT*tedit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=25 alignment="0" tabsequence=250 border="0" color="33554432" x="14331" y="8" height="76" width="887" format="[general]" html.valueishtml="0" name=horizontal_reference_datum_code visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="DAT*vArial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=26 alignment="0" tabsequence=260 border="0" color="33554432" x="15227" y="8" height="76" width="562" format="[general]" html.valueishtml="0" name=reference_point_code visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="DAT*x400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=27 alignment="0" tabsequence=270 border="0" color="33554432" x="15799" y="8" height="76" width="727" format="[general]" html.valueishtml="0" name=source_map_scale_number visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2DAT*z" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=28 alignment="0" tabsequence=280 border="0" color="33554432" x="16535" y="8" height="76" width="791" format="[general]" html.valueishtml="0" name=coordinate_data_source_code visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mDAT*ode="1" background.color="536870912" ) column(band=detail id=29 alignment="0" tabsequence=290 border="0" color="33554432" x="17335" y="8" height="76" width="288" format="[general]" html.valueishtml="0" name=tribal_code visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) htmltabDAT*~ame=record_type_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="State Fips And County Fips" border="0" color="33554432" x="329" y="8" height="64" width="718" html.valueishtml="0" name=state_fips_and_county_fips_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.moDAT*de="1" background.color="536870912" ) text(band=header alignment="2" text="State Facility Identifier" border="0" color="33554432" x="1056" y="8" height="64" width="585" html.valueishtml="0" name=state_facility_identifier_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Emission Unit Id" border="0" color="33554432" x="1650" y="8" height="64"DAT* width="443" html.valueishtml="0" name=emission_unit_id_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Emission Release Point Id" border="0" color="33554432" x="2103" y="8" height="64" width="699" html.valueishtml="0" name=emission_release_point_id_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.DAT*pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Process Id" border="0" color="33554432" x="2811" y="8" height="64" width="288" html.valueishtml="0" name=process_id_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Scc" border="0" color="33554432" x="3109" y="8" height="64" wiDAT*dth="274" html.valueishtml="0" name=scc_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Process Mact Code" border="0" color="33554432" x="3392" y="8" height="64" width="535" html.valueishtml="0" name=process_mact_code_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" backgDAT*round.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Emission Process Description" border="0" color="33554432" x="3936" y="8" height="64" width="2139" html.valueishtml="0" name=emission_process_description_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Winter Throughput Pct" border="0" color="33554432" x="608DAT*H5" y="8" height="64" width="581" html.valueishtml="0" name=winter_throughput_pct_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Spring Throughput Pct" border="0" color="33554432" x="6674" y="8" height="64" width="585" html.valueishtml="0" name=spring_throughput_pct_t visible="1" font.face="Arial" font.height="-10" font.weight="400" fontDAT*Datastore export records for on road emissionrelease 8; datawindow(units=0 timer_interval=0 color=1073741824 processing=1 HTMLDW=no print.documentname="" print.orientation = 0 print.margin.left = 110 print.margin.right = 110 print.margin.top = 96 print.margin.bottom = 96 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no grid.lines=0 ) header(height=80 color="536870912" ) summary(height=0 color="536870912" ) footer(height=0 color="536870912" )DAT* detail(height=92 color="536870912" ) table(column=(type=char(2) updatewhereclause=yes name=record_type dbname="record_type" ) column=(type=char(5) updatewhereclause=yes name=state_and_county_fips_code dbname="state_and_county_fips_code" ) column=(type=char(10) updatewhereclause=yes name=scc dbname="scc" ) column=(type=char(10) updatewhereclause=yes name=space_1 dbname="space_1" ) column=(type=char(8) updatewhereclause=yes name=start_date dbname="start_date" ) column=(type=char(8) updaDAT*tewhereclause=yes name=end_date dbname="end_date" ) column=(type=char(2) updatewhereclause=yes name=space_2 dbname="space_2" ) column=(type=char(4) updatewhereclause=yes name=start_time dbname="start_time" ) column=(type=char(4) updatewhereclause=yes name=end_time dbname="end_time" ) column=(type=char(9) updatewhereclause=yes name=pollutant_code dbname="pollutant_code" ) column=(type=char(81) updatewhereclause=yes name=emission_process_description dbname="emission_process_description" ) DAT* column=(type=char(10) updatewhereclause=yes name=emission_numeric_value dbname="emission_numeric_value" ) column=(type=char(10) updatewhereclause=yes name=emission_unit_numerator dbname="emission_unit_numerator" ) column=(type=char(2) updatewhereclause=yes name=emission_type dbname="emission_type" ) column=(type=char(5) updatewhereclause=yes name=em_reliability_indicator dbname="em_reliability_indicator" ) column=(type=char(4) updatewhereclause=yes name=submittal_flag dbname="submittal_fDAT*lag" ) column=(type=char(3) updatewhereclause=yes name=tribal_code dbname="tribal_code" ) ) text(band=header alignment="2" text="Record Type" border="0" color="33554432" x="9" y="8" height="64" width="311" html.valueishtml="0" name=record_type_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="State And County Fips Code" border="0" color=DAT*"33554432" x="329" y="8" height="64" width="754" html.valueishtml="0" name=state_and_county_fips_code_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Scc" border="0" color="33554432" x="1093" y="8" height="64" width="274" html.valueishtml="0" name=scc_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" fonDAT*t.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Space 1" border="0" color="33554432" x="1376" y="8" height="64" width="274" html.valueishtml="0" name=space_1_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Start Date" border="0" color="33554432" x="1659" y="8" height="64"DAT* width="265" html.valueishtml="0" name=start_date_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="End Date" border="0" color="33554432" x="1934" y="8" height="64" width="242" html.valueishtml="0" name=end_date_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.moDAT*de="1" background.color="536870912" ) text(band=header alignment="2" text="Space 2" border="0" color="33554432" x="2185" y="8" height="64" width="224" html.valueishtml="0" name=space_2_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Start Time" border="0" color="33554432" x="2418" y="8" height="64" width="265" html.valueishtml="0" name=stDAT*art_time_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="End Time" border="0" color="33554432" x="2693" y="8" height="64" width="242" html.valueishtml="0" name=end_time_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) texDAT*t(band=header alignment="2" text="Pollutant Code" border="0" color="33554432" x="2944" y="8" height="64" width="384" html.valueishtml="0" name=pollutant_code_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Emission Process Description" border="0" color="33554432" x="3337" y="8" height="64" width="2222" html.valueishtml="0" name=emission_prDAT*ocess_description_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Emission Numeric Value" border="0" color="33554432" x="5568" y="8" height="64" width="645" html.valueishtml="0" name=emission_numeric_value_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1DAT*" background.color="536870912" ) text(band=header alignment="2" text="Emission Unit Numerator" border="0" color="33554432" x="6222" y="8" height="64" width="663" html.valueishtml="0" name=emission_unit_numerator_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Emission Type" border="0" color="33554432" x="6894" y="8" height="64" width="384"DAT* html.valueishtml="0" name=emission_type_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Em Reliability Indicator" border="0" color="33554432" x="7287" y="8" height="64" width="603" html.valueishtml="0" name=em_reliability_indicator_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.chDAT*arset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Submittal Flag" border="0" color="33554432" x="7899" y="8" height="64" width="366" html.valueishtml="0" name=submittal_flag_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Tribal Code" border="0" color="33554432" x="8274" y="8" height="64" widDAT*th="288" html.valueishtml="0" name=tribal_code_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=1 alignment="0" tabsequence=10 border="0" color="33554432" x="9" y="8" height="76" width="311" format="[general]" html.valueishtml="0" name=record_type visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.iDAT*memode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=2 alignment="0" tabsequence=20 border="0" color="33554432" x="329" y="8" height="76" width="754" format="[general]" html.valueishtml="0" name=state_and_county_fips_code visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.heiDAT*ght="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=3 alignment="0" tabsequence=30 border="0" color="33554432" x="1093" y="8" height="76" width="274" format="[general]" html.valueishtml="0" name=scc visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2DAT*" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=4 alignment="0" tabsequence=40 border="0" color="33554432" x="1376" y="8" height="76" width="274" format="[general]" html.valueishtml="0" name=space_1 visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.coloDAT*r="536870912" ) column(band=detail id=5 alignment="0" tabsequence=50 border="0" color="33554432" x="1659" y="8" height="76" width="265" format="[general]" html.valueishtml="0" name=start_date tag="date" visible="1" edit.limit=8 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=DAT*6 alignment="0" tabsequence=60 border="0" color="33554432" x="1934" y="8" height="76" width="242" format="[general]" html.valueishtml="0" name=end_date tag="date" visible="1" edit.limit=8 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=7 alignment="0" tabsequence=70 border="0"DAT* color="33554432" x="2185" y="8" height="76" width="224" format="[general]" html.valueishtml="0" name=space_2 visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=8 alignment="0" tabsequence=80 border="0" color="33554432" x="2418" y="8" height="76" width="26DAT*5" format="[general]" html.valueishtml="0" name=start_time tag="time" visible="1" edit.limit=4 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=9 alignment="0" tabsequence=90 border="0" color="33554432" x="2693" y="8" height="76" width="242" format="[general]" html.valueishtml=DAT*"0" name=end_time tag="time" visible="1" edit.limit=4 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=10 alignment="0" tabsequence=100 border="0" color="33554432" x="2944" y="8" height="76" width="384" format="[general]" html.valueishtml="0" name=pollutant_code visible="1" edDAT*it.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=11 alignment="0" tabsequence=110 border="0" color="33554432" x="3337" y="8" height="76" width="2222" format="[general]" html.valueishtml="0" name=emission_process_description visible="1" edit.limit=0 edit.case=any edit.DAT*focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=12 alignment="0" tabsequence=120 border="0" color="33554432" x="5568" y="8" height="76" width="645" format="[general]" html.valueishtml="0" name=emission_numeric_value tag="decimal(0)" visible="1" edit.limit=10 edit.case=any edit.focusrectangle=no DAT*edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=13 alignment="0" tabsequence=130 border="0" color="33554432" x="6222" y="8" height="76" width="663" format="[general]" html.valueishtml="0" name=emission_unit_numerator visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscrollDAT*=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=14 alignment="0" tabsequence=140 border="0" color="33554432" x="6894" y="8" height="76" width="384" format="[general]" html.valueishtml="0" name=emission_type visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.heDAT*ight="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=15 alignment="0" tabsequence=150 border="0" color="33554432" x="7287" y="8" height="76" width="603" format="[general]" html.valueishtml="0" name=em_reliability_indicator tag="decimal(0)" visible="1" edit.limit=5 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.wDAT*eight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=16 alignment="0" tabsequence=160 border="0" color="33554432" x="7899" y="8" height="76" width="366" format="[general]" html.valueishtml="0" name=submittal_flag visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" fDAT* ont.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=17 alignment="0" tabsequence=170 border="0" color="33554432" x="8274" y="8" height="76" width="288" format="[general]" html.valueishtml="0" name=tribal_code visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.cDAT*PDW0800pdw+~}````@r! F$"nn``DAT* @P`$DAT* "record_type_t$1<  $ 0%  ArialArial$2$-10$400$ 536870912$ 33DAT*554432$ 9$8$@64$D7311% ! Record Type Record Type"#0`/% &(*-state_and_county_fips_code_t$'HI329$)754%+,StateDAT* And County Fips CodeState And County Fips Code".0`:$0 1358scc_t$2E1093$4<274%67SccScc"90`E/; <>@C space_1_t$=-`1376DAT*$?<274%ABSpace 1Space 1"D0`P:F GIKN start_date_t$Hk{1659$J: 265%LM Start Date Start Date"O0`[EQ RTVYDAT* end_date_t$S1934$U5242%WX End Date End Date"Z0`fP\ ]_ad space_2_t$^2185$`1224%bcSpace 2Space 2"e0`q[gDAT* hjlo start_time_t$ir 2418$k: 265%mn Start Time Start Time"p0`|fr suwz end_time_t$tM 2693$v5242%xy End Time End TimeDAT*"{0`q} ~pollutant_code_t$ 2944$T384%Pollutant CodePollutant Code"0`| emission_process_description_t$ 3337DAT*$2222%Emission Process DescriptionEmission Process Description"0` emission_numeric_value_t$5568$645%Emission Numeric ValueEmission Numeric Value"0`DAT* emission_unit_numerator_t$QN6222$663%Emission Unit NumeratorEmission Unit Numerator"0` emission_type_t$6894$TDAT*384%Emission TypeEmission Type"0` em_reliability_indicator_t$:w7287$[603%Em Reliability IndicatorEm Reliability Indicator"0` DAT*submittal_flag_t$7899$Pn366%Submittal FlagSubmittal Flag"0` tribal_code_t$R 8274$? 288% Tribal Code Tribal Code"DAT*0@@\t ( record_type$ 9$L76$D7311& [general] [general]"DAT*0(state_and_county_fips_code$HI329$754"0(scc$E1093$DAT*<274"0((space_1$-`1376$<274"0 2(  start_date%DAT*datedate$k{1659$: 265" 0  <( end_date$1934$5242"0 DAT*F(space_2$2185$1224"0)"$P('& start_time% !timetime$#r 2418$%: 265"(DAT*02*+- Z(0/ end_time$,M 2693$.5242"10;)346 d(98pollutant_code$5 2944$7DAT*T384":0D2<=? n(BAemission_process_description$> 3337$@2222"C0P;EFIK x(NM emDAT*ission_numeric_value%GH decimal(0) decimal(0)$J5568$L645"O0YDQRT (WVemission_unit_numerator$SQN6222$U663"X0bPZDAT*[](`_emission_type$\6894$^T384"a0kYcFdf(ihem_reliability_indicator$e:w7287$g[DAT*603"j0tblmo(rqsubmittal_flag$n7899$pPn366"s0kuvx({z tribal_code$wDAT*R 8274$y? 288"|0@DAT*     DAT*) 2 ; RD P YbkDAT*t record_type record_typestate_and_county_fips_codestate_and_county_fips_codesccsccspace_1space_1 start_date start_date end_date end_date space_2space_2 start_time start_time end_time enDAT*d_time)pollutant_codepollutant_code2emission_process_descriptionemission_process_description;emission_numeric_valueemission_numeric_valueDemission_unit_numeratoremission_unit_numeratorPemission_typeemission_typeYem_reliability_indicatorem_reliability_indicatorbsubmittal_flagsubmittal_flagDAT*k tribal_code tribal_codet\"1"1"1"1"0"0"0DAT*0912" ) detail(height=92 color="536870912" ) table(column=(type=char(2) updatewhereclause=yes name=record_type dbname="record_type" ) column=(type=char(5) updatewhereclause=yes name=state_and_county_fips_code dbname="state_and_county_fips_code" ) column=(type=char(10) updatewhereclause=yes name=scc dbname="scc" ) column=(type=char(8) updatewhereclause=yes name=start_date dbname="start_date" ) column=(type=char(8) updatewhereclause=yes name=end_date dbname="end_date" ) column=(type=charDAT*(2) updatewhereclause=yes name=space_1 dbname="space_1" ) column=(type=char(4) updatewhereclause=yes name=start_time dbname="start_time" ) column=(type=char(4) updatewhereclause=yes name=end_time dbname="end_time" ) column=(type=char(10) updatewhereclause=yes name=actual_throughput dbname="actual_throughput" ) column=(type=char(10) updatewhereclause=yes name=throughput_unit_numerator dbname="throughput_unit_numerator" ) column=(type=char(4) updatewhereclause=yes name=submittal_flag dbnamDAT*e="submittal_flag" ) column=(type=char(3) updatewhereclause=yes name=tribal_code dbname="tribal_code" ) ) text(band=header alignment="2" text="Record Type" border="0" color="33554432" x="9" y="8" height="64" width="311" html.valueishtml="0" name=record_type_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="State And County Fips Code" borDAT* der="0" color="33554432" x="329" y="8" height="64" width="754" html.valueishtml="0" name=state_and_county_fips_code_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Scc" border="0" color="33554432" x="1093" y="8" height="64" width="274" html.valueishtml="0" name=scc_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.DAT* family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Start Date" border="0" color="33554432" x="1376" y="8" height="64" width="265" html.valueishtml="0" name=start_date_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="End Date" border="0" color="33554432" x="1650"DAT* y="8" height="64" width="242" html.valueishtml="0" name=end_date_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Space 1" border="0" color="33554432" x="1902" y="8" height="64" width="224" html.valueishtml="0" name=space_1_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0"DAT* background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Start Time" border="0" color="33554432" x="2135" y="8" height="64" width="265" html.valueishtml="0" name=start_time_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="End Time" border="0" color="33554432" x="2409" y="8" height="64" width="242" html.valueiDAT*shtml="0" name=end_time_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Actual Throughput" border="0" color="33554432" x="2661" y="8" height="64" width="471" html.valueishtml="0" name=actual_throughput_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" bDAT*ackground.color="536870912" ) text(band=header alignment="2" text="Throughput Unit Numerator" border="0" color="33554432" x="3141" y="8" height="64" width="704" html.valueishtml="0" name=throughput_unit_numerator_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Submittal Flag" border="0" color="33554432" x="3854" y="8" height="64" width="36DAT*6" html.valueishtml="0" name=submittal_flag_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Tribal Code" border="0" color="33554432" x="4229" y="8" height="64" width="288" html.valueishtml="0" name=tribal_code_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.moDAT*de="1" background.color="536870912" ) column(band=detail id=1 alignment="0" tabsequence=10 border="0" color="33554432" x="9" y="8" height="76" width="311" format="[general]" html.valueishtml="0" name=record_type visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=deDAT*tail id=2 alignment="0" tabsequence=20 border="0" color="33554432" x="329" y="8" height="76" width="754" format="[general]" html.valueishtml="0" name=state_and_county_fips_code visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=3 alignment="0" tabsequence=DAT*30 border="0" color="33554432" x="1093" y="8" height="76" width="274" format="[general]" html.valueishtml="0" name=scc visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=4 alignment="0" tabsequence=40 border="0" color="33554432" x="1376" y="8" height="76" DAT*width="265" format="[general]" html.valueishtml="0" name=start_date tag="date" visible="1" edit.limit=8 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=5 alignment="0" tabsequence=50 border="0" color="33554432" x="1650" y="8" height="76" width="242" format="[general]" html.valDAT* ueishtml="0" name=end_date tag="date" visible="1" edit.limit=8 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=6 alignment="0" tabsequence=60 border="0" color="33554432" x="1902" y="8" height="76" width="224" format="[general]" html.valueishtml="0" name=space_1 visible="1" edDAT*"it.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=7 alignment="0" tabsequence=70 border="0" color="33554432" x="2135" y="8" height="76" width="265" format="[general]" html.valueishtml="0" name=start_time tag="time" visible="1" edit.limit=4 edit.case=any edit.focusrectDAT*$angle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=8 alignment="0" tabsequence=80 border="0" color="33554432" x="2409" y="12" height="76" width="242" format="[general]" html.valueishtml="0" name=end_time tag="time" visible="1" edit.limit=4 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohsDAT*&croll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=9 alignment="0" tabsequence=90 border="0" color="33554432" x="2661" y="8" height="76" width="471" format="[general]" html.valueishtml="0" name=actual_throughput tag="decimal(0)" visible="1" edit.limit=10 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 DAT*( font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=10 alignment="0" tabsequence=100 border="0" color="33554432" x="3141" y="8" height="76" width="704" format="[general]" html.valueishtml="0" name=throughput_unit_numerator tag="" visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.heDAT**ight="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=11 alignment="0" tabsequence=110 border="0" color="33554432" x="3854" y="8" height="76" width="366" format="[general]" html.valueishtml="0" name=submittal_flag visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2"DAT*, font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=12 alignment="0" tabsequence=120 border="0" color="33554432" x="4229" y="8" height="76" width="288" format="[general]" html.valueishtml="0" name=tribal_code visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.modeDAT*="1" background.color="536870912" ) htmltable(border="1" ) htmlgen(clientevents="1" clientvalidation="1" clientcomputedfields="1" clientformatting="0" clientscriptable="0" generatejavascript="1" netscapelayers="0" ) DAT*0PDW0800Tpdw+````@ F$Tnn``DAT*2DE @P`$DAT*4 "record_type_t$1<  $ 0%  ArialArial$2$-10$400$ 536870912$ 33DAT*6554432$ 9$8$@64$D7311% ! Record Type Record Type"#0`/% &(*-state_and_county_fips_code_t$'HI329$)754%+,StateDAT*8 And County Fips CodeState And County Fips Code".0`:$0 1358scc_t$2E1093$4<274%67SccScc"90`E/; <>@C start_date_t$=-`1DAT*:376$?: 265%AB Start Date Start Date"D0`P:F GIKN end_date_t$Hir1650$J5242%LM End Date End Date"O0`[EQ RTVYDAT*< space_1_t$Sn1902$U1224%WXSpace 1Space 1"Z0`fP\ ]_ad start_time_t$^W2135$`: 265%bc Start Time Start Time"e0`q[gDAT*> hjlo end_time_t$ii 2409$k5242%mn End Time End Time"p0`|fr suwzactual_throughput_t$tFe 2661$vg471%xyActual ThroughDAT*@putActual Throughput"{0`q} ~throughput_unit_numerator_t$E 3141$704%Throughput Unit NumeratorThroughput Unit Numerator"0`| submittal_fDAT*Blag_t$K3854$Pn366%Submittal FlagSubmittal Flag"0` tribal_code_t$4229$? 288% Tribal Code Tribal Code"0@DAT*D@\ ( record_type$ 9$L76$D7311& [general] [general]"0DAT*F(state_and_county_fips_code$HI329$754"0(scc$E1093$<274DAT*H"0(( start_date%datedate$-`1376$: 265"02( end_dateDAT*J$ir1650$5242"0<(space_1$n1902$1224"0F(DAT*L start_time%timetime$W2135$: 265"0P( end_time$i 2409$ 12$5242"DAT*N0 Z( actual_throughput% decimal(0) decimal(0)$Fe 2661$g471"0  d(  througDAT*Phput_unit_numerator%$E 3141$704" 0  n(submittal_flag$K3854$Pn366"0 DAT*R x( tribal_code$4229$? 288"0@DDAT*T " !%#$(&' +)* .,- 1/0DAT*V423756:89 =;< @ >? CAB  record_type record_typestate_and_county_fips_codestate_and_county_fips_cDAT*Xodesccscc start_date start_date end_date end_datespace_1space_1 start_time start_time end_time end_timeactual_throughputactual_throughputthroughput_unit_numeratorthroughput_unit_numeratorsubmittal_flagsubmittal_flag  DAT*tribal_code tribal_code\FHJLNPR"G1"I1"K1"M1"O0"Q0"S0DAT*\Datastore export records for point control equipmentrelease 8; datawindow(units=0 timer_interval=0 color=1073741824 processing=1 HTMLDW=no print.documentname="" print.orientation = 0 print.margin.left = 110 print.margin.right = 110 print.margin.top = 96 print.margin.bottom = 96 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no grid.lines=0 ) header(height=80 color="536870912" ) summary(height=0 color="536870912" ) footer(height=0 color="53687DAT*^0912" ) detail(height=92 color="536870912" ) table(column=(type=char(2) updatewhereclause=yes name=record_type dbname="record_type" ) column=(type=char(5) updatewhereclause=yes name=state_fips_and_county_fips dbname="state_fips_and_county_fips" ) column=(type=char(15) updatewhereclause=yes name=state_facility_identifier dbname="state_facility_identifier" ) column=(type=char(6) updatewhereclause=yes name=emission_unit_id dbname="emission_unit_id" ) column=(type=char(6) updatewhereclause=yDAT*`es name=process_id dbname="process_id" ) column=(type=char(9) updatewhereclause=yes name=pollutant_code dbname="pollutant_code" ) column=(type=char(11) updatewhereclause=yes name=space_1 dbname="space_1" ) column=(type=char(5) updatewhereclause=yes name=primary_pct_control_efficiency dbname="primary_pct_control_efficiency" ) column=(type=char(5) updatewhereclause=yes name=pct_capture_efficiency dbname="pct_capture_efficiency" ) column=(type=char(5) updatewhereclause=yes name=total_capturDAT*be_control_efficiency dbname="total_capture_control_efficiency" ) column=(type=char(4) updatewhereclause=yes name=primary_device_type_code dbname="primary_device_type_code" ) column=(type=char(4) updatewhereclause=yes name=secondary_device_type_code dbname="secondary_device_type_code" ) column=(type=char(25) updatewhereclause=yes name=space_2 dbname="space_2" ) column=(type=char(40) updatewhereclause=yes name=control_system_description dbname="control_system_description" ) column=(type=chDAT*dar(4) updatewhereclause=yes name=third_control_device_type_code dbname="third_control_device_type_code" ) column=(type=char(4) updatewhereclause=yes name=fourth_control_device_type_code dbname="fourth_control_device_type_code" ) column=(type=char(4) updatewhereclause=yes name=submittal_flag dbname="submittal_flag" ) column=(type=char(3) updatewhereclause=yes name=tribal_code dbname="tribal_code" ) ) text(band=header alignment="2" text="Record Type" border="0" color="33554432" x="9" y="8" DAT*fheight="64" width="311" html.valueishtml="0" name=record_type_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="State Fips And County Fips" border="0" color="33554432" x="329" y="8" height="64" width="718" html.valueishtml="0" name=state_fips_and_county_fips_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2DAT*h" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="State Facility Identifier" border="0" color="33554432" x="1056" y="8" height="64" width="585" html.valueishtml="0" name=state_facility_identifier_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Emission Unit Id" border=DAT*j"0" color="33554432" x="1650" y="8" height="64" width="443" html.valueishtml="0" name=emission_unit_id_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Process Id" border="0" color="33554432" x="2103" y="8" height="64" width="288" html.valueishtml="0" name=process_id_t visible="1" font.face="Arial" font.height="-10" font.weight="400" fontDAT*l.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Pollutant Code" border="0" color="33554432" x="2400" y="8" height="64" width="384" html.valueishtml="0" name=pollutant_code_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Space 1" border="0" color="33554432" DAT*nx="2793" y="8" height="64" width="274" html.valueishtml="0" name=space_1_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Primary Pct Control Efficiency" border="0" color="33554432" x="3077" y="8" height="64" width="800" html.valueishtml="0" name=primary_pct_control_efficiency_t visible="1" font.face="Arial" font.height="-10" font.weight="DAT*p400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Pct Capture Efficiency" border="0" color="33554432" x="3886" y="8" height="64" width="590" html.valueishtml="0" name=pct_capture_efficiency_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Total CaptuDAT*rre Control Efficiency" border="0" color="33554432" x="4485" y="8" height="64" width="832" html.valueishtml="0" name=total_capture_control_efficiency_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Primary Device Type Code" border="0" color="33554432" x="5326" y="8" height="64" width="699" html.valueishtml="0" name=primary_device_type_code_DAT*tt visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Secondary Device Type Code" border="0" color="33554432" x="6034" y="8" height="64" width="777" html.valueishtml="0" name=secondary_device_type_code_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" backgrouDAT*vnd.color="536870912" ) text(band=header alignment="2" text="Space 2" border="0" color="33554432" x="6821" y="8" height="64" width="686" html.valueishtml="0" name=space_2_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Control System Description" border="0" color="33554432" x="7515" y="8" height="64" width="1097" html.valueishtml="0" name=DAT*xcontrol_system_description_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Third Control Device Type Code" border="0" color="33554432" x="8622" y="8" height="64" width="827" html.valueishtml="0" name=third_control_device_type_code_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charsDAT*zet="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Fourth Control Device Type Code" border="0" color="33554432" x="9458" y="8" height="64" width="859" html.valueishtml="0" name=fourth_control_device_type_code_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Submittal Flag" border="0" color="335544DAT*|32" x="10327" y="8" height="64" width="366" html.valueishtml="0" name=submittal_flag_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Tribal Code" border="0" color="33554432" x="10702" y="8" height="64" width="288" html.valueishtml="0" name=tribal_code_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" fonDAT*~t.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=1 alignment="0" tabsequence=10 border="0" color="33554432" x="9" y="8" height="76" width="311" format="[general]" html.valueishtml="0" name=record_type visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" backDAT*ground.color="536870912" ) column(band=detail id=2 alignment="0" tabsequence=20 border="0" color="33554432" x="329" y="8" height="76" width="718" format="[general]" html.valueishtml="0" name=state_fips_and_county_fips visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(bDAT*and=detail id=3 alignment="0" tabsequence=30 border="0" color="33554432" x="1056" y="8" height="76" width="585" format="[general]" html.valueishtml="0" name=state_facility_identifier visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=4 alignment="0" tabseqDAT*uence=40 border="0" color="33554432" x="1650" y="8" height="76" width="443" format="[general]" html.valueishtml="0" name=emission_unit_id visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=5 alignment="0" tabsequence=50 border="0" color="33554432" x="2103"DAT* y="8" height="76" width="288" format="[general]" html.valueishtml="0" name=process_id visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=6 alignment="0" tabsequence=60 border="0" color="33554432" x="2400" y="8" height="76" width="384" format="[general]" hDAT*tml.valueishtml="0" name=pollutant_code visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=7 alignment="0" tabsequence=70 border="0" color="33554432" x="2793" y="8" height="76" width="274" format="[general]" html.valueishtml="0" name=space_1 visible="1" eDAT*dit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=8 alignment="0" tabsequence=80 border="0" color="33554432" x="3077" y="8" height="76" width="800" format="[general]" html.valueishtml="0" name=primary_pct_control_efficiency tag="decimal(0)" visible="1" edit.limit=5 eDAT*dit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=9 alignment="0" tabsequence=90 border="0" color="33554432" x="3886" y="8" height="76" width="590" format="[general]" html.valueishtml="0" name=pct_capture_efficiency tag="decimal(0)" visible="1" edit.limit=5 edit.case=any edit.focDAT*usrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=10 alignment="0" tabsequence=100 border="0" color="33554432" x="4485" y="8" height="76" width="832" format="[general]" html.valueishtml="0" name=total_capture_control_efficiency tag="decimal(0)" visible="1" edit.limit=5 edit.case=any edit.focusrectangDAT*le=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=11 alignment="0" tabsequence=110 border="0" color="33554432" x="5326" y="8" height="76" width="699" format="[general]" html.valueishtml="0" name=primary_device_type_code visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autoDAT*hscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=12 alignment="0" tabsequence=120 border="0" color="33554432" x="6034" y="8" height="76" width="777" format="[general]" html.valueishtml="0" name=secondary_device_type_code visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.DAT*face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=13 alignment="0" tabsequence=130 border="0" color="33554432" x="6821" y="8" height="76" width="686" format="[general]" html.valueishtml="0" name=space_2 visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" foDAT*nt.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=14 alignment="0" tabsequence=140 border="0" color="33554432" x="7515" y="8" height="76" width="1097" format="[general]" html.valueishtml="0" name=control_system_description visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" fonDAT*t.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=15 alignment="0" tabsequence=150 border="0" color="33554432" x="8622" y="8" height="76" width="827" format="[general]" html.valueishtml="0" name=third_control_device_type_code visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.modeDAT*="1" background.color="536870912" ) column(band=detail id=16 alignment="0" tabsequence=160 border="0" color="33554432" x="9458" y="8" height="76" width="859" format="[general]" html.valueishtml="0" name=fourth_control_device_type_code visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="53687DAT*0912" ) column(band=detail id=17 alignment="0" tabsequence=170 border="0" color="33554432" x="10327" y="8" height="76" width="366" format="[general]" html.valueishtml="0" name=submittal_flag visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=18 alignment=DAT*"0" tabsequence=180 border="0" color="33554432" x="10702" y="8" height="76" width="288" format="[general]" html.valueishtml="0" name=tribal_code visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) htmltable(border="1" ) htmlgen(clientevents="1" clientvalidation="1" clientcomputDAT*PDW0800pdw+````@* F$$nn``DAT* @P`$DAT* "record_type_t$1<  $ 0%  ArialArial$2$-10$400$ 536870912$ 33DAT*554432$ 9$8$@64$D7311% ! Record Type Record Type"#0`/% &(*-state_fips_and_county_fips_t$'HI329$)718%+,StateDAT* Fips And County FipsState Fips And County Fips".0`:$0 1358state_facility_identifier_t$2 1056$4I585%67State Facility IdentifierState Facility Identifier"90`E/; <>@DAT*Cemission_unit_id_t$=ir1650$?a443%ABEmission Unit IdEmission Unit Id"D0`P:F GIKN process_id_t$H72103$J? 288%LM Process Id Process Id"O0DAT*`[EQ RTVYpollutant_code_t$S ` 2400$UT384%WXPollutant CodePollutant Code"Z0`fP\ ]_ad space_1_t$^c 2793$`<274%bDAT*cSpace 1Space 1"e0`q[g hjlo!primary_pct_control_efficiency_t$i 3077$k 800%mnPrimary Pct Control EfficiencyPrimary Pct Control Efficiency"p0`|fr suwDAT*zpct_capture_efficiency_t$tR.3886$vN590%xyPct Capture EfficiencyPct Capture Efficiency"{0`q} ~#total_capture_control_efficiency_t$4485$@832%!Total CaptuDAT*re Control Efficiency!Total Capture Control Efficiency"0`| primary_device_type_code_t$5326$699%Primary Device Type CodePrimary Device Type Code"0` DAT*secondary_device_type_code_t$(6034$ 777%Secondary Device Type CodeSecondary Device Type Code"0`  space_2_t$6821$686%Space 2Space 2"DAT*0` control_system_description_t$l[7515$I1097%Control System DescriptionControl System Description"0` !third_control_device_type_code_t$DAT*^!8622$;827%Third Control Device Type CodeThird Control Device Type Code"0` "fourth_control_device_type_code_t$$9458$[859% Fourth Control Device Type Code Fourth ContrDAT*ol Device Type Code"0` submittal_flag_t$W(10327$Pn366%Submittal FlagSubmittal Flag"0` tribal_code_t$% )DAT*10702$? 288% Tribal Code Tribal Code"0@@\ ( record_type$ 9$L76DAT*$D7311& [general] [general]"0(state_fips_and_county_fips$HI329$718"0DAT*(state_facility_identifier$ 1056$I585"0 ((emission_unit_id$ir1650$a443" 0DAT*  2( process_id$ 72103$? 288"0 <(pollutant_code$ ` 2400$TDAT*384"0% F(#"space_1$c 2793$!<274"$01&'*,P(/.primary_pct_control_efficiency%(DAT*) decimal(0) decimal(0)$+ 3077$- 800"00:%2'35 Z(87pct_capture_efficiency$4R.3886$6N590"90C1;'DAT*<> d(A@!total_capture_control_efficiency$=4485$?@832"B0L:DEG n(JIprimary_device_type_code$F5326$H699DAT*"K0UCMNP x(SRsecondary_device_type_code$O(6034$Q 777"T0^LVWY (\[space_2$XDAT*6821$Z686"]0gU_`b(edcontrol_system_description$al[7515$cI1097"f0p^hik(nDAT*mthird_control_device_type_code$j^!8622$l;827"o0ygqrt(wv fourth_control_device_type_code$s$9458$u[859"x0pzDAT*{}(submittal_flag$|W(10327$~Pn366"0y( tribal_code$% )10702$? 288"DAT*0@DAT*   %1 :DAT* C L U ^)gpyDAT* record_type record_typestate_fips_and_county_fipsstate_fips_and_county_fipsstate_facility_identifierstate_facility_identifieremission_unit_idemission_unit_id process_id process_id pollutant_codepollutant_codespace_1space_1primaryDAT*_pct_control_efficiencyprimary_pct_control_efficiency%pct_capture_efficiencypct_capture_efficiency1!total_capture_control_efficiency!total_capture_control_efficiency:primary_device_type_codeprimary_device_type_codeCsecondary_device_type_codesecondary_device_type_codeLspace_2space_2Ucontrol_system_descriptioncontrol_system_dDAT*escription^third_control_device_type_codethird_control_device_type_codeg fourth_control_device_type_code fourth_control_device_type_codepsubmittal_flagsubmittal_flagy tribal_code tribal_code\"1"DAT*Datastore export records for point emissionrelease 8; datawindow(units=0 timer_interval=0 color=1073741824 processing=1 HTMLDW=no print.documentname="" print.orientation = 0 print.margin.left = 110 print.margin.right = 110 print.margin.top = 96 print.margin.bottom = 96 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no grid.lines=0 ) header(height=80 color="536870912" ) summary(height=0 color="536870912" ) footer(height=0 color="536870912" ) DAT*detail(height=92 color="536870912" ) table(column=(type=char(2) updatewhereclause=yes name=record_type dbname="record_type" ) column=(type=char(5) updatewhereclause=yes name=state_fips_and_county_fips dbname="state_fips_and_county_fips" ) column=(type=char(15) updatewhereclause=yes name=state_facility_identifier dbname="state_facility_identifier" ) column=(type=char(6) updatewhereclause=yes name=emission_unit_id dbname="emission_unit_id" ) column=(type=char(6) updatewhereclause=yes name=pDAT*rocess_id dbname="process_id" ) column=(type=char(9) updatewhereclause=yes name=pollutant_code dbname="pollutant_code" ) column=(type=char(7) updatewhereclause=yes name=space_1 dbname="space_1" ) column=(type=char(6) updatewhereclause=yes name=emission_release_point_id dbname="emission_release_point_id" ) column=(type=char(8) updatewhereclause=yes name=start_date dbname="start_date" ) column=(type=char(8) updatewhereclause=yes name=end_date dbname="end_date" ) column=(type=char(4) updaDAT*tewhereclause=yes name=start_time dbname="start_time" ) column=(type=char(4) updatewhereclause=yes name=end_time dbname="end_time" ) column=(type=char(10) updatewhereclause=yes name=space_2 dbname="space_2" ) column=(type=char(10) updatewhereclause=yes name=emission_numeric_value dbname="emission_numeric_value" ) column=(type=char(10) updatewhereclause=yes name=emission_unit_numerator dbname="emission_unit_numerator" ) column=(type=char(2) updatewhereclause=yes name=emission_type dbname=DAT*"emission_type" ) column=(type=char(5) updatewhereclause=yes name=em_reliability_indicator dbname="em_reliability_indicator" ) column=(type=char(10) updatewhereclause=yes name=factor_numeric_value dbname="factor_numeric_value" ) column=(type=char(10) updatewhereclause=yes name=factor_unit_numerator dbname="factor_unit_numerator" ) column=(type=char(10) updatewhereclause=yes name=factor_unit_denominator dbname="factor_unit_denominator" ) column=(type=char(4) updatewhereclause=yes name=matDAT*erial dbname="material" ) column=(type=char(10) updatewhereclause=yes name=material_io dbname="material_io" ) column=(type=char(5) updatewhereclause=yes name=space_3 dbname="space_3" ) column=(type=char(2) updatewhereclause=yes name=emission_calculation_method_code dbname="emission_calculation_method_code" ) column=(type=char(5) updatewhereclause=yes name=ef_reliability_indicator dbname="ef_reliability_indicator" ) column=(type=char(5) updatewhereclause=yes name=rule_effectiveness dbnameDAT*="rule_effectiveness" ) column=(type=char(2) updatewhereclause=yes name=rule_effectiveness_method dbname="rule_effectiveness_method" ) column=(type=char(3) updatewhereclause=yes name=space_4 dbname="space_4" ) column=(type=char(2) updatewhereclause=yes name=hap_emissions_performance_level dbname="hap_emissions_performance_level" ) column=(type=char(12) updatewhereclause=yes name=control_status dbname="control_status" ) column=(type=char(10) updatewhereclause=yes name=emission_data_level DAT*dbname="emission_data_level" ) column=(type=char(4) updatewhereclause=yes name=submittal_flag dbname="submittal_flag" ) column=(type=char(3) updatewhereclause=yes name=tribal_code dbname="tribal_code" ) ) text(band=header alignment="2" text="Record Type" border="0" color="33554432" x="9" y="8" height="64" width="311" html.valueishtml="0" name=record_type_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1"DAT* background.color="536870912" ) text(band=header alignment="2" text="State Fips And County Fips" border="0" color="33554432" x="329" y="8" height="64" width="718" html.valueishtml="0" name=state_fips_and_county_fips_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="State Facility Identifier" border="0" color="33554432" x="1056" y="8" height=DAT*"64" width="585" html.valueishtml="0" name=state_facility_identifier_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Emission Unit Id" border="0" color="33554432" x="1650" y="8" height="64" width="443" html.valueishtml="0" name=emission_unit_id_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitchDAT*="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Process Id" border="0" color="33554432" x="2103" y="8" height="64" width="288" html.valueishtml="0" name=process_id_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Pollutant Code" border="0" color="33554432" x="2400" y="8" height="DAT*64" width="384" html.valueishtml="0" name=pollutant_code_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Space 1" border="0" color="33554432" x="2793" y="8" height="64" width="224" html.valueishtml="0" name=space_1_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" backgrouDAT*nd.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Emission Release Point Id" border="0" color="33554432" x="3026" y="8" height="64" width="699" html.valueishtml="0" name=emission_release_point_id_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Start Date" border="0" color="33554432" x="3735" y="8" height="64" DAT*width="265" html.valueishtml="0" name=start_date_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="End Date" border="0" color="33554432" x="4009" y="8" height="64" width="242" html.valueishtml="0" name=end_date_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.modDAT*e="1" background.color="536870912" ) text(band=header alignment="2" text="Start Time" border="0" color="33554432" x="4261" y="8" height="64" width="265" html.valueishtml="0" name=start_time_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="End Time" border="0" color="33554432" x="4535" y="8" height="64" width="242" html.valueishtml="0" nameDAT*=end_time_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Space 2" border="0" color="33554432" x="4786" y="8" height="64" width="274" html.valueishtml="0" name=space_2_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) textDAT*(band=header alignment="2" text="Emission Numeric Value" border="0" color="33554432" x="5070" y="8" height="64" width="645" html.valueishtml="0" name=emission_numeric_value_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Emission Unit Numerator" border="0" color="33554432" x="5723" y="8" height="64" width="663" html.valueishtml="0" name=emDAT*ission_unit_numerator_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Emission Type" border="0" color="33554432" x="6395" y="8" height="64" width="384" html.valueishtml="0" name=emission_type_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.cDAT*olor="536870912" ) text(band=header alignment="2" text="Em Reliability Indicator" border="0" color="33554432" x="6789" y="8" height="64" width="603" html.valueishtml="0" name=em_reliability_indicator_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Factor Numeric Value" border="0" color="33554432" x="7401" y="8" height="64" width="553" htmlDAT*.valueishtml="0" name=factor_numeric_value_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Factor Unit Numerator" border="0" color="33554432" x="7963" y="8" height="64" width="571" html.valueishtml="0" name=factor_unit_numerator_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charseDAT*t="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Factor Unit Denominator" border="0" color="33554432" x="8544" y="8" height="64" width="631" html.valueishtml="0" name=factor_unit_denominator_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Material" border="0" color="33554432" x="9184" y="8" heigDAT*ht="64" width="210" html.valueishtml="0" name=material_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Material Io" border="0" color="33554432" x="9403" y="8" height="64" width="288" html.valueishtml="0" name=material_io_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" baDAT* ckground.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Space 3" border="0" color="33554432" x="9701" y="8" height="64" width="224" html.valueishtml="0" name=space_3_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Emission Calculation Method Code" border="0" color="33554432" x="9934" y="8" height="64" width="9DAT* 42" html.valueishtml="0" name=emission_calculation_method_code_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Ef Reliability Indicator" border="0" color="33554432" x="10885" y="8" height="64" width="567" html.valueishtml="0" name=ef_reliability_indicator_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2"DAT* font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Rule Effectiveness" border="0" color="33554432" x="11461" y="8" height="64" width="466" html.valueishtml="0" name=rule_effectiveness_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Rule Effectiveness Method" border="0" cDAT*olor="33554432" x="11936" y="8" height="64" width="695" html.valueishtml="0" name=rule_effectiveness_method_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Space 4" border="0" color="33554432" x="12640" y="8" height="64" width="224" html.valueishtml="0" name=space_4_t visible="1" font.face="Arial" font.height="-10" font.weight="400" fontDAT*.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Hap Emissions Performance Level" border="0" color="33554432" x="12873" y="8" height="64" width="901" html.valueishtml="0" name=hap_emissions_performance_level_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="CoDAT*ntrol Status" border="0" color="33554432" x="13783" y="8" height="64" width="375" html.valueishtml="0" name=control_status_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Emission Data Level" border="0" color="33554432" x="14167" y="8" height="64" width="530" html.valueishtml="0" name=emission_data_level_t visible="1" font.face="Arial" foDAT*nt.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Submittal Flag" border="0" color="33554432" x="14706" y="8" height="64" width="366" html.valueishtml="0" name=submittal_flag_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" texDAT*t="Tribal Code" border="0" color="33554432" x="15081" y="8" height="64" width="288" html.valueishtml="0" name=tribal_code_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=1 alignment="0" tabsequence=10 border="0" color="33554432" x="9" y="8" height="76" width="311" format="[general]" html.valueishtml="0" name=record_type visible="1" edit.limit=0 edit.caseDAT*=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=2 alignment="0" tabsequence=20 border="0" color="33554432" x="329" y="8" height="76" width="718" format="[general]" html.valueishtml="0" name=state_fips_and_county_fips visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autDAT*oselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=3 alignment="0" tabsequence=30 border="0" color="33554432" x="1056" y="8" height="76" width="585" format="[general]" html.valueishtml="0" name=state_facility_identifier visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes ediDAT*t.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=4 alignment="0" tabsequence=40 border="0" color="33554432" x="1650" y="8" height="76" width="443" format="[general]" html.valueishtml="0" name=emission_unit_id visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-DAT* 10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=5 alignment="0" tabsequence=50 border="0" color="33554432" x="2103" y="8" height="76" width="288" format="[general]" html.valueishtml="0" name=process_id visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="DAT*"2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=6 alignment="0" tabsequence=60 border="0" color="33554432" x="2400" y="8" height="76" width="384" format="[general]" html.valueishtml="0" name=pollutant_code visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" backgroDAT*$und.color="536870912" ) column(band=detail id=7 alignment="0" tabsequence=70 border="0" color="33554432" x="2793" y="8" height="76" width="224" format="[general]" html.valueishtml="0" name=space_1 visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=8 alignDAT*&ment="0" tabsequence=80 border="0" color="33554432" x="3026" y="8" height="76" width="699" format="[general]" html.valueishtml="0" name=emission_release_point_id visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=9 alignment="0" tabsequence=90 border="0" cDAT*(olor="33554432" x="3735" y="8" height="76" width="265" format="[general]" html.valueishtml="0" name=start_date tag="date" visible="1" edit.limit=8 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=10 alignment="0" tabsequence=100 border="0" color="33554432" x="4009" y="8" heightDAT**="76" width="242" format="[general]" html.valueishtml="0" name=end_date tag="date" visible="1" edit.limit=8 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=11 alignment="0" tabsequence=110 border="0" color="33554432" x="4261" y="8" height="76" width="265" format="[general]" htDAT*,ml.valueishtml="0" name=start_time tag="time" visible="1" edit.limit=4 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=12 alignment="0" tabsequence=120 border="0" color="33554432" x="4535" y="8" height="76" width="242" format="[general]" html.valueishtml="0" name=end_time taDAT*.g="time" visible="1" edit.limit=4 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=13 alignment="0" tabsequence=130 border="0" color="33554432" x="4786" y="8" height="76" width="274" format="[general]" html.valueishtml="0" name=space_2 visible="1" edit.limit=0 edit.case=any editDAT*0.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=14 alignment="0" tabsequence=140 border="0" color="33554432" x="5070" y="8" height="76" width="645" format="[general]" html.valueishtml="0" name=emission_numeric_value tag="decimal(0)" visible="1" edit.limit=10 edit.case=any edit.focusrectangle=noDAT*2 edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=15 alignment="0" tabsequence=150 border="0" color="33554432" x="5723" y="8" height="76" width="663" format="[general]" html.valueishtml="0" name=emission_unit_numerator visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscrolDAT*4l=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=16 alignment="0" tabsequence=160 border="0" color="33554432" x="6395" y="8" height="76" width="384" format="[general]" html.valueishtml="0" name=emission_type visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.hDAT*6eight="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=17 alignment="0" tabsequence=170 border="0" color="33554432" x="6789" y="8" height="76" width="603" format="[general]" html.valueishtml="0" name=em_reliability_indicator tag="decimal(0)" visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.DAT*8weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=18 alignment="0" tabsequence=180 border="0" color="33554432" x="7401" y="8" height="76" width="553" format="[general]" html.valueishtml="0" name=factor_numeric_value tag="decimal(0)" visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.faDAT*:mily="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=19 alignment="0" tabsequence=190 border="0" color="33554432" x="7963" y="8" height="76" width="571" format="[general]" html.valueishtml="0" name=factor_unit_numerator visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="DAT*<0" background.mode="1" background.color="536870912" ) column(band=detail id=20 alignment="0" tabsequence=200 border="0" color="33554432" x="8544" y="8" height="76" width="631" format="[general]" html.valueishtml="0" name=factor_unit_denominator visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.coDAT*>lor="536870912" ) column(band=detail id=21 alignment="0" tabsequence=210 border="0" color="33554432" x="9184" y="8" height="76" width="210" format="[general]" html.valueishtml="0" name=material tag="number" visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detailDAT*@ id=22 alignment="0" tabsequence=220 border="0" color="33554432" x="9403" y="8" height="76" width="288" format="[general]" html.valueishtml="0" name=material_io visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=23 alignment="0" tabsequence=230 border="0" DAT*Bcolor="33554432" x="9701" y="8" height="76" width="224" format="[general]" html.valueishtml="0" name=space_3 visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=24 alignment="0" tabsequence=240 border="0" color="33554432" x="9934" y="8" height="76" width="9DAT*D42" format="[general]" html.valueishtml="0" name=emission_calculation_method_code visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=25 alignment="0" tabsequence=250 border="0" color="33554432" x="10885" y="8" height="76" width="567" format="[general]" htmDAT*Fl.valueishtml="0" name=ef_reliability_indicator visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=26 alignment="0" tabsequence=260 border="0" color="33554432" x="11461" y="8" height="76" width="466" format="[general]" html.valueishtml="0" name=rule_effecDAT*Htiveness tag="decimal(0)" visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=27 alignment="0" tabsequence=270 border="0" color="33554432" x="11936" y="8" height="76" width="695" format="[general]" html.valueishtml="0" name=rule_effectiveness_method visiblDAT*Je="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=28 alignment="0" tabsequence=280 border="0" color="33554432" x="12640" y="8" height="76" width="224" format="[general]" html.valueishtml="0" name=space_4 visible="1" edit.limit=0 edit.case=any edit.focusrectanglDAT*Le=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=29 alignment="0" tabsequence=290 border="0" color="33554432" x="12873" y="8" height="76" width="901" format="[general]" html.valueishtml="0" name=hap_emissions_performance_level visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edDAT*Nit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=30 alignment="0" tabsequence=300 border="0" color="33554432" x="13783" y="8" height="76" width="375" format="[general]" html.valueishtml="0" name=control_status visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.faceDAT*="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=31 alignment="0" tabsequence=310 border="0" color="33554432" x="14167" y="8" height="76" width="530" format="[general]" html.valueishtml="0" name=emission_data_level visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight=DAT*RPDW08005pdw+````@ < F$B5nn``DAT*T%& @Py`$DAT*V "record_type_t$1<  $ 0%  ArialArial$2$-10$400$ 536870912$ 33DAT*X554432$ 9$8$@64$D7311% ! Record Type Record Type"#0`/% &(*-state_fips_and_county_fips_t$'HI329$)718%+,StateDAT*Z Fips And County FipsState Fips And County Fips".0`:$0 1358state_facility_identifier_t$2 1056$4I585%67State Facility IdentifierState Facility Identifier"90`E/; <>@DAT*\Cemission_unit_id_t$=ir1650$?a443%ABEmission Unit IdEmission Unit Id"D0`P:F GIKN process_id_t$H72103$J? 288%LM Process Id Process Id"O0DAT*^`[EQ RTVYpollutant_code_t$S ` 2400$UT384%WXPollutant CodePollutant Code"Z0`fP\ ]_ad space_1_t$^c 2793$`1224%bDAT*`cSpace 1Space 1"e0`q[g hjloemission_release_point_id_t$i 3026$k699%mnEmission Release Point IdEmission Release Point Id"p0`|fr suwzDAT*b start_date_t$t13735$v: 265%xy Start Date Start Date"{0`q} ~ end_date_t$m4009$5242% End Date End Date"0`|DAT*d  start_time_t$4261$: 265% Start Time Start Time"0`  end_time_t$4535$5242% End Time End TimeDAT*f"0`  space_2_t$4786$<274%Space 2Space 2"0` emission_numeric_value_t$U5070$DAT*h645%Emission Numeric ValueEmission Numeric Value"0` emission_unit_numerator_t$[5723$663%Emission Unit NumeratorEmission Unit Numerator"0`DAT*j emission_type_t$w6395$T384%Emission TypeEmission Type"0` em_reliability_indicator_t$6789$[603%Em ReliabilitDAT*ly IndicatorEm Reliability Indicator"0` factor_numeric_value_t$S7401$y)553%Factor Numeric ValueFactor Numeric Value"0` factor_unitDAT*n_numerator_t$7963$};571%Factor Unit NumeratorFactor Unit Numerator"0` factor_unit_denominator_t$M`!8544$w631%Factor Unit DenominatorFactor Unit DenominatorDAT*p"0`  material_t$#9184$.210% Material Material"0`   material_io_t$ $9403$? DAT*r288% Material Io Material Io" 0`    space_3_t$J%9701$1224%Space 3Space 3"0`!  #emission_calculation_methodDAT*t_code_t$}&9934$942%!Emission Calculation Method Code!Emission Calculation Method Code" 0`," #%'*ef_reliability_indicator_t$$M *10885$&|7567%()Ef Reliability IndicatorEf ReliDAT*vability Indicator"+0`7!- .025rule_effectiveness_t$/ ,11461$1f466%34Rule EffectivenessRule Effectiveness"60`B,8 9;=@rule_effectiveness_method_t$:DAT*x3 .11936$<695%>?Rule Effectiveness MethodRule Effectiveness Method"A0`M7C DFHK space_4_t$E `112640$G1224%IJSpace 4Space 4"L0`XBNDAT*z OQSV"hap_emissions_performance_level_t$P I212873$R901%TU Hap Emissions Performance Level Hap Emissions Performance Level"W0`cMY Z\^acontrol_status_t$[ 513783$]RDAT*|w375%_`Control StatusControl Status"b0`nXd egilemission_data_level_t$f W714167$ht530%jkEmission Data LevelEmission Data Level"m0`yco pDAT*~rtwsubmittal_flag_t$q r914706$sPn366%uvSubmittal FlagSubmittal Flag"x0`nz {}tribal_code_t$| :15081$~? 288% Tribal Code Tribal Code"DAT*0@@\ ( record_type$ 9$L76$D7311& [general] [general]"DAT*0(state_fips_and_county_fips$HI329$718"0(state_facility_identifier$ DAT*1056$I585"0((emission_unit_id$ir1650$a443"02(DAT* process_id$72103$? 288"0<(pollutant_code$ ` 2400$T384"0DAT*F(space_1$c 2793$1224"0P(emission_release_point_id$ 3026$699"0DAT* Z( start_date%datedate$13735$: 265"0 d( end_date$m4009$DAT*5242"0 n( start_time%timetime$4261$: 265"0 x(DAT* end_time$4535$5242"0 (space_2$4786$<274"0  DAT*( emission_numeric_value%   decimal(0) decimal(0)$ U5070$645"0(emission_unit_numerator$[5723$DAT*663"0$("!emission_type$w6395$ T384"#0-%&((+*em_reliability_indicatorDAT*$'6789$)[603",06$./1(43factor_numeric_value$0S7401$2y)553"50?-78:DAT*(=<factor_unit_numerator$97963$;};571">0H6@AC(FEfactor_unit_denominator$BM`!8544$Dw631"G0T?IJDAT*MO(RQ material%KLnumbernumber$N#9184$P.210"S0]HUVX([Z material_io$W $9403$YDAT*? 288"\0fT^_a(dcspace_3$`J%9701$b1224"e0o]ghj(ml!emission_calculation_methDAT*od_code$i}&9934$k942"n0xfpqs(vuef_reliability_indicator$rM *10885$t|7567"w0oyz|DAT*(~rule_effectiveness${ ,11461$}f466"0x(rule_effectiveness_method$3 .11936$695"0DAT*(space_4$ `112640$1224"0"( hap_emissions_performance_level$ I212873$DAT*901"0,(control_status$ 513783$Rw375"06(emission_data_level$DAT* W714167$t530"0 @(submittal_flag$ r914706$Pn366"0!J(DAT* tribal_code$ :15081$? 288"0@ ""DAT* DAT*      DAT* $- 6 ? HT ]DAT* f o  x  DAT* !  $"#! record_type record_typestate_fips_and_county_fipsstate_fips_and_county_fipsstate_facility_identifierstate_facility_identifieremission_unit_idemission_unit_id process_id process_idpolluDAT*tant_codepollutant_codespace_1space_1emission_release_point_idemission_release_point_id start_date start_date end_date end_date start_time start_time end_time end_timespace_2space_2emission_numeric_valueemission_numeric_valueemission_unit_nDAT*umeratoremission_unit_numeratoremission_typeemission_typeem_reliability_indicatorem_reliability_indicator$factor_numeric_valuefactor_numeric_value-factor_unit_numeratorfactor_unit_numerator6factor_unit_denominatorfactor_unit_denominator? material materialH material_io material_ioTDAT*space_3space_3]!emission_calculation_method_code!emission_calculation_method_codefef_reliability_indicatoref_reliability_indicatororule_effectivenessrule_effectivenessxrule_effectiveness_methodrule_effectiveness_methodspace_4space_4 hap_emissions_performance_level hap_emissions_performance_levelDAT*Datastore export records for point emission periodrelease 8; datawindow(units=0 timer_interval=0 color=1073741824 processing=1 HTMLDW=no print.documentname="" print.orientation = 0 print.margin.left = 110 print.margin.right = 110 print.margin.top = 96 print.margin.bottom = 96 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no grid.lines=0 ) header(height=80 color="536870912" ) summary(height=0 color="536870912" ) footer(height=0 color="5368709DAT*12" ) detail(height=92 color="536870912" ) table(column=(type=char(2) updatewhereclause=yes name=record_type dbname="record_type" ) column=(type=char(5) updatewhereclause=yes name=state_fips_and_county_fips dbname="state_fips_and_county_fips" ) column=(type=char(15) updatewhereclause=yes name=state_facility_identifier dbname="state_facility_identifier" ) column=(type=char(6) updatewhereclause=yes name=emission_unit_id dbname="emission_unit_id" ) column=(type=char(6) updatewhereclause=yesDAT* name=process_id dbname="process_id" ) column=(type=char(8) updatewhereclause=yes name=start_date dbname="start_date" ) column=(type=char(8) updatewhereclause=yes name=end_date dbname="end_date" ) column=(type=char(2) updatewhereclause=yes name=space_1 dbname="space_1" ) column=(type=char(4) updatewhereclause=yes name=start_time dbname="start_time" ) column=(type=char(4) updatewhereclause=yes name=end_time dbname="end_time" ) column=(type=char(10) updatewhereclause=yes name=space_2 dbnDAT*ame="space_2" ) column=(type=char(10) updatewhereclause=yes name=actual_throughput dbname="actual_throughput" ) column=(type=char(10) updatewhereclause=yes name=throughput_unit_numerator dbname="throughput_unit_numerator" ) column=(type=char(4) updatewhereclause=yes name=material dbname="material" ) column=(type=char(10) updatewhereclause=yes name=material_io dbname="material_io" ) column=(type=char(1) updatewhereclause=yes name=period_days_per_week dbname="period_days_per_week" ) coluDAT*mn=(type=char(2) updatewhereclause=yes name=period_weeks_per_period dbname="period_weeks_per_period" ) column=(type=char(2) updatewhereclause=yes name=period_hours_per_day dbname="period_hours_per_day" ) column=(type=char(4) updatewhereclause=yes name=period_hours_per_period dbname="period_hours_per_period" ) column=(type=char(4) updatewhereclause=yes name=submittal_flag dbname="submittal_flag" ) column=(type=char(3) updatewhereclause=yes name=tribal_code dbname="tribal_code" ) ) text(bDAT*and=header alignment="2" text="Record Type" border="0" color="33554432" x="9" y="8" height="64" width="311" html.valueishtml="0" name=record_type_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="State Fips And County Fips" border="0" color="33554432" x="329" y="8" height="64" width="718" html.valueishtml="0" name=state_fips_and_county_fips_DAT*t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="State Facility Identifier" border="0" color="33554432" x="1056" y="8" height="64" width="585" html.valueishtml="0" name=state_facility_identifier_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" backgroundDAT*.color="536870912" ) text(band=header alignment="2" text="Emission Unit Id" border="0" color="33554432" x="1650" y="8" height="64" width="443" html.valueishtml="0" name=emission_unit_id_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Process Id" border="0" color="33554432" x="2103" y="8" height="64" width="288" html.valueishtml="0" name=pDAT*rocess_id_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Start Date" border="0" color="33554432" x="2400" y="8" height="64" width="265" html.valueishtml="0" name=start_date_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )DAT* text(band=header alignment="2" text="End Date" border="0" color="33554432" x="2674" y="8" height="64" width="242" html.valueishtml="0" name=end_date_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Space 1" border="0" color="33554432" x="2926" y="8" height="64" width="224" html.valueishtml="0" name=space_1_t visible="1" font.face="Arial"DAT* font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Start Time" border="0" color="33554432" x="3159" y="8" height="64" width="265" html.valueishtml="0" name=start_time_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="EndDAT* Time" border="0" color="33554432" x="3433" y="8" height="64" width="242" html.valueishtml="0" name=end_time_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Space 2" border="0" color="33554432" x="3685" y="8" height="64" width="274" html.valueishtml="0" name=space_2_t visible="1" font.face="Arial" font.height="-10" font.weight="400" fontDAT*.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Actual Throughput" border="0" color="33554432" x="3968" y="8" height="64" width="471" html.valueishtml="0" name=actual_throughput_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Throughput Unit Numerator" bordDAT*er="0" color="33554432" x="4448" y="8" height="64" width="704" html.valueishtml="0" name=throughput_unit_numerator_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Material" border="0" color="33554432" x="5161" y="8" height="64" width="210" html.valueishtml="0" name=material_t visible="1" font.face="Arial" font.height="-10" font.weight="40DAT*0" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Material Io" border="0" color="33554432" x="5381" y="8" height="64" width="288" html.valueishtml="0" name=material_io_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Period Days Per Week" border="0" coDAT*lor="33554432" x="5678" y="8" height="64" width="603" html.valueishtml="0" name=period_days_per_week_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Period Weeks Per Period" border="0" color="33554432" x="6290" y="8" height="64" width="667" html.valueishtml="0" name=period_weeks_per_period_t visible="1" font.face="Arial" font.height="-10"DAT* font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Period Hours Per Day" border="0" color="33554432" x="6967" y="8" height="64" width="581" html.valueishtml="0" name=period_hours_per_day_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="PDAT*eriod Hours Per Period" border="0" color="33554432" x="7557" y="8" height="64" width="645" html.valueishtml="0" name=period_hours_per_period_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Submittal Flag" border="0" color="33554432" x="8210" y="8" height="64" width="366" html.valueishtml="0" name=submittal_flag_t visible="1" font.face="ArDAT*ial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Tribal Code" border="0" color="33554432" x="8585" y="8" height="64" width="288" html.valueishtml="0" name=tribal_code_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=1 alignment=DAT*"0" tabsequence=10 border="0" color="33554432" x="9" y="8" height="76" width="311" format="[general]" html.valueishtml="0" name=record_type visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=2 alignment="0" tabsequence=20 border="0" color="33554432" x="329DAT*" y="8" height="76" width="718" format="[general]" html.valueishtml="0" name=state_fips_and_county_fips visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=3 alignment="0" tabsequence=30 border="0" color="33554432" x="1056" y="8" height="76" width="585" forDAT*mat="[general]" html.valueishtml="0" name=state_facility_identifier visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=4 alignment="0" tabsequence=40 border="0" color="33554432" x="1650" y="8" height="76" width="443" format="[general]" html.valueishtml="0"DAT* name=emission_unit_id visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=5 alignment="0" tabsequence=50 border="0" color="33554432" x="2103" y="8" height="76" width="288" format="[general]" html.valueishtml="0" name=process_id visible="1" edit.limit=0 edDAT*it.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=6 alignment="0" tabsequence=60 border="0" color="33554432" x="2400" y="8" height="76" width="265" format="[general]" html.valueishtml="0" name=start_date tag="date" visible="1" edit.limit=8 edit.case=any edit.focusrectangle=no editDAT*.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=7 alignment="0" tabsequence=70 border="0" color="33554432" x="2674" y="12" height="76" width="242" format="[general]" html.valueishtml="0" name=end_date tag="date" visible="1" edit.limit=8 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes ediDAT*t.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=8 alignment="0" tabsequence=80 border="0" color="33554432" x="2926" y="8" height="76" width="224" format="[general]" html.valueishtml="0" name=space_1 visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.DAT*weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=9 alignment="0" tabsequence=90 border="0" color="33554432" x="3159" y="8" height="76" width="265" format="[general]" html.valueishtml="0" name=start_time tag="time" visible="1" edit.limit=4 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitcDAT*h="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=10 alignment="0" tabsequence=100 border="0" color="33554432" x="3433" y="8" height="76" width="242" format="[general]" html.valueishtml="0" name=end_time tag="time" visible="1" edit.limit=4 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode=DAT*"1" background.color="536870912" ) column(band=detail id=11 alignment="0" tabsequence=110 border="0" color="33554432" x="3685" y="8" height="76" width="274" format="[general]" html.valueishtml="0" name=space_2 visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detaDAT*il id=12 alignment="0" tabsequence=120 border="0" color="33554432" x="3968" y="8" height="76" width="471" format="[general]" html.valueishtml="0" name=actual_throughput tag="decimal(0)" visible="1" edit.limit=10 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=13 alignment="0" DAT*tabsequence=130 border="0" color="33554432" x="4448" y="8" height="76" width="704" format="[general]" html.valueishtml="0" name=throughput_unit_numerator visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=14 alignment="0" tabsequence=140 border="0" color="DAT*33554432" x="5161" y="8" height="76" width="210" format="[general]" html.valueishtml="0" name=material tag="number" visible="1" edit.limit=4 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=15 alignment="0" tabsequence=150 border="0" color="33554432" x="5381" y="8" height="76" DAT*width="288" format="[general]" html.valueishtml="0" name=material_io visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=16 alignment="0" tabsequence=160 border="0" color="33554432" x="5678" y="8" height="76" width="603" format="[general]" html.valueishtml=DAT*"0" name=period_days_per_week tag="number" visible="1" edit.limit=1 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=17 alignment="0" tabsequence=170 border="0" color="33554432" x="6290" y="8" height="76" width="667" format="[general]" html.valueishtml="0" name=period_weeks_peDAT*r_period tag="number" visible="1" edit.limit=2 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=18 alignment="0" tabsequence=180 border="0" color="33554432" x="6967" y="8" height="76" width="581" format="[general]" html.valueishtml="0" name=period_hours_per_day tag="number" viDAT*sible="1" edit.limit=2 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=19 alignment="0" tabsequence=190 border="0" color="33554432" x="7557" y="8" height="76" width="645" format="[general]" html.valueishtml="0" name=period_hours_per_period tag="number" visible="1" edit.limit=4DAT* edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=20 alignment="0" tabsequence=200 border="0" color="33554432" x="8210" y="8" height="76" width="366" format="[general]" html.valueishtml="0" name=submittal_flag visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.auDAT*toselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=21 alignment="0" tabsequence=210 border="0" color="33554432" x="8585" y="8" height="76" width="288" format="[general]" html.valueishtml="0" name=tribal_code visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0DAT*PDW0800#pdw+````@" F$*#nn``DAT* @P`$DAT* "record_type_t$1<  $ 0%  ArialArial$2$-10$400$ 536870912$ 33DAT* 554432$ 9$8$@64$D7311% ! Record Type Record Type"#0`/% &(*-state_fips_and_county_fips_t$'HI329$)718%+,StateDAT*  Fips And County FipsState Fips And County Fips".0`:$0 1358state_facility_identifier_t$2 1056$4I585%67State Facility IdentifierState Facility Identifier"90`E/; <>@DAT*Cemission_unit_id_t$=ir1650$?a443%ABEmission Unit IdEmission Unit Id"D0`P:F GIKN process_id_t$H72103$J? 288%LM Process Id Process Id"O0DAT*`[EQ RTVY start_date_t$S ` 2400$U: 265%WX Start Date Start Date"Z0`fP\ ]_ad end_date_t$^Ir 2674$`5242%bDAT*c End Date End Date"e0`q[g hjlo space_1_t$in 2926$k1224%mnSpace 1Space 1"p0`|fr suwz start_time_t$tW 3159DAT*$v: 265%xy Start Time Start Time"{0`q} ~ end_time_t$i 3433$5242% End Time End Time"0`| DAT* space_2_t$&e3685$<274%Space 2Space 2"0` actual_throughput_t$d3968$g471%Actual ThroughputActual Throughput"0`DAT* throughput_unit_numerator_t$`4448$704%Throughput Unit NumeratorThroughput Unit Numerator"0`  material_t$i)5161$.DAT*210% Material Material"0` material_io_t$5381$? 288% Material Io Material Io"0` period_days_perDAT*_week_t$.5678$[603%Period Days Per WeekPeriod Days Per Week"0` period_weeks_per_period_t$`6290$667%Period Weeks Per PeriodPeriod Weeks Per Period"DAT*0` period_hours_per_day_t$76967$E581%Period Hours Per DayPeriod Hours Per Day"0` period_hours_per_period_t$uDAT* 7557$645%Period Hours Per PeriodPeriod Hours Per Period"0` submittal_flag_t$ 8210$Pn366%Submittal FlagSubmittal Flag"0`DAT*" tribal_code_t$V!8585$? 288% Tribal Code Tribal Code"0@@\  ( DAT*$ record_type$ 9$L76$ D7311&   [general] [general]"0 (state_fips_and_county_fips$HI329$718DAT*&"0" ( state_facility_identifier$ 1056$I585"!0+#$& (()(emission_unit_id$%DAT*(ir1650$'a443"*04",-/ 2(21 process_id$.72103$0? 288"30@+569; <(>=DAT** start_date%78datedate$: ` 2400$<: 265"?0K4A6BDF F(IH end_date$CIr 2674$E 12$G5242"JDAT*,0T@LMO P(RQspace_1$Nn 2926$P1224"S0`KUVY[  Z(^] start_time%WXtimetime$ZW DAT*.3159$\: 265"_0iTaVbd  d(gf end_time$ci 3433$e5242"h0r`jkm  n(poDAT*0space_2$l&e3685$n<274"q0~istwy  x(|{ actual_throughput%uv decimal(0) decimal(0)$xd3968$zg471"}0rDAT*2  (throughput_unit_numerator$`4448$704"0~ ( material%numbernumber$i)5161DAT*4$.210"0 ( material_io$5381$? 288"0 (period_DAT*6days_per_week$.5678$[603"0 (period_weeks_per_period$`6290$667"0DAT*8 (period_hours_per_day$76967$E581"0 (period_hours_per_period$u7557$645"0DAT*: (submittal_flag$ 8210$Pn366"0 ( tribal_code$V!8585$? 288DAT*<"0@DAT*>"+4 @ KT DAT*@` i r ~  DAT*B      record_type record_typestate_fips_and_county_fipsstate_fips_and_county_fipsstate_facility_identifierstate_facility_identifieremissionDAT*D_unit_idemission_unit_id" process_id process_id+ start_date start_date4 end_date end_date@space_1space_1K start_time start_timeT end_time end_time`space_2space_2iactual_throughputactual_throughputrthroughput_unit_numeratorthroughput_unit_numeratoDAT*Fr~ material material material_io material_ioperiod_days_per_weekperiod_days_per_weekperiod_weeks_per_periodperiod_weeks_per_periodperiod_hours_per_dayperiod_hours_per_dayperiod_hours_per_periodperiod_hours_per_periodsubmittal_flagsubmittal_flag tribal_code tribal_codeDAT*k\!"1"1"1"1"0" 0""0DAT*J.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Summer Throughput Pct" border="0" color="33554432" x="7269" y="8" height="64" width="640" html.valueishtml="0" name=summer_throughput_pct_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Fall Throughput Pct" boDAT*Lrder="0" color="33554432" x="7918" y="8" height="64" width="498" html.valueishtml="0" name=fall_throughput_pct_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Annual Avg Days Per Week" border="0" color="33554432" x="8425" y="8" height="64" width="736" html.valueishtml="0" name=annual_avg_days_per_week_t visible="1" font.face="Arial" font.DAT*Nheight="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Annual Avg Weeks Per Year" border="0" color="33554432" x="9170" y="8" height="64" width="754" html.valueishtml="0" name=annual_avg_weeks_per_year_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=headerDAT*P alignment="2" text="Annual Avg Hours Per Day" border="0" color="33554432" x="9934" y="8" height="64" width="713" html.valueishtml="0" name=annual_avg_hours_per_day_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Annual Avg Hours Per Year" border="0" color="33554432" x="10656" y="8" height="64" width="731" html.valueishtml="0" name=annual_DAT*Ravg_hours_per_year_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Heat Content" border="0" color="33554432" x="11397" y="8" height="64" width="343" html.valueishtml="0" name=heat_content_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.colorDAT*T="536870912" ) text(band=header alignment="2" text="Sulfur Content" border="0" color="33554432" x="11749" y="8" height="64" width="370" html.valueishtml="0" name=sulfur_content_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Ash Content" border="0" color="33554432" x="12128" y="8" height="64" width="325" html.valueishtml="0" name=ash_contDAT*Vent_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Process Mact Compliance Status" border="0" color="33554432" x="12462" y="8" height="64" width="905" html.valueishtml="0" name=process_mact_compliance_status_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.modeDAT*X="1" background.color="536870912" ) text(band=header alignment="2" text="Submittal Flag" border="0" color="33554432" x="13376" y="8" height="64" width="366" html.valueishtml="0" name=submittal_flag_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) text(band=header alignment="2" text="Tribal Code" border="0" color="33554432" x="13751" y="8" height="64" width="288" html.valueishtDAT*Zml="0" name=tribal_code_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=1 alignment="0" tabsequence=10 border="0" color="33554432" x="9" y="8" height="76" width="311" format="[general]" html.valueishtml="0" name=record_type visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="ArDAT*\ial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=2 alignment="0" tabsequence=20 border="0" color="33554432" x="329" y="8" height="76" width="718" format="[general]" html.valueishtml="0" name=state_fips_and_county_fips visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="DAT*^400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=3 alignment="0" tabsequence=30 border="0" color="33554432" x="1056" y="8" height="76" width="585" format="[general]" html.valueishtml="0" name=state_facility_identifier visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2"DAT*` font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=4 alignment="0" tabsequence=40 border="0" color="33554432" x="1650" y="8" height="76" width="443" format="[general]" html.valueishtml="0" name=emission_unit_id visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" backgroDAT*bund.color="536870912" ) column(band=detail id=5 alignment="0" tabsequence=50 border="0" color="33554432" x="2103" y="8" height="76" width="699" format="[general]" html.valueishtml="0" name=emission_release_point_id visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(bandDAT*d=detail id=6 alignment="0" tabsequence=60 border="0" color="33554432" x="2811" y="8" height="76" width="288" format="[general]" html.valueishtml="0" name=process_id visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=7 alignment="0" tabsequence=70 border="0DAT*f" color="33554432" x="3109" y="8" height="76" width="274" format="[general]" html.valueishtml="0" name=scc visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=8 alignment="0" tabsequence=80 border="0" color="33554432" x="3392" y="8" height="76" width="535" DAT*hformat="[general]" html.valueishtml="0" name=process_mact_code visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=9 alignment="0" tabsequence=90 border="0" color="33554432" x="3936" y="8" height="76" width="2139" format="[general]" html.valueishtml="0" naDAT*jme=emission_process_description visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=10 alignment="0" tabsequence=100 border="0" color="33554432" x="6085" y="8" height="76" width="581" format="[general]" html.valueishtml="0" name=winter_throughput_pct tag="DAT*ldecimal(0)" visible="1" edit.limit=3 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=11 alignment="0" tabsequence=110 border="0" color="33554432" x="6674" y="8" height="76" width="585" format="[general]" html.valueishtml="0" name=spring_throughput_pct tag="decimal(0)" visible=DAT*n"1" edit.limit=3 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=12 alignment="0" tabsequence=120 border="0" color="33554432" x="7269" y="8" height="76" width="640" format="[general]" html.valueishtml="0" name=summer_throughput_pct tag="decimal(0)" visible="1" edit.limit=3 ediDAT*pt.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=13 alignment="0" tabsequence=130 border="0" color="33554432" x="7918" y="8" height="76" width="498" format="[general]" html.valueishtml="0" name=fall_throughput_pct tag="decimal(0)" visible="1" edit.limit=3 edit.case=any edit.focusrDAT*rectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=14 alignment="0" tabsequence=140 border="0" color="33554432" x="8425" y="8" height="76" width="736" format="[general]" html.valueishtml="0" name=annual_avg_days_per_week tag="number" visible="1" edit.limit=1 edit.case=any edit.focusrectangle=no edit.autoDAT*tselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=15 alignment="0" tabsequence=150 border="0" color="33554432" x="9170" y="8" height="76" width="754" format="[general]" html.valueishtml="0" name=annual_avg_weeks_per_year tag="number" visible="1" edit.limit=2 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autoDAT*vhscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=16 alignment="0" tabsequence=160 border="0" color="33554432" x="9934" y="8" height="76" width="713" format="[general]" html.valueishtml="0" name=annual_avg_hours_per_day tag="number" visible="1" edit.limit=2 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemDAT*xode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=17 alignment="0" tabsequence=170 border="0" color="33554432" x="10656" y="8" height="76" width="731" format="[general]" html.valueishtml="0" name=annual_avg_hours_per_year tag="number" visible="1" edit.limit=4 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="ADAT*zrial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=18 alignment="0" tabsequence=180 border="0" color="33554432" x="11397" y="8" height="76" width="343" format="[general]" html.valueishtml="0" name=heat_content tag="decimal(0)" visible="1" edit.limit=8 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" fontDAT*|.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=19 alignment="0" tabsequence=190 border="0" color="33554432" x="11749" y="8" height="76" width="370" format="[general]" html.valueishtml="0" name=sulfur_content tag="decimal(0)" visible="1" edit.limit=5 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.familyDAT*~="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=20 alignment="0" tabsequence=200 border="0" color="33554432" x="12128" y="8" height="76" width="325" format="[general]" html.valueishtml="0" name=ash_content visible="1" edit.limit=5 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" backgroundDAT*.mode="1" background.color="536870912" ) column(band=detail id=21 alignment="0" tabsequence=210 border="0" color="33554432" x="12462" y="8" height="76" width="905" format="[general]" html.valueishtml="0" name=process_mact_compliance_status visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="DAT*536870912" ) column(band=detail id=22 alignment="0" tabsequence=220 border="0" color="33554432" x="13376" y="8" height="76" width="366" format="[general]" html.valueishtml="0" name=submittal_flag visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=23 alignDAT*dment="0" tabsequence=230 border="0" color="33554432" x="13751" y="8" height="76" width="288" format="[general]" html.valueishtml="0" name=tribal_code visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) htmltable(border="1" ) htmlgen(clientevents="1" clientvalidation="1" clientcDAT*PDW0800Ipdw+````@6 F$.Inn``DAT*9: @P `$DAT* "record_type_t$1<  $ 0%  ArialArial$2$-10$400$ 536870912$ 33DAT*554432$ 9$8$@64$D7311% ! Record Type Record Type"#0`/% &(*-state_fips_and_county_fips_t$'HI329$)718%+,StateDAT* Fips And County FipsState Fips And County Fips".0`:$0 1358state_facility_identifier_t$2 1056$4I585%67State Facility IdentifierState Facility Identifier"90`E/; <>@DAT*Cemission_unit_id_t$=ir1650$?a443%ABEmission Unit IdEmission Unit Id"D0`P:F GIKNemission_release_point_id_t$H72103$J699%LMEmission Release Point IdEmission ReDAT*lease Point Id"O0`[EQ RTVY process_id_t$Sg 2811$U? 288%WX Process Id Process Id"Z0`fP\ ]_adscc_t$^% 3109$`DAT*<274%bcSccScc"e0`q[g hjloprocess_mact_code_t$i@ 3392$ku535%mnProcess Mact CodeProcess Mact Code"p0`|fr suwzDAT*emission_process_description_t$t]`3936$v[2139%xyEmission Process DescriptionEmission Process Description"{0`q} ~winter_throughput_pct_t$36085$E581%Winter Throughput PctDAT*Winter Throughput Pct"0`| spring_throughput_pct_t$6674$I585%Spring Throughput PctSpring Throughput Pct"0` summer_throughput_pct_DAT*t$6e7269$640%Summer Throughput PctSummer Throughput Pct"0` fall_throughput_pct_t$7918$m498%Fall Throughput PctFall Throughput Pct"DAT*0` annual_avg_days_per_week_t$3 8425$736%Annual Avg Days Per WeekAnnual Avg Days Per Week"0` annual_avg_weeks_per_year_t$#91DAT*70$754%Annual Avg Weeks Per YearAnnual Avg Weeks Per Year"0` annual_avg_hours_per_day_t$}&9934$713%Annual Avg Hours Per DayAnnual Avg Hours Per Day"0`DAT* annual_avg_hours_per_year_t$ )10656$731%Annual Avg Hours Per YearAnnual Avg Hours Per Year"0` heat_content_t$ ,11397$KDAT*W343% Heat Content Heat Content"0` sulfur_content_t$ -11749$Qr370%Sulfur ContentSulfur Content"0` DAT*ash_content_t$] `/12128$GE325% Ash Content Ash Content"0` !process_mact_compliance_status_t$ 012462$905%Process Mact Compliance StatusProcess Mact CompliDAT*ance Status"0`   submittal_flag_t$n @413376$Pn366%Submittal FlagSubmittal Flag" 0`   tribal_code_t$ 513751DAT*$? 288% Tribal Code Tribal Code"0@@\&  ($# record_type$ 9$L76$DAT*D7311&!" [general] [general]"%0/'(* (-,state_fips_and_county_fips$)HI329$+718".08&013DAT* (65state_facility_identifier$2 1056$4I585"70A/9:< ((?>emission_unit_id$;ir1650$=a443"@0J8DAT*BCE 2(HGemission_release_point_id$D72103$F699"I0SAKLN <(QP process_id$Mg 2811$O? DAT*288"R0\JTUW F(ZYscc$V% 3109$X<274"[0eS]^` P(cbprocess_mact_code$_@ DAT*3392$au535"d0n\fgi  Z(lkemission_process_description$h]`3936$j[2139"m0zeopsu  d(xDAT*wwinter_throughput_pct%qr decimal(0) decimal(0)$t36085$vE581"y0n{p|~  n(spring_throughput_pct$}6674$I585"DAT*0zp  x(summer_throughput_pct$6e7269$640"0p  (fall_throughput_pct$7918DAT*$m498"0 (annual_avg_days_per_week%numbernumber$3 8425$736"0 DAT*(annual_avg_weeks_per_year$#9170$754"0 (annual_avg_hours_per_day$}&9934$713"0DAT* (annual_avg_hours_per_year$ )10656$731"0p ( heat_content$ ,11397$KWDAT*343"0p (sulfur_content$ -11749$Qr370"0 ( ash_content$DAT*] `/12128$GE325"0 (process_mact_compliance_status$ 012462$905"0 (DAT*submittal_flag$n @413376$Pn366"0 ( tribal_code$ 513751$? 288"0@DAT*&/DAT*8AJS  \  e   On zDAT*    #!"&$%)'( ,DAT**+/-.201534867 record_type record_typestate_fips_and_county_fipsstate_fips_and_county_fips&state_facility_identifierstate_facility_idenDAT*tifier/emission_unit_idemission_unit_id8emission_release_point_idemission_release_point_idA process_id process_idJsccsccSprocess_mact_codeprocess_mact_code\emission_process_descriptionemission_process_descriptionewinter_throughput_pctwinter_throughput_pctnspring_throughput_pctDAT*spring_throughput_pctzsummer_throughput_pctsummer_throughput_pctfall_throughput_pctfall_throughput_pctannual_avg_days_per_weekannual_avg_days_per_weekannual_avg_weeks_per_yearannual_avg_weeks_per_yearannual_avg_hours_per_dayannual_avg_hours_per_dayannual_avg_hours_per_yearannual_avg_hours_per_yearDAT* heat_content heat_contentsulfur_contentsulfur_content ash_content ash_contentprocess_mact_compliance_statusprocess_mact_compliance_statussubmittal_flagsubmittal_flag tribal_code tribal_code\;=?ACEG"1"@1"B1"D0"F0"H0DAT*eedfields="1" clientformatting="0" clientscriptable="0" generatejavascript="1" netscapelayers="0" ) DAT*1"1"1"0"0"0DAT*T font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) htmltable(border="1" ) htmlgen(clientevents="1" clientvalidation="1" clientcomputedfields="1" clientformatting="0" clientscriptable="0" generatejavascript="1" netscapelayers="0" ) DAT*"400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=32 alignment="0" tabsequence=320 border="0" color="33554432" x="14706" y="8" height="76" width="366" format="[general]" html.valueishtml="0" name=submittal_flag visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.cDAT*harset="0" background.mode="1" background.color="536870912" ) column(band=detail id=33 alignment="0" tabsequence=330 border="0" color="33554432" x="15081" y="8" height="76" width="288" format="[general]" html.valueishtml="0" name=tribal_code visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.colorDAT*="536870912" ) htmltable(border="1" ) htmlgen(clientevents="1" clientvalidation="1" clientcomputedfields="1" clientformatting="0" clientscriptable="0" generatejavascript="1" netscapelayers="0" ) DAT*j control_statuscontrol_statusemission_data_levelemission_data_levelsubmittal_flagsubmittal_flag tribal_code tribal_code\')+-/13"(1"*1",1".1"0DAT*NEI Transmittal Record User Input Screenrelease 8; datawindow(units=0 timer_interval=0 color=80269524 processing=0 HTMLDW=no print.documentname="" print.orientation = 0 print.margin.left = 110 print.margin.right = 110 print.margin.top = 96 print.margin.bottom = 96 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no ) summary(height=0 color="536870912" ) footer(height=0 color="536870912" ) detail(height=1912 color="536870912" ) table(column=(tyDAT*pe=char(2) updatewhereclause=no name=record_type dbname="record_type" ) column=(type=char(2) updatewhereclause=no name=state_fips dbname="state_fips" ) column=(type=char(3) updatewhereclause=no name=county_fips dbname="county_fips" ) column=(type=char(80) updatewhereclause=no name=organization_name dbname="organization_name" ) column=(type=char(2) updatewhereclause=no name=transaction_type dbname="transaction_type" values="Original (00) 00/Replace (05) 05/" ) column=(type=char(4) updatewDAT*hereclause=no name=inventory_year dbname="inventory_year" ) column=(type=char(8) updatewhereclause=no name=blank_1 dbname="blank_1" ) column=(type=char(10) updatewhereclause=no name=inventory_type_code dbname="inventory_type_code" values="Criteria pollutant inventory (CRIT) CRIT/HAP inventory (HAP) HAP/Combined Criteria and HAP inventory (CRITHAP) CRITHAP/" ) column=(type=char(4) updatewhereclause=no name=blank_2 dbname="blank_2" ) column=(type=char(4) updatewhereclause=no name=blank_3 dbnDAT*ame="blank_3" ) column=(type=char(8) updatewhereclause=no name=transaction_creation_date dbname="transaction_creation_date" ) column=(type=long updatewhereclause=no name=incremental_submission_number dbname="incremental_submission_number" ) column=(type=char(5) updatewhereclause=no name=reliability_indicator dbname="reliability_indicator" ) column=(type=char(80) updatewhereclause=no name=transaction_comments dbname="transaction_comments" ) column=(type=char(70) updatewhereclause=no name=DAT*, contact_person_name dbname="contact_person_name" ) column=(type=char(15) updatewhereclause=no name=contact_phone_number dbname="contact_phone_number" ) column=(type=char(10) updatewhereclause=no name=contact_phone_number_type dbname="contact_phone_number_type" values="Fax Fax/Home Home/Mobile Mobile/Office Office/Pager Pager/" ) column=(type=char(100) updatewhereclause=no name=electronic_address dbname="electronic_address" ) column=(type=char(10) updatewhereclause=no name=electronic_addresDAT* ^ b( release_height_fugitive$ };"8763$ R594"0Y^b(fugitive_dimensions_unit$$9367$640"DAT*0"Y^b(  emission_release_pt_description$ '10016$2194"!0+#Y$^&b()(submittal_flag$%q /DAT*12219$'Pn366"*04",Y-^/b(21"horizontal_collection_method_code$. 2112594$0928"30=+5Y6^8b(;DAT*:horizontal_accuracy_measure$7 413531$9791"<0F4>Y?^Ab(DC horizontal_reference_datum_code$@? 714331$Bw887"E0O=GYDAT*H^Jb(MLreference_point_code$I {;15227$K{2562"N0XFPYQ^Sb(VUsource_map_scale_number$R =15799$TDAT*727"W0aOYYZ^\b(_^coordinate_data_source_code$[!@16535$]791"`0XbYc^eb"(hg tribal_code$dDAT*C17335$f? 288"i0@DAT*nZlmqhoptqrswzuvzxy}{|~ DAT*        DAT*    Q"+4DAT*=FO Xa record_type record_typeZstate_fips_and_county_fipsstate_fips_and_county_fipshstateDAT*_facility_identifierstate_facility_identifierqspace_1space_1zemission_release_point_idemission_release_point_idemission_release_point_typeemission_release_point_typespace_2space_2 stack_height stack_heightstack_diameterstack_diameterstack_fenceline_distancestack_fenceline_distanceDAT*exit_gas_temperatureexit_gas_temperatureexit_gas_velocityexit_gas_velocityexit_gas_flow_rateexit_gas_flow_rate x_coordinate x_coordinate y_coordinate y_coordinate utm_zone utm_zonexy_coordinate_typexy_coordinate_typehorizontal_area_fugitivehorizontal_area_fugitiveDAT*release_height_fugitiverelease_height_fugitivefugitive_dimensions_unitfugitive_dimensions_unit emission_release_pt_description emission_release_pt_descriptionsubmittal_flagsubmittal_flag""horizontal_collection_method_code"horizontal_collection_method_code+horizontal_accuracy_measurehorizontal_accuracy_measure4 horizonDAT*tal_reference_datum_code horizontal_reference_datum_code=reference_point_codereference_point_codeFsource_map_scale_numbersource_map_scale_numberOcoordinate_data_source_codecoordinate_data_source_codeX tribal_code tribal_codea\"DAT*1"1"1"1"0"0"0DAT* p@ȦdAbAAp@p@p@@@\@\@([@[@4c@c@AU@U@R`@`@\j@j@jk@k@vl@l@!m@m@@@Q@@a@@Q@@A^@^@1@@@@@@(@@3n@B@@N@@Wo@o@{n@@@@@A@@@@@S@S@@@/g@PX@X@Qg@p@@n@n@`g@pP@@`\@DAT*@e0g@wa@@@@@ |`@`@a@y q@q@ r` a@v ~ v@v@~ IDt d@d@q o@ @@a p@ x F@F@ lp@ z te s o@  w_exportwindowmenuwindowtypewindowstatewindowobjecttoolbaralignmentstructuremailrecipientenvironmentmailfiledescriptionmailmessagedatawindowchildlistviewitemtreeviewiteDAT*mconnectioninfopowerobject icommandbuttonfontcharsetfontpitchfontfamilyu_dw_unit_codeborderstyledwobjectdatastored_units_dddw_on_qccheckeru_dw_reference_coded_reference_codesstatictextalignmentfillpatternsinglelineedittextcasemultilineedituu_pollutantuserobjects u_emis_periodDAT* dropdownlistbox datawindowuo_export bradiobuttongroupboxu_class_ss_clientu_class_source_group WcheckboxlistboxД WRAPIDS DATA EXPORTNEW_EXP.ICOl ДRAPIDS - Data TablesEXPORTstr_type_ridNIF2str_populate_level_ridsn_csDAT*t_nei_export Do D MS Sans SerifShow NEI Log...CancelNEI Export Info...Clear FilterWhere:t Filter...  U tOFile System to Export:RAPIDSRAPIDS - RDAT*eference TablesRAPIDS - GLNPO TablesRAPIDS - GIS ExportRAPIDS - NEI Export (NIF 2.0)RAPIDS - NEI Export (NIF 3.0)re i` i`Exporting Status:Source ID prefix:d_exportlist k0PromptOverwriteAppendExitExportFiles to Export:Select...File Name:Directory:Remove AllAdd AllSelect EDAT*xport Directory and File +Remove state && county codes from the Facility IDPN +NEI Export Logd_ds_log_filetransactionsqlcaSELECT geographic_incorp_rid FROM rap_sources WHERE rid =0 and geographic_county_rid =0 9:VW aA$ aAn_cst_conversion_basegs_filtmessagedragobDAT*jectn_ds_conversion_basefileaccessw_nei_transmittal_user_inputpointerw_export_filtergs_inifileu_ds_basef_populate_levels(Px(80(Pp 4   $ ( 2 w_export D(3 levelfilenamewf_setexportlistuof_initializeag_fiDAT*letypewf_rpt_levelwf_get_city_ridps_instringps_filetypewf_parsenamewparamlparam+setlist+closequery+create+destroy+open+close+clickedindex+selectionchanged+modified+constructor+ue_groupupdatedsizetypenewwidthnewheight+resize8 IISIde7QSBfo`lSSRSnab LULLQLIt !LUII(<\|DAT* xA _initsrcwindoww_exportmenuwindowtypewindowstatewindowobjecttoolbaralignmentstructuremailrecipientenvironmentmailfiledescriptionmailmessagedatawindowchildlistviewitemtreeviewitemconnectioninfopowerobjectcommandbuttoncb_show_nei_logfontcharsetfontpitchfontfamilycb_cancelcb_nei_parmsu_dw_unit_codedw_unit_codeborderstyledwobjectdatastoreu_dw_reference_codedw_ref_codecb_clear_filterstatictextst_wherealignmentfillpatternsinglelineeditsle_filtDAT* er_tabletextcasemultilineeditmle_filtercb_filteru_pollutantuo_pollutantuserobjectsu_pollutant`dw_material_groupu_pollutant`cb_remove_allu_pollutant`cb_add_allu_pollutant`st_2u_pollutant`dw_materialu_pollutant`st_1u_pollutant`gb_1u_emis_perioduo_emis_periodu_emis_period`st_3u_emis_period`st_2u_emis_period`em_endu_emis_period`em_startu_emis_period`st_1u_emis_period`ddlb_intervalu_emis_period`gb_1st_7dropdownlistboxddlb_file_systemst_4sle_export_statusst_source_id_prefix_DAT*"textsle_source_id_prefixdatawindowdw_listuo_exportuo_mainuo_export`dw_exprecsuo_export`dw_explistst_numselectedradiobuttonrb_promptrb_overrb_appendcb_exitcb_exportst_3cb_selectst_2sle_namest_1sle_dircb_removecb_addgroupboxgb_1u_class_ss_clientuo_ssu_class_ss_client`cb_debugu_class_ss_client`pb_printu_class_ss_client`st_data_levelu_class_ss_client`st_4u_class_ss_client`st_result_countu_class_ss_client`st_3u_class_ss_client`st_filter_countu_class_ss_client`st_sourceDAT*$_countu_class_ss_client`st_2u_class_ss_client`st_1u_class_ss_client`cb_source_selectoru_class_source_groupcheckboxcbx_fac_idlistboxlb_exportlistdw_log_filestr_type_ridstr_populate_level_ridsn_cst_nei_exporttransactionn_cst_conversion_basemessagedragobjectn_ds_conversion_basefileaccessw_nei_transmittal_user_inputpointerw_export_filteru_ds_base @!@&@1@=DAT*&@J@[@e@s @ @ @  @l @ @@ @@ d@ @@4##ntphon-:@!IV@b@!k@u<@!DAT*(o@o@8@!a!o@o@@Pagesa@ragopo@ody o@= @ AQ@viA p@f  v@ @@' o@4!@@ ^secoxeaoces$0"@99 DAT**8,2%z'I$\0xl9#@@L8z% !&)$@" %@#@$H0% E&T&@<`'cl`cb_j(%r)<|*falis+'DAT*,%,-pu_lp./0v12<3'%@4(nc@@56 7@%8E9:\:~;<=1> ?4@ ,)@dA*@ DAT*.JAU+@ ]B(kC w-@.@ /@0@ 2@$4@ 6@L7@ 8@t9@ ;@'<@ 7?@  "DAT*0&)*, .+ /+ 0+ 1+ 2+ 3+ 4 +6 75 85 95 :5 ;5 <5 =!5>@ABCDFH IG JGKMDAT*2NOPQRSTUVWXY[] ^\ _\ `\ a\ b\ c\ d\ e \ f!\ g"\ h#\kmn |\  u*-DAT*4--{- (z%-!. %;-##(@2((-+5* +!52' (!!. ?G7%%!. %;-##!DAT*6. %;-##Ey%G;0 #!!. L-L-L---!. -!. %;-##!. %;-##DAT*8--Z%\4( 1!j-lB2##Ey%  $1<d levelfilename(  j4$D$\l$t$61DAT*:* Td |0 is_prefix_sle_source_id_prefix;Dtext<is_directoryLRsle_dirdIW< 4 D \ l t 8B 8(080t<8(08DP8X08_p8x08} 80DAT*<8<8X08n8088088088086$8x08h,8084H808P\808dt80DAT*>8|0808b808808808808*808\(8080H808Ph808p80DAT*@8$808(V8(088(088(088(088(08P$8(08,88(08@L808Td808DAT*Blx808J808|808808808808D808v808$808,<808DDAT*D L808T> d808lp 808 808 808 8088 808j 808 808  808 DAT*F ,80842 @808Hd T808\ l808t 808 808, 808^ 808 808 808DAT*H 808& 08088X D808L \808d l808t 808 808R808808808DAT*J808808 L808 ~4808<H808Pd808l808F808x808808DAT*L808808@808r80808088L808Tp808x:808l808808DAT*N808808 4 808 f0 8088 H 8X08P h 808p  808 . 8x08 ` 8x08  808 DAT*P 8X08  808( (8 808@ ZL 808T ` 808h t 808|  808 " 808 T 808  808 08 DAT*Rz%@8$>V p 8Pj2Jd| !"#$%,&D'^(v)*+,-. /&0>1X2p3456789 :8;R<j=>?@ABCD2ELFdG~HIJKLMN,OFP^QxRSTUVWX&Y@ZX[r\]^_`a b c: dR el f g h i j k l m4 nL of p~ q r s t u v w. xF yDAT*T` zx { | } ~   ( @ Z r  " : T l 4Nf.H`z(BZt "<Tn6Nh0Hbz*B\t $<Vn6Phd ag_filetypecase3DAT*V(    GEMAP_ARis_rpt_levele_nPROCESSGEMAP_PTDnGEOGRAPHICdnCOUNTYGEO_GROUP_MEMBERnCITYREF_CODEnNONEGEOGRAPHIC_ACTnLEGAL_ENTITYnSOURCELEGAL_CONTACTnLEGAL_CONTACT_REASONnLEGAL_ACTnREGULATIONnnSOURCE_GROUP_MEMBERnSOURCE_ACTnSRC_LEG_ENT_RELnSOURCE_CONTACTnSOURCE_CONTACT_REASONnSOURCE_LOCATIONDAT*X_GROUPnSOURCE_LOCATION_COORDnDEVICEnDEVICE_ACTnDEVICE_CONTACTnDEVICE_CONTACT_REASONnDEVICE_LOCATION_GROUP,nDEVICE_LOCATION_COORDnDEVICE_GROUP_MEMBERnnPROCESS_ACTnPROCESS_SCHEDULEnPROCESS_GROUP_MEMBERnEMISSION_FACTORnSTREAMnSTREAM_ACTnCONNECTIONnACCURACY_METHODnCAL_METHODnCOORD_CAL_TYPEnDATA_CODE$nGEO_TYPEDAT*ZnLEGAL_ENTITY_TYPEnLEGAL_REL_CODEnMATERIALnMEASUREMENTnMETHODnMETRIC_LEVELnMODE0nOPER_DAILY_SCHDnOPER_WEEKLY_SCHD0nOPER_YEARLY_SCHDnREASONnREFERENCE_TYPEnSIC_CODEhnNAICS_CODEnSIC_NAICS_CODEnTIER_CODEnVALUE_TYPEnSOURCE_CODEnDEVICE_CODEnPROCESS_CODEnSTREAM_CODEnUNIT8nSCC_AMS_CODEnDAT*\GENER_SPEC_PROFILEnGENER_EMIS_FACTORdenGEO_MEMBERnMATERIAL_GRP_MEMBERnCONVERSION_LOOKUP_CODESnGROUP_TYPEnMATERIAL_ALIASnMETRICnMETRIC_LOOKUP(nUSE_TYPEnMETRIC_MAPnCAL_PROTOCOLnMETHOD_METRICnOPER_DAY0nOPER_HOURnOPER_MONTHnSCC_AMS_MATERIALnSCC_AMS_RELnSCC_AMS_SPEC_CODE8nSPEC_SPLIT_FACTOR$nFORM_TYPEnFORMDAT*^nAPPLICATIONnDOCUMENTnDOC_LOOKUPnACT_DOC_LOOKUPnAIRCRAFT_CATEGORIESnAIRCRAFT_DEF_TIMnAIRCRAFT_ENGINESnAIRCRAFT_EMISSION_FACTORSnVEHICLE_TYPESnAREA_FACILITY_TYPESnSEASON_CODESnVEHICLE_CATEGORIESnSCC_AMS_SURROGATE_CODESnSCC_AMS_DEFAULT_FACTORSnSURROGATE_CODESnGEO_SURROGATESnGEO_EQUIPMENT_COUNTSnGEO_SEASONAL_ADJUSTMENTnGEO_LOCATIODAT*`N_GROUPSnGEO_LOCATION_COORDINATES0nGEO_EMISSION_FACTORS nSEASONAL_ADJ_FACTORS8nGIS_FACILITYnGIS_EMISSIONSnNEI_POINTnNEI_AREAnNEI_ONROADnNEI_NONROADnEMISSION_TYPESnROADWAY_TYPESnAREA_FACILITY_ROAD_TYPESnErrorInvalid file type: < P p       $ , H \ t    DAT*b   ( H h        $ 8 L d x        $ < L d         , @ T l        0 D \ l         4 H d DAT*d        0 L p       0 H h       8 L ` t      ,$@$H$\$,1( ,1d$1d8l08r8z%$$(@(8z(:)@:@@89,1$DAT*f18$$(@(8z',1$(@(88z&,1$z&:)@:@@899 "8F ` |d sqlca1@rh il_city_rid\istr_all_ridsOCopsource_rid4opcounty_ridNPERROR CITY record not found for rid=op4SQL ERROR for rid=op4  dDAT*h  , @ H \ d        d8@8}1<1<R@81<Yo@o88 @8Y1R@88 0668P80P8z8"0P8+DAT*j800P8;8@0P8Q8V0P8c"8h0P8vL8{0P8v80P880P880P880P880P8H80P8r80P8DAT*l8 0P880P8#8(0P8<8A0P8ID8N0P8Zn8_0P8p8u0P880P880P880P8@80P8j80P8DAT*n80P880P880P8)8.0P8D<8I0P8Xf8]0P8s8x0P880P880P880P8880P8b80PDAT*p880P880P880P8* 8/0P8848=0P8I^8N0P8U8Z0P8g8l0P8q8v0P8 80P80 80P8Z 80DAT*rP8 80P8 80P8 80P8 80P8, 8 0P8V 80P8# 8(0P84 890P8E 8J0P8W 8\0P8h( 8m0P8rR 8w0DAT*tP8| 80P8 80P8 80P8 80P8$ 80P8N 80P8x 80P8  80P8 8$0P8- 820P8= 8B0P8OJ 8T0DAT*vP8bt 8g0P8p 8u0P8 80P8 80P880P8F80P8p80P880P880P880P880P8+B800DAT*xP89l8>0P8I8N0P8]8b0P8v8{0P880P8>80P8h80P880P880P880P880P81:860DAT*zP8Nd8S0P8k8p0P880P880P8 80P8680P8`80P880P8 80P8'8,0P8A8F0P8U28ZDAT*|0P8h\8m0P8 >6880:880:880:8(80:80P806 (<r&: L!d#v$&')*,- /062H3`5r689;<>?AB2DDE\GnHJKLMOPRDAT*~S.T@UXVjWYZ\]_`bc*e<fThfi~klnoqrtu&w8xPzb{z}~ "4L^v0HZr  , D V n  ( @ R j |  $ < N f x  8 J b t  4 F ^ p    0 B Z DAT*l,>Vh !#$&')*(,:-R/d0|235689; <$>6?NA`BxDEGHJKMN P2QJR\StTUVWXYZ[\.]FaXbpcdefghijk$l(o:p>sPd` ps_instringps_filetypell_posls_filenamels_extensionls_descriptioncase27case354   ' 3DAT* @ O W  .none.arGEMAP_AR.ptGEMAP_PT.geoGEOGRAPHIC.ggmGEO_GROUP_MEMBER.legLEGAL_ENTITY.cnlLEGAL_CONTACT.lcrLEGAL_CONTACT_REASON.aclLEGAL_ACT.regREGULATION.srcSOURCE.sgmSOURCE_GROUP_MEMBER.codREF_CODE.acsSOURCE_ACT.slrSRC_LEG_ENT_REL.devDEVICE.acdDEVICE_ACT.dgmDEVICE_GROUP_MEMBER.proPROCESS.acpPROCESS_ACT.prsPROCESS_SCHEDULE.pgmPROCESS_GROUP_MEMBER.strSTREAM.actSTREAM_ACT.acDAT*gGEOGRAPHIC_ACT.ctnCONNECTION.emfEMISSION_FACTOR.cnsSOURCE_CONTACT.scrSOURCE_CONTACT_REASON.slgSOURCE_LOCATION_GROUP.slcSOURCE_LOCATION_COORD.cndDEVICE_CONTACT.dcrDEVICE_CONTACT_REASON.dlgDEVICE_LOCATION_GROUP.dlcDEVICE_LOCATION_COORD.ramACCURACY_METHOD.rcmCAL_METHOD.rctCOORD_CAL_TYPE.rdcDATA_CODE.rgeGEO_TYPE.rltLEGAL_ENTITY_TYPE.rlcLEGAL_REL_CODE.rmtMATERIAL.rmsMEASUREMENT.rmhMETHOD.rmlMETRIC_LEVEL.rmoMODE.rdsOPER_DAILY_SCHD.rwsOPER_WEEKLY_SCHD.ryDAT*sOPER_YEARLY_SCHD.rrsREASON.rftREFERENCE_TYPE.rsiSIC_CODE.rnaNAICS_CODE.rsnSIC_NAICS_CODE.rtcTIER_CODE.rvtVALUE_TYPE.rsoSOURCE_CODE.rdeDEVICE_CODE.rprPROCESS_CODE.rstSTREAM_CODE.runUNIT.rsaSCC_AMS_CODE.rspGENER_SPEC_PROFILE.refGENER_EMIS_FACTOR.rgmGEO_MEMBER.rmgMATERIAL_GRP_MEMBER.rgtGROUP_TYPE.rmaMATERIAL_ALIAS.rmeMETRIC.rlkMETRIC_LOOKUP.rutUSE_TYPE.rmpMETRIC_MAP.rcpCAL_PROTOCOL.rmmMETHOD_METRIC.rodOPER_DAY.rohOPER_HOUR.romOPER_MONTH.rsmSDAT*CC_AMS_MATERIAL.rsrSCC_AMS_REL.rscSCC_AMS_SPEC_CODE.rsfSPEC_SPLIT_FACTOR.rfoFORM_TYPE.rclCONVERSION_LOOKUP_CODES.frmFORM.appAPPLICATION.docDOCUMENT.dluDOC_LOOKUP.alkACT_DOC_LOOKUP.racAIRCRAFT_CATEGORIES.rtiAIRCRAFT_DEF_TIM.raeAIRCRAFT_ENGINES.rafAIRCRAFT_EMISSION_FACTORS.rveVEHICLE_TYPES.ratAREA_FACILITY_TYPES.rseSEASON_CODES.rvcVEHICLE_CATEGORIES.vsfSEASONAL_ADJ_FACTORS.rdfSCC_AMS_DEFAULT_FACTORS.rsgSCC_AMS_SURROGATE_CODES.rsuSURROGATE_CODES.gsuGEO_SUDAT*RROGATES.geqGEO_EQUIPMENT_COUNTS.gafGEO_SEASONAL_ADJUSTMENT.gsfGIS_FACILITY.gseGIS_EMISSIONS.glgGEO_LOCATION_GROUPS.glcGEO_LOCATION_COORDINATES.gefGEO_EMISSION_FACTORS.retEMISSION_TYPES.rrtROADWAY_TYPES.rarAREA_FACILITY_ROAD_TYPESNEI Point SourcesNEI_POINTNEI Area SourcesNEI_AREANEI Onroad SourcesNEI_ONROADNEI Nonroad SourcesNEI_NONROADINVALID_EXTENSION$),8*18408E0:)@:@@81<3DAT*@811,51,5l$* l d gs_filt::message(3@5@tt inv_neiexportEMpqof_getrun.& Exit Data ExportAre you sure you want to exit export? , l L()* 4*<T*\t*|**DAT*** *(*0H*Ph*p**** *4*<L*Td*l****** *(<*DT*\DAT*p*x******  *(@*H\*dt|$$$$$$$$$$$$$$$$$$ $$$$$DAT*,$4$<$D$L$T$\$d$l$t$|$$$$$$$ '|,BXn 4J`v&<Rh~ !"#$%&'.(D)Zd  cb_show_nei_log*cb_cancel(+(cb_nei_parms.leDDAT*,Ddw_unit_coded-ddw_ref_code.cb_clear_filter/ st_whereC0""sle_filter_tableٺ1&&mle_filterb2))cb_filter c3**uo_pollutant84,8,uo_emis_periodX56X6st_7x6>x>ddlb_file_systemsta7@@st_4aa8AAsle_export_statusst9BBst_source_id_prefix_textrib:CCsle_source_id_prefixons;DDdw_listDDAT*<FDFuo_main\=H\Hst_numselectedt>KtKrb_prompt<?MMrb_over@NNrb_appendAOOcb_exitBPPcb_exportCQQst_3DRRcb_select0ES0Sst_2LFTLTsle_namedGUdUst_13HVVsle_dirIWWcb_removeJXXcb_addKYYgb_1L[[uo_ssM]]cbx_fac_idNkklb_exportlist0DAT*Om0mdw_log_filePPnPncontrollc@*(+D,d-./ 0"1&2)3*84,X56x6>7@8A9B:C;DD<F\=Ht>K?M@NAOBPCQDR0ESLFTdGUHVIWJXKYL[M]Nk0OmPPn  4 <T \t |      DAT*( 0H Ph p      4 <L Td l        (< DT \p x         (@ H\ dt |DAT*                      $ , 4 < D L T \ d l t |       ('$,$D$\$p$$$$$$$$ $ddlb_file_system(7@st_4 D8Asle_export_statusT9Bst_source_id_prefix_textp:Csle_source_id_prefix;Ddw_list<FDAT*uo_main=Hst_numselected>Krb_prompt?Mrb_over@Nrb_appendAOcb_exit$BPcb_export4CQst_3HDRcb_selectXESst_2lFTsle_name|GUst_1*HVsle_dirIWcb_removepJXcb_addKYgb_1L[uo_ss$M]cbx_fac_idNklb_exportlistOmdw_log_file Pn , D \ p          < L h  DAT*       , @ P d t          ,  $$9}<$>D$L$#hTjpx$)8$9)8$$$)8 $$}(0$<$}T\$DAT*l$}$$},51,5$0> R h$Jpd ::message5@t cb_export,CQenabledinv_neiexport,pq,pq,pq,pqn_cst_nei_export\q,pqof_setexportwindoww,pqof_setrun_t,pqids_logfile,pqof_registerii_logxqdw_log_filePnxaDAT*_conversion_basemessage20 n_ds_nei_n3_exp_point_control_equipment  aa_record_typeaa_state_fips_and_county_fipsaa_state_facility_identifieraa_emission_unit_idaa_process_idaa_pollutant_codeaa_space_1aa_primary_pct_control_efficiencyaa_pct_capture_efficiencyaa_total_capture_control_efficiencyaa_primary_device_type_codeaa_secondary_device_type_codeaa_space_2aa_control_system_descriptionaa_third_DAT*o@H>n_ds_conDAT* version_basemessage2. n_ds_nei_n3_exp_area_emission_process  aa_record_typeaa_state_and_county_fips_codeaa_sccaa_process_mact_codeaa_emission_process_descriptionaa_sicaa_naicsaa_winter_throughput_pctaa_spring_throughput_pctaa_summer_throughput_pctaa_fall_throughput_pctaa_annual_avg_days_per_weekaa_annual_avg_weeks_per_yearaa_annual_avg_hours_per_dayaa_annual_avg_hours_per_yearaa_heat_contenDAT*o@\W@]A /o@o@H@@Q a@g@@rI@I@}a@^@^@P<o@Qv@v@qQti Y n_ds_nei_n3_exp_area_control_equipmentn_ds_nei_conversion_basedwobjectn_cst_conversion_basefileaccesssaveastypen_cst_nei_exportpowerobject?kh-kh-n_ds_conDAT* version_basemessage2/ n_ds_nei_n3_exp_area_control_equipment O aa_record_typeaa_state_and_county_fips_codeaa_sccaa_pollutant_codeaa_primary_pct_control_efficiencyaa_pct_capture_efficiencyaa_total_capture_control_efficiencyaa_primary_device_type_codeaa_secondary_device_type_codeaa_control_system_descriptionaa_submittal_flagaa_tribal_codeof_addrow+create+destroy+constructor DAT*o@W@]A -o@o@F@@O a@e@@pI@I@{a@^@^@P<o@Qv@v@aQ  Y n_ds_nei_n3_exp_area_emission_periodn_ds_nei_conversion_basedwobjectn_cst_conversion_basefileaccesssaveastypen_cst_nei_exportpowerobject?ro$$n_ds_conDAT* version_basemessage2- n_ds_nei_n3_exp_area_emission_period w aa_record_typeaa_state_and_county_fips_codeaa_sccaa_start_dateaa_end_dateaa_space_1aa_start_timeaa_end_timeaa_actual_throughputaa_throughput_unit_numeratoraa_materialaa_material_ioaa_period_days_per_weekaa_period_weeks_per_periodaa_period_hours_per_dayaa_period_hours_per_periodaa_submittal_flagaa_tribal_codeof_addrow+create+deDAT*o@W@]A &o@o@?@@H a@^@@iI@I@ta@^@^@P4o@Iv@v@If_ iQ n_ds_nei_n3_exp_area_emissionn_ds_nei_conversion_basedwobjectn_cst_conversion_basefileaccesssaveastypen_cst_nei_exportpowerobject?owwn_ds_conversion_DAT* basemessage 2& n_ds_nei_n3_exp_area_emission < aa_record_typeaa_state_and_county_fips_codeaa_sccaa_pollutant_codeaa_space_1aa_start_dateaa_end_dateaa_space_2aa_start_timeaa_end_timeaa_emission_numeric_valueaa_emission_unit_numeratoraa_emission_typeaa_em_reliability_indicatoraa_factor_numeric_valueaa_factor_unit_numeratoraa_factor_unit_denominatoraa_materialaa_material_ioaa_space_3aa_emisDAT*aa_contact_person_nameaa_contact_phone_numberaa_telephone_number_type_nameaa_electronic_address_textaa_electronic_address_type_nameaa_source_typeaa_affiliation_typeaa_format_versionaa_tribal_codeof_addrowof_removeduplicates+create+destroy+constructor+destructor 5J^p %C^~DAT*LAAAAAAAAAAAAAAAAAAALQ x _initsrcn_ds_nei_conversion_basen_ds_nei_n3_exp_transmittaldwobjectn_cst_conversion_basefileaccesssaveastypen_cst_nei_exportpowerobjectn_ds_nei_cache_basen_ds_conversion_basemessage!@ a@*@dF@O@Peo@@:p@v@{@@ @ @  DAT* @ 6"#oooooooooo o o o o ooooo|)8 6\8|d aa_record_typeaa_state_fips_and_county_fipsaa_organization_nameaa_transaction_typeaa_inventory_yearaa_inventory_type_codeaa_transaction_creation_dateaa_incremental_submission_numberaa_reliabiliDAT*estroy+constructor 5Rr,EOaLAAAAAAAAAAAAAAAAAAAAQL x _initsrcn_ds_nei_conversion_basen_ds_nei_n3_exp_sitedwobjectn_cst_conversion_basefileaccesssaveastypen_cst_nei_exportpowerobjectn_ds_conversion_basemessage$DAT*@ a@*@g?@H@^o@@i@v@t@<@  @ @ 5!"oooooooooo o o o o oooooo|)8$;`=d DAT*  aa_record_typeaa_state_fips_and_county_fipsaa_state_facility_identifieraa_facility_registry_identifieraa_facility_categoryaa_oris_facility_codeaa_sic_primaryaa_naics_primaryaa_facility_nameaa_site_descriptionaa_location_addressaa_cityaa_stateaa_zipcodeaa_countryaa_nti_site_idaa_dun_bradstreet_numberaa_tri_idaa_submittal_flagaa_tribal_codell_rcla_data to_b5tuRnvrDAT*roughput_pctaa_summer_throughput_pctaa_fall_throughput_pctaa_annual_avg_days_per_weekaa_annual_avg_weeks_per_yearaa_annual_avg_hours_per_dayaa_annual_avg_hours_per_yearaa_heat_contentaa_sulfur_contentaa_ash_contentaa_process_mact_compliance_statusaa_submittal_flagaa_tribal_codeof_addrowal_row@_aad_throughputsof_getthroughputs@nc ad_monthamountsof_checkmonthamounts@ @>  +create+destroy+constructor(XoDAT* 5Rf/KhLAAAAAAAAAAAAAAAAAAAAAAA4(ILRM[4]dXBM[12]QL8X x  _initsrcn_ds_nei_conversion_basen_ds_nei_n3_exp_point_emission_processdwobjectn_cstDAT*_conversion_basefileaccesssaveastypen_cst_nei_exportpowerobjectn_ds_cache_emission_processn_ds_cache_basen_ds_cache_rap_operating_monthsn_ds_conversion_basemessageq@ a@*@`Q@aZa@arpo@@A{@ma@teoam@  @ @ @ @mily f@ DAT* 7#" o 1 ~B o [i1@8Vo 1 ~ o [i1@8Vo 1 ~ o [i1@8Vo 1 ~ o [i1@8Voooooooooo o o o o ooooooooo|)8!"%DAT*rs_per_periodaa_submittal_flagaa_tribal_codeof_addrow+create+destroy+constructor 5Rft #>VqLAAAAAAAAAAAAAAAAAAAAAQL x _initsrcn_ds_nei_conversion_basen_ds_nei_n3_exp_point_emission_perioddwobjectn_cst_conDAT*version_basefileaccesssaveastypen_cst_nei_exportpowerobjectn_ds_conversion_basemessagepc an@tc *P@xc Y@?o@|c z@@c @j @c  @ 5!"oooooooooo o o o o ooooDAT*: ooo|)8!9d;d aa_record_typeaa_state_fips_and_county_fipsaa_state_facility_identifieraa_emission_unit_idaa_process_idaa_start_dateaa_end_dateaa_space_1aa_start_timeaa_end_timeaa_space_2aa_actual_throughputaa_throughput_unit_numeratoraa_materialaa_material_ioaa_period_days_per_weekaa_period_weeks_per_periodaa_period_hours_per_dayaa_period_hours_per_periodaa_submittal_flagaa_tribal_codelDAT*nit_numeratoraa_factor_unit_denominatoraa_materialaa_material_ioaa_space_3aa_emission_calculation_method_codeaa_ef_reliability_indicatoraa_rule_effectivenessaa_rule_effectiveness_methodaa_space_4aa_hap_emissions_performance_levelaa_control_statusaa_emission_data_levelaa_submittal_flagaa_tribal_codeof_addrow+create+destroy+constructor 5RftDAT*"3Og4?btLAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQL! x _initsrcn_ds_nei_conversion_basen_ds_nei_n3_exp_point_emissiondwobjectn_cst_conversion_basefileaccesssaveastypen_cst_nei_exportpowerobjectn_ds_conversion_basemDAT*essage.aa@ a@*@qI@qRa@ho@@Qs@~ei@rdty@a_sp @ @ 5!"""oooooooooo o o o o ooooooooooooooooooo !|!"DAT* )8!+OQd aa_record_typeaa_state_fips_and_county_fipsaa_state_facility_identifieraa_emission_unit_idaa_process_idaa_pollutant_codeaa_space_1aa_emission_release_point_idaa_start_dateaa_end_dateaa_start_timeaa_end_timeaa_space_2aa_emission_numeric_valueaa_emission_unit_numeratoraa_emission_typeaa_em_reliability_indicatoraa_factor_numeric_valueaa_factor_unit_numeratoraa_factor_unit_denominatoraa_materialaa_material_ioaa_DAT*control_device_type_codeaa_fourth_control_device_type_codeaa_submittal_flagaa_tribal_codeof_addrow+create+destroy+constructor 5Rft +6TvLAAAAAAAAAAAAAAAAAAQL x _initsrcn_ds_nei_conversion_basen_ds_nei_n3_exp_point_control_equipmentdwobjectDAT*n_cst_conversion_basefileaccesssaveastypen_cst_nei_exportpowerobjectn_ds_conversion_basemessage'@ a@*@jR@[@Pqo@@I|@o@nei_po@emis !@ @ 5!"oooooooooo o o o o ooDAT* oo|)83X5xd aa_record_typeaa_state_fips_and_county_fipsaa_state_facility_identifieraa_emission_unit_idaa_process_idaa_pollutant_codeaa_space_1aa_primary_pct_control_efficiencyaa_pct_capture_efficiencyaa_total_capture_control_efficiencyaa_primary_device_type_codeaa_secondary_device_type_codeaa_space_2aa_control_system_descriptionaa_third_control_device_type_codeaa_fourth_control_device_type_coDAT*eaa_horizontal_area_fugitiveaa_release_height_fugitiveaa_fugitive_dimensions_unitaa_emission_release_pt_descriptionaa_submittal_flagaa_horizontal_collection_method_codeaa_horizontal_accuracy_measureaa_horizontal_reference_datum_codeaa_reference_point_codeaa_source_map_scale_numberaa_coordinate_data_source_codeaa_tribal_codeof_addrow+create+destroy+constructor 5R]zDAT*%5EQg3VnLAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQL x _initsrcn_ds_nei_conversion_basen_ds_nei_n3_exp_emission_release_ptdwobjectn_cst_conversion_basefileaccesssaveastypen_cst_nei_exportpowerobjectn_ds_conversion_basemessage0DAT*a@ a@*@sN@qWq@mo@@Ux@ei@rdty@v @ @ 5!"oooooooooo o o o o ooooooooooooooo|)8)DAT* IKd aa_record_typeaa_state_fips_and_county_fipsaa_state_facility_identifieraa_space_1aa_emission_release_point_idaa_emission_release_point_typeaa_space_2aa_stack_heightaa_stack_diameteraa_stack_fenceline_distanceaa_exit_gas_temperatureaa_exit_gas_velocityaa_exit_gas_flow_rateaa_x_coordinateaa_y_coordinateaa_utm_zoneaa_xy_coordinate_typeaa_horizontal_area_fugitiveaa_release_height_fugitiveaa_fugitive_dimensions_unitaa_emission_release_pt_descriptionaa_DAT*{LAAAAAAAAAAAAQL x _initsrcn_ds_nei_conversion_basen_ds_nei_n3_exp_onroad_emission_perioddwobjectn_cst_conversion_basefileaccesssaveastypen_cst_nei_exportpowerobjectn_ds_conversion_basemessage,@ a@*@oQ@Z@Ppo@@Q{@se@reco@ te@ DAT* @ 5!"p  oooooooooo o o  |  )8 $@&`d aa_record_typeaa_state_and_county_fips_codeaa_sccaa_start_dateaa_end_dateaa_space_1aa_start_timeaa_end_timeaa_actual_throughputaa_throughput_unit_numeratoraa_submittal_flagaa_tribal_codell_rcla_data DAT* 5<GUalz,LAAAAAAAAAAAAAAAAAQL x _initsrcn_ds_nei_conversion_basen_ds_nei_n3_exp_onroad_emissiondwobjectn_cst_conversion_basefileaccesssaveastypen_cst_nei_exportpowerobjectn_ds_conversion_basemessage @*DAT* J@aS@i@t@AA@AAAAa_@itta @ @ 5!"oooooooooo o o o o ooo|)8/T1tdX aa_record_typeaa_state_and_county_fips_codeaa_sccaa_space_1aDAT* y+constructor 5Rfx9KLAAAAAAAAAAAAAAAQL x _initsrcn_ds_nei_conversion_basen_ds_nei_n3_exp_emission_unitdwobjectn_cst_conversion_basefileaccesssaveastypen_cst_nei_exportpowerobjectn_ds_conversion_basemessage(@ a@*@kDAT* H@Q@Pgo@@Mr@o}@nei_on@_emi @ @ 5!"|oooooooooo o o o o o|)8+L-ldt aa_record_typeaa_state_fips_and_county_fipsaa_state_facility_identifieraDAT* taa_sulfur_contentaa_ash_contentaa_process_mact_compliance_statusaa_submittal_flagaa_tribal_codeof_addrow+create+destroy+constructor 5<Qqx8UewLAAAAAAAAAAAAAAAAAAAAAQL x _initsrcn_ds_nei_conversion_basenDAT* _ds_nei_n3_exp_area_emission_processdwobjectn_cst_conversion_basefileaccesssaveastypen_cst_nei_exportpowerobjectn_ds_conversion_basemessage&@ a@*@iP@Y@Poo@@Iz@i@ma@issi @ @ 5!"ooooDAT* oooooo o o o o ooooooo|)8 8d:d aa_record_typeaa_state_and_county_fips_codeaa_sccaa_process_mact_codeaa_emission_process_descriptionaa_sicaa_naicsaa_winter_throughput_pctaa_spring_throughput_pctaa_summer_throughput_pctaa_fall_throughput_pctaa_annual_avg_days_per_weekaa_annual_avg_weeks_per_yearaa_annual_avg_hours_per_dayaa_annual_avg_hours_per_yearaa_heatDAT* 5<NpLAAAAAAAAAAAAQL x _initsrcn_ds_nei_conversion_basen_ds_nei_n3_exp_area_control_equipmentdwobjectn_cst_conversion_basefileaccesssaveastypen_cst_nei_exportpowerobjectn_ds_conversion_basemessage.@ a@*@qQ@Z@Ppo@@QDAT* {@se@reco@U @ @ 5!"p  oooooooooo o o  |  )8 %@'`dD aa_record_typeaa_state_and_county_fips_codeaa_sccaa_pollutant_codeaa_primary_pct_control_efficiencyaa_pct_capture_efficiencyaa_total_capture_contDAT* stroy+constructor 5<JVao{.@LAAAAAAAAAAAAAAAAAAQL x _initsrcn_ds_nei_conversion_basen_ds_nei_n3_exp_area_emission_perioddwobjectn_cst_conversion_basefileaccesssaveastypen_cst_nei_exportpowerobjectn_ds_conversion_basemessage DAT* @*O@X@n@y@AA@AAAA@ @ @ 5!"oooooooooo o o o o oooo|)81X3xdl aa_record_typDAT* eaa_state_and_county_fips_codeaa_sccaa_start_dateaa_end_dateaa_space_1aa_start_timeaa_end_timeaa_actual_throughputaa_throughput_unit_numeratoraa_materialaa_material_ioaa_period_days_per_weekaa_period_weeks_per_periodaa_period_hours_per_dayaa_period_hours_per_periodaa_submittal_flagaa_tribal_codell_rcla_dataeen` to_b5tu<nvJesVgeaisoDAT* sion_calculation_method_codeaa_ef_reliability_indicatoraa_rule_effectivenessaa_rule_effectiveness_methodaa_rule_penetrationaa_submittal_flagaa_tribal_codeof_addrow+create+destroy+constructorm 5<NYgs~+FRalDAT* LAAAAAAAAAAAAAAAAAAAAAAAAAAAQL x _initsrcn_ds_nei_conversion_basen_ds_nei_n3_exp_area_emissiondwobjectn_cst_conversion_basefileaccesssaveastypen_cst_nei_exportpowerobjectn_ds_conversion_basemessage-@ a@*@pH@Q@Pgo@@Qr@}ei@rdty@ @ @DAT*  5!"oooooooooo o o o o ooooooooooooo|)8%C|Ed0 aa_record_typeaa_state_and_county_fips_codeaa_sccaa_pollutant_codeaa_space_1aa_start_dateaa_end_dateaa_space_2aa_start_timeaa_end_timeaa_emission_numeric_valueaa_emission_unit_DAT* 0p0p0p0p0p0pDAT* 0n_ds_nei_cache_basepointern_ds_nei_conversion_basef_msgstringgs_inifiletransactionsqlcaw_confirm_file_operationsmessagefileaccessn_ds_nei_location_cache_baseselect r.name from rap_geographic_locations r where r.rid =0 ;< _A, _ASelect r.name from rap_geographic_locations r where r.rid =0 ;< h _ADAT*  _A;< `A\ $ `A;< h `An `A;< `A'L  `A;< h `A DAT*" `A;< `A<`A;<xh `A+|`Au_ds_baseu_class_source_groupu_emis_period8`(Px @ h      , 0  DAT*$     $ \ `       L P      < @ x|   2 n_cst_nei_export  +ue_nif2_initialize+ue_nif3_initialize+ue_nif2_resetoutputfiles+ue_nif3_resetoutputfiles+ue_nif2_export+ue_nif3_export+ue_nif2_loadtransmittaluserinput+ue_nif3_loadtransmittaluserinput+ue_nif3_sDAT*& avetransmittaluserinput+ue_nif2_savetransmittaluserinput+ue_nif3_validatetransmittaluserinput+ue_nif2_validatetransmittaluserinput+ue_nif3_settransmittaluserinput+ue_nif2_settransmittaluserinput+ue_nif2_saveoutputfiles+ue_nif3_saveoutputfilesof_exportsiteof_loadcachedataas_typeal_ridas_metricas_columnof_getactivitydataof_exporttransmittalof_loadtransmittaluserinputof_savetransmittaluserinputof_setfilenamesof_exportof_createcachedatastoresan_stateridas_filetypeof_getfilenameiDAT*( ndex_oldas_recordtypeof_getfilenameindexof_getfilenameof_exporteuof_exportepal_blockof_loadcacheblockdataof_resetoutputfilesal_row@ncad_throughputsof_exportep_getthroughputsal@nc ad_monthamountsof_exportep_checkmonthamountsof_exporteras_fromunitas_tounitad_fromvalueof_convertdoublevalueads_cacheas_findstringof_exporter_findandconvertunitsof_exportceof_exportpe_processdatalevelof_exportpe_sitedatalevelof_exportem_sitedatalevelas_findad_emissionamtal_contDAT** roldevicecountof_exportem_getsitetotalsas_levelof_checkmetricof_writelogpollutantsof_exportep_areaof_exportce_areaof_exportpe_areaof_exportem_areaof_exportpe_onroadof_exportem_onroadof_settransmittaluserinputof_validatetransmittaluserinputof_n2_getfilenameof_n3_getfilenameof_saveoutputfilesof_n3_exporttransmittalof_n3_exportsiteof_n3_exporteuof_n3_exporterof_n3_exportceof_n3_exportpe_processdatalevelof_n3_exportpe_sitedatalevelof_n3_exportem_processdatalevelof_exportem_procDAT*, essdatalevelof_n3_exportem_sitedatalevelof_n3_exportep_areaof_n3_exportce_areaof_n3_exportpe_areaof_n3_exportem_areaof_n3_exportpe_onroadof_n3_exportem_onroadof_n3_exportepad_numberai_lengthof_roundnumber@ @>  +create+destroy+destructor+constructor+ue_initializeTN ILASLSSOILSISSSSSIDAT*. LrM`TILRM[4]BM[12]DSSDclo >DCn_ds_nei_cache_base.SSISRMRLSSuASSStfiASSSSisMMIQ D`|HDAT*0 t0 x _initsrcn_cst_conversion_basen_cst_nei_exportw_exportn_ds_conversion_basepowerobjectstr_nei_file_namesn_ds_exp_area_control_equipmentn_ds_exp_area_emissionn_ds_exp_area_emission_periodn_ds_exp_area_emission_processn_ds_exp_emission_release_ptn_ds_exp_emission_unitn_ds_exp_onroad_emissionn_ds_exp_onroad_emission_periodn_ds_exp_point_control_equipmentn_ds_exp_point_emissionn_ds_exp_point_emission_periodDAT*2 n_ds_exp_point_emission_processn_ds_exp_siten_ds_exp_transmittaln_ds_nei_n3_exp_area_control_equipmentn_ds_nei_n3_exp_area_emissionn_ds_nei_n3_exp_area_emission_periodn_ds_nei_n3_exp_area_emission_processn_ds_nei_n3_exp_emission_release_ptn_ds_nei_n3_exp_emission_unitn_ds_nei_n3_exp_onroad_emissionn_ds_nei_n3_exp_onroad_emission_periodn_ds_nei_n3_exp_point_control_equipmentn_ds_nei_n3_exp_point_emissionn_ds_nei_n3_exp_point_emission_periodn_ds_nei_n3_exp_point_emission_processn_ds_DAT*4 nei_n3_exp_siten_ds_nei_n3_exp_transmittaln_ds_cache_basen_ds_cache_unitsn_ds_cache_metricsn_ds_cache_rap_metric_lookupsn_ds_cache_material_groupsn_ds_cache_conversion_lookup_codesn_ds_cache_primary_siten_ds_cache_emissionsn_ds_cache_state_activitiesn_ds_cache_county_activitiesn_ds_cache_source_activitiesn_ds_cache_process_activitiesn_ds_cache_device_activitiesn_ds_cache_input_stream_activitiesn_ds_cache_output_stream_activitiesn_ds_cache_emission_unitn_ds_cache_emission_processDAT*6 n_ds_cache_emission_release_pointn_ds_cache_fugitive_release_pointn_ds_cache_site_release_pointn_ds_cache_rap_operating_monthsn_ds_cache_state_location_coordinatesn_ds_cache_county_location_coordinatesn_ds_cache_source_location_coordinatesn_ds_cache_device_location_coordinatesn_ds_cache_process_specific_schedulesn_ds_cache_primary_key_checksn_ds_nei_cache_basepointern_ds_nei_conversion_basetransactionw_confirm_file_operationsmessagefileaccessn_ds_nei_location_cache_baseu_ds_baseDAT*8 u_class_source_groupu_emis_period@'8@A@V@b@u@@ @ @ @ @+ @\6^@_2V4@5w@fh@i<>@?@pr@sFH@I@RDAT*: 6@,[@@8@1d@@1 @$2@Q1@w @!@|"@h_#h@nt+$d@rent%cu@nged&@!'@<(@_)@w*@+@,@z-@&.@+/@DAT*< 01@@1@d2^@ }3l@_cac4ds@he_u5ca@metr6ac@ap_m7up@ds_c8ia@oupsA9e_@ersih:co@n_ds;ma@ite<_e@ions=e_@e_ac>_d@che_?iv@sn_@ou@acti/Cs_@e_pr;Evi@n_dUGvi@ctiv]I@1hJ@1K@L@M@DAT*>  Q<ycQ{Q      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOP 8(0<8D08O08\0 |DAT*@ 801Pjd  is_nif_version_numberp@Y2.0is_sourcemetric,ID FAC AFSCONFIDENTIALHAP MAJORis_nif_cvl_pollutant_code_namefZPOLLUTANT_CODE <   8(0<8D08O08\08f0 |801Ztd  is_nif_version_numberp@Y3.DAT*B 0is_sourcemetric,ID FAC AFSCONFIDENTIALHAP MAJORTRIBAL CODEis_nif_cvl_pollutant_code_namerZPOLLUTANT_CODE_NIF3 <  :F@@8)8|4$#<j\d$#18l0+@+81$)8$)8$)8 $66)$88,X1DAT*D 0$6)L8)T8l$#(tj$#180+@+81$)8D$)8$)8$66)88,1$6)8)8@8$#@j`h$#h18p0+DAT*F @+81$)8$)8$)8$66)88,1$6)8)8$# jHP$#18X0+@+81$)8$)8$)8$6DAT*H 6)88,~1$6)8)8$#Nj<D$#,18L0+@+81$)8j$)8$)8$66)88,1$6)8)8f$#DAT*J j08$#18@0+@+81|$)8$)8$)8$66)88,B1$6)8)8 $# j$#18$0+@+81X$)`8. h$)p8DAT*L x$)8$66)88, 1$6)8)8* $#t j$#R 180+@+814$)<8 D$)L8T$)\8d$66)l88, 1t$6)|DAT*N 8)8 $# j$# 180+@+81$) 8 ($)088$)@8H$66)P88,h 1X$6)`8)h8 $#8 j$# 180+@+81DAT*P  $) 8T  $) 8( $)0 88 $66)@ 88, 1H $6)P 8)X 8P $# j  $#x18 0+@+81 $) 8 $) 8 $) 8( $66)0 8DAT*R 8,,18 $6)@ 8)H 8p $#x j  $#18 0+@+81 $) 8 $) 8 $) 8 $66)$ 88,1, $6)4 8)< 8d $#^l j  $#DAT*T <18 0+@+81 $) 8z $) 8 $) 8 $66) 88,1 $6)( 8)0 8vX $#` j  $#18 0+@+81 $) 8 $) 8 $) 8DAT*V  $66) 88,R1 $6) 81 .BXl!"#4$H'X/|24567:<$>(CDDfEFIQTVWX0YX\h^`efgh ks@vTxhy~z{~*Zn~,JNj,BV~2BfzDAT*X   . P   B R p t      * > R h |  " $ & + , -D .X 1h 9 < > ? @ A D F4 H8 MT Nv O P S Y \^_,`@ahdxfhmnops,yP|d~x:j~,<Z^z(<Rf.BRvd" ls_recordtypels_filename(DAT*Z     of_getrunsi&ids_transmittaloutputrc%%n_ds_exp_transmittalALD%Failed creating datastore ids_transmittalOutput%of_register%of_reset%of_getneirecordtype3is_sourcetypecodeeof_getfilenameH?%of_setneifilename18&ids_siteoutput\$\$n_ds_exp_site+|\$Failed creating datastore ids_siteOutputemf\$DAT*\ \$\$3eH\$18&ids_emissionunitoutputc   n_ds_exp_emission_unitoH  Failed creating datastore ids_emissionUnitOutput      3eH  18&ids_emissionreleaseptoutput  n_ds_exp_emission_release_pt(  Failed creating datastore ids_emissionReleasePtOutput   3eHDAT*^  18&ids_pointcontrolequipmentoutput  n_ds_exp_point_control_equipment Failed creating datastore ids_pointControlEquipmentOutput   3eH 18&ids_areacontrolequipmentoutputn_ds_exp_area_control_equipmentFailed creating datastore ids_areaControlEquipmentOutputnit3eHDAT*` 18&ids_pointemissionoutput!!n_ds_exp_point_emission!Failed creating datastore ids_pointEmissionOutput!!!3eH!18&ids_areaemissionoutputn_ds_exp_area_emissionFailed creating datastore ids_areaEmissionOutput3eH18&ids_onroademissionoutput DAT*b  n_ds_exp_onroad_emission  Failed creating datastore ids_onroadEmissionOutput   3eH 18&ids_pointemissionperiodoutputp"p"n_ds_exp_point_emission_periodp"Failed creating datastore ids_pointEmissionPeriodOutputp"p"p"3eHp"18&ids_areaemissionperiodoutput`  `  n_ds_exp_area_emission_perioDAT*d d `  Failed creating datastore ids_areaEmissionPeriodOutput`  `  `  3eH`  18&ids_onroademissionperiodoutputP P n_ds_exp_onroad_emission_period P Failed creating datastore ids_onroadEmissionPeriodOutputP P P 3eHP 18&ids_pointemissionprocessoutputD #D #n_ds_exp_point_emission_processt D #DAT*f Failed creating datastore ids_pointEmissionProcessOutputD #D #D #3eHD #18&ids_areaemissionprocessoutput8  8  n_ds_exp_area_emission_processh 8  Failed creating datastore ids_areaEmissionProcessOutput8  8  8  3eH8  18 4 < \d         $ 0 L DAT* T l t             8 @ `h               HP              <D              DAT*0DAT*N0"20"40DAT*n PDW0800pdw+32````I F$#nn``DAT*p  @@DAT*r $ 536870912@x'P(  !#%gb_1$ 1< $ 0%MS Sans SerifMS Sans Serif$DAT*t 2$-8$700$ 553648127$8388608$5$18$ 4$"`1376$$I 3145%&'`5)   *,.03DAT*v organization_name_t$+$36$-P80$/1042%12Organization Name:Organization Name:"40K(6 7? A*,C E (IHPorganization_name< 8;=%9DAT*x :ArialArial$<-10$>400$@@ 1088413663$BI1097$D2011&FG [general] [general]"J0`T5L   M,.ORtransaction_type_t$N148DAT*z %PQTransaction Type:Transaction Type:"S0XKU 7? AM,C EVtransaction_type"W0`aTY   Z,.\_inventory_type_code_t$[260%]^Inventory Type CoDAT*| de:Inventory Type Code:"`0eXb 7? AZ,C Ec inventory_type_code"d0`naf   g,.il incremental_submission_number_t$ht372%jkIncremental Submission Number:IncrementaDAT*~ l Submission Number:"m0zeo 7? Ag,C p ( xsincremental_submission_number&qr [general] [general] tw%uv########1~9999"y0`n{   |,.~transaction_coDAT* mments_t$}484%Transaction Comments:Transaction Comments:"0z 7? A|,C E2(Ptransaction_comments"0`   ,.contact_person_name_t$DAT* T596%Contact Person Name:Contact Person Name:"0 7? A,C E<(Fcontact_person_name"0`   ,.contact_phone_number_t$708DAT* %Contact Phone Number:Contact Phone Number:"0 7? A,C EF(contact_phone_number"0`   ,.contact_phone_number_type_t$4820%DAT* Contact Phone Number Type:Contact Phone Number Type:"0 7? A,C EP contact_phone_number_type"0`   ,.electronic_address_t$932%ElectDAT* ronic Address:Electronic Address:"0 7? A,C EZ(delectronic_address"0`   ,.electronic_address_type_t$1044%Electronic Address Type:DAT* Electronic Address Type:"0 7 A,C Ed electronic_address_type$@ 1089400558"0`   ,.affiliation_type_t$1156%AffiliatioDAT* n Type:Affiliation Type:"0`   ,.format_version_t$1268%Format Version:Format Version:"0 7 A,C E0(format_version$DAT*  79741120"0P  #%gb_2$1412$480 7 A,C En(affiliation_type$@ 1089534975"0 DAT* 7 A,C Exrelease_point_type$1444"0 7 A,C E data_level$1556"0 7 A,C EDAT* rollup_confidential$1668"0`    ,. release_point_type_t% 'Emission Release Point Type (default):'Emission Release Point Type (default):" 0`    ,.DAT*  data_level_t%!Data Level for Toxics (default):!Data Level for Toxics (default):"0`    ,.rollup_confidential_t%Roll Up Confidential?Roll Up Confidential?"0`#   ,.!DAT* t_1$1780% Submittal Flag:Submittal Flag:""0'$ 7 A,C E%submittal_flag"&0#( 7))+,- E0/dummy$*DAT*  80269524$, 3328$.I329"10@DAT* 456789<5:;Q?T=>@ABCD GaEFDAT* H IJ KL MN QnOP  RS VTUQYWXG\DAT* Z[_]^` cabefdeg hiljkm)pnosqrtDAT* wuvx {yz|#}~' record_type record_type state_fips state_fips county_fips county_fipsorganization_nameorganization_name5transaction_typetransaction_typeT"Original (00) 00/ReplDAT* ace (05) 05/inventory_yearinventory_yearblank_1blank_1inventory_type_codeinventory_type_codeaxCriteria pollutant inventory (CRIT) CRIT/HAP inventory (HAP) HAP/Combined Criteria and HAP inventory (CRITHAP) CRITHAP/blank_2blank_2blank_3blank_3transaction_creation_datetransaction_creation_dateincremental_submission_numberincremental_submission_numbernreliability_indicatorreliabiliDAT* ty_indicatortransaction_commentstransaction_commentscontact_person_namecontact_person_namecontact_phone_numbercontact_phone_numbercontact_phone_number_typecontact_phone_number_type;Fax Fax/Home Home/Mobile Mobile/Office Office/Pager Pager/electronic_addresselectronic_addresselectronic_address_typeelectronic_address_typeDAT* [Email Email/FTP FTP/HTTP HTTP/Internet Internet/Intranet Intranet/Telnet Telnet/WAIS WAIS/ source_type source_typeaffiliation_typeaffiliation_type+Report Certifier Report Certifier/ / / / /format_versionformat_versionrelease_point_typerelease_point_typeFugitive (01) 01/Vertical (02) 02/Horizontal (03) 03/GooseNeck (04) 04/Vertical With Rain Cap (05) 05/Downward-Facing Vent (06) 06/ DAT* data_level data_levelSite SITE/Process PROCESS/rollup_confidentialrollup_confidentialYes Y/No N/Export E/submittal_flagsubmittal_flag#QNone (null) /Add (A) A/Delete (D) D/Revise//Delete (RD) RD/Revise//Add (RA) RA/dummydummy' \"DAT*1"1"1"1"0"0"0DAT* ef_reliability_indicator$#9179$|7567"0&CH!L($#rule_effectiveness$ V&9755$"f466"%0/'CDAT* (H*L(-,rule_effectiveness_method$)'10231$+695".0:&0C13H5L(87rule_penetration$2X *10935$40$6DAT* \421"90C/;C<H>L(A@submittal_flag$= e,11365$?Pn366"B0:DCEHGL(JI tribal_code$DAT* F -11739$H? 288"K0@DAT* PDNOSRQRV[TU YdWX \mZ[ _v]^ b`a ecdDAT* hfg kij nlm qop trs wuvzxy }{|DAT*  ~   &DAT* /:C record_type record_typeDstate_and_county_fips_codestate_and_county_fips_codeRsccscc[pollutant_codepollutant_codedspace_1space_1mDAT*  start_date start_datev end_date end_datespace_2space_2 start_time start_time end_time end_timeemission_numeric_valueemission_numeric_valueemission_unit_numeratoremission_unit_numeratoremission_typeemission_typeem_reliability_indicatorem_reliability_indicatorDAT* factor_numeric_valuefactor_numeric_valuefactor_unit_numeratorfactor_unit_numeratorfactor_unit_denominatorfactor_unit_denominator material material material_io material_iospace_3space_3!emission_calculation_method_code!emission_calculation_method_code ef_reliability_indicatoDAT* ref_reliability_indicatorrule_effectivenessrule_effectivenessrule_effectiveness_methodrule_effectiveness_method&rule_penetrationrule_penetration/submittal_flagsubmittal_flag: tribal_code tribal_codeC\"DAT*1"1"1"1"0"0"0DAT* 08 |              X ` h p x          4 < D L T \ d l t |        ( 0 8 @ H P X ` h     DAT*n1"0"0"0DAT*     ( 0 8 @ H P X           ( 0 8 @ H p x          $ , 4 < d l            ( 0 X `       DAT* ty_indicatoraa_transaction_commentsaa_contact_person_nameaa_contact_phone_numberaa_telephone_number_type_nameaa_electronic_address_textaa_electronic_address_type_nameaa_source_typeaa_affiliation_typeaa_format_versionaa_tribal_codell_rcla_data suve5reJir^crpdtvemwe_dorDAT* Main window for data exportforward global type w_export from window end type type cb_show_nei_log from commandbutton within w_export end type type cb_cancel from commandbutton within w_export end type type cb_nei_parms from commandbutton within w_export end type type dw_unit_code from u_dw_unit_code within w_export end type type dw_ref_code from u_dw_reference_code within w_export end type type cb_clear_filter from commandbutton within w_export end type type st_where from statictextDAT*  within w_export end type type sle_filter_table from singlelineedit within w_export end type type mle_filter from multilineedit within w_export end type type cb_filter from commandbutton within w_export end type type uo_pollutant from u_pollutant within w_export end type type uo_emis_period from u_emis_period within w_export end type type st_7 from statictext within w_export end type type ddlb_file_system from dropdownlistbox within w_export end type type st_4 from statictext withiDAT* n w_export end type type sle_export_status from singlelineedit within w_export end type type st_source_id_prefix_text from statictext within w_export end type type sle_source_id_prefix from singlelineedit within w_export end type type dw_list from datawindow within w_export end type type uo_main from uo_export within w_export end type type st_numselected from statictext within w_export end type type rb_prompt from radiobutton within w_export end type type rb_over from radiobutton wDAT* ithin w_export end type type rb_append from radiobutton within w_export end type type cb_exit from commandbutton within w_export end type type cb_export from commandbutton within w_export end type type st_3 from statictext within w_export end type type cb_select from commandbutton within w_export end type type st_2 from statictext within w_export end type type sle_name from singlelineedit within w_export end type type st_1 from statictext within w_export end type type sle_dir froDAT* m singlelineedit within w_export end type type cb_remove from commandbutton within w_export end type type cb_add from commandbutton within w_export end type type gb_1 from groupbox within w_export end type type uo_ss from u_class_ss_client within w_export end type type cbx_fac_id from checkbox within w_export end type type lb_exportlist from listbox within w_export end type type dw_log_file from datawindow within w_export end type end forward global type w_export from window inDAT* teger width = 2958 integer height = 1956 boolean titlebar = true string title = "RAPIDS DATA EXPORT" boolean controlmenu = true boolean minbox = true boolean maxbox = true boolean resizable = true windowstate windowstate = maximized! long backcolor = 80269524 string icon = "NEW_EXP.ICO" cb_show_nei_log cb_show_nei_log cb_cancel cb_cancel cb_nei_parms cb_nei_parms dw_unit_code dw_unit_code dw_ref_code dw_ref_code cb_clear_filter cb_clear_filter st_where st_where sle_filter_table sDAT* le_filter_table mle_filter mle_filter cb_filter cb_filter uo_pollutant uo_pollutant uo_emis_period uo_emis_period st_7 st_7 ddlb_file_system ddlb_file_system st_4 st_4 sle_export_status sle_export_status st_source_id_prefix_text st_source_id_prefix_text sle_source_id_prefix sle_source_id_prefix dw_list dw_list uo_main uo_main st_numselected st_numselected rb_prompt rb_prompt rb_over rb_over rb_append rb_append cb_exit cb_exit cb_export cb_export st_3 st_3 cb_select cb_select sDAT* t_2 st_2 sle_name sle_name st_1 st_1 sle_dir sle_dir cb_remove cb_remove cb_add cb_add gb_1 gb_1 uo_ss uo_ss cbx_fac_id cbx_fac_id lb_exportlist lb_exportlist dw_log_file dw_log_file end type global w_export w_export type variables string is_file_system = 'RAPIDS - Data Tables' // indicates the selected file system string is_directory // export directory name string is_FileName = 'EXPORT' // export file name int ii_level // Source, device, process, etc string DAT* is_ErrorMessage string is_header long il_device_rid long il_process_rid long il_nation_rid long il_state_rid long il_county_rid long il_city_rid long il_source_rid str_type_rid istr_types_rids[] string is_prefix string is_geo_level long il_rid_count datetime idt_start datetime idt_end string is_ref_code string is_unit_code string is_emittants[] any ia_emittantblocks[] string is_strip_src_id string is_file_system_version = 'NIF2' //Flag determining if confidentDAT* ial stream activites //will be exported boolean ib_exp_conf_str_act = false //Flag is set for GLNPO export boolean ib_exp_stream_act_glnpo = false string is_as_ro string is_as_null //var. for source selector - mlk 4/98 string is_rpt_level str_populate_level_rids istr_all_rids //NEI EXPORT ADDITIONS n_cst_nei_export inv_neiExport //log file datawindow size and position integer ii_logX integer ii_logY integer ii_logHeight integer ii_logWidth end variables forward prDAT* ototypes public function integer wf_setexportlist (integer level, string filename) public function integer uof_initialize () public subroutine wf_rpt_level (string ag_filetype) public function boolean wf_get_city_rid () public function string wf_parsename (string ps_instring, ref string ps_filetype) end prototypes public function integer wf_setexportlist (integer level, string filename);if level <= 1 then // Geographic end if return level end function public function integer uofDAT* _initialize ();// This function initialize instance variables, and set up a // stage for exporting files // local variables this.is_prefix = trim(sle_source_id_prefix.text) This.is_directory = sle_dir.Text return (1) end function public subroutine wf_rpt_level (string ag_filetype);//set lowest level for retrieving data CHOOSE CASE UPPER(ag_FileType) CASE 'GEMAP_AR' is_rpt_level = 'PROCESS' CASE 'GEMAP_PT' is_rpt_level = 'PROCESS' CASE "GEOGRAPHIC" is_rDAT* pt_level = 'COUNTY' CASE 'GEO_GROUP_MEMBER' is_rpt_level = 'CITY' CASE 'REF_CODE' is_rpt_level = 'NONE' CASE "GEOGRAPHIC_ACT" is_rpt_level = 'COUNTY' CASE "LEGAL_ENTITY" is_rpt_level = 'SOURCE' CASE "LEGAL_CONTACT" is_rpt_level = 'SOURCE' CASE "LEGAL_CONTACT_REASON" is_rpt_level = 'SOURCE' CASE "LEGAL_ACT" is_rpt_level = 'SOURCE' CASE "REGULATION" is_rpt_level = 'CITY' CASE "SOURCE" is_rpt_level = 'SOURCE' CASE 'SOURCE_GROUP_MEMBER' is_rpDAT* t_level = 'SOURCE' CASE "SOURCE_ACT" is_rpt_level = 'SOURCE' CASE "SRC_LEG_ENT_REL" is_rpt_level = 'SOURCE' CASE "SOURCE_CONTACT" is_rpt_level = 'SOURCE' CASE "SOURCE_CONTACT_REASON" is_rpt_level = 'SOURCE' CASE "SOURCE_LOCATION_GROUP" is_rpt_level = 'SOURCE' CASE "SOURCE_LOCATION_COORD" is_rpt_level = 'SOURCE' CASE "DEVICE" is_rpt_level = 'SOURCE' CASE "DEVICE_ACT" is_rpt_level = 'DEVICE' CASE "DEVICE_CONTACT" is_rpt_level = 'DEVICE' DAT* CASE "DEVICE_CONTACT_REASON" is_rpt_level = 'DEVICE' CASE "DEVICE_LOCATION_GROUP" is_rpt_level = 'DEVICE' CASE "DEVICE_LOCATION_COORD" is_rpt_level = 'DEVICE' CASE "DEVICE_GROUP_MEMBER" is_rpt_level = 'DEVICE' CASE "PROCESS" is_rpt_level = 'PROCESS' CASE "PROCESS_ACT" is_rpt_level = 'PROCESS' CASE "PROCESS_SCHEDULE" is_rpt_level = 'PROCESS' CASE "PROCESS_GROUP_MEMBER" is_rpt_level = 'PROCESS' CASE "EMISSION_FACTOR" is_rpt_level = 'PROCESS'DAT*  CASE "STREAM" is_rpt_level = 'PROCESS' CASE "STREAM_ACT" is_rpt_level = 'PROCESS' CASE "CONNECTION" is_rpt_level = 'DEVICE' CASE "ACCURACY_METHOD" is_rpt_level = 'NONE' CASE "CAL_METHOD" is_rpt_level = 'NONE' CASE "COORD_CAL_TYPE" is_rpt_level = 'NONE' CASE "DATA_CODE" is_rpt_level = 'NONE' CASE "GEO_TYPE" is_rpt_level = 'NONE' CASE "LEGAL_ENTITY_TYPE" is_rpt_level = 'NONE' CASE "LEGAL_REL_CODE" is_rpt_level = 'NONE' CASE "MATERIAL" is_rDAT* pt_level = 'NONE' CASE "MEASUREMENT" is_rpt_level = 'NONE' CASE "METHOD" is_rpt_level = 'NONE' CASE "METRIC_LEVEL" is_rpt_level = 'NONE' CASE "MODE" is_rpt_level = 'NONE' CASE "OPER_DAILY_SCHD" is_rpt_level = 'NONE' CASE "OPER_WEEKLY_SCHD" is_rpt_level = 'NONE' CASE "OPER_YEARLY_SCHD" is_rpt_level = 'NONE' CASE "REASON" is_rpt_level = 'NONE' CASE "REFERENCE_TYPE" is_rpt_level = 'NONE' CASE "SIC_CODE" is_rpt_level = 'NONE' CASE "NAICS_CODE" is_DAT* rpt_level = 'NONE' CASE "SIC_NAICS_CODE" is_rpt_level = 'NONE' CASE "TIER_CODE" is_rpt_level = 'NONE' CASE "VALUE_TYPE" is_rpt_level = 'NONE' CASE "SOURCE_CODE" is_rpt_level = 'NONE' CASE "DEVICE_CODE" is_rpt_level = 'NONE' CASE "PROCESS_CODE" is_rpt_level = 'NONE' CASE "STREAM_CODE" is_rpt_level = 'NONE' CASE "UNIT" is_rpt_level = 'NONE' CASE "SCC_AMS_CODE" is_rpt_level = 'NONE' CASE "GENER_SPEC_PROFILE" is_rpt_level = 'NONE' CASE "GENER_EMIS_FDAT* ACTOR" is_rpt_level = 'NONE' CASE "GEO_MEMBER" is_rpt_level = 'NONE' CASE "MATERIAL_GRP_MEMBER" is_rpt_level = 'NONE' CASE "CONVERSION_LOOKUP_CODES" is_rpt_level = 'NONE' CASE "GROUP_TYPE" is_rpt_level = 'NONE' CASE "MATERIAL_ALIAS" is_rpt_level = 'NONE' CASE "METRIC" is_rpt_level = 'NONE' CASE "METRIC_LOOKUP" is_rpt_level = 'NONE' CASE "USE_TYPE" is_rpt_level = 'NONE' CASE "METRIC_MAP" is_rpt_level = 'NONE' CASE "CAL_PROTOCOL" is_rpt_level = 'NDAT* ONE' CASE "METHOD_METRIC" is_rpt_level = 'NONE' CASE "OPER_DAY" is_rpt_level = 'NONE' CASE "OPER_HOUR" is_rpt_level = 'NONE' CASE "OPER_MONTH" is_rpt_level = 'NONE' CASE "SCC_AMS_MATERIAL" is_rpt_level = 'NONE' CASE "SCC_AMS_REL" is_rpt_level = 'NONE' CASE "SCC_AMS_SPEC_CODE" is_rpt_level = 'NONE' CASE "SPEC_SPLIT_FACTOR" is_rpt_level = 'NONE' CASE "FORM_TYPE" is_rpt_level = 'NONE' CASE "FORM" is_rpt_level = 'SOURCE' CASE "APPLICATION" is_rpt_DAT* level = 'SOURCE' CASE "DOCUMENT" is_rpt_level = 'SOURCE' CASE "DOC_LOOKUP" is_rpt_level = 'SOURCE' CASE "ACT_DOC_LOOKUP" is_rpt_level = 'SOURCE' // aircraft CASE "AIRCRAFT_CATEGORIES" is_rpt_level = 'NONE' CASE "AIRCRAFT_DEF_TIM" is_rpt_level = 'NONE' CASE "AIRCRAFT_ENGINES" is_rpt_level = 'NONE' CASE "AIRCRAFT_EMISSION_FACTORS" is_rpt_level = 'NONE' // mobile sources CASE "VEHICLE_TYPES" is_rpt_level = 'NONE' CASE "AREA_FACILITY_TYPES" is_rpt_levelDAT*  = 'NONE' CASE "SEASON_CODES" is_rpt_level = 'NONE' CASE "VEHICLE_CATEGORIES" is_rpt_level = 'NONE' CASE "SCC_AMS_SURROGATE_CODES" is_rpt_level = 'NONE' CASE "SCC_AMS_DEFAULT_FACTORS" is_rpt_level = 'NONE' CASE "SURROGATE_CODES" is_rpt_level = 'NONE' CASE "GEO_SURROGATES" is_rpt_level = 'COUNTY' CASE "GEO_EQUIPMENT_COUNTS" is_rpt_level = 'SOURCE' CASE "GEO_SEASONAL_ADJUSTMENT" is_rpt_level = 'SOURCE' CASE "GEO_LOCATION_GROUPS" is_rpt_level = 'CITY' CADAT* SE "GEO_LOCATION_COORDINATES" is_rpt_level = 'CITY' CASE "GEO_EMISSION_FACTORS" is_rpt_level = 'SOURCE' // seasonal ajustment factors CASE "SEASONAL_ADJ_FACTORS" is_rpt_level = 'COUNTY' // GIS DATA CASE "GIS_FACILITY" is_rpt_level = 'SOURCE' CASE "GIS_EMISSIONS" is_rpt_level = 'SOURCE' // NEI DATA CASE "NEI_POINT" is_rpt_level = 'SOURCE' CASE "NEI_AREA" is_rpt_level = 'SOURCE' CASE "NEI_ONROAD" is_rpt_level = 'SOURCE' CASE "NEI_NONROAD" is_DAT* rpt_level = 'SOURCE' // mobile 6 CASE "EMISSION_TYPES" is_rpt_level = 'NONE' CASE "ROADWAY_TYPES" is_rpt_level = 'NONE' CASE "AREA_FACILITY_ROAD_TYPES" is_rpt_level = 'NONE' CASE ELSE MessageBox("Error", "Invalid file type: " + ag_FileType) END CHOOSE end subroutine public function boolean wf_get_city_rid ();SELECT geographic_incorp_rid INTO :il_city_rid FROM rap_sources WHERE rid = :istr_all_rids.source_rid and geographic_county_rid = :istr_all_rids.couDAT* nty_rid USING SQLCA; IF SQLCA.sqlcode = 100 THEN // Error--device record not found MessageBox( "ERROR", " CITY record not found " + & "for rid=" + String(istr_all_rids.source_rid), StopSign!, OK! ) Return false ELSEIF SQLCA.sqlcode <> 0 THEN // SQL Error MessageBox( "SQL ERROR for rid=" + String(istr_all_rids.source_rid), string(SQLCA.SQLDBCode)+' '+SQLCA.SQLErrText,& StopSign!, OK! ) return false END IF return true end function public function strDAT* ing wf_parsename (string ps_instring, ref string ps_filetype);// Parse the file name from ps_InString. Look at the filename // extension to determine the file type. Return the file type in // the second function parameter. The function returns the filename // parsed from InString or "" if an error is found. int ll_Pos string ls_FileName string ls_Extension string ls_description // Locate the first tab character in the input string ll_Pos = Pos(ps_InString, " ") if ll_Pos > 1 then DAT*  // Extract the file description ls_description = mid(ps_InString, ll_Pos + 1, len(ps_InString)) // Extract the file name ls_FileName = Left(ps_InString, ll_Pos - 1) // Extract the file extension ls_Extension = & Lower(Right(ls_FileName, (Len(ls_fileName) - Pos(ls_fileName, '.')) + 1)) else ls_extension = "none" ls_description = ps_inString end if // Figure out what the file type is CHOOSE CASE ls_Extension // GEMAP area source file type SWJ, 3/16/95 CASE ".ar" pDAT* s_FileType = "GEMAP_AR" // GEMAP point source file type SWJ, 4/3/95 CASE ".pt" ps_FileType = "GEMAP_PT" // Geographic Locations CASE ".geo" ps_FileType = "GEOGRAPHIC" // Geographic Location Group Members CASE '.ggm' ps_FileType = 'GEO_GROUP_MEMBER' // Legal Entities CASE '.leg' ps_FileType = 'LEGAL_ENTITY' // Legal Contacts CASE '.cnl' ps_FileType = 'LEGAL_CONTACT' // Legal Contact Reasons CASE '.lcr' ps_FileType = 'LEGAL_CONTACT_REASON' // Legal ActivDAT* ities CASE '.acl' ps_FileType = 'LEGAL_ACT' // Regulations CASE '.reg' ps_FileType = 'REGULATION' // Sources CASE ".src" ps_FileType = "SOURCE" // Source Group Members CASE '.sgm' ps_FileType = 'SOURCE_GROUP_MEMBER' // Reference Codes CASE '.cod' ps_FileType = 'REF_CODE' // Source Activity CASE ".acs" ps_FileType = "SOURCE_ACT" // Source Legal Entity Relations CASE '.slr' ps_FileType = 'SRC_LEG_ENT_REL' // Devices CASE ".dev" ps_FileType DAT* = "DEVICE" // Device Activity CASE ".acd" ps_FileType = "DEVICE_ACT" CASE ".dgm" ps_FileType = "DEVICE_GROUP_MEMBER" // Process CASE ".pro" ps_FileType = "PROCESS" // Process Activity CASE ".acp" ps_FileType = "PROCESS_ACT" CASE ".prs" ps_FileType = "PROCESS_SCHEDULE" CASE ".pgm" ps_FileType = "PROCESS_GROUP_MEMBER" // Stream CASE ".str" ps_FileType = "STREAM" // Stream Activity CASE ".act" ps_FileType = "STREAM_ACT" // GeographiDAT* c Activity CASE ".acg" ps_FileType = "GEOGRAPHIC_ACT" // Connection CASE ".ctn" ps_FileType = "CONNECTION" // Emission Factor CASE ".emf" ps_FileType = "EMISSION_FACTOR" // Source Contact CASE ".cns" ps_FileType = "SOURCE_CONTACT" // Source Contact Reasons CASE ".scr" ps_FileType = "SOURCE_CONTACT_REASON" // Source Location Groups CASE ".slg" ps_FileType = "SOURCE_LOCATION_GROUP" // Source Location Coords CASE ".slc" ps_FileType = "SODAT* URCE_LOCATION_COORD" // Device Contact CASE ".cnd" ps_FileType = "DEVICE_CONTACT" // Device Contact Reasons CASE ".dcr" ps_FileType = "DEVICE_CONTACT_REASON" // Device Location Groups CASE ".dlg" ps_FileType = "DEVICE_LOCATION_GROUP" // Device Location Coords CASE ".dlc" ps_FileType = "DEVICE_LOCATION_COORD" // Accuracy Methods // SWJ, 2/7/96 CASE ".ram" ps_FileType = "ACCURACY_METHOD" // Calculation Methods CASE ".rcm" ps_FileType = "CAL_METDAT* HOD" // Coordinate Calculation Types CASE ".rct" ps_FileType = "COORD_CAL_TYPE" // Data Codes CASE ".rdc" ps_FileType = "DATA_CODE" // Geographic Types CASE ".rge" ps_FileType = "GEO_TYPE" // Legal Entity Types CASE ".rlt" ps_FileType = "LEGAL_ENTITY_TYPE" // Legal Relationship Codes CASE ".rlc" ps_FileType = "LEGAL_REL_CODE" // Materials CASE ".rmt" ps_FileType = "MATERIAL" // Measurements CASE ".rms" ps_FileType = "MEASUREMENT" // Methods CASEDAT*  ".rmh" ps_FileType = "METHOD" // Metric Levels CASE ".rml" ps_FileType = "METRIC_LEVEL" // Modes CASE ".rmo" ps_FileType = "MODE" // Operating Daily Schedules CASE ".rds" ps_FileType = "OPER_DAILY_SCHD" // Operating Weekly Schedules CASE ".rws" ps_FileType = "OPER_WEEKLY_SCHD" // Operating Yearly Schedules CASE ".rys" ps_FileType = "OPER_YEARLY_SCHD" // Reasons CASE ".rrs" ps_FileType = "REASON" // Reference Types CASE ".rft" ps_FileType = "REFEDAT* RENCE_TYPE" // SIC Codes CASE ".rsi" ps_FileType = "SIC_CODE" // NAICS Codes CASE ".rna" ps_FileType = "NAICS_CODE" // SIC to NAICS Codes CASE ".rsn" ps_FileType = "SIC_NAICS_CODE" // Tier Codes CASE ".rtc" ps_FileType = "TIER_CODE" // Value Types CASE ".rvt" ps_FileType = "VALUE_TYPE" // Source Codes CASE ".rso" ps_FileType = "SOURCE_CODE" // Device Codes CASE ".rde" ps_FileType = "DEVICE_CODE" // Process Codes CASE ".rpr" ps_FileType = "PDAT* ROCESS_CODE" // Stream Codes CASE ".rst" ps_FileType = "STREAM_CODE" // Units CASE ".run" ps_FileType = "UNIT" // SCC-AMS Codes CASE ".rsa" ps_FileType = "SCC_AMS_CODE" // Generic Speciation Profiles CASE ".rsp" ps_FileType = "GENER_SPEC_PROFILE" // Generic Emission Factors CASE ".ref" ps_FileType = "GENER_EMIS_FACTOR" // Geographic Members CASE ".rgm" ps_FileType = "GEO_MEMBER" // Material Group Members CASE ".rmg" ps_FileType = "MATERIAL_GRP_MEMBEDAT* R" // Group Types CASE ".rgt" ps_FileType = "GROUP_TYPE" // Material Aliases CASE ".rma" ps_FileType = "MATERIAL_ALIAS" // Metrics CASE ".rme" ps_FileType = "METRIC" // Metric Lookups CASE ".rlk" ps_FileType = "METRIC_LOOKUP" // Use Types CASE ".rut" ps_FileType = "USE_TYPE" // Metric Maps CASE ".rmp" ps_FileType = "METRIC_MAP" // Calculation Protocols CASE ".rcp" ps_FileType = "CAL_PROTOCOL" // Method Metrics CASE ".rmm" ps_FileType = "METHODAT* D_METRIC" // Operating Days CASE ".rod" ps_FileType = "OPER_DAY" // Operating Hours CASE ".roh" ps_FileType = "OPER_HOUR" // Operating Months CASE ".rom" ps_FileType = "OPER_MONTH" // SCC-AMS Materials CASE ".rsm" ps_FileType = "SCC_AMS_MATERIAL" // SCC-AMS Relationships CASE ".rsr" ps_FileType = "SCC_AMS_REL" // SCC-AMS Speciation Codes CASE ".rsc" ps_FileType = "SCC_AMS_SPEC_CODE" // Speciation Split Factors CASE ".rsf" ps_FileType = "SPEC_SPLIT_FDAT* ACTOR" // Form Types CASE ".rfo" ps_FileType = "FORM_TYPE" CASE ".rcl" ps_FileType = "CONVERSION_LOOKUP_CODES" CASE ".frm" ps_FileType = "FORM" // Applications CASE ".app" ps_FileType = "APPLICATION" // Documents CASE ".doc" ps_FileType = "DOCUMENT" // Document Lookups CASE ".dlu" ps_FileType = "DOC_LOOKUP" // Activity Document Lookups CASE ".alk" ps_FileType = "ACT_DOC_LOOKUP" // We don't know the type CASE ".rac" ps_FileType = "AIRCRAFT_CATEDAT* GORIES" // Aircraft categories CASE ".rti" ps_FileType = "AIRCRAFT_DEF_TIM" // Aircraft default time in mode CASE ".rae" ps_FileType = "AIRCRAFT_ENGINES" // Aircraft engines CASE ".raf" ps_FileType = "AIRCRAFT_EMISSION_FACTORS" // Aircraft emission factors CASE ".rve" ps_FileType = "VEHICLE_TYPES" // Vehicle Types CASE ".rat" ps_FileType = "AREA_FACILITY_TYPES" // Area Facility Types CASE ".rse" ps_FileType = "SEASON_CODES" // Season Codes CASE ".rvc" DAT*  ps_FileType = "VEHICLE_CATEGORIES" // Vehicle Categories CASE ".vsf" ps_FileType = "SEASONAL_ADJ_FACTORS" // nonroad scc ams default factors CASE ".rdf" ps_FileType = "SCC_AMS_DEFAULT_FACTORS" // nonroad scc ams surrogate codes CASE ".rsg" ps_FileType = "SCC_AMS_SURROGATE_CODES" // nonroad surrogate codes CASE ".rsu" ps_FileType = "SURROGATE_CODES" // nonroad geo surrogates CASE ".gsu" ps_FileType = "GEO_SURROGATES" // nonroad geo equipment counts DAT*  CASE ".geq" ps_FileType = "GEO_EQUIPMENT_COUNTS" // nonroad geo seasonal adjustment factors CASE ".gaf" ps_FileType = "GEO_SEASONAL_ADJUSTMENT" // GIS facility information CASE ".gsf" ps_FileType = "GIS_FACILITY" // GIS emissions information (detail for GIS facility) CASE ".gse" ps_FileType = "GIS_EMISSIONS" case ".glg" ps_fileType = "GEO_LOCATION_GROUPS" case ".glc" ps_fileType = "GEO_LOCATION_COORDINATES" case ".gef" ps_fileType = "GEO_EMISSION_FACTORDAT* S" case ".ret" ps_fileType = "EMISSION_TYPES" case ".rrt" ps_fileType = "ROADWAY_TYPES" case ".rar" ps_fileType = "AREA_FACILITY_ROAD_TYPES" // NEI Data CASE "none" choose case ls_description case "NEI Point Sources" ps_FileType = "NEI_POINT" case "NEI Area Sources" ps_FileType = "NEI_AREA" case "NEI Onroad Sources" ps_FileType = "NEI_ONROAD" case "NEI Nonroad Sources" ps_FileType = "NEI_NONROAD" case else ps_FileType = "INVDAT*" ALID_EXTENSION" end choose CASE ELSE ps_FileType = "INVALID_EXTENSION" END CHOOSE return ls_FileName end function event closequery; if inv_neiExport.of_getRun() then //prevent close while nei export is running return 1 end if If MessageBox('Exit Data Export', 'Are you sure you want to exit export?', & Question!, YesNo!) = 1 then SetNull(gs_filt) return 0 else return 1 end if end event on w_export.create this.cb_show_nei_log=create cb_show_nei_log tDAT*$ his.cb_cancel=create cb_cancel this.cb_nei_parms=create cb_nei_parms this.dw_unit_code=create dw_unit_code this.dw_ref_code=create dw_ref_code this.cb_clear_filter=create cb_clear_filter this.st_where=create st_where this.sle_filter_table=create sle_filter_table this.mle_filter=create mle_filter this.cb_filter=create cb_filter this.uo_pollutant=create uo_pollutant this.uo_emis_period=create uo_emis_period this.st_7=create st_7 this.ddlb_file_system=create ddlb_file_system this.st_4=crDAT*& eate st_4 this.sle_export_status=create sle_export_status this.st_source_id_prefix_text=create st_source_id_prefix_text this.sle_source_id_prefix=create sle_source_id_prefix this.dw_list=create dw_list this.uo_main=create uo_main this.st_numselected=create st_numselected this.rb_prompt=create rb_prompt this.rb_over=create rb_over this.rb_append=create rb_append this.cb_exit=create cb_exit this.cb_export=create cb_export this.st_3=create st_3 this.cb_select=create cb_select this.st_2=DAT*( create st_2 this.sle_name=create sle_name this.st_1=create st_1 this.sle_dir=create sle_dir this.cb_remove=create cb_remove this.cb_add=create cb_add this.gb_1=create gb_1 this.uo_ss=create uo_ss this.cbx_fac_id=create cbx_fac_id this.lb_exportlist=create lb_exportlist this.dw_log_file=create dw_log_file this.Control[]={this.cb_show_nei_log,& this.cb_cancel,& this.cb_nei_parms,& this.dw_unit_code,& this.dw_ref_code,& this.cb_clear_filter,& this.st_where,& this.sle_filter_table,& DAT**  this.mle_filter,& this.cb_filter,& this.uo_pollutant,& this.uo_emis_period,& this.st_7,& this.ddlb_file_system,& this.st_4,& this.sle_export_status,& this.st_source_id_prefix_text,& this.sle_source_id_prefix,& this.dw_list,& this.uo_main,& this.st_numselected,& this.rb_prompt,& this.rb_over,& this.rb_append,& this.cb_exit,& this.cb_export,& this.st_3,& this.cb_select,& this.st_2,& this.sle_name,& this.st_1,& this.sle_dir,& this.cb_remove,& this.cb_add,& this.gb_1,& thisDAT*, .uo_ss,& this.cbx_fac_id,& this.lb_exportlist,& this.dw_log_file} end on on w_export.destroy destroy(this.cb_show_nei_log) destroy(this.cb_cancel) destroy(this.cb_nei_parms) destroy(this.dw_unit_code) destroy(this.dw_ref_code) destroy(this.cb_clear_filter) destroy(this.st_where) destroy(this.sle_filter_table) destroy(this.mle_filter) destroy(this.cb_filter) destroy(this.uo_pollutant) destroy(this.uo_emis_period) destroy(this.st_7) destroy(this.ddlb_file_system) destroy(this.sDAT*. t_4) destroy(this.sle_export_status) destroy(this.st_source_id_prefix_text) destroy(this.sle_source_id_prefix) destroy(this.dw_list) destroy(this.uo_main) destroy(this.st_numselected) destroy(this.rb_prompt) destroy(this.rb_over) destroy(this.rb_append) destroy(this.cb_exit) destroy(this.cb_export) destroy(this.st_3) destroy(this.cb_select) destroy(this.st_2) destroy(this.sle_name) destroy(this.st_1) destroy(this.sle_dir) destroy(this.cb_remove) destroy(this.cb_add) destroy(thiDAT*0 s.gb_1) destroy(this.uo_ss) destroy(this.cbx_fac_id) destroy(this.lb_exportlist) destroy(this.dw_log_file) end on event open;cb_export.enabled = true //create the nei export object if isvalid(inv_neiExport) then destroy inv_neiExport end if if not isValid(inv_neiExport) then inv_neiExport = create n_cst_nei_export end if //register the rapids export window with the nei object inv_neiExport.of_setExportWindow(this) inv_neiExport.of_setRun(false) //Register the nei exporDAT*2 t object with conversion and cache datastore objects //(via the shared class variables in the ids_logFile instance) inv_neiExport.ids_logFile.of_register(inv_neiExport) //grab the size and position of the log dw ii_logX = dw_log_file.x ii_logY = dw_log_file.y ii_logHeight = dw_log_file.height ii_logWidth = dw_log_file.width end event event close; if isValid(inv_neiExport) then destroy inv_neiExport end if end event type cb_show_nei_log from commandbutton within w_expDAT*4 ort boolean visible = false integer x = 2153 integer y = 1524 integer width = 677 integer height = 84 integer taborder = 140 integer textsize = -8 integer weight = 700 fontpitch fontpitch = variable! fontfamily fontfamily = swiss! string facename = "MS Sans Serif" boolean enabled = false string text = "Show NEI Log..." end type event clicked; long ll_rc string ls_logFilePathName dw_log_file.x = ii_logX dw_log_file.y = ii_logY dw_log_file.height = ii_logHeight dw_log_fileDAT*6 .width = ii_logWidth //load the log file, if not already loaded and export not running if not inv_neiExport.of_getRun() then //get the current full path name for the log file object, if already set if inv_neiExport.ids_logFile.of_basePathNameSet() then ls_logFilePathName = lower(trim(inv_neiExport.ids_logFile.of_getPathName())) end if //if log file name changed or is new, open the new file if ls_logFilePathName <> lower(trim(sle_dir.text + sle_name.text + ".log")) then DAT*8  //set the base path name for the log file ll_rc = inv_neiExport.ids_logFile.of_setBasePathName(sle_dir.text, sle_name.text) if ll_rc < 0 then return -1 end if //load the log file, if it exists if inv_neiExport.ids_logFile.of_fileExists() then inv_neiExport.ids_logFile.of_setFileAccess(read!) inv_neiExport.ids_logFile.of_setLoadBlankLines(true) ll_rc = inv_neiExport.ids_logFile.of_loadFromFile(1) inv_neiExport.ids_logFile.of_setFileAccess(write!) if ll_rDAT*: c < 0 then return -1 end if else inv_neiExport.ids_logFile.of_reset() end if //share log data with the visible datawindow inv_neiExport.ids_logFile.shareData(dw_log_file) end if end if dw_log_file.bringToTop = true dw_log_file.visible = true end event type cb_cancel from commandbutton within w_export boolean visible = false integer x = 1952 integer y = 1700 integer width = 370 integer height = 84 integer taborder = 220 integer textsize = -8 DAT*<  integer weight = 700 fontpitch fontpitch = variable! fontfamily fontfamily = swiss! string facename = "MS Sans Serif" boolean enabled = false string text = "Cancel" end type event clicked; inv_neiExport.of_setRun(false) this.enabled = false end event type cb_nei_parms from commandbutton within w_export boolean visible = false integer x = 2153 integer y = 1404 integer width = 677 integer height = 84 integer taborder = 130 integer textsize = -8 integer weight = 700 fontpitchDAT*>  fontpitch = variable! fontfamily fontfamily = swiss! string facename = "MS Sans Serif" string text = "NEI Export Info..." end type event clicked; openWithParm(w_nei_transmittal_user_input, inv_neiExport.ids_transmittalUserInput) inv_neiExport.of_saveTransmittalUserInput() end event type dw_unit_code from u_dw_unit_code within w_export boolean visible = false integer x = 1641 integer y = 1248 integer width = 1262 integer height = 96 integer taborder = 120 end type DAT*@  type dw_ref_code from u_dw_reference_code within w_export boolean visible = false integer x = 1605 integer y = 1120 integer width = 1298 integer height = 112 integer taborder = 210 end type type cb_clear_filter from commandbutton within w_export boolean visible = false integer x = 1559 integer y = 384 integer width = 320 integer height = 84 integer taborder = 40 integer textsize = -8 integer weight = 700 fontpitch fontpitch = variable! fontfamily fontfamily = swiss! string DAT*B facename = "MS Sans Serif" string text = "Clear Filter" end type on clicked;sle_filter_table.Text = '' mle_filter.Text = '' This.Visible = FALSE end on type st_where from statictext within w_export boolean visible = false integer x = 1637 integer y = 276 integer width = 238 integer height = 68 integer textsize = -8 integer weight = 700 fontpitch fontpitch = variable! fontfamily fontfamily = swiss! string facename = "MS Sans Serif" long textcolor = 33554432 long backcolor = 8DAT*D 0269524 boolean enabled = false string text = "Where:" alignment alignment = right! boolean focusrectangle = false end type type sle_filter_table from singlelineedit within w_export boolean visible = false integer x = 1920 integer y = 148 integer width = 946 integer height = 76 integer textsize = -8 integer weight = 700 fontpitch fontpitch = variable! fontfamily fontfamily = swiss! string facename = "MS Sans Serif" long textcolor = 33554432 long backcolor = 80269524 boolean diDAT*F splayonly = true borderstyle borderstyle = stylelowered! end type type mle_filter from multilineedit within w_export boolean visible = false integer x = 1920 integer y = 276 integer width = 946 integer height = 188 integer textsize = -8 integer weight = 700 fontpitch fontpitch = variable! fontfamily fontfamily = swiss! string facename = "MS Sans Serif" long textcolor = 33554432 long backcolor = 80269524 boolean enabled = false boolean autovscroll = true boolean displayonly = trDAT*H ue borderstyle borderstyle = stylelowered! end type type cb_filter from commandbutton within w_export boolean visible = false integer x = 1637 integer y = 148 integer width = 238 integer height = 84 integer taborder = 20 integer textsize = -8 integer weight = 700 fontpitch fontpitch = variable! fontfamily fontfamily = swiss! string facename = "MS Sans Serif" string text = "Filter..." end type on clicked;string ls_rtn_tbl_name SetPointer(HourGlass!) OpenWithParm(w_export_fiDAT*J lter, lb_exportlist) ls_rtn_tbl_name = Message.StringParm if ls_rtn_tbl_name <> '' and Not IsNull(ls_rtn_tbl_name) then sle_filter_table.Text = ls_rtn_tbl_name //end if // //if Not IsNull(gs_filt) then mle_filter.Text = gs_filt cb_clear_filter.Visible = TRUE end if end on type uo_pollutant from u_pollutant within w_export boolean visible = false integer x = 1536 integer y = 476 integer taborder = 200 boolean border = false end type on uo_pollutant.destroy call u_pollutaDAT*L nt::destroy end on type uo_emis_period from u_emis_period within w_export boolean visible = false integer x = 1527 integer y = 44 integer width = 832 integer taborder = 190 boolean border = false end type on uo_emis_period.destroy call u_emis_period::destroy end on type st_7 from statictext within w_export integer x = 46 integer y = 60 integer width = 567 integer height = 76 integer textsize = -8 integer weight = 700 fontpitch fontpitch = variable! fontfamily fontfamily DAT*N = swiss! string facename = "MS Sans Serif" long textcolor = 8388608 long backcolor = 80269524 boolean enabled = false string text = "File System to Export:" boolean focusrectangle = false end type type ddlb_file_system from dropdownlistbox within w_export integer x = 617 integer y = 56 integer width = 905 integer height = 528 integer taborder = 10 integer textsize = -8 integer weight = 700 fontpitch fontpitch = variable! fontfamily fontfamily = swiss! string facename = "MS SansDAT*P  Serif" long textcolor = 33554432 string text = "RAPIDS" boolean sorted = false string item[] = {"RAPIDS - Data Tables","RAPIDS - Reference Tables","RAPIDS - GLNPO Tables","RAPIDS - GIS Export","RAPIDS - NEI Export (NIF 2.0)","RAPIDS - NEI Export (NIF 3.0)"} borderstyle borderstyle = stylelowered! end type event selectionchanged; // Sets type of export to instance variable is_file_system = This.Text // Sets GLNPO export to false ib_exp_stream_act_glnpo = FALSE // Sets instance vaDAT*R riable to file type chosen // and makes other objects visable or not choose case is_file_system case 'RAPIDS - Data Tables' uo_ss.iclass_group.of_setDataLevel(uo_ss.iclass_group.ii_sourceLevel) is_filename = 'EXPORT' is_file_system_version = '' cb_filter.Visible = FALSE sle_filter_table.Visible = FALSE mle_filter.Visible = FALSE st_where.Visible = FALSE uo_emis_period.Visible = FALSE uo_pollutant.Visible = FALSE dw_ref_code.Visible = FALSE dw_unit_code.Visible DAT*T = FALSE cbx_fac_id.Visible = FALSE st_source_id_prefix_text.Visible = TRUE sle_source_id_prefix.Visible = TRUE cb_nei_parms.Visible = FALSE cb_show_nei_log.Visible = FALSE case 'RAPIDS - Reference Tables' is_filename = 'EXPORT' is_file_system_version = '' cb_filter.Visible = TRUE sle_filter_table.Visible = TRUE mle_filter.Visible = TRUE st_where.Visible = TRUE uo_emis_period.Visible = FALSE uo_pollutant.Visible = FALSE dw_ref_code.Visible = FALSE dwDAT*V _unit_code.Visible = FALSE cbx_fac_id.Visible = FALSE st_source_id_prefix_text.Visible = FALSE sle_source_id_prefix.Visible = FALSE cb_nei_parms.Visible = FALSE cb_show_nei_log.Visible = FALSE /* Added for GLNPO export. Assumed GLNPO export would be similar to "RAPIDS - Data Tables" and copied case statement from above. SDJ 10/13/97.*/ case 'RAPIDS - GLNPO Tables' uo_ss.iclass_group.of_setDataLevel(uo_ss.iclass_group.ii_sourceLevel) is_filename = 'GLNPO' is_file_sysDAT*X tem_version = '' ib_exp_stream_act_glnpo = TRUE cb_filter.Visible = FALSE sle_filter_table.Visible = FALSE mle_filter.Visible = FALSE st_where.Visible = FALSE uo_emis_period.Visible = TRUE uo_pollutant.Visible = TRUE dw_ref_code.Visible = TRUE dw_unit_code.Visible = FALSE cbx_fac_id.Visible = FALSE st_source_id_prefix_text.Visible = TRUE sle_source_id_prefix.Visible = TRUE cb_nei_parms.Visible = FALSE cb_show_nei_log.Visible = FALSE case 'RAPIDS - GIDAT*Z S Export' uo_ss.iclass_group.of_setDataLevel(uo_ss.iclass_group.ii_sourceLevel) is_filename = 'GIS' is_file_system_version = '' cb_filter.Visible = FALSE sle_filter_table.Visible = FALSE mle_filter.Visible = FALSE st_where.Visible = FALSE uo_emis_period.Visible = TRUE uo_pollutant.Visible = TRUE dw_ref_code.Visible = TRUE dw_unit_code.Visible = TRUE cbx_fac_id.Visible = FALSE st_source_id_prefix_text.Visible = TRUE sle_source_id_prefix.Visible = TRUE cbDAT*\ _nei_parms.Visible = FALSE cb_show_nei_log.Visible = FALSE case 'RAPIDS - Data Mart' uo_ss.iclass_group.of_setDataLevel(uo_ss.iclass_group.ii_sourceLevel) is_filename = 'DATA_MART' is_file_system_version = '' cb_filter.Visible = FALSE sle_filter_table.Visible = FALSE mle_filter.Visible = FALSE st_where.Visible = FALSE uo_emis_period.Visible = FALSE uo_pollutant.Visible = FALSE dw_ref_code.Visible = FALSE dw_unit_code.Visible = FALSE cbx_fac_id.Visible =DAT*^  FALSE st_source_id_prefix_text.Visible = TRUE sle_source_id_prefix.Visible = TRUE cb_nei_parms.Visible = FALSE cb_show_nei_log.Visible = FALSE case 'RAPIDS - NEI Export (NIF 2.0)' uo_ss.iclass_group.of_setDataLevel(uo_ss.iclass_group.ii_sourceLevel) is_filename = 'NEI' is_file_system_version = 'NIF2' inv_neiexport.of_settransmittaluserinput( ) cb_filter.Visible = FALSE sle_filter_table.Visible = FALSE mle_filter.Visible = FALSE st_where.Visible = FALSE DAT*` uo_emis_period.Visible = TRUE uo_pollutant.Visible = TRUE dw_ref_code.Visible = TRUE dw_unit_code.Visible = TRUE cbx_fac_id.Visible = FALSE st_source_id_prefix_text.Visible = TRUE sle_source_id_prefix.Visible = TRUE cb_nei_parms.Visible = TRUE if fileExists(sle_dir.text + is_filename + ".log") then cb_show_nei_log.enabled = true else cb_show_nei_log.enabled = false end if cb_show_nei_log.Visible = TRUE //set the units dddw to reflect valid nei unitDAT*b s dw_unit_code.of_setNeiUnitsList() case 'RAPIDS - NEI Export (NIF 3.0)' uo_ss.iclass_group.of_setDataLevel(uo_ss.iclass_group.ii_sourceLevel) is_filename = 'NEI' is_file_system_version = 'NIF3' inv_neiexport.of_settransmittaluserinput( ) cb_filter.Visible = FALSE sle_filter_table.Visible = FALSE mle_filter.Visible = FALSE st_where.Visible = FALSE uo_emis_period.Visible = TRUE uo_pollutant.Visible = TRUE dw_ref_code.Visible = TRUE dw_unit_code.Visible =DAT*d  TRUE cbx_fac_id.Visible = FALSE st_source_id_prefix_text.Visible = TRUE sle_source_id_prefix.Visible = TRUE cb_nei_parms.Visible = TRUE if fileExists(sle_dir.text + is_filename + ".log") then cb_show_nei_log.enabled = true else cb_show_nei_log.enabled = false end if cb_show_nei_log.Visible = TRUE //set the units dddw to reflect valid nei units dw_unit_code.of_setNeiUnitsList() case 'GEMAP Area Sources', 'GEMAP Point Sources' uo_ss.iclass_group.ofDAT*f _setDataLevel(uo_ss.iclass_group.ii_sourceLevel) is_filename = 'GEMAP' is_file_system_version = '' cb_filter.Visible = FALSE sle_filter_table.Visible = FALSE mle_filter.Visible = FALSE st_where.Visible = FALSE uo_emis_period.Visible = TRUE uo_pollutant.Visible = TRUE dw_ref_code.Visible = TRUE dw_unit_code.Visible = FALSE st_source_id_prefix_text.Visible = FALSE sle_source_id_prefix.Visible = FALSE cb_nei_parms.Visible = FALSE cb_show_nei_log.Visible = FALDAT*h SE if is_file_system = 'GEMAP Point Sources' then cbx_fac_id.Visible = TRUE else cbx_fac_id.Visible = FALSE end if end choose // Name of files that will be created and set to variable // Reset export list sle_name.Text = is_filename lb_exportlist.Reset() // Update the export list with the new file names lb_ExportList.TriggerEvent("SetList") end event type st_4 from statictext within w_export integer x = 41 integer y = 1636 integer width = 466 integer hDAT*j eight = 60 integer textsize = -8 integer weight = 700 fontpitch fontpitch = variable! fontfamily fontfamily = swiss! string facename = "MS Sans Serif" long textcolor = 8388608 long backcolor = 80269524 boolean enabled = false string text = "Exporting Status:" alignment alignment = center! boolean focusrectangle = false end type type sle_export_status from singlelineedit within w_export integer x = 41 integer y = 1700 integer width = 1445 integer height = 76 integer taborder = 1DAT*l 80 integer textsize = -8 integer weight = 700 fontpitch fontpitch = variable! fontfamily fontfamily = swiss! string facename = "MS Sans Serif" long textcolor = 33554432 boolean autohscroll = false boolean displayonly = true borderstyle borderstyle = stylelowered! end type type st_source_id_prefix_text from statictext within w_export integer x = 50 integer y = 640 integer width = 475 integer height = 64 integer textsize = -8 integer weight = 700 fontpitch fontpitch = variable! DAT*n fontfamily fontfamily = swiss! string facename = "MS Sans Serif" long textcolor = 8388608 long backcolor = 80269524 boolean enabled = false string text = "Source ID prefix:" boolean focusrectangle = false end type type sle_source_id_prefix from singlelineedit within w_export integer x = 526 integer y = 628 integer width = 192 integer height = 76 integer taborder = 50 integer textsize = -8 integer weight = 700 fontpitch fontpitch = variable! fontfamily fontfamily = swiss! stringDAT*p  facename = "MS Sans Serif" long textcolor = 33554432 boolean autohscroll = false textcase textcase = upper! integer limit = 3 borderstyle borderstyle = stylelowered! end type event modified;if This.Text <> '' or Not IsNull(This.Text) then SetProfileString(gs_iniFile, 'export', 'prefix', This.Text) end if end event event constructor;sle_source_id_prefix.text = ProfileString(gs_iniFile,"export","prefix","") end event type dw_list from datawindow within w_export boolean visible DAT*r = false integer x = 2409 integer y = 1440 integer width = 219 integer height = 208 string dataobject = "d_exportlist" boolean livescroll = true end type type uo_main from uo_export within w_export boolean visible = false integer x = 2665 integer y = 1440 integer width = 219 integer height = 208 long backcolor = 80269524 end type on uo_main.destroy call uo_export::destroy end on type st_numselected from statictext within w_export integer x = 471 integer y = 1164 integer DAT*t width = 192 integer height = 48 integer textsize = -8 integer weight = 700 fontpitch fontpitch = variable! fontfamily fontfamily = swiss! string facename = "MS Sans Serif" long textcolor = 8388608 long backcolor = 80269524 boolean enabled = false string text = "0" boolean focusrectangle = false end type type rb_prompt from radiobutton within w_export integer x = 1074 integer y = 1028 integer width = 288 integer height = 76 integer taborder = 100 integer textsize = -8 integer DAT*v weight = 700 fontpitch fontpitch = variable! fontfamily fontfamily = swiss! string facename = "MS Sans Serif" long textcolor = 8388608 long backcolor = 80269524 string text = "Prompt" end type type rb_over from radiobutton within w_export integer x = 567 integer y = 1028 integer width = 352 integer height = 68 integer taborder = 90 integer textsize = -8 integer weight = 700 fontpitch fontpitch = variable! fontfamily fontfamily = swiss! string facename = "MS Sans Serif" long teDAT*x xtcolor = 8388608 long backcolor = 80269524 string text = "Overwrite" boolean checked = true end type type rb_append from radiobutton within w_export integer x = 105 integer y = 1028 integer width = 302 integer height = 68 integer taborder = 70 integer textsize = -8 integer weight = 700 fontpitch fontpitch = variable! fontfamily fontfamily = swiss! string facename = "MS Sans Serif" long textcolor = 8388608 long backcolor = 80269524 string text = "Append" end type type cb_exDAT*z it from commandbutton within w_export integer x = 2523 integer y = 1692 integer width = 370 integer height = 84 integer taborder = 240 integer textsize = -8 integer weight = 700 fontpitch fontpitch = variable! fontfamily fontfamily = swiss! string facename = "MS Sans Serif" string text = "Exit" end type event clicked;Close(Parent) end event type cb_export from commandbutton within w_export integer x = 1545 integer y = 1700 integer width = 370 integer height = 84 integer tabDAT*| order = 230 integer textsize = -8 integer weight = 700 fontpitch fontpitch = variable! fontfamily fontfamily = swiss! string facename = "MS Sans Serif" string text = "Export" end type event clicked;int li_Ind, li_rpt_level, li_ss_level int i,n,li_Items, li_answer, li_num_emittant long ll_rc string ls_LevelType string ls_FileName, ls_temp_emittants[] string ls_fullfile string ls_ddlbFileSystem string ls_org_level boolean lb_runNeiExport boolean lb_exportCancel boolean lb_overwriDAT*~ te u_ds_base lds_resultSet lb_exportCancel = false if (is_file_system <> "RAPIDS - Reference Tables" AND & integer(uo_ss.st_result_count.text) = 0) then messagebox("Data Entry Incomplete","Please select source(s) for export.") return -1 end if if trim(sle_dir.text) = "" then messagebox("Data Entry Incomplete","Please select directory path for export.") return -1 end if //NEI export testing branch if is_file_system = 'RAPIDS - NEI Export (NIF 2.0)' then //returDAT* n parent.of_neiExportMain() end if if lb_exportlist.TotalSelected() = 0 then messagebox("Data Entry Incomplete","Please select file(s) from export list.") return -1 end if // If export file system is GEMAP, GLNPO or GIS check required parameter fields and // get the user input parameters if is_file_system = 'GEMAP Area Sources' or & is_file_system = 'GEMAP Point Sources' or & is_file_system = 'RAPIDS - GLNPO Tables' or & is_file_system = 'RAPIDS - GIS Export' or & is_DAT* file_system = 'RAPIDS - NEI Export (NIF 2.0)' or & is_file_system = 'RAPIDS - NEI Export (NIF 3.0)' then // SDJ When any above file system is selected, uo_pollutant and dw_ref_code // are checked to make sure an item in each has been selected. If not, a // message box appears when cb_export::clicked. // Build the list of emittants as a temporary array, then overwrite the instance array uo_pollutant.uf_get_emittants(ls_temp_emittants, li_num_emittant) if li_num_emittant <= 0 tDAT* hen messageBox("Data Entry Incomplete", "Please select emittants.", exclamation!) return -1 // elseif gs_database = 'ORACLE' and li_num_emittant > 255 then // messageBox("Data Entry", "Please select fewer emittants. " + string(li_num_emittant) + " emittants are currently selected, and the Oracle limit is 255 emittants.", exclamation!) // return -1 end if is_emittants = ls_temp_emittants ia_emittantblocks = uo_pollutant.ia_emittantblocks // SDJ 1/9/97 // Checks to make sure DAT* reference code has been selected. if dw_ref_code.uf_get_reference_codes() = FALSE then messageBox("Data Entry Incomplete","Please select reference code.") return -1 end if end if // Checks to make sure unit code has been selected for GIS and NEI export if is_file_system = 'RAPIDS - GIS Export' or is_file_system = 'RAPIDS - NEI Export (NIF 2.0)' or & is_file_system = 'RAPIDS - NEI Export (NIF 3.0)'then if dw_unit_code.uf_check_required("Data Entry Incomplete") = FALSE thDAT* en //dw_unit_code provides error message return -1 end if end if // Get user input parameters idt_start = DateTime(Date(uo_emis_period.em_start.Text)) idt_end = DateTime(Date(uo_emis_period.em_end.Text)) //this was a bug; pollutant list already populated above MDY 2001 //uo_pollutant.uf_get_emittants(is_emittants, li_num_emittant) if li_num_emittant = 0 then is_emittants[1] = 'ALL' end if is_ref_code = dw_ref_code.GetItemString(1, 1) is_unit_code = dw_unit_code.GetIteDAT* mString(1, 1) if cbx_fac_id.Checked then is_strip_src_id = 'Y' else is_strip_src_id = 'N' end if IF is_file_system = 'RAPIDS - GLNPO Tables' or & is_file_system = 'RAPIDS - GIS Export' or & is_file_system = 'RAPIDS - NEI Export (NIF 2.0)' or & is_file_system = 'RAPIDS - NEI Export (NIF 3.0)' then is_as_null = ProfileString(gs_iniFile, 'data code priority', 'null', & 'not found') IF is_as_null = 'not found' THEN // Do this in case that rapids.ini does not have tDAT* his key is_as_null = '99' SetProfileString(gs_iniFile, 'data code priority', 'null', is_as_null) END IF is_as_ro = ProfileString(gs_iniFile, 'data code priority', 'RO', & 'not found') IF is_as_ro = 'not found' THEN // Do this in case that rapids.ini does not have this key is_as_ro = '00' SetProfileString(gs_iniFile, 'data code priority', 'RO', is_as_ro) END IF END IF uof_initialize() // Get number of items in export list li_Items = lb_exportlist.ToDAT* talItems() if li_Items > 0 then // Get the level and initial ID ls_levelType = uo_ss.st_data_level.text // set ll_ss_level to numeric for comparing li_ss_level = uo_ss.iclass_group.of_getDataLevel() choose case li_ss_level case uo_ss.iclass_group.ii_nationlevel is_geo_level = 'NATION' ls_org_level = 'NATION' case uo_ss.iclass_group.ii_statelevel ls_org_level = 'STATE' is_geo_level = 'STATE' case uo_ss.iclass_group.ii_countylevel DAT* is_geo_level = 'COUNTY' ls_org_level = 'COUNTY' case uo_ss.iclass_group.ii_sourcelevel is_geo_level = 'SOURCE' ls_org_level = 'SOURCE' case uo_ss.iclass_group.ii_sourcesub1level is_geo_level = 'DEVICE' ls_org_level = 'DEVICE' case uo_ss.iclass_group.ii_sourcesub2level is_geo_level = 'PROCESS' ls_org_level = 'PROCESS' end choose //*** 10-03-97 MDY { // Determine if confidential stream activity data should be exported FOR i = 1 TO lDAT* i_items if lb_exportList.state(i) = 1 then // process listbox entry to get file type description wf_parseName(lb_exportList.text(i), ls_levelType) // if the file type is 'stream activity' then prompt for confidential //messagebox if ls_levelType = "STREAM_ACT" and & (is_file_system = 'RAPIDS - Data Tables' or & is_file_system = 'RAPIDS - Reference Tables') then //SDJ 10-27-97 li_answer = messageBox("Export Confidential Stream Activity Data?DAT* ", & "Do you want to export stream activity data marked as confidential?", & question!, yesNo!, 2) if li_answer = 1 then //export confidential records ib_exp_conf_str_act = true else //don't export confidential records ib_exp_conf_str_act = false end if exit //get out of the loop. end if end if NEXT //*** } //*** 10/24/97 SDJ Start evaluation for GLNPO export // If GLNPO export is selected, use dDAT* _exp_stream_act_glnpo FOR i = 1 TO li_items if lb_exportList.state(i) = 1 then // process listbox entry to get file type description wf_parseName(lb_exportList.text(i), ls_levelType) // if the file type is 'stream activity' then notify user // confidential records aren't included in GLNPO export if ls_levelType = "STREAM_ACT" and & is_file_system = 'RAPIDS - GLNPO Tables' then li_answer = messageBox("GLNPO Export", & "Confidential StreamDAT*  Activity data is not included in GLNPO Export.") exit //get out of the loop. end if end if NEXT //*** 10/24/97 SDJ End //set up the NEI export object for NEI export if is_file_system = 'RAPIDS - NEI Export (NIF 2.0)' or & is_file_system = 'RAPIDS - NEI Export (NIF 3.0)'then //li_answer = messageBox("NEI Export", & // "Confidential Stream Activity data is not included in NEI Export.") //roll up source selector data to the souDAT* rce level, if necessary if upperBound(uo_ss.iclass_group.il_sourceSub1Array) > 0 or & upperBound(uo_ss.iclass_group.il_sourceSub2Array) > 0 then li_answer = messageBox("NEI Export", & "Source selections will be rolled up to the source level for NEI export.") end if //validate NEI transmittal user input if inv_neiExport.of_validateTransmittalUserInput() <= 0 then cb_nei_parms.post event clicked() return -1 end if //setup the NEI expoDAT* rt object if inv_neiExport.of_initialize() <= 0 then return -1 end if lb_runNeiExport = true end if lds_resultSet = create u_ds_base if not isValid(lds_resultSet) then messageBox("Error","cb_export::clicked(); lds_resultSet object creation failure.", exclamation!) return -1 end if // copy orignal ss to datastore so we can change ss level as needed // lds_resultSet.DataObject='d_ss_group_result_set' lds_resultSet.DataObject = uo_ss.iclass_group.idDAT* s_resultSet.DataObject lds_resultSet.SetTransObject(SQLCA) uo_ss.iclass_group.ids_resultSet.RowsCopy(1,uo_ss.iclass_group.ids_resultSet.RowCount(), & Primary!, lds_resultSet, 1, Primary!) // Export all highlighted records in the list box FOR i = 1 TO li_Items if lb_exportlist.State(i) = 1 then // Parse listbox entry ls_FileName = lb_ExportList.Text(i) ls_FileName = wf_ParseName(ls_FileName, ls_LevelType) ls_fullfile = is_directoDAT* ry + ls_FileName li_answer = 0 if NOT (is_file_system = 'RAPIDS - NEI Export (NIF 2.0)' or & is_file_system = 'RAPIDS - NEI Export (NIF 3.0)') then //(nei export prompts on its own) if rb_prompt.Checked and fileexists(ls_fullfile) then li_answer = MessageBox("Append or Overwrite", & "Overwrite " + ls_fullfile + "?", Question!, YesNo!, 1) end if end if if li_answer = 1 or rb_over.Checked then FileDelete(is_direDAT* ctory + ls_FileName) end if sle_export_status.text = ls_FileName // set level for lowest retrieval level wf_rpt_level(ls_LevelType) IF is_rpt_level <> 'NONE' THEN choose case is_rpt_level case 'NATION' li_rpt_level = uo_ss.iclass_group.ii_nationlevel case 'STATE' li_rpt_level = uo_ss.iclass_group.ii_statelevel case 'COUNTY' li_rpt_level = uo_ss.iclass_group.ii_countylevel case 'SOURCE' li_rpt_level DAT* = uo_ss.iclass_group.ii_sourcelevel case 'DEVICE' li_rpt_level = uo_ss.iclass_group.ii_sourcesub1level case 'PROCESS' li_rpt_level = uo_ss.iclass_group.ii_sourcesub2level case 'CITY' end choose // need to roll up ss data if li_ss_level > li_rpt_level then is_geo_level = is_rpt_level uo_ss.iclass_group.of_setDataLevel(li_rpt_level) uo_ss.iclass_group.of_setBufferDataLevel(0) uo_ss.iclass_group.of_loadArrays(0) end DAT* if istr_all_rids.nation_rid = 0 istr_all_rids.state_rid = 0 istr_all_rids.county_rid = 0 istr_all_rids.source_rid = 0 istr_all_rids.device_rid = 0 istr_all_rids.process_rid = 0 if left(ls_LevelType, 3) = "NEI" then //NEI EXPORT ******************************* cb_cancel.visible = true cb_cancel.enabled = true cb_cancel.setFocus() ddlb_file_system.enabled = false uo_ss.enabled = false uo_emis_periDAT* od.enabled = false uo_pollutant.enabled = false dw_ref_code.enabled = false dw_unit_code.enabled = false st_source_id_prefix_text.enabled = false sle_source_id_prefix.enabled = false cb_nei_parms.enabled = false cb_add.enabled = false cb_exit.enabled = false cb_export.enabled = false cb_remove.enabled = false cb_select.enabled = false rb_append.enabled = false rb_over.enabled = false rb_prompt.enabled = false DAT*  lb_exportlist.enabled = false cb_show_nei_log.visible = true cb_show_nei_log.trigger event clicked() cb_show_nei_log.enabled = true //------------------------------- ll_rc = inv_neiExport.of_export() if ll_rc <= 0 then lb_exportCancel = true end if //------------------------------- ddlb_file_system.enabled = true uo_ss.enabled = true uo_emis_period.enabled = true uo_pollutant.enabledDAT*  = true dw_ref_code.enabled = true dw_unit_code.enabled = true st_source_id_prefix_text.enabled = true sle_source_id_prefix.enabled = true cb_nei_parms.enabled = true cb_add.enabled = true cb_exit.enabled = true cb_export.enabled = true cb_remove.enabled = true cb_select.enabled = true rb_append.enabled = true rb_over.enabled = true rb_prompt.enabled = true lb_exportlist.enabled = true cb_cancel.enableDAT* d = false dw_log_file.visible = false //prevents nei export from running more than once //(the nei export object handles the file loop itself) lb_runNeiExport = false //******************************************* else // need to set all higher rid for reports if upperbound(uo_ss.iclass_group.il_sourceSub2array) > 0 then is_geo_level = 'PROCESS' for n = 1 to upperbound(uo_ss.iclass_group.il_sourceSub2array) DAT*  istr_all_rids.process_rid = uo_ss.iclass_group.il_sourceSub2array[n] if f_populate_levels("PROCESS",istr_all_rids.process_rid,istr_all_rids) then if is_rpt_level = "CITY" then if wf_get_city_rid() then uo_main.uof_ExportInit(ls_LevelType, ls_FileName) end if else uo_main.uof_ExportInit(ls_LevelType, ls_FileName) end if end if next end if if upperbound(uo_ss.iclass_group.il_sourceSub1arraDAT* y) > 0 then is_geo_level = 'DEVICE' for n = 1 to upperbound(uo_ss.iclass_group.il_sourceSub1array) istr_all_rids.device_rid = uo_ss.iclass_group.il_sourceSub1array[n] if f_populate_levels("DEVICE",istr_all_rids.device_rid,istr_all_rids) then if is_rpt_level = "CITY" then if wf_get_city_rid() then uo_main.uof_ExportInit(ls_LevelType, ls_FileName) end if else uo_main.uof_ExportInit(ls_LevelType, ls_FileName) DAT*  end if end if next end if if upperbound(uo_ss.iclass_group.il_sourcearray) > 0 then is_geo_level = 'SOURCE' for n = 1 to upperbound(uo_ss.iclass_group.il_sourcearray) istr_all_rids.source_rid = uo_ss.iclass_group.il_sourcearray[n] if f_populate_levels("SOURCE",istr_all_rids.source_rid ,istr_all_rids) then if is_rpt_level = "CITY" then if wf_get_city_rid() then uo_main.uof_ExportInit(ls_LevelType, ls_FileNDAT* ame) end if else uo_main.uof_ExportInit(ls_LevelType, ls_FileName) end if end if next end if if upperbound(uo_ss.iclass_group.il_countyarray) > 0 then is_geo_level = 'COUNTY' for n = 1 to upperbound(uo_ss.iclass_group.il_countyarray) istr_all_rids.county_rid = uo_ss.iclass_group.il_countyarray[n] if f_populate_levels("COUNTY",istr_all_rids.county_rid,istr_all_rids) then uo_main.uof_ExportInit(DAT* ls_LevelType, ls_FileName) end if next end if if upperbound(uo_ss.iclass_group.il_statearray) > 0 then is_geo_level = 'STATE' for n = 1 to upperbound(uo_ss.iclass_group.il_statearray) istr_all_rids.state_rid = uo_ss.iclass_group.il_statearray[n] if f_populate_levels("STATE",istr_all_rids.state_rid,istr_all_rids) then uo_main.uof_ExportInit(ls_LevelType, ls_FileName) end if next end if if upperbound(uo_ss.DAT* iclass_group.il_nationarray) > 0 then is_geo_level = 'NATION' for n = 1 to upperbound(uo_ss.iclass_group.il_nationarray) istr_all_rids.nation_rid = uo_ss.iclass_group.il_nationarray[n] uo_main.uof_ExportInit(ls_LevelType, ls_FileName) next end if end if else uo_main.uof_ExportInit(ls_LevelType, ls_FileName) END IF end if // need to set data in SS back to orginal data uo_ss.iclass_group.ids_resultDAT* Set.reset() if lds_resultSet.RowsCopy(1,lds_resultSet.RowCount(), Primary!, & uo_ss.iclass_group.ids_resultSet, 1, Primary!) < 0 then if lds_resultSet.RowCount() > 0 then messagebox("Error", "w_export::cb_export::clicked(); " +& "call to ids_resultSet.RowsCopy() failed.", exclamation!) end if end if uo_ss.iclass_group.of_setDataLevel(li_ss_level) uo_ss.iclass_group.of_setBufferDataLevel(0) uo_ss.iclass_group.of_loadArrays(0) is_geo_level = ls_org_level DAT*  //prevents nei export from running more than once //(the nei export object handles the file loop itself) if (is_file_system = 'RAPIDS - NEI Export (NIF 2.0)' or is_file_system = 'RAPIDS - NEI Export (NIF 3.0)') and & not lb_runNeiExport then exit end if NEXT //li_Items (file_type) if lb_exportCancel then MessageBox("Data Export", "Export Cancelled.") else MessageBox("Data Export", "Export Completed!") end if else MessageBox("Error", "No fiDAT* les to export") end if destroy lds_resultSet SetNull(gs_filt) if NOT (is_file_system = 'RAPIDS - NEI Export (NIF 2.0)' or & is_file_system = 'RAPIDS - NEI Export (NIF 3.0)') then sle_export_status.text = '' end if return 1 end event type st_3 from statictext within w_export integer x = 41 integer y = 1164 integer width = 416 integer height = 52 integer textsize = -8 integer weight = 700 fontpitch fontpitch = variable! fontfamily fontfamily = swiss! string facenaDAT* me = "MS Sans Serif" long textcolor = 8388608 long backcolor = 80269524 boolean enabled = false string text = "Files to Export:" alignment alignment = center! boolean focusrectangle = false end type type cb_select from commandbutton within w_export integer x = 1006 integer y = 916 integer width = 370 integer height = 84 integer taborder = 60 integer textsize = -8 integer weight = 700 fontpitch fontpitch = variable! fontfamily fontfamily = swiss! string facename = "MS Sans SerifDAT* " string text = "Select..." end type event clicked;int li_Start, li_Index string ls_Dir string ls_FullFile, ls_file_ext, ls_file_filter ls_fullfile = is_filename // Based on export type selected, variable is set and types of files // to export are set to variables choose case is_file_system //***SDJ 10-28-97 Added RAPIDS - GLNPO Tables to end of line case 'RAPIDS - Data Tables', 'RAPIDS - Reference Tables', 'RAPIDS - GLNPO Tables' ls_file_ext = '' ls_file_filter = "All FDAT* iles (*.*),*.*" case 'RAPIDS - NEI Export' ls_file_ext = 'LOG' ls_file_filter = "Log Files (*.LOG),*.LOG" case 'GEMAP Area Sources' ls_file_ext = 'AR' ls_file_filter = "Output Files (*.AR),*.AR" case 'GEMAP Point Sources' ls_file_ext = 'PT' ls_file_filter = "Output Files (*.PT),*.PT" end choose if GetFileSaveName("Select Export Directory And File", ls_FullFile, & is_FileName, ls_file_ext, ls_file_filter) = 1 then if is_file_system = "RAPIDS - NEI Export" then DAT* if fileExists(ls_FullFile) then cb_show_nei_log.enabled = true else cb_show_nei_log.enabled = false end if end if // Parse out the directory name li_Index = 0 DO li_Start = li_Index li_Index = Pos(ls_FullFile, is_FileName, li_Start+1) LOOP WHILE li_Index > 0 ls_Dir = LEFT(ls_FullFile, li_Start - 1) sle_dir.Text = trim(ls_Dir) is_directory = trim(ls_Dir) setProfileString(gs_iniFile, "export", "dir", is_directory) // Get rid of the file extension lDAT* i_Start = Pos(is_FileName, ".") if li_Start > 1 then is_FileName = LEFT(is_FileName, li_Start - 1) end if sle_Name.Text = is_FileName // Update the export list with the new file names lb_ExportList.TriggerEvent("SetList") end if end event type st_2 from statictext within w_export integer x = 50 integer y = 928 integer width = 293 integer height = 68 integer textsize = -8 integer weight = 700 fontpitch fontpitch = variable! fontfamily fontfamily = swiss! string facenDAT* ame = "MS Sans Serif" long textcolor = 8388608 long backcolor = 80269524 boolean enabled = false string text = "File Name:" alignment alignment = right! boolean focusrectangle = false end type type sle_name from singlelineedit within w_export integer x = 370 integer y = 916 integer width = 357 integer height = 76 integer textsize = -8 integer weight = 700 fontpitch fontpitch = variable! fontfamily fontfamily = swiss! string facename = "MS Sans Serif" long textcolor = 33554432 DAT* boolean enabled = false boolean autohscroll = false boolean displayonly = true borderstyle borderstyle = stylelowered! end type on constructor;this.Text = is_FileName end on type st_1 from statictext within w_export integer x = 50 integer y = 812 integer width = 265 integer height = 68 integer textsize = -8 integer weight = 700 fontpitch fontpitch = variable! fontfamily fontfamily = swiss! string facename = "MS Sans Serif" long textcolor = 8388608 long backcolor = 80269524 bDAT* oolean enabled = false string text = "Directory:" alignment alignment = right! boolean focusrectangle = false end type type sle_dir from singlelineedit within w_export integer x = 343 integer y = 804 integer width = 1033 integer height = 76 integer textsize = -8 integer weight = 700 fontpitch fontpitch = variable! fontfamily fontfamily = swiss! string facename = "MS Sans Serif" long textcolor = 33554432 long backcolor = 16777215 boolean enabled = false boolean displayonly = truDAT* e borderstyle borderstyle = stylelowered! end type event constructor; // Get export directory from ini file This.Text = trim(ProfileString(gs_iniFile, "export", "dir", "")) is_directory = This.Text if is_directory <> "" then if not fileExists(is_directory) then this.text = "" is_directory = "" end if end if end event type cb_remove from commandbutton within w_export integer x = 1545 integer y = 1524 integer width = 370 integer height = 84 integer taborder = 170 inDAT* teger textsize = -8 integer weight = 700 fontpitch fontpitch = variable! fontfamily fontfamily = swiss! string facename = "MS Sans Serif" string text = "Remove All" end type event clicked;int i, li_Total li_Total = lb_ExportList.TotalItems() FOR i=0 TO li_Total lb_ExportList.SetState(i, FALSE) NEXT lb_ExportList.TriggerEvent(SelectionChanged!) end event type cb_add from commandbutton within w_export integer x = 1545 integer y = 1404 integer width = 370 integer height = 84 DAT* integer taborder = 160 integer textsize = -8 integer weight = 700 fontpitch fontpitch = variable! fontfamily fontfamily = swiss! string facename = "MS Sans Serif" string text = "Add All" end type on clicked;int i, li_Total li_Total = lb_ExportList.TotalItems() FOR i=0 TO li_Total lb_ExportList.SetState(i, TRUE) NEXT lb_ExportList.SetTop(1) lb_ExportList.TriggerEvent(SelectionChanged!) end on type gb_1 from groupbox within w_export integer x = 41 integer y = 724 integer widDAT* th = 1463 integer height = 404 integer textsize = -8 integer weight = 700 fontcharset fontcharset = ansi! fontpitch fontpitch = variable! fontfamily fontfamily = swiss! string facename = "MS Sans Serif" long textcolor = 8388608 long backcolor = 80269524 string text = "Select Export Directory and File" end type type uo_ss from u_class_ss_client within w_export integer x = 46 integer y = 176 integer width = 1467 integer height = 416 integer taborder = 30 boolean border = true boDAT* rderstyle borderstyle = stylelowered! end type on uo_ss.destroy call u_class_ss_client::destroy end on event ue_groupupdated;call super::ue_groupupdated; if isValid(inv_neiExport) then //inv_neiExport.ib_cacheLoaded = false end if return 1 end event type cbx_fac_id from checkbox within w_export boolean visible = false integer x = 41 integer y = 624 integer width = 1463 integer height = 92 integer taborder = 80 boolean bringtotop = true integer textsize = -8 integer weiDAT* ght = 700 fontcharset fontcharset = ansi! fontpitch fontpitch = variable! fontfamily fontfamily = swiss! string facename = "MS Sans Serif" long textcolor = 8388608 long backcolor = 80269524 string text = "Remove state && county codes from the Facility ID" end type type lb_exportlist from listbox within w_export event setlist pbm_custom01 integer x = 41 integer y = 1220 integer width = 1454 integer height = 388 integer taborder = 110 boolean bringtotop = true integer textsize = -DAT* 8 integer weight = 700 fontpitch fontpitch = variable! fontfamily fontfamily = swiss! string facename = "MS Sans Serif" long textcolor = 33554432 boolean vscrollbar = true boolean sorted = false boolean multiselect = true borderstyle borderstyle = stylelowered! end type event setlist;// Populate the listbox with items needed for the current level // Clear any current entries This.Reset() // Add new entries choose case is_file_system case 'RAPIDS - Data Tables' //if ii_lDAT* evel <= 4 then //Geographic AddItem(is_filename + ".GEO Geographic Locations") AddItem(is_filename + '.GGM Geo Location Group Members') AddItem(is_filename + '.COD Reference Codes') AddItem(is_filename + ".ACG Geographic Activities") AddItem(is_filename + ".GLC Geo Location Coordinates") AddItem(is_filename + '.GLG Geo Location Groups') AddItem(is_filename + '.GEF Geo Emission Factors') //end if // Legal AddItem(is_filename + ".LEG Legal Entities") AddItem(is_fileDAT* name + ".CNL Legal Contacts") AddItem(is_filename + ".LCR Legal Contact Reasons") AddItem(is_filename + ".ACL Legal Activities") // AddItem(is_filename + ".REG Regulations") //if ii_level <= 5 then // Source AddItem(is_filename + ".SRC Sources") AddItem(is_filename + '.SGM Source Group Members') AddItem(is_filename + ".ACS Source Activities") AddItem(is_filename + ".SLR Source Legal Entity Relations") AddItem(is_filename + ".CNS Source Contacts") AddItem(is_filenaDAT* me + ".SCR Source Contact Reasons") AddItem(is_filename + ".SLG Source Location Groups") AddItem(is_filename + ".SLC Source Location Coordinates") //end if //if ii_level <= 6 then // Device AddItem(is_filename + ".DEV Devices") AddItem(is_filename + ".ACD Device Activities") AddItem(is_filename + ".CND Device Contacts") AddItem(is_filename + ".DCR Device Contact Reasons") AddItem(is_filename + ".DLG Device Location Groups") AddItem(is_filename + ".DLC Device LocDAT* ation Coordinates") AddItem(is_filename + ".DGM Device Group Members") AddItem(is_filename + ".CTN Connections") //end if //if ii_level <= 7 then // Process AddItem(is_filename + ".PRO Processes") AddItem(is_filename + ".ACP Process Activities") AddItem(is_filename + ".PRS Process Schedules") AddItem(is_filename + ".PGM Process Group Members") AddItem(is_filename + ".EMF Emission Factors") //end if //if ii_level <= 8 then // Stream AddItem(is_filename + ".STR StDAT* reams") AddItem(is_filename + ".ACT Stream Activities") //end if // non-road geographic AddItem(is_filename + '.GAF Geo Seasonal Adj. Factors') AddItem(is_filename + '.GEQ Geo Equipment Counts') AddItem(is_filename + '.GSU Geographic Surrogates') // AddItem(is_filename + '.FRM Forms') // AddItem(is_filename + '.APP Applications') // AddItem(is_filename + '.DOC Documents') // AddItem(is_filename + '.DLU Document Lookups') // AddItem(is_filename + '.ALK Activity Document LooDAT* kups') case 'RAPIDS - Reference Tables' AddItem(is_filename + '.RAM Accuracy Methods') AddItem(is_filename + '.RCM Calculation Methods') AddItem(is_filename + '.RCT Coordinate Calculation Types') AddItem(is_filename + '.RDC Data Codes') AddItem(is_filename + '.RGE Geographic Types') AddItem(is_filename + '.RLT Legal Entity Types') AddItem(is_filename + '.RLC Legal Relationship Codes') AddItem(is_filename + '.RMT Materials') AddItem(is_filename + '.RMS Measurements'DAT* ) AddItem(is_filename + '.RMH Methods') AddItem(is_filename + '.RML Metric Levels') AddItem(is_filename + '.RMO Modes') AddItem(is_filename + '.RDS Operating Daily Schedules') AddItem(is_filename + '.RWS Operating Weekly Schedules') AddItem(is_filename + '.RYS Operating Yearly Schedules') AddItem(is_filename + '.RRS Reasons') AddItem(is_filename + '.RFT Reference Types') AddItem(is_filename + '.RSI SIC Codes') AddItem(is_filename + '.RNA NAICS Codes') AddItem(is_fiDAT* lename + '.RSN SIC NAICS Codes') AddItem(is_filename + '.RTC Tier Codes') AddItem(is_filename + '.RVT Value Types') AddItem(is_filename + '.RSO Source Codes') AddItem(is_filename + '.RDE Device Codes') AddItem(is_filename + '.RPR Process Codes') AddItem(is_filename + '.RST Stream Codes') AddItem(is_filename + '.RUN Units') AddItem(is_filename + '.RSA SCC-AMS Codes') AddItem(is_filename + '.RSP Generic Speciation Profiles') AddItem(is_filename + '.REF Generic Emission DAT* Factors') AddItem(is_filename + '.RGM Geographic Members') AddItem(is_filename + '.RMG Material Group Members') AddItem(is_filename + '.RGT Group Types') AddItem(is_filename + '.RMA Material Aliases') AddItem(is_filename + '.RME Metrics') AddItem(is_filename + '.RLK Metric Lookups') AddItem(is_filename + '.RUT Use Types') AddItem(is_filename + '.RMP Metric Maps') AddItem(is_filename + '.RCP Calculation Protocols') AddItem(is_filename + '.RMM Method Metrics') AddIteDAT* m(is_filename + '.ROD Operating Days') AddItem(is_filename + '.ROH Operating Hours') AddItem(is_filename + '.ROM Operating Months') AddItem(is_filename + '.RSM SCC-AMS Materials') AddItem(is_filename + '.RSR SCC-AMS Relationships') AddItem(is_filename + '.RSC SCC-AMS Speciation Codes') AddItem(is_filename + '.RSF Speciation Split Factors') AddItem(is_filename + '.RFO Form Types') // aircraft - 5/98 AddItem(is_filename + '.RAC AirCraft Categories') AddItem(is_filename DAT* + '.RTI AirCraft default Time-in-mode') AddItem(is_filename + '.RAE AirCraft Engines') AddItem(is_filename + '.RAF AirCraft Emission Factors') // mobile sources - 5/98 AddItem(is_filename + '.RVE Vehicle Types') AddItem(is_filename + '.RAT Area Facility Types') AddItem(is_filename + '.RSE Season Codes') AddItem(is_filename + '.RVC Vehicle Categories') AddItem(is_filename + '.RSU Surrogate Codes') AddItem(is_filename + '.RSG SCC-AMS Surrogate Codes') AddItem(is_filenamDAT* e + '.RDF SCC-AMS Default Factors') AddItem(is_filename + '.RCL Conversion Lookup Codes') // moblie 6 AddItem(is_filename + '.RET Emission Types') AddItem(is_filename + '.RRT Roadway Types') AddItem(is_filename + '.RAR Area Facility Road Types') /*On w_export, ddlb_file_system, "RAPIDS - GLNPO Tables" option was added. Assumed GLNPO tables would be similar to "RAPIDS - Data Tables" and copied same case statement. SDJ 10/13/97.*/ case 'RAPIDS - GLNPO Tables' //iDAT* f ii_level <= 4 then //Geographic AddItem(is_filename + ".GEO Geographic Locations") AddItem(is_filename + '.GGM Geo Location Group Members') AddItem(is_filename + '.COD Reference Codes') AddItem(is_filename + ".ACG Geographic Activities") //end if AddItem(is_filename + ".SRC Sources") AddItem(is_filename + '.SGM Source Group Members') AddItem(is_filename + ".ACS Source Activities") AddItem(is_filename + ".CNS Source Contacts") AddItem(is_filename + ".SCR Source DAT* Contact Reasons") AddItem(is_filename + ".SLG Source Location Groups") AddItem(is_filename + ".SLC Source Location Coordinates") //end if //if ii_level <= 6 then // Device AddItem(is_filename + ".DEV Devices") AddItem(is_filename + ".ACD Device Activities") AddItem(is_filename + ".CND Device Contacts") AddItem(is_filename + ".DCR Device Contact Reasons") AddItem(is_filename + ".DLG Device Location Groups") AddItem(is_filename + ".DLC Device Location Coordinates"DAT* ) AddItem(is_filename + ".DGM Device Group Members") AddItem(is_filename + ".CTN Connections") //MAS 21NOV94 //end if //if ii_level <= 7 then // Process AddItem(is_filename + ".PRO Processes") AddItem(is_filename + ".ACP Process Activities") AddItem(is_filename + ".PRS Process Schedules") AddItem(is_filename + ".PGM Process Group Members") AddItem(is_filename + ".EMF Emission Factors") //end if //if ii_level <= 8 then // Stream AddItem(is_filename + ".STR StrDAT*Peams") AddItem(is_filename + ".ACT Stream Activities") //end if // MAS 21NOV94 //if ii_level <= 9 then // Connection // AddItem(is_filename + ".CTN Connections") //end if case 'RAPIDS - Data Mart' // Data Mart data AddItem(is_filename + '.DAC Data Mart Activities') AddItem(is_filename + '.DDE Data Mart Devices') AddItem(is_filename + '.DEM Data Mart Emissions') AddItem(is_filename + '.DGL Data Mart Geographic Locations') AddItem(is_filename + '.DPR Data Mart ProcessesDAT*  n%eC^~-  of_addrowbase  $6}>/1<<1@88 }01<11<Y@8,$6)DDAT* 8L$:@)h8p$1)81<h1$:@)8$80)81180$)811$8)88l1o@o81@8z($:@)8DAT* 6 $1)881<T1@$)T8R( \"h%)*+,.$/T0h2l5v89:=?BCHFTHpd_ ll_rowll_linesll_linesdiscardedli_ili_posls_neifilenamels_linels_keyls_prevkey suvere*ir/cr6 DAT* dE tvM emT \ is_neifilename .ids_temp"" of_setfilename 4"" of_setfileaccessT"" of_loadfromfilex"" T"" line Aof_sort!"" rowcount"" linegetitemstring"" rowsdiscard "" of_savetofile("" of_resetH , D L h p      DAT*         8 @ T 8d  create8d  destroyj 88080)D88L0)x880)880)89)8j $#18(0+@+81DAT* L$808T0)d8, P1^, l$> Z v6d& ancestorreturnvalue::message( @ tX constructortxtd_nei_n3_format_transmittalof_setdatatype4Transmittal Recordsof_setfiledescription `TRof_setneirecordtype2nei_n3_format_transmittalof_setfilename of_setfileheadings idsDAT* _temp" n_ds_nei_cache_base " Failed creating datastore ids_temp." d_ds_log_filehe4D x       L d l l8$8$$, R1`, ,$*8d& ancestorreturnvalue::message( @ 4 destructorids_temp" " DAT*  $ , 45L2 P of_addrowof_removeduplicates+create+destroy+constructor+destructorx&.7D2  ids_temp  M  DAT*H3p3 45xLDAT* esgeisitponsetyufecsa,EOapv-  of_addrowbase5/ 8d  create8DAT* d  destroy88080)<88D0)h88p0)880)89)8, 1, $> Z vd& ancestorreturnvalue::message( to @ 0 constructortxtd_nei_n3_format_siteof_setdatatype-Site Recordsof_setfiledescDAT* ription QSIof_setneirecordtype2snei_n3_format_siteof_setfilename of_setfileheadings < h     4L2 0 of_addrow+create+destroy+constructorP`@j@H#2  M  DAT*W33p4zxLDAT* B&R)*-.3LtNd0 aa_record_typeaa_state_fips_and_county_fipsaa_state_facility_identifieraa_emission_unit_idaa_emission_release_point_idaa_process_idaa_sccaa_process_mact_codeaa_emission_process_descriptionaa_winter_throughput_pctaa_spring_throughput_pctaa_summer_throughput_pctaa_fall_throughput_pctaa_annual_avg_days_per_weekaa_annual_avg_weeks_per_yearaa_annual_avg_hours_per_dayaa_annual_avg_hours_per_yearaa_heat_contentaa_sulfur_contentaaDAT* _ash_contentaa_process_mact_compliance_statusaa_submittal_flagaa_tribal_codell_rcla_data$ 5Rf#(-27<e/LKhbjDAT* phlers$-  of_addrowbase 46@8 1}< 1  <p < M29}1G 8($D$T$8\09n98(@(8z'$$ 6)8}> $DAT* $80n8e@e8}$$8 0n8e@e8}$$,$840nL8[ .1 <R}  <<Y1R}M >i  }  1 <1 1 }  1 <} < MMMT vT$\$)p8}2DAT*"  )8# |1G$$$809n98^#8!$)8$$6)$8<1|,$@$H$P$1)h8 1}  <P 1< 1 <!L < MDAT*$ MMT )p89}9}M3x!-1 31  A1 AT1 ATbMi-1 31 A1 AT1 ATbMi-1 31 A1 AT1 ATbMi-1 31  A1  AT1  ATbMi1DAT*&   P lp|2: .#T'j(v*+,-0124 68:;>>d?|ACFG&H^InL|MQSTU:XLZP[t`adfhjblod7 al_rowad_throughputsj@ ld_monthlyamount@>  ld_relativeactivityamtld_mamountld_monthlyamountreset@>  ld_totalamountld_nullli_endmonthnoli_beginmonthnoli_monthsli_monthli_monthindexls_findls_yearlyschedulecodelb_findDAT*( lb_populatethroughputsll_rcll_totalcount @| -@,>-L> c> n>-> >    #)@ process_rid = inv_neiexportDAT** ids_emissionprocess0D3objectL@process_rid__get_attribute_itemhids_processspecificschedules M  lb_findli_monthindex<>-$, 8d  create8d  destroy880DAT*6 80)P88X0)880)880)89)8,1,$> Z vd& ancestorreturnvalue::message(@ 0 constructortxtd_nei_n3_format_point_emission_processof_setdatatype?Emission Process Recordsof_setfiledescription qEPof_setneirecordtype2nei_n3_formDAT*8 at_point_emission_processof_setfilename of_setfileheadings P      456L2 W of_addrowof_getthroughputsof_checkmonthamounts+create+destroy+constructorx$9AJ2  M  DAT*334CP85tdXx6kkmLDAT*< l_rcla_data 5Rft#(-27<luna #>Vqph- DAT*V  of_addrowbase 8d  create8d  destroy88080)P88X0)880)880)89)8, 1, $> Z vd& ancestorreturnvalue::DAT*@ forward global type n_ds_nei_n3_exp_transmittal from n_ds_nei_conversion_base end type end forward global type n_ds_nei_n3_exp_transmittal from n_ds_nei_conversion_base end type global n_ds_nei_n3_exp_transmittal n_ds_nei_n3_exp_transmittal type variables n_ds_nei_cache_base ids_temp end variables forward prototypes public function long of_addrow (any aa_record_type, any aa_state_fips_and_county_fips, any aa_organization_name, any aa_transaction_type, any aa_inventory_year, any DAT*B aa_inventory_type_code, any aa_transaction_creation_date, any aa_incremental_submission_number, any aa_reliability_indicator, any aa_transaction_comments, any aa_contact_person_name, any aa_contact_phone_number, any aa_telephone_number_type_name, any aa_electronic_address_text, any aa_electronic_address_type_name, any aa_source_type, any aa_affiliation_type, any aa_format_version, any aa_tribal_code) public function long of_removeduplicates () end prototypes public function long of_addrow (anDAT*D y aa_record_type, any aa_state_fips_and_county_fips, any aa_organization_name, any aa_transaction_type, any aa_inventory_year, any aa_inventory_type_code, any aa_transaction_creation_date, any aa_incremental_submission_number, any aa_reliability_indicator, any aa_transaction_comments, any aa_contact_person_name, any aa_contact_phone_number, any aa_telephone_number_type_name, any aa_electronic_address_text, any aa_electronic_address_type_name, any aa_source_type, any aa_affiliation_type, any aa_forDAT*F mat_version, any aa_tribal_code); long ll_rc any la_data[] //NEI Transmittal format //COLUMN NAME DATA TYPE WIDTH //record_type character 2 //state_fips_and_county_fips character 5 //organization_name character 80 //transaction_type character 2 //inventory_year number 4 //inventory_type_code character 10 //transaction_creation_date number 8 //incremental_submission_number number 4 //reliability_indicator decimal 5 //transactDAT*H ion_comments character 80 //contact_person_name character 70 //contact_phone_number character 15 //telephone_number_type_name character 10 //electronic_address_text character 100 //electronic_address_type_name character 10 //source_type character 25 //affiliation_type character 40 //format_version decimal 4 //tribal_code character 3 // //assign arguments to array elements la_data = {aa_record_type, & aa_state_fips_and_county_fips, & DAT*J  aa_organization_name, & aa_transaction_type, & aa_inventory_year, & aa_inventory_type_code, & aa_transaction_creation_date, & aa_incremental_submission_number, & aa_reliability_indicator, & aa_transaction_comments, & aa_contact_person_name, & aa_contact_phone_number, & aa_telephone_number_type_name, & aa_electronic_address_text, & aa_electronic_address_type_name, & aa_source_type, & aa_affiliation_type, & aa_format_version, & aa_tribal_code} //call base class DAT*L function of_addRowBase() ll_rc = this.of_addRowBase(la_data) return ll_rc end function public function long of_removeduplicates (); //loop through the transmittal output file and remove //records with duplicate state fips and county fips codes long ll_row long ll_lines, ll_linesDiscarded integer li_i, li_pos string ls_neiFileName string ls_line string ls_key, ls_prevKey //grab the name of the nei transmittal output file ls_neiFileName = is_neiFileName //remove the file eDAT*N xtension for li_i = len(ls_neiFileName) to 1 step -1 if mid(ls_neiFileName, li_i, 1) = "." then li_pos = li_i exit end if next if li_pos > 0 then ls_neiFileName = mid(ls_neiFileName, 1, li_pos - 1) end if ids_temp.of_setFileName(ls_neiFileName) //load the file into the datastore ids_temp.of_setFileAccess(read!) if ids_temp.of_loadFromFile(1) < 0 then return -1 end if ids_temp.of_setFileAccess(write!) //sort the transmittal records ids_temp.of_sort("line A") //looDAT*P p through the transmittal records and discard //rows with duplicate state and county fips codes ll_lines = 0 ll_linesDiscarded = 0 ls_prevKey = "" for ll_row = ids_temp.rowCount() to 1 step -1 ls_line = trim(ids_temp.getItemString(ll_row, "line")) if ls_line = "" then continue end if ll_lines ++ //grab the record type(2), state fips (2) and county fips (3) and right tribal_code(3) ls_key = left(ls_line, 7) + right(ls_line, 3) //if row with same key already exists, disDAT*R card current row if ls_prevKey = ls_key then ids_temp.rowsDiscard(ll_row, ll_row, primary!) ll_linesDiscarded ++ end if ls_prevKey = ls_key next //save the updated transmittal file if ids_temp.of_saveToFile(1) < 0 then return -1 end if ids_temp.of_reset() return ll_linesDiscarded end function on n_ds_nei_n3_exp_transmittal.create call super::create end on on n_ds_nei_n3_exp_transmittal.destroy call super::destroy end on event constructor;call super::consDAT*T tructor; //set the file extension and data source this.of_setDataType("txt", "d_nei_n3_format_transmittal") //set the file description this.of_setFileDescription("Transmittal Records") //set the nei record type this.of_setNeiRecordType("TR") //override the default name this.of_setFileName("nei_n3_format_transmittal") //override the default save as option of no headings this.of_setFileHeadings(true) //set up the datastore for removing duplicate //transmittal records ids_temDAT*p = create n_ds_nei_cache_base if not isValid(ids_temp) then signalError(-1, "Failed creating datastore ids_temp.") return -1 end if //use the "flat file" datastore (no delimeters) ids_temp.of_setDataType("txt", "d_ds_log_file") //file name will be set up later end event event destructor;call super::destructor; if isValid(ids_temp) then destroy ids_temp end if end event DAT* message( @ 0 constructortxtd_nei_n3_format_point_emission_periodof_setdatatype >Emission Period Recordsof_setfiledescription pPEof_setneirecordtypea2nei_n3_format_point_emission_periodof_setfilename of_setfileheadings P      4L2 0 of_addrow+create+destroy+constructorPDAT*Z  alignment="1" text="Organization Name:" border="0" color="8388608" x="18" y="36" height="80" width="1042" html.valueishtml="0" name=organization_name_t visible="1" font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="553648127" ) column(band=detail id=4 alignment="0" tabsequence=10 border="5" color="0" x="1097" y="36" height="80" width="2011" format="[general]" html.valueishtml="0" name=organizationDAT*\ _name visible="1" edit.limit=80 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.nilisnull=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="1088413663" ) text(band=detail alignment="1" text="Transaction Type:" border="0" color="8388608" x="18" y="148" height="80" width="1042" html.valueishtml="0" name=transaction_type_t visible="1" font.face="MS Sans DAT*^ Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="553648127" ) column(band=detail id=5 alignment="0" tabsequence=20 border="5" color="0" x="1097" y="148" height="80" width="2011" format="[general]" html.valueishtml="0" name=transaction_type visible="1" ddlb.limit=2 ddlb.allowedit=no ddlb.case=any ddlb.nilisnull=yes ddlb.useasborder=yes ddlb.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family=DAT*` "2" font.pitch="2" font.charset="0" background.mode="2" background.color="1088413663" ) text(band=detail alignment="1" text="Inventory Type Code:" border="0" color="8388608" x="18" y="260" height="80" width="1042" html.valueishtml="0" name=inventory_type_code_t visible="1" font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="553648127" ) column(band=detail id=8 alignment="0" tabsequence=30 border="5"DAT*b  color="0" x="1097" y="260" height="80" width="2011" format="[general]" html.valueishtml="0" name=inventory_type_code visible="1" ddlb.limit=10 ddlb.allowedit=no ddlb.case=any ddlb.nilisnull=yes ddlb.useasborder=yes ddlb.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="1088413663" ) text(band=detail alignment="1" text="Incremental Submission Number:" border="0" color="8388608" x="18" y="372" heDAT*d ight="80" width="1042" html.valueishtml="0" name=incremental_submission_number_t visible="1" font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="553648127" ) column(band=detail id=12 alignment="0" tabsequence=40 border="5" color="0" x="1097" y="372" height="80" width="2011" format="[general]" html.valueishtml="0" name=incremental_submission_number visible="1" editmask.spin=yes editmask.mask="####" eDAT*f ditmask.imemode=0 editmask.spinrange="1~~9999" editmask.spinincr=1 editmask.focusrectangle=no font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="1088413663" ) text(band=detail alignment="1" text="Transaction Comments:" border="0" color="8388608" x="18" y="484" height="80" width="1042" html.valueishtml="0" name=transaction_comments_t visible="1" font.face="MS Sans Serif" font.height="-8" font.weight="700" DAT*h  font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="553648127" ) column(band=detail id=14 alignment="0" tabsequence=50 border="5" color="0" x="1097" y="484" height="80" width="2011" format="[general]" html.valueishtml="0" name=transaction_comments visible="1" edit.limit=80 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.nilisnull=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.piDAT*j tch="2" font.charset="0" background.mode="2" background.color="1088413663" ) text(band=detail alignment="1" text="Contact Person Name:" border="0" color="8388608" x="18" y="596" height="80" width="1042" html.valueishtml="0" name=contact_person_name_t visible="1" font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="553648127" ) column(band=detail id=15 alignment="0" tabsequence=60 border="5" color="0"DAT*l  x="1097" y="596" height="80" width="2011" format="[general]" html.valueishtml="0" name=contact_person_name visible="1" edit.limit=70 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.nilisnull=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="1088413663" ) text(band=detail alignment="1" text="Contact Phone Number:" border="0" color="8388608" x="18" y="7DAT*n 08" height="80" width="1042" html.valueishtml="0" name=contact_phone_number_t visible="1" font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="553648127" ) column(band=detail id=16 alignment="0" tabsequence=70 border="5" color="0" x="1097" y="708" height="80" width="2011" format="[general]" html.valueishtml="0" name=contact_phone_number visible="1" edit.limit=15 edit.case=any edit.focusrectangle=no eDAT*p dit.autoselect=yes edit.nilisnull=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="1088413663" ) text(band=detail alignment="1" text="Contact Phone Number Type:" border="0" color="8388608" x="18" y="820" height="80" width="1042" html.valueishtml="0" name=contact_phone_number_type_t visible="1" font.face="MS Sans Serif" font.height="-8" font.weight="700" font.famiDAT*r ly="2" font.pitch="2" font.charset="0" background.mode="1" background.color="553648127" ) column(band=detail id=17 alignment="0" tabsequence=80 border="5" color="0" x="1097" y="820" height="80" width="2011" format="[general]" html.valueishtml="0" name=contact_phone_number_type visible="1" ddlb.limit=10 ddlb.allowedit=no ddlb.case=any ddlb.nilisnull=yes ddlb.useasborder=yes ddlb.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" backgDAT*t round.mode="2" background.color="1088413663" ) text(band=detail alignment="1" text="Electronic Address:" border="0" color="8388608" x="18" y="932" height="80" width="1042" html.valueishtml="0" name=electronic_address_t visible="1" font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="553648127" ) column(band=detail id=18 alignment="0" tabsequence=90 border="5" color="0" x="1097" y="932" height="80" wiDAT*v dth="2011" format="[general]" html.valueishtml="0" name=electronic_address visible="1" edit.limit=100 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.nilisnull=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="1088413663" ) text(band=detail alignment="1" text="Electronic Address Type:" border="0" color="8388608" x="18" y="1044" height="80" width="1042"DAT*x  html.valueishtml="0" name=electronic_address_type_t visible="1" font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="553648127" ) column(band=detail id=19 alignment="0" tabsequence=100 border="5" color="0" x="1097" y="1044" height="80" width="2011" format="[general]" html.valueishtml="0" name=electronic_address_type visible="1" ddlb.limit=10 ddlb.allowedit=no ddlb.case=any ddlb.nilisnull=yes ddlb.usDAT*z easborder=yes ddlb.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="1089400558" ) text(band=detail alignment="1" text="Affiliation Type:" border="0" color="8388608" x="18" y="1156" height="80" width="1042" html.valueishtml="0" name=affiliation_type_t visible="1" font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" bacDAT*| kground.color="553648127" ) text(band=detail alignment="1" text="Format Version:" border="0" color="8388608" x="18" y="1268" height="80" width="1042" html.valueishtml="0" name=format_version_t visible="1" font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="553648127" ) column(band=detail id=22 alignment="0" tabsequence=32766 border="5" color="0" x="1097" y="1268" height="80" width="2011" format="[geDAT*~ neral]" html.valueishtml="0" name=format_version visible="1" edit.limit=4 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.nilisnull=yes edit.autohscroll=yes edit.imemode=0 edit.displayonly=yes font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="79741120" ) groupbox(band=detail text=""border="5" color="8388608" x="18" y="1412" height="480" width="3145" name=gb_2 visible="1" font.face="MS SansDAT*  Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="553648127" ) column(band=detail id=21 alignment="0" tabsequence=110 border="5" color="0" x="1097" y="1156" height="80" width="2011" format="[general]" html.valueishtml="0" name=affiliation_type visible="1" ddlb.limit=40 ddlb.allowedit=no ddlb.case=any ddlb.nilisnull=yes ddlb.useasborder=yes ddlb.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.faDAT* mily="2" font.pitch="2" font.charset="0" background.mode="2" background.color="1089534975" ) column(band=detail id=23 alignment="0" tabsequence=120 border="5" color="0" x="1097" y="1444" height="80" width="2011" format="[general]" html.valueishtml="0" name=release_point_type visible="1" ddlb.limit=6 ddlb.allowedit=no ddlb.case=any ddlb.nilisnull=yes ddlb.vscrollbar=yes ddlb.useasborder=yes ddlb.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.DAT* charset="0" background.mode="2" background.color="1089400558" ) column(band=detail id=24 alignment="0" tabsequence=130 border="5" color="0" x="1097" y="1556" height="80" width="2011" format="[general]" html.valueishtml="0" name=data_level visible="1" ddlb.limit=10 ddlb.allowedit=no ddlb.case=any ddlb.nilisnull=yes ddlb.useasborder=yes ddlb.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="108940DAT* 0558" ) column(band=detail id=25 alignment="0" tabsequence=140 border="5" color="0" x="1097" y="1668" height="80" width="2011" format="[general]" html.valueishtml="0" name=rollup_confidential visible="1" ddlb.limit=3 ddlb.allowedit=no ddlb.case=any ddlb.nilisnull=yes ddlb.useasborder=yes ddlb.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="1089400558" ) text(band=detail alignment="1" text="EmDAT* ission Release Point Type (default):" border="0" color="8388608" x="18" y="1444" height="80" width="1042" html.valueishtml="0" name=release_point_type_t visible="1" font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="553648127" ) text(band=detail alignment="1" text="Data Level for Toxics (default):" border="0" color="8388608" x="18" y="1556" height="80" width="1042" html.valueishtml="0" name=data_leDAT* vel_t visible="1" font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="553648127" ) text(band=detail alignment="1" text="Roll Up Confidential?" border="0" color="8388608" x="18" y="1668" height="80" width="1042" html.valueishtml="0" name=rollup_confidential_t visible="1" font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" bDAT* ackground.color="553648127" ) text(band=detail alignment="1" text="Submittal Flag:" border="0" color="8388608" x="18" y="1780" height="80" width="1042" html.valueishtml="0" name=t_1 visible="1" font.face="MS Sans Serif" font.height="-8" font.weight="700" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="553648127" ) column(band=detail id=26 alignment="0" tabsequence=150 border="5" color="0" x="1097" y="1780" height="80" width="2011" format="[general]" html.DAT* valueishtml="0" name=submittal_flag visible="1" ddlb.limit=4 ddlb.allowedit=no ddlb.case=upper ddlb.nilisnull=yes ddlb.useasborder=yes ddlb.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="1089534975" ) column(band=detail id=27 alignment="0" tabsequence=160 border="0" color="80269524" x="3328" y="1780" height="80" width="329" format="[general]" html.valueishtml="0" name=dummy visible="1" edit.DAT*limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=no edit.nilisnull=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="80269524" ) htmltable(border="1" ) htmlgen(clientevents="1" clientvalidation="1" clientcomputedfields="1" clientformatting="0" clientscriptable="0" generatejavascript="1" netscapelayers="0" ) DAT* t#2  M  334xDAT**LDAT* space_3aa_emission_calculation_method_codeaa_ef_reliability_indicatoraa_rule_effectivenessaa_rule_effectiveness_methodaa_space_4aa_hap_emissions_performance_levelaa_control_statusaa_emission_data_levelaa_submittal_flagaa_tribal_codell_rcla_data5RftDAT* "3Ogphlerspota4 l?brotouws-  of_addrDAT* owbase 8d  create8d  destroy88080)H88P0)x880)880)89)8, 1, $> Z vd& ancestorreturnvalue::message(DAT*  @ 0 constructortxtd_nei_n3_format_point_emissionof_setdatatype7Emission Recordsof_setfiledescription aEMof_setneirecordtype2nei_n3_format_point_emissionof_setfilename of_setfileheadings H x     4L2 0 of_addrow+create+destroy+constructorPtDAT* #2  M  3 34!xLDAT*DAT* deaa_submittal_flagaa_tribal_codell_rcla_data to_b5tuRnvfestgeisitponse ty+uf6ecTsav-  of_addrowbaseDAT*  8d  create8d  destroy88080)P88X0)880)880)89)8, 1,  $> Z vd& ancestorreturnvalue::message( DAT* to @ 0 constructortxtd_nei_n3_format_point_control_equipmentof_setdatatype@Control Equipment Recordsof_setfiledescription rCEof_setneirecordtype2nei_n3_format_point_control_equipmentof_setfilename of_setfileheadingst P       4L2 0 of_addrow+create+destroy+constructorPDAT* E#2  M  334xDAT*LDAT* submittal_flagaa_horizontal_collection_method_codeaa_horizontal_accuracy_measureaa_horizontal_reference_datum_codeaa_reference_point_codeaa_source_map_scale_numberaa_coordinate_data_source_codeaa_tribal_codell_rcla_datal 5R]z#(-27<DAT* e%5EQgphlers3poVnta lro-  of_addrowbase 8d  createDAT* 8d  destroy88080)L88T0)880)880)89)8, 1,  $> Z vd& ancestorreturnvalue::message( @ 0 constructortxtd_nei_n3_format_emission_release_ptof_seDAT* tdatatype<Emission Release Point Recordsof_setfiledescription sERof_setneirecordtype2nei_n3_format_emission_release_ptof_setfilename of_setfileheadings L       4L2 0 of_addrow+create+destroy+constructorPz#2  M  DAT*33d4xLDAT* to_b5tu<nvJesVgeaisoit{ponsetyuf-  of_addrowbase 8d  create8d  destroyDAT* 88080)P88X0)880)880)89)8, 1, $> Z vd& ancestorreturnvalue::message( ib @ 0 constructortxtd_nei_n3_format_onroad_emission_periodof_setdatatype?Emission Period Recordsof_setfiledescription pPEof_setneirecordtDAT* ype2nei_n3_format_onroad_emission_periodof_setfilename of_setfileheadings P      4L2 0 of_addrow+create+destroy+constructorP f2ulat_pateogist#t2  M  DAT*C334 xLDAT* a_start_dateaa_end_dateaa_space_2aa_start_timeaa_end_timeaa_pollutant_codeaa_emission_process_descriptionaa_emission_numeric_valueaa_emission_unit_numeratoraa_emission_typeaa_em_reliability_indicatoraa_submittal_flagaa_tribal_codell_rcla_dataL| to_b5tu<nvGesUgeaislitzponDAT* setyufecsa,;LA-  of_addrowbase 8d  create8d  destroy88080)H88P0)x880)88DAT* 0)89)8, 1, $> Z vd& ancestorreturnvalue::message( to @ 0 constructortxtd_nei_n3_format_onroad_emissionof_setdatatype8Emission Recordsof_setfiledescription aEMof_setneirecordtype2nei_n3_format_onroad_emissionof_setfilename of_setfileheadings H x  DAT*    4L2 0 of_addrow+create+destroy+constructorP rclicascturpienvi#il2  M  33;DAT*4EMxVLDAT* a_emission_unit_idaa_oris_boiler_idaa_sic_unit_levelaa_naics_unit_levelaa_space_1aa_design_capacityaa_design_capacity_unit_numeratoraa_design_capacity_unit_denominatoraa_max_nameplate_capacityaa_emission_unit_descriptionaa_submittal_flagaa_tribal_codell_rcla_datahT to_b5tuRnvfesxgeisitpoDAT* nsetyuf9ecKsaZh`-  of_addrowbase 8d  create8d  destroy88080)H88P0)|880)880)8DAT* 9)8, 1, $> Z vd& ancestorreturnvalue::message( to @ 0 constructortxtd_nei_n3_format_emission_unitof_setdatatype6Emission Unit Recordsof_setfiledescription fEUof_setneirecordtype2nei_n3_format_emission_unitof_setfilename of_setfileheadings H |     DAT* 4L2 0 of_addrow+create+destroy+constructorPE#2  M  3 3Z4DAT*dlxuLDAT* _contentaa_sulfur_contentaa_ash_contentaa_process_mact_compliance_statusaa_submittal_flagaa_tribal_codell_rcla_data  5<Qqx#(-27<e8UewDAT*olor="536870912" ) htmltable(border="1" ) htmlgen(clientevents="1" clientvalidation="1" clientcomputedfields="1" clientformatting="0" clientscriptable="0" generatejavascript="1" netscapelayers="0" ) DAT* ph-  of_addrowbase 8d  create8d  destroy88080)P88X0)880)880)89)8, 1DAT* ,  $> Z vd& ancestorreturnvalue::message( @ 0 constructortxtd_nei_n3_format_area_emission_processof_setdatatype|>Area Emission Process Recordsof_setfiledescription vEPof_setneirecordtypep2nei_n3_format_area_emission_processof_setfilename of_setfileheadings P       DAT* 4L2 0 of_addrow+create+destroy+constructorPq#2  M  334DAT*xLDAT* rol_efficiencyaa_primary_device_type_codeaa_secondary_device_type_codeaa_control_system_descriptionaa_submittal_flagaa_tribal_codell_rcla_data8 to_b5tu<nvNespgeisitponsety'uf8--  of_addrowbase DAT* forward global type n_ds_nei_n3_exp_site from n_ds_nei_conversion_base end type end forward global type n_ds_nei_n3_exp_site from n_ds_nei_conversion_base end type global n_ds_nei_n3_exp_site n_ds_nei_n3_exp_site forward prototypes public function long of_addrow (any aa_record_type, any aa_state_fips_and_county_fips, any aa_state_facility_identifier, any aa_facility_registry_identifier, any aa_facility_category, any aa_oris_facility_code, any aa_sic_primary, any aa_naics_primary, any aDAT* a_facility_name, any aa_site_description, any aa_location_address, any aa_city, any aa_state, any aa_zipcode, any aa_country, any aa_nti_site_id, any aa_dun_bradstreet_number, any aa_tri_id, any aa_submittal_flag, any aa_tribal_code) end prototypes public function long of_addrow (any aa_record_type, any aa_state_fips_and_county_fips, any aa_state_facility_identifier, any aa_facility_registry_identifier, any aa_facility_category, any aa_oris_facility_code, any aa_sic_primary, any aa_naics_primaDAT* ry, any aa_facility_name, any aa_site_description, any aa_location_address, any aa_city, any aa_state, any aa_zipcode, any aa_country, any aa_nti_site_id, any aa_dun_bradstreet_number, any aa_tri_id, any aa_submittal_flag, any aa_tribal_code); long ll_rc any la_data[] //NEI Site Format //COLUMN NAME DATA TYPE WIDTH //RECORD TYPE CHARACTER 2 //STATE FIPS CHARACTER 2 //COUNTY FIPS CHARACTER 3 //SITE ID CHARACTER 15 //FEDERAL FACILITY ID CHARACTER 12DAT*  //FACILITY CATEGORY CHARACTER 2 //ORIS FACILITY CODE CHARACTER 6 //SIC PRIMARY NUMBER 4 //NAICS PRIMARY NUMBER 6 //FACILITY NAME CHARACTER 50 //SITE DESCRIPTION CHARACTER 40 //STREET LINE 1 CHARACTER 30 //STREET LINE 2 CHARACTER 30 //STREET LINE 3 CHARACTER 30 //CITY CHARACTER 30 //STATE CHARACTER 2 //ZIPCODE CHARACTER 10 //COUNTRY CHARACTER 20 //ADDRESS TYPE CODE CHARACTER 2 //NTI SITE ID CHARACTER 20 //SITE MADAT* CT CODE CHARACTER 6 //SITE MACT COMPLIANCE STATUS CHARACTER 6 //DUN & BRADSTREET NUMBER CHARACTER 10 //TRI ID CHARACTER 20 //SUBMITTAL FLAG CHARACTER 4 //assign arguments to array elements la_data = {aa_record_type, & aa_state_fips_and_county_fips, & aa_state_facility_identifier, & aa_facility_registry_identifier, & aa_facility_category, & aa_oris_facility_code, & aa_sic_primary, & aa_naics_primary, & aa_facility_name, & aa_site_description, & aa_locatioDAT* n_address, & aa_city, & aa_state, & aa_zipcode, & aa_country, & aa_nti_site_id, & aa_dun_bradstreet_number, & aa_tri_id, & aa_submittal_flag, & aa_tribal_code} //call base class function of_addRowBase() ll_rc = this.of_addRowBase(la_data) return ll_rc end function on n_ds_nei_n3_exp_site.create call super::create end on on n_ds_nei_n3_exp_site.destroy call super::destroy end on event constructor;call super::constructor; //set the file extension and data soDAT*ource this.of_setDataType("txt", "d_nei_n3_format_site") //set the file description this.of_setFileDescription("Site Records") //set the nei record type this.of_setNeiRecordType("SI") //override the default name this.of_setFileName("nei_n3_format_site") //override the default save as option of no headings this.of_setFileHeadings(true) end event DAT* 8d  create8d  destroy88080)P88X0)880)880)89)8, 1, $> Z vd& ancestorreturnvalue::message( aDAT*  @ 0 constructortxtd_nei_n3_format_area_control_equipmentof_setdatatype?Area Control Equipment Recordsof_setfiledescription wCEof_setneirecordtype2nei_n3_format_area_control_equipmentof_setfilename of_setfileheadings P      4L2 0 of_addrow+create+destroy+constructorP orpead_ty_fa_DAT* aa_p#od2  M  33'4 19xBLDAT* DAT* it{ponsetyufecsa.@O`U-  of_addrowbase 8d  create8d  destroy880DAT* 80)L88T0)880)880)89)8, 1, $> Z vd& ancestorreturnvalue::message( to @ 0 constructortxtd_nei_n3_format_area_emission_periodof_setdatatype=Area Emission Period Recordsof_setfiledescription qPEof_setneirecordtype2nei_n3_areDAT* a_emission_periodof_setfilename of_setfileheadings L      4L2 0 of_addrow+create+destroy+constructorPE#2  M  DAT*$33O4YaxjLDAT* numeratoraa_emission_typeaa_em_reliability_indicatoraa_factor_numeric_valueaa_factor_unit_numeratoraa_factor_unit_denominatoraa_materialaa_material_ioaa_space_3aa_emission_calculation_method_codeaa_ef_reliability_indicatoraa_rule_effectivenessaa_rule_effectiveness_methodaa_rule_penetrationaa_submittal_flagaa_tribal_codell_rcla_data$D 5<NYDAT* g#s(~-27<e+FRalphlerspota l$-  of_addrowbase DAT* 8d  create8d  destroy88080)H88P0)|880)880)89)8, 1, $> Z vd& ancestorreturnvalue::message(DAT*  @ 0 constructortxtd_nei_n3_format_area_emissionof_setdatatype6Area Emission Recordsof_setfiledescription fEMof_setneirecordtype2nei_n3_format_area_emissionof_setfilename of_setfileheadings H |     4L2 0 of_addrow+create+destroy+constructorPY#2 DAT* M  3 3L4i&ix/kLDAT*        :F@@8)8|8$#@jdl$#18t0+@+81$)8$)8$)8$66)0888X1<$6)X8)`8|$#(jDAT* $#180+@+81$)8D$)8$)8$66)8881 $6)(8)08@T$#\j$#h180+@+81$)8$)8DAT* $)8$66)8881$6)8)8@$#Hjt|$#180+@+81$)8$)8$)8$66)888~1$6)8)DAT* 8<$#NDjt|$#,180+@+81$)8j$)8$)8$66)8881$6) 8)8f@$#Hjx$#180+@+81$DAT* forward global type n_ds_nei_n3_exp_area_emission_process from n_ds_nei_conversion_base end type end forward global type n_ds_nei_n3_exp_area_emission_process from n_ds_nei_conversion_base end type global n_ds_nei_n3_exp_area_emission_process n_ds_nei_n3_exp_area_emission_process forward prototypes public function long of_addrow (any aa_record_type, any aa_state_and_county_fips_code, any aa_scc, any aa_process_mact_code, any aa_emission_process_description, any aa_sic, any aa_naics, anDAT* y aa_winter_throughput_pct, any aa_spring_throughput_pct, any aa_summer_throughput_pct, any aa_fall_throughput_pct, any aa_annual_avg_days_per_week, any aa_annual_avg_weeks_per_year, any aa_annual_avg_hours_per_day, any aa_annual_avg_hours_per_year, any aa_heat_content, any aa_sulfur_content, any aa_ash_content, any aa_process_mact_compliance_status, any aa_submittal_flag, any aa_tribal_code) end prototypes public function long of_addrow (any aa_record_type, any aa_state_and_county_fips_code, DAT* any aa_scc, any aa_process_mact_code, any aa_emission_process_description, any aa_sic, any aa_naics, any aa_winter_throughput_pct, any aa_spring_throughput_pct, any aa_summer_throughput_pct, any aa_fall_throughput_pct, any aa_annual_avg_days_per_week, any aa_annual_avg_weeks_per_year, any aa_annual_avg_hours_per_day, any aa_annual_avg_hours_per_year, any aa_heat_content, any aa_sulfur_content, any aa_ash_content, any aa_process_mact_compliance_status, any aa_submittal_flag, any aa_tribal_code);lonDAT* g ll_rc any la_data[] //NEI Area Emission Process Format //COLUMN NAME DATA TYPE WIDTH //record_type character 2 //state_and_county_fips_code character 5 //scc character 10 //process_mact_code character 6 //emission_process_description character 78 //sic character 4 //naics character 6 //winter_throughput_pct number 3 //spring_throughput_pct number 3 //summer_throughput_pct number 3 //fall_throughput_pct DAT*  number 3 //annual_avg_days_per_week number 1 //annual_avg_weeks_per_year number 2 //annual_avg_hours_per_day number 2 //annual_avg_hours_per_year number 4 //heat_content decimal 8 //sulfur_content decimal 5 //ash_content decimal 5 //process_mact_compliance_status character 6 //submittal_flag character 4 //tribal_code character 3 //assign arguments to array elements la_data = { aa_record_type, & aa_state_and_county_fips_codeDAT* , & aa_scc, & aa_process_mact_code, & aa_emission_process_description, & aa_sic, & aa_naics, & aa_winter_throughput_pct, & aa_spring_throughput_pct, & aa_summer_throughput_pct, & aa_fall_throughput_pct, & aa_annual_avg_days_per_week, & aa_annual_avg_weeks_per_year, & aa_annual_avg_hours_per_day, & aa_annual_avg_hours_per_year, & aa_heat_content, & aa_sulfur_content, & aa_ash_content, & aa_process_mact_compliance_status, & aa_submittal_flag, & aa_tribal_code} DAT*  //call base class function of_addRowBase() ll_rc = this.of_addRowBase(la_data) return ll_rc end function on n_ds_nei_n3_exp_area_emission_process.create call super::create end on on n_ds_nei_n3_exp_area_emission_process.destroy call super::destroy end on event constructor;call super::constructor; //set the file extension and data source this.of_setDataType("txt", "d_nei_n3_format_area_emission_process") //set the file description this.of_setFileDescription("Area EmissioDAT*n Process Records") //set the nei record type this.of_setNeiRecordType("EP") //override the default name this.of_setFileName("nei_n3_format_area_emission_process") //override the default save as option of no headings this.of_setFileHeadings(true) end event DAT* )8$)8$)8$66)888B1$6) 8)8 8$# @jhp$#18x0+@+81$)8. $)8$)8$66)888DAT*"  1$6)8)8* $$#t ,jT\$#R 18d0+@+81$)8 $)8$)8$66)888 1$6)8)8  $# j<D$# 18DAT*$ L0+@+81$)8 $)8$)8$66)888h 1$6)8)8  $#8  j8 @ $# 18H 0+@+81 $) 8T  $) 8 $) 8DAT*&  $66) 888 1 $6) 8) 8P $# j4 < $#x18D 0+@+81 $) 8 $) 8 $) 8 $66) 888,1 $6) 8) 8 $#DAT*(  j4 < $#18D 0+@+81 $) 8 $) 8 $) 8 $66) 8881 $6) 8) 8 $#^ j4 < $#<18D 0+@+81 $) 8z $DAT** ) 8 $) 8 $66) 8881 $6) 8) 8v $# j4 < $#18D 0+@+81 $) 8 $) 8 $) 8 $66) 888R1 $DAT*, 6) 81 .BXl!"#4%H(X0|35678;=$?(DDEfFGJRUWXY0ZX]h_afghi lt@wTyhz~{|*Zn~,JNj,BV~2Bfz  . P   B R p t      * DAT*. > R h |  # % ' , - .D /X 2h : = ? @ A B E G4 I8 NT Ov P Q T Z ]_`,a@bhexginopqt,zP}dx:j~,<Z^z(<Rf.BRvd" ls_recordtypels_filename(    of_getrunsi&ids_n3_transmittaloutput3"3DAT*0 "n_ds_nei_n3_exp_transmittalH"3"Failed creating datastore ids_n3_transmittalOutput3"of_register3"of_reset3"of_getneirecordtype3is_sourcetypecodeeof_getfilename-H ?ig3"of_setneifilenameri1D&ids_n3_siteoutputh2!h2!n_ds_nei_n3_exp_sitease!h2!Failed creating datastore ids_n3_siteOutputh2!h2!h2!3eH h2!1D&ids_DAT*2 n3_emissionunitoutput8+8+n_ds_nei_n3_exp_emission_unitd8+Failed creating datastore ids_n3_emissionUnitOutput8+8+8+3eH 8+1D&ids_n3_emissionreleaseptoutput * *n_ds_nei_n3_exp_emission_release_ptP *Failed creating datastore ids_n3_emissionReleasePtOutput * * *3eH  *1D&ids_n3_pointcontrolequipmeDAT*4 ntoutput..n_ds_nei_n3_exp_point_control_equipmentL.Failed creating datastore ids_n3_pointControlEquipmentOutput+...3eH .1D&ids_n3_areacontrolequipmentoutput&&n_ds_nei_n3_exp_area_control_equipmentP&Failed creating datastore ids_n3_areaControlEquipmentOutput&&&3eH &1D&ids_n3_pointDAT*6 emissionoutput//n_ds_nei_n3_exp_point_emissionH/Failed creating datastore ids_n3_pointEmissionOutput///3eH /1D&ids_n3_areaemissionoutput''n_ds_nei_n3_exp_area_emission4'Failed creating datastore ids_n3_areaEmissionOutput'''3eH '1D&ids_n3_onroademissionoutput,,n_DAT*8 ds_nei_n3_exp_onroad_emission,Failed creating datastore ids_n3_onroadEmissionOutput,,,3eH ,1D&ids_n3_pointemissionperiodoutput00n_ds_nei_n3_exp_point_emission_period 0Failed creating datastore ids_n3_pointEmissionPeriodOutput0003eH 01D&ids_n3_areaemissionperiodoutput ( (n_ds_neiDAT*: _n3_exp_area_emission_periodnit  (Failed creating datastore ids_n3_areaEmissionPeriodOutputs_ ( ( (3eH  (1D&ids_n3_onroademissionperiodoutput - -n_ds_nei_n3_exp_onroad_emission_period  -Failed creating datastore ids_n3_onroadEmissionPeriodOutput - - -3eH  -1D&ids_n3_pointemissionprocessoutput 1 1DAT*<  n_ds_nei_n3_exp_point_emission_process 1 Failed creating datastore ids_n3_pointEmissionProcessOutput 1  1  1 3eH  1 1D&ids_n3_areaemissionprocessoutput8 ) )n_ds_nei_n3_exp_area_emission_process+  )Failed creating datastore ids_n3_areaEmissionProcessOutput ) ) )3eH  )1D 8 @ dl  DAT*>       0 < X ` |             ( 0 T \             @ H t|            < D t|     DAT*\         @ H x             8 @ hp            $ , T\               <D       DAT*B forward global type n_ds_nei_n3_exp_emission_release_pt from n_ds_nei_conversion_base end type end forward global type n_ds_nei_n3_exp_emission_release_pt from n_ds_nei_conversion_base end type global n_ds_nei_n3_exp_emission_release_pt n_ds_nei_n3_exp_emission_release_pt forward prototypes public function long of_addrow (any aa_record_type, any aa_state_fips_and_county_fips, any aa_state_facility_identifier, any aa_space_1, any aa_emission_release_point_id, any aa_emission_release_poiDAT*D nt_type, any aa_space_2, any aa_stack_height, any aa_stack_diameter, any aa_stack_fenceline_distance, any aa_exit_gas_temperature, any aa_exit_gas_velocity, any aa_exit_gas_flow_rate, any aa_x_coordinate, any aa_y_coordinate, any aa_utm_zone, any aa_xy_coordinate_type, any aa_horizontal_area_fugitive, any aa_release_height_fugitive, any aa_fugitive_dimensions_unit, any aa_emission_release_pt_description, any aa_submittal_flag, any aa_horizontal_collection_method_code, any aa_horizontal_accuracy_meDAT*F asure, any aa_horizontal_reference_datum_code, any aa_reference_point_code, any aa_source_map_scale_number, any aa_coordinate_data_source_code, any aa_tribal_code) end prototypes public function long of_addrow(any aa_record_type, any aa_state_fips_and_county_fips, any aa_state_facility_identifier, any aa_space_1, any aa_emission_release_point_id, any aa_emission_release_point_type, any aa_space_2, any aa_stack_height, any aa_stack_diameter, any aa_stack_fenceline_distance, any aa_exit_gas_tempDAT*H erature, any aa_exit_gas_velocity, any aa_exit_gas_flow_rate, any aa_x_coordinate, any aa_y_coordinate, any aa_utm_zone, any aa_xy_coordinate_type, any aa_horizontal_area_fugitive, any aa_release_height_fugitive, any aa_fugitive_dimensions_unit, any aa_emission_release_pt_description, any aa_submittal_flag, any aa_horizontal_collection_method_code, any aa_horizontal_accuracy_measure, any aa_horizontal_reference_datum_code, any aa_reference_point_code, any aa_source_map_scale_number, any aa_coordinDAT*J ate_data_source_code, any aa_tribal_code);long ll_rc any la_data[] //NEI Emission Release Point Format //COLUMN NAME DATA TYPE WIDTH //record_type character 2 //state_fips_and_county_fips character 5 //state_facility_identifier character 15 //space_1 character 6 //emission_release_point_id character 6 //emission_release_point_type character 2 //space_2 character 10 //stack_height decimal 10 //stack_diameter decimal 10 DAT*L //stack_fenceline_distance decimal 8 //exit_gas_temperature decimal 10 //exit_gas_velocity decimal 10 //exit_gas_flow_rate decimal 10 //x_coordinate decimal 11 //y_coordinate decimal 10 //utm_zone number 2 //xy_coordinate_type character 8 //horizontal_area_fugitive number 8 //release_height_fugitive number 8 //fugitive_dimensions_unit character 10 //emission_release_pt_description character 80 //submittal_flag characteDAT*N r 4 //horizontal_collection_method_code character 3 //horizontal_accuracy_measure character 6 //horizontal_reference_datum_code character 3 //reference_point_code character 3 //source_map_scale_number character 10 //coordinate_data_source_code character 3 //tribal_code character 3 //assign arguments to array elements la_data = {aa_record_type, & aa_state_fips_and_county_fips, & aa_state_facility_identifier, & aa_space_1, & aa_emission_release_point_id, & DAT*^  aa_emission_release_point_type, & aa_space_1, & aa_stack_height, & aa_stack_diameter, & aa_stack_fenceline_distance, & aa_exit_gas_temperature, & aa_exit_gas_velocity, & aa_exit_gas_flow_rate, & aa_x_coordinate, & aa_y_coordinate, & aa_utm_zone, & aa_xy_coordinate_type, & aa_horizontal_area_fugitive, & aa_release_height_fugitive, & aa_fugitive_dimensions_unit, & aa_emission_release_pt_description, & aa_submittal_flag, & aa_horizontal_collection_method_code, & aNOD* 8ENT*0600R$,6A+d_nei_n3_format_area_control_equipment.dwoENT*0600-g_@3+d_nei_n3_format_area_control_equipment.srdENT*0600$U7A"d_nei_n3_format_area_emission.dwoENT*0600`Cs@*"d_nei_n3_format_area_emission.srdENT*0600B;7A)d_nei_n3_format_area_emission_period.dwoENT*0600@ @1)d_nei_n3_format_area_emission_period.srdENT*0600,D7A*d_nei_n3_format_area_emission_process.dwoENT*0600M__@2*d_nei_n3_format_area_emission_process.srdENT*0600\7A(d_nei_n3_format_emission_release_pt.dwoENT*0600jKO&A3(d_nei_n3_format_emission_release_pt.srdENT*0600*r47A"d_nei_n3_format_emission_unit.dwoENT*0600&7g`A*"d_nei_n3_format_emission_unit.srdDAT*b        8 @              4 <              4 <              4 <           DAT*` a_horizontal_accuracy_measure, & aa_horizontal_reference_datum_code, & aa_reference_point_code, & aa_source_map_scale_number, & aa_coordinate_data_source_code, & aa_tribal_code} //call base class function of_addRowBase() ll_rc = this.of_addRowBase(la_data) return ll_rc end function on n_ds_nei_n3_exp_emission_release_pt.create call super::create end on on n_ds_nei_n3_exp_emission_release_pt.destroy call super::destroy end on event constructor;call super::constructoDAT*r; //set the file extension and data source this.of_setDataType("txt", "d_nei_n3_format_emission_release_pt") //set the file description this.of_setFileDescription("Emission Release Point Records") //set the nei record type this.of_setNeiRecordType("ER") //override the default name this.of_setFileName("nei_n3_format_emission_release_pt") //override the default save as option of no headings this.of_setFileHeadings(true) end event DAT*     4 <           )8111}P,$<)48#11<$<=6 8D \/}t8|0808080DAT*f forward global type n_ds_nei_n3_exp_point_emission_process from n_ds_nei_conversion_base end type end forward global type n_ds_nei_n3_exp_point_emission_process from n_ds_nei_conversion_base end type global n_ds_nei_n3_exp_point_emission_process n_ds_nei_n3_exp_point_emission_process forward prototypes public function long of_addrow (any aa_record_type, any aa_state_fips_and_county_fips, any aa_state_facility_identifier, any aa_emission_unit_id, any aa_emission_release_point_id, any aaDAT*h _process_id, any aa_scc, any aa_process_mact_code, any aa_emission_process_description, any aa_winter_throughput_pct, any aa_spring_throughput_pct, any aa_summer_throughput_pct, any aa_fall_throughput_pct, any aa_annual_avg_days_per_week, any aa_annual_avg_weeks_per_year, any aa_annual_avg_hours_per_day, any aa_annual_avg_hours_per_year, any aa_heat_content, any aa_sulfur_content, any aa_ash_content, any aa_process_mact_compliance_status, any aa_submittal_flag, any aa_tribal_code) public functionDAT*j  integer of_getthroughputs (long al_row, ref decimal ad_throughputs[4]) public function boolean of_checkmonthamounts (decimal ad_monthamounts[12]) end prototypes public function long of_addrow (any aa_record_type, any aa_state_fips_and_county_fips, any aa_state_facility_identifier, any aa_emission_unit_id, any aa_emission_release_point_id, any aa_process_id, any aa_scc, any aa_process_mact_code, any aa_emission_process_description, any aa_winter_throughput_pct, any aa_spring_throughput_pct, aDAT*l ny aa_summer_throughput_pct, any aa_fall_throughput_pct, any aa_annual_avg_days_per_week, any aa_annual_avg_weeks_per_year, any aa_annual_avg_hours_per_day, any aa_annual_avg_hours_per_year, any aa_heat_content, any aa_sulfur_content, any aa_ash_content, any aa_process_mact_compliance_status, any aa_submittal_flag, any aa_tribal_code);long ll_rc any la_data[] //NEI Point Emission Process Format //COLUMN NAME DATA TYPE WIDTH //record_type character 2 //state_fips_and_DAT*n county_fips character 5 //state_facility_identifier character 15 //emission_unit_id character 6 //emission_release_point_id character 6 //process_id character 6 //scc character 10 //process_mact_code character 6 //emission_process_description character 78 //winter_throughput_pct decimal 3 //spring_throughput_pct decimal 3 //summer_throughput_pct decimal 3 //fall_throughput_pct decimal 3 //annual_avg_days_per_week number 1 //annual_avg_weeksDAT*p _per_year number 2 //annual_avg_hours_per_day number 2 //annual_avg_hours_per_year number 4 //heat_content decimal 8 //sulfur_content decimal 5 //ash_content decimal 5 //process_mact_compliance_status character 6 //submittal_flag character 4 //tribal_code character 3 if aa_winter_throughput_pct >= 10 then aa_winter_throughput_pct = round(aa_winter_throughput_pct,0) end if if aa_spring_throughput_pct >= 10 then aa_spring_throughput_pct = roDAT*r und(aa_spring_throughput_pct,0) end if if aa_summer_throughput_pct >= 10 then aa_summer_throughput_pct = round(aa_summer_throughput_pct,0) end if if aa_fall_throughput_pct >= 10 then aa_fall_throughput_pct = round(aa_fall_throughput_pct,0) end if // //assign arguments to array elements la_data = { aa_record_type, & aa_state_fips_and_county_fips, & aa_state_facility_identifier, & aa_emission_unit_id, & aa_emission_release_point_id, & aa_process_id, & aa_scc, & aaDAT*t _process_mact_code, & aa_emission_process_description, & aa_winter_throughput_pct, & aa_spring_throughput_pct, & aa_summer_throughput_pct, & aa_fall_throughput_pct, & aa_annual_avg_days_per_week, & aa_annual_avg_weeks_per_year, & aa_annual_avg_hours_per_day, & aa_annual_avg_hours_per_year, & aa_heat_content, & aa_sulfur_content, & aa_ash_content, & aa_process_mact_compliance_status, & aa_submittal_flag, & aa_tribal_code} //call base class function of_addRowBase() DAT*v ll_rc = this.of_addRowBase(la_data) return ll_rc end function public function integer of_getthroughputs (long al_row, ref decimal ad_throughputs[4]);////step 1 dec ld_monthlyAmount[12], ld_relativeActivityAmt, ld_mAmount, ld_monthlyAmountReset[12], ld_totalAmount, ld_null integer li_endMonthNo, li_beginMonthNo, li_months, li_month, li_monthIndex string ls_find, ls_yearlyScheduleCode boolean lb_find, lb_populatethroughputs long ll_rc, ll_totalCount = 0 setnull(ld_null) ////initialiDAT*x ze monthly amount reset for li_monthIndex = 1 to upperbound(ld_monthlyAmountReset) ld_monthlyAmountReset[li_monthIndex] = ld_null next lb_populatethroughputs = false ld_totalAmount = 0 //step 2 ls_find = 'process_rid = ' + string(inv_neiexport.ids_emissionprocess.object.process_rid[al_row]) lb_find = inv_neiexport.ids_processspecificschedules.of_find(ls_find) //step 6 repeat steps 3-5 for each record retrieved do while lb_find li_beginMonthNo = integer(inv_neiexport.ids_proceDAT*z ssspecificschedules.of_getdata('begin_month_no')) li_endMonthNo = integer(inv_neiexport.ids_processspecificschedules.of_getdata('end_month_no')) ld_relativeActivityAmt = inv_neiexport.ids_processspecificschedules.of_getdata('relative_activity_amt') //step 3 - calculate number of months if li_endMonthNo < li_beginMonthNo then li_endMonthNo = li_endMonthNo + 12 end if li_months = li_endMonthNo - li_beginMonthNo + 1 //step 4 - monthly amount ld_mAmount = ld_relativeActivityAmtDAT*|  / li_months //step 5 li_month = li_beginMonthNo Do while li_month <= li_endMonthNo if mod(li_month, 12) = 0 then li_monthIndex = 12 else li_monthIndex = mod(li_month, 12) end if ld_monthlyAmount[li_monthIndex] = ld_mAmount ld_totalAmount = ld_totalAmount + ld_mAmount li_month++ loop lb_find = inv_neiexport.ids_processspecificschedules.of_findNext() loop //step 7 check to make sure all 12 slots are filled. if not of_checkmonthamounts DAT*~ (ld_monthlyAmount ) then //step 8 check against the rap_operating_months //clear monthly amount array and total amount array. ld_monthlyAmount= ld_monthlyAmountReset ld_totalAmount = 0 ls_yearlyScheduleCode = trim(inv_neiexport.ids_emissionprocess.object.yearly_schedule_code[al_row]) if not isnull(ls_yearlyScheduleCode) and ls_yearlyScheduleCode <> '' then //open up rap operating months cache if inv_neiexport.of_getRun() then ll_rc = inv_neiexport.ids_rapoperatingmDAT* onths.of_populate(ls_yearlyScheduleCode) if ll_rc < 0 then return ll_rc end if if inv_neiexport.ib_debug then inv_neiexport.ids_rapoperatingmonths.of_saveToFile(1) end if end if for li_monthIndex = 1 to ll_rc if li_monthIndex >= 1 and li_monthIndex <= upperbound(ld_monthlyAmount) then ld_monthlyAmount[li_monthIndex] = ld_mAmount ld_totalAmount = ld_totalAmount + ld_mAmount end if next if of_checkmonthamounts (ld_monthlyDAT* Amount ) then lb_populatethroughputs = true end if end if else lb_populatethroughputs = true end if if lb_populatethroughputs and ld_totalAmount <> 0 then //Winter Throughput Pct ad_throughputs[1] = 100 * (ld_monthlyAmount[12] + ld_monthlyAmount[1] + ld_monthlyAmount[2] ) / ( ld_totalAmount ) //Spring Throughput Pct ad_throughputs[2] = 100 * (ld_monthlyAmount[3] + ld_monthlyAmount[4] + ld_monthlyAmount[5] ) / ( ld_totalAmount ) //Summer Throughput Pct ad_thDAT* roughputs[3] = 100 * (ld_monthlyAmount[6] + ld_monthlyAmount[7] + ld_monthlyAmount[8] ) / ( ld_totalAmount ) //Fall Throughput Pct ad_throughputs[4] = 100 * (ld_monthlyAmount[9] + ld_monthlyAmount[10] + ld_monthlyAmount[11] ) / ( ld_totalAmount ) end if return 1 end function public function boolean of_checkmonthamounts (decimal ad_monthamounts[12]);boolean lb_find integer li_monthIndex //step 7 check to make sure all 12 slots are filled. li_monthIndex = 1 lb_find = true DDAT*O if isnull(ad_monthAmounts[li_monthIndex]) then lb_find = false exit end if li_monthIndex++ LOOP UNTIL li_monthIndex > upperbound(ad_monthAmounts) return lb_find end function on n_ds_nei_n3_exp_point_emission_process.create call super::create end on on n_ds_nei_n3_exp_point_emission_process.destroy call super::destroy end on event constructor;call super::constructor; //set the file extension and data source this.of_setDataType("txt", "d_nei_n3_format_point_emissioDAT* 808 4/}$8,048<0@8H0L8T0d8l08x /}80808080808 /}808 0@8H0L8TDAT* 0h8p018z%8z&+@+818$z%8z&$9)8$6)8$9)811$)88 0)488<P$<B@B8)X88`t$z%)|88<$<B@B8)8DAT* (@(88z&$z&8z&)88 0)81$)88$z%)$8<1F<<$)D8#v\d$t$80|$9n98Y$$80$9n98Y $|DAT*  ($0$8@08$9nD98^X`$h$8x0p$9n98^)8h)8<1h9)8)8 $ $$$80$9n98^,840<$8D08N0)dDAT* 88l0n8(@(8$ 8$6L8z'8z&)8$1$) 8" 8 $z%8(z&,$z&)488<\$z%)d8l$)8<1 9)8" 1" $)81" )8 8DAT* $z%8(z&$z&)88$z%)8$/ 0$)P8)h8<1 9)p8 1 x$$8z%)8$)8$$8z%)8 $) 8) 8  $/ 8 $)@ 8)T 8DAT* <1d 9)\ 8d $l $8t z%) 8 $) 8) 8f $/ $) 8) 8<1D9) 8 $ $8 z%)4 8< $)D 8L $/ft $)| 8) 8<19) 8 $ $DAT* 8 z%) 8 $) 8) 8B $/B $) 8) 819) 8( $0 $88 z%)\ 8d $)l 8)t 8| $/ $) 8) 819) 8 $ $8 z%) 8 $) 8DAT*  $/@ $)H 8)d 819)l 8t $| $8 z%) 8 $) 8) 8 $/8 $) 8) 81l9) 8 $ $8 z%)P 8)t 819)| 8 $ $8 z%) 8DAT*  $) 8 $/$)8),819)48<$D$8Lz%)l8t$)|8$/$)8)81r9)8$$8Lz%)8$)8)8$/0$)88DAT* )`81N9)h8p$x$8z%)8)819)8$$8z%) 8($)088$/X$)`8)|819)8$$8z%)8$)8$/$DAT* )8)81T9)8$$,$8z%)48<$)D8)L8h8T\$z%8(z&d$z&)l8)8<1B9)8$1)81)8!Z8$z%)8) 8<19)(8DAT* )08ZP$)l81Z9)t8)8$9)8$80)8$9)819) 8$9)8$$6),84$9)<819)D8C@C$4C@C$FC@C$L$DT$9)DAT* \8d$8 0)l8t$9)|8$$80)8$1)81  "0n4 N!h"#$&'()*0+H,\.v/01234 6$7>8X9r:;<@BCDDFdGtJMNOP QZRTUXZ`b\crhvij2kVlpr&sBtR{h}| DAT*    , n  " 6 x  * b  " > N d .D|Hfz$BVl  4Rjz. F!V#l%&')*-8.N/l01347894:L;\=r>DFGHI(J8LNMNOQRVW0XNYfZv\]`abc.d>fTgDAT* moqrs,wB|hr4DZlHhx$DTzd ll_prevcountyridll_countyerrorridll_expll_sourcesforcountyll_rcll_sourcecountli_filetypels_filetypels_primarysitefiltercase25+2FL[g s DAT*   of_getrunsi&is_filetypesitt&NEI_POINTii_formattypeNbis_sourcetypeo@dcPOINTis_sourcetypevalue1dFis_sourcetypecodeePTis_sourcetypelogfPOINT SOURCESis_sourcetypelogmidgPoint SourceNEI_AREA$NbdcAREAdAeARfAREA SOURCESgArea SourceNEI_ONROADNbdcON-ROAD MOBILE_dMdaeOR_fON-ROAD SOURCESgDAT* On-road SourceNEI_NONROADNbdcNON-ROAD MOBILEdN' or type = 'L' or type = 'XeNRfNON-ROAD SOURCESgNon-road SourceInvalid file type ''type = 'dids_source:)of_setfilterlock":)of_filter :)":)rowcount8 of_writelogmessage!-ii_loglinelength>!BEGINNING Export: f!>! f Selected for Export!!ids_primDAT* arykeyN=reset}Beginning Export: fof_writestatusmessage! il_sourcerow,U&il_countyridLS:)objectl@,Ucounty_rid__get_attribute_itemil_sourceridT:)l@,Usource_ridil_sourceridarrayTis_sourceidX:)l@,Uidis_siteid)La:)l@,Usite_id&of_resetoutputfilesLof_setrun&DAT* LSLSis_countyname8W:)l@,Ucounty_nameis_countyfips`countyLSFIPS CODECOUNTYof_checkmetricWUvalueof_getactivitydata@r`Missing COUNTY FIPS CODE for County: W. Skipping County.of_writelogmessageerror,LSLS&Loading f: X! Loading data for Source ID: X!,Uof_loadcacheblockdataKtids_emissions+;* DAT* forward global type n_ds_nei_n3_exp_point_control_equipment from n_ds_nei_conversion_base end type end forward global type n_ds_nei_n3_exp_point_control_equipment from n_ds_nei_conversion_base end type global n_ds_nei_n3_exp_point_control_equipment n_ds_nei_n3_exp_point_control_equipment forward prototypes public function long of_addrow (any aa_record_type, any aa_state_fips_and_county_fips, any aa_state_facility_identifier, any aa_emission_unit_id, any aa_process_id, any aa_pollutant_DAT* code, any aa_space_1, any aa_primary_pct_control_efficiency, any aa_pct_capture_efficiency, any aa_total_capture_control_efficiency, any aa_primary_device_type_code, any aa_secondary_device_type_code, any aa_space_2, any aa_control_system_description, any aa_third_control_device_type_code, any aa_fourth_control_device_type_code, any aa_submittal_flag, any aa_tribal_code) end prototypes public function long of_addrow (any aa_record_type, any aa_state_fips_and_county_fips, any aa_state_facility_DAT* identifier, any aa_emission_unit_id, any aa_process_id, any aa_pollutant_code, any aa_space_1, any aa_primary_pct_control_efficiency, any aa_pct_capture_efficiency, any aa_total_capture_control_efficiency, any aa_primary_device_type_code, any aa_secondary_device_type_code, any aa_space_2, any aa_control_system_description, any aa_third_control_device_type_code, any aa_fourth_control_device_type_code, any aa_submittal_flag, any aa_tribal_code);long ll_rc any la_data[] //NEI Point Control EquiDAT* pment Format //COLUMN NAME DATA TYPE WIDTH //record_type character 2 //state_fips_and_county_fips character 5 //state_facility_identifier character 15 //emission_unit_id character 6 //process_id character 6 //pollutant_code character 9 //space_1 character 11 //primary_pct_control_efficiency decimal 5 //pct_capture_efficiency decimal 5 //total_capture_control_efficiency decimal 5 //primary_device_type_code character 4 //seDAT* condary_device_type_code character 4 //space_2 character 25 //control_system_description character 40 //third_control_device_type_code character 4 //fourth_control_device_type_code character 4 //submittal_flag character 4 //tribal_code character 3 // //assign arguments to array elements la_data = { aa_record_type, & aa_state_fips_and_county_fips, & aa_state_facility_identifier, & aa_emission_unit_id, & aa_process_id, & aa_pollutant_code, & aa_spDAT* ace_1, & aa_primary_pct_control_efficiency, & aa_pct_capture_efficiency, & aa_total_capture_control_efficiency, & aa_primary_device_type_code, & aa_secondary_device_type_code, & aa_space_2, & aa_control_system_description, & aa_third_control_device_type_code, & aa_fourth_control_device_type_code, & aa_submittal_flag, & aa_tribal_code} //call base class function of_addRowBase() ll_rc = this.of_addRowBase(la_data) return ll_rc end function on n_ds_nei_n3_exp_point_DAT* control_equipment.create call super::create end on on n_ds_nei_n3_exp_point_control_equipment.destroy call super::destroy end on event constructor;call super::constructor; //set the file extension and data source this.of_setDataType("txt", "d_nei_n3_format_point_control_equipment") //set the file description this.of_setFileDescription("Control Equipment Records") //set the nei record type this.of_setNeiRecordType("CE") //override the default name this.of_setFileName("nei_n3DAT*_format_point_control_equipment") //override the default save as option of no headings this.of_setFileHeadings(true) end event DAT* &Exporting fX! Exporting data for Source ID: X!Nbids_siteoutput $of_writelogmessagestart8of_exportsite>X $g Site Export Fileof_writelogmessagemidcount $of_writelogmessageend $g $&Nbids_emissionunitoutput  8of_exporteuIH   g Emission Unit Export File  &NDAT* bids_pointemissionprocessoutput #8of_exportepJ  #g Emission Process Export File #Nbids_areaemissionprocessoutputT  8of_exportep_area\ T  gT  &Nbids_emissionreleaseptoutput  8of_exporterO   g Emission Release Point Export File  &Nbids_pointcontrolequipmentoutput DAT*  8of_exportceR  g Control Equipment Export File Nbids_areacontrolequipmentoutput 8of_exportce_area]P  g &Nbids_pointemissionperiodoutput "8of_exportpe_processdatalevelS  "g Emission Period for Process Data Level Export Fileof_exportpe_sitedatalevel TX  "g Emission DAT* Period for Site Data Level Export File "Nbids_areaemissionperiodoutput  8of_exportpe_area^  g Emission Period Export File   Nbids_onroademissionperiodoutput8of_exportpe_onroad `g&Nbids_pointemissionoutput!8of_exportem_processdatalevelo@!g Emission for ProcesDAT* s Data Level Export Fileof_exportem_sitedatalevelU!g Emission for Site Data Level Export File!Nbids_areaemissionoutput@8of_exportem_area_h@g Emission Export File@Nbids_onroademissionoutput1 8of_exportem_onroada g &Saving fX! of_saveoutputfilesfDAT* tids_logfileof_savetofile8&Exporting TRANSMITTAL RECORD for County: W!of_exporttransmittalA&ids_transmittaloutput68%of_removeduplicates5Xof_flushcache<%|:)of_setsortlock#:)nation_rid A, state_rid A, county_name A, id Aof_sort!:)#:)":) :)":):)":) :)"DAT* ib_debug:)ds_primary_site_postof_setfilename :) , 4 < \ t      $ 4 @ L d          @ L h          4 P X t |         $ <DAT*  D \ d t |            ( 0 8 D X ` h p             , < d           , 4 \ d l            0 DAT* P h p x            8 @ T \ d l            4 < D L t |              ( 0 \ d l t |      DAT*      @ H d l t |            P t |         , 4 < D l t |             0 8 ` h p x     DAT* forward global type n_ds_nei_n3_exp_point_emission_period from n_ds_nei_conversion_base end type end forward global type n_ds_nei_n3_exp_point_emission_period from n_ds_nei_conversion_base end type global n_ds_nei_n3_exp_point_emission_period n_ds_nei_n3_exp_point_emission_period forward prototypes public function long of_addrow (any aa_record_type, any aa_state_fips_and_county_fips, any aa_state_facility_identifier, any aa_emission_unit_id, any aa_process_id, any aa_start_date, any aaDAT* _end_date, any aa_space_1, any aa_start_time, any aa_end_time, any aa_space_2, any aa_actual_throughput, any aa_throughput_unit_numerator, any aa_material, any aa_material_io, any aa_period_days_per_week, any aa_period_weeks_per_period, any aa_period_hours_per_day, any aa_period_hours_per_period, any aa_submittal_flag, any aa_tribal_code) end prototypes public function long of_addrow (any aa_record_type, any aa_state_fips_and_county_fips, any aa_state_facility_identifier, any aa_emission_unit_DAT* id, any aa_process_id, any aa_start_date, any aa_end_date, any aa_space_1, any aa_start_time, any aa_end_time, any aa_space_2, any aa_actual_throughput, any aa_throughput_unit_numerator, any aa_material, any aa_material_io, any aa_period_days_per_week, any aa_period_weeks_per_period, any aa_period_hours_per_day, any aa_period_hours_per_period, any aa_submittal_flag, any aa_tribal_code);long ll_rc any la_data[] //NEI Point Emission Period Format //COLUMN NAME DATA TYPE WIDTH DAT*  //record_type character 2 //state_fips_and_county_fips character 5 //state_facility_identifier character 15 //emission_unit_id character 6 //process_id character 6 //start_date number 8 //end_date number 8 //space_1 character 2 //start_time number 4 //end_time number 4 //space_2 character 10 //actual_throughput decimal 10 //throughput_unit_numerator character 10 //material number 4 //material_i/o charaDAT* cter 10 //period_days_per_week number 1 //period_weeks_per_period number 2 //period_hours_per_day number 2 //period_hours_per_period number 4 //submittal_flag character 4 //tribal_code character 3 //assign arguments to array elements la_data = { aa_record_type, & aa_state_fips_and_county_fips, & aa_state_facility_identifier, & aa_emission_unit_id, & aa_process_id, & aa_start_date, & aa_end_date, & aa_space_1, & aa_start_time, & aa_end_time, DAT* & aa_space_2, & aa_actual_throughput, & aa_throughput_unit_numerator, & aa_material, & aa_material_io, & aa_period_days_per_week, & aa_period_weeks_per_period, & aa_period_hours_per_day, & aa_period_hours_per_period, & aa_submittal_flag, & aa_tribal_code} //call base class function of_addRowBase() ll_rc = this.of_addRowBase(la_data) return ll_rc end function on n_ds_nei_n3_exp_point_emission_period.create call super::create end on on n_ds_nei_n3_exp_point_emDAT* ission_period.destroy call super::destroy end on event constructor;call super::constructor; //set the file extension and data source this.of_setDataType("txt", "d_nei_n3_format_point_emission_period") //set the file description this.of_setFileDescription("Emission Period Records") //set the nei record type this.of_setNeiRecordType("PE") //override the default name this.of_setFileName("nei_n3_format_point_emission_period") //override the default save as option of no headings DAT*,this.of_setFileHeadings(true) end event DAT*    ( 0 8 X ` |            $ , 4 < D L \ d l          ( 0 P l t            $ , 4 < D L T \ d l t | DAT*      N)8<11 801}b,$<V)48#V11<$<=6 8D \/}t8|0808080808 F/}$DAT* 8,048<0@8H0L8T0d8l08x /}80808080808 /}808 0@8H0L8T0h8p018z%8DAT* z&+@+818$z%8z&$9)8$6)8$9)811$)880)488<P$<B@B8)X88`t$z%)|88<$<B@B8)8(@(88z&$z&8z&)8DAT* 80)81R$)88$z%)$8<1X<<$@)D8#@\d$t$80|$9n98Y$$80$9n98Y $| ($0$8@08$9DAT* nD98^X`$h$8x0p$9n98^$$80$9n98^)8)8<19)8)8  $ $ <,4$<$8L0D$9nX98^p8x0$8DAT* 080)880n8(@(8$f 8$6M8z'8 z&)88@$<\t$|$z%1$)8 8$z%8z&$z&)88$z%)8$) 8<1 9)8 1 DAT* ,$)481 <)<8v 8DP$z%8z&X$z&)`88h$z%)8$/v $)8)8<1 9)8 1  $ $8 z%)@ 8H $)h 8<p $x $8 z%) 8 $) 8) 8VDAT*  $/V $) 8) 8<19) 8 $ $8 z%) 8( $)0 8)8 8@ $/6l $)t 8) 8<19) 8 $ $8 z%) 8 $) 8 $/ $) 8)4 8<DAT* 19)< 8D $L $8 z%)T 8\ $)d 8)l 8t $/ $) 8) 819) 8 $ $8 z%) 8 $) 8) 8 $/L $)T 8)l 81d9)t 8| $DAT* forward global type n_ds_nei_n3_exp_point_emission from n_ds_nei_conversion_base end type end forward global type n_ds_nei_n3_exp_point_emission from n_ds_nei_conversion_base end type global n_ds_nei_n3_exp_point_emission n_ds_nei_n3_exp_point_emission forward prototypes public function long of_addrow (any aa_record_type, any aa_state_fips_and_county_fips, any aa_state_facility_identifier, any aa_emission_unit_id, any aa_process_id, any aa_pollutant_code, any aa_space_1, any aa_emissioDAT* n_release_point_id, any aa_start_date, any aa_end_date, any aa_start_time, any aa_end_time, any aa_space_2, any aa_emission_numeric_value, any aa_emission_unit_numerator, any aa_emission_type, any aa_em_reliability_indicator, any aa_factor_numeric_value, any aa_factor_unit_numerator, any aa_factor_unit_denominator, any aa_material, any aa_material_io, any aa_space_3, any aa_emission_calculation_method_code, any aa_ef_reliability_indicator, any aa_rule_effectiveness, any aa_rule_effectiveness_methoDAT* d, any aa_space_4, any aa_hap_emissions_performance_level, any aa_control_status, any aa_emission_data_level, any aa_submittal_flag, any aa_tribal_code) end prototypes public function long of_addrow (any aa_record_type, any aa_state_fips_and_county_fips, any aa_state_facility_identifier, any aa_emission_unit_id, any aa_process_id, any aa_pollutant_code, any aa_space_1, any aa_emission_release_point_id, any aa_start_date, any aa_end_date, any aa_start_time, any aa_end_time, any aa_space_2, any DAT* aa_emission_numeric_value, any aa_emission_unit_numerator, any aa_emission_type, any aa_em_reliability_indicator, any aa_factor_numeric_value, any aa_factor_unit_numerator, any aa_factor_unit_denominator, any aa_material, any aa_material_io, any aa_space_3, any aa_emission_calculation_method_code, any aa_ef_reliability_indicator, any aa_rule_effectiveness, any aa_rule_effectiveness_method, any aa_space_4, any aa_hap_emissions_performance_level, any aa_control_status, any aa_emission_data_level, anDAT* y aa_submittal_flag, any aa_tribal_code);long ll_rc any la_data[] //NEI Point Emission Format //COLUMN NAME DATA TYPE WIDTH //record_type character 2 //state_fips_and_county_fips character 5 //state_facility_identifier character 15 //emission_unit_id character 6 //process_id character 6 //pollutant_code character 9 //space_1 character 7 //emission_release_point_id character 6 //start_date number 8 //end_date numDAT* ber 8 //start_time number 4 //end_time number 4 //space_2 character 10 //emission_numeric_value decimal 10 //emission_unit_numerator character 10 //emission_type character 2 //em_reliability_indicator decimal 5 //factor_numeric_value decimal 10 //factor_unit_numerator character 10 //factor_unit_denominator character 10 //material number 4 //material_i/o character 10 //space_3 character 5 //emission_calculaDAT* tion_method_code character 2 //ef_reliability_indicator character 5 //rule_effectiveness decimal 5 //rule_effectiveness_method character 2 //space_4 character 3 //hap_emissions_performance_level character 2 //control_status character 12 //emission_data_level character 10 //submittal_flag character 4 //tribal_code character 3 //assign arguments to array elements la_data = { aa_record_type, & aa_state_fips_and_county_fips, & aa_state_faciDAT* lity_identifier, & aa_emission_unit_id, & aa_process_id, & aa_pollutant_code, & aa_space_1, & aa_emission_release_point_id, & aa_start_date, & aa_end_date, & aa_start_time, & aa_end_time, & aa_space_2, & aa_emission_numeric_value, & aa_emission_unit_numerator, & aa_emission_type, & aa_em_reliability_indicator, & aa_factor_numeric_value, & aa_factor_unit_numerator, & aa_factor_unit_denominator, & aa_material, & aa_material_io, & aa_space_3, & aa_emission_caDAT* lculation_method_code, & aa_ef_reliability_indicator, & aa_rule_effectiveness, & aa_rule_effectiveness_method, & aa_space_4, & aa_hap_emissions_performance_level, & aa_control_status, & aa_emission_data_level, & aa_submittal_flag, & aa_tribal_code} //call base class function of_addRowBase() ll_rc = this.of_addRowBase(la_data) return ll_rc end function on n_ds_nei_n3_exp_point_emission.create call super::create end on on n_ds_nei_n3_exp_point_emission.destroy caDAT*ll super::destroy end on event constructor;call super::constructor; //set the file extension and data source this.of_setDataType("txt", "d_nei_n3_format_point_emission") //set the file description this.of_setFileDescription("Emission Records") //set the nei record type this.of_setNeiRecordType("EM") //override the default name this.of_setFileName("nei_n3_format_point_emission") //override the default save as option of no headings this.of_setFileHeadings(true) end event DAT*  $8 z%) 8 $) 8 $/ $) 8) 81,9) 8$ $, $8 z%)4 8< $)D 8)L 8dT $/ $) 8) 819) 8 $ $8 z%)8),81~9)DAT* 48<$D$8Lz%)8$)8$/$)8)81F9)8$$8z%)$8,$)48<$/dh$)p8)819)8$$8z%)8$)8DAT* )8F$/$)8)$819),84$<$8Dz%)t8)81`9)8$$8z%)8$)8$/~$$),8)H81(9)P8X$`$8hz%)8DAT* forward global type n_ds_nei_n3_exp_onroad_emission_period from n_ds_nei_conversion_base end type end forward global type n_ds_nei_n3_exp_onroad_emission_period from n_ds_nei_conversion_base end type global n_ds_nei_n3_exp_onroad_emission_period n_ds_nei_n3_exp_onroad_emission_period forward prototypes public function long of_addrow (any aa_record_type, any aa_state_and_county_fips_code, any aa_scc, any aa_start_date, any aa_end_date, any aa_space_1, any aa_start_time, any aa_end_time,DAT*  any aa_actual_throughput, any aa_throughput_unit_numerator, any aa_submittal_flag, any aa_tribal_code) end prototypes public function long of_addrow (any aa_record_type, any aa_state_and_county_fips_code, any aa_scc, any aa_start_date, any aa_end_date, any aa_space_1, any aa_start_time, any aa_end_time, any aa_actual_throughput, any aa_throughput_unit_numerator, any aa_submittal_flag, any aa_tribal_code);long ll_rc any la_data[] //NEI Onroad Emission Period Format //COLUMN NAME DAT*.  DATA TYPE WIDTH //record_type character 2 //state_and_county_fips_code character 5 //scc character 10 //start_date number 8 //end_date number 8 //space_1 character 2 //start_time number 4 //end_time number 4 //actual_throughput decimal 10 //throughput_unit_numerator character 10 //submittal_flag character 4 //tribal_code character 3 //assign arguments to array elements la_data = { aa_record_type, & aa_state_and_couDAT* $)8$/F$)8)819)8$$8hz%)8 $)8)88$,$z%8z&4$z&)<8)X8<19)`8t$1)81)8!8$z%)DAT* 8)8<19)8)8$$)@819)H8)`8h$9)8$80)8$9)819)8$9)8$6)8$9)81*9)8C@C$FC@DAT* C$XC@C$ $($9)088$80)@8H$9)P8d$<l$8t0)8$1)81  " 0B, F!`"z#$%'()*(+B,Z-n/012345768P9j:;<=AC D,EVGvHKNOP Q2RlSUVZ\b,DAT* dnejklDmhno$rtuv}   z  N b f 2 Z j  < R p  X v 8Vj6Lj,Jbr & > N d,d !"#$&(@)X*h,~-0123 406F7~:;<=>@AFGdIxJKLMDAT* OP"Q:RJT`UYZ[\]_(``c~defgij(pFrZtuw{0Xt(Tt*<@RVhz<d ll_prevcountyridll_countyerrorridll_expll_sourcesforcountyll_rcll_sourcecountli_filetypels_filetypels_primarysitefilterls_prevtribalcodecase26+2DAT*" FL[g s    of_getrunsi&is_filetypestt&NEI_POINTii_formattypeNbis_sourcetypeo@dcPOINTis_sourcetypevalue8dFis_sourcetypecodeePTis_sourcetypelogfPOINT SOURCESis_sourcetypelogmidgPoint SourceNEI_AREANbdcAREA dA~ eAR fAREA SOURCESv DAT*$ gArea SourceNEI_ONROADNbdcON-ROAD MOBILEdMeORfON-ROAD SOURCESgOn-road SourceNEI_NONROADNbdcNON-ROAD MOBILEdN' or type = 'L' or type = 'XeNRfNON-ROAD SOURCESgNon-road SourceInvalid file type ''type = 'dids_source:)of_setfilterlock":)of_filter$ :)":)rowcount of_writelogmessage -ii_loglinelength>DAT*&  BEGINNING Export: f >  f Selected for Export8  ids_primarykeyN=reset}Beginning Export: fof_writestatusmessage! il_sourcerow$,U&il_countyridLS:)objectl@,Ucounty_rid__get_attribute_itemil_sourceridT:)l@,Usource_ridil_sourceridarrayTis_sourceidX:)l@,Uidis_sDAT*( iteid`La:)l@,Usite_idis_tribalcodees\:)l@,Utribal_code&of_resetoutputfilesLof_setrun&LSLSis_countyname0W:)l@,Ucounty_nameis_countyfips8``countyLSFIPS CODECOUNTYof_checkmetricWvalueof_getactivitydata#@``Missing COUNTY FIPS CODE for County: W. Skipping County.of_writelogmessageerror, LSDAT** is_statecountyfipsH]is_statefips$d^``LS&Loading f: X! Loading data for Source ID: $X ,Uof_loadcacheblockdataKids_emissions;* &Exporting fX! Exporting data for Source ID: X Nbids_n3_siteoutput!2!of_writelogmessagestartof_n3_exportsiteh2!g Site Export Fileof_writelogmessagemidcountDAT*, " 2!of_writelogmessageendP 2!g" 2!P &Nbids_n3_emissionunitoutput +of_n3_exporteui  +g Emission Unit Export File" +P &Nbids_n3_pointemissionprocessoutputH 1 of_n3_exportepw| H 1 g Emission Process Export File" H 1 P Nbids_n3_areaemissionprocessoutput )of_n3_exportep_areDAT*8 aq  )g" )P &Nbids_n3_emissionreleaseptoutput| *of_n3_exporterj | *g Emission Release Point Export File" | *P &Nbids_n3_pointcontrolequipmentoutput( .of_n3_exportcek\ ( .g Control Equipment Export File" ( .P Nbids_n3_areacontrolequipmentoutput &of_n3_exportce_arear  DAT*0 nty_fips_code, & aa_scc, & aa_start_date, & aa_end_date, & aa_space_1, & aa_start_time, & aa_end_time, & aa_actual_throughput, & aa_throughput_unit_numerator, & aa_submittal_flag, & aa_tribal_code} //call base class function of_addRowBase() ll_rc = this.of_addRowBase(la_data) return ll_rc end function on n_ds_nei_n3_exp_onroad_emission_period.create call super::create end on on n_ds_nei_n3_exp_onroad_emission_period.destroy call super::destroy end on event DAT*constructor;call super::constructor; //set the file extension and data source this.of_setDataType("txt", "d_nei_n3_format_onroad_emission_period") //set the file description this.of_setFileDescription("Emission Period Records") //set the nei record type this.of_setNeiRecordType("PE") //override the default name this.of_setFileName("nei_n3_format_onroad_emission_period") //override the default save as option of no headings this.of_setFileHeadings(true) end event DAT*4 forward global type n_ds_nei_n3_exp_onroad_emission from n_ds_nei_conversion_base end type end forward global type n_ds_nei_n3_exp_onroad_emission from n_ds_nei_conversion_base end type global n_ds_nei_n3_exp_onroad_emission n_ds_nei_n3_exp_onroad_emission forward prototypes public function long of_addrow (any aa_record_type, any aa_state_and_county_fips_code, any aa_scc, any aa_space_1, any aa_start_date, any aa_end_date, any aa_space_2, any aa_start_time, any aa_end_time, any aa_pollDAT*6 utant_code, any aa_emission_process_description, any aa_emission_numeric_value, any aa_emission_unit_numerator, any aa_emission_type, any aa_em_reliability_indicator, any aa_submittal_flag, any aa_tribal_code) end prototypes public function long of_addrow (any aa_record_type, any aa_state_and_county_fips_code, any aa_scc, any aa_space_1, any aa_start_date, any aa_end_date, any aa_space_2, any aa_start_time, any aa_end_time, any aa_pollutant_code, any aa_emission_process_description, any aa_emiDAT*J ssion_numeric_value, any aa_emission_unit_numerator, any aa_emission_type, any aa_em_reliability_indicator, any aa_submittal_flag, any aa_tribal_code);long ll_rc any la_data[] //NEI OnRoad Emission Format //COLUMN NAME DATA TYPE WIDTH //record_type character 2 //state_and_county_fips_code character 5 //scc character 10 //space_1 character 10 //start_date number 8 //end_date number 8 //space_2 character 2 //start_time nDAT*: &g" &P &Nbids_n3_pointemissionperiodoutput \ 0of_n3_exportpe_processdatalevell \ 0g Emission Period for Process Data Level Export File" of_n3_exportpe_sitedatalevelm \ 0g Emission Period for Site Data Level Export File" \ 0P Nbids_n3_areaemissionperiodoutput(of_n3_exportpe_areas(g Emission Period Export FiDAT*< le" (P Nbids_n3_onroademissionperiodoutputD-of_n3_exportpe_onroaduxD-g" D-P &Nbids_n3_pointemissionoutput/of_n3_exportem_processdataleveln/g Emission for Process Data Level Export File" of_n3_exportem_sitedatalevelp|/g Emission for Site Data Level Export File" /P Nbids_n3_areaeDAT*> missionoutput'of_n3_exportem_areat4'g Emission Export File" 'P Nbids_n3_onroademissionoutput,of_n3_exportem_onroadv,g" ,P &Saving fX! of_saveoutputfilesfDids_logfilehof_savetofile|&Exporting TRANSMITTAL RECORD for County: W of_n3_exporttransmittalg&idDAT*@ s_n3_transmittaloutput3"of_removeduplicates5,of_flushcache%P:)of_setsortlock#p:)nation_rid A, state_rid A, county_name A, id Aof_sort!:)#p:)":) :)":):)":) :)"ib_debugX:)ds_primary_site_postof_setfilename :)| , 4 < \ t     DAT*B  $ 4 @ L d          @ L h          4 P X t |         $ < D \ d t |            ( 0 8 D X ` h DAT*D p              , 4 < D X p      8 @ \ t |            , 4 < P X `          @ H h p x     DAT*F          ( 0 8 @ l t           4 < D L T \ d l t            L T l t |          $ , 4 < D DAT*H  L T        , 4 < D           $ , 4 < h p            $ , 4 < t         $ , H P X `    DAT*R             , 4 < X ` t        $ @ H ` h                ( 0 8 @ H P d l      8 0($p0$)D81DAT*L umber 4 //end_time number 4 //pollutant_code character 9 //emission_process_description character 81 //emission_numeric_value decimal 10 //emission_unit_numerator character 10 //emission_type character 2 //em_reliability_indicator decimal 5 //submittal_flag character 4 //tribal_code character 3 //assign arguments to array elements la_data = { aa_record_type, & aa_state_and_county_fips_code, & aa_scc, & aa_space_1, & aa_start_date, & aaDAT*N _end_date, & aa_space_2, & aa_start_time, & aa_end_time, & aa_pollutant_code, & aa_emission_process_description, & aa_emission_numeric_value, & aa_emission_unit_numerator, & aa_emission_type, & aa_em_reliability_indicator, & aa_submittal_flag, & aa_tribal_code} //call base class function of_addRowBase() ll_rc = this.of_addRowBase(la_data) return ll_rc end function on n_ds_nei_n3_exp_onroad_emission.create call super::create end on on n_ds_nei_n3_exp_onroad_eDAT*P mission.destroy call super::destroy end on event constructor;call super::constructor; //set the file extension and data source this.of_setDataType("txt", "d_nei_n3_format_onroad_emission") //set the file description this.of_setFileDescription("Emission Records") //set the nei record type this.of_setNeiRecordType("EM") //override the default name this.of_setFileName("nei_n3_format_onroad_emission") //override the default save as option of no headings this.of_setFileHeadings(tDAT*rue) end event DAT*T lL$1)`81h$x$8018)98$$801,B6808z%6@8)998$$801,B6808z%6@8)998$$8 01,B6808 z%6@8DAT*V )4998<$D$8L01,B6808Lz%6@8)d998l$t$8|01,B6808|z%6@8)998$$801,B6808z%6@8)998$$801,B6808zDAT*X %6@8)998$$801,B6808z%6@8)998$$,$8N01,B6808406@8)d998l$t$8|01,B6808|z%6@8)998$$801,B6DAT*Z 808z%6@8)998,B6808z%1@8}1<1'<"@8$$801)98$$801,B6808z%8+0@8)09988$@$8H01,B6808Hz%8S0DAT*\ @8)\998d$l$8t01,B6808tz%80@8)998,B6808z%6@88"L @8$$801)981  $ JlpLT\d h!#p$%'*<+,H.DAT*^ / 00 2L 5 dV li_submissionnumberls_submittalflagls_emptyls_filesystemversiongs_inifiled -6 KB@ nei_ids_transmittaluserinpute4#4#rowcount84#insertrow!T4#objectp@2.0format_version__set_attribute_item4#p@exportorganization_named4#p@transaction_typed@DAT*` 4#p@inventory_type_code4#p@reliability_indicator 4#p@transaction_comments4#p@contact_person_name4#p@contact_phone_number4#p@contact_fax_number4#p@nei_contact_email_addresscontact_email_address4#p@contact_alternate_phone_number4#p@contact_type_code<incremental_submission_number4#p@DAT*b 4#p@release_point_type014#p@data_levelPROCESS4#p@rollup_confidentialYsubmittal_flag4#p@( 0 D L ` h x          4 < D d l t           $ , d l t    DAT*d       0 8 @ \ d l     B  8 ($z'80z&L$T$)h81p$1)81$$8018)98$$801,B6808z%6@8)998$DAT*r $801,B6808z%6@8),9984$<$8D01,B6808Dz%6@8)X998,B6808`z%1@8}1<1'<"@8$$8`01)98$$801NOD* 8]ENT*0600 ibA w_export.winENT*0600 Q4ɦdA w_export.srwDAT* ,B6808z%6@8)998$$801,B6808z%6@8)998$$801,B6808z%6@8)998$$,$8401,B68084z%6@8)P998X$`$DAT*v forward global type n_ds_nei_n3_exp_area_control_equipment from n_ds_nei_conversion_base end type end forward global type n_ds_nei_n3_exp_area_control_equipment from n_ds_nei_conversion_base end type global n_ds_nei_n3_exp_area_control_equipment n_ds_nei_n3_exp_area_control_equipment forward prototypes public function long of_addrow (any aa_record_type, any aa_state_and_county_fips_code, any aa_scc, any aa_pollutant_code, any aa_primary_pct_control_efficiency, any aa_pct_capture_efficiDAT*x ency, any aa_total_capture_control_efficiency, any aa_primary_device_type_code, any aa_secondary_device_type_code, any aa_control_system_description, any aa_submittal_flag, any aa_tribal_code) end prototypes public function long of_addrow (any aa_record_type, any aa_state_and_county_fips_code, any aa_scc, any aa_pollutant_code, any aa_primary_pct_control_efficiency, any aa_pct_capture_efficiency, any aa_total_capture_control_efficiency, any aa_primary_device_type_code, any aa_secondary_device_DAT*z type_code, any aa_control_system_description, any aa_submittal_flag, any aa_tribal_code);long ll_rc any la_data[] //NEI Area Control Equipment Format //COLUMN NAME DATA TYPE WIDTH //record_type character 2 //state_and_county_fips_code character 5 //scc character 10 //pollutant_code character 9 //primary_pct_control_efficiency decimal 5 //pct_capture_efficiency decimal 5 //total_capture_control_efficiency decimal 5 //primary_device_type_DAT*| code character 4 //secondary_device_type_code character 4 //control_system_description character 40 //submittal_flag character 4 //tribal_code character 3 //assign arguments to array elements la_data = { aa_record_type, & aa_state_and_county_fips_code, & aa_scc, & aa_pollutant_code, & aa_primary_pct_control_efficiency, & aa_pct_capture_efficiency, & aa_total_capture_control_efficiency, & aa_primary_device_type_code, & aa_secondary_device_type_code, & DAT*~  aa_control_system_description, & aa_submittal_flag, & aa_tribal_code} //call base class function of_addRowBase() ll_rc = this.of_addRowBase(la_data) return ll_rc end function on n_ds_nei_n3_exp_area_control_equipment.create call super::create end on on n_ds_nei_n3_exp_area_control_equipment.destroy call super::destroy end on event constructor;call super::constructor; //set the file extension and data source this.of_setDataType("txt", "d_nei_n3_format_area_control_equipmDAT*`ent") //set the file description this.of_setFileDescription("Area Control Equipment Records") //set the nei record type this.of_setNeiRecordType("CE") //override the default name this.of_setFileName("nei_n3_format_area_control_equipment") //override the default save as option of no headings this.of_setFileHeadings(true) end event DAT* forward global type n_ds_nei_n3_exp_area_emission_period from n_ds_nei_conversion_base end type end forward global type n_ds_nei_n3_exp_area_emission_period from n_ds_nei_conversion_base end type global n_ds_nei_n3_exp_area_emission_period n_ds_nei_n3_exp_area_emission_period forward prototypes public function long of_addrow (any aa_record_type, any aa_state_and_county_fips_code, any aa_scc, any aa_start_date, any aa_end_date, any aa_space_1, any aa_start_time, any aa_end_time, any aa_DAT* 8h01,B6808hz%6@8)|998$$801,B6808z%6@8)998$$801,B6808z%6@8)998$$801,B6808z%80@8)99DAT* 8$$8 01,B6808 z%8+0@8)4998<$D$8L01,B6808Lz%8`0@8)d998,B6808lz%6@88"@8|$$8l01)981 ,DAT*  > dfn":#$B%&J'(R+,\-/h0136, dV li_submissionnumberls_emptyls_submittalflagls_filesystemversiongs_inifiled% 6 KB@ nei_is_file_system_version0[_ids_transmittaluserinput24#24#rowcounto@\24#insertrow0x24#objectt@3.0format_version_DAT* _set_attribute_item24#@exportorganization_name24#@transaction_type24#@inventory_type_codeincremental_submission_number24#@24#@transaction_comments 24#@contact_person_name24#@contact_phone_number824#@contact_phone_number_type24#@electronic_address24#@electronic_address_typeDAT* 24#@affiliation_type24#@release_point_type01@24#@data_levelPROCESS24#@rollup_confidentialY8submittal_flag24#@( L T h p          , 4 < X             $ , P X DAT* ` |            4 < D d |   D8$$z'8,z&,B68.085z%`$p$85019n98^@8,B68.08z%$$8019n98^@8,B68.08z%DAT* $$8019n98^@8,B68.08z%$$8019n98^@8,B68.08 z%4$<$8 019nD98^@8,B68.08Lz%d$l$8L019nt98^@8,B68.08|DAT* z%$$8|019n98^@8,B68.08z%$$8019n98^@8,B68.08z%$$8019n98^@8,B68.08 z% $($8 019n098^@88$DAT* @$8H019nh98W}1<1'<",B68.08Hz%8p0@8.,B68.08Hz%(@(8@8,B68.08sz%$$8s019n98^@8,B68.08z%$$8019n98^@8,BDAT* actual_throughput, any aa_throughput_unit_numerator, any aa_material, any aa_material_io, any aa_period_days_per_week, any aa_period_weeks_per_period, any aa_period_hours_per_day, any aa_period_hours_per_period, any aa_submittal_flag, any aa_tribal_code) end prototypes public function long of_addrow (any aa_record_type, any aa_state_and_county_fips_code, any aa_scc, any aa_start_date, any aa_end_date, any aa_space_1, any aa_start_time, any aa_end_time, any aa_actual_throughput, any aa_throughpDAT* ut_unit_numerator, any aa_material, any aa_material_io, any aa_period_days_per_week, any aa_period_weeks_per_period, any aa_period_hours_per_day, any aa_period_hours_per_period, any aa_submittal_flag, any aa_tribal_code);long ll_rc any la_data[] //NEI Area Emission Period Format //COLUMN NAME DATA TYPE WIDTH //record_type character 2 //state_and_county_fips_code character 5 //scc character 10 //start_date number 8 //end_date number 8 //space_1 DAT*  character 2 //start_time number 4 //end_time number 4 //actual_throughput decimal 10 //throughput_unit_numerator character 10 //material number 4 //material_io character 10 //period_days_per_week number 1 //period_weeks_per_period number 2 //period_hours_per_day number 2 //period_hours_per_period number 4 //submittal_flag character 4 //tribal_code character 3 //assign arguments to array elements la_data = { aa_record_type, & DAT*  aa_state_and_county_fips_code, & aa_scc, & aa_start_date, & aa_end_date, & aa_space_1, & aa_start_time, & aa_end_time, & aa_actual_throughput, & aa_throughput_unit_numerator, & aa_material, & aa_material_io, & aa_period_days_per_week, & aa_period_weeks_per_period, & aa_period_hours_per_day, & aa_period_hours_per_period, & aa_submittal_flag, & aa_tribal_code} //call base class function of_addRowBase() ll_rc = this.of_addRowBase(la_data) return ll_rc end funDAT* ction on n_ds_nei_n3_exp_area_emission_period.create call super::create end on on n_ds_nei_n3_exp_area_emission_period.destroy call super::destroy end on event constructor;call super::constructor; //set the file extension and data source this.of_setDataType("txt", "d_nei_n3_format_area_emission_period") //set the file description this.of_setFileDescription("Area Emission Period Records") //set the nei record type this.of_setNeiRecordType("PE") //override the default name DAT* this.of_setFileName("nei_n3_area_emission_period") //override the default save as option of no headings this.of_setFileHeadings(true) end event DAT* forward global type n_ds_nei_n3_exp_area_emission from n_ds_nei_conversion_base end type end forward global type n_ds_nei_n3_exp_area_emission from n_ds_nei_conversion_base end type global n_ds_nei_n3_exp_area_emission n_ds_nei_n3_exp_area_emission forward prototypes public function long of_addrow (any aa_record_type, any aa_state_and_county_fips_code, any aa_scc, any aa_pollutant_code, any aa_space_1, any aa_start_date, any aa_end_date, any aa_space_2, any aa_start_time, any aa_end_tiDAT* 68.08z%$$8019n98^@8,B68.08z%$$8019n98^@81, ,  ,  ,,,|...d< li_submissionnumberls_filesystemversiongs_inifile< 1B@pDAT*  nei_is_file_system_version [_exportorganization_nameids_transmittaluserinputG4#objecth@__get_attribute_itemxtransaction_typeormG4#h@xinventory_type_codeG4#h@xtransaction_commentsG4#h@xcontact_person_nameG4#h@xcontact_phone_number G4#h@xcontact_phone_number_typedsG4#h@xelectronic_addressG4#h@xelectronic_address_typeGDAT* 4#h@xaffiliation_typeG4#h@xG4#h@incremental_submission_number x-1release_point_typeG4#h@xdata_levelG4#h@xrollup_confidentialG4#h@xsubmittal_flagG4#h@x$ ` p           4 < D d l t        DAT*     ( 0 8 @ h             80,B68 08z%@$P$8019np98^@8,B68 08xz%$$8x019n98^@8,B68 08z%$$801DAT* 9n98^@8,B68 08z%$$8019n98^@8,B68 08z%$ $8019n(98^@8,B68 080z%D$L$80019nT98^@8,B68 08\z%t$|$8DAT* \019n98^@8,B68 08z%$$8019n98^@8,B68 08z%$$8019n98^@8,B68 08z%$$8019n98^@8,B68 08 z%4$DAT* <$8 019nD98^@8L$T$8\019n|98W}1<1'<"J,B68 08\z%80@8,B68 08\z%(@(8@8,B68 08z%$$8019n98^@8,B68 08z%DAT* $$8019n98^@8,B68 08z%$$8019n98^@8,B68 08z%$$8019n$98^@81     FJ d< li_submissionnumberDAT* ls_filesystemversiongs_inifile< 1B@, nei_exportorganization_nameids_transmittaluserinput&4#objectH@__get_attribute_itemXtransaction_typetem&4#H@Xinventory_type_code&4#H@Xreliability_indicator&4#H@Xtransaction_comments&4#H@Xcontact_person_name&4#H@Xcontact_phone_number&4#H@XcontDAT* act_fax_number&4#H@Xcontact_email_address&4#H@Xcontact_alternate_phone_number&4#H@Xcontact_type_code&4#H@X&4#H@incremental_submission_number_pX-1release_point_type&4#H@Xdata_level&4#H@Xrollup_confidential&4#H@Xsubmittal_flag&4#H@X@ P p         DAT* me, any aa_emission_numeric_value, any aa_emission_unit_numerator, any aa_emission_type, any aa_em_reliability_indicator, any aa_factor_numeric_value, any aa_factor_unit_numerator, any aa_factor_unit_denominator, any aa_material, any aa_material_io, any aa_space_3, any aa_emission_calculation_method_code, any aa_ef_reliability_indicator, any aa_rule_effectiveness, any aa_rule_effectiveness_method, any aa_rule_penetration, any aa_submittal_flag, any aa_tribal_code) end prototypes public functioDAT* n long of_addrow (any aa_record_type, any aa_state_and_county_fips_code, any aa_scc, any aa_pollutant_code, any aa_space_1, any aa_start_date, any aa_end_date, any aa_space_2, any aa_start_time, any aa_end_time, any aa_emission_numeric_value, any aa_emission_unit_numerator, any aa_emission_type, any aa_em_reliability_indicator, any aa_factor_numeric_value, any aa_factor_unit_numerator, any aa_factor_unit_denominator, any aa_material, any aa_material_io, any aa_space_3, any aa_emission_calculation_DAT* method_code, any aa_ef_reliability_indicator, any aa_rule_effectiveness, any aa_rule_effectiveness_method, any aa_rule_penetration, any aa_submittal_flag, any aa_tribal_code);long ll_rc any la_data[] //NEI Area Emission Format //COLUMN NAME DATA TYPE WIDTH //record_type character 2 //state_and_county_fips_code character 5 //scc character 10 //pollutant_code character 9 //space_1 character 11 //start_date number 8 //end_date DAT*  number 8 //space_2 character 2 //start_time number 4 //end_time number 4 //emission_numeric_value decimal 10 //emission_unit_numerator character 10 //emission_type character 2 //em_reliability_indicator decimal 5 //factor_numeric_value decimal 10 //factor_unit_numerator character 10 //factor_unit_denominator character 10 //material number 4 //material_io character 10 //space_3 character 5 //emission_caDAT* lculation_method_code character 2 //ef_reliability_indicator character 5 //rule_effectiveness decimal 5 //rule_effectiveness_method character 2 //rule_penetration decimal 5 //submittal_flag character 4 //tribal_code character 3 //assign arguments to array elements la_data = { aa_record_type, & aa_state_and_county_fips_code, & aa_scc, & aa_pollutant_code, & aa_space_1, & aa_start_date, & aa_end_date, & aa_space_2, & aa_start_time, & aa_endDAT* _time, & aa_emission_numeric_value, & aa_emission_unit_numerator, & aa_emission_type, & aa_em_reliability_indicator, & aa_factor_numeric_value, & aa_factor_unit_numerator, & aa_factor_unit_denominator, & aa_material, & aa_material_io, & aa_space_3, & aa_emission_calculation_method_code, & aa_ef_reliability_indicator, & aa_rule_effectiveness, & aa_rule_effectiveness_method, & aa_rule_penetration, & aa_submittal_flag, & aa_tribal_code} //call base class functioDAT* n of_addRowBase() ll_rc = this.of_addRowBase(la_data) return ll_rc end function on n_ds_nei_n3_exp_area_emission.create call super::create end on on n_ds_nei_n3_exp_area_emission.destroy call super::destroy end on event constructor;call super::constructor; //set the file extension and data source this.of_setDataType("txt", "d_nei_n3_format_area_emission") //set the file description this.of_setFileDescription("Area Emission Records") //set the nei record type this.of_setDAT*NeiRecordType("EM") //override the default name this.of_setFileName("nei_n3_format_area_emission") //override the default save as option of no headings this.of_setFileHeadings(true) end event DAT*     ( D L T t |           4 < D L T |            $  06$$4$8<019nd98(@(8"8l8z%z'$$8DAT* 019n98(@(8"H88z%z'$$8019n98(@(8"88z%z'$$8 019n@98~@~81"z8H8z%z'l$t$8|019n98DAT* (@(8"88z%z'$$8019n98(@(8"88z%z'$$8 019n(98(@(8"N808z%z'P$X$8`019nt98(@(8DAT* "8|8z%z'$$8019n98(@(8"88z%z'$$8019n98(@(8""8 8z%z'$$,$84019nD98(@(8"8L08RDAT* 0:)@@81x$$8019n98(@(8"x88z%z'$$8019n98(@(8"88z%z'$ $8019n(98(@(8"808zDAT* %z'8I08Tz%@811r(H"#B$Z'z(),-x.123.6N78;<L=f@ABE"FHINO>PXSxTUXYvZdefid0 ll_valuels_fieldlistls_valuels_emptyP  'P ids_transmittaluserinput0 4#DAT* object,@organization_name__get_attribute_itemN - Organization Name ype 4#,@transaction_typetorN - Transaction Type 4#,@inventory_type_codeN - Inventory Type Code 4#,@incremental_submission_numberN - Incremental Submission Number 4#,@contact_person_nameN - Contact Person Name 4#,@contact_phone_numberN - Contact Phone Number 4#,@contact_phone_number_tDAT* ype8N - Contact Phone Number Type 4#,@electronic_addressN - Electronic Address 4#,@electronic_address_typeN - Electronic Address Type 4#,@affiliation_type@N - Affiliation Type 4#,@format_versionNErrorNEI Format Version cannot be blank. 4#,@release_point_type(N - Emission Release Point Type 4#,@data_levelN - Data Level for Toxics 4#,@rollDAT* up_confidentialN - Roll Up ConfidentialNEI ExportThe following fields are required for the NEI Export: $ 4 d         @ l t       ( P X t       $ , D x         ( *6$$4$DAT* 8<019nd98(@(8"8l8z%z'$$8019n98(@(8"H88z%z'$$8019n98(@(8"88z%z'$$8 019n@DAT* forward global type n_ds_nei_n3_exp_emission_unit from n_ds_nei_conversion_base end type end forward global type n_ds_nei_n3_exp_emission_unit from n_ds_nei_conversion_base end type global n_ds_nei_n3_exp_emission_unit n_ds_nei_n3_exp_emission_unit forward prototypes public function long of_addrow (any aa_record_type, any aa_state_fips_and_county_fips, any aa_state_facility_identifier, any aa_emission_unit_id, any aa_oris_boiler_id, any aa_sic_unit_level, any aa_naics_unit_level, any aDAT* a_space_1, any aa_design_capacity, any aa_design_capacity_unit_numerator, any aa_design_capacity_unit_denominator, any aa_max_nameplate_capacity, any aa_emission_unit_description, any aa_submittal_flag, any aa_tribal_code) end prototypes public function long of_addrow (any aa_record_type, any aa_state_fips_and_county_fips, any aa_state_facility_identifier, any aa_emission_unit_id, any aa_oris_boiler_id, any aa_sic_unit_level, any aa_naics_unit_level, any aa_space_1, any aa_design_capacity, anyDAT*  aa_design_capacity_unit_numerator, any aa_design_capacity_unit_denominator, any aa_max_nameplate_capacity, any aa_emission_unit_description, any aa_submittal_flag, any aa_tribal_code);long ll_rc any la_data[] //NEI Emission Unit Format //COLUMN NAME DATA TYPE WIDTH //record_type character 2 //state_fips_and_county_fips character 5 //state_facility_identifier character 15 //emission_unit_id character 6 //oris_boiler_id character 5 //sic_unit_leveDAT* l number 4 //naics_unit_level number 6 //space_1 character 2 //design_capacity decimal 10 //design_capacity_unit_numerator character 10 //design_capacity_unit_denominator character 10 //max_nameplate_capacity decimal 10 //emission_unit_description character 80 //submittal_flag character 4 //tribal_code character 3 //assign arguments to array elements la_data = {aa_record_type, & aa_state_fips_and_county_fips, & aa_state_facility_ideDAT* ntifier, & aa_emission_unit_id, & aa_oris_boiler_id, & aa_sic_unit_level, & aa_naics_unit_level, & aa_space_1, & aa_design_capacity, & aa_design_capacity_unit_numerator, & aa_design_capacity_unit_denominator, & aa_max_nameplate_capacity, & aa_emission_unit_description, & aa_submittal_flag, & aa_tribal_code } //call base class function of_addRowBase() ll_rc = this.of_addRowBase(la_data) return ll_rc end function on n_ds_nei_n3_exp_emission_unit.create call supeDAT* r::create end on on n_ds_nei_n3_exp_emission_unit.destroy call super::destroy end on event constructor;call super::constructor; //set the file extension and data source this.of_setDataType("txt", "d_nei_n3_format_emission_unit") //set the file description this.of_setFileDescription("Emission Unit Records") //set the nei record type this.of_setNeiRecordType("EU") //override the default name this.of_setFileName("nei_n3_format_emission_unit") //override the default save as oDAT*Bption of no headings this.of_setFileHeadings(true) end event DAT* 98~@~81"z8H8z%z'l$t$8|019n98(@(8"88z%z'$$8019n98(@(8"88z%z'$$8 019n$98(@(8DAT* "N8,8z%z'H$P$8X019nl98(@(8"8t8z%z'$$8019n98(@(8"8080:)@@81$$8019n98(@(8DAT* "@8 8z%z',$4$8<019nH98(@(8"8P8z%z'l$t$8|019n98(@(8"x88z%z'808z%@811r(HDAT* "#B$Z'z(),-x.123.6N78;<L>f?DEF I@JKNO>PXZx[\_d0 ll_valuels_fieldlistls_valuels_emptyP  '  ids_transmittaluserinput 4#object,@organization_name__get_attribute_itemN - Organization Name  4#,@transaction_typezN - Transaction Type 4#,@DAT* inventory_type_codeN - Inventory Type Code 4#,@incremental_submission_numberN - Incremental Submission Number 4#,@contact_person_nameN - Contact Person Name 4#,@contact_phone_numberliN - Contact Phone Numberid 4#,@contact_email_address$N - Contact Email Address9 4#,@contact_type_code8N - Contact Type Code 4#,@format_versionNErrorNEI Format Version cannoDAT* t be blank. 4#,@release_point_type@N - Emission Release Point Type 4#,@data_levelN - Data Level for Toxicst 4#,@rollup_confidentialN - Roll Up ConfidentialNEI ExportThe following fields are required for the NEI Export: $ 4 d         @ l t       $ H P l   DAT*     , 4 H l t  80Dj\d$#t18l0+@+81$6$,D)81 ( < dtd ls_dataobjectsqlca( D@A8 d_nei_n3_transmittal_user_inputids_transmittaluserinput(4#n_ds_cache_basDAT* eL#(4#Failed creating datastore 'ids_transmittalUserInput'(4#dataobject(4#settransobject D \d     80@jX`$#t18h0+@+81$6$,D)81  ( < dtd ls_dataobjectsqlca( DAT* D@A8 d_nei_transmittal_user_inputids_transmittaluserinputut%4#n_ds_cache_baseH#%4#Failed creating datastore 'ids_transmittalUserInput'%4#dataobject%4#settransobject@ X`     t($0$)H8<1V1h$p$)x8<11$$DAT* )8<11$$)8<1X1 $$)8<11D$L$)T8<11t$|$)8<1Z1$$)8<11DAT* $$)8<11$$)$8<1\1L$T$)\8<11$$)8<11$$)8<1^116F V 8HX %DAT*&'+,:-J1Z23789=><?LC\DEIJKOP>QNU^d ll_rc8 ids_siteoutputa$il_sourcerowsmi Uof_savetofile#8ids_emissionunitoutputP U8ids_pointemissionprocessoutput# U8ids_emissionreleaseptoutput U8ids_pointcontrolequipmentoutput  U8ids_pointemissionperiodoutput$" U8DAT*ids_pointemissionoutput\! U8ids_areacontrolequipmentoutputN U8ids_areaemissionoutput U8ids_areaemissionperiodoutput U8ids_areaemissionprocessoutput, U8ids_onroademissionoutputd U8ids_onroademissionperiodoutput U8 0 H h p x           D DAT*L T t |          $ L T \       t($4$)L8<1V1p$x$)8<11$$)8<11$$)8<DAT*1X1 $($)08<11\$d$)l8<11$$)8<1Z1$$)8<11$$)8<118$@$)HDAT*8<1\1t$|$)8<11$$)8<11$$)8<1^116F V 8HX %&'+,:-J1Z23789=><?LC\DEIJKOP>QNU^d DAT*  ll_rc8 ids_n3_siteoutput$2!il_sourcerow$Uof_savetofile<ids_n3_emissionunitoutputT+$U<ids_n3_pointemissionprocessoutput1 $U<ids_n3_emissionreleaseptoutput*$U<ids_n3_pointcontrolequipmentoutput.$U<ids_n3_pointemissionperiodoutput80$U<ids_n3_pointemissionoutputt/$U<ids_n3_areacontrolequipmentoutputDAT* &$U<ids_n3_areaemissionoutput'$U<ids_n3_areaemissionperiodoutput($U<ids_n3_areaemissionprocessoutputP)$U<ids_n3_onroademissionoutput,$U<ids_n3_onroademissionperiodoutput-$U< 4 L p x          ( 0 \ d l        DAT*  8 @ H t |         C@8@8:F@@8$18($z%80z&)|8$$680808$z%8z&)81$80)(80$8$680808@0)DAT*T81 l$)8 $6$6$6686N8z' 8$$8(0 $9nH98(@(8z'8Pz& 8R0 68Y08c0n|8(@(8 $$80$9n98^ 8DAT* 8808066$$80$9n98(@(8L$$80$9n9880z"$8 L1O8z'88z&h$z&8pz&)81'I$$80$9n98^DAT*1"1"$86P8z'8z&$$z&8pz&),864$<$8L0D$9nT98^8\"8]0l$8t$z%8pz&)8$$80$9n98^$$80$DAT*9n(98^8\"800D$8L$z%8pz&)8$$80$9n98^6$$80$9n98^8\" 8 0$8$\$z%8pz&)d8$6$$80DAT*$9n98^8\" 80$8 $z%8pz&)8$$$840,$9n@98^8066 6!6"6#\$6d$ 6 666666L1(@(866666DAT*66666666 6!6"6#6)x88\08Rn&BghijkmoJpqrhs|tuvxy}@pj,DT . F X h x d ld_nullll_rcll_findls_nullls_filenamels_recordstrDAT*ingls_cityls_nationls_recordtypels_toxicflagsls_findls_valuels_record_typels_state_fipsls_county_fipsls_site_idls_federal_facility_idls_facility_categoryls_oris_facility_codeld_sic_primaryls_naics_primaryls_facility_namels_site_descriptionls_street_line_1ls_street_line_2ls_street_line_3ls_statels_zipcodels_countryls_address_type_codels_nti_site_idls_site_mact_codels_site_mact_compliance_statusls_dun_bradstreet_numberls_tri_idls_submittal_flag DAT* & 2 B J T b p x            eq+ ? P noa DAT* r _a{ ut  ae ut  oa     is_siteidaSite ID a is longer than 15 characters. Skipping Source.of_writelogmessageerror,aids_sources:)is_sourceidXSource IDerrora is longer than 15 characters.of_setexceptionDaSite ID is NULL. Skipping Source.,DAT*"a:)XSite ID is NULL.Dids_siteoutput\$of_getneirecordtype3tis_statefips^is_countyfipstr`ais_errormessageSource ID = ref_rid = :)object"@il_sourcerow$Usource_rid__get_attribute_item3 SOURCEHAP MAJORvalueof_getactivitydataZi:)@Utoxics_flag3Y0102:)@Usic_code3:)@Uafs_invalid_flag3:)SDAT*$ic Code with value of is invalid. Value will be changed to 9999 for .of_writelogmessagewarning*r:)@Unaics_code3:)NAICS Code with value of must have a length of 2, 3, 4, 5, or 6 and can not be null for *r:)@Uname3NO NAME GIVEN:)Facility name is null. Value will be set to 'NO NAME GIVEN' for *r:)@Ucomment_text3:)@UlocatioDAT*&n_line_1_addr$3NO ADDRESS GIVEN8:)Address is null. Value will be set to 'NO ADDRESS GIVEN' for *r:)@Ulocation_line_2_addron 3:)@Ugeographic_incorp_name3NO CITY GIVEN':)City is null. Value will be set to 'NO CITY GIVEN' for *ris_stateuspscode8l_:)@Ulocation_zip_code939999999999:)Zip Code is null. Value will be set to '9999999999' for DAT*(*r:)@Unation_name3is_submittalflagHz\$of_addrown4l ( |      ( 0 8 T l          H |              h       $ , 4 < DDAT** T l          ( D            \ d           $ , @ \ d x   [:F@@8 |< |)P8l$)81DAT*,$$1)8)8^$)81($^$1)8)8$9)8 $8(0)`8h$9)p811)x81.$)8$$809n9DAT*.8Y$$1R  $$809n98^ X 8 0  68 8 "8 "8 "8 "8 "  $($1R  $ 8004$11}\<$< D$DAT*0L$809nT98^  8 0 8\ z%z't$|$$809n98^8080 6)8R)8$)81$$1)8)8$)$81f,$4DAT*2$1)<8)D8&`$)h81p$&x$1)8)8 $8080)8$80$) 8<1($0$1)88@$8H0)|81F$ $DAT*4$809n98^<$800)81}$< $$1R  $<=6,$4$1R <$<=6)D88 X$)`81 h$8 p$1)x8)8 $)8DAT*61 $ $1)812J^ (*+ ,/(086^8r9:;<BDGRHJMPQ<RFTXUhWX[ ^_ a<bzcdfhjuwxy}~&HXfv&:j*T b   8 L n ~ d li_iDAT*8ll_rcll_rowll_sccrowll_sccrowcountll_stateridll_prevstateridll_countyridll_prevcountyridll_sourceridls_sourcetypels_messagell_emptycase84 $3?O\mz  -  il_countyridarrayPil_soDAT*:urceunknowntype$Qof_getrun&Dids_sourceactivityX>-of_populate:tib_debugX>-of_savetofile I&Dids_source:):t:)&D:)of_setsortlocky#:)nation_rid A, state_rid A, county_name A, id Aof_sort!W:)#&D:)rowcountcon:)objectd@county_rid__get_attribute_itemPP:)@typeNULLFAMNLXDAT*<$Q$Q$Q$Q:)@Invalid Source Type: :):)@idSource IDwarningof_setexceptionD&Dids_countyactivity=,:t=,&Dids_units5$:t5$&Dids_metriclookupsL7&:tL7&&Dids_conversionlookupcodes 9(txtd_data_set_conversion_lookup_codes_no_paof_setdatatype9(Nothing is_pollutantDAT*>s pIt9(9(rapids_field_name = 'THROUGHPUT_METRIC'of_filter pis_throughputmetric9(@rapids_value_name9( pis_inputstreammetricis_outputstreammetric&Dids_metricsL6%:tL6%&Dids_materialgroups8':t8' < P l      DAT*@          ` h p x             ( 4 < D L T t |            $ , 4 < D ` h p x         ( 0 8 @ DAT*B|            , 4 < D X ` h p x       b@866)88 bo8!8'08/8'0868'08=8D08ODAT*DD8W08cn8'08l8v018z%8z&+@+88z%(@(8z(8z&z&8z&666n8  D Xbr.@Xj"#&'*.dV as_typeal_ridas_metricas_columnls_findls_ridnamels_tyDAT*Fpela_nullcase17  ! + 3 > FN  of_checkmetricWSTATEref_ridCOUNTYSOURCEDEVICEdevice_ridPROCESSprocess_ridINSTREAMOUTSTREAMstream_ridInvalid activity data type '' = and metric_code = 'of_getactivitydataY    $)<8@8DAT*H:F@@8`$p$8x019n98^6%@%8$6$6$6$$8019n98$$8019n,98<$(@(86D$L$8T019nh98663@3$$(@(8DAT*J$$8019n98%@%8i$$8019n98$$8019n98$ $8(019n@98H$P$8X019nl98t$|$8019n98$$8019n98DAT*L$$$8019n98M2),84$L$)d8<11|801 ">.X/1LMNQSdb ll_rcls_nullls_recordstringls_filenamels_formatversionld_formatversionls_recordtype  & 2 CDAT*N> T  ids_transmittaloutput%of_getneirecordtype3(ids_transmittaluserinputD4#objecth@format_version__get_attribute_item%is_statefips^is_countyfips`D4#h@organization_nameD4#h@transaction_typeii_year4kD4#h@inventory_type_codeii_submissionnumberplD4#h@reliability_indicatorD4#h@traDAT*Pnsaction_commentsD4#h@contact_person_nameD4#h@contact_phone_numberD4#h@contact_fax_numberD4#h@contact_email_addressD4#h@contact_alternate_phone_numberis_sourcetypecD4#h@contact_type_codeof_addrow4 %il_sourcerow\<Uof_savetofileTis_errormessagel < ` p     DAT*R     , < D L h              @ H P l t |         , 4 L d | p,B68"08)06@883r@9}H9},B68"08P0DAT*T6@883p9} x9},B680806@8$80,B680806@8$808$z%8z&z&)(8<1 F Z nr DAT*VVp $&L)Zd8 ls_debugls_emptyll_rcls_eventnamegs_inifiled  -B@0` loadtransmittaluserinputexportnei_debugYib_debug55nei_perf_debugib_perf_debug__is_datacodenulludata code prioritynulluu99is_datacoderovrovv00ue_is_file_system_version[_triggereveDAT*Xnt @ H p x        (  <$#$1P$r,B68X08_08i0@8,B68X08_08k0@88m$z%8z&z&)8<1 $ 4 n rd& ll_rcls_eventnamegs_inifile<DAT*ZB@ savetransmittaluserinputids_transmittaluserinput!4#ib_debug3Dexportnei_debugYNue_is_file_system_versionq[_triggereventd < P   60  |<|1}PT$<|8\08\0`$<=8hP8r08u0DAT*\8x08{08~080808080 |8808u08~0808080 |8808u08080 |8808u08~0808080 |18$<=z%8z&+@+811}DAT*^<$z%<=z&$z&8z& $<% 6($<%<<=6D$<%X6F`$1`8h08s0:)@@811}$<@8\0$$<=$z%DAT*`63@38<$$1R 6v$1&F@8,H>51 $&1}$<&$<=62@28 0n~Ldv !(":#|$%(+,-h./1356"7P;`=?ABE<H@J\KDAT*bzMQRST"Z&d li_ili_jli_filecountls_sourcetypecodels_recordtypes ls_filenamels_empty lstr_neifilenamesempty case22w_confirm_file_operationsmessage@d  @1-L dX-p- F@BH@C$ is_existinDAT*dgfilenamesput istr_neifilenames( is_filetypesDtDNEI_POINTPTTRSIEUEPPEERCEEMNEI_AREAARNEI_ONROADORNEI_NONROADNRInvalid file type 'D'is_stateuspscode_is_2dyearo.TXT0( file_type0( record_type0( file_nameL( NEI ExportExport failed creating NEI file names.8( is_exportpathh( L   @ib_overwritefileDAT*fsj   < T `        ( < D X `             j101H1}`8h0|8h08h08h03@3$@$@89)8)DAT*h8)880)48)P8<19)X8l$)8)880)8)8<19)81:$8z%$=1@8z(01@880)8)84DAT*j$"H$)X8`$)x8$9)8$:@)8$1)8<$:@)819)8$($680D$<B@B8)`88hz%)p880x$<B@B8)883@3$(@(8z'8z&@DAT*l$(@(8z()8$N80)8j80)8$80)88 0)488h0)<88Dz%)T88\(@(8z')p88x$(@(8z')88$6(@(8z')88$6(@(8z')88DAT*n4$D$8L019nt980t^)|88$$8019n980t^)88$(@(8z')88\$z%)d88l$z%)88$z%)8$80)(880D$z%)L8)l88t$DAT*pz%8z&z&)8<80)88h0)8)8$$) 81 8h0)88 $<B@B8)(80$8$)@8(@(88Hz&)d88l$<B@B8)t8|$)8$$)81 8h0)88DAT*r$<B@B8)8$$)8(@(88z&)( 880 $<B@B8)8 8@ $)H 88P 08c 0:)@@88h0) 81 8 3@3$(@(8z'8z&@$(@(8z() 88 0) 8F) 8#H 8 3@3$(DAT*t@(8z'8z&@$(@(8z() 88 0)$ 81F8, 3@3$(@(8z'8z&@$(@(8z()@ 88H 53@3$@$@8)h 8z')p 88x 0) 818h0) 88h0) 8 $1) 8 $) 8DAT*v $9) 8, F ` z $@ \!l"#,.012367T89=DGJLO"R@U`VWXY`abVcvdfg.hJiNljmznorstu$v^wxy@z{|}0~Xj $ @ R * d  X  v  6 D H 8Fb~d_ DAT*x ll_sourcecountli_ill_expls_filetypeslogls_logtitleldt_startrunll_rcls_eventname# 3 ? LR  il_countyridlenSil_sourceridnei Tii_formattype_f8bis_sourcetypePcis_sourcetypevalueidis_sourcetypecodeeis_sourcetypelogfof_setrunof_resettotals(exportofDAT*z_getrun&Loading cache data . . .of_writestatusmessage!of_loadcachedatadat?<ids_sourcem`:)rowcountt&Processing file names . . .!of_setfilenamesDis_filetypes, Starting export . . .!&ib_overwritelogfile iids_logfile<resete_P<of_fileexistsdsh<of_setloadblanklinessdi<of_setfileaccessgw<of_loadfromfileDAT*|<iw_exportis_file_systemQ=ii_loglinelength2of_writelogmessageL== L2LStarted: L iLog Mode: Overwrite'LLog Mode: AppendLib_overwritefilesjData Mode: OverwriteLData Mode: AppendLLFile Types: LSources Selected: LInventory Year: ii_yearkLReference Code: is_referencecoderLUnit DAT*~Code: is_unitcode)@sLTransaction Type: ids_transmittaluserinput4#object<@transaction_type__get_attribute_item]LInventory Type Code: 4#<@inventory_type_code]LIncremental Submission Number: ii_submissionnumberTlLEmission Release Point Type (default): is_defaultreleasepointtypeAxLData Level for Toxics (default): is_defaultdatalevelwLRoll Up Confidential: is_rollDAT*upconfidentialyLis_submittalflagzSubmittal Flag: NullLSubmittal Flag: zLof_writelogpollutants[Tue_is_file_system_versionx[_triggerevent Ending . . .!Lof_writelogtotals `:)ids_exception !tL-2L`:)!t Sources Were Not ExportedL2L`:)of_writelogexceptionsFids_metrics6%!tDAT*L2L6%!t Undefined Metric Codes Were Found in ProgramL2L6%FMetric Code ErrorsThere were Metric Code Errors during the export. Please see the log file for details.LERROR STOPPED EXPORT: LError !&EXPORT CANCELLED: LCancelled!EXPORT COMPLETED: LElapsed Time: of_elapsedtime#X LComplete!LL<of_savetofile <DAT*of_fileclose ib_debug  0 H ` |      4 P X l          4 H X ` x           ( D ` p x        4 < T p   DAT*    4 D t |       \ d      ( D L l             ( 0 8 @ d l t |           ( 0 8 @ H      DAT* $ @ h p          d$$#,jX`$#v18h0+@+81$)8$)8$#Lj $#*18(0+@+81T$)\8hd$)l8$#@DAT*j$#180+@+81$)8$9)8$9)(8\0$)88L$#Tjpx$#180+@+81$)8$)8$#j $#180+@+81DAT*$)8$$),8@$#\Hjdl$#:18t0+@+81$)8x$)8$#j$#180+@+81,$)48,<$)D8l$#tj$#1DAT*80+@+81$)8$)8$#x$jHP$#V18X0+@+81$)8$)8$#,j$# 180+@+81$)$8H,$)48P$#XDAT*j$#180+@+81$)8$)8$#j$#r18 0+@+81D$)L8T$)p8x$)8$)8$# j$#f 180+@+81DAT*$)$8,$)48 <$)D8`$#x hj$#8 180+@+81$)8$)8 $)8 $#J  jD L $# 18T 0+@+81 $) 8 $) 8f  DAT*$) 8 $#  j  $# 18 0+@+81D $)L 8T $)\ 88 d $)l 8 $#  j  $# 18 0+@+81 $) 8 $) 8  $) 8< $# D jl t $#DAT* 18| 0+@+81 $) 8 $) 8  $) 8 $# j  $#R18( 0+@+81P $)X 8` $)h 8p $)x 8 $#d j  $#$18 0+@+81 $) 8DAT* $)$ 8, $)4 8X $#6` j  $#18 0+@+81 $) 8 $) 8R $) 8$#$jT\$#18d0+@+81$)8$)8$$)8$#DAT*j ($#1800+@+81d$)l8t$)|8$)8$#j$#l180+@+810$)88@$)H8P$)X8$#~j$#>180+@+8DAT*1$)8 $)8$)$8<$#2Djlt$#180+@+81|$)8N$)81  * > fv "#$%)*0H2L:h<|=>?CKLN<P@V\XpYZ[_fhmo$p:qNrvv}*DAT*:X\x ,@Vj FVtx (,H\r &:b r#%',02 3 4. 5V 9f < > @ E G H I J( N8 QV St Ux Z \ ] ^ _ c f( hF jJ of qz r s t x { }  8 L b v        4 H p       BRp$B`dDAT*26Rf| $ 8 N b! " #4$\(l+-/46789.=>@\BzD~IKLMNRW.Y2^Nd ll_rows ids_conversionlookupcodes9(9(n_ds_cache_conversion_lookup_codes4(9(Failed creating Conversion Lookup Codes cache.9(of_register9(of_resetids_rapoperatingmonDAT*thsH7H7n_ds_cache_rap_operating_months7H7Failed creating Rap Operating Months cache.H7H7ids_source t:)t:)n_ds_cache_primary_site)t:)Failed creating Primary Site cache.t:)t:)of_setfilterlock"t:)of_setsortlockk#t:)ids_units@5$@5$n_ds_cache_units\$@5$Failed creating Units cache.@5$@5$ids_metriclookups 7DAT*&7&n_ds_cache_rap_metric_lookups&@5$7&7&ids_metrics46%46%n_ds_cache_metricsP%46%Failed creating Metrics cache.46%46%ids_materialgroups8'8'n_ds_cache_material_groups'8'Failed creating Material Groups cache.a8'8'ids_statelocationcoordinatesLI8LI8n_ds_cache_state_location_coordinates|8LI8Failed creating State LocatDAT*ion Coordinates cache."LI8LI8ids_stateactivity<+<+n_ds_cache_state_activities,+<+Failed creating State Activity cache.<+<+ids_countyactivity=,=,n_ds_cache_county_activities,=,Failed creating County Activity cache.=,=,ids_sourceactivity<>-<>-n_ds_cache_source_activities`-<>-Failed creating Source Activity cache.<>-DAT*<>-ids_emissions;*;*n_ds_cache_emissions*;*Failed creating Emissions cache.;*;*of_addtoflusharray )\;*;*rowcountids_emissionunits_uC2C2n_ds_cache_emission_unit2C2Failed creating Emission Units cache.C2C2)\C2ids_emissionprocessLD3LD3n_ds_cache_emission_processp3LD3Failed creating Emission ProcesDAT*s cache.LD3LD3)\LD3ids_emissionreleasepointE4E4n_ds_cache_emission_release_point 4E4Failed creating Emission Release Point cache.E4E4)\E4ids_fugitivereleasepoint F5 F5n_ds_cache_fugitive_release_point 5 F5Failed creating Fugitive Release Point cache.id F5 F5)\ F5ids_sitereleasepointleat G6t G6n_ds_cache_site_releaDAT*se_pointfl 6t G6Failed creating Site Release Point cache.OUt G6t G6)\t G6ids_deviceactivity( @/( @/n_ds_cache_device_activitiesOKUL /( @/Failed creating Device Activity cache.( @/( @/)\( @/ids_processactivity ?. ?.n_ds_cache_process_activities . ?.Failed creating Process Activity cache. ?. ?.)\ ?.ids_inputstreamactivity A0 A0DAT*n_ds_cache_input_stream_activities 0 A0Failed creating Input Stream Activity cache. A0 A0)\ A0ids_outputstreamactivity< B1< B1n_ds_cache_output_stream_activitiesh 1< B1Failed creating Output Stream Activity cache.< B1< B1)\< B1ids_countylocationcoordinates J9 J9n_ds_cache_county_location_coordinates,9 J9Failed creating County Location Coordinates cache. JDAT*9 J9)\ J9ids_sourcelocationcoordinatesK:K:n_ds_cache_source_location_coordinates:K:Failed creating Source Location Coordinates cache.K:K:)\K:ids_devicelocationcoordinatesL;L;n_ds_cache_device_location_coordinates;L;Failed creating Device Location Coordinates cache.L;L;)\L;ids_processspecificschedules`M<`M Bd% an_stateridas_filetypeli_i<  $ istr_neifilenamesup  1} DAT*$<$$<=8$@$<=T$!1> d' as_filetypeas_recordtypeli_i<  "\( istr_neifilenames  file_type, record_typeH $ 8 @ T (68DAT*8 "8"8"8"8"8"8" 18 z%86z&+@+88809}68:688 "8"8"8"8"8"8"9}B8=8@"68DAT*8"8"8"8"9}B8C 68 8 "8 "9}B18Fz%86z&+@+8880#r8Zz%8_z&z&8a01}t$<V|$<=$$<=$!RDAT*$<=$6V8a $8 66)88 66)(88806 0 (<L $!$%&'*+,2/B1L5r689 :N=R@VAjBCDEGKdt as_filetypeas_recordtypelb_validfilenameli_ils_filenamecase12case23case25DAT*case31case37case65  "38 D L T \ d l 0P TRSIEUEPPEERCEEMInvalid record type ''?PTARNRORInvalid file type 'ERR--istr_neifilenamesb b file_typeb record_typeb file_nameis_file_system_version[NIF2ofDAT*_n2_getfilenamedNIF3of_n3_getfilenameet |        (  U$:F@@8@8 @8@8 1<$)X8p$6$6$666!M #$6 1Z )DAT*8  $80 9n98^$8 0 9n98^0886Q8z'8Fz&6R8z(8Wz&\$8d0 9nx98^16$8$z%8z&z&8z&)81@8$80 DAT*9n,98^841'8$8@\$z%)d8*l$8t0 9n98~@~8$80 9n98^1"1" $86S8z'8z&$z&)86$8 0 9n98]DAT*8L1(@(8z'8&z&$6)8}*$80n8%@%8$80n8^$6)8} $80n8%@%8$80n$8^ 8,z%8Wz&L$6)T8} \$8d0n|8DAT*Y$80n8^$80n8^$80n8^#8!&6 6 8,z%8Wz&$6)8} $80n 8^$80n8^#8!0 MGb6 6 $$8DAT*,T$z%8\z&M2T8z(8oz&6U8z(8z&)89}# M 6 6"$80 9n98^"8"8""" "$80 9n98^ "8z%8z&"z&""1Po@o98 $6DAT*66666(@(866M26 6M!2"6#6)8 1    P80  !."J#f$%&'()* +,&.>1v245h679>6?|@ABCF*GpHJM OPPQSTU&W*XTY\Z_abcd$eTfghijk"m&nFoppxqrst u v, x0 z DAT* F t  d ld_conversion_factorls_afsinvalidflagls_rapidsunitsls_standardcodels_numeratorls_denominatorls_idls_sourceidlb_findld_nullll_rcll_rowll_totalcountll_foundll_nullld_ridls_nullls_filterls_findls_filenamelnv_exportls_record_typels_state_fipsls_county_fipsls_site_idls_emission_unit_idls_oris_boiler_idll_sic_unit_levells_naics_unit_levells_blank1ld_design_capacityls_design_capacity_DAT*unit_numeratorls_design_capacity_unit_denominatorld_max_nameplate_capacityls_emission_unit_descriptionls_submittal_flag / > N [ j p |>    DAT*   2     ' ; M_ s }>   9>  h_  0 ids_emissionunitCEC2ids_emissionunitoutputT$ of_getneirecordtype3Dis_statefips`^is_countyfipsx`is_sitDAT*eidais_submittalflagzrowcountobject@id__get_attribute_item@source_id6is_errormessage Source ID = '", Device ID = "" @emission_unit_id$ Emission Unit ID's length is > 6. The id will be right trimmed. n , Emission Unit Id = ''of_writelogmessagewarning*@afs_invalid_flagY$ Invalid SIC Unit Level:  *@sic_codeDAT*@naics_code$ NAICS Code '' must be a length of 2, 3, 4, 5, or 6 and can't be null: *@riddevice_rid = and value_type = "DES" and number(value) > 0 and not isnull( value_unit_code )ids_deviceactivity8v@/of_find6v@/valueof_getdata9v@/value_unit_code9ids_processactivity?.6?.9?.9rapids_unit_code = "ids_unitsA5$6A5$conversion_factor_amt9DAT*A5$standard_code09A5$numerator_unit_code9A5$denominator_unit_code"9A5$6A5$9A5$9$ Design Capacity could not be exported: , Design Capacity , Design Capacity Units = '*@namen@@comment_textRAPIDS ID= "". $ of_addrow4  < X p         0 \ DAT*x     , 8 \ d l                     $ L T \ |              $ T         N$:F@@8DAT* @8@8 @8 1D$)`8x$6$6$6 6'M* 6+$61Z)8$809n 98^$809n(98^0$880DAT*9nD98^\8d6V8z'8rz&6W8z(8z&6X8z(8z&8$809n98(@(8z'$6)8$80n8^ 61< $8X$z%8`z&6Y8z(8z&)8DAT*1@8$809n98^1 $8 $z%8z&6Z8z(8z&),81@84$8<09nP98^1X$8`$z%8z&6[8z(8z&)81@8DAT*$809n98^$809n98^8:81 B@B8$88+z%X$z&8`z&6\8z(8z&)t8|$809n98^8"$809n98^$80DAT*9n986{8$809n980t80t6t^1No@o98$809n 98%@%83 $$809n,98%@%8i1@8 4$809n<98%@%8D$8L0DAT*9nd98%@%83l  |$8L09n98%@%8i1@8  $8L09n98%@%8$809n98%@%83 !$809n98%@%8i1@8* !$80DAT*9n98%@%8$809n98%@%83 "($809n098%@%8i1@8N "8$809n@98%@%8 H$8P09n\98]8dL 1(@(8z'#8s0L 8{080DAT*n8%@%8$8s0L 8080n8%@%8%8s0L 8080n8%@%8&8s0L 8080n8%@%8(8068080n8%@%8)8068080n8%@%8$$666666DAT*6666M2M 2M!2M"2M#2M$2M%2M&2M'2M(2M)2*6+6)881 P@80  &'.(J)f*+,-./0 12&9>?v@ABHFG4HZIJMNPV<XY[_ afbzdghJijko:pqtu*x{| } ~ :  ^ * N DAT*`Pzd ld_conversion_factorls_epainvalidflagls_findpostfixlb_findld_nullad_seasonthroughput@> ad_seasonthroughputreset@> ll_rcll_rowll_totalcountll_foundll_nullld_ridls_nullls_filterls_findls_filenamels_deviceidls_sourceidls_idlnv_exportls_record_typels_state_fipsls_county_fipsls_site_idls_emission_unit_idls_emission_release_point_idls_process_idls_sccls_process_mact_codels_emission_DAT*process_descriptionll_winter_throughput_pctll_spring_throughput_pctll_summer_throughput_pctll_fall_throughput_pctll_annual_avg_days_per_weekll_annual_avg_weeks_per_yearll_annual_avg_hours_per_dayll_annual_avg_hours_per_yearld_heat_contentld_sulfur_contentld_ash_contentls_process_mact_compliance_statusls_submittal_flagdp / >F> dN>-p>-DAT*          3 ) 7 F Q e E= od ap "= ) > idDAT*> ME> > .> J> eg> > d>  => = > al nu H ids_emissionprocessD3ids_pointemissionprocessoutput$#of_getneirecordtype3Lis_statefipsh^is_countyfips`is_siteidais_submittalflagzrowcountobject@process_id__get_attribute_itemDAT*@device_id@source_idis_errormessageLSource ID = '', Device ID = '', ID = ''rid = @device_ridids_emissionunit9C2of_find6C2emission_unit_idof_getdata9$#Emission Unit ID's length is > 6. The id will be right trimmed. +L, Emission Unit Id = 'of_writelogmessagewarning8*w@release_point_id8$#Release Point ID's length is > 6. The id will be right trDAT*immed. L, Release Point ID = '*w@emission_process_id$#Process ID's length is > 6. The id will be right trimmed. L, Process id = '*w@scc_ams_code@epa_invalid_flagY $#EPA invalid flag was set. Only right most 6 characters will be used: L, SCC AMS Code = '*w@name@comment_text@RAPIDS ID= "@". @winDAT*ter_throughput_pct$ @@@spring_throughput_pct @@@summer_throughput_pctmm @@@fall_throughput_pct @@@process_ridprocess_rid = PROCESSD/W USE RATEvalueof_getactivitydata@W/Y USE RATE@H/D USE RATE@H/Y USE RATE@DAT*INSTREAMS CONTENTZASH CONTENTZ$#of_addrow4,L D ` x         ( 0 D \         X       , 4 P X        X t |           DAT*$ , 4 < D d l|            ( 0 8 @ H \       $ 8 @ :F@@8)80$)D818Ld$|$z%)8$$)DAT*8)8$)81Z8L$ $z%)8$$$),8)48HT$)\818Ld$l$z%)t8|$H$)8)8$)818L$$z%)8DAT*$$)8)8 $)(818L0$8$z%)@8H$P$)X8)`8v$)81B8L$$z%)8$v$)8)80$)81DAT* 8L$$z%)8$0 $)(8)08hH$)P818LX$`$z%)h81h8p$6]8z'8z&)8$$680808 0)881)@8H$`$)8)DAT* 8 3@3$@$@8$1$806)8188$@$z%)H818P$z%8z&)81$$1^8$$(@(8z'8z&)8$) 81 8P$z%8zDAT*&)88@$H$6808P08X0)|81$1$80)81 8$$z%)8$1 $80)$81H 8,T$\$z%)d8l$t1|$80)81DAT* 8$$z%)8$Z 853@3$@$@8)L8z')T8\$ d$)l8)t8 |$80)8 $$80$8)98$8 0)0 8 8 $@ $8P 0H $8)\ 98DAT*)d 8H  $) 81 8L $ $z%) 8 $H  $) 8) 8 $) 81 8L $ $z%) 8 $ $) 8)( 8D $)L 818LT $\ $z%)d 8DAT*l $t $)| 8) 8v $) 81B8L $ $z%) 8 $v $) 8) 80 $) 818L $$ $z%), 84 $0< $)D 8)L 8l $)t 818LDAT*| $ $z%) 8 $ $) 81  . P`  L#Z$j,./0145$=H?\@~ABEFMOP8QHRzUV]_`ab4eBfRnvpqrsvw ~0DfvXh|L\^  0 \ l  : H h DAT* Z j  @   $ H \ ~     8Hz%'()*4-B.R6v89:;>? G0IDJfKvLOPVd5 al_blockll_rcldt_startls_confidentialflagP !   of_getrunon&ids_deviceactivityi@/of_populate:8Error in Populating: @/is_basefilenamelof_wriDAT*telogmessageerror,ib_debugr@/of_savetofile &ids_processactivity?.:8?.l,?.&ids_inputstreamactivity<A0:8<A0l,<A0&ids_outputstreamactivityB1:8B1l,B1&ids_countylocationcoordinates|J9:8J9l,J9&ids_sourcelocationcoordiDAT*nateshK::8hK:l,hK:&ids_devicelocationcoordinatesL;:8L;l,L;&ids_emissions18;*:88;*l,No emission records found for Source ID: is_sourceidX. Skipping Source.of_writelogmessagelids_source:)XSource IDnormalNo emission records found.of_setexceptionD(&:)il_sourcerowPUof_setconfidenDAT*tialflagIh&8;*il_rowsdiscarded%8;*SET_CONFIDENTIAL_FLAG_AND_DATA_LEVELof_scanreverse?Error in Post Processing SET_CONFIDENTIAL_FLAG_AND_DATA_LEVEL: 8;*l,Could not set Emissions data level for Source ID: X,8;*%Discarded 8;*% Emission records during data level processing.8;*rowcountzXof_writelogmessagewarning6-:)XwarningCould not set EmissiDAT* ons data level.D(8;*%8;*SET_EFFICIENCIES>Error in Post Processing SET_EFFICIENCIES: 8;*l,8;*%8;*SET_CONTROLS>Error in Post Processing SET_CONTROLS: 8;*l,8;*%8;*SET_RELEASE_PT_FOR_SITE>Error in Post Processing SET_RELEASE_PT_FOR_SITE: 8;*l,ib_perf_debugPost-processing for ids_emissions Elapsed Time: of_elapsedtime#:DAT*"8;*&8;*criteria_flag = 'Y'of_find6:)object@PUYcriteria_flag__set_attribute_item8;*isNull(criteria_flag) or criteria_flag = 'N'6:)@PUtoxics_flag&ids_emissionunitl C2:8l C2l,l C2&ids_processspecificschedules M<:8 M4 L 6@8 1}< 1  <p < M29}1G 8,$<$8D09nh98(@(8z'$ 6)8} $80DAT*.n8e@e8}$80n8e@e8}$80n8[ 1 <R}  <<Y1R}M >i  }  1 <1 1 }  1 <} < MMMT D$)08} )X8#DAT*0 |1G`$h$8p09n98^#8!)8X$6)8<1"$X$1)8 1}x  < 1< 1 <! < MMMTn ) 89}"9}M3DAT*2!-1 3$1  A1 AT1 ATbMi-1 341 A1 AT1 ATbMi-1 3D1 A1 AT1 ATbMi-1 3T1  A1  AT1  ATbMi1  P lp|&d #"'8(D*R+n,-0DAT*412468;>(?@ARCFGHIL"M2QXSTUXZ[`af"h8jlnRqd7 al_rowad_throughputs@ ld_monthlyamount@>  ld_relativeactivityamtld_mamountld_monthlyamountreset@>  ld_totalamountld_nullli_endmonthnoli_beginmonthnoli_monthsli_monthli_monthindexls_findls_yearlyschedulecodelb_findlb_populatethroughputsll_rcll_totalcount @| DAT*6-@,>-L> c> n>-> >    #)d process_rid = ids_emissionprocessD3object4@process_rid__get_attribute_itemPids_processspecificschedulesDAT*8ogmpM  lb_findli_monthindex<>-$,DAT*< jm:F@@8@8@8@8 @8@81 1}8080),8P$)l8$6$6$666!M)L+6-$6 1}  DAT*> @ 1<$V 1<B$V4$1r)H8<X$8`09n|98]$809n98^8$809n98^8z'8z&6_8z(8z&$80DAT*@9n98^1 $8`$z%8hz&z&8z&)81@89} 8L1(@(8z'8z&z&8z&$809n98^$ 6)8$8 0n48(@(8X$8`z%8z&)89}DAT*B$80n8(@(8#|8:80|8d80|$68080)$8 8L1(@(8z'8z&z&8z&,$ 6840JX8;%@%88`080)l8 8L1(@(8z'8z&z&8z& t$DAT*D 6840J|8;%@%88080)8 8L1(@(8z'8z&z&8z&"$$ 68,0J08;%@%888080)D8 8L1(@(8z'8z&z&8Lz&#$ 680J8;%@%88080)8 8L1DAT*F(@(8z'8z&z&8Lz&$$ 680J8;%@%8$8L1(@(8z')(8# P$8X$8`09nl98(@(8z')t8# |$8$8`09n98(@(8z')8# $8DAT*H$809n98(@(8z')8# $8$8$09n<98(@(8z')D8# 8 L$8T8z%$z&)8 $8T8z%$z&)8$$8, %18.0n@8v[&8H0nX8[' }(DAT*J8`0B%8g0nx8[&80n8['80n8W}(808080)8 8$809n98(@(8z'8z&z&8Lz&*$ 6840J8$8 09n 98^8 ", $8 0DAT*L9n0 98^,6,88 z%8E z&,z&,,1Po@o98L $66666666M2M 2M!2M"2M#2M$2M%2M&2'(6L)1L*1+6,6-6)` 81.<8hh 8 0,-.6/R0n12347DAT*N89,:D;\<l=|>?@CEFGH*I>JBMVOPQSTV X\\]^_a@bcdhjk$l6mNn`ods|tuw<xhy{|(~p0 | < P  "  &  : l 0Bnd@&*.8<@Zd ll_rcll_rowll_totalcountll_foundll_nullld_ridldb_nullls_nullls_filterls_finDAT*Pdls_filenameli_nullli_recordsetli_recordsetcountld_nulllnv_exportlnv_locationlb_stacktypefoundls_metriccodels_eridls_stacktypeld_erridls_namels_record_typels_state_fipsls_county_fipsls_site_idls_blank1ls_emission_release_point_idls_emission_release_point_typels_blank2ld_stack_heightld_stack_diameterldb_stack_fenceline_distanceld_exit_gas_temperatureld_exit_gas_velocityld_exit_gas_flow_rateld_x_coordinateld_y_coordinateli_utm_zonels_xy_coordinate_typeldb_horizontal_aDAT*Rrea_fugitiveldb_release_height_fugitivels_fugitive_dimensions_unitls_emission_release_pt_descriptionls_submittal_flag#,4 ; D L V ^ jr>  > E DAT*T   R   * # . 8 U 8t ~> '> > > > > > >  , B _ { DAT*V  p  AFS STK TYPEDEVICEof_checkmetricWids_emissionreleaseptoutput4 of_getneirecordtype3Xis_statefipst^is_countyfips`is_siteidais_submittalflagzids_emissionreleasepoint E4ids_fugitivereleasepointF5ids_sitereleasepointG6rowcount@<object@P@rid__get_attribute_itemdP@iddis_errormessageSource ID = '6PDAT*X@source_idd', Id = ''P@release_point_idd4 Emission Release Point ID's length is > 6. The id will be right trimmed. , Emission Release Point Id = 'of_writelogmessagewarning*device_rid = and metric_code = 'P@point_typedids_deviceactivity@/of_find6@/valueof_getdata+9&ids_conversionlookupcodes<9(system_code = 'NEI' and rapids_field_name = 'AFS_STK_TYPE' and rapids_value_name = '6DAT*Z<9(system_value_name_19&STACK02FUGITIVE01is_defaultreleasepointtypexHEIGHTW@/FTof_exporter_findandconvertunitsQ7DIAMETERW@/Q7STR TEMPOUTSTREAMW' and ( value_type = 'AVG' or isnull(value_type) or value_type = '' ) and value_unit_code in ('F', 'C') ids_outputstreamactivityz B1F&Q7VELOCITYW' and ( value_type = 'AVG' or isnull(value_type) or value_type = '' ) B1FT/SECQ7VOL RADAT*\TE1W B1FT3/SECQ7ids_devicelocationcoordinatesL;ref_rid = of_findandvalidatecoordinateK ids_sourcelocationcoordinatesn0K:P@source_riddK L;P@dK ids_countylocationcoordinatesJ9P@geographic_county_riddK ids_statelocationcoordinatesI8P@geographic_state_rid@dK 4 No location coordinates could be found for the county, the facility or for any deviDAT*^ce at the facility: *4 facility or for any device at the facility: *is_subtype$Llongitude_data9&latitude_dataJ9&LATLONeasting_km_data9&northing_km_dat9&zone_no9&UTMRELEASE HTWstream_rid = 8P@stream_ridd B1Q7P@namedP@comment_textdRAPIDS ID= "". 4 of_addrow4T , P l    DAT*`   4 H X |          `       4 X     $ , X l t |  $ 0 D       ( P X l t |          < D L DAT*b     $ @ X x           0 L ` h @88z%8z&,$6)<8RD$8L0np8(@(8x$80n8^6(@(88z%8z&z&8z&$6)DAT*d8$8L0n8(@(86(@(8L5L#!LLdLk80)<8N8Dz%8Uz&z&8\z&z&8z&)88Dz%8Uz&z&8\z&z&8z&)8L<b $ J NRd| as_fromunitas_tounitad_fromvalDAT*fuels_findls_conversionfactoramountls_standardcodeld_factor1ld_factor2ld_value   + 3 M ] h s p rapids_unit_code = ''ids_units5$of_find645$conversion_factor_amtof_getdata9b5$standard_codean9b' and standard_code = '5$645$9bDivide by zeDAT*hro for ld_factor2 in Unit Cache. Null value will be returnedof_writelogmessageerror,!Cannot convert '' to '': Units Cache lookup failed for find string: . Null value will be returned,!,!, < D p x      <   & @86)880n,8(@(8840nD8^DAT*j8L5X5PkLd5`V66L1J8L:p dD ads_cacheas_findstringas_tounitld_valuels_valueunitcoded >  * 3 8 of_find6valueof_getdata9value_unit_code9F@"@@@of_convertdoublevaluePh DAT*l, D PX`  <:F@@8@8@8@8 @8@81$8 0)`814t$6+@+8$)8$6$6$66"6DAT*n#6$6%6&$61"),8 <$8D09nd98^l$8t09n98^$809n98^$809n98^86`8z'8z&6a8z(8zDAT*p&6b8z(8 z&6c8z(8!z& 8#,$8409n@98(@(8z'\$ 6)l8t$8|0n8^1^$8$z%8z&6d8z(8!z&)(81@8 80@$8H09nT98(@(DAT*r8z'p$ 6)x8$80n8^1$8$z%8z&6e8z(8z&)81@8$809n(98^0$8809nX98[`$8h09n98[$80DAT*t9n98[M3@8 $809n98^ 8` 80!$809n$98^!8!6,$66666666M2M2M2 6!6"6#6$6%6&6)@81   DAT*v8H0)L8T8H0 !"6#R$n%&()+,-*041V2n3456789;<>=>?BVD EjFIJL:O^PQTU&WZ[\<]_`a:bNd`efku| v w x { ~  dr ll_rcll_rowll_totalcountll_foundll_nullld_ridldb_nullls_nullls_filterls_findls_filenamels_messageli_nullli_recordsetli_recordsetcountld_nulllsDAT*x_sourceidls_deviceidls_processidls_materialcodelnv_exportls_record_typels_state_fipsls_county_fipsls_site_idls_emission_unit_idls_process_idls_pollutant_codels_blank1ld_primary_pct_control_efficiencyld_pct_capture_efficiencyld_total_capture_control_efficiencyls_primary_device_type_codels_secondary_device_type_codels_blank2ls_control_system_descriptionls_third_control_device_type_codels_fourth_control_device_type_codels_submittal_flag DAT*z#,4 ; D L V ^ j u}>      *   8  '/ DAT*|= O Y> {> > '     = ` \ ids_emissions;*data_level = 'PROCESS' and control_device_flag = 1of_filter Sis_errorhids_pointcontrolequipmentoutput| of_getneirecordtype3is_statefips^is_countyfips`is_siteid DAT*~ais_submittalflagzrowcount@ object4@source_id__get_attribute_itemN4@device_idN4@process_idN4@material_codeNis_errormessageSource ID = '', Device ID = '', Process ID = '' Material_code = ''rid = 4@device_ridNids_emissionunitHC2of_find6dHC2emission_unit_idof_getdata9| Emission Unit ID's length is > 6. The id will be right trimmed. , DAT*Emission Unit Id = 'of_writelogmessagewarning* process_rid = 4@process_ridNids_emissionprocess\D36d\D3emission_process_id9| Process ID's length is > 6. The id will be right trimmed. , Process Unit Id = ""* 4@pollutant_codeN4@primary_pct_control_efficiencyN4@pct_capture_efficiencyN4@total_capt_control_efficiency(Nd4@primary_device_type_codeDAT*N@@@@09984@secondary_device_type_codeN| of_addrow44 S ` t       , < d l       , @ \ l t    ( @ T p x       ( 0 X `       DAT*$ , @ L T T5:F@@8@8@8@8 @8@81$8$0)<814P$6+@+8x$)8$6$6$6$5@8DAT* $5@866! }" }# }$%($61)<8 T8\t$8|09n98f8z'8z&$809n98t80t$809n98g8t80t^DAT* 8$809n$98(@(8z'@$ 6)P8tX$8`0n|8^1$8$z%8z&6h8z(8z&)81@8$809n,98^14$8<x$z%8z&6i8DAT*z(8z&)81@8$809n98[M21 K8$809n98^ $809n 98Y ($8009n<98^D$6666663366M2DAT*6 6!"#$%6)X81 8`0)d8l8`0$%&6'R(n)*,-/01*445V6n789:;<=>*?6@BANBZDrHKMNDQtRTWYXZl\ab<cfdeh8rstux{ |*}Dd ll_rcll_rowll_totalcountll_foundll_nullld_ridldb_nullls_nullls_filterls_findls_filenamDAT*eli_nullli_recordsetli_recordsetcountld_nulllnv_exportls_sourceidls_record_typels_state_fipsls_county_fipsls_site_idls_emission_unit_idls_process_idldt_start_dateldt_end_datels_blank1ll_start_timell_end_timels_blank2ld_actual_throughputls_throughput_unit_numeratorll_materialls_material_ioli_period_days_per_weekli_period_weeks_per_periodli_period_hours_per_dayll_period_hours_per_periodls_submittal_flagDAT*#,4 ; D L V ^ jr>  3    oc   ss  I =%  '/ '=@IDAT* S> h on a8 tp ids_emissionprocessD3type = 'F'of_filter /is_errorDids_pointemissionperiodoutputX"of_getneirecordtype3is_statefips8^is_countyfips`is_siteidaidt_startdatetimej midt_enddatetimenis_submittalflagzDAT*rowcount0is_errormessageD Source ID = 'objectk@source_id__get_attribute_item', Device ID = 'k@device_id', Process ID = 'k@process_id'rid = k@device_ridids_emissionunit,C2of_find6H,C2emission_unit_idof_getdata9qX"Emission Unit ID's length is > 6. The id will be right trimmed D, Emission Unit ID = 'of_writelogmessagewarning*k@emission_proceDAT*ss_idX"Process ID's length is > 6. The ID will be right trimmed D, Emission Process ID = '*k@actual_throughput+of_roundnumberxk@throughput_unit_numeratortk@materialk@material_ioX"of_addrow84L( /D < P x        ( < T t       $ DAT*@ P X |     , 4 x           ( < D X d l 9:F@@8@8@8@8 @8@81$1($6+@+81XDAT*0$6+@+8X$)t8$6$6$666$5@8$5@866 M!6"#6$ }% }& }'($6 801DAT*)8,$8409nP988X0{\$8d09np98]8L1(@(8z' 8L1(@(8z'8z&$ 6)8#f L1(@(8 L1(@(8$666666336DAT*6M 2!6"#6$%&'(6)81~80%&'6(R)n*+-01267 8N;X<z=>?@AB C6DFERF^GnHzIJKLMNOQSW8X[\^_6`^abbfcdeoyfzv{z|~dF ll_rcll_rowll_totalcountll_foundll_nullld_ridldb_nullls_nullls_filterls_findls_fDAT*ilenamels_errormessagels_dupcheckli_nullli_recordsetli_recordsetcountld_nulllnv_exportld_sourceridls_pollutantcodels_record_typels_state_fipsls_county_fipsls_site_idls_emission_unit_idls_process_idldt_start_dateldt_end_datels_blank1ll_start_timell_end_timels_blank2ld_actual_throughputls_throughput_unit_numeratorll_materialls_material_ioli_period_days_per_weekli_period_weeks_per_periodli_period_hours_per_dayll_period_hours_per_periodls_submittal_flag4DAT*#,4 ; D L V ^ j z >  )  ut  D    =  s_) DAT*= 7 _rF isS 2]kidw >   ro4  ids_source:)is_error@ids_pointemissionperiodoutput8"of_getneirecordtype3`is_statefips|^is_countyfips`is_siteid1aDAT*idt_startdatetimemidt_enddatetimenis_submittalflag@zrowcountobject$@type__get_attribute_item@9F $@source_rid9is_errormessagexsource_rid = and data_level = 'SITE' ids_emissions;*of_find68"of_addrow4x ( 0 X t        , P \ p       r DAT*J":F@@8@8@8@8 @8@81$8 0)T814h$6+@+88p0)81$6+@+8$)8$6 $6DAT* $6666<$5@8T$5@8 !"6%8\0&6'M(6)6*+6,6-6.6/M061M4p$6 8x01I1)8DAT** $809n98]$809n98^8 $809n 98j8z'8(z&<$8D09nT98k8z(8\z& 8^L1(@(8z'8lz&z&8\z&&  8^L1(@(8z'8lz&z&8\z&DAT* 8^L1(@(8z'$ 6)8b$80n8^1$84$z%8<z&6l8z(8\z&)x81@8 6#)8$$809n98^12802803$809DAT*n98^$66666666633 !"6M#2$6%6&6M'2(6)6*+6,6-6.6M/206M12263646) 8!1 * & 8x0)8 8x012364R5n679;=>?*B4DXEhFIJKLM NDAT*O*P:QdRSTUVWXYZ[\ ]0^@_P`\albxdfhmn2pxsBtuvyz {2}b~v*p    & * H b dd ll_rcll_rowll_totalcountll_foundll_nullld_ridldb_nullls_nullls_filterls_findls_filenamels_dupcheckli_nullli_recordsetli_recordsetcountld_nulllnv_exportld_sourceridld_emissionnumericvaluels_pollutantcodeprevll_deviceflagcountls_record_typels_state_fipDAT*sls_county_fipsls_site_idls_emission_unit_idls_process_idls_pollutant_codels_blank1ls_emission_release_point_idldt_start_dateldt_end_datell_start_timell_end_timels_blank2ld_emission_numeric_valuels_emission_unit_numeratorls_emission_typels_em_reliability_indicatorld_factor_numeric_valuels_factor_unit_numeratorls_factor_unit_denominatorll_materialls_material_iols_blank3ls_emission_calculation_method_codels_ef_reliability_indicatorld_rule_effectivenessls_rule_effectiveness_DAT*methodld_rule_penetrationls_control_statusls_emission_data_levells_submittal_flag$#,4 ; D L V ^ j v~>  *   DAT*    ) 4 H E=V odh apr "= )  idMEsy h_>   ec (1> I b })  4DAT*  > { > ) ; R (8 ids_emissions;*source_type = 'F' and data_level = 'SITE'of_filter Jis_error\source_rid a, pollutant_code aof_sort!\ids_pointemissionoutput!of_getneirecordtype3is_statefipsj ^is_countyfips`is_siteid$aidt_startdatetime(midt_enddatetimeDn30DAT*is_submittalflag_zrowcountyobject@source_rid__get_attribute_item@pollutant_codeis_errormessage Source ID = '@source_id' Material Code = '@material_code6'source_rid = and pollutant_code = 'ids_sitereleasepointG6of_find6G6release_point_idof_getdata9!Emission Release Point Id's length is > 6. The id will be right trimmed , Emission Release PointDAT* ID = 'of_writelogmessagewarning*\of_exportem_getsitetotalsV@emission_unit_codeUNCONTROLLEDCONTROLLED@data_level!of_addrow4 J T h          < T p           < T      4 x       DAT*    B1G1M$6)(8},0$880nP8[X$8`0nt8YM#SMT#-R|$)8}b1 , 8bj( ,dq as_findad_emissionamtal_controldevicecountls_findlb_findll_rowllDAT*_controldevicecountld_emissionamt  5 =ELb> @ ids_emissions;*of_find6 ;*emission_amtof_getdata9E;*control_device_flag9E;*of_findnext7 ( 0 P X t |  6$66)(8d DAT* as_metricas_level(  0 ids_metrics6%of_validateJ ( .680)8d as_metric   of_checkmetricW  2@88X $8(D$8Lh$8pDAT*$8$84$8`$18z%8-z&+@+8)881o6)H86n\8V"oo  , @ T l0H\` $%&'),"d; as_typeas_finDAT*das_columnla_datalds_cachecase9x   "* >4 dP STATEids_stateactivity<+COUNTYids_countyactivity/=,SOURCEids_sourceactivityS>-DEVICEids_deviceactivitye!w@/PROCESSids_processactivity?.INSTREAMids_inputstreamactivityalsA0OUTSTREAMids_outputstreamactivityB1Invalid activity data type ''rowcount/of_find6@DAT*of_getdata9P D h     8 H \ @866)88 bo8!z%z&86z&666nL8  D Xbvd< as_typeas_findas_metricas_columnls_findla_nullx   " DAT*, 4T of_checkmetricW and metric_code = ''of_getactivitydataY8 L h$1,1,$D$8Lz%:@:@:@:]@:@:8<18^08l01}p$<lx$<=6z%8z&$<|6)DAT*8801z%8z&111Y@86A@A88l08z%z'1h8z%z'11Y@816)81R11Y@86A@A8/@/81DAT* ,< P j#|$%&' +-:.J1h5l78<>@A6ERdL li_ill_filehandlels_pollutantls_logpollutantsls_arraypollutantsd  ( 9 @ is_pollutantspib_debug is_exportpath4hds_pollutants.txtPollutants: 'pp, ii_loglinelengthof_wrDAT*itelogmessage ',' , D p x    R$:F@@8 @8@8 @8 1D$)`8x$6$6 6)M, 6-$680) 81 $6+@+8 DAT*1)48D$8L09nl98^t$8|09n98^$809n98^$809n98^86m8z'8z&6n8z(8z&6o8z(8 z&6pDAT*8z(8!z&$$8,09n498^8$"><$8D09nT98^8\l$8t09n98(@(8z'$6)8x$80n8^ $80n8^$80n8^8x80DAT* 8$ #!( 1 1"($8  6q8z'8-z&X$z&)|8  68$#!8$8$z%)81No@o98$809n98%@%83!$809n98%@%8i1DAT*@8!$809n98%@%8 $8(09n@98%@%83H"X$8(09n`98%@%8i1@8 "h$8(09np98%@%8x$809n98%@%83 #DAT*$809n98%@%8i1@8& #$809n98%@%8$809n98%@%83 $$809n 98%@%8i1@8J $$809n98%@%8 $DAT*$8,09n898]8@L 1(@(8z'%8O0L 8W08d0n8%@%8&8O0L 808d0n8%@%8'8O0L 808d0n8%@%8(8O0L 808d0n8%@%8*806808d0n8%@%8DAT*+806808d0n8%@%8$809n 98(@(8($8009nH98(@(8P$8X09nd98^6r88lz&6s8z(8lz&6t8z(8lz&6u8z(26vDAT*88lz&6w8z(8lz&6x8z(8lz&6y8z($66)8$6666666 6M!2M"2M#2M$2M%2M&2M'2M(2M)2M*2M+2,6-6)81 8$0  &'.(J)f*+,DAT*-./013&5D6T7:=>?T@AEFGJ>KLMN"ORPfTxUVX\(]F^Zcefghkl6mnq rZ s t w& x~ y z }J ~ \ L D*.2d ld_conversion_factorls_afsinvalidflagls_findpostfixlb_findld_nullad_seasonthroughput@> ad_seasonthroughputresetlin@> ll_rcll_rowll_totalcountll_foundlDAT*l_nullld_ridls_nullls_filterls_findls_filenamels_deviceidls_sourceidls_idlnv_exportls_dupcheckls_geostateridls_geocountyridls_filetypels_record_typels_state_fipsls_county_fipsls_sccls_process_mact_codels_emission_process_descriptionls_sicls_naicsll_winter_throughput_pctll_spring_throughput_pctll_summer_throughput_pctll_fall_throughput_pctll_annual_avg_days_per_weekll_annual_avg_weeks_per_yearll_annual_avg_hours_per_dayll_annual_avg_hours_per_yearld_heat_contentld_sulDAT*fur_contentld_ash_contentls_process_mact_compliance_statusls_submittal_flagd / >F> dN>-p>-         DAT* 3%$& 5 E Q A` n }     > > > > +> G> d> > z> > > % DAT*  ids_emissionprocessD3ids_areaemissionprocessoutput% of_getneirecordtype3Lis_statefipsh^is_countyfips`is_submittalflag0zgeographic_state_rid a, geographic_county_rid a, scc_ams_code a, file_type aof_sortM!is_errorrowcount_ex(object_<@process_id__get_attribute_itemW<@device_idW<@source_idW<@scc_ams_codeWis_errormessageDAT*Source ID = '', Device ID = '', ID = '', SCC/AMS Code = ''<@nameW<@comment_textWsource_rid = n<@source_ridWids_source:)of_find6:)sic_codeof_getdata9:)naics_code9:)afs_invalid_flag99Y9999% NAICS Code '' must be a length of 2, 3, 4, 5, or 6 : of_writelogmessagewarningz*`% Invalid SIC Code. SIC Code set to 9999. *`<@winter_DAT*throughput_pctW <@W<@W<@spring_throughput_pctW <@W<@W<@summer_throughput_pctW <@W<@W<@fall_throughput_pctW <@W<@W<@process_ridWprocess_rid = PROCESSD/W USE RATEvalueof_getactivitydata8@jW/Y USE RATE@jH/D USE RATE@jH/Y USE RATE@jDAT*INSTREAMS CONTENTZjASH CONTENTZj<@geographic_state_ridW<@geographic_county_ridqW<@file_type&W ids_primarykey8nN=of_findkeyI% of_addrow!4 D ` x       4 D l t       $ 4 < T l          DAT* X |            @ HX ` h p x             $ 8          ( H P d       7:F@@8@8@DAT*8@8 @8@81$8 0)D88L0)81R$6+@+8$) 8$$6<$6#6$6%X$61)l8 |$809nDAT*98^$809n98^$809n98^$809n98^86z8z'8*z&6{8z(8;z&6|8z(8Mz&6}8z(8az&d$8l09n|98^$DAT*809n98^$809n98[$809n98[M3&@8  $809n498[!<$8D09n`98^!8h!8m0"t$8|09n98^"8hDAT*B"6$809n98(@(8$809n98(@(8$809n98^6~88 z&68z(8 z&68z(8 z&68z(8 z&68z( 688 DAT*z&68z(8 z&68z(8 z&68z(8 z&68z( $66)48 <$66666M2M2M 2!6"6#6$6%6)P 81   80)X8`806 R!n"#%'(* +DAT*,H/R0t1234678Z9:=,@A(BnCEF&GlHIKLM2PBQRT0WXY\]dk~ l m n q u w y d4 ll_rcll_rowll_totalcountll_foundll_nullld_ridldb_nullls_nullls_filterls_findls_filenamels_messageli_nullli_recordsetli_recordsetcountld_nullls_dupcheckls_geostateridls_geocountyridls_filetypels_sourceidls_deviceidls_processidls_materialcodelnv_exportls_record_typels_state_fipslDAT*s_county_fipsls_sccls_pollutant_codeld_primary_pct_control_efficiencyld_pct_capture_efficiencyld_total_capture_control_efficiencyls_primary_device_type_codels_secondary_device_type_codels_blank2ls_control_system_descriptionls_submittal_flag#,4 ; D L V ^ j uDAT*}>         * * 8 G N `> > >     "DAT* hp ids_emissionsc ;*control_device_flag = 1of_filter 8geographic_state_rid a, geographic_county_rid a, scc_ams_code a, pollutant_code a, file_type aof_sort!is_errorids_areacontrolequipmentoutputof_getneirecordtype3is_statefips^is_countyfips,`is_submittalflag@Dzrowcount`objectt@source_id__get_attribute_itemt@device_idt@process_idtDAT*@material_codeis_errormessageSource ID = '', Device ID = '', Process ID = '' Material_code = ''t@scc_ams_codet@pollutant_codet@primary_pct_control_efficiencyt@pct_capture_efficiencydt@total_capt_control_efficiencyt@primary_device_type_code@@@@099t@secondary_device_type_codet@geographic_state_ridt@geographic_DAT* county_ridt@file_type ids_primarykey8N=of_findkeyI(of_addrow+4D 8 D      $ < X l |         d |         4 < ` t          4 < P X `DAT*   S:F@@8@8@8@8 @8@81 $H$)d8|$6$6$5@8 $5@8!6"#( }) }* }+,$680DAT*)D81DX$6+@+81`)l8 |$809n98]8L1(@(8z'$809n98^$$809n98[$M$21 K(8%0$8809nTDAT*98^&\$8d09np98Y'x$809n98^$809n98^0$809n98Y1$809n98Y-0,D0 .1,D /8-68z'8z&.68z(8z&DAT*68z(8z&68z(($809n098(@(88$809n@98(@(8688Hz&68z(8Hz&68z(8Hz&68z(p <688Hz&68z(8Hz&6DAT*8z(8Hz&68z(\$66)p8< 8xz%8z&z&8z&z&8z&8z&z&8z&11I9})8)81 %\ %$8809n98^%$8809n986z' $80DAT*9n986z!&$8d09n$98z!| L,$809n498t] 9}1)<8 1 1 $@8%@8&@8'@8D$8L8z%8z&/z&)08 $L$M$2DAT*1 K88@$66663 3!6"#M$2%6&'6()*+,6)T81   V\80/0162R3n4579:;<=D>n?~@ABCDEGIJ K:NDQ|RTU<VWXY8Z~\] _P`fc|j ktmohplqps t8x<}~  \ , x | DAT*   : V j z ~ d ll_rcll_rowll_totalcountll_foundll_nullld_ridldb_nullls_nullls_filterls_findls_filenamels_errormessageli_nullli_recordsetli_recordsetcountld_nullls_dupcheckls_geostateridls_geocountyridls_filetypelnv_exportld_sourceridls_pollutantcodels_findthroughputuniquerecordll_findld_throughputtotallb_morethanonenumeratorls_record_typels_state_fipsls_county_fipsls_sccldDAT*t_start_dateldt_end_datels_blank1ll_start_timell_end_timeld_actual_throughputls_throughput_unit_numeratorll_materialls_material_ioli_period_days_per_weekli_period_weeks_per_periodli_period_hours_per_dayll_period_hours_per_periodls_submittal_flagls_statels_countyls_errorinfoll_stateridll_countyridsqlca#,4 ; D L DAT*V ^ j z>    t_ 3 _i @  'od/ orBurZ e i IDw de c_  co DAT* @>    tr2y_Me de  ph phD@Ad ids_emissionprocess D3ids_areaemissionperiodoutput( of_getneirecordtype3Pis_statefipsl^is_countyfipsM`DAT*"idt_startdatetimemidt_enddatetimenis_submittalflag@!azgeographic_state_rid a, geographic_county_rid a, scc_ams_code a, file_type aof_sort!9is_error@Lrowcount`objectt@source_rid__get_attribute_itemis_errormessagesource_rid = *t@scc_ams_codet@actual_throughputof_roundnumberxt@throughput_unit_numerator@t@materialt@material_ioDAT*$t@file_typet@geographic_state_ridt@geographic_county_ridstate: county: SCC: File Type: zt@t@ ids_primarykeyJN=of_findkeyIdgeographic_state_rid= and geographic_county_rid= and scc_ams_code="" and file_type= "`findct@t@t@t@t@`( Annual throughput could not be exported since more than onDAT*&e throughput record was found for this SCC with different throughput units, material, and material io that could not be combined and summed. of_writelogmessagewarning*x( of_addrow4H H d |     D X l |       ( 0 T \ p x        ( 0 8 @ DAT*(\ p           $ , 4 < D 0 8 @ T \ : =$8 0)81z$6+@+8:F@@8@8@8@8 @8@81$)DAT**8$6$66$$5@8<$5@86"8D0#6$M%6&6'(6)6*6+6-6/X$61)l8 8$809DAT*,n988z'8z&$809n988z(8z&$8 09n,988z(84z&H$8P09n\988z(84z&d$8l09n|988z(8z&$809n98^$DAT*.809n98^!$809n98^ 8$809n98(@(8z'8z&0$8l09n898t80t^,8@0 68J08V0np8%@%8 8x$809n98(@(8z'8z&$8lDAT*009n98t80t^.8@0 6808V0n8%@%8$809n98(@(8$809n98(@(8$809n98^ 8z%80z&z&8Nz&z&8dz&z&8}z&z&8z& 6 DAT*2)8688z&68z(8z&68z(8z&68z(8z&68z(   688z&68z(8z&68z(8z&68z(8z&68z($66)8  $6DAT*466666336M 2!6"6#6M$2%6&6'(6)6*6+6M,2-6M.2/6)81   80+-/20B1p5z6789:; =.>P?h@ABCDEF GH.I:JJKZLfMvNOPQSW[\$]j`adcehgh i`jp r8 t u v x yDAT*6    * d ll_rcll_rowll_totalcountll_foundll_nullll_deviceflagcountld_ridldb_nullls_nullls_filterls_findls_filenameli_nullli_recordsetli_recordsetcountld_nullls_dupcheckls_geostateridls_geocountyridls_filetypelnv_exportls_record_typels_state_fipsls_county_fipsls_sccls_pollutant_codels_blank1ldt_start_dateldt_end_datels_blank2ll_start_timell_end_timeld_emission_numeric_valuels_emission_unit_numeratorls_emission_typels_DAT*8em_reliability_indicatorld_factor_numeric_valuels_factor_unit_numeratorls_factor_unit_denominatorll_materialls_material_iols_blank3ls_emission_calculation_method_codels_ef_reliability_indicatorld_rule_effectivenessls_rule_effectiveness_methodld_rule_penetrationls_submittal_flag#,4G N W _ iDAT*: q }>    et * e  =  s_ ! pu3 nd= L t_Y cqte}>   DAT*< >   y:+e:7 F idP t > te hi>  s  ids_emissions ;*geographic_state_rid a, geographic_county_rid a, scc_ams_code a, pollutant_code a, file_type aof_sort_!is_errorrdsids_areaemissionoutputgof_getneirecordtype3is_statefips@!^DAT*>is_countyfips`idt_startdatetimemidt_enddatetime,n30is_submittalflagGzrowcount`is_errormessaget Source ID = 'object@source_id__get_attribute_item', Device ID = '@device_id', Process ID = '@process_id', Stream ID = '@stream_id@material_code''@scc_ams_code@pollutant_code@emission_unit_codeDAT*@stream_rid = @stream_rid and material_code = '@OUTSTREAMRULE EFFECTvalueof_getactivitydataZ\@@RULE PENETZ\@geographic_state_rid@geographic_county_rid9@file_type(geographic_state_rid = and geographic_county_rid = and scc_ams_code = '' and pollutant_code = '' and file_type = 'of_exportem_getsitetotalsV ids_primarykeyN=of_findkeyIDAT*Bof_addrow4t       $ < X l       , H \ d |         0 8 p x                  M:F@@8@8DAT*D@8@8 @8@81 $H$)d8|$6$6!$5@8"$5@8#6$%($680)88 0)d818x$6+@+8DAT*F1T)8 $809n98]8L1(@(8z' $809n 98^&$809n098[&M&21 KH8'P$8X09nt98^|$809n98DAT*H(@(8$809n98(@(8$809n98^,$809n98Y-$809n98Y),,D` *-,D +8)68z'8z&*68z(8z& 68z(8!z&6DAT*J8z(688.z&68z(8.z& 68z(8.z&68z(8.z& 688.z&68z(8.z& 68z(8.z&68z(8.z&@$66)T8 8\z%8rz&z&8z& z&8z&8z&z&8zDAT*L&8z&$809n98t80t^11I9})8)81 '. '$8X09n98^'$8X09n986z L $809n(98t] 9}1)08 1DAT*N 1 &@8'@88$8@8}z%8z&+z&) 8 &L&M&21 K8$666 6!3"3#6$%M&2'6(6)0 8 1x   J80)88@80*+,6-R.n/02456DAT*P78D9n:~;<=>?@A.D8GpHJL0MvORS:TVWY`Zv]c0efgjkrwnx|y{}~. v   ( 0 L h ` p t x dk ll_rcll_rowll_totalcountll_foundll_nullld_ridldb_nullls_nullls_filterls_findls_filenamels_errormessageli_nullli_recordsetli_recordsetcountld_nullls_dupcheckls_geostateridls_geocountyridls_filetyDAT*Rpelnv_exportld_sourceridls_pollutantcodeld_thoughputtotalll_tprowls_findthroughputuniquerecordll_findld_throughputtotallb_morethanonenumeratorls_record_typels_state_fipsls_county_fipsls_sccldt_start_dateldt_end_datels_blank1ll_start_timell_end_timeld_actual_throughputls_throughput_unit_numeratorls_submittal_flagls_statels_countyls_errorinfoll_stateridll_countyridsqlca#,DAT*T4 ; D L V ^ j z>    e 3 t_    '_i$ ceB@J ]u DAT*V te  s_   >  ia @, RU5 _g? LXLEeD@AH ids_emissionprocess D3ids_onroademissionperiodoutput(of_getneirecordtype3Pis_statefipsl^is_countyfipsM`idDAT*Xt_startdatetimemidt_enddatetimenis_submittalflagztype = 'M'of_filter geographic_state_rid a, geographic_county_rid a, scc_ams_code a, file_type aof_sort !Yis_errorlrowcountbjeobject@source_rid__get_attribute_itemis_errormessagesource_rid = @scc_ams_code@actual_throughputof_roundnumberx8@throughput_unit_numerator@geographic_stateDAT*Z_rid@geographic_county_rid@file_type@@state: county: SCC: File Type: ids_primarykey0N=of_findkeyIHgeographic_state_rid= and geographic_county_rid= and scc_ams_code="" and file_type= " and tribal_code= "@tribal_codefindtotc@@@(Annual throughput could not be exported since more than one throughput reDAT*\cord was found for this SCC with different throughput units that could not be combined and summed. of_writelogmessagewarning*x8(of_addrow4$  H d |      d x         0 H P t |          @ T      DAT*^     ( 0 8     0 8 @  7$8 0)<88D0)81$6+@+8:F@@8@8@8@8 @8@81$)8$6DAT*`0$66L$5@8d$5@86#8l0$6%$61)8X 8$809n988z'8z&$809n$988z(8,z&@$8H0DAT*b9nT988z(8\z&p$8x09n988z(8\z&$809n988z(8z&$809n98^$809n98^"$809n 98^$80DAT*d9n498(@(8<$8D09n\98(@(8d$8l09nx98^ 8$809n98(@(8z'$ 6)8: $80n8^  8": $80n8^ 8z%80z&z&8Nz&DAT*fz&8dz&z&8}z&z&8z& 6!)8688z&68z(8z&68z(8z&68z(8z&68z(T  688z&68z(8z&68z(8z&68z(8z&68z(DAT*h$66)8 T $666663366 6M!2"6#6$6%6)81J X T |80)880!"#8%V&f'+,-./ 0(1D3R4t56789:; <0=B>R@jDHzIJLLMNO:QRST X:]_abce^ fDAT*j l t2 uB vF wJ zT }X ~v d ll_rcll_rowll_totalcountll_foundll_nullll_deviceflagcountld_ridldb_nullls_nullls_filterls_findls_filenameli_nullli_recordsetli_recordsetcountld_nullls_dupcheckls_geostateridls_geocountyridls_filetypelnv_exportls_record_typels_state_fipsls_county_fipsls_sccls_blank1ldt_start_dateldt_end_datels_blank2ll_start_timell_end_timels_pollutant_codels_emission_process_descriptionld_emission_numeric_valuels_emissionDAT*l_unit_numeratorls_emission_typels_em_reliability_indicatorls_submittal_flag#,4G N W _ i q }>     *DAT*nur bu _e   ! + tu: G Qro_tok @} id> @     ids_emissions ;*source_type = 'M'of_filter 2geographic_state_rid a, geographic_county_rid a, scc_ams_code a, pollutant_code a, fileDAT*p_type aof_sort!is_errorostids_onroademissionoutput of_getneirecordtype3is_statefipsfip^is_countyfips `idt_startdatetime8midt_enddatetimeTn30is_submittalflagozrowcountis_errormessage Source ID = 'object@source_id__get_attribute_item', Device ID = '@device_id', Process ID = '@process_id', Stream ID = '@stream_idDAT*r@material_code'@scc_ams_code@pollutant_code@emission_unit_code@geographic_state_rid8@geographic_county_rid@file_type$process_rid = @process_ridids_emissionprocessD3of_find6D3nameof_getdata9D3comment_textp9geographic_state_rid = and geographic_county_rid = and scc_ams_code = '' and pollutant_code = '' and fileDAT*t_type = 'of_exportem_getsitetotalsV ids_primarykeyN=of_findkeyI of_addrow4 2 <      0 L d       $ @ T p            4 < \ d x            DAT*v    ,$4$#!RT\$d$6ll8t08y$z%8z&z&)8<)81$N Rld) ls_dataobjectll_rcls_eventname< H settransmittaluserinputiw_export)  is_file_system_version<[DAT*x <i<[NIF2ue_<[_triggereventf of_loadtransmittaluserinputB, 4 T \ d l    ^8%@$z%8Hz&z&)X8<DNd ll_rcls_eventname(` validatetransmittaluserinputue_is_file_system_version)[_triggerevent J@ X DAT*z $8(d$68z'8lz&68z(8z&)81|d" as_filetypeas_recordtype(   ids_transmittaloutput%File name lookup failed for Source Type 'is_sourcetypelogRf' and Record Type ''.of_writelogmessageerror d  $$8,h$68z'8pDAT*|z&68z(8z&)81|d" as_filetypeas_recordtype(   ids_n3_transmittaloutput3"File name lookup failed for Source Type 'is_sourcetypelogVf' and Record Type ''.of_writelogmessageerror.$ h  P84$z%8<z&z&)L8}@d ll_DAT*~rcls_eventname(T saveoutputfilesue_is_file_system_versionm[_triggereventr >4 L  $$)@8@8:F@@8d$t$8|019n98^6%@%8$6$6$$8019n98$$8DAT*019n98,$(@(84$<$8D019nX983@3$t$(@(8|$$8019n98%@%8i$$8019n98$$8019n98$$8019n0988$@$DAT*8H019nd98l$t$8|019n98$$8019n98$$$8019n98M2$6)088$P$)h8<11801 ">)X*,DtEFIKdb DAT* ll_rcls_nullls_recordstringls_filenamels_formatversionld_formatversionls_recordtype  & 2 C> T  ids_n3_transmittaloutput3"of_getneirecordtype3,ids_transmittaluserinputH4#objectl@format_version__get_attribute_item3"is_statecountyfipsi]H4#l@organization_nameH4#DAT*l@transaction_typeii_year$kH4#l@inventory_type_codeii_submissionnumber`lH4#l@reliability_indicatorH4#l@transaction_commentsH4#l@contact_person_nameH4#l@contact_phone_number, PH4#l@contact_phone_number_typeeaH4#l@electronic_addressH4#l@electronic_address_typeis_sourcetypecH4#l@affiliDAT*ation_typeuniis_tribalcode@ \of_addrowid4$3"il_sourcerowc_c@Uof_savetofileXis_errormessagep$ @ d t          , 4 < X t |           0 8 @ d l t          0DAT* 8 P h  : E@8@8:F@@8$18($z%80z&)|8$$680808$z%8z&)81$80)(80$8$680808@0)T81p$)8$DAT*6$66868z' 8$$80$9n898(@(8z'8@z& 8B0 68I08S0nl8(@(8 t$|$80$9n98^ 8 8808066DAT*$$80$9n98(@(8L$$80$9n9880z"$8L18z'8(z&X$z&8`z&)|81'I$$80$9n98^1"1"$868z'DAT*8z&$z&8`z&)86$$,$8<04$9nD98^8L"8M0\$8d$z%8`z&)8$$80$9n98^1(o@o98 $$80$9n98^  8L0  DAT*$($8800$9nP98^  8L0 8@z% z&8L"8X0l$8t$z%8`z&)812o@o98$$80$9n98^8L" 80$8T$z%8`z&)\8x$6DAT*$$80$9n98^8L"f 80$8$z%8`z&) 8$$8,0$$9n898^1(o@o98666T$6 l$6t$666666L1(@(86DAT*66666666666 6)88L08Rn&Bdefgik2lmnPodpxqrtuy{}(~XRn02N` < N  ( f  8 & d ld_nullll_rcll_findls_nullls_filenamelDAT*s_recordstringls_cityls_nationls_recordtypels_toxicflagsls_findls_valuels_street_line_1ls_street_line_2ls_record_typels_statecountyfipsls_site_facility_identifierls_federal_registry_identifierls_facility_categoryls_oris_facility_codeld_sic_primaryls_naics_primaryls_facility_namels_site_descriptionls_location_addressls_statels_zipcodels_countryls_nti_site_idls_dun_bradstreet_numberls_tri_idls_submittal_flagls_tribal_code DAT* & 2 B J T b p x         8+ @: K \ p   (DAT* |    %  is_siteid)aSite ID a is longer than 15 characters. Skipping Source.of_writelogmessageerror,aids_sourcee:)is_sourceidXSource IDerrora is longer than 15 characters.of_setexception DaSite ID is NULL. Skipping Source.,a:)XSite ID is NULL.Dids_n3_siteoutput\2!of_getneiDAT*recordtype3xis_statecountyfips]ais_errormessageSource ID = ref_rid = :)object@il_sourcerow DUsource_rid__get_attribute_item# SOURCEHAP MAJORvalueof_getactivitydataZY:)@Utoxics_flag#Y0102:)@Usic_code#:)@Uafs_invalid_flag#:)Sic Code with value of is invalid. Value will be changed to 9999 for .of_writelogmessagewarDAT*ning*b:)@Unaics_code#:)NAICS Code with value of must have a length of 2, 3, 4, 5, or 6 and can not be null for *b:)@Uname#NO NAME GIVEN:)Facility name is null. Value will be set to 'NO NAME GIVEN' for x*b:)@Ucomment_text#:)@Ulocation_line_1_addr#:)@Ulocation_line_2_addr#NO ADDRESS GIVENDAT*:)Location address is null. Value will be set to 'NO ADDRESS GIVEN' for *b:)@Ugeographic_incorp_name#NO CITY GIVEN:)City is null. Value will be set to 'NO CITY GIVEN' for *bis_stateuspscode$d_:)@Ulocation_zip_code#9999999999:)Zip Code is null. Value will be set to '9999999999' for z*b:)@Unation_name#is_submittalflag@zis_tribDAT*alcode8\\\2!of_addrow94| ( |      ( 0 8 T p        8 l t |            X |        $ , 4 D \        DAT*     ( 0 P l        T \ x           $ 8 T l t    U$:F@@8@8 @8@8 1@$)\8x$6$6DAT*66 M "$6#$6 1Z )8  $80 9n98^ $80 9n 98^88@68z'8Nz&68z(8_z&d$8l0 9n98^16$8DAT*$z%8z&z&8z&)81@8$8 0 9n498^8<1'@$8Hd$z%)l8*t$8|0 9n98~@~8$80 9n98^1"1" $868zDAT*'8z&$z&)86 $80 9n98]8 L1(@(8z'8.z&$6)8}*$80n8%@%8$80n8^$6) 8}$80n8%@%8$$80n,8^DAT* 84z%8_z&T$6)\8} d$8l0n8Y$80n8^$80n8^$80n8^#8!&66 84z%8_z&$6)8}  $80n8^$8DAT*0n$8^#8!0 MGb66 ,$84\$z%8dz&M28z(8wz&68z(8z&)89}# M 66!$80 9n98^!8!8"!" !$80 9n98DAT*^ !8z%8z&!z&!!1Po@o98 $66666(@(866M266M 2!6"6#6)8 1    P80  !."J#f$%&'()*+,&.>1v256h78:=6>|?@ABE*FpGIL NPODAT*PRST&V*WTX\Y^`abc$dTefghij"l&mFnpoxpqrs t u, w0 y F t  d7 ld_conversion_factorls_afsinvalidflagls_rapidsunitsls_standardcodels_numeratorls_denominatorls_idls_sourceidlb_findld_nullll_rcll_rowll_totalcountll_foundll_nullld_ridls_nullls_filterls_findls_filenamelnv_exportls_record_typels_state_county_fipsls_state_DAT*facility_identifierls_emission_unit_idls_oris_boiler_idll_sic_unit_levells_naics_unit_levells_blank1ld_design_capacityls_design_capacity_unit_numeratorls_design_capacity_unit_denominatorld_max_nameplate_capacityls_emission_unit_descriptionls_submittal_flagls_tribalcode / > N [ j p |> DAT*      2   1 E Wi } >   @> g  ) DAT*0 ids_emissionunitC2ids_n3_emissionunitoutput$+of_getneirecordtype3His_statecountyfipsd]is_siteid8ais_submittalflagzis_tribalcode\rowcountis.objecte@id__get_attribute_item@source_id is_errormessage(Source ID = '", Device ID = "" @emission_unit_id$+Emission Unit ID's length is > 6. The id will be right trimmed. (, Emission Unit IdDAT* = ''of_writelogmessagewarning*@afs_invalid_flagY$+Invalid SIC Unit Level: z(*@sic_code8@naics_code$+NAICS Code '' must be a length of 2, 3, 4, 5, or 6 and can't be null: (*@riddevice_rid = and value_type = "DES" and number(value) > 0 and not isnull( value_unit_code )ids_deviceactivity~@/of_find6~@/valueof_getdataon_9~@/value_unit_cDAT*ode9ids_processactivity?.6?.9?.9rapids_unit_code = "ids_unitsI5$6I5$conversion_factor_amt9I5$standard_code+9I5$numerator_unit_code9I5$denominator_unit_code9I5$6I5$9I5$9$+Design Capacity could not be exported: (, Design Capacity , Design Capacity Units = '*@name@fo@comment_textRADAT*PIDS ID= "". $+of_addrow4( @ \ x           8 d      4 @ d l t                     $ , T \ d          DAT*    $ , \         p}5$6:F@@8@8@8@8 @8@81 1}8 08-0)D8l$)8$6$666"DAT*M*L,6.$62803646 1}   F 1<H$ 1<t $@$1)T8Bd$8l09n98]$809n98^8$80DAT*9n988z'8z&68z(8z&$809n98^1$8 l$z%8tz&z&8z&)81@89} 8L1(@(8z'8z&z&8z&$809n98^ $ 6)8DAT*8$$8,0n@8(@(8d$8lz%8z&)889}$80n8(@(8#8l80880 $68(08-0)08 8L1(@(8z'8z&z&8z& 8$ 68@0Jd8;%@%DAT*88l08-0)x8 8L1(@(8z'8z&z&8z&!$ 68@0J8;%@%88080)8 8L1(@(8z'8z&z&8z&#0$ 6880J<8;%@%88D080)P8 8L1(@(8z'8z&z&8XDAT*z&$$ 680J8;%@%88080)8 8L1(@(8z'8z&z&8Xz&%$ 680J8;%@%8$8 L1(@(8z')48#N \$8 d$8l09nx98(@(8z')8#N $DAT*8 $8l09n98(@(8z')8#N $8 $809n98(@(8z')8#  $8 ($8009nH98(@(8z')P8# > X$8`8z%$z&)8N $8`8z%$z&)DAT*80$88 &18:0nL8v['8T0nd8[( })8l0t&8s0n8['80n8[(80n8W})80/80n8^80n8]80n 8^68 6JL5 d0L1(@(DAT*88 60L1(@(806( $80 68z'8 z& $z&) 818 0n 8^8 080) 8 8  $8( 09n4 98(@(8z'8z&z&8Xz&+< $ 68@0JD 8L $8T 09n\ 98DAT*^8d "-h $8p 09n 98^-6-8 z%8 z&-z&--1Po@o98 $6666666M 2M!2M"2M#2M$2M%2M&2M'2()6L*1L+1,6-6.6/6061626364656) 81DAT*4B> 8d 015627N8j9:;<=@ A,BDC\DlE|FGHIJKOQR0SDT\UpVtY[\]L_`*b>dhijkLmrnopt8vBwVxhyz{"n.Z b " n @ T D X  N l :bt$F^DDAT*:V,04>BF`d ll_rcll_rowll_totalcountll_foundll_nullld_ridldb_nullls_nullls_filterls_findls_filenameli_nullli_recordsetli_recordsetcountld_nulllnv_exportlnv_locationlb_stacktypefoundls_metriccodels_eridls_stacktypeld_erridls_nameld_accuracyamtls_accuracytypels_record_typels_state_county_fipsls_state_facility_identifierls_blank1ls_emission_release_point_idls_emission_release_point_typels_DAT*blank2ld_stack_heightld_stack_diameterldb_stack_fenceline_distanceld_exit_gas_temperatureld_exit_gas_velocityld_exit_gas_flow_rateld_x_coordinateld_y_coordinateli_utm_zonels_xy_coordinate_typeldb_horizontal_area_fugitiveldb_release_height_fugitivels_fugitive_dimensions_unitls_emission_release_pt_descriptionls_submittal_flagls_horizontal_collection_method_codels_horizontal_accuracy_measurels_horizontal_reference_datum_codels_reference_point_codels_source_map_scale_numberls_coorDAT*dinate_data_source_codels_tribalcodecase199L#,4 ; D L V ^ jr>  > E    DAT*     % : W a ~  > > > > > > )> 9> viIueU nuk d  un ce / DAT* ta /9 at\ t   _u   is_tribalcodeit\AFS STK TYPEDEVICEof_checkmetricW4ids_n3_emissionreleaseptoutputL*of_getneirecordtype3tis_statecountyfips]is_siteid@ais_submittalflagz106ids_emissionreleasepoint E4ids_fugitivereleasepointF5ids_sitereleasepoint(G6rowcountHoDAT*bject\@rid__get_attribute_itemp\@idpis_errormessageSource ID = '\@source_idp', Id = ''\@release_point_idpL*Emission Release Point ID's length is > 6. The id will be right trimmed. , Emission Release Point Id = 'of_writelogmessagewarning*device_rid = and metric_code = '\@point_typepids_deviceactivity@/of_find6@/valueof_getdata92ids_conversDAT*ionlookupcodes0H9(system_code = 'NEI' and rapids_field_name = 'AFS_STK_TYPE' and rapids_value_name = '6H9(system_value_name_192STACK02FUGITIVE01is_defaultreleasepointtypexHEIGHTW4@/FTof_exporter_findandconvertunitsQCDIAMETERW4@/QCSTR TEMPOUTSTREAMW4' and ( value_type = 'AVG' or isnull(value_type) or value_type = '' ) and value_unit_code in ('F', 'C') ids_outputstreamactivityLB1F@QCVELOCDAT*ITYW4' and ( value_type = 'AVG' or isnull(value_type) or value_type = '' ) B1FT/SECQCVOL RATE1W4B1FT3/SECQCids_devicelocationcoordinatesL;ref_rid = of_findandvalidatecoordinateKids_sourcelocationcoordinates<K:\@source_ridpKL;\@pKids_countylocationcoordinatesJ9\@geographic_county_ridpKids_statelocationcoordinates$I8\@geographic_statDAT*e_rid)pKL*No location coordinates could be found for the county, the facility or for any device at the facility: *L*facility or for any device at the facility: *is_subtype$$Llongitude_data92latitude_data&92LATLONeasting_km_data92northing_km_dat92zone_no92UTMhorizontal_collection_method92accuracy_amt92accuracy_type892KMz&@@METERzL*HorizDAT*ontal Accuracy Measure was set to null. Accuracy type must either be 'METER' or 'KM' not for the facility or for any device at the facility: (*horizontal_reference_datum92RELEASE HTW4stream_rid = \@stream_ridpB1QC\@name0p\@comment_textpRAPIDS ID= "". 8L*of_addrowX4  D l        @ T d  DAT*        l       $ @ d      0 8 d x    0 < P       4 \ d x            ( H P X      0 L d DAT*       (      4 < D L \ h      <:F@@8@8@8@8 @8@81$8 0)`814t$6+@+8DAT*$)8$6$66!6"6#6$6%$6& $61")48 D$8L09nl98^t$8|09n98^$809n98^$80DAT*9n98^868z'8z&68z(8z&68z(8z&68z(8)z& 8+4$8<09nH98(@(8z'd$ 6)t8|$80n8^1^$8$z%8z&68z(8)DAT*z&)081@8 88H$8P09n\98(@(8z'x$ 6)8$80n8^1$8$z%8z&68z(8z&)81@8$8 09n098^8$8@0DAT*9n`98[h$8p09n98[M3@8$809n98[$809n98^8`80 $809n,98^ 8 64$6666666DAT*M2M2M26 6!6"6#6$6%6&6)H81   8P0)T8\8P0 !"6#R$n%&()+,-*041V2n3456789;<>=>?BVD EjFIJL:O^PQTV&X[\]<_`ab:cNe`fglv| w x y |  d ll_rcll_rowll_totalcoDAT*untll_foundll_nullld_ridldb_nullls_nullls_filterls_findls_filenamels_messageli_nullli_recordsetli_recordsetcountld_nullls_sourceidls_deviceidls_processidls_materialcodelnv_exportls_record_typels_state_county_fipsls_state_facility_identifierls_emission_unit_idls_process_idls_pollutant_codels_blank1ld_primary_pct_control_efficiencyld_pct_capture_efficiencyld_total_capture_control_efficiencyls_primary_device_type_codels_secondary_device_type_codels_blank2ls_control_sysDAT*tem_descriptionls_third_control_device_type_codels_fourth_control_device_type_codels_submittal_flagls_tribalcode #,4 ; D L V ^ j u}>    DAT*  *   % 9 G Y c> > >  ea _w in % G j | d ids_emissionsit;*data_level = 'PROCESS' and control_device_flag = 1of_filter$ DAT*Sis_errorhids_n3_pointcontrolequipmentoutput|.of_getneirecordtype3is_statecountyfips]is_siteidais_submittalflagzis_tribalcode$\rowcount (object <@source_id__get_attribute_itemV<@device_idV<@process_idV<@material_code"Vis_errormessageSource ID = '', Device ID = '', Process ID = '' Material_code = ''rid = <@device_ridVids_emiDAT*ssionunitPC2of_find6lPC2emission_unit_idof_getdata9|.Emission Unit ID's length is > 6. The id will be right trimmed. , Emission Unit Id = 'of_writelogmessagewarning*process_rid = <@process_ridVids_emissionprocessdD36ldD3emission_process_id9|.Process ID's length is > 6. The id will be right trimmed. , Process Unit Id = ""*<@pollutant_codeV<@primary_pct_cDAT*ontrol_efficiencyV<@pct_capture_efficiencyVde<@total_capt_control_efficiencyV<@primary_device_type_codeV@@@@099<@secondary_device_type_codeV|.of_addrow4<z S ` t        4 D l t       4 H d t |    0 DAT*H \ x        0 8 ` h       , 4 H T \ T5:F@@8@8@8@8 @8@81$8$0)<814P$6+@+DAT*8|$)8$6$6$5@8$5@866  }! }" }#$$6%0$61)D8 \8d|$809n988z'8z&DAT* $809n98t80t$809n988t8 0t^ 8$8 09n,98(@(8z'H$ 6)X8t`$8h0n8^1$8$z%8z&68z(8 z&)81@8DAT* $8 09n498^1<$8D$z%8z&68z(8 z&)81@8$809n98[M21 K8$809n 98^$809n(98Y0$DAT*8809nD98^L$666663366M266 !"#$6%6)`81 8h0)l8t8h0$%&6'R(n)*,-/01*445V6n789:;<=>?*@6ABBZDrHKLMDPtQSVWXXlZ]^  3   DAT*   al _e" / ev9esGl_S ]> r on_f 2f_ " |p ids_emissionprocessD3type = 'F'of_filter /is_errorDids_n3_pointemissionperioDAT*doutputX0of_getneirecordtype3is_statecountyfips]is_siteidaidt_startdatetimemidt_enddatetimenis_submittalflagzis_tribalcode \rowcount 8is_errormessageL Source ID = 'objects@source_id__get_attribute_item', Device ID = 's@device_id', Process ID = 's@process_id'rid = s@device_ridids_emissionunit4C2of_find6P4C2DAT*emission_unit_idof_getdata9yX0Emission Unit ID's length is > 6. The id will be right trimmed L, Emission Unit ID = 'of_writelogmessagewarning*s@emission_process_idX0Process ID's length is > 6. The ID will be right trimmed 9L, Emission Process ID = '*s@actual_throughputof_roundnumberxs@throughput_unit_numerators@material8s@material_ioX0of_addrowDAT*@4T /L < P |       0 D \ |       , H X `      4 <          ( 0 D L ` l t 9:F@@8@8@8@DAT*8 @8@81$1($6+@+81X0$6+@+8\$)x8$6$666$5@8$5@866DAT*M 6!"6# }$ }% }&'$6($6 801)$84$8<09nX988`0{d$8l09nx98]8L1(@(8z' 8L1(@(8z'8z&$ 6)DAT* 8#f L1(@(8 L1(@(8$666663366M2 6!"6#$%&'6(6)81~80&'(6)R*n+,.12378 9N<X=z>?@ABCD.E:FFGVHbIrJ~KLMNOPQDAT*"SW8X[\^_6`^abbfcdeoyfzv{z|~d^ ll_rcll_rowll_totalcountll_foundll_nullld_ridldb_nullls_nullls_filterls_findls_filenamels_errormessagels_dupcheckli_nullli_recordsetli_recordsetcountld_nulllnv_exportld_sourceridls_pollutantcodels_record_typels_state_county_fipsls_state_facility_identifierls_emission_unit_idls_process_idldt_start_dateldt_end_datels_blank1ll_start_timell_end_timels_blank2ld_actDAT*$ual_throughputls_throughput_unit_numeratorll_materialls_material_ioli_period_days_per_weekli_period_weeks_per_periodli_period_hours_per_dayll_period_hours_per_periodls_submittal_flagls_tribalcode4#,4 ; D L V ^ j z DAT*&>  )  t_   ' _i ce3 @A P @] gu on> a   #>DAT*( isP   ids_source:)is_error@ids_n3_pointemissionperiodoutput80of_getneirecordtype3dis_statecountyfips]is_siteidaidt_startdatetimemidt_enddatetimenis_submittalflag=zis_tribalcode8\rowcount1object,@type__get_attribute_item@AF ,@source_ridAis_errormessagesource_rid = and data_level = 'SITE' ids_emissions;*DAT**of_find680of_addrow4 ( 0 \ x       $ 4 X d x       _#:F@@8@8@8@8 @8@81$8 $)48}8<0)t8DAT*,8|0)81~$6+@+8$),8H$6\$66x$5@8 $5@8!"#6&80'6(M)6*6+,6-6.6/616DAT*.6$67$6261b)8$809n98] $809n 98]($8009n<98]D$8L09n`98]x8$809n988z'DAT*08z&$809n988z(8z&$809n988z(8 z& $8(09n4988z(8 z&<$8D09nT988z(8\z&`$8h09nx98^8L1(@(8z'8z&L1DAT*2(@(8z(8z&L1(@(8z(8z&z&8z&L1(@(8z(x.8L1(@(8z'8z&L1(@(8z(8z&L1(@(8z(8z&z&8z&L1(@(8z(6$)8 8 L1(@(8z'$$ 6)48<$8D0n`8^. DAT*4h$8p$z%)8@81 $8 $z%8z&68z(8\z&),81@8 84L1(@(8z'X$ 6)`8R h$8p0n8^ $8$z%)8@81@ $8$z%DAT*68z&68z(8\z&)881@8@$8H09n\98^1$ d$8l$z%8z&68z(8\z&)81@8%$809n98^ 8 $8$09n098(@(8z'88z&DAT*8P$8D09nX98t8\0t^08`0 68j08v0n8%@%8 8 $8$09n98(@(8z'88z&$8D09n98t8\0t^ $809n98^ 8363804(@(848DAT*:4804805$809n 98^$666666663 3!"#6M$2%6&6'6M(2)6*6+,6-6.6/6M0216263646566676)(!8"1xX80)08880DAT*<12364R5n679:;<=6>F?tB~CDEFG H4I@JLK\LnM~NOPQRSTUVWX6ZF]~^_ `Pbfninpotpxw.zX{|}~ . B  N R  @ $ j  n "h|B`ptxd ll_rcll_rowll_totalcountll_foundll_nullll_deviceflagcountld_ridldb_nulllsDAT*>_nullls_filterls_findls_filenamels_criteriaflagli_nullli_recordsetli_recordsetcountld_nullld_sourceridld_processridld_deviceridld_releasepointridlnv_exportls_dupcheckls_record_typels_state_county_fipsls_state_facility_identifierls_emission_unit_idls_process_idls_pollutant_codels_blank1ls_emission_release_point_idldt_start_dateldt_end_datell_start_timell_end_timels_blank2ld_emission_numeric_valuels_emission_unit_numeratorls_emission_typels_em_reliability_indicatorld_DAT*@factor_numeric_valuels_factor_unit_numeratorls_factor_unit_denominatorll_materialls_material_iols_blank3ls_emission_calculation_method_codels_ef_reliability_indicatorld_rule_effectivenessls_rule_effectiveness_methodls_blank4ls_hap_emission_performance_levells_control_statusls_emission_data_levells_submittal_flagls_tribalcodell_rowcountt#,4G DAT*BN W _ i q } >      *$  }2 s_O sec gsq g v il wiDAT*D twsyh_ >   (0 L> d } ) <   {>  0 : n\ d n ds   @ DAT*F ids_emissions ;* ;*rowcount8(source_type = 'F' and data_level = 'PROCESS'of_filter isource_rid a, device_rid a, process_rid a, pollutant_code a, release_point_rid aof_sort5!is_error:ids_n3_pointemissionoutput/of_getneirecordtype3is_statecountyfips4]is_siteidPaidt_startdatetimectdmidt_enddatetimen30is_submittalflagzis_tribalcode\(object@source_rid__get_attDAT*Hribute_item@process_rid@device_rid@release_point_ridis_errormessageh Source ID = '@source_id', Device ID = '@device_id', Process ID = 'r@process_id', Stream ID = '@stream_id1@material_code'7@pollutant_codesource_rid = and device_rid = and process_rid = and pollutant_code = '' and release_point_rid = of_expDAT*Jortem_getsitetotalsVrid = ids_emissionunitC2of_find6,C2emission_unit_idof_getdata9U/Unable to lookup the emission unit id. hof_writelogmessagewarning*/Emission Unit ID's length is > 6. The id will be right trimmed h, Emission Unit ID = '*process_rid = ids_emissionprocessCD36,CD3emission_process_id9U/Unable to lookup the emission process id. h*/Process ID'sDAT*L length is > 6. The id will be right trimmed h, Emission Process ID = ' *@release_point_id+/Emission Release Point Id's length is > 6. The id will be right trimmed h, Emission Release Point ID = '*@emission_unit_codestream_rid = 8@stream_rid and material_code = '@OUTSTREAMRULE EFFECTvalueof_getactivitydataZ|@@@criteria_flagYDAT*N010UNCONTROLLEDCONTROLLED@data_level/of_addrowL4 ih  4 t    , H \ x           ( < D ` x         4 < T ` x  $ 4 < ` h      , X ` h DAT*P      8 @ \ d      0 P X            ( 0 8 Z":F@@8@8@8@8 @8@81$6 $)48}8DAT*R<0)t88|0)81~$6+@+8 $)(8@$6X$6l$66$5@8 $5@8!"#6&80'6(M)6*6+,6-6DAT*T.6/6165$61R)8>$809n98]$8 09n98] $8(09n498]<$8D09nX98]p8x$809n988DAT*Vz'8z&$809n988z(8z&$809n988z(8z&$8 09n,988z(8z&4$8<09nL988z(8Tz&X$8`09np98^8xL1(@(8z'8z&LDAT*X1(@(8z(8z&L1(@(8z(8z&z&8z&L1(@(8z(h:8xL1(@(8z'8z&L1(@(8z(8z&L1(@(8z(8z&z&8z&L1(@(8z(6$)8 8L1(@(8z'$ 6),84$8<0nX8^ DAT*Z`$8h$z%)8@81 $8$z%8 z&68z(8Tz&)$81@8 8,L1(@(8z'P$ 6)X8B `$8h0n|8^ $8$z%)8@810 $8 $DAT*\z%8z&68z(8Tz&)081@88$8@09nT98^1 \$8d$z%8z&68z(8Tz&)81@8%$809n98^ 8$809n(98(@(8z'80zDAT*^&H$8<09nP98t8T0t^08X0 68b08n0n8%@%8 8$809n98(@(8z'80z&$8<09n98t8T0t^28X0 6808n0n8%@%83(@(83838038DAT*`04$809n98^$6666666663 3!"#6M$2%6&6'6M(2)6*6+,6-6.6/6M0216M22364656) 8!10>:H80)8 8056768R9n:;=>DAT*b?@B6CFDtG~HIJKLM"NLOXPdQtRSTUVWXYZ[\^6bncde@gk^lq`rdshz|H}t~  2  > B v 0 v  Z  ^ b(,0:>\vdo ll_rcll_rowll_totalcountll_foundll_nullll_deviceflagcountld_ridldb_nullls_nullls_filterls_findls_filenameli_nullli_recordsetli_recordsetcounDAT*dtld_nullls_dupcheckld_sourceridld_processridld_deviceridld_releasepointridlnv_exportls_record_typels_state_fipsls_county_fipsls_site_idls_emission_unit_idls_process_idls_pollutant_codels_blank1ls_emission_release_point_idldt_start_dateldt_end_datell_start_timell_end_timels_blank2ld_emission_numeric_valuels_emission_unit_numeratorls_emission_typels_em_reliability_indicatorld_factor_numeric_valuels_factor_unit_numeratorls_factor_unit_denominatorll_materialls_material_ioDAT*ls_blank3ls_emission_calculation_method_codels_ef_reliability_indicatorld_rule_effectivenessls_rule_effectiveness_methodld_rule_penetrationls_control_statusls_emission_data_levells_submittal_flagll_rowcntL#,4G N W _ i q }DAT*hMaster Export Object for NEI Exportforward global type n_cst_nei_export from n_cst_conversion_base end type end forward global type n_cst_nei_export from n_cst_conversion_base event type integer ue_nif2_initialize ( ) event type integer ue_nif3_initialize ( ) event type integer ue_nif2_resetoutputfiles ( ) event type integer ue_nif3_resetoutputfiles ( ) event type long ue_nif2_export ( ) event type long ue_nif3_export ( ) event type integer ue_nif2_loadtransmittaluserinput ( ) event DAT*jtype integer ue_nif3_loadtransmittaluserinput ( ) event type integer ue_nif3_savetransmittaluserinput ( ) event type integer ue_nif2_savetransmittaluserinput ( ) event type integer ue_nif3_validatetransmittaluserinput ( ) event type integer ue_nif2_validatetransmittaluserinput ( ) event type integer ue_nif3_settransmittaluserinput ( ) event type integer ue_nif2_settransmittaluserinput ( ) event type integer ue_nif2_saveoutputfiles ( ) event type integer ue_nif3_saveoutputfiles ( ) end typDAT*le global n_cst_nei_export n_cst_nei_export type variables //metric code constants constant string is_fipsMetricCode = "FIPS CODE" constant string is_stateUSPSMetricCode = "ST USPS CODE" //source format type constants constant integer ii_point = 1 constant integer ii_area = 2 constant integer ii_mobile = 3 //export control variables boolean ib_debug = false boolean ib_perf_debug integer ii_logLineLength = 72 integer ii_fileTypeCount = 0 string is_fileTypes[] str_nei_file_namDAT*nes istr_neiFileNames[] string is_existingFileNames[] constant string is_sourceSortString = "nation_rid A, state_rid A, county_name A, id A" //blocking control variables long il_block long il_startRow, il_endRow long il_sourceRidArray[] //metric code arrays string is_stateMetric[] string is_countyMetric[] string is_sourceMetric[] string is_deviceMetric[] string is_processMetric[] string is_inputStreamMetric[] string is_outputStreamMetric[] string is_throughputMetric[] string DAT*pis_otherMetric[] //output file datastores for NEI NIF 2.0 export n_ds_exp_area_control_equipment ids_areaControlEquipmentOutput n_ds_exp_area_emission ids_areaEmissionOutput n_ds_exp_area_emission_period ids_areaEmissionPeriodOutput n_ds_exp_area_emission_process ids_areaEmissionProcessOutput n_ds_exp_emission_release_pt ids_emissionReleasePtOutput n_ds_exp_emission_unit ids_emissionUnitOutput n_ds_exp_onroad_emission DAT*r ids_onroadEmissionOutput n_ds_exp_onroad_emission_period ids_onroadEmissionPeriodOutput n_ds_exp_point_control_equipment ids_pointControlEquipmentOutput n_ds_exp_point_emission ids_pointEmissionOutput n_ds_exp_point_emission_period ids_pointEmissionPeriodOutput n_ds_exp_point_emission_process ids_pointEmissionProcessOutput n_ds_exp_site ids_siteOutput n_ds_exp_transmittal ids_tDAT*transmittalOutput //output file datastores for NEI NIF 3.0 export n_ds_nei_n3_exp_area_control_equipment ids_n3_areaControlEquipmentOutput n_ds_nei_n3_exp_area_emission ids_n3_areaEmissionOutput n_ds_nei_n3_exp_area_emission_period ids_n3_areaEmissionPeriodOutput n_ds_nei_n3_exp_area_emission_process ids_n3_areaEmissionProcessOutput n_ds_nei_n3_exp_emission_release_pt ids_n3_emissionReleasePtOutput n_ds_nei_n3_exp_emission_unit DAT*v ids_n3_emissionUnitOutput n_ds_nei_n3_exp_onroad_emission ids_n3_onroadEmissionOutput n_ds_nei_n3_exp_onroad_emission_period ids_n3_onroadEmissionPeriodOutput n_ds_nei_n3_exp_point_control_equipment ids_n3_pointControlEquipmentOutput n_ds_nei_n3_exp_point_emission ids_n3_pointEmissionOutput n_ds_nei_n3_exp_point_emission_period ids_n3_pointEmissionPeriodOutput n_ds_nei_n3_exp_point_emission_process ids_n3_pointEmissionProcessOutpuDAT*xt n_ds_nei_n3_exp_site ids_n3_siteOutput n_ds_nei_n3_exp_transmittal ids_n3_transmittalOutput //cache datastores for NEI export n_ds_cache_base ids_transmittalUserInput n_ds_cache_units ids_units n_ds_cache_metrics ids_metrics n_ds_cache_rap_metric_lookups ids_metriclookups n_ds_cache_material_groups ids_materialGroups n_ds_cache_conversion_lookup_codes ids_conversionLookupCodes n_ds_cache_primary_site ids_source n_ds_cache_emissions idDAT*zs_emissions n_ds_cache_state_activities ids_stateActivity n_ds_cache_county_activities ids_countyActivity n_ds_cache_source_activities ids_sourceActivity n_ds_cache_process_activities ids_processActivity n_ds_cache_device_activities ids_deviceActivity n_ds_cache_input_stream_activities ids_inputStreamActivity n_ds_cache_output_stream_activities ids_outputStreamActivity n_ds_cache_emission_unit ids_emissionUnit n_ds_cache_emission_process ids_emissionprocess n_ds_cache_emission_release_poDAT*|int ids_emissionReleasePoint n_ds_cache_fugitive_release_point ids_fugitiveReleasePoint n_ds_cache_site_release_point ids_siteReleasePoint n_ds_cache_rap_operating_months ids_rapOperatingMonths n_ds_cache_state_location_coordinates ids_stateLocationCoordinates n_ds_cache_county_location_coordinates ids_countyLocationCoordinates n_ds_cache_source_location_coordinates ids_sourceLocationCoordinates n_ds_cache_device_location_coordinates ids_deviceLocationCoordinates n_ds_cache_process_speciDAT*~fic_schedules ids_processspecificschedules n_ds_cache_primary_key_checks ids_primarykey //cached key values for NEI export long il_stateRidArray[] long il_countyRidArray[] long il_sourceUnknownType[] long il_stateRid long il_countyRid long il_sourceRid long il_sourceRow string is_stateName string is_countyName string is_sourceID //nif specific string is_nif_version_number string is_nif_cvl_pollutant_code_name string is_file_system_version string is_tribalcode string is_statecDAT*ountyFIPS //key data values for NEI export string is_stateFIPS string is_stateUSPSCode string is_countyFIPS string is_siteID //record and file type flags integer ii_formatType string is_sourceType string is_sourceTypeValue string is_sourceTypeCode string is_sourceTypeLog string is_sourceTypeLogMid //user input variables string is_exportPath boolean ib_overwriteLogFile = false boolean ib_overwriteFiles = false integer ii_year integer ii_submissionNumber datetime idt_startDaDAT*teTime datetime idt_endDateTime string is_2dYear string is_pollutants[] any ia_pollutantblocks[] string is_referenceCode string is_unitCode string is_sourceIdPrefix string is_dataCodeNull string is_dataCodeRO string is_defaultDataLevel string is_defaultReleasePointType string is_rollupConfidential string is_submittalFlag end variables forward prototypes public function integer of_exportsite () public function integer of_loadcachedata () public function any of_getactivitydatDAT*a (string as_type, long al_rid, string as_metric, string as_column) public function integer of_exporttransmittal () public function integer of_loadtransmittaluserinput () public function integer of_savetransmittaluserinput () public function integer of_setfilenames () public function integer of_export () public function integer of_createcachedatastores () public function integer of_getfilenameindex_old (long an_staterid, string as_filetype) public function integer of_getfilenameindex (striDAT*ng as_filetype, string as_recordtype) public function string of_getfilename (string as_filetype, string as_recordtype) public function integer of_exporteu () public function integer of_exportep () public function integer of_loadcacheblockdata (long al_block) public function integer of_resetoutputfiles () public function integer of_exportep_getthroughputs (long al_row, ref decimal ad_throughputs[4]) public function boolean of_exportep_checkmonthamounts (decimal ad_monthAmounts[12]) public fDAT*unction long of_exporter () public function double of_convertdoublevalue (string as_fromunit, string as_tounit, double ad_fromvalue) public function double of_exporter_findandconvertunits (n_ds_nei_cache_base ads_cache, string as_findstring, string as_tounit) public function long of_exportce () public function long of_exportpe_processdatalevel () public function long of_exportpe_sitedatalevel () public function long of_exportem_sitedatalevel () public function integer of_exportem_getsitetotDAT*als (string as_find, ref decimal ad_emissionamt, ref long al_controldevicecount) public function string of_checkmetric (string as_metric, string as_level) public function string of_checkmetric (string as_metric) public function any of_getactivitydata (string as_type, string as_find, string as_column) public function any of_getactivitydata (string as_type, string as_find, string as_metric, string as_column) public function integer of_writelogpollutants () public function integer of_exportep_aDAT*rea () public function long of_exportce_area () public function long of_exportpe_area () public function long of_exportem_area () public function long of_exportpe_onroad () public function long of_exportem_onroad () public function integer of_settransmittaluserinput () public function long of_validatetransmittaluserinput () public function integer of_n2_getfilename (string as_filetype, string as_recordtype) public function integer of_n3_getfilename (string as_filetype, string as_recordtypDAT*e) public function integer of_saveoutputfiles () public function integer of_n3_exporttransmittal () public function integer of_n3_exportsite () public function integer of_n3_exporteu () public function long of_n3_exporter () public function long of_n3_exportce () public function long of_n3_exportpe_processdatalevel () public function long of_n3_exportpe_sitedatalevel () public function long of_n3_exportem_processdatalevel () public function long of_exportem_processdatalevel () public fuDAT*nction long of_n3_exportem_sitedatalevel () public function integer of_n3_exportep_area () public function long of_n3_exportce_area () public function long of_n3_exportpe_area () public function long of_n3_exportem_area () public function long of_n3_exportpe_onroad () public function long of_n3_exportem_onroad () public function integer of_n3_exportep () public function decimal of_roundnumber (decimal ad_number, integer ai_length) end prototypes event type integer ue_nif2_initialize();DAT*//source is_nif_version_number = '2.0' is_sourceMetric = { 'ID FAC AFS', 'CONFIDENTIAL', 'HAP MAJOR'} is_nif_cvl_pollutant_code_name = 'POLLUTANT_CODE' return 1 end event event type integer ue_nif3_initialize();//source is_nif_version_number = '3.0' is_sourceMetric = { 'ID FAC AFS', 'CONFIDENTIAL', 'HAP MAJOR', 'TRIBAL CODE' } is_nif_cvl_pollutant_code_name = 'POLLUTANT_CODE_NIF3' return 1 end event event type integer ue_nif2_resetoutputfiles();//MDY 04/2001 string ls_recordTypeDAT* string ls_fileName setPointer(hourGlass!) //*** TRANSMITTAL OUTPUT FORMAT *** //create Transmittal record datastore if this.of_getRun() then //create or reset the output file object if not isValid(ids_transmittalOutput) then ids_transmittalOutput = create n_ds_exp_transmittal if not isValid(ids_transmittalOutput) then signalError(-1, "Failed creating datastore ids_transmittalOutput") return -1 end if ids_transmittalOutput.of_register(this) eDAT*lse ids_transmittalOutput.of_reset() end if //initialize the output file object ls_recordType = ids_transmittalOutput.of_getNeiRecordType() ls_fileName = this.of_getFileName(is_sourceTypeCode, ls_recordType) if ls_fileName = "?" then return -1 end if ids_transmittalOutput.of_setNeiFileName(ls_fileName) end if //*** SITE OUTPUT FORMAT *** //create Site record datastore if this.of_getRun() then //create or reset the output file object if not isVaDAT*lid(ids_siteOutput) then ids_siteOutput = create n_ds_exp_site if not isValid(ids_siteOutput) then signalError(-1, "Failed creating datastore ids_siteOutput") return -1 end if ids_siteOutput.of_register(this) else ids_siteOutput.of_reset() end if //initialize the output file object ls_recordType = ids_siteOutput.of_getNeiRecordType() ls_fileName = this.of_getFileName(is_sourceTypeCode, ls_recordType) if ls_fileName = "?" then return -1 DAT* end if ids_siteOutput.of_setNeiFileName(ls_fileName) end if //*** EMISSION UNIT OUTPUT FORMAT *** //create Emission Unit record datastore if this.of_getRun() then //create or reset the output file object if not isValid(ids_emissionUnitOutput) then ids_emissionUnitOutput = create n_ds_exp_emission_unit if not isValid(ids_emissionUnitOutput) then signalError(-1, "Failed creating datastore ids_emissionUnitOutput") return -1 end if ids_emissionUnitDAT*Output.of_register(this) else ids_emissionUnitOutput.of_reset() end if //initialize the output file object ls_recordType = ids_emissionUnitOutput.of_getNeiRecordType() ls_fileName = this.of_getFileName(is_sourceTypeCode, ls_recordType) if ls_fileName = "?" then return -1 end if ids_emissionUnitOutput.of_setNeiFileName(ls_fileName) end if //*** EMISSION RELEASE POINT OUTPUT FORMAT *** //create Emission Release Point record datastore if this.of_geDAT*tRun() then //create or reset the output file object if not isValid(ids_emissionReleasePtOutput) then ids_emissionReleasePtOutput = create n_ds_exp_emission_release_pt if not isValid(ids_emissionReleasePtOutput) then signalError(-1, "Failed creating datastore ids_emissionReleasePtOutput") return -1 end if ids_emissionReleasePtOutput.of_register(this) else ids_emissionReleasePtOutput.of_reset() end if //initialize the output file object lDAT*s_recordType = ids_emissionReleasePtOutput.of_getNeiRecordType() ls_fileName = this.of_getFileName(is_sourceTypeCode, ls_recordType) if ls_fileName = "?" then return -1 end if ids_emissionReleasePtOutput.of_setNeiFileName(ls_fileName) end if //*** CONTROL EQUIPMENT OUTPUT FORMAT *** //create Point Control Equipment record datastore if this.of_getRun() then //create or reset the output file object if not isValid(ids_pointControlEquipmentOutput) then ids_poinDAT*tControlEquipmentOutput = create n_ds_exp_point_control_equipment if not isValid(ids_pointControlEquipmentOutput) then signalError(-1, "Failed creating datastore ids_pointControlEquipmentOutput") return -1 end if ids_pointControlEquipmentOutput.of_register(this) else ids_pointControlEquipmentOutput.of_reset() end if //initialize the output file object ls_recordType = ids_pointControlEquipmentOutput.of_getNeiRecordType() ls_fileName = this.of_getFileDAT*Name(is_sourceTypeCode, ls_recordType) if ls_fileName = "?" then return -1 end if ids_pointControlEquipmentOutput.of_setNeiFileName(ls_fileName) end if //create Area Control Equipment record datastore if this.of_getRun() then //create or reset the output file object if not isValid(ids_areaControlEquipmentOutput) then ids_areaControlEquipmentOutput = create n_ds_exp_area_control_equipment if not isValid(ids_areaControlEquipmentOutput) then signalError(-1, DAT*"Failed creating datastore ids_areaControlEquipmentOutput") return -1 end if ids_areaControlEquipmentOutput.of_register(this) else ids_areaControlEquipmentOutput.of_reset() end if //initialize the output file object ls_recordType = ids_areaControlEquipmentOutput.of_getNeiRecordType() ls_fileName = this.of_getFileName(is_sourceTypeCode, ls_recordType) if ls_fileName = "?" then return -1 end if ids_areaControlEquipmentOutput.of_setNeiFileName(ls_DAT*fileName) end if //*** EMISSIONS OUTPUT FORMAT *** //create Point Emissions record datastore if this.of_getRun() then //create or reset the output file object if not isValid(ids_pointEmissionOutput) then ids_pointEmissionOutput = create n_ds_exp_point_emission if not isValid(ids_pointEmissionOutput) then signalError(-1, "Failed creating datastore ids_pointEmissionOutput") return -1 end if ids_pointEmissionOutput.of_register(this) else idDAT*s_pointEmissionOutput.of_reset() end if //initialize the output file object ls_recordType = ids_pointEmissionOutput.of_getNeiRecordType() ls_fileName = this.of_getFileName(is_sourceTypeCode, ls_recordType) if ls_fileName = "?" then return -1 end if ids_pointEmissionOutput.of_setNeiFileName(ls_fileName) end if //create Area Emissions record datastore if this.of_getRun() then //create or reset the output file object if not isValid(ids_areaEmissionOutput) tDAT*hen ids_areaEmissionOutput = create n_ds_exp_area_emission if not isValid(ids_areaEmissionOutput) then signalError(-1, "Failed creating datastore ids_areaEmissionOutput") return -1 end if ids_areaEmissionOutput.of_register(this) else ids_areaEmissionOutput.of_reset() end if //initialize the output file object ls_recordType = ids_areaEmissionOutput.of_getNeiRecordType() ls_fileName = this.of_getFileName(is_sourceTypeCode, ls_recordType) if lDAT*s_fileName = "?" then return -1 end if ids_areaEmissionOutput.of_setNeiFileName(ls_fileName) end if //create On-road Emissions record datastore if this.of_getRun() then //create or reset the output file object if not isValid(ids_onroadEmissionOutput) then ids_onroadEmissionOutput = create n_ds_exp_onroad_emission if not isValid(ids_onroadEmissionOutput) then signalError(-1, "Failed creating datastore ids_onroadEmissionOutput") return -1 end if DAT* ids_onroadEmissionOutput.of_register(this) else ids_onroadEmissionOutput.of_reset() end if //initialize the output file object ls_recordType = ids_onroadEmissionOutput.of_getNeiRecordType() ls_fileName = this.of_getFileName(is_sourceTypeCode, ls_recordType) if ls_fileName = "?" then return -1 end if ids_onroadEmissionOutput.of_setNeiFileName(ls_fileName) end if //*** EMISSION PERIOD OUTPUT FORMAT *** //create Point Emission Period record datastoDAT*re if this.of_getRun() then //create or reset the output file object if not isValid(ids_pointEmissionPeriodOutput) then ids_pointEmissionPeriodOutput = create n_ds_exp_point_emission_period if not isValid(ids_pointEmissionPeriodOutput) then signalError(-1, "Failed creating datastore ids_pointEmissionPeriodOutput") return -1 end if ids_pointEmissionPeriodOutput.of_register(this) else ids_pointEmissionPeriodOutput.of_reset() end if //initiaDAT*lize the output file object ls_recordType = ids_pointEmissionPeriodOutput.of_getNeiRecordType() ls_fileName = this.of_getFileName(is_sourceTypeCode, ls_recordType) if ls_fileName = "?" then return -1 end if ids_pointEmissionPeriodOutput.of_setNeiFileName(ls_fileName) end if //create Area Emission Period record datastore if this.of_getRun() then //create or reset the output file object if not isValid(ids_areaEmissionPeriodOutput) then ids_areaEmissionPeriodOuDAT*tput = create n_ds_exp_area_emission_period if not isValid(ids_areaEmissionPeriodOutput) then signalError(-1, "Failed creating datastore ids_areaEmissionPeriodOutput") return -1 end if ids_areaEmissionPeriodOutput.of_register(this) else ids_areaEmissionPeriodOutput.of_reset() end if //initialize the output file object ls_recordType = ids_areaEmissionPeriodOutput.of_getNeiRecordType() ls_fileName = this.of_getFileName(is_sourceTypeCode, ls_recordTypeDAT*) if ls_fileName = "?" then return -1 end if ids_areaEmissionPeriodOutput.of_setNeiFileName(ls_fileName) end if //create On-road Emission Period record datastore if this.of_getRun() then //create or reset the output file object if not isValid(ids_onroadEmissionPeriodOutput) then ids_onroadEmissionPeriodOutput = create n_ds_exp_onroad_emission_period if not isValid(ids_onroadEmissionPeriodOutput) then signalError(-1, "Failed creating datastore ids_onroadEmDAT*issionPeriodOutput") return -1 end if ids_onroadEmissionPeriodOutput.of_register(this) else ids_onroadEmissionPeriodOutput.of_reset() end if //initialize the output file object ls_recordType = ids_onroadEmissionPeriodOutput.of_getNeiRecordType() ls_fileName = this.of_getFileName(is_sourceTypeCode, ls_recordType) if ls_fileName = "?" then return -1 end if ids_onroadEmissionPeriodOutput.of_setNeiFileName(ls_fileName) end if //*** EMISSIODAT*N PROCESS OUTPUT FORMAT *** //create Point Emission Process record datastore if this.of_getRun() then //create or reset the output file object if not isValid(ids_pointEmissionProcessOutput) then ids_pointEmissionProcessOutput = create n_ds_exp_point_emission_process if not isValid(ids_pointEmissionProcessOutput) then signalError(-1, "Failed creating datastore ids_pointEmissionProcessOutput") return -1 end if ids_pointEmissionProcessOutput.of_register(this) DAT* else ids_pointEmissionProcessOutput.of_reset() end if //initialize the output file object ls_recordType = ids_pointEmissionProcessOutput.of_getNeiRecordType() ls_fileName = this.of_getFileName(is_sourceTypeCode, ls_recordType) if ls_fileName = "?" then return -1 end if ids_pointEmissionProcessOutput.of_setNeiFileName(ls_fileName) end if //create Area Emission Process record datastore if this.of_getRun() then //create or reset the output file objDAT*ect if not isValid(ids_areaEmissionProcessOutput) then ids_areaEmissionProcessOutput = create n_ds_exp_area_emission_process if not isValid(ids_areaEmissionProcessOutput) then signalError(-1, "Failed creating datastore ids_areaEmissionProcessOutput") return -1 end if ids_areaEmissionProcessOutput.of_register(this) else ids_areaEmissionProcessOutput.of_reset() end if //initialize the output file object ls_recordType = ids_areaEmissionProcessOuDAT*tput.of_getNeiRecordType() ls_fileName = this.of_getFileName(is_sourceTypeCode, ls_recordType) if ls_fileName = "?" then return -1 end if ids_areaEmissionProcessOutput.of_setNeiFileName(ls_fileName) end if return 1 end event event type integer ue_nif3_resetoutputfiles();//MDY 04/2001 string ls_recordType string ls_fileName setPointer(hourGlass!) //*** TRANSMITTAL OUTPUT FORMAT *** //create Transmittal record datastore if this.of_getRun() then //creDAT*ate or reset the output file object if not isValid(ids_n3_transmittalOutput) then ids_n3_transmittalOutput = create n_ds_nei_n3_exp_transmittal if not isValid(ids_n3_transmittalOutput) then signalError(-1, "Failed creating datastore ids_n3_transmittalOutput") return -1 end if ids_n3_transmittalOutput.of_register(this) else ids_n3_transmittalOutput.of_reset() end if //initialize the output file object ls_recordType = ids_n3_transmittalOutput.oDAT*f_getNeiRecordType() ls_fileName = this.of_getFileName(is_sourceTypeCode, ls_recordType) if ls_fileName = "?" then return -1 end if ids_n3_transmittalOutput.of_setNeiFileName(ls_fileName) end if //*** SITE OUTPUT FORMAT *** //create Site record datastore if this.of_getRun() then //create or reset the output file object if not isValid(ids_n3_siteOutput) then ids_n3_siteOutput = create n_ds_nei_n3_exp_site if not isValid(ids_n3_siteOutput) then sigDAT*nalError(-1, "Failed creating datastore ids_n3_siteOutput") return -1 end if ids_n3_siteOutput.of_register(this) else ids_n3_siteOutput.of_reset() end if //initialize the output file object ls_recordType = ids_n3_siteOutput.of_getNeiRecordType() ls_fileName = this.of_getFileName(is_sourceTypeCode, ls_recordType) if ls_fileName = "?" then return -1 end if ids_n3_siteOutput.of_setNeiFileName(ls_fileName) end if //*** EMISSION UNIT OUTPUTDAT* FORMAT *** //create Emission Unit record datastore if this.of_getRun() then //create or reset the output file object if not isValid(ids_n3_emissionUnitOutput) then ids_n3_emissionUnitOutput = create n_ds_nei_n3_exp_emission_unit if not isValid(ids_n3_emissionUnitOutput) then signalError(-1, "Failed creating datastore ids_n3_emissionUnitOutput") return -1 end if ids_n3_emissionUnitOutput.of_register(this) else ids_n3_emissionUnitOutput.of_reset()DAT* end if //initialize the output file object ls_recordType = ids_n3_emissionUnitOutput.of_getNeiRecordType() ls_fileName = this.of_getFileName(is_sourceTypeCode, ls_recordType) if ls_fileName = "?" then return -1 end if ids_n3_emissionUnitOutput.of_setNeiFileName(ls_fileName) end if //*** EMISSION RELEASE POINT OUTPUT FORMAT *** //create Emission Release Point record datastore if this.of_getRun() then //create or reset the output file object if not isVDAT*alid(ids_n3_emissionReleasePtOutput) then ids_n3_emissionReleasePtOutput = create n_ds_nei_n3_exp_emission_release_pt if not isValid(ids_n3_emissionReleasePtOutput) then signalError(-1, "Failed creating datastore ids_n3_emissionReleasePtOutput") return -1 end if ids_n3_emissionReleasePtOutput.of_register(this) else ids_n3_emissionReleasePtOutput.of_reset() end if //initialize the output file object ls_recordType = ids_n3_emissionReleasePtOutputDAT*.of_getNeiRecordType() ls_fileName = this.of_getFileName(is_sourceTypeCode, ls_recordType) if ls_fileName = "?" then return -1 end if ids_n3_emissionReleasePtOutput.of_setNeiFileName(ls_fileName) end if //*** CONTROL EQUIPMENT OUTPUT FORMAT *** //create Point Control Equipment record datastore if this.of_getRun() then //create or reset the output file object if not isValid(ids_n3_pointControlEquipmentOutput) then ids_n3_pointControlEquipmentOutput = create DAT*n_ds_nei_n3_exp_point_control_equipment if not isValid(ids_n3_pointControlEquipmentOutput) then signalError(-1, "Failed creating datastore ids_n3_pointControlEquipmentOutput") return -1 end if ids_n3_pointControlEquipmentOutput.of_register(this) else ids_n3_pointControlEquipmentOutput.of_reset() end if //initialize the output file object ls_recordType = ids_n3_pointControlEquipmentOutput.of_getNeiRecordType() ls_fileName = this.of_getFileName(is_souDAT*rceTypeCode, ls_recordType) if ls_fileName = "?" then return -1 end if ids_n3_pointControlEquipmentOutput.of_setNeiFileName(ls_fileName) end if //create Area Control Equipment record datastore if this.of_getRun() then //create or reset the output file object if not isValid(ids_n3_areaControlEquipmentOutput) then ids_n3_areaControlEquipmentOutput = create n_ds_nei_n3_exp_area_control_equipment if not isValid(ids_n3_areaControlEquipmentOutput) then signalErDAT*ror(-1, "Failed creating datastore ids_n3_areaControlEquipmentOutput") return -1 end if ids_n3_areaControlEquipmentOutput.of_register(this) else ids_n3_areaControlEquipmentOutput.of_reset() end if //initialize the output file object ls_recordType = ids_n3_areaControlEquipmentOutput.of_getNeiRecordType() ls_fileName = this.of_getFileName(is_sourceTypeCode, ls_recordType) if ls_fileName = "?" then return -1 end if ids_n3_areaControlEquipmentOutpuDAT*t.of_setNeiFileName(ls_fileName) end if //*** EMISSIONS OUTPUT FORMAT *** //create Point Emissions record datastore if this.of_getRun() then //create or reset the output file object if not isValid(ids_n3_pointEmissionOutput) then ids_n3_pointEmissionOutput = create n_ds_nei_n3_exp_point_emission if not isValid(ids_n3_pointEmissionOutput) then signalError(-1, "Failed creating datastore ids_n3_pointEmissionOutput") return -1 end if ids_n3_pointEmissionDAT*Output.of_register(this) else ids_n3_pointEmissionOutput.of_reset() end if //initialize the output file object ls_recordType = ids_n3_pointEmissionOutput.of_getNeiRecordType() ls_fileName = this.of_getFileName(is_sourceTypeCode, ls_recordType) if ls_fileName = "?" then return -1 end if ids_n3_pointEmissionOutput.of_setNeiFileName(ls_fileName) end if //create Area Emissions record datastore if this.of_getRun() then //create or reset the output DAT*file object if not isValid(ids_n3_areaEmissionOutput) then ids_n3_areaEmissionOutput = create n_ds_nei_n3_exp_area_emission if not isValid(ids_n3_areaEmissionOutput) then signalError(-1, "Failed creating datastore ids_n3_areaEmissionOutput") return -1 end if ids_n3_areaEmissionOutput.of_register(this) else ids_n3_areaEmissionOutput.of_reset() end if //initialize the output file object ls_recordType = ids_n3_areaEmissionOutput.of_getNeiRecordTDAT*ype() ls_fileName = this.of_getFileName(is_sourceTypeCode, ls_recordType) if ls_fileName = "?" then return -1 end if ids_n3_areaEmissionOutput.of_setNeiFileName(ls_fileName) end if //create On-road Emissions record datastore if this.of_getRun() then //create or reset the output file object if not isValid(ids_n3_onroadEmissionOutput) then ids_n3_onroadEmissionOutput = create n_ds_nei_n3_exp_onroad_emission if not isValid(ids_n3_onroadEmissionOutput) then DAT* signalError(-1, "Failed creating datastore ids_n3_onroadEmissionOutput") return -1 end if ids_n3_onroadEmissionOutput.of_register(this) else ids_n3_onroadEmissionOutput.of_reset() end if //initialize the output file object ls_recordType = ids_n3_onroadEmissionOutput.of_getNeiRecordType() ls_fileName = this.of_getFileName(is_sourceTypeCode, ls_recordType) if ls_fileName = "?" then return -1 end if ids_n3_onroadEmissionOutput.of_setNeiFileName(lDAT*s_fileName) end if //*** EMISSION PERIOD OUTPUT FORMAT *** //create Point Emission Period record datastore if this.of_getRun() then //create or reset the output file object if not isValid(ids_n3_pointEmissionPeriodOutput) then ids_n3_pointEmissionPeriodOutput = create n_ds_nei_n3_exp_point_emission_period if not isValid(ids_n3_pointEmissionPeriodOutput) then signalError(-1, "Failed creating datastore ids_n3_pointEmissionPeriodOutput") return -1 end if DAT* ids_n3_pointEmissionPeriodOutput.of_register(this) else ids_n3_pointEmissionPeriodOutput.of_reset() end if //initialize the output file object ls_recordType = ids_n3_pointEmissionPeriodOutput.of_getNeiRecordType() ls_fileName = this.of_getFileName(is_sourceTypeCode, ls_recordType) if ls_fileName = "?" then return -1 end if ids_n3_pointEmissionPeriodOutput.of_setNeiFileName(ls_fileName) end if //create Area Emission Period record datastore if thisDAT*.of_getRun() then //create or reset the output file object if not isValid(ids_n3_areaEmissionPeriodOutput) then ids_n3_areaEmissionPeriodOutput = create n_ds_nei_n3_exp_area_emission_period if not isValid(ids_n3_areaEmissionPeriodOutput) then signalError(-1, "Failed creating datastore ids_n3_areaEmissionPeriodOutput") return -1 end if ids_n3_areaEmissionPeriodOutput.of_register(this) else ids_n3_areaEmissionPeriodOutput.of_reset() end if /DAT*/initialize the output file object ls_recordType = ids_n3_areaEmissionPeriodOutput.of_getNeiRecordType() ls_fileName = this.of_getFileName(is_sourceTypeCode, ls_recordType) if ls_fileName = "?" then return -1 end if ids_n3_areaEmissionPeriodOutput.of_setNeiFileName(ls_fileName) end if //create On-road Emission Period record datastore if this.of_getRun() then //create or reset the output file object if not isValid(ids_n3_onroadEmissionPeriodOutput) then ids_nDAT*3_onroadEmissionPeriodOutput = create n_ds_nei_n3_exp_onroad_emission_period if not isValid(ids_n3_onroadEmissionPeriodOutput) then signalError(-1, "Failed creating datastore ids_n3_onroadEmissionPeriodOutput") return -1 end if ids_n3_onroadEmissionPeriodOutput.of_register(this) else ids_n3_onroadEmissionPeriodOutput.of_reset() end if //initialize the output file object ls_recordType = ids_n3_onroadEmissionPeriodOutput.of_getNeiRecordType() ls_fileNDAT*ame = this.of_getFileName(is_sourceTypeCode, ls_recordType) if ls_fileName = "?" then return -1 end if ids_n3_onroadEmissionPeriodOutput.of_setNeiFileName(ls_fileName) end if //*** EMISSION PROCESS OUTPUT FORMAT *** //create Point Emission Process record datastore if this.of_getRun() then //create or reset the output file object if not isValid(ids_n3_pointEmissionProcessOutput) then ids_n3_pointEmissionProcessOutput = create n_ds_nei_n3_exp_point_emission_proDAT*cess if not isValid(ids_n3_pointEmissionProcessOutput) then signalError(-1, "Failed creating datastore ids_n3_pointEmissionProcessOutput") return -1 end if ids_n3_pointEmissionProcessOutput.of_register(this) else ids_n3_pointEmissionProcessOutput.of_reset() end if //initialize the output file object ls_recordType = ids_n3_pointEmissionProcessOutput.of_getNeiRecordType() ls_fileName = this.of_getFileName(is_sourceTypeCode, ls_recordType) if ls_fileDAT*Name = "?" then return -1 end if ids_n3_pointEmissionProcessOutput.of_setNeiFileName(ls_fileName) end if //create Area Emission Process record datastore if this.of_getRun() then //create or reset the output file object if not isValid(ids_n3_areaEmissionProcessOutput) then ids_n3_areaEmissionProcessOutput = create n_ds_nei_n3_exp_area_emission_process if not isValid(ids_n3_areaEmissionProcessOutput) then signalError(-1, "Failed creating datastore ids_n3_areaDAT*EmissionProcessOutput") return -1 end if ids_n3_areaEmissionProcessOutput.of_register(this) else ids_n3_areaEmissionProcessOutput.of_reset() end if //initialize the output file object ls_recordType = ids_n3_areaEmissionProcessOutput.of_getNeiRecordType() ls_fileName = this.of_getFileName(is_sourceTypeCode, ls_recordType) if ls_fileName = "?" then return -1 end if ids_n3_areaEmissionProcessOutput.of_setNeiFileName(ls_fileName) end if reDAT*turn 1 end event event type long ue_nif2_export();long ll_prevCountyRid, ll_countyErrorRid, ll_exp, ll_sourcesForCounty, ll_rc, ll_sourceCount integer li_fileType string ls_fileType, ls_primarySiteFilter //************************************************************************* //BEGIN MAIN EXPORT PROCESSING //************************************************************************* if this.of_getRun() then ll_prevCountyRid = -1 ll_countyErrorRid = -1 //loop through file tDAT*ypes represented in the current user selections for li_fileType = 1 to upperBound(is_fileTypes) if not this.of_getRun() then exit end if ll_exp = 0 ll_sourcesForCounty = 0 ls_fileType = is_fileTypes[li_fileType] //validate the file type and set instance variables choose case upper(ls_fileType) case "NEI_POINT" ii_formatType = ii_point is_sourceType = "POINT" //ls_sourceTypeColumn = "point_flag" is_sourceTypeValue = "F" is_sourceTypDAT*eCode = "PT" is_sourceTypeLog = "POINT SOURCES" is_sourceTypeLogMid = "Point Source" case "NEI_AREA" ii_formatType = ii_area is_sourceType = "AREA" //ls_sourceTypeColumn = "area_flag" is_sourceTypeValue = "A" is_sourceTypeCode = "AR" is_sourceTypeLog = "AREA SOURCES" is_sourceTypeLogMid = "Area Source" case "NEI_ONROAD" ii_formatType = ii_mobile is_sourceType = "ON-ROAD MOBILE" //ls_sourceTypeColumn = "onroad_flag" is_sourceTDAT*ypeValue = "M" is_sourceTypeCode = "OR" is_sourceTypeLog = "ON-ROAD SOURCES" is_sourceTypeLogMid = "On-road Source" case "NEI_NONROAD" ii_formatType = ii_area is_sourceType = "NON-ROAD MOBILE" //ls_sourceTypeColumn = "nonroad_flag" is_sourceTypeValue = "N' or type = 'L' or type = 'X" //specially quoted string for filtering multiple types is_sourceTypeCode = "NR" is_sourceTypeLog = "NON-ROAD SOURCES" is_sourceTypeLogMid = "Non-road Source" cDAT*ase else signalError(-1, "Invalid file type '" + ls_fileType + "'") return -1 end choose //filter the source buffer for the current rapids source type ls_primarySiteFilter = "type = '" + is_sourceTypeValue + "'" ids_source.of_setFilterLock(false) ll_rc = ids_source.of_Filter(ls_primarySiteFilter) ids_source.of_setFilterLock(true) if ll_rc < 0 then return -1 end if ll_sourceCount = ids_source.rowCount() //log the start of current source DAT*type this.of_writeLogMessage("") this.of_writeLogMessage(fill("-", ii_logLineLength)) this.of_writeLogMessage("BEGINNING Export: " + is_sourceTypeLog) this.of_writeLogMessage(fill("-", ii_logLineLength)) this.of_writeLogMessage(string(ll_sourceCount) + " " + is_sourceTypeLog + " Selected for Export") this.of_writeLogMessage("") if ll_sourceCount <= 0 then continue end if ids_primarykey.reset() this.of_writeStatusMessage("Beginning Export: " + is_sourDAT*ceTypeLog) //******************************************************************** //BEGIN SOURCE LOOP //loop through the sources for the current format type //and run export for each record type for il_sourceRow = 1 to ll_sourceCount if not this.of_getRun() then exit end if //set control values il_countyRid = ids_source.object.county_rid[il_sourceRow] il_sourceRid = ids_source.object.source_rid[il_sourceRow] il_sourceRidArray = {il_sDAT*ourceRid} is_sourceID = ids_source.object.id[il_sourceRow] is_siteID = ids_source.object.site_id[il_sourceRow] //clear the output data files, and set the proper nei file names if this.of_getRun() then ll_exp = this.of_resetOutputFiles() if ll_exp < 0 then this.of_setRun(false) end if end if //DO COUNTY LEVEL PROCESSING if this.of_getRun() then if il_countyRid <> ll_prevCountyRid then //if there waDAT*s an error for this county, skip it if il_countyRid = ll_countyErrorRid then continue end if is_countyName = ids_source.object.county_name[il_sourceRow] //county fips is_countyFIPS = trim(string(this.of_getActivityData("county", il_countyRid, of_checkMetric('FIPS CODE', 'COUNTY'), "value"))) if isNull(is_countyFIPS) then //ERROR: log missing county fips this.of_writeLogMessageError("Missing COUNTY FIPS CODE for County: " +& DAT* f_msgstring(is_countyName) + ". Skipping County.") ll_countyErrorRid = il_countyRid continue end if ll_sourcesForCounty = 0 end if ll_prevCountyRid = il_countyRid end if //LOAD CACHE DATASTORES FOR CURRENT SOURCE if this.of_getRun() then this.of_writeStatusMessage("Loading " + is_sourceTypeLog + ": " + is_sourceID) this.of_writeLogMessage("Loading data for Source ID: " + is_sourceID) DAT* ll_exp = this.of_loadCacheBlockData(il_sourceRow) if ll_exp < 0 then this.of_setRun(false) elseif ll_exp = 0 then //no emissions for source if ids_emissions.rowCount() = 0 then continue //skip source end if end if end if //EXPORT SITE record, if necessary if this.of_getRun() then this.of_writeStatusMessage("Exporting " + is_sourceTypeLog + ": " + is_sourceID) this.of_writeLogMessaDAT* ge("Exporting data for Source ID: " + is_sourceID) if ii_formatType = ii_point then this.of_writeLogMessageStart(ids_siteOutput) ll_exp = this.of_exportSite() if ll_exp < 0 then this.of_setRun(false) elseif ll_exp = 0 then this.of_writeLogMessageMidCount(ids_siteOutput, ll_exp, is_sourceTypeLogMid + " Site Export File") this.of_writeLogMessageEnd(ids_siteOutput) continue //skip source end if this.of_writeLogMessageMidCountDAT* (ids_siteOutput, ll_exp, is_sourceTypeLogMid + " Site Export File") this.of_writeLogMessageEnd(ids_siteOutput) end if end if //EXPORT EMISSION UNIT records for current site, if necessary if this.of_getRun() then if ii_formatType = ii_point then this.of_writeLogMessageStart(ids_emissionUnitOutput) ll_exp = this.of_exportEU() if ll_exp < 0 then this.of_setRun(false) end if this.of_writeLogMessageMidCount(idsDAT*_emissionUnitOutput, ll_exp, is_sourceTypeLogMid + " Emission Unit Export File") this.of_writeLogMessageEnd(ids_emissionUnitOutput) end if end if //EXPORT EMISSION PROCESS records for current site, if necessary if this.of_getRun() then if ii_formatType = ii_point then this.of_writeLogMessageStart(ids_pointEmissionProcessOutput) ll_exp = this.of_exportEP() if ll_exp < 0 then this.of_setRun(false) end if DAT* this.of_writeLogMessageMidCount(ids_pointEmissionProcessOutput, ll_exp, is_sourceTypeLogMid + " Emission Process Export File") this.of_writeLogMessageEnd(ids_pointEmissionProcessOutput) end if if ii_formatType = ii_area then this.of_writeLogMessageStart(ids_areaEmissionProcessOutput) ll_exp = this.of_exportEP_area() if ll_exp < 0 then this.of_setRun(false) end if this.of_writeLogMessageMidCount(ids_areaEmissionProcessOutput, ll_exp, iDAT*s_sourceTypeLogMid + " Emission Process Export File") this.of_writeLogMessageEnd(ids_areaEmissionProcessOutput) end if end if //EXPORT EMISSION RELEASE POINT records for current site, if necessary if this.of_getRun() then if ii_formatType = ii_point then this.of_writeLogMessageStart(ids_emissionReleasePtOutput) ll_exp = this.of_exportER() if ll_exp < 0 then this.of_setRun(false) end if this.of_writeLogMessageMidCounDAT*t(ids_emissionReleasePtOutput, ll_exp, is_sourceTypeLogMid + " Emission Release Point Export File") this.of_writeLogMessageEnd(ids_emissionReleasePtOutput) end if end if //EXPORT CONTROL EQUIPMENT records for current site, if necessary if this.of_getRun() then if ii_formatType = ii_point then this.of_writeLogMessageStart(ids_PointControlEquipmentOutput) ll_exp = this.of_exportCE() if ll_exp < 0 then this.of_setRun(false) DAT*end if this.of_writeLogMessageMidCount(ids_PointControlEquipmentOutput, ll_exp, is_sourceTypeLogMid + " Control Equipment Export File") this.of_writeLogMessageEnd(ids_PointControlEquipmentOutput) end if if ii_formatType = ii_area then this.of_writeLogMessageStart(ids_areaControlEquipmentOutput) ll_exp = this.of_exportCE_area() if ll_exp < 0 then this.of_setRun(false) end if this.of_writeLogMessageMidCount(ids_areaControlEquipmentOutDAT*put, ll_exp, is_sourceTypeLogMid + " Control Equipment Export File") this.of_writeLogMessageEnd(ids_areaControlEquipmentOutput) end if end if //EXPORT EMISSION PERIOD records for current site, if necessary if this.of_getRun() then if ii_formatType = ii_point then this.of_writeLogMessageStart(ids_PointEmissionPeriodOutput) ll_exp = this.of_exportpe_processdatalevel() if ll_exp < 0 then this.of_setRun(false) end if thDAT*is.of_writeLogMessageMidCount(ids_PointEmissionPeriodOutput, ll_exp, is_sourceTypeLogMid + " Emission Period for Process Data Level Export File") ll_exp = this.of_exportpe_sitedatalevel() if ll_exp < 0 then this.of_setRun(false) end if this.of_writeLogMessageMidCount(ids_PointEmissionPeriodOutput, ll_exp, is_sourceTypeLogMid + " Emission Period for Site Data Level Export File") this.of_writeLogMessageEnd(ids_PointEmissionPeriodOutput) end if DAT* if ii_formatType = ii_area then this.of_writeLogMessageStart(ids_areaEmissionPeriodOutput) ll_exp = this.of_exportpe_area() if ll_exp < 0 then this.of_setRun(false) end if this.of_writeLogMessageMidCount(ids_areaEmissionPeriodOutput, ll_exp, is_sourceTypeLogMid + " Emission Period Export File") this.of_writeLogMessageEnd(ids_areaEmissionPeriodOutput) end if if ii_formatType = ii_mobile then this.of_writeLogMessageStart(ids_onroadEmiDAT*ssionPeriodOutput) ll_exp = this.of_exportpe_onroad() if ll_exp < 0 then this.of_setRun(false) end if this.of_writeLogMessageMidCount(ids_onroadEmissionPeriodOutput, ll_exp, is_sourceTypeLogMid + " Emission Period Export File") this.of_writeLogMessageEnd(ids_onroadEmissionPeriodOutput) end if end if //EXPORT EMISSION records for current site, if necessary if this.of_getRun() then if ii_formatType = ii_point then this.oDAT* f_writeLogMessageStart(ids_PointEmissionOutput) ll_exp = this.of_exportem_processdatalevel() if ll_exp < 0 then this.of_setRun(false) end if this.of_writeLogMessageMidCount(ids_PointEmissionOutput, ll_exp, is_sourceTypeLogMid + " Emission for Process Data Level Export File") ll_exp = this.of_exportem_sitedatalevel() if ll_exp < 0 then this.of_setRun(false) end if this.of_writeLogMessageMidCount(ids_PointEmissionOutput, ll_exp, is_sourcDAT*"eTypeLogMid + " Emission for Site Data Level Export File") this.of_writeLogMessageEnd(ids_PointEmissionOutput) end if if ii_formatType = ii_area then this.of_writeLogMessageStart(ids_areaEmissionOutput) ll_exp = this.of_exportem_area() if ll_exp < 0 then this.of_setRun(false) end if this.of_writeLogMessageMidCount(ids_areaEmissionOutput, ll_exp, is_sourceTypeLogMid + " Emission Export File") this.of_writeLogMessageEnd(ids_areDAT*$aEmissionOutput) end if if ii_formatType = ii_mobile then this.of_writeLogMessageStart(ids_onroadEmissionOutput) ll_exp = this.of_exportem_onroad() if ll_exp < 0 then this.of_setRun(false) end if this.of_writeLogMessageMidCount(ids_onroadEmissionOutput, ll_exp, is_sourceTypeLogMid + " Emission Export File") this.of_writeLogMessageEnd(ids_onroadEmissionOutput) end if end if //save all data files for source if thDAT*&is.of_getRun() then this.of_writeStatusMessage("Saving " + is_sourceTypeLog + ": " + is_sourceID) ll_exp = this.of_saveOutputFiles() if ll_exp < 0 then this.of_setRun(false) end if //save current log file ids_logFile.of_saveToFile(1) end if // //count number of sources written for current transmittal record ll_sourcesForCounty ++ // // //EXPORT transmittal record for current county, if we've exported the FIRST sourDAT*(ce (ll_sourcesForCounty = 1) in that county if ll_sourcesForCounty = 1 and this.of_getRun() then this.of_writeLogMessage("Exporting TRANSMITTAL RECORD for County: " + is_countyName) ll_exp = this.of_exportTransmittal() if ll_exp < 0 then this.of_setRun(false) end if // clean up the transmittal file (remove any duplicate records) // this is necessary if multiple runs are being performed in append mode if this.of_getRun() then ll_exDAT**p = ids_transmittalOutput.of_removeDuplicates() if ll_exp < 0 then this.of_setRun(false) end if end if end if //flush the dynamic cache datastores this.of_flushCache() //reset primary source cache, sort and filter in case any other functions changed them ids_source.of_setSortLock(false) ll_rc = ids_source.of_sort(is_sourceSortString) ids_source.of_setSortLock(true) if ll_rc < 0 then this.of_setRun(false) end if DAT*, ids_source.of_setFilterLock(false) ll_rc = ids_source.of_Filter(ls_primarySiteFilter) ids_source.of_setFilterLock(true) if ll_rc < 0 then this.of_setRun(false) end if garbagecollect() next //li_source //END SOURCE LOOP //******************************************************************** garbagecollect() next //li_fileType garbagecollect() //turn off filters on the source buffer if isValid(ids_source) then ids_source.of_setFilterLock(false)DAT*. ids_source.of_Filter("") ids_source.of_setFilterLock(true) end if if ib_debug then //set new file name for post processing ids_source.of_setFileName("ds_primary_site_post") ids_source.of_saveToFile(1) end if end if return 1 end event event type long ue_nif3_export();long ll_prevCountyRid, ll_countyErrorRid, ll_exp, ll_sourcesForCounty, ll_rc, ll_sourceCount integer li_fileType string ls_fileType, ls_primarySiteFilter, ls_prevtribalcode //********************DAT*0***************************************************** //BEGIN MAIN EXPORT PROCESSING //************************************************************************* if this.of_getRun() then ll_prevCountyRid = -1 ll_countyErrorRid = -1 ls_prevtribalcode = '' //loop through file types represented in the current user selections for li_fileType = 1 to upperBound(is_fileTypes) if not this.of_getRun() then exit end if ll_exp = 0 ll_sourcesForCounty = 0 ls_fileTypDAT*2e = is_fileTypes[li_fileType] //validate the file type and set instance variables choose case upper(ls_fileType) case "NEI_POINT" ii_formatType = ii_point is_sourceType = "POINT" //ls_sourceTypeColumn = "point_flag" is_sourceTypeValue = "F" is_sourceTypeCode = "PT" is_sourceTypeLog = "POINT SOURCES" is_sourceTypeLogMid = "Point Source" case "NEI_AREA" ii_formatType = ii_area is_sourceType = "AREA" //ls_sourceTypeColumn = "area_flaDAT*4g" is_sourceTypeValue = "A" is_sourceTypeCode = "AR" is_sourceTypeLog = "AREA SOURCES" is_sourceTypeLogMid = "Area Source" case "NEI_ONROAD" ii_formatType = ii_mobile is_sourceType = "ON-ROAD MOBILE" //ls_sourceTypeColumn = "onroad_flag" is_sourceTypeValue = "M" is_sourceTypeCode = "OR" is_sourceTypeLog = "ON-ROAD SOURCES" is_sourceTypeLogMid = "On-road Source" case "NEI_NONROAD" ii_formatType = ii_area is_sourceType = "NON-RDAT*6OAD MOBILE" //ls_sourceTypeColumn = "nonroad_flag" is_sourceTypeValue = "N' or type = 'L' or type = 'X" //specially quoted string for filtering multiple types is_sourceTypeCode = "NR" is_sourceTypeLog = "NON-ROAD SOURCES" is_sourceTypeLogMid = "Non-road Source" case else signalError(-1, "Invalid file type '" + ls_fileType + "'") return -1 end choose //filter the source buffer for the current rapids source type ls_primarySiteFilter = "type = '" + isDAT*8_sourceTypeValue + "'" ids_source.of_setFilterLock(false) ll_rc = ids_source.of_Filter(ls_primarySiteFilter) ids_source.of_setFilterLock(true) if ll_rc < 0 then return -1 end if ll_sourceCount = ids_source.rowCount() //log the start of current source type this.of_writeLogMessage("") this.of_writeLogMessage(fill("-", ii_logLineLength)) this.of_writeLogMessage("BEGINNING Export: " + is_sourceTypeLog) this.of_writeLogMessage(fill("-", ii_logLineLeDAT*:ngth)) this.of_writeLogMessage(string(ll_sourceCount) + " " + is_sourceTypeLog + " Selected for Export") this.of_writeLogMessage("") if ll_sourceCount <= 0 then continue end if ids_primarykey.reset() this.of_writeStatusMessage("Beginning Export: " + is_sourceTypeLog) //******************************************************************** //BEGIN SOURCE LOOP //loop through the sources for the current format type //and run export for each recorDAT*<d type for il_sourceRow = 1 to ll_sourceCount if not this.of_getRun() then exit end if //set control values il_countyRid = ids_source.object.county_rid[il_sourceRow] il_sourceRid = ids_source.object.source_rid[il_sourceRow] il_sourceRidArray = {il_sourceRid} is_sourceID = ids_source.object.id[il_sourceRow] is_siteID = ids_source.object.site_id[il_sourceRow] is_tribalcode = ids_source.object.tribal_code[il_sourceRow] //clear the ouDAT*>tput data files, and set the proper nei file names if this.of_getRun() then ll_exp = this.of_resetOutputFiles() if ll_exp < 0 then this.of_setRun(false) end if end if //DO COUNTY LEVEL PROCESSING if this.of_getRun() then if il_countyRid <> ll_prevCountyRid then //if there was an error for this county, skip it if il_countyRid = ll_countyErrorRid then continue end if is_countyName = ids_soDAT*@urce.object.county_name[il_sourceRow] //county fips is_countyFIPS = trim(string(this.of_getActivityData("county", il_countyRid, of_checkMetric('FIPS CODE', 'COUNTY'), "value"))) if isNull(is_countyFIPS) then //ERROR: log missing county fips this.of_writeLogMessageError("Missing COUNTY FIPS CODE for County: " +& f_msgstring(is_countyName) + ". Skipping County.") ll_countyErrorRid = il_countyRid continue end if is_statecounDAT*BtyFIPS =is_statefips + is_countyFIPS ll_sourcesForCounty = 0 end if ll_prevCountyRid = il_countyRid end if //LOAD CACHE DATASTORES FOR CURRENT SOURCE if this.of_getRun() then this.of_writeStatusMessage("Loading " + is_sourceTypeLog + ": " + is_sourceID) this.of_writeLogMessage("Loading data for Source ID: " + is_sourceID) ll_exp = this.of_loadCacheBlockData(il_sourceRow) if ll_exp < 0 then this.oDAT*Df_setRun(false) elseif ll_exp = 0 then //no emissions for source if ids_emissions.rowCount() = 0 then continue //skip source end if end if end if //EXPORT SITE record, if necessary if this.of_getRun() then this.of_writeStatusMessage("Exporting " + is_sourceTypeLog + ": " + is_sourceID) this.of_writeLogMessage("Exporting data for Source ID: " + is_sourceID) if ii_formatType = ii_point thDAT*Fen this.of_writeLogMessageStart(ids_n3_siteOutput) ll_exp = this.of_n3_exportSite() if ll_exp < 0 then this.of_setRun(false) elseif ll_exp = 0 then this.of_writeLogMessageMidCount(ids_n3_siteOutput, ll_exp, is_sourceTypeLogMid + " Site Export File") this.of_writeLogMessageEnd(ids_n3_siteOutput) continue //skip source end if this.of_writeLogMessageMidCount(ids_n3_siteOutput, ll_exp, is_sourceTypeLogMid + " Site Export File") DAT*H this.of_writeLogMessageEnd(ids_n3_siteOutput) end if end if //EXPORT EMISSION UNIT records for current site, if necessary if this.of_getRun() then if ii_formatType = ii_point then this.of_writeLogMessageStart(ids_n3_emissionUnitOutput) ll_exp = this.of_n3_exportEU() if ll_exp < 0 then this.of_setRun(false) end if this.of_writeLogMessageMidCount(ids_n3_emissionUnitOutput, ll_exp, is_sourceTypeLogMid + " EmissiDAT*Jon Unit Export File") this.of_writeLogMessageEnd(ids_n3_emissionUnitOutput) end if end if //EXPORT EMISSION PROCESS records for current site, if necessary if this.of_getRun() then if ii_formatType = ii_point then this.of_writeLogMessageStart(ids_n3_pointEmissionProcessOutput) ll_exp = this.of_n3_exportEP() if ll_exp < 0 then this.of_setRun(false) end if this.of_writeLogMessageMidCount(ids_n3_pointEmDAT*LissionProcessOutput, ll_exp, is_sourceTypeLogMid + " Emission Process Export File") this.of_writeLogMessageEnd(ids_n3_pointEmissionProcessOutput) end if if ii_formatType = ii_area then this.of_writeLogMessageStart(ids_n3_areaEmissionProcessOutput) ll_exp = this.of_n3_exportEP_area() if ll_exp < 0 then this.of_setRun(false) end if this.of_writeLogMessageMidCount(ids_n3_areaEmissionProcessOutput, ll_exp, is_sourceTypeLogMid + " Emission ProDAT*Ncess Export File") this.of_writeLogMessageEnd(ids_n3_areaEmissionProcessOutput) end if end if //EXPORT EMISSION RELEASE POINT records for current site, if necessary if this.of_getRun() then if ii_formatType = ii_point then this.of_writeLogMessageStart(ids_n3_emissionReleasePtOutput) ll_exp = this.of_n3_exportER() if ll_exp < 0 then this.of_setRun(false) end if this.of_writeLogMessageMidCount(ids_n3_emissionReleasePtDAT*POutput, ll_exp, is_sourceTypeLogMid + " Emission Release Point Export File") this.of_writeLogMessageEnd(ids_n3_emissionReleasePtOutput) end if end if //EXPORT CONTROL EQUIPMENT records for current site, if necessary if this.of_getRun() then if ii_formatType = ii_point then this.of_writeLogMessageStart(ids_n3_PointControlEquipmentOutput) ll_exp = this.of_n3_exportCE() if ll_exp < 0 then this.of_setRun(false) end if tDAT*Rhis.of_writeLogMessageMidCount(ids_n3_PointControlEquipmentOutput, ll_exp, is_sourceTypeLogMid + " Control Equipment Export File") this.of_writeLogMessageEnd(ids_n3_PointControlEquipmentOutput) end if if ii_formatType = ii_area then this.of_writeLogMessageStart(ids_n3_areaControlEquipmentOutput) ll_exp = this.of_n3_exportCE_area() if ll_exp < 0 then this.of_setRun(false) end if this.of_writeLogMessageMidCount(ids_n3_areaControlEquipmentOuDAT*Ttput, ll_exp, is_sourceTypeLogMid + " Control Equipment Export File") this.of_writeLogMessageEnd(ids_n3_areaControlEquipmentOutput) end if end if //EXPORT EMISSION PERIOD records for current site, if necessary if this.of_getRun() then if ii_formatType = ii_point then this.of_writeLogMessageStart(ids_n3_PointEmissionPeriodOutput) ll_exp = this.of_n3_exportpe_processdatalevel() if ll_exp < 0 then this.of_setRun(false) end iDAT*Vf this.of_writeLogMessageMidCount(ids_n3_PointEmissionPeriodOutput, ll_exp, is_sourceTypeLogMid + " Emission Period for Process Data Level Export File") ll_exp = this.of_n3_exportpe_sitedatalevel() if ll_exp < 0 then this.of_setRun(false) end if this.of_writeLogMessageMidCount(ids_n3_PointEmissionPeriodOutput, ll_exp, is_sourceTypeLogMid + " Emission Period for Site Data Level Export File") this.of_writeLogMessageEnd(ids_n3_PointEmissionPeriodOutput) DAT*X end if if ii_formatType = ii_area then this.of_writeLogMessageStart(ids_n3_areaEmissionPeriodOutput) ll_exp = this.of_n3_exportpe_area() if ll_exp < 0 then this.of_setRun(false) end if this.of_writeLogMessageMidCount(ids_n3_areaEmissionPeriodOutput, ll_exp, is_sourceTypeLogMid + " Emission Period Export File") this.of_writeLogMessageEnd(ids_n3_areaEmissionPeriodOutput) end if if ii_formatType = ii_mobile then this.of_DAT*ZwriteLogMessageStart(ids_n3_onroadEmissionPeriodOutput) ll_exp = this.of_n3_exportpe_onroad() if ll_exp < 0 then this.of_setRun(false) end if this.of_writeLogMessageMidCount(ids_n3_onroadEmissionPeriodOutput, ll_exp, is_sourceTypeLogMid + " Emission Period Export File") this.of_writeLogMessageEnd(ids_n3_onroadEmissionPeriodOutput) end if end if //EXPORT EMISSION records for current site, if necessary if this.of_getRun() then DAT*\ if ii_formatType = ii_point then this.of_writeLogMessageStart(ids_n3_PointEmissionOutput) ll_exp = this.of_n3_exportem_processdatalevel() if ll_exp < 0 then this.of_setRun(false) end if this.of_writeLogMessageMidCount(ids_n3_PointEmissionOutput, ll_exp, is_sourceTypeLogMid + " Emission for Process Data Level Export File") ll_exp = this.of_n3_exportem_sitedatalevel() if ll_exp < 0 then this.of_setRun(false) end if this.of_writeLoDAT*^gMessageMidCount(ids_n3_PointEmissionOutput, ll_exp, is_sourceTypeLogMid + " Emission for Site Data Level Export File") this.of_writeLogMessageEnd(ids_n3_PointEmissionOutput) end if if ii_formatType = ii_area then this.of_writeLogMessageStart(ids_n3_areaEmissionOutput) ll_exp = this.of_n3_exportem_area() if ll_exp < 0 then this.of_setRun(false) end if this.of_writeLogMessageMidCount(ids_n3_areaEmissionOutput, ll_exp, is_sourceTypeLoDAT*`gMid + " Emission Export File") this.of_writeLogMessageEnd(ids_n3_areaEmissionOutput) end if if ii_formatType = ii_mobile then this.of_writeLogMessageStart(ids_n3_onroadEmissionOutput) ll_exp = this.of_n3_exportem_onroad() if ll_exp < 0 then this.of_setRun(false) end if this.of_writeLogMessageMidCount(ids_n3_onroadEmissionOutput, ll_exp, is_sourceTypeLogMid + " Emission Export File") this.of_writeLogMessageEnd(ids_n3_onroadEmissionDAT*bOutput) end if end if //save all data files for source if this.of_getRun() then this.of_writeStatusMessage("Saving " + is_sourceTypeLog + ": " + is_sourceID) ll_exp = this.of_saveOutputFiles() if ll_exp < 0 then this.of_setRun(false) end if //save current log file ids_logFile.of_saveToFile(1) end if // //count number of sources written for current transmittal record ll_sourcesForCounty +DAT*d+ // // //EXPORT transmittal record for current county, if we've exported the FIRST source (ll_sourcesForCounty = 1) in that county if ll_sourcesForCounty = 1 and this.of_getRun() then this.of_writeLogMessage("Exporting TRANSMITTAL RECORD for County: " + is_countyName) ll_exp = this.of_n3_exportTransmittal() if ll_exp < 0 then this.of_setRun(false) end if // clean up the transmittal file (remove any duplicate records) // this is necesDAT*fsary if multiple runs are being performed in append mode if this.of_getRun() then ll_exp = ids_n3_transmittalOutput.of_removeDuplicates() if ll_exp < 0 then this.of_setRun(false) end if end if end if //flush the dynamic cache datastores this.of_flushCache() //reset primary source cache, sort and filter in case any other functions changed them ids_source.of_setSortLock(false) ll_rc = ids_source.of_sort(is_sourceSortString) DAT*h ids_source.of_setSortLock(true) if ll_rc < 0 then this.of_setRun(false) end if ids_source.of_setFilterLock(false) ll_rc = ids_source.of_Filter(ls_primarySiteFilter) ids_source.of_setFilterLock(true) if ll_rc < 0 then this.of_setRun(false) end if garbagecollect() next //li_source //END SOURCE LOOP //******************************************************************** garbagecollect() next //li_fileType garbagecollect() //turDAT*jn off filters on the source buffer if isValid(ids_source) then ids_source.of_setFilterLock(false) ids_source.of_Filter("") ids_source.of_setFilterLock(true) end if if ib_debug then //set new file name for post processing ids_source.of_setFileName("ds_primary_site_post") ids_source.of_saveToFile(1) end if end if return 1 end event event type integer ue_nif2_loadtransmittaluserinput();integer li_submissionNumber string ls_submittalFlag string ls_empty = "" sDAT*ltring ls_filesystemversion ls_filesystemversion = "nei_" //LOAD INI FILE TRANSMITTAL INFORMATION //create a row in the transmittal user input datastore if isValid(ids_transmittalUserInput) then if ids_transmittalUserInput.rowCount() = 0 then ids_transmittalUserInput.insertRow(0) end if else return -1 end if //enter the current NEI record format version ids_transmittalUserInput.object.format_version[1] = "2.0" //read the most recently used user data for transmittal recorDAT*nds ids_transmittalUserInput.object.organization_name[1] = trim(profileString(gs_iniFile, "export", ls_filesystemversion + "organization_name", ls_empty)) ids_transmittalUserInput.object.transaction_type[1] = trim(profileString(gs_iniFile, "export", ls_filesystemversion + "transaction_type", ls_empty)) ids_transmittalUserInput.object.inventory_type_code[1] = trim(profileString(gs_iniFile, "export", ls_filesystemversion + "inventory_type_code", ls_empty)) ids_transmittalUserInput.objeDAT*pct.reliability_indicator[1] = trim(profileString(gs_iniFile, "export", ls_filesystemversion + "reliability_indicator", ls_empty)) ids_transmittalUserInput.object.transaction_comments[1] = trim(profileString(gs_iniFile, "export", ls_filesystemversion + "transaction_comments", ls_empty)) ids_transmittalUserInput.object.contact_person_name[1] = trim(profileString(gs_iniFile, "export", ls_filesystemversion + "contact_person_name", ls_empty)) ids_transmittalUserInput.object.contact_phone_nuDAT*rmber[1] = trim(profileString(gs_iniFile, "export", ls_filesystemversion + "contact_phone_number", ls_empty)) ids_transmittalUserInput.object.contact_fax_number[1] = trim(profileString(gs_iniFile, "export", ls_filesystemversion + "contact_fax_number", ls_empty)) ids_transmittalUserInput.object.contact_email_address[1] = trim(profileString(gs_iniFile, "export", "nei_contact_email_address", ls_empty)) ids_transmittalUserInput.object.contact_alternate_phone_number[1] = trim(profileString(DAT*tgs_iniFile, "export", ls_filesystemversion + "contact_alternate_phone_number", ls_empty)) ids_transmittalUserInput.object.contact_type_code[1] = trim(profileString(gs_iniFile, "export", ls_filesystemversion + "contact_type_code", ls_empty)) li_submissionNumber = profileInt(gs_iniFile, "export", ls_filesystemversion + "incremental_submission_number", -1) if li_submissionNumber < 0 or li_submissionNumber > 9999 then setNull(li_submissionNumber) end if ids_transmittalUserInput.object.incDAT*vremental_submission_number[1] = li_submissionNumber //read additional user input for nei input screen ids_transmittalUserInput.object.release_point_type[1] = trim(profileString(gs_iniFile, "export", ls_filesystemversion + "release_point_type", "01")) //default to fugitive (01) ids_transmittalUserInput.object.data_level[1] = trim(profileString(gs_iniFile, "export", ls_filesystemversion + "data_level", "PROCESS")) ids_transmittalUserInput.object.rollup_confidential[1] = trim(profileStrinDAT*xg(gs_iniFile, "export", ls_filesystemversion + "rollup_confidential", "Y")) ls_submittalFlag = trim(profileString(gs_iniFile, "export", ls_filesystemversion + "submittal_flag", ls_empty)) if isNull(ls_submittalFlag) or ls_submittalFlag = "" then setNull(ls_submittalFlag) end if ids_transmittalUserInput.object.submittal_flag[1] = ls_submittalFlag return 1 end event event type integer ue_nif3_loadtransmittaluserinput();integer li_submissionNumber string ls_empty = "" string ls_subDAT*zmittalFlag string ls_filesystemversion ls_filesystemversion = "nei_"+ lower(is_file_system_version) + "_" //LOAD INI FILE TRANSMITTAL INFORMATION //create a row in the transmittal user input datastore if isValid(ids_transmittalUserInput) then if ids_transmittalUserInput.rowCount() = 0 then ids_transmittalUserInput.insertRow(0) end if else return -1 end if //enter the current NEI record format version ids_transmittalUserInput.object.format_version[1] = "3.0" //read the DAT*|most recently used user data for transmittal records ids_transmittalUserInput.object.organization_name[1] = trim(profileString(gs_iniFile, "export", ls_filesystemversion + "organization_name", ls_empty)) ids_transmittalUserInput.object.transaction_type[1] = trim(profileString(gs_iniFile, "export", ls_filesystemversion + "transaction_type", ls_empty)) ids_transmittalUserInput.object.inventory_type_code[1] = trim(profileString(gs_iniFile, "export", ls_filesystemversion + "inventory_typDAT*~e_code", ls_empty)) li_submissionNumber = profileInt(gs_iniFile, "export", ls_filesystemversion + "incremental_submission_number", -1) if li_submissionNumber < 0 or li_submissionNumber > 9999 then setNull(li_submissionNumber) end if ids_transmittalUserInput.object.incremental_submission_number[1] = li_submissionNumber //ids_transmittalUserInput.object.reliability_indicator[1] = trim(profileString(gs_iniFile, "export", ls_filesystemversion + reliability_indicator", ls_empty)) ids_traDAT*nsmittalUserInput.object.transaction_comments[1] = trim(profileString(gs_iniFile, "export", ls_filesystemversion + "transaction_comments", ls_empty)) ids_transmittalUserInput.object.contact_person_name[1] = trim(profileString(gs_iniFile, "export", ls_filesystemversion + "contact_person_name", ls_empty)) ids_transmittalUserInput.object.contact_phone_number[1] = trim(profileString(gs_iniFile, "export", ls_filesystemversion + "contact_phone_number", ls_empty)) ids_transmittalUserInput.objDAT*ect.contact_phone_number_type[1] = trim(profileString(gs_iniFile, "export", ls_filesystemversion + "contact_phone_number_type", ls_empty)) ids_transmittalUserInput.object.electronic_address[1] = trim(profileString(gs_iniFile, "export", ls_filesystemversion + "electronic_address", ls_empty)) ids_transmittalUserInput.object.electronic_address_type[1] = trim(profileString(gs_iniFile, "export", ls_filesystemversion + "electronic_address_type", ls_empty)) ids_transmittalUserInput.object.affilDAT*iation_type[1] = trim(profileString(gs_iniFile, "export", ls_filesystemversion + "affiliation_type", ls_empty)) //read additional user input for nei input screen ids_transmittalUserInput.object.release_point_type[1] = trim(profileString(gs_iniFile, "export", ls_filesystemversion + "release_point_type", "01")) //default to fugitive (01) ids_transmittalUserInput.object.data_level[1] = trim(profileString(gs_iniFile, "export", ls_filesystemversion + "data_level", "PROCESS")) ids_transmiDAT*ttalUserInput.object.rollup_confidential[1] = trim(profileString(gs_iniFile, "export", ls_filesystemversion + "rollup_confidential", "Y")) ls_submittalFlag = trim(profileString(gs_iniFile, "export", ls_filesystemversion + "submittal_flag", ls_empty)) if isNull(ls_submittalFlag) or ls_submittalFlag = "" then setNull(ls_submittalFlag) end if ids_transmittalUserInput.object.submittal_flag[1] = ls_submittalFlag return 1 end event event type integer ue_nif3_savetransmittaluserinput();DAT*integer li_submissionNumber string ls_filesystemversion ls_filesystemversion = "nei_"+ lower(is_file_system_version) + "_" //save the most recently used user data for transmittal records setProfileString(gs_iniFile, "export", ls_filesystemversion + "organization_name", trim(ids_transmittalUserInput.object.organization_name[1])) setProfileString(gs_iniFile, "export", ls_filesystemversion + "transaction_type", trim(ids_transmittalUserInput.object.transaction_type[1])) setProfileString(gs_iDAT*niFile, "export", ls_filesystemversion + "inventory_type_code", trim(ids_transmittalUserInput.object.inventory_type_code[1])) setProfileString(gs_iniFile, "export", ls_filesystemversion + "transaction_comments", trim(ids_transmittalUserInput.object.transaction_comments[1])) setProfileString(gs_iniFile, "export", ls_filesystemversion + "contact_person_name", trim(ids_transmittalUserInput.object.contact_person_name[1])) setProfileString(gs_iniFile, "export", ls_filesystemversion + "contact_phone_DAT*number", trim(ids_transmittalUserInput.object.contact_phone_number[1])) setProfileString(gs_iniFile, "export", ls_filesystemversion + "contact_phone_number_type", trim(ids_transmittalUserInput.object.contact_phone_number_type[1])) setProfileString(gs_iniFile, "export", ls_filesystemversion + "electronic_address", trim(ids_transmittalUserInput.object.electronic_address[1])) setProfileString(gs_iniFile, "export", ls_filesystemversion + "electronic_address_type", trim(ids_transmittalUserInput.objeDAT*ct.electronic_address_type[1])) setProfileString(gs_iniFile, "export", ls_filesystemversion + "affiliation_type", trim(ids_transmittalUserInput.object.affiliation_type[1])) li_submissionNumber = ids_transmittalUserInput.object.incremental_submission_number[1] if li_submissionNumber < 0 or li_submissionNumber > 9999 then setProfileString(gs_iniFile, "export", ls_filesystemversion + "incremental_submission_number", "-1") else setProfileString(gs_iniFile, "export", ls_filesystemversion + "iDAT*ncremental_submission_number", string(li_submissionNumber)) end if //save additional user input from nei input screen setProfileString(gs_iniFile, "export", ls_filesystemversion + "release_point_type", trim(ids_transmittalUserInput.object.release_point_type[1])) setProfileString(gs_iniFile, "export", ls_filesystemversion + "data_level", trim(ids_transmittalUserInput.object.data_level[1])) setProfileString(gs_iniFile, "export", ls_filesystemversion + "rollup_confidential", trim(ids_transmittDAT*alUserInput.object.rollup_confidential[1])) setProfileString(gs_iniFile, "export", ls_filesystemversion + "submittal_flag", trim(ids_transmittalUserInput.object.submittal_flag[1])) return 1 end event event type integer ue_nif2_savetransmittaluserinput();integer li_submissionNumber string ls_filesystemversion ls_filesystemversion = "nei_" //save the most recently used user data for transmittal records setProfileString(gs_iniFile, "export", ls_filesystemversion + "organization_name",DAT* trim(ids_transmittalUserInput.object.organization_name[1])) setProfileString(gs_iniFile, "export", ls_filesystemversion + "transaction_type", trim(ids_transmittalUserInput.object.transaction_type[1])) setProfileString(gs_iniFile, "export", ls_filesystemversion + "inventory_type_code", trim(ids_transmittalUserInput.object.inventory_type_code[1])) setProfileString(gs_iniFile, "export", ls_filesystemversion + "reliability_indicator", trim(ids_transmittalUserInput.object.reliability_indicator[1]))DAT* setProfileString(gs_iniFile, "export", ls_filesystemversion + "transaction_comments", trim(ids_transmittalUserInput.object.transaction_comments[1])) setProfileString(gs_iniFile, "export", ls_filesystemversion + "contact_person_name", trim(ids_transmittalUserInput.object.contact_person_name[1])) setProfileString(gs_iniFile, "export", ls_filesystemversion + "contact_phone_number", trim(ids_transmittalUserInput.object.contact_phone_number[1])) setProfileString(gs_iniFile, "export", ls_filesystemDAT*version + "contact_fax_number", trim(ids_transmittalUserInput.object.contact_fax_number[1])) setProfileString(gs_iniFile, "export", ls_filesystemversion + "contact_email_address", trim(ids_transmittalUserInput.object.contact_email_address[1])) setProfileString(gs_iniFile, "export", ls_filesystemversion + "contact_alternate_phone_number", trim(ids_transmittalUserInput.object.contact_alternate_phone_number[1])) setProfileString(gs_iniFile, "export", ls_filesystemversion + "contact_type_code", triDAT*m(ids_transmittalUserInput.object.contact_type_code[1])) li_submissionNumber = ids_transmittalUserInput.object.incremental_submission_number[1] if li_submissionNumber < 0 or li_submissionNumber > 9999 then setProfileString(gs_iniFile, "export", ls_filesystemversion + "incremental_submission_number", "-1") else setProfileString(gs_iniFile, "export", ls_filesystemversion + "incremental_submission_number", string(li_submissionNumber)) end if //save additional user input from nei input scDAT*reen setProfileString(gs_iniFile, "export", ls_filesystemversion + "release_point_type", trim(ids_transmittalUserInput.object.release_point_type[1])) setProfileString(gs_iniFile, "export", ls_filesystemversion + "data_level", trim(ids_transmittalUserInput.object.data_level[1])) setProfileString(gs_iniFile, "export", ls_filesystemversion + "rollup_confidential", trim(ids_transmittalUserInput.object.rollup_confidential[1])) setProfileString(gs_iniFile, "export", ls_filesystemversion + "submittalDAT*_flag", trim(ids_transmittalUserInput.object.submittal_flag[1])) return 1 end event event type integer ue_nif3_validatetransmittaluserinput();/* VALIDATE TRANSMITTAL USER INPUN INFORMATION Return: -1 - Error 0 - validation failed 1 - validation passed */ long ll_value string ls_fieldList string ls_value string ls_empty = "" ls_fieldList = ls_empty //check other required NEI transmittal fields ls_value = trim(string(ids_transmittalUserInput.object.organization_naDAT*me[1])) if isNull(ls_value) or ls_value = ls_empty then ls_fieldList += " - Organization Name" + "~r~n" end if ls_value = trim(string(ids_transmittalUserInput.object.transaction_type[1])) if isNull(ls_value) or ls_value = ls_empty then ls_fieldList += " - Transaction Type" + "~r~n" end if ls_value = trim(string(ids_transmittalUserInput.object.inventory_type_code[1])) if isNull(ls_value) or ls_value = ls_empty then ls_fieldList += " - Inventory Type Code" + "~r~n" end if ll_DAT*value = long(ids_transmittalUserInput.object.incremental_submission_number[1]) if isNull(ll_value) or ll_value <= 0 then ls_fieldList += " - Incremental Submission Number" + "~r~n" end if ls_value = trim(string(ids_transmittalUserInput.object.contact_person_name[1])) if isNull(ls_value) or ls_value = ls_empty then ls_fieldList += " - Contact Person Name" + "~r~n" end if ls_value = trim(string(ids_transmittalUserInput.object.contact_phone_number[1])) if isNull(ls_value) or ls_valueDAT* = ls_empty then ls_fieldList += " - Contact Phone Number" + "~r~n" end if ls_value = trim(string(ids_transmittalUserInput.object.contact_phone_number_type[1])) if isNull(ls_value) or ls_value = ls_empty then ls_fieldList += " - Contact Phone Number Type" + "~r~n" end if ls_value = trim(string(ids_transmittalUserInput.object.electronic_address[1])) if isNull(ls_value) or ls_value = ls_empty then ls_fieldList += " - Electronic Address" + "~r~n" end if ls_value = trim(string(iDAT*ds_transmittalUserInput.object.electronic_address_type[1])) if isNull(ls_value) or ls_value = ls_empty then ls_fieldList += " - Electronic Address Type" + "~r~n" end if ls_value = trim(string(ids_transmittalUserInput.object.affiliation_type[1])) if isNull(ls_value) or ls_value = ls_empty then ls_fieldList += " - Affiliation Type" + "~r~n" end if ls_value = trim(string(ids_transmittalUserInput.object.format_version[1])) if isNull(ls_value) or ls_value = ls_empty then //this fieldDAT* is populated by the program, not the user messageBox("Error", "NEI Format Version cannot be blank.", exclamation!) return -1 end if //check additional user input for NEI input screen (string) ls_value = trim(string(ids_transmittalUserInput.object.release_point_type[1])) if isNull(ls_value) or ls_value = ls_empty then ls_fieldList += " - Emission Release Point Type" + "~r~n" end if ls_value = trim(string(ids_transmittalUserInput.object.data_level[1])) if isNull(ls_value) or ls_DAT*value = ls_empty then ls_fieldList += " - Data Level for Toxics" + "~r~n" end if ls_value = trim(string(ids_transmittalUserInput.object.rollup_confidential[1])) if isNull(ls_value) or ls_value = ls_empty then ls_fieldList += " - Roll Up Confidential" + "~r~n" end if //ls_value = trim(string(ids_transmittalUserInput.object.submittal_flag[1])) //if isNull(ls_value) or ls_value = ls_empty then // ls_fieldList += " - Submittal Flag" + "~r~n" //end if //write validation message,DAT* if necessary if ls_fieldList <> ls_empty then messageBox("NEI Export", "The following fields are required for the NEI Export:~r~n~r~n" + ls_fieldList) return 0 end if return 1 end event event type integer ue_nif2_validatetransmittaluserinput();/* VALIDATE TRANSMITTAL USER INPUN INFORMATION Return: -1 - Error 0 - validation failed 1 - validation passed */ long ll_value string ls_fieldList string ls_value string ls_empty = "" ls_fieldList = ls_empty //check otDAT*her required NEI transmittal fields ls_value = trim(string(ids_transmittalUserInput.object.organization_name[1])) if isNull(ls_value) or ls_value = ls_empty then ls_fieldList += " - Organization Name" + "~r~n" end if ls_value = trim(string(ids_transmittalUserInput.object.transaction_type[1])) if isNull(ls_value) or ls_value = ls_empty then ls_fieldList += " - Transaction Type" + "~r~n" end if ls_value = trim(string(ids_transmittalUserInput.object.inventory_type_code[1])) if isNDAT*ull(ls_value) or ls_value = ls_empty then ls_fieldList += " - Inventory Type Code" + "~r~n" end if ll_value = long(ids_transmittalUserInput.object.incremental_submission_number[1]) if isNull(ll_value) or ll_value <= 0 then ls_fieldList += " - Incremental Submission Number" + "~r~n" end if ls_value = trim(string(ids_transmittalUserInput.object.contact_person_name[1])) if isNull(ls_value) or ls_value = ls_empty then ls_fieldList += " - Contact Person Name" + "~r~n" end if ls_vDAT*alue = trim(string(ids_transmittalUserInput.object.contact_phone_number[1])) if isNull(ls_value) or ls_value = ls_empty then ls_fieldList += " - Contact Phone Number" + "~r~n" end if ls_value = trim(string(ids_transmittalUserInput.object.contact_email_address[1])) if isNull(ls_value) or ls_value = ls_empty then ls_fieldList += " - Contact Email Address" + "~r~n" end if ls_value = trim(string(ids_transmittalUserInput.object.contact_type_code[1])) if isNull(ls_value) or ls_value = lDAT*s_empty then ls_fieldList += " - Contact Type Code" + "~r~n" end if ls_value = trim(string(ids_transmittalUserInput.object.format_version[1])) if isNull(ls_value) or ls_value = ls_empty then //this field is populated by the program, not the user messageBox("Error", "NEI Format Version cannot be blank.", exclamation!) return -1 end if //check additional user input for NEI input screen (string) ls_value = trim(string(ids_transmittalUserInput.object.release_point_type[1])) if isDAT*Null(ls_value) or ls_value = ls_empty then ls_fieldList += " - Emission Release Point Type" + "~r~n" end if ls_value = trim(string(ids_transmittalUserInput.object.data_level[1])) if isNull(ls_value) or ls_value = ls_empty then ls_fieldList += " - Data Level for Toxics" + "~r~n" end if ls_value = trim(string(ids_transmittalUserInput.object.rollup_confidential[1])) if isNull(ls_value) or ls_value = ls_empty then ls_fieldList += " - Roll Up Confidential" + "~r~n" end if //ls_vaDAT*lue = trim(string(ids_transmittalUserInput.object.submittal_flag[1])) //if isNull(ls_value) or ls_value = ls_empty then // ls_fieldList += " - Submittal Flag" + "~r~n" //end if //write validation message, if necessary if ls_fieldList <> ls_empty then messageBox("NEI Export", "The following fields are required for the NEI Export:~r~n~r~n" + ls_fieldList) return 0 end if return 1 end event event type integer ue_nif3_settransmittaluserinput();//creates transmittal record stringDAT* ls_dataobject ls_dataobject = "d_nei_n3_transmittal_user_input" //create transmittal user input datastore ids_transmittalUserInput = create n_ds_cache_base if not isValid(ids_transmittalUserInput) then signalError(-1, "Failed creating datastore 'ids_transmittalUserInput'") return -1 end if ids_transmittalUserInput.dataObject = ls_dataobject ids_transmittalUserInput.setTransObject(SQLCA) return 1 end event event type integer ue_nif2_settransmittaluserinput();//creates traDAT*nsmittal record string ls_dataobject ls_dataobject = "d_nei_transmittal_user_input" //create transmittal user input datastore ids_transmittalUserInput = create n_ds_cache_base if not isValid(ids_transmittalUserInput) then signalError(-1, "Failed creating datastore 'ids_transmittalUserInput'") return -1 end if ids_transmittalUserInput.dataObject = ls_dataobject ids_transmittalUserInput.setTransObject(SQLCA) return 1 end event event ue_nif2_saveoutputfiles; long ll_rc DAT* //write the site record to the export file ll_rc = ids_siteOutput.of_saveToFile(il_sourceRow) if ll_rc < 0 then return -1 end if //write the emission unit output record to the export file ll_rc = ids_emissionunitoutput.of_saveToFile(il_sourceRow) if ll_rc < 0 then return -1 end if //write the point emission process record to the export file ll_rc = ids_pointemissionprocessoutput.of_saveToFile(il_sourceRow) if ll_rc < 0 then return -1 end if //write the point emission reDAT*lease point record to the export file ll_rc = ids_emissionReleasePtOutput.of_saveToFile(il_sourceRow) if ll_rc < 0 then return -1 end if //write the point emission release point record to the export file ll_rc = ids_pointControlEquipmentOutput.of_saveToFile(il_sourceRow) if ll_rc < 0 then return -1 end if //write the point emission release point record to the export file ll_rc = ids_pointEmissionPeriodOutput.of_saveToFile(il_sourceRow) if ll_rc < 0 then return -1 end if /DAT*/write the point emission release point record to the export file ll_rc = ids_pointemissionoutput.of_saveToFile(il_sourceRow) if ll_rc < 0 then return -1 end if //write the area Control Equipment Output record to the export file ll_rc = ids_areaControlEquipmentOutput.of_saveToFile(il_sourceRow) if ll_rc < 0 then return -1 end if //write the area Emission Output record to the export file ll_rc = ids_areaEmissionOutput.of_saveToFile(il_sourceRow) if ll_rc < 0 then return -1 end DAT*if //write the area Emission Period Output record to the export file ll_rc = ids_areaEmissionPeriodOutput.of_saveToFile(il_sourceRow) if ll_rc < 0 then return -1 end if //write the area Emission Process Output record to the export file ll_rc = ids_areaEmissionProcessOutput.of_saveToFile(il_sourceRow) if ll_rc < 0 then return -1 end if //write the onroad Emission Output record to the export file ll_rc = ids_onroadEmissionOutput.of_saveToFile(il_sourceRow) if ll_rc < 0 then reDAT*turn -1 end if //write the Onroad Emission Period Output record to the export file ll_rc = ids_onroadEmissionPeriodOutput.of_saveToFile(il_sourceRow) if ll_rc < 0 then return -1 end if return 1 end event event ue_nif3_saveoutputfiles; long ll_rc //write the site record to the export file ll_rc = ids_n3_siteOutput.of_saveToFile(il_sourceRow) if ll_rc < 0 then return -1 end if //write the emission unit output record to the export file ll_rc = ids_n3_emissionunitoutpuDAT*t.of_saveToFile(il_sourceRow) if ll_rc < 0 then return -1 end if //write the point emission process record to the export file ll_rc = ids_n3_pointemissionprocessoutput.of_saveToFile(il_sourceRow) if ll_rc < 0 then return -1 end if //write the point emission release point record to the export file ll_rc = ids_n3_emissionReleasePtOutput.of_saveToFile(il_sourceRow) if ll_rc < 0 then return -1 end if //write the point emission release point record to the export file ll_rc = idsDAT*_n3_pointControlEquipmentOutput.of_saveToFile(il_sourceRow) if ll_rc < 0 then return -1 end if //write the point emission release point record to the export file ll_rc = ids_n3_pointEmissionPeriodOutput.of_saveToFile(il_sourceRow) if ll_rc < 0 then return -1 end if //write the point emission release point record to the export file ll_rc = ids_n3_pointemissionoutput.of_saveToFile(il_sourceRow) if ll_rc < 0 then return -1 end if //write the area Control Equipment Output recoDAT*rd to the export file ll_rc = ids_n3_areaControlEquipmentOutput.of_saveToFile(il_sourceRow) if ll_rc < 0 then return -1 end if //write the area Emission Output record to the export file ll_rc = ids_n3_areaEmissionOutput.of_saveToFile(il_sourceRow) if ll_rc < 0 then return -1 end if //write the area Emission Period Output record to the export file ll_rc = ids_n3_areaEmissionPeriodOutput.of_saveToFile(il_sourceRow) if ll_rc < 0 then return -1 end if //write the area Emission DAT*Process Output record to the export file ll_rc = ids_n3_areaEmissionProcessOutput.of_saveToFile(il_sourceRow) if ll_rc < 0 then return -1 end if //write the onroad Emission Output record to the export file ll_rc = ids_n3_onroadEmissionOutput.of_saveToFile(il_sourceRow) if ll_rc < 0 then return -1 end if //write the Onroad Emission Period Output record to the export file ll_rc = ids_n3_onroadEmissionPeriodOutput.of_saveToFile(il_sourceRow) if ll_rc < 0 then return -1 end if DAT* return 1 end event public function integer of_exportsite ();double ld_null long ll_rc long ll_find string ls_null string ls_fileName string ls_recordString string ls_city string ls_nation string ls_recordType string ls_toxicFlags string ls_find string ls_value setNull(ls_null) setNull(ld_null) setPointer(hourGlass!) //validate state afs id or rapids id if len(is_siteID) > 15 then this.of_writeLogMessageError("Site ID " + is_siteID + " is longer than 15 characters. SkDAT*ipping Source.") ids_source.of_setException(is_sourceID, "Source ID", "error", "Site ID " + is_siteID + " is longer than 15 characters.") return 0 elseif isNull(is_siteID) then this.of_writeLogMessageError("Site ID is NULL. Skipping Source.") ids_source.of_setException(is_sourceID, "Source ID", "error", "Site ID is NULL.") return 0 end if //create the site record from rapids data /* rapids source data format nation_rid decimal(0) nation_name char(50) state_rDAT*id decimal(0) state_name char(50) county_rid decimal(0) county_name char(50) source_rid decimal(0) code char(15) id char(15) name char(50) type char(1) begin_operation_date date comment_text char(255) end_operation_date date geographic_incorp_rid decimal(0) geographic_locale_rid decimal(0) group_flag char(1) group_type char(20) location_line_1_addr char(40) location_line_2DAT*_addr char(40) location_zip_code char(11) sic_code char(4) naics_code char(6) operator_id char(15) operator_code char(15) operator_name char(50) geographic_incorp_name char(50) geographic_incorp_type char(8) */ //NEI Site Format //COLUMN NAME //DATA TYPE WIDTH string ls_RECORD_TYPE //CHARACTER 2 string ls_STATE_FIPS //CHARACTER 2 string ls_COUNTY_FIPS //CHARACTER 3 string ls_SITE_ID //CHARACTEDAT*R 15 string ls_FEDERAL_FACILITY_ID //CHARACTER 12 string ls_FACILITY_CATEGORY //CHARACTER 2 string ls_ORIS_FACILITY_CODE //CHARACTER 6 double ld_SIC_PRIMARY //NUMBER 4 string ls_NAICS_PRIMARY //CHARACTER 6 string ls_FACILITY_NAME //CHARACTER 50 string ls_SITE_DESCRIPTION //CHARACTER 40 string ls_STREET_LINE_1 //CHARACTER 30 string ls_STREET_LINE_2 //CHARACTER 30 string ls_STREET_LINE_3 //CHARACTER 30 //string ls_CITY //CHARACTER 30 stDAT*ring ls_STATE //CHARACTER 2 string ls_ZIPCODE //CHARACTER 10 string ls_COUNTRY //CHARACTER 20 string ls_ADDRESS_TYPE_CODE //CHARACTER 2 string ls_NTI_SITE_ID //CHARACTER 20 string ls_SITE_MACT_CODE //CHARACTER 6 string ls_SITE_MACT_COMPLIANCE_STATUS //CHARACTER 6 string ls_DUN_BRADSTREET_NUMBER //CHARACTER 10 string ls_TRI_ID //CHARACTER 20 string ls_SUBMITTAL_FLAG //CHARACTER 4 //removed truncation logic below for the following columns -- DAT*of_addRow() will handle it // left(string(ids_source.object.comment_text[il_sourceRow]), 40), & // left(string(ids_source.object.location_line_1_addr[il_sourceRow]), 30), & // left(string(ids_source.object.location_line_2_addr[il_sourceRow]), 30), & // left(string(ids_source.object.location_zip_code[il_sourceRow]), 10), & ls_record_Type = ids_siteOutput.of_getNeiRecordType() ls_STATE_FIPS = is_stateFIPS ls_COUNTY_FIPS = is_countyFIPS ls_SITE_ID = is_siteID ls_FEDERAL_FDAT*ACILITY_ID = ls_null is_errormessage = "Source ID = " + f_msgstring(ls_SITE_Id) ls_find = "ref_rid = " + string(ids_source.object.source_rid[il_sourceRow]) + " " ls_value = string(of_getactivitydata("SOURCE", ls_find, 'HAP MAJOR', "value")) ls_toxicFlags = ids_source.object.toxics_flag[il_sourceRow] if ls_toxicFlags = 'Y' then if ls_value = 'Y' then ls_FACILITY_CATEGORY = '01' else ls_FACILITY_CATEGORY = '02' end if else ls_FACILITY_CATEGORY = ls_null end if ls_ORIS_FDAT*ACILITY_CODE = ls_null ld_SIC_PRIMARY = double(ids_source.object.sic_code[il_sourceRow]) if isnull(ld_SIC_PRIMARY) or ids_source.object.afs_invalid_flag[il_sourceRow] = 'Y' then of_writelogmessagewarning(ids_source, "Sic Code with value of " + f_msgstring(ld_SIC_PRIMARY) + " is invalid. Value will be changed to 9999 for " + & is_errormessage + ".") ld_SIC_PRIMARY = 9999 end if ls_NAICS_PRIMARY = ids_source.object.naics_code[il_sourceRow] if isnull(ls_NAICS_PRIMARY) or leDAT*n(ls_NAICS_PRIMARY) > 6 or len(ls_NAICS_PRIMARY) < 2 then of_writelogmessagewarning(ids_source, "NAICS Code with value of " + f_msgstring(ls_NAICS_PRIMARY) + " must have a length of 2, 3, 4, 5, or 6 and can not be null for " + & is_errormessage + ".") ls_NAICS_PRIMARY = ls_null end if ls_FACILITY_NAME = ids_source.object.name[il_sourceRow] if isnull(ls_FACILITY_NAME) or ls_FACILITY_NAME = '' then ls_FACILITY_NAME = "NO NAME GIVEN" of_writelogmessagewarning(ids_source,DAT* "Facility name is null. Value will be set to 'NO NAME GIVEN' for " + & is_errormessage + "." ) end if ls_SITE_DESCRIPTION = ids_source.object.comment_text[il_sourceRow] ls_STREET_LINE_1 = ids_source.object.location_line_1_addr[il_sourceRow] if ls_STREET_LINE_1 = '' or isnull(ls_STREET_LINE_1) then ls_STREET_LINE_1 = "NO ADDRESS GIVEN" of_writelogmessagewarning(ids_source, "Address is null. Value will be set to 'NO ADDRESS GIVEN' for " + & is_errormessage + "." DAT*) end if ls_STREET_LINE_2 = ids_source.object.location_line_2_addr[il_sourceRow] ls_STREET_LINE_3 = ls_null ls_CITY = ids_source.object.geographic_incorp_name[il_sourceRow] if ls_CITY = '' or isnull(ls_CITY) then ls_CITY = "NO CITY GIVEN" of_writelogmessagewarning(ids_source, "City is null. Value will be set to 'NO CITY GIVEN' for " + & is_errormessage + "." ) end if ls_STATE = is_stateUSPSCode ls_ZIPCODE = ids_source.object.location_zip_code[il_sourceRow] if DAT*ls_ZIPCODE = '' or isnull(ls_ZIPCODE) then ls_ZIPCODE = "9999999999" of_writelogmessagewarning(ids_source, "Zip Code is null. Value will be set to '9999999999' for " + & is_errormessage + "." ) end if ls_COUNTRY = ids_source.object.nation_name[il_sourceRow] ls_ADDRESS_TYPE_CODE = '01' ls_NTI_SITE_ID = ls_null ls_SITE_MACT_CODE = ls_null ls_SITE_MACT_COMPLIANCE_STATUS = ls_null ls_DUN_BRADSTREET_NUMBER = ls_null ls_TRI_ID = ls_null ls_SUBMITTAL_FLAG = is_submittalFlag DAT* //ll_rc = ids_siteOutput.of_addRow(ls_recordType, & // is_stateFIPS, & // is_countyFIPS, & // is_siteID, & // ls_null, & // ls_null, & // ls_null, & // string(ids_source.object.sic_code[il_sourceRow]), & // ls_null, & // string(ids_source.object.name[il_sourceRow]), & // string(ids_source.object.comment_text[il_sourceRow]), & // string(ids_source.object.location_line_1_addr[il_sourceRow]), & // string(ids_source.object.location_line_2_addr[il_sDAT*ourceRow]), & // ls_null, & // string(ids_source.object.geographic_incorp_name[il_sourceRow]), & // is_stateUSPSCode, & // string(ids_source.object.location_zip_code[il_sourceRow]), & // string(ids_source.object.nation_name[il_sourceRow]), & // "01", & // ls_null, & // ls_null, & // ls_null, & // ls_null, & // ls_null, & // ls_null) ll_rc = ids_siteOutput.of_addRow(ls_record_Type, & ls_STATE_FIPS, & ls_COUNTY_FIPS, & ls_SITE_ID, & ls_FEDERAL_DAT*FACILITY_ID, & ls_FACILITY_CATEGORY, & ls_ORIS_FACILITY_CODE, & string(ld_SIC_PRIMARY), & ls_NAICS_PRIMARY, & ls_FACILITY_NAME, & ls_SITE_DESCRIPTION, & ls_STREET_LINE_1, & ls_STREET_LINE_2, & ls_STREET_LINE_3, & ls_CITY, & ls_STATE, & ls_ZIPCODE, & ls_COUNTRY, & ls_ADDRESS_TYPE_CODE, & ls_NTI_SITE_ID, & ls_SITE_MACT_CODE, & ls_SITE_MACT_COMPLIANCE_STATUS, & ls_DUN_BRADSTREET_NUMBER, & ls_TRI_ID, & ls_SUBMITTAL_FLAG ) is_errorMessage = '' return ll_rc end function publicDAT* function integer of_loadcachedata ();//07/06/04 - MKC - ADDED RAP METRIC LOOKUPS CACHE integer li_i long ll_rc long ll_row, ll_sccRow, ll_sccRowCount long ll_stateRid, ll_prevStateRid long ll_countyRid, ll_prevCountyRid long ll_sourceRid string ls_sourceType string ls_message long ll_empty[] setPointer(hourglass!) //initialize cached arrays il_countyRidArray = ll_empty il_sourceUnknownType = ll_empty //*** SOURCE ACTIVITIES DATA SET **************************************DAT******************* //(primary site data set needs this loaded first) if this.of_getRun() then ll_rc = ids_sourceActivity.of_populate() if ll_rc < 0 then return ll_rc end if if ib_debug then ids_sourceActivity.of_saveToFile(1) end if end if //*** PRIMARY SOURCE DATA SET ******************************************************** if this.of_getRun() then ll_rc = ids_source.of_populate() if ll_rc < 0 then return ll_rc end if if ib_debug then ids_soDAT*urce.of_saveToFile(1) end if end if //sort the source datastore for processing if this.of_getRun() then ids_source.of_setSortLock(false) ll_rc = ids_source.of_sort(is_sourceSortString) ids_source.of_setSortLock(true) if ll_rc < 0 then return -1 end if end if //process the source buffer and collect county rid and source type information if this.of_getRun() then for ll_row = 1 to ids_source.rowCount() //grab the county rid and add it to the county rid arDAT*ray, if necessary ll_countyRid = ids_source.object.county_rid[ll_row] if ll_countyRid <> ll_prevCountyRid then il_countyRidArray[upperBound(il_countyRidArray) + 1] = ll_countyRid end if ll_prevCountyRid = ll_countyRid //grab the source type and determine if it is a valid source type ls_sourceType = upper(ids_source.object.type[ll_row]) if isNull(ls_sourceType) then ls_sourceType = "NULL" end if choose case ls_sourceType case "F", "A", "M", "N", DAT*"L", "X" //source type ok case else il_sourceUnknownType[upperBound(il_sourceUnknownType) + 1] = ll_sourceRid end choose next //log invalid source types ls_message = "" if upperBound(il_sourceUnknownType) > 0 then for li_i = 1 to upperBound(il_sourceUnknownType) ls_sourceType = upper(ids_source.object.type[ll_row]) if isNull(ls_sourceType) then ls_sourceType = "NULL" end if ls_message += "Invalid Source Type: " + ls_sourceType idDAT*s_source.of_setException(ids_source.object.id[ll_row], "Source ID", "warning", ls_message) next end if //openWithParm(w_data_viewer, ids_source) end if //*** COUNTY ACTIVITIES ******************************************************** if this.of_getRun() then ll_rc = ids_countyActivity.of_populate() if ll_rc < 0 then return ll_rc end if if ib_debug then ids_countyActivity.of_saveToFile(1) end if end if //*** UNITS CACHE *******************DAT************************************** if this.of_getRun() then ll_rc = ids_units.of_populate() if ll_rc < 0 then return ll_rc end if if ib_debug then ids_units.of_saveToFile(1) end if end if //*** RAP METRIC LOOKUPS CACHE ******************************************************** if this.of_getRun() then ll_rc = ids_metriclookups.of_populate() if ll_rc < 0 then return ll_rc end if if ib_debug then ids_metriclookups.of_saveToFile(1) end if DAT* end if //*** CONVERSION LOOKUP CACHE ******************************************************** //is_throughputMetric[] must be populated before metrics cache if this.of_getRun() then ids_conversionLookupCodes.of_setDataType("txt", "d_data_set_conversion_lookup_codes_no_pa") ll_rc = ids_conversionLookupCodes.of_populate("Nothing ", is_pollutants) if ll_rc < 0 then return ll_rc end if if ib_debug then ids_conversionLookupCodes.of_saveToFile(1) end if //load the throDAT*ughput metric array with values from the conversion lookup cache ll_rc = ids_conversionLookupCodes.of_filter("rapids_field_name = 'THROUGHPUT_METRIC'") for ll_row = 1 to ll_rc is_throughputMetric[ll_row] = ids_conversionLookupCodes.object.rapids_value_name[ll_row] next ids_conversionLookupCodes.of_filter("") //add the contents of the throughput metric array to the input and output stream arrays for li_i = 1 to upperBound(is_throughputMetric) is_inputStreamMetric[upperBound(isDAT*_inputStreamMetric) + 1] = is_throughputMetric[li_i] is_outputStreamMetric[upperBound(is_outputStreamMetric) + 1] = is_throughputMetric[li_i] next end if //*** METRICS CACHE ******************************************************** if this.of_getRun() then ll_rc = ids_metrics.of_populate() if ll_rc < 0 then return ll_rc end if if ib_debug then ids_metrics.of_saveToFile(1) end if end if //*** MATERIAL GROUPS CACHE ***************************************DAT****************** if this.of_getRun() then ll_rc = ids_materialGroups.of_populate() if ll_rc < 0 then return ll_rc end if if ib_debug then ids_materialGroups.of_saveToFile(1) end if end if return 1 end function public function any of_getactivitydata (string as_type, long al_rid, string as_metric, string as_column); string ls_find string ls_ridName string ls_type any la_null setNull(la_null) //validate the metric code as_metric = this.of_checkMetriDAT*c(as_metric, as_type) if as_metric = "" then return la_null end if //determine the activity datastore and choose case upper(as_type) case "STATE" ls_ridName = "ref_rid" case "COUNTY" ls_ridName = "ref_rid" case "SOURCE" ls_ridName = "ref_rid" case "DEVICE" ls_ridName = "device_rid" case "PROCESS" ls_ridName = "process_rid" case "INSTREAM" ls_ridName = "ref_rid" case "OUTSTREAM" ls_ridName = "stream_rid" // case "THROUGHPUT" // ls_ridName = case elsDAT*e signalError(-1, "Invalid activity data type '" + as_type + "'") end choose as_column = trim(lower(as_column)) ls_find = ls_ridName + " = " + string(al_rid) + " and metric_code = '" + as_metric + "'" //call the overloaded version return this.of_getActivityData(as_type, ls_find, as_column) end function public function integer of_exporttransmittal (); long ll_rc string ls_null string ls_recordString string ls_fileName string ls_formatVersion decimal ld_formatVersion string lsDAT* _recordType //n_ds_transmittal lds_transmittal ls_recordType = ids_transmittalOutput.of_getNeiRecordType() setNull(ls_null) setPointer(hourGlass!) //NEI Transmittal format //COLUMN NAME DATA TYPE WIDTH //RECORD_TYPE CHARACTER 2 //STATE_FIPS CHARACTER 2 //COUNTY_FIPS CHARACTER 3 //ORGANIZATION_NAME CHARACTER 40 //TRANSACTION_TYPE CHARACTER 2 //INVENTORY_YEAR NUMBER 4 //Blank1 CHARACTER 8 //INVENTORY_TYPE_CODE DAT*  CHARACTER 10 //Blank2 CHARACTER 4 //Blank3 CHARACTER 4 //TRANSACTION_CREATION_DATE DATE 8 //INCREMENTAL_SUBMISSION_NUMBER NUMBER 4 //RELIABILITY_INDICATOR DECIMAL 5 //TRANSACTION_COMMENTS CHARACTER 80 //CONTACT_PERSON_NAME CHARACTER 30 //CONTACT_PHONE_NUMBER CHARACTER 15 //CONTACT_FAX_NUMBER CHARACTER 15 //CONTACT_EMAIL_ADDRESS CHARACTER 30 //CONTACT_ALTERNATE_PHONE_NUMBER CHARACTER 15 //SOURCE_TYPE CHARACTER 25 //CONTACT_TYPE_CODE DAT*CHARACTER 2 //FORMAT_VERSION DECIMAL 4 ls_formatVersion = ids_transmittalUserInput.object.format_version[1] ld_formatVersion = dec(ls_formatVersion) ids_transmittalOutput.of_addRow( & ls_recordType, & is_stateFIPS, & is_countyFIPS, & ids_transmittalUserInput.object.organization_name[1], & ids_transmittalUserInput.object.transaction_type[1], & string(ii_year), & ls_null, & ids_transmittalUserInput.object.inventory_type_code[1], & ls_null, & ls_null, & today(), & DAT* string(ii_submissionNumber), & dec(ids_transmittalUserInput.object.reliability_indicator[1]), & ids_transmittalUserInput.object.transaction_comments[1], & ids_transmittalUserInput.object.contact_person_name[1], & ids_transmittalUserInput.object.contact_phone_number[1], & ids_transmittalUserInput.object.contact_fax_number[1], & ids_transmittalUserInput.object.contact_email_address[1], & ids_transmittalUserInput.object.contact_alternate_phone_number[1], & upper(is_sourceType), & iDAT*ds_transmittalUserInput.object.contact_type_code[1], & ld_formatVersion) //dec(ids_transmittalUserInput.object.format_version[1])) ////write the transmittal record to the export file ll_rc = ids_transmittalOutput.of_saveToFile(il_sourceRow) if ll_rc < 0 then return -1 end if is_errorMessage = '' return 1 end function public function integer of_loadtransmittaluserinput ();string ls_debug string ls_empty = "" //nif variables long ll_rc = 1 string ls_eventname = "loadtranDAT*smittaluserinput" //LOAD INI FILE VARIABLES //read the nei debug flag ls_debug = trim(upper(profileString(gs_iniFile, "export", "nei_debug", ls_empty))) if ls_debug = "Y" then ib_debug = true else ib_debug = false end if //read the nei performance debug flag ls_debug = trim(upper(profileString(gs_iniFile, "export", "nei_perf_debug", ls_empty))) if ls_debug = "Y" then ib_perf_debug = true else ib_perf_debug = false end if //read data code values is_dataCodeNull = trim(pDAT*rofileString(gs_iniFile, "data code priority", "null", ls_empty)) if is_dataCodeNull = ls_empty then is_dataCodeNull = "99" end if is_dataCodeRO = trim(profileString(gs_iniFile, "data code priority", "ro", ls_empty)) if is_dataCodeRO = ls_empty then is_dataCodeRO = "00" end if //nif specific ll_rc = triggerevent("ue_" + this.is_file_system_version + "_" + ls_eventname ) return ll_rc return 1 end function public function integer of_savetransmittaluserinput ();//nif variabDAT*les long ll_rc = 1 string ls_eventname = "savetransmittaluserinput" if not isValid(ids_transmittalUserInput) then return -1 end if //save nei_debug flag if ib_debug then setProfileString(gs_iniFile, "export", "nei_debug", "Y") else setProfileString(gs_iniFile, "export", "nei_debug", "N") end if //nif specific code ll_rc = triggerevent("ue_" + this.is_file_system_version + "_" + ls_eventname ) return ll_rc return 1 end function public function integer of_setfiDAT*lenames (); integer li_i, li_j integer li_fileCount = 0 string ls_sourceTypeCode string ls_recordTypes[] string ls_fileName string ls_empty[] str_nei_file_names lstr_neiFileNamesEmpty[] //initialize the file name arrays to empty is_existingFileNames = ls_empty istr_neiFileNames = lstr_neiFileNamesEmpty //loop through file types and build file name structures for li_i = 1 to upperBound(is_fileTypes) ls_recordTypes = ls_empty ls_fileName = "" ls_sourceTypeCode = "" chDAT*oose case upper(is_fileTypes[li_i]) case "NEI_POINT" ls_sourceTypeCode = "PT" ls_recordTypes = {"TR", "SI", "EU", "EP", "PE", "ER", "CE", "EM"} case "NEI_AREA" ls_sourceTypeCode = "AR" ls_recordTypes = {"TR", "EP", "CE", "PE", "EM"} case "NEI_ONROAD" ls_sourceTypeCode = "OR" ls_recordTypes = {"TR", "PE", "EM"} case "NEI_NONROAD" ls_sourceTypeCode = "NR" ls_recordTypes = {"TR", "EP", "CE", "PE", "EM"} case else signalError(-1, "Invalid file type '"DAT* + is_fileTypes[li_i] + "'") return -1 end choose for li_j = 1 to upperBound(ls_recordTypes) //create file name for source type and record type li_fileCount ++ ls_fileName = lower(is_stateUSPSCode + ls_sourceTypeCode + ls_recordTypes[li_j] + is_2dYear + ".TXT") istr_neiFileNames[li_fileCount].file_type = ls_sourceTypeCode istr_neiFileNames[li_fileCount].record_type = ls_recordTypes[li_j] istr_neiFileNames[li_fileCount].file_name = ls_fileName next next DAT*  if upperbound(istr_neiFileNames) <= 0 then messageBox("NEI Export", "Export failed creating NEI file names.", none!) return 0 end if //check for existing files with these names for li_i = 1 to upperbound(istr_neiFileNames) ls_fileName = "" ls_fileName = is_exportPath + istr_neiFileNames[li_i].file_name if fileExists(ls_fileName) then is_existingFileNames[upperbound(is_existingFileNames) + 1] = ls_fileName end if next //confirm append/overwrite for existing fiDAT*"les, if necessary if upperBound(is_existingFileNames) > 0 then openWithParm(w_confirm_file_operations, this) if message.doubleParm = 2 then //user cancelled operation return 0 end if //delete existing files, if overwrite specified if ib_overwriteFiles then for li_i = 1 to upperbound(is_existingFileNames) fileDelete(is_existingFileNames[li_i]) next end if end if return li_fileCount end function public function integer of_export ();long ll_sourcecount,DAT*$ li_i, ll_exp string ls_filetypeslog, ls_logtitle datetime ldt_startrun //reset instance cache values il_countyRid = 0 il_sourceRid = 0 ii_formatType = 0 is_sourceType = "" is_sourceTypeValue = "" is_sourceTypeCode = "" is_sourceTypeLog = "" ldt_startRun = datetime(today(), now()) //set the run in progress flag this.of_setRun(true) //reset the totals arrays this.of_resetTotals() //nif long ll_rc = 1 string ls_eventname = "export" //*************************************DAT*&************************************ //LOAD PERSISTENT CACHE DATA if this.of_getRun() then this.of_writeStatusMessage("Loading cache data . . .") ll_exp = this.of_loadCacheData() if ll_exp <= 0 then this.of_setRun(false) else ll_sourceCount = ids_source.rowCount() end if end if //************************************************************************* //PROCESS SELECTION INFORMATION AND BUILD EXPORT FILE NAMES //(build file names and check for existing files; promDAT*(pt for overwrite) if this.of_getRun() then this.of_writeStatusMessage("Processing file names . . .") ll_exp = this.of_setFileNames() if ll_exp <= 0 then this.of_setRun(false) else //loop through file types and create string for log file for li_i = 1 to upperBound(is_fileTypes) ls_fileTypesLog = ls_fileTypesLog + ", " + mid(is_fileTypes[li_i], 5) next ls_fileTypesLog = mid(ls_fileTypesLog, 3) end if this.of_writeStatusMessage("Starting export . . .") eDAT**nd if //************************************************************************* //START LOG FILE AND LOG USER SELECTIONS FOR EXPORT if this.of_getRun() then //start the log file if ib_overwriteLogFile then //reset log file for overwrite ids_logFile.reset() else //open existing log file for append if ids_logFile.of_fileExists() then //allow log file datastore to load blank lines ids_logFile.of_setLoadBlankLines(true) //temporarily chanDAT*,ge file access to read to load log file ids_logFile.of_setFileAccess(read!) ll_exp = ids_logFile.of_loadFromFile(1) ids_logFile.of_setFileAccess(write!) if ll_exp < 0 then this.of_setRun(false) end if end if end if ls_logTitle = iw_export.is_file_system this.of_writeLogMessage(fill("=", ii_logLineLength)) this.of_writeLogMessage("== " + ls_logTitle) this.of_writeLogMessage(fill("=", ii_logLineLength)) this.of_writeLogMessage( "Started: " +DAT*. string(today()) + " " + string(now())) if ib_overwriteLogFile then this.of_writeLogMessage("Log Mode: Overwrite") else this.of_writeLogMessage("Log Mode: Append") end if if ib_overwriteFiles then this.of_writeLogMessage("Data Mode: Overwrite") else this.of_writeLogMessage("Data Mode: Append") end if this.of_writeLogMessage("") this.of_writeLogMessage("File Types: " + ls_fileTypesLog) this.of_writeLogMessage("Sources Selected: " + string(ll_sourceCount))DAT*0 this.of_writeLogMessage("Inventory Year: " + string(ii_year)) this.of_writeLogMessage("Reference Code: " + string(is_referenceCode)) this.of_writeLogMessage("Unit Code: " + string(is_unitCode)) this.of_writeLogMessage("Transaction Type: " + ids_transmittalUserInput.object.transaction_type[1]) this.of_writeLogMessage("Inventory Type Code: " + ids_transmittalUserInput.object.inventory_type_code[1]) this.of_writeLogMessage("Incremental Submission Number: " + string(ii_submissionNumDAT*2ber)) this.of_writeLogMessage("Emission Release Point Type (default): " + is_defaultReleasePointType) this.of_writeLogMessage("Data Level for Toxics (default): " + is_defaultDataLevel) this.of_writeLogMessage("Roll Up Confidential: " + is_rollupConfidential) if isNull(is_submittalFlag) then this.of_writeLogMessage("Submittal Flag: Null") else this.of_writeLogMessage("Submittal Flag: " + is_submittalFlag) end if this.of_writeLogPollutants() end if //************DAT*4************************************************************* //BEGIN MAIN EXPORT PROCESSING ll_rc = triggerevent("ue_" + this.is_file_system_version + "_" + ls_eventname ) //************************************************************************* //CLEAN UP this.of_writeStatusMessage("Ending . . .") this.of_writeLogMessage("") this.of_writelogTotals() //write source exceptions to the log file if ids_source.ids_exception.rowCount() > 0 then this.of_writeLogMessage("DAT*6") this.of_writeLogMessage(fill("-", ii_logLineLength)) this.of_writeLogMessage(string(ids_source.ids_exception.rowCount()) + " Sources Were Not Exported") this.of_writeLogMessage(fill("-", ii_logLineLength)) ids_source.of_writeLogExceptions() end if //write metric exceptions to the log file if ids_metrics.ids_exception.rowCount() > 0 then this.of_writeLogMessage("") this.of_writeLogMessage(fill("-", ii_logLineLength)) this.of_writeLogMessage(string(ids_metrics.ids_exception.rowDAT*8Count()) + " Undefined Metric Codes Were Found in Program") this.of_writeLogMessage(fill("-", ii_logLineLength)) ids_metrics.of_writeLogExceptions() messageBox("Metric Code Errors", "There were Metric Code Errors during the export. Please see the log file for details.", information!) end if this.of_writeLogMessage("") //check export return code if ll_exp < 0 then //export stopped on error condition this.of_writeLogMessage("ERROR STOPPED EXPORT: " + string(today()) + " " DAT*:+ string(now())) this.of_writeStatusMessage("Error") elseif not this.of_getRun() then //user cancelled this.of_writeLogMessage("EXPORT CANCELLED: " + string(today()) + " " + string(now())) this.of_writeStatusMessage("Cancelled") ll_exp = 0 else this.of_writeLogMessage("EXPORT COMPLETED: " + string(today()) + " " + string(now())) this.of_writeLogMessage("Elapsed Time: " + of_elapsedTime(ldt_startRun, datetime(today(), now()))) this.of_writeStatusMessage("Complete") ll_eDAT*<xp = 1 end if this.of_writeLogMessage("") this.of_writeLogMessage("") //save the log data store to a file ids_logFile.of_saveToFile(1) ids_logFile.of_fileClose() //save cache data to files if debug flag is set //(for cache data that may have changed during the run) if ib_debug then end if //reset the run in progress flag this.of_setRun(false) return ll_rc //commented out for back up purposes only ////Main Driver for NEI Export ////MDY 04/2001 // //datetime ldt_stDAT*>artRun //long ll_rc //long ll_exp //long ll_sourceCount //long ll_prevCountyRid //long ll_countyErrorRid //long ll_sourcesForCounty //integer li_i //integer li_fileType //integer li_fileIndex //string ls_logTitle //string ls_fileType //string ls_fileTypesLog //string ls_primarySiteFilter //string ls_sourceTypeCode //string ls_exportFileName // // ////reset instance cache values //il_countyRid = 0 //il_sourceRid = 0 //ii_formatType = 0 //is_sourceType = "" //is_sourceTypeValuDAT*@e = "" //is_sourceTypeCode = "" //is_sourceTypeLog = "" //ll_prevCountyRid = -1 //ll_countyErrorRid = -1 //ldt_startRun = datetime(today(), now()) // // ////set the run in progress flag //this.of_setRun(true) // ////reset the totals arrays //this.of_resetTotals() // ////************************************************************************* ////LOAD PERSISTENT CACHE DATA //if this.of_getRun() then // // this.of_writeStatusMessage("Loading cache data . . .") // // ll_exp = thDAT*Bis.of_loadCacheData() // if ll_exp <= 0 then // this.of_setRun(false) // else // ll_sourceCount = ids_source.rowCount() // end if // //end if // // ////************************************************************************* ////PROCESS SELECTION INFORMATION AND BUILD EXPORT FILE NAMES ////(build file names and check for existing files; prompt for overwrite) //if this.of_getRun() then // // this.of_writeStatusMessage("Processing file names . . .") // // ll_exp = this.of_setFiDAT*DleNames() // if ll_exp <= 0 then // this.of_setRun(false) // else // // //loop through file types and create string for log file // for li_i = 1 to upperBound(is_fileTypes) // ls_fileTypesLog = ls_fileTypesLog + ", " + mid(is_fileTypes[li_i], 5) // next // ls_fileTypesLog = mid(ls_fileTypesLog, 3) // // end if // // this.of_writeStatusMessage("Starting export . . .") // //end if // // ////************************************************************************* ////START DAT*FLOG FILE AND LOG USER SELECTIONS FOR EXPORT //if this.of_getRun() then // // //start the log file // if ib_overwriteLogFile then // //reset log file for overwrite // // ids_logFile.reset() // // else // //open existing log file for append // // if ids_logFile.of_fileExists() then // // //allow log file datastore to load blank lines // ids_logFile.of_setLoadBlankLines(true) // // //temporarily change file access to read to load log file // ids_logFile.of_sDAT*HetFileAccess(read!) // ll_exp = ids_logFile.of_loadFromFile(1) // ids_logFile.of_setFileAccess(write!) // if ll_exp < 0 then // this.of_setRun(false) // end if // // end if // // end if // // ls_logTitle = iw_export.is_file_system // this.of_writeLogMessage(fill("=", ii_logLineLength)) // this.of_writeLogMessage("== " + ls_logTitle) // this.of_writeLogMessage(fill("=", ii_logLineLength)) // this.of_writeLogMessage( "Started: " + string(today()) + " " + striDAT*Jng(now())) // // if ib_overwriteLogFile then // this.of_writeLogMessage("Log Mode: Overwrite") // else // this.of_writeLogMessage("Log Mode: Append") // end if // // if ib_overwriteFiles then // this.of_writeLogMessage("Data Mode: Overwrite") // else // this.of_writeLogMessage("Data Mode: Append") // end if // // this.of_writeLogMessage("") // this.of_writeLogMessage("File Types: " + ls_fileTypesLog) // this.of_writeLogMessage("Sources Selected: " + string(ll_sourceCountDAT*L)) // this.of_writeLogMessage("Inventory Year: " + string(ii_year)) // this.of_writeLogMessage("Reference Code: " + string(is_referenceCode)) // this.of_writeLogMessage("Unit Code: " + string(is_unitCode)) // this.of_writeLogMessage("Transaction Type: " + ids_transmittalUserInput.object.transaction_type[1]) // this.of_writeLogMessage("Inventory Type Code: " + ids_transmittalUserInput.object.inventory_type_code[1]) // this.of_writeLogMessage("Incremental Submission Number: " + string(iiDAT*N_submissionNumber)) // this.of_writeLogMessage("Emission Release Point Type (default): " + is_defaultReleasePointType) // this.of_writeLogMessage("Data Level for Toxics (default): " + is_defaultDataLevel) // this.of_writeLogMessage("Roll Up Confidential: " + is_rollupConfidential) // if isNull(is_submittalFlag) then // this.of_writeLogMessage("Submittal Flag: Null") // else // this.of_writeLogMessage("Submittal Flag: " + is_submittalFlag) // end if // // this.of_writeLogPollutantDAT*Ps() // //end if // // ////************************************************************************* ////BEGIN MAIN EXPORT PROCESSING ////************************************************************************* //if this.of_getRun() then // // ll_prevCountyRid = -1 // ll_countyErrorRid = -1 // // //loop through file types represented in the current user selections // for li_fileType = 1 to upperBound(is_fileTypes) // // if not this.of_getRun() then // exit // end if // DAT*R // ll_exp = 0 // ll_sourcesForCounty = 0 // ls_fileType = is_fileTypes[li_fileType] // // //validate the file type and set instance variables // choose case upper(ls_fileType) // case "NEI_POINT" // ii_formatType = ii_point // is_sourceType = "POINT" // //ls_sourceTypeColumn = "point_flag" // is_sourceTypeValue = "F" // is_sourceTypeCode = "PT" // is_sourceTypeLog = "POINT SOURCES" // is_sourceTypeLogMid = "Point Source" // case "NEI_AREA" // ii_DAT*TformatType = ii_area // is_sourceType = "AREA" // //ls_sourceTypeColumn = "area_flag" // is_sourceTypeValue = "A" // is_sourceTypeCode = "AR" // is_sourceTypeLog = "AREA SOURCES" // is_sourceTypeLogMid = "Area Source" // case "NEI_ONROAD" // ii_formatType = ii_mobile // is_sourceType = "ON-ROAD MOBILE" // //ls_sourceTypeColumn = "onroad_flag" // is_sourceTypeValue = "M" // is_sourceTypeCode = "OR" // is_sourceTypeLog = "ON-ROAD SOURCES" // is_DAT*VsourceTypeLogMid = "On-road Source" // case "NEI_NONROAD" // ii_formatType = ii_area // is_sourceType = "NON-ROAD MOBILE" // //ls_sourceTypeColumn = "nonroad_flag" // is_sourceTypeValue = "N' or type = 'L' or type = 'X" //specially quoted string for filtering multiple types // is_sourceTypeCode = "NR" // is_sourceTypeLog = "NON-ROAD SOURCES" // is_sourceTypeLogMid = "Non-road Source" // case else // signalError(-1, "Invalid file type '" + ls_fileType + "'") /DAT*X/ return -1 // end choose // // //filter the source buffer for the current rapids source type // ls_primarySiteFilter = "type = '" + is_sourceTypeValue + "'" // // ids_source.of_setFilterLock(false) // ll_rc = ids_source.of_Filter(ls_primarySiteFilter) // ids_source.of_setFilterLock(true) // // if ll_rc < 0 then // return -1 // end if // // ll_sourceCount = ids_source.rowCount() // // //log the start of current source type // this.of_writeLogMessage("") //DAT*Z this.of_writeLogMessage(fill("-", ii_logLineLength)) // this.of_writeLogMessage("BEGINNING Export: " + is_sourceTypeLog) // this.of_writeLogMessage(fill("-", ii_logLineLength)) // this.of_writeLogMessage(string(ll_sourceCount) + " " + is_sourceTypeLog + " Selected for Export") // this.of_writeLogMessage("") // // if ll_sourceCount <= 0 then // continue // end if // // this.of_writeStatusMessage("Beginning Export: " + is_sourceTypeLog) // // //*********************DAT*\*********************************************** // //BEGIN SOURCE LOOP // //loop through the sources for the current format type // //and run export for each record type // for il_sourceRow = 1 to ll_sourceCount // // if not this.of_getRun() then // exit // end if // // // //set control values // il_countyRid = ids_source.object.county_rid[il_sourceRow] // il_sourceRid = ids_source.object.source_rid[il_sourceRow] // il_sourceRidArray = {il_sourceRid} // DAT*^ is_sourceID = ids_source.object.id[il_sourceRow] // is_siteID = ids_source.object.site_id[il_sourceRow] // // // //clear the output data files, and set the proper nei file names // if this.of_getRun() then // // ll_exp = this.of_resetOutputFiles() // if ll_exp < 0 then // this.of_setRun(false) // end if // // end if // // // //DO COUNTY LEVEL PROCESSING // if this.of_getRun() then // // if il_countyRid <> ll_prevCountyRid then //DAT*` // //if there was an error for this county, skip it // if il_countyRid = ll_countyErrorRid then // continue // end if // // is_countyName = ids_source.object.county_name[il_sourceRow] // // //county fips // is_countyFIPS = trim(string(this.of_getActivityData("county", il_countyRid, of_checkMetric('FIPS CODE', 'COUNTY'), "value"))) // if isNull(is_countyFIPS) then // //ERROR: log missing county fips // this.of_writeLogMessageErrDAT*bor("Missing COUNTY FIPS CODE for County: " +& // f_msgstring(is_countyName) + ". Skipping County.") // ll_countyErrorRid = il_countyRid // continue // end if // // ll_sourcesForCounty = 0 // // end if // // ll_prevCountyRid = il_countyRid // // end if // // // //LOAD CACHE DATASTORES FOR CURRENT SOURCE // if this.of_getRun() then // // this.of_writeStatusMessage("Loading " + is_sourceTypeLog + ": " + is_sourcDAT*deID) // this.of_writeLogMessage("Loading data for Source ID: " + is_sourceID) // // ll_exp = this.of_loadCacheBlockData(il_sourceRow) // if ll_exp < 0 then // this.of_setRun(false) // elseif ll_exp = 0 then // // //no emissions for source // if ids_emissions.rowCount() = 0 then // continue //skip source // end if // // // end if // // end if // // // //EXPORT SITE record, if necessary // if this.of_getRun()DAT*f then // // this.of_writeStatusMessage("Exporting " + is_sourceTypeLog + ": " + is_sourceID) // this.of_writeLogMessage("Exporting data for Source ID: " + is_sourceID) // // if ii_formatType = ii_point then // this.of_writeLogMessageStart(ids_siteOutput) // ll_exp = this.of_exportSite() // if ll_exp < 0 then // this.of_setRun(false) // elseif ll_exp = 0 then // this.of_writeLogMessageMidCount(ids_siteOutput, ll_exp, is_sourceTypeLogMid + " SitDAT*he Export File") // this.of_writeLogMessageEnd(ids_siteOutput) // continue //skip source // end if // this.of_writeLogMessageMidCount(ids_siteOutput, ll_exp, is_sourceTypeLogMid + " Site Export File") // this.of_writeLogMessageEnd(ids_siteOutput) // end if // // end if // // // //EXPORT EMISSION UNIT records for current site, if necessary // if this.of_getRun() then // // // if ii_formatType = ii_point then // this.of_writeLogDAT*jMessageStart(ids_emissionUnitOutput) // ll_exp = this.of_exportEU() // if ll_exp < 0 then // this.of_setRun(false) // end if // this.of_writeLogMessageMidCount(ids_emissionUnitOutput, ll_exp, is_sourceTypeLogMid + " Emission Unit Export File") // this.of_writeLogMessageEnd(ids_emissionUnitOutput) // end if // // // // end if // // // //EXPORT EMISSION PROCESS records for current site, if necessary // if this.of_getRun() then // DAT*l // if ii_formatType = ii_point then // this.of_writeLogMessageStart(ids_pointEmissionProcessOutput) // ll_exp = this.of_exportEP() // if ll_exp < 0 then // this.of_setRun(false) // end if // this.of_writeLogMessageMidCount(ids_pointEmissionProcessOutput, ll_exp, is_sourceTypeLogMid + " Emission Process Export File") // this.of_writeLogMessageEnd(ids_pointEmissionProcessOutput) // end if // // if ii_formatType = ii_area then // this.of_wDAT*nriteLogMessageStart(ids_areaEmissionProcessOutput) // ll_exp = this.of_exportEP_area() // if ll_exp < 0 then // this.of_setRun(false) // end if // this.of_writeLogMessageMidCount(ids_areaEmissionProcessOutput, ll_exp, is_sourceTypeLogMid + " Emission Process Export File") // this.of_writeLogMessageEnd(ids_areaEmissionProcessOutput) // end if // // end if // // //EXPORT EMISSION RELEASE POINT records for current site, if necessary // if this.of_DAT*pgetRun() then // // if ii_formatType = ii_point then // this.of_writeLogMessageStart(ids_emissionReleasePtOutput) // ll_exp = this.of_exportER() // if ll_exp < 0 then // this.of_setRun(false) // end if // this.of_writeLogMessageMidCount(ids_emissionReleasePtOutput, ll_exp, is_sourceTypeLogMid + " Emission Release Point Export File") // this.of_writeLogMessageEnd(ids_emissionReleasePtOutput) // end if // // end if // // //EXPORT CONTRDAT*rOL EQUIPMENT records for current site, if necessary // if this.of_getRun() then // // if ii_formatType = ii_point then // this.of_writeLogMessageStart(ids_PointControlEquipmentOutput) // ll_exp = this.of_exportCE() // if ll_exp < 0 then // this.of_setRun(false) // end if // this.of_writeLogMessageMidCount(ids_PointControlEquipmentOutput, ll_exp, is_sourceTypeLogMid + " Control Equipment Export File") // this.of_writeLogMessageEnd(ids_PointControlEquDAT*tipmentOutput) // end if // // if ii_formatType = ii_area then // this.of_writeLogMessageStart(ids_areaControlEquipmentOutput) // ll_exp = this.of_exportCE_area() // if ll_exp < 0 then // this.of_setRun(false) // end if // this.of_writeLogMessageMidCount(ids_areaControlEquipmentOutput, ll_exp, is_sourceTypeLogMid + " Control Equipment Export File") // this.of_writeLogMessageEnd(ids_areaControlEquipmentOutput) // end if // // end if // DAT*v // //EXPORT EMISSION PERIOD records for current site, if necessary // if this.of_getRun() then // // if ii_formatType = ii_point then // this.of_writeLogMessageStart(ids_PointEmissionPeriodOutput) // ll_exp = this.of_exportpe_processdatalevel() // if ll_exp < 0 then // this.of_setRun(false) // end if // this.of_writeLogMessageMidCount(ids_PointEmissionPeriodOutput, ll_exp, is_sourceTypeLogMid + " Emission Period for Process Data Level Export File") DAT*x // // ll_exp = this.of_exportpe_sitedatalevel() // if ll_exp < 0 then // this.of_setRun(false) // end if // this.of_writeLogMessageMidCount(ids_PointEmissionPeriodOutput, ll_exp, is_sourceTypeLogMid + " Emission Period for Site Data Level Export File") // this.of_writeLogMessageEnd(ids_PointEmissionPeriodOutput) // end if // // if ii_formatType = ii_area then // this.of_writeLogMessageStart(ids_areaEmissionPeriodOutput) // ll_exp = this.of_exDAT*zportpe_area() // if ll_exp < 0 then // this.of_setRun(false) // end if // this.of_writeLogMessageMidCount(ids_areaEmissionPeriodOutput, ll_exp, is_sourceTypeLogMid + " Emission Period Export File") // this.of_writeLogMessageEnd(ids_areaEmissionPeriodOutput) // end if // // if ii_formatType = ii_mobile then // this.of_writeLogMessageStart(ids_onroadEmissionPeriodOutput) // ll_exp = this.of_exportpe_onroad() // if ll_exp < 0 then // this.ofDAT*|_setRun(false) // end if // this.of_writeLogMessageMidCount(ids_onroadEmissionPeriodOutput, ll_exp, is_sourceTypeLogMid + " Emission Period Export File") // this.of_writeLogMessageEnd(ids_onroadEmissionPeriodOutput) // end if // // end if // // //EXPORT EMISSION records for current site, if necessary // if this.of_getRun() then // // if ii_formatType = ii_point then // this.of_writeLogMessageStart(ids_PointEmissionOutput) // ll_exp = this.of_exDAT*~portem_processdatalevel() // if ll_exp < 0 then // this.of_setRun(false) // end if // this.of_writeLogMessageMidCount(ids_PointEmissionOutput, ll_exp, is_sourceTypeLogMid + " Emission for Process Data Level Export File") // ll_exp = this.of_exportem_sitedatalevel() // if ll_exp < 0 then // this.of_setRun(false) // end if // this.of_writeLogMessageMidCount(ids_PointEmissionOutput, ll_exp, is_sourceTypeLogMid + " Emission for Site Data Level Export FilDAT*e") // this.of_writeLogMessageEnd(ids_PointEmissionOutput) // end if // // // if ii_formatType = ii_area then // this.of_writeLogMessageStart(ids_areaEmissionOutput) // ll_exp = this.of_exportem_area() // if ll_exp < 0 then // this.of_setRun(false) // end if // this.of_writeLogMessageMidCount(ids_areaEmissionOutput, ll_exp, is_sourceTypeLogMid + " Emission Export File") // this.of_writeLogMessageEnd(ids_areaEmissionOutput) // end if DAT* // // if ii_formatType = ii_mobile then // this.of_writeLogMessageStart(ids_onroadEmissionOutput) // ll_exp = this.of_exportem_onroad() // if ll_exp < 0 then // this.of_setRun(false) // end if // this.of_writeLogMessageMidCount(ids_onroadEmissionOutput, ll_exp, is_sourceTypeLogMid + " Emission Export File") // this.of_writeLogMessageEnd(ids_onroadEmissionOutput) // end if // // end if // // //save all data files for source // if tDAT*his.of_getRun() then // // this.of_writeStatusMessage("Saving " + is_sourceTypeLog + ": " + is_sourceID) // // ll_exp = this.of_saveOutputFiles() // if ll_exp < 0 then // this.of_setRun(false) // end if // // //save current log file // ids_logFile.of_saveToFile(1) // // end if // //// //count number of sources written for current transmittal record // ll_sourcesForCounty ++ //// //// //EXPORT transmittal record for current countDAT*y, if we've exported the FIRST source (ll_sourcesForCounty = 1) in that county // if ll_sourcesForCounty = 1 and this.of_getRun() then // // this.of_writeLogMessage("Exporting TRANSMITTAL RECORD for County: " + is_countyName) // // ll_exp = this.of_exportTransmittal() // if ll_exp < 0 then // this.of_setRun(false) // end if // //// clean up the transmittal file (remove any duplicate records) //// this is necessary if multiple runs are being performedDAT* in append mode // if this.of_getRun() then // ll_exp = ids_transmittalOutput.of_removeDuplicates() // if ll_exp < 0 then // this.of_setRun(false) // end if // end if // // end if // // //flush the dynamic cache datastores // this.of_flushCache() // // //reset primary source cache, sort and filter in case any other functions changed them // ids_source.of_setSortLock(false) // ll_rc = ids_source.of_sort(is_sourceSortString) // ids_sourDAT*ce.of_setSortLock(true) // if ll_rc < 0 then // this.of_setRun(false) // end if // // ids_source.of_setFilterLock(false) // ll_rc = ids_source.of_Filter(ls_primarySiteFilter) // ids_source.of_setFilterLock(true) // if ll_rc < 0 then // this.of_setRun(false) // end if // // next //li_source // //END SOURCE LOOP // //******************************************************************** // // next //li_fileType // // // //turn off filters on the sDAT*ource buffer // if isValid(ids_source) then // ids_source.of_setFilterLock(false) // ids_source.of_Filter("") // ids_source.of_setFilterLock(true) // end if // // if ib_debug then // //set new file name for post processing // ids_source.of_setFileName("ds_primary_site_post") // ids_source.of_saveToFile(1) // end if // //end if // ////************************************************************************* ////CLEAN UP // //this.of_writeStatusMessage("Ending . . .") // /DAT*/this.of_writeLogMessage("") //this.of_writelogTotals() // ////write source exceptions to the log file //if ids_source.ids_exception.rowCount() > 0 then // this.of_writeLogMessage("") // this.of_writeLogMessage(fill("-", ii_logLineLength)) // this.of_writeLogMessage(string(ids_source.ids_exception.rowCount()) + " Sources Were Not Exported") // this.of_writeLogMessage(fill("-", ii_logLineLength)) // ids_source.of_writeLogExceptions() //end if // ////write metric exceptions to the log fiDAT*le //if ids_metrics.ids_exception.rowCount() > 0 then // this.of_writeLogMessage("") // this.of_writeLogMessage(fill("-", ii_logLineLength)) // this.of_writeLogMessage(string(ids_metrics.ids_exception.rowCount()) + " Undefined Metric Codes Were Found in Program") // this.of_writeLogMessage(fill("-", ii_logLineLength)) // ids_metrics.of_writeLogExceptions() // // messageBox("Metric Code Errors", "There were Metric Code Errors during the export. Please see the log file for details.", inforDAT*mation!) // //end if // //this.of_writeLogMessage("") // ////check export return code //if ll_exp < 0 then // //export stopped on error condition // this.of_writeLogMessage("ERROR STOPPED EXPORT: " + string(today()) + " " + string(now())) // this.of_writeStatusMessage("Error") //elseif not this.of_getRun() then // //user cancelled // this.of_writeLogMessage("EXPORT CANCELLED: " + string(today()) + " " + string(now())) // this.of_writeStatusMessage("Cancelled") // ll_exp = 0 DAT*//else // this.of_writeLogMessage("EXPORT COMPLETED: " + string(today()) + " " + string(now())) // this.of_writeLogMessage("Elapsed Time: " + of_elapsedTime(ldt_startRun, datetime(today(), now()))) // this.of_writeStatusMessage("Complete") // ll_exp = 1 //end if // //this.of_writeLogMessage("") //this.of_writeLogMessage("") // ////save the log data store to a file //ids_logFile.of_saveToFile(1) //ids_logFile.of_fileClose() // ////save cache data to files if debug flag is set //DAT*//(for cache data that may have changed during the run) //if ib_debug then // //end if // ////reset the run in progress flag //this.of_setRun(false) // // //return ll_exp end function public function integer of_createcachedatastores (); //creates or resets cache datastore objects for NEI export //07/06/04 - mkc - added metric lookup maps //"AS NEEDED" DATASTORES (WILL BE POPULATED AS NEEDED) ********************************************** //create conversion lookup codes datasDAT*tore if not isValid(ids_conversionLookupCodes) then ids_conversionLookupCodes = create n_ds_cache_conversion_lookup_codes if not isValid(ids_conversionLookupCodes) then signalError(-1, "Failed creating Conversion Lookup Codes cache.") return -1 end if //register with the export object ids_conversionLookupCodes.of_register(this) //Do not add this object to the flush array, since it should only //be cleared/re-populated for a new export run //this.of_addToFlushArraDAT*y(ids_conversionLookupCodes) else ids_conversionLookupCodes.of_reset() end if //create rap operating months datastore if not isValid(ids_rapOperatingMonths) then ids_rapOperatingMonths = create n_ds_cache_rap_operating_months if not isValid(ids_rapOperatingMonths) then signalError(-1, "Failed creating Rap Operating Months cache.") return -1 end if //register with the export object ids_rapOperatingMonths.of_register(this) //Do not add this object to theDAT* flush array, since it should only //be cleared/re-populated for a new export run //this.of_addToFlushArray(ids_rapOperatingMonths) else ids_rapOperatingMonths.of_reset() end if //PERSISTENT DATASTORES ********************************************** //create primary site datastore if not isValid(ids_source) then ids_source = create n_ds_cache_primary_site if not isValid(ids_source) then signalError(-1, "Failed creating Primary Site cache.") return -1 end DAT*if //register with the export object ids_source.of_register(this) //Do not add this object to the flush array, since it should only //be cleared/re-populated for a new export run //this.of_addToFlushArray(ids_source) //lock the filter and sort on the Primary Site Datastore ids_source.of_setFilterLock(true) ids_source.of_setSortLock(true) else ids_source.of_reset() end if //create units datastore if not isValid(ids_units) then ids_units = create nDAT*_ds_cache_units if not isValid(ids_units) then signalError(-1, "Failed creating Units cache.") return -1 end if //register with the export object ids_units.of_register(this) //Do not add this object to the flush array, since it should only //be cleared/re-populated for a new export run //this.of_addToFlushArray(ids_units) else ids_units.of_reset() end if //create rap_metric lookups table datastore if not isValid(ids_metriclookups) then ids_metriclDAT*ookups = create n_ds_cache_rap_metric_lookups if not isValid(ids_units) then signalError(-1, "Failed creating Units cache.") return -1 end if //register with the export object ids_metriclookups.of_register(this) //Do not add this object to the flush array, since it should only //be cleared/re-populated for a new export run //this.of_addToFlushArray(ids_units) else ids_metriclookups.of_reset() end if //create metrics datastore if not isValid(ids_metriDAT*cs) then ids_metrics = create n_ds_cache_metrics if not isValid(ids_metrics) then signalError(-1, "Failed creating Metrics cache.") return -1 end if //register with the export object ids_metrics.of_register(this) //Do not add this object to the flush array, since it should only //be cleared/re-populated for a new export run //this.of_addToFlushArray(ids_metrics) else ids_metrics.of_reset() end if //create material groups datastore if not isValidDAT*(ids_materialGroups) then ids_materialGroups = create n_ds_cache_material_groups if not isValid(ids_materialGroups) then signalError(-1, "Failed creating Material Groups cache.") return -1 end if //register with the export object ids_materialGroups.of_register(this) //Do not add this object to the flush array, since it should only //be cleared/re-populated for a new export run //this.of_addToFlushArray(ids_materialGroups) else ids_materialGroups.of_reset(DAT*) end if //create state location coordinates datastore if not isValid(ids_stateLocationCoordinates) then ids_stateLocationCoordinates = create n_ds_cache_state_location_coordinates if not isValid(ids_stateLocationCoordinates) then signalError(-1, "Failed creating State Location Coordinates cache.") return -1 end if //register with the export object ids_stateLocationCoordinates.of_register(this) //Do not add this object to the flush array, since it should only DAT* //be cleared/re-populated for a new export run //this.of_addToFlushArray(ids_stateLocationCoordinates) else ids_stateLocationCoordinates.of_reset() end if //create state activity datastore if not isValid(ids_stateActivity) then ids_stateActivity = create n_ds_cache_state_activities if not isValid(ids_stateActivity) then signalError(-1, "Failed creating State Activity cache.") return -1 end if //register with the export object ids_stateActivity.of_regiDAT*ster(this) //Do not add this object to the flush array, since it should only //be cleared/re-populated for a new export run //this.of_addToFlushArray(ids_stateActivity) else ids_stateActivity.of_reset() end if //create county activity datastore if not isValid(ids_countyActivity) then ids_countyActivity = create n_ds_cache_county_activities if not isValid(ids_countyActivity) then signalError(-1, "Failed creating County Activity cache.") return -1 end ifDAT* //register with the export object ids_countyActivity.of_register(this) //Do not add this object to the flush array, since it should only //be cleared/re-populated for a new export run //this.of_addToFlushArray(ids_countyActivity) else ids_countyActivity.of_reset() end if //create source activity datastore if not isValid(ids_sourceActivity) then ids_sourceActivity = create n_ds_cache_source_activities if not isValid(ids_sourceActivity) then signalErrDAT*or(-1, "Failed creating Source Activity cache.") return -1 end if //register with the export object ids_sourceActivity.of_register(this) //Do not add this object to the flush array, since it should only //be cleared/re-populated for a new export run //this.of_addToFlushArray(ids_sourceActivity) else ids_sourceActivity.of_reset() end if //BLOCKING CACHE DATASTORES (NON-PERSISTENT) ********************************************** //create emissions datastorDAT*e if not isValid(ids_emissions) then ids_emissions = create n_ds_cache_emissions if not isValid(ids_emissions) then signalError(-1, "Failed creating Emissions cache.") return -1 end if //register with the export object ids_emissions.of_register(this) //add to flush array (the datastore will be reset for each new source) this.of_addToFlushArray(ids_emissions) else ids_emissions.of_reset() end if long ll_rows ll_rows = ids_emissions.rowcount() //crDAT*eate emission unit datastore if not isValid(ids_emissionUnit) then ids_emissionUnit = create n_ds_cache_emission_unit if not isValid(ids_emissionUnit) then signalError(-1, "Failed creating Emission Units cache.") return -1 end if //register with the export object ids_emissionunit.of_register(this) //add to flush array (the datastore will be reset for each new source) this.of_addToFlushArray(ids_emissionUnit) else ids_emissionUnit.of_reset() end if //crDAT*eate emission process datastore if not isValid(ids_emissionprocess) then ids_emissionprocess = create n_ds_cache_emission_process if not isValid(ids_emissionprocess) then signalError(-1, "Failed creating Emission Process cache.") return -1 end if //register with the export object ids_emissionprocess.of_register(this) //add to flush array (the datastore will be reset for each new source) this.of_addToFlushArray(ids_emissionprocess) else ids_emissionprocess.of_DAT*reset() end if //create emission release point datastore if not isValid(ids_emissionReleasePoint) then ids_emissionReleasePoint = create n_ds_cache_emission_release_point if not isValid(ids_emissionReleasePoint) then signalError(-1, "Failed creating Emission Release Point cache.") return -1 end if //register with the export object ids_emissionReleasePoint.of_register(this) //add to flush array (the datastore will be reset for each new source) this.of_addToFlushDAT*Array(ids_emissionReleasePoint) else ids_emissionReleasePoint.of_reset() end if //create fugitive release point datastore if not isValid(ids_fugitiveReleasePoint) then ids_fugitiveReleasePoint = create n_ds_cache_fugitive_release_point if not isValid(ids_fugitiveReleasePoint) then signalError(-1, "Failed creating Fugitive Release Point cache.") return -1 end if //register with the export object ids_fugitiveReleasePoint.of_register(this) //add to flush arDAT*ray (the datastore will be reset for each new source) this.of_addToFlushArray(ids_fugitiveReleasePoint) else ids_fugitiveReleasePoint.of_reset() end if //create site release point datastore if not isValid(ids_siteReleasePoint) then ids_siteReleasePoint = create n_ds_cache_site_release_point if not isValid(ids_siteReleasePoint) then signalError(-1, "Failed creating Site Release Point cache.") return -1 end if //register with the export object ids_siteReleaseDAT*Point.of_register(this) //add to flush array (the datastore will be reset for each new source) this.of_addToFlushArray(ids_siteReleasePoint) else ids_siteReleasePoint.of_reset() end if //create device activity datastore if not isValid(ids_deviceActivity) then ids_deviceActivity = create n_ds_cache_device_activities if not isValid(ids_deviceActivity) then signalError(-1, "Failed creating Device Activity cache.") return -1 end if //register with the exportDAT* object ids_deviceActivity.of_register(this) //Do not add this object to the flush array, since it should only //be cleared/re-populated for a new export run this.of_addToFlushArray(ids_deviceActivity) else ids_deviceActivity.of_reset() end if //create process activity datastore if not isValid(ids_processActivity) then ids_processActivity = create n_ds_cache_process_activities if not isValid(ids_processActivity) then signalError(-1, "Failed creating ProceDAT*ss Activity cache.") return -1 end if //register with the export object ids_processActivity.of_register(this) //add to flush array (the datastore will be reset for each new source) this.of_addToFlushArray(ids_processActivity) else ids_processActivity.of_reset() end if //create input stream activity datastore if not isValid(ids_inputStreamActivity) then ids_inputStreamActivity = create n_ds_cache_input_stream_activities if not isValid(ids_inputStreamActiDAT*vity) then signalError(-1, "Failed creating Input Stream Activity cache.") return -1 end if //register with the export object ids_inputStreamActivity.of_register(this) //add to flush array (the datastore will be reset for each new source) this.of_addToFlushArray(ids_inputStreamActivity) else ids_inputStreamActivity.of_reset() end if //create output stream activity datastore if not isValid(ids_outputStreamActivity) then ids_outputStreamActivity = createDAT* n_ds_cache_output_stream_activities if not isValid(ids_outputStreamActivity) then signalError(-1, "Failed creating Output Stream Activity cache.") return -1 end if //register with the export object ids_outputStreamActivity.of_register(this) //add to flush array (the datastore will be reset for each new source) this.of_addToFlushArray(ids_outputStreamActivity) else ids_outputStreamActivity.of_reset() end if //create county location coordinates datastore iDAT*f not isValid(ids_countyLocationCoordinates) then ids_countyLocationCoordinates = create n_ds_cache_county_location_coordinates if not isValid(ids_countyLocationCoordinates) then signalError(-1, "Failed creating County Location Coordinates cache.") return -1 end if //register with the export object ids_countyLocationCoordinates.of_register(this) //add to flush array (the datastore will be reset for each new source) this.of_addToFlushArray(ids_countyLocationCoordinates)DAT* else ids_countyLocationCoordinates.of_reset() end if //create source location coordinates datastore if not isValid(ids_sourceLocationCoordinates) then ids_sourceLocationCoordinates = create n_ds_cache_source_location_coordinates if not isValid(ids_sourceLocationCoordinates) then signalError(-1, "Failed creating Source Location Coordinates cache.") return -1 end if //register with the export object ids_sourceLocationCoordinates.of_register(this) //add DAT*to flush array (the datastore will be reset for each new source) this.of_addToFlushArray(ids_sourceLocationCoordinates) else ids_sourceLocationCoordinates.of_reset() end if //create device location coordinates datastore if not isValid(ids_deviceLocationCoordinates) then ids_deviceLocationCoordinates = create n_ds_cache_device_location_coordinates if not isValid(ids_deviceLocationCoordinates) then signalError(-1, "Failed creating Device Location Coordinates cache.") DAT* return -1 end if //register with the export object ids_deviceLocationCoordinates.of_register(this) //add to flush array (the datastore will be reset for each new source) this.of_addToFlushArray(ids_deviceLocationCoordinates) else ids_deviceLocationCoordinates.of_reset() end if //create process specific schedules datastore if not isValid(ids_processspecificschedules) then ids_processspecificschedules = create n_ds_cache_process_specific_schedules if not isVDAT*alid(ids_processspecificschedules) then signalError(-1, "Failed creating Process Specific Schedules cache.") return -1 end if //register with the export object ids_processspecificschedules.of_register(this) //add to flush array (the datastore will be reset for each new source) this.of_addToFlushArray(ids_processspecificschedules) else ids_processspecificschedules.of_reset() end if //create primary key checks for non point sources if not isValid(ids_primarykeyDAT*) then ids_primarykey = create n_ds_cache_primary_key_checks if not isValid(ids_primarykey) then signalError(-1, "Failed creating Process Specific Schedules cache.") return -1 end if //register with the export object ids_primarykey.of_register(this) //add to flush array (the datastore will be reset for each new source) // this.of_addToFlushArray(ids_primarykey) else ids_primarykey.of_reset() end if return 1 end function public function integer of_gDAT*etfilenameindex_old (long an_staterid, string as_filetype); integer li_i //check for existing files with these names for li_i = 1 to upperbound(istr_neiFileNames) // if istr_neiFileNames[li_i].state_rid = an_stateRid and istr_neiFileNames[li_i].source_type = as_fileType then // return li_i // end if next return 0 end function public function integer of_getfilenameindex (string as_filetype, string as_recordtype); integer li_i //check for existing files with these nameDAT*s for li_i = 1 to upperbound(istr_neiFileNames) if istr_neiFileNames[li_i].file_type = as_fileType and istr_neiFileNames[li_i].record_type = as_recordType then return li_i end if next return 0 end function public function string of_getfilename (string as_filetype, string as_recordtype); boolean lb_validFileName integer li_i string ls_fileName as_fileType = upper(as_fileType) as_recordType = upper(as_recordType) //validate the record type choose case as_recoDAT*rdType case "TR", "SI", "EU", "EP", "PE", "ER", "CE", "EM" //record type ok case else signalError(-1, "Invalid record type '" + as_recordType + "'") return "?" end choose //Determine if record type is valid for current file type lb_validFileName = false choose case as_fileType case "PT" choose case as_recordType case "TR", "SI", "EU", "EP", "PE", "ER", "CE", "EM" lb_validFileName = true end choose case "AR", "NR" choose case as_recordType case "TRDAT*", "EP", "CE", "PE", "EM" lb_validFileName = true end choose case "OR" choose case as_recordType case "TR", "PE", "EM" lb_validFileName = true end choose case else signalError(-1, "Invalid file type '" + as_fileType + "'") return "?" end choose if not lb_validFileName then //this file should not be written, but give it a name for debug purposes return "ERR-" + as_fileType + "-" + as_recordType end if //look for file name with current file type aDAT*nd record type ls_fileName = "" for li_i = 1 to upperbound(istr_neiFileNames) if istr_neiFileNames[li_i].file_type = as_fileType and istr_neiFileNames[li_i].record_type = as_recordType then ls_fileName = istr_neiFileNames[li_i].file_name exit end if next //nif change if ls_fileName = "" then choose case upper(this.is_file_system_version) case 'NIF2' of_n2_getfilename(as_filetype,as_recordtype) case 'NIF3' of_n3_getfilename(as_filetype,as_recordtype) end chDAT*oose return "?" end if return ls_fileName end function public function integer of_exporteu ();long ld_conversion_factor string ls_afsInvalidFlag, ls_rapidsUnits, ls_standardCode, ls_numerator, ls_denominator string ls_id, ls_sourceID boolean lb_find decimal ld_null long ll_rc, ll_row, ll_totalCount, ll_found, ll_null double ld_rid string ls_null, ls_filter, ls_find, ls_fileName n_ds_cache_emission_unit lnv_export lnv_export = ids_emissionUnit //Emission Unit DAT* string ls_RECORD_TYPE //CHARACTER 2 string ls_STATE_FIPS //CHARACTER 2 string ls_COUNTY_FIPS //CHARACTER 3 string ls_SITE_ID //CHARACTER 15 string ls_EMISSION_UNIT_ID //CHARACTER 6 string ls_ORIS_BOILER_ID //CHARACTER 5 long ll_SIC_UNIT_LEVEL //CHARACTER 4 string ls_NAICS_UNIT_LEVEL //CHARACTER 6 string ls_blank1 //CHARACTER 2 dec ld_DESIGN_CAPACITY //DECIMAL 10 string ls_DESIGN_CAPACITY_UNIT_NUMERATOR //CHARACTEDAT*R 10 string ls_DESIGN_CAPACITY_UNIT_DENOMINATOR //CHARACTER 10 dec ld_MAX_NAMEPLATE_CAPACITY //DECIMAL 10 string ls_EMISSION_UNIT_DESCRIPTION //CHARACTER 80 string ls_SUBMITTAL_FLAG //CHARACTER 4 //initialize variables setPointer(hourGlass!) setNull(ls_null) setNull(ld_null) setNull(ll_null) ll_totalCount = 0 ls_RECORD_TYPE = ids_emissionUnitOutput.of_getNeiRecordType() ls_STATE_FIPS = is_stateFIPS ls_COUNTY_FIPS = is_countyFIPS ls_SITE_ID = is_siteID ls_blank1 = lsDAT*_null ls_ORIS_BOILER_ID = ls_null ld_MAX_NAMEPLATE_CAPACITY = ld_null ls_SUBMITTAL_FLAG = is_submittalFlag for ll_row = 1 to lnv_export.rowCount() // //sets dynamic variables for acp ls_id = lnv_export.object.id[ll_row] ls_sourceID = lnv_export.object.source_id[ll_row] is_errorMessage = "Source ID = '" + f_msgstring(ls_sourceID) + '", Device ID = "' + f_msgstring(ls_ID) + '"' ls_EMISSION_UNIT_ID = lnv_export.object.emission_unit_id[ll_row] if len(ls_EMISSION_UNIT_ID) > 6 thDAT*en this.of_writeLogMessagewarning(ids_emissionunitoutput, "Emission Unit ID's length is > 6. The id will be right trimmed. " + & is_errorMessage + ", Emission Unit Id = '" + ls_EMISSION_UNIT_ID + "'" ) ls_EMISSION_UNIT_ID = right(ls_EMISSION_UNIT_ID, 6) end if ls_afsInvalidFlag = lnv_export.object.afs_invalid_flag[ll_row] if ls_afsInvalidFlag = 'Y' then ll_SIC_UNIT_LEVEL = 9999 this.of_writeLogMessageWarning(ids_emissionunitoutput, "Invalid SIC Unit Level: " + isDAT*_errorMessage ) else ll_SIC_UNIT_LEVEL = long(lnv_export.object.sic_code[ll_row]) end if ls_NAICS_UNIT_LEVEL = lnv_export.object.naics_code[ll_row] if isnull(ls_NAICS_UNIT_LEVEL) or len(ls_NAICS_UNIT_LEVEL) > 6 or len(ls_NAICS_UNIT_LEVEL) < 2 then this.of_writeLogMessageWarning(ids_emissionunitoutput, "NAICS Code '" + f_msgstring(ls_NAICS_UNIT_LEVEL) + & "' must be a length of 2, 3, 4, 5, or 6 and can't be null: " + is_errorMessage ) ls_NAICS_UNIT_LEVEL = ls_null endDAT* if ld_rid = lnv_export.object.rid[ll_row] ls_find = 'device_rid = ' + string(ld_rid) + ' and value_type = "DES" and number(value) > 0 and not isnull( value_unit_code )' lb_find = ids_deviceactivity.of_find(ls_find) if lb_find then //step 1 ld_DESIGN_CAPACITY = dec(ids_deviceactivity.of_getData('value')) ls_rapidsUnits = ids_deviceactivity.of_getData('value_unit_code') else //step 2 lb_find = ids_processactivity.of_find(ls_find) if lb_find then ld_DESIGN_CAPACDAT*ITY = dec(ids_processactivity.of_getData('value')) ls_rapidsUnits = ids_processactivity.of_getData('value_unit_code') end if end if if lb_find then //step 3 ls_find = 'rapids_unit_code = "' + ls_rapidsUnits + '"' lb_find = ids_units.of_find(ls_find) if lb_find then ld_conversion_factor = ids_units.of_getdata('conversion_factor_amt') ls_standardCode = ids_units.of_getdata('standard_code') ls_numerator = ids_units.of_getdata('numerator_unit_code') ls_denoDAT*minator = ids_units.of_getdata('denominator_unit_code') if not isnull(ls_numerator) and ls_numerator <> '' then ls_DESIGN_CAPACITY_UNIT_NUMERATOR = ls_numerator ls_DESIGN_CAPACITY_UNIT_DENOMINATOR = ls_denominator else // step 4 ls_find = 'rapids_unit_code = "' + ls_standardCode + '"' lb_find = ids_units.of_find(ls_find) if lb_find then ls_numerator = ids_units.of_getdata('numerator_unit_code') ls_denominator = ids_units.of_getdata('denominator_unDAT*it_code') if not isnull(ls_numerator) and ls_numerator <> '' then ld_DESIGN_CAPACITY = ld_DESIGN_CAPACITY * ld_conversion_factor ls_DESIGN_CAPACITY_UNIT_NUMERATOR = ls_numerator ls_DESIGN_CAPACITY_UNIT_DENOMINATOR = ls_denominator else //step 5 this.of_writeLogMessagewarning(ids_emissionunitoutput, "Design Capacity could not be exported: " + is_errorMessage + ", Design Capacity " + f_msgstring(ld_DESIGN_CAPACITY) + & ", Design Capacity Units DAT*= '" + f_msgstring(ls_rapidsUnits) + "'") lb_find = false end if end if end if end if end if if not lb_find then ld_DESIGN_CAPACITY = ld_null ls_DESIGN_CAPACITY_UNIT_NUMERATOR = ls_null ls_DESIGN_CAPACITY_UNIT_DENOMINATOR = ls_null //write warning message end if ls_EMISSION_UNIT_DESCRIPTION = lnv_export.object.name[ll_row] if ls_EMISSION_UNIT_DESCRIPTION = '@' or ls_EMISSION_UNIT_DESCRIPTION = '' or isnull(ls_EMISSION_UNIT_DESCRIPTION) then DAT* ls_EMISSION_UNIT_DESCRIPTION = lnv_export.object.comment_text[ll_row] end if if ls_EMISSION_UNIT_ID <> ls_id then ls_EMISSION_UNIT_DESCRIPTION = 'RAPIDS ID= "' + ls_id + '". ' + ls_EMISSION_UNIT_DESCRIPTION end if ls_EMISSION_UNIT_DESCRIPTION = left(trim(ls_EMISSION_UNIT_DESCRIPTION), 80) //insert data into acp datastore ll_rc = ids_emissionunitoutput.of_addRow( ls_RECORD_TYPE, ls_STATE_FIPS, ls_COUNTY_FIPS, ls_SITE_ID, & ls_EMISSION_UNIT_ID, ls_ORIS_BOILEDAT*R_ID, string(ll_SIC_UNIT_LEVEL), & ls_NAICS_UNIT_LEVEL, ls_blank1, ld_DESIGN_CAPACITY, & ls_DESIGN_CAPACITY_UNIT_NUMERATOR, & ls_DESIGN_CAPACITY_UNIT_DENOMINATOR, ld_MAX_NAMEPLATE_CAPACITY, & ls_EMISSION_UNIT_DESCRIPTION, ls_SUBMITTAL_FLAG ) //if addrow is unsuccessful then exit loop if ll_rc < 0 then exit else ll_totalCount++ end if next is_errorMessage = '' return ll_totalCount end function public function integer of_eDAT*xportep ();long ld_conversion_factor string ls_epaInvalidFlag, ls_findpostfix boolean lb_find decimal ld_null, ad_seasonThroughPut[4], ad_seasonThroughPutReset[4] long ll_rc, ll_row, ll_totalCount, ll_found, ll_null double ld_rid string ls_null, ls_filter, ls_find, ls_fileName, ls_deviceid, ls_sourceid, ls_ID n_ds_cache_emission_process lnv_export lnv_export = ids_emissionprocess //Emission process string ls_RECORD_TYPE //CHARACTER 2 string ls_STATE_FIPS //CHARDAT*ACTER 2 string ls_COUNTY_FIPS //CHARACTER 3 string ls_SITE_ID //CHARACTER 15 string ls_EMISSION_UNIT_ID //CHARACTER 6 string ls_EMISSION_RELEASE_POINT_ID //CHARACTER 6 string ls_PROCESS_ID //CHARACTER 6 string ls_SCC //CHARACTER 10 string ls_PROCESS_MACT_CODE //CHARACTER 6 string ls_EMISSION_PROCESS_DESCRIPTION //CHARACTER 78 decimal ll_WINTER_THROUGHPUT_PCT //decimal 3 decimal ll_SPRING_THROUGHPUT_PCT //decimal 3 decimal ll_SUMMER_THRDAT*OUGHPUT_PCT //decimal 3 decimal ll_FALL_THROUGHPUT_PCT //decimal 3 decimal ll_ANNUAL_AVG_DAYS_PER_WEEK //NUMBER 1 decimal ll_ANNUAL_AVG_WEEKS_PER_YEAR //NUMBER 2 decimal ll_ANNUAL_AVG_HOURS_PER_DAY //NUMBER 2 decimal ll_ANNUAL_AVG_HOURS_PER_YEAR //NUMBER 4 decimal ld_HEAT_CONTENT //DECIMAL 8 decimal ld_SULFUR_CONTENT //DECIMAL 5 decimal ld_ASH_CONTENT //DECIMAL 5 string ls_PROCESS_MACT_COMPLIANCE_STATUS //CHARACTER 6 string ls_SUBMITTAL_FLAG DAT* //CHARACTER 4 // ////initialize variables setPointer(hourGlass!) setNull(ls_null) setNull(ld_null) setNull(ll_null) ll_totalCount = 0 ls_RECORD_TYPE = ids_pointEmissionProcessOutput.of_getNeiRecordType() ls_STATE_FIPS = is_stateFIPS ls_COUNTY_FIPS = is_countyFIPS ls_SITE_ID = is_siteID ls_PROCESS_MACT_CODE = ls_null ld_HEAT_CONTENT = ld_null ls_PROCESS_MACT_COMPLIANCE_STATUS = ls_null ls_SUBMITTAL_FLAG = is_submittalFlag //initialize throughputs //for ll_row = 1 to upperbounDAT*d(ad_seasonThroughPutReset) // ad_seasonThroughPutReset[ll_row] = ld_null //next for ll_row = 1 to lnv_export.rowCount() //sets dynamic variables for acp //clear throughput array //ad_seasonThroughPut = ad_seasonThroughPutReset ls_id = lnv_export.object.process_id[ll_row] ls_deviceid = lnv_export.object.device_id[ll_row] ls_sourceid = lnv_export.object.source_id[ll_row] is_errormessage = "Source ID = '" + f_msgstring(ls_sourceID) + "', Device ID = '" + f_msgstring(ls_deviceid) +DAT* & "', ID = '" + f_msgstring(ls_id) + "'" ls_find = 'rid = ' + string(lnv_export.object.device_rid[ll_row]) if ids_emissionUnit.of_find(ls_find) then ls_EMISSION_UNIT_ID = ids_emissionUnit.of_getData('emission_unit_id') else ls_EMISSION_UNIT_ID = ls_null end if if len(ls_EMISSION_UNIT_ID) > 6 then this.of_writeLogMessagewarning(ids_pointemissionprocessoutput, "Emission Unit ID's length is > 6. The id will be right trimmed. " + & is_errormessage + ", Emission Unit Id = DAT*'" + f_msgstring(ls_EMISSION_UNIT_ID) + "'" ) ls_EMISSION_UNIT_ID = right(ls_EMISSION_UNIT_ID, 6) end if // ls_EMISSION_RELEASE_POINT_ID = lnv_export.object.release_point_id[ll_row] if len(ls_EMISSION_RELEASE_POINT_ID) > 6 then this.of_writeLogMessagewarning(ids_pointemissionprocessoutput, "Release Point ID's length is > 6. The id will be right trimmed. " + & is_errorMessage + ", Release Point ID = '" + f_msgstring(ls_EMISSION_RELEASE_POINT_ID) + "'" ) ls_EMISSION_RELEADAT*SE_POINT_ID = right(ls_EMISSION_RELEASE_POINT_ID, 6) end if ls_PROCESS_ID = lnv_export.object.emission_process_id[ll_row] if len(ls_process_id) > 6 then this.of_writeLogMessagewarning(ids_pointemissionprocessoutput, "Process ID's length is > 6. The id will be right trimmed. " + & is_errorMessage + ", Process id = '" + f_msgstring(ls_process_id) + "'" ) ls_process_id = right(ls_process_id, 6) end if ls_SCC = lnv_export.object.scc_ams_code[ll_row] ls_epaInvalidFlag = lnDAT*v_export.object.epa_invalid_flag[ll_row] if ls_epaInvalidFlag = 'Y' then ls_SCC = fill(' ', 10) this.of_writeLogMessagewarning(ids_pointemissionprocessoutput, "EPA invalid flag was set. " + & "Only right most 6 characters will be used: " + is_errorMessage + ", SCC AMS Code = '" + f_msgstring(ls_SCC) + "'" ) end if ls_EMISSION_PROCESS_DESCRIPTION = lnv_export.object.name[ll_row] if isnull(ls_EMISSION_PROCESS_DESCRIPTION) or ls_EMISSION_PROCESS_DESCRIPTION = '' then ls_EMISSION_PRDAT* OCESS_DESCRIPTION = lnv_export.object.comment_text[ll_row] end if if ls_PROCESS_ID <> lnv_export.object.process_id[ll_row] then ls_EMISSION_PROCESS_DESCRIPTION = 'RAPIDS ID= "' + lnv_export.object.process_id[ll_row] + '". ' + ls_EMISSION_PROCESS_DESCRIPTION end if ls_EMISSION_PROCESS_DESCRIPTION = left(trim(ls_EMISSION_PROCESS_DESCRIPTION), 78) //populates the seasonthroughPut array if dec(lnv_export.object.winter_throughput_pct[ll_row]) >= 10 then ll_WINTER_THROUGHPUT_PCT = rouDAT* nd(dec(lnv_export.object.winter_throughput_pct[ll_row]),0) else ll_WINTER_THROUGHPUT_PCT = dec(lnv_export.object.winter_throughput_pct[ll_row]) end if if dec(lnv_export.object.spring_throughput_pct[ll_row]) >= 10 then ll_SPRING_THROUGHPUT_PCT = round(dec(lnv_export.object.spring_throughput_pct[ll_row]),0) else ll_SPRING_THROUGHPUT_PCT = dec(lnv_export.object.spring_throughput_pct[ll_row]) end if if dec(lnv_export.object.summer_throughput_pct[ll_row]) >= 10 then ll_SUMDAT*MER_THROUGHPUT_PCT = round(dec(lnv_export.object.summer_throughput_pct[ll_row]),0) else ll_SUMMER_THROUGHPUT_PCT = dec(lnv_export.object.summer_throughput_pct[ll_row]) end if if dec(lnv_export.object.fall_throughput_pct[ll_row]) >= 10 then ll_FALL_THROUGHPUT_PCT = round(dec(lnv_export.object.fall_throughput_pct[ll_row]),0) else ll_FALL_THROUGHPUT_PCT = dec(lnv_export.object.fall_throughput_pct[ll_row]) end if ld_rid = lnv_export.object.process_rid[ll_row] ls_find = 'procDAT*ess_rid = ' + string(ld_rid) ll_ANNUAL_AVG_DAYS_PER_WEEK = dec(of_getactivitydata ( 'PROCESS', ld_rid, 'D/W USE RATE', 'value' )) ll_ANNUAL_AVG_WEEKS_PER_YEAR = dec(of_getactivitydata ( 'PROCESS', ld_rid, 'W/Y USE RATE', 'value' )) ll_ANNUAL_AVG_HOURS_PER_DAY = dec(of_getactivitydata ( 'PROCESS', ld_rid, 'H/D USE RATE', 'value' )) ll_ANNUAL_AVG_HOURS_PER_YEAR = dec(of_getactivitydata ( 'PROCESS', ld_rid, 'H/Y USE RATE', 'value' )) ld_SULFUR_CONTENT = dec(of_getactivitydata ( 'INSTREAM',DAT* ls_find, 'S CONTENT', 'value' )) ld_ASH_CONTENT = dec(of_getactivitydata ( 'INSTREAM', ls_find, 'ASH CONTENT', 'value' )) //insert data into acp datastore ll_rc = ids_pointemissionprocessoutput.of_addRow(ls_RECORD_TYPE, ls_STATE_FIPS, ls_county_fips, ls_SITE_ID, ls_EMISSION_UNIT_ID, & ls_EMISSION_RELEASE_POINT_ID, ls_PROCESS_ID, ls_SCC, ls_PROCESS_MACT_CODE, & ls_EMISSION_PROCESS_DESCRIPTION, ll_WINTER_THROUGHPUT_PCT, & ll_SPRING_THROUGHPUT_PCT, ll_SUDAT*MMER_THROUGHPUT_PCT, ll_FALL_THROUGHPUT_PCT, & ll_ANNUAL_AVG_DAYS_PER_WEEK, ll_ANNUAL_AVG_WEEKS_PER_YEAR, & ll_ANNUAL_AVG_HOURS_PER_DAY, ll_ANNUAL_AVG_HOURS_PER_YEAR, ld_HEAT_CONTENT, & ld_SULFUR_CONTENT, ld_ASH_CONTENT, ls_PROCESS_MACT_COMPLIANCE_STATUS, & ls_SUBMITTAL_FLAG ) //if addrow is unsuccessful then exit loop if ll_rc < 0 then exit else ll_totalCount++ end if next is_errorMessage = '' return ll_totalCount end DAT*function public function integer of_loadcacheblockdata (long al_block); long ll_rc datetime ldt_start string ls_confidentialFlag setPointer(hourglass!) //*** DEVICE ACTIVITIES DATA SET ******************************************************** if this.of_getRun() then ll_rc = ids_deviceActivity.of_populate() if ll_rc < 0 then this.of_writeLogMessageError("Error in Populating: " + ids_deviceActivity.is_basefilename ) return ll_rc end if if ib_debug then ids_deviceDAT*Activity.of_saveToFile(al_block) end if end if //*** PROCESS ACTIVITIES DATA SET ******************************************************** if this.of_getRun() then ll_rc = ids_processActivity.of_populate() if ll_rc < 0 then this.of_writeLogMessageError("Error in Populating: " + ids_processActivity.is_basefilename ) return ll_rc end if if ib_debug then ids_processActivity.of_saveToFile(al_block) end if end if //*** INPUT STREAM ACTIVITIES DATA SET **DAT******************************************************* if this.of_getRun() then ll_rc = ids_inputStreamActivity.of_populate() if ll_rc < 0 then this.of_writeLogMessageError("Error in Populating: " + ids_inputStreamActivity.is_basefilename ) return ll_rc end if if ib_debug then ids_inputStreamActivity.of_saveToFile(al_block) end if end if //*** OUTPUT STREAM ACTIVITIES DATA SET ******************************************************** if this.of_getRun() then DAT* ll_rc = ids_outputStreamActivity.of_populate() if ll_rc < 0 then this.of_writeLogMessageError("Error in Populating: " + ids_outputStreamActivity.is_basefilename ) return ll_rc end if if ib_debug then ids_outputStreamActivity.of_saveToFile(al_block) end if end if //*** COUNTY LOCATION COORDINATES ACTIVITIES DATA SET ******************************************************** if this.of_getRun() then ll_rc = ids_countyLocationCoordinates.of_populate() if ll_rc < 0DAT* then this.of_writeLogMessageError("Error in Populating: " + ids_countyLocationCoordinates.is_basefilename ) return ll_rc end if if ib_debug then ids_countyLocationCoordinates.of_saveToFile(al_block) end if end if //*** SOURCE LOCATION COORDINATES ACTIVITIES DATA SET ******************************************************** if this.of_getRun() then ll_rc = ids_sourceLocationCoordinates.of_populate() if ll_rc < 0 then this.of_writeLogMessageError("Error in PopuDAT* lating: " + ids_sourceLocationCoordinates.is_basefilename ) return ll_rc end if if ib_debug then ids_sourceLocationCoordinates.of_saveToFile(al_block) end if end if //*** DEVICE LOCATION COORDINATES ACTIVITIES DATA SET ******************************************************** if this.of_getRun() then ll_rc = ids_deviceLocationCoordinates.of_populate() if ll_rc < 0 then this.of_writeLogMessageError("Error in Populating: " + ids_deviceLocationCoordinates.is_basefiDAT*"lename ) return ll_rc end if if ib_debug then ids_deviceLocationCoordinates.of_saveToFile(al_block) end if end if //*** EMISSIONS DATA SET ******************************************************** if this.of_getRun() then ll_rc = ids_emissions.of_populate() if ll_rc < 0 then this.of_writeLogMessageError("Error in Populating: " + ids_emissions.is_basefilename ) return ll_rc end if //if no emission records are found skip the whole source if ll_rc = 0 thDAT*$en this.of_writeLogMessage("No emission records found for Source ID: " + f_msgstring(is_sourceID) + ". Skipping Source.") ids_source.of_setException(is_sourceID, "Source ID", "normal", "No emission records found.") return 0 end if end if //*** ADDITIONAL POST-PROCESSING FOR SITE DATA SET ******************************************************** //(required for further emissions data post-processing) if this.of_getRun() then ls_confidentialFlag = ids_source.of_setConfidenDAT*&tialFlag(il_sourceRow) end if //*** ADDITIONAL POST-PROCESSING FOR EMISSION DATA SET ******************************************************** if this.of_getRun() then ldt_start = datetime(today(), now()) ids_emissions.il_rowsDiscarded = 0 ll_rc = ids_emissions.of_scanReverse("SET_CONFIDENTIAL_FLAG_AND_DATA_LEVEL", ls_confidentialFlag) if ll_rc < 0 then this.of_writeLogMessageError("Error in Post Processing SET_CONFIDENTIAL_FLAG_AND_DATA_LEVEL: " + ids_emissions.is_basefiDAT*(lename ) return ll_rc end if //if scan stopped without completing, that means skip the source if ll_rc > 0 then //set exception is called in ids_emissions to set specific error this.of_writeLogMessageError("Could not set Emissions data level for Source ID: " + is_sourceID + ". Skipping Source.") return 0 end if //log discarded emissions if ids_emissions.il_rowsDiscarded > 0 then this.of_writeLogMessage("Discarded " + string(ids_emissions.il_rowsDiscarded) + " EDAT**mission records during data level processing.") end if //log case where all emissions discarded if ids_emissions.rowCount() <= 0 then this.of_writeLogMessageWarning("Could not set Emissions data level for Source ID: " + is_sourceID + ". Skipping Source.") ids_source.of_setException(is_sourceID, "Source ID", "warning", "Could not set Emissions data level.") return 0 end if ids_emissions.il_rowsDiscarded = 0 ll_rc = ids_emissions.of_scanReverse("SET_EFFICIENCIES") iDAT*,f ll_rc < 0 then this.of_writeLogMessageError("Error in Post Processing SET_EFFICIENCIES: " + ids_emissions.is_basefilename ) return ll_rc end if ids_emissions.il_rowsDiscarded = 0 ll_rc = ids_emissions.of_scanReverse("SET_CONTROLS") if ll_rc < 0 then this.of_writeLogMessageError("Error in Post Processing SET_CONTROLS: " + ids_emissions.is_basefilename ) return ll_rc end if ids_emissions.il_rowsDiscarded = 0 ll_rc = ids_emissions.of_scanReverse("SET_RELEASE_DAT*.PT_FOR_SITE") if ll_rc < 0 then this.of_writeLogMessageError("Error in Post Processing SET_RELEASE_PT_FOR_SITE: " + ids_emissions.is_basefilename ) return ll_rc end if if ib_perf_debug then this.of_writeLogMessage("Post-processing for ids_emissions Elapsed Time: " + of_elapsedTime(ldt_start, datetime(today(), now()))) end if if ib_debug then ids_emissions.of_saveToFile(al_block) end if end if //*** ADDITIONAL POST-PROCESSING FOR SITE DATA SET **********DAT*0********************************************** if this.of_getRun() then //set flags in source data set (only for current row) //check for criteria emissions if ids_emissions.of_find("criteria_flag = 'Y'") then ids_source.object.criteria_flag[il_sourceRow] = "Y" end if //check for toxics emissions if ids_emissions.of_find("isNull(criteria_flag) or criteria_flag = 'N'") then ids_source.object.toxics_flag[il_sourceRow] = "Y" end if end if //*** EMISSION UNIT DDAT*2ATA SET ******************************************************** if this.of_getRun() then ll_rc = ids_emissionUnit.of_populate() if ll_rc < 0 then this.of_writeLogMessageError("Error in Populating: " + ids_emissionUnit.is_basefilename ) return ll_rc end if if ib_debug then ids_emissionUnit.of_saveToFile(al_block) end if end if //*** PROCESS SPECIFIC SCHEDULES DATA SET ******************************************************** if this.of_getRun() then ll_rcDAT*4 = ids_processSpecificSchedules.of_populate() if ll_rc < 0 then this.of_writeLogMessageError("Error in Populating: " + ids_processSpecificSchedules.is_basefilename ) return ll_rc end if if ib_debug then ids_processspecificschedules.of_saveToFile(al_block) end if end if //*** EMISSION PROCESS DATA SET ******************************************************** if this.of_getRun() then ll_rc = ids_emissionProcess.of_populate() if ll_rc < 0 then this.of_writeLogMDAT*6essageError("Error in Populating: " + ids_emissionProcess.is_basefilename ) return ll_rc end if if ib_debug then ids_emissionProcess.of_saveToFile(al_block) end if end if //*** EMISSION RELEASE POINT DATA SET ******************************************************** if this.of_getRun() then ll_rc = ids_emissionReleasePoint.of_populate() if ll_rc < 0 then this.of_writeLogMessageError("Error in Populating: " + ids_emissionReleasePoint.is_basefilename ) returDAT*8n ll_rc end if if ib_debug then ids_emissionReleasePoint.of_saveToFile(al_block) end if end if //*** FUGITIVE RELEASE POINT DATA SET ******************************************************** if this.of_getRun() then ll_rc = ids_fugitiveReleasePoint.of_populate() if ll_rc < 0 then this.of_writeLogMessageError("Error in Populating: " + ids_fugitiveReleasePoint.is_basefilename ) return ll_rc end if if ib_debug then ids_fugitiveReleasePoint.of_saveToFile(alDAT*:_block) end if end if //*** SITE RELEASE POINT DATA SET ******************************************************** if this.of_getRun() then ll_rc = ids_siteReleasePoint.of_populate() if ll_rc < 0 then this.of_writeLogMessageError("Error in Populating: " + ids_siteReleasePoint.is_basefilename ) return ll_rc end if if ib_debug then ids_siteReleasePoint.of_saveToFile(al_block) end if end if return 1 end function public function integer of_resetoutputfiDAT*<les ();long ll_rc = 1 string ls_eventname = "resetoutputfiles" ll_rc = triggerevent("ue_" + this.is_file_system_version + "_" + ls_eventname ) return ll_rc end function public function integer of_exportep_getthroughputs (long al_row, ref decimal ad_throughputs[4]);//step 1 dec ld_monthlyAmount[12], ld_relativeActivityAmt, ld_mAmount, ld_monthlyAmountReset[12], ld_totalAmount, ld_null integer li_endMonthNo, li_beginMonthNo, li_months, li_month, li_monthIndex string ls_find, ls_yearlDAT*>yScheduleCode boolean lb_find, lb_populatethroughputs long ll_rc, ll_totalCount = 0 setnull(ld_null) //initialize monthly amount reset for li_monthIndex = 1 to upperbound(ld_monthlyAmountReset) ld_monthlyAmountReset[li_monthIndex] = ld_null next lb_populatethroughputs = false ld_totalAmount = 0 //step 2 ls_find = 'process_rid = ' + string(ids_emissionprocess.object.process_rid[al_row]) lb_find = ids_processspecificschedules.of_find(ls_find) //step 6 repeat steps 3-5 for eDAT*@ach record retrieved do while lb_find li_beginMonthNo = integer(ids_processspecificschedules.of_getdata('begin_month_no')) li_endMonthNo = integer(ids_processspecificschedules.of_getdata('end_month_no')) ld_relativeActivityAmt = ids_processspecificschedules.of_getdata('relative_activity_amt') //step 3 - calculate number of months if li_endMonthNo < li_beginMonthNo then li_endMonthNo = li_endMonthNo + 12 end if li_months = li_endMonthNo - li_beginMonthNo + 1 //step 4 - montDAT*Bhly amount ld_mAmount = ld_relativeActivityAmt / li_months //step 5 li_month = li_beginMonthNo Do while li_month <= li_endMonthNo if mod(li_month, 12) = 0 then li_monthIndex = 12 else li_monthIndex = mod(li_month, 12) end if ld_monthlyAmount[li_monthIndex] = ld_mAmount ld_totalAmount = ld_totalAmount + ld_mAmount li_month++ loop lb_find = ids_processspecificschedules.of_findNext() loop //step 7 check to make sure all 12 slots are filDAT*Dled. if not of_exportep_checkmonthamounts (ld_monthlyAmount ) then //step 8 check against the rap_operating_months //clear monthly amount array and total amount array. ld_monthlyAmount= ld_monthlyAmountReset ld_totalAmount = 0 ls_yearlyScheduleCode = trim(ids_emissionprocess.object.yearly_schedule_code[al_row]) if not isnull(ls_yearlyScheduleCode) and ls_yearlyScheduleCode <> '' then //open up rap operating months cache if this.of_getRun() then ll_rc = ids_rapoperDAT*Fatingmonths.of_populate(ls_yearlyScheduleCode) if ll_rc < 0 then return ll_rc end if if ib_debug then ids_rapoperatingmonths.of_saveToFile(1) end if end if for li_monthIndex = 1 to ll_rc if li_monthIndex >= 1 and li_monthIndex <= upperbound(ld_monthlyAmount) then ld_monthlyAmount[li_monthIndex] = ld_mAmount ld_totalAmount = ld_totalAmount + ld_mAmount end if next if of_exportep_checkmonthamounts (ld_monthlyAmount ) thenDAT*H lb_populatethroughputs = true end if end if else lb_populatethroughputs = true end if if lb_populatethroughputs and ld_totalAmount <> 0 then //Winter Throughput Pct ad_throughputs[1] = 100 * (ld_monthlyAmount[12] + ld_monthlyAmount[1] + ld_monthlyAmount[2] ) / ( ld_totalAmount ) //Spring Throughput Pct ad_throughputs[2] = 100 * (ld_monthlyAmount[3] + ld_monthlyAmount[4] + ld_monthlyAmount[5] ) / ( ld_totalAmount ) //Summer Throughput Pct ad_throughputsDAT*J[3] = 100 * (ld_monthlyAmount[6] + ld_monthlyAmount[7] + ld_monthlyAmount[8] ) / ( ld_totalAmount ) //Fall Throughput Pct ad_throughputs[4] = 100 * (ld_monthlyAmount[9] + ld_monthlyAmount[10] + ld_monthlyAmount[11] ) / ( ld_totalAmount ) end if return 1 end function public function boolean of_exportep_checkmonthamounts (decimal ad_monthAmounts[12]);boolean lb_find integer li_monthIndex //step 7 check to make sure all 12 slots are filled. li_monthIndex = 1 lb_find = true DDAT*LO if isnull(ad_monthAmounts[li_monthIndex]) then lb_find = false exit end if li_monthIndex++ LOOP UNTIL li_monthIndex > upperbound(ad_monthAmounts) return lb_find end function public function long of_exporter ();long ll_rc, ll_row, ll_totalCount, ll_found, ll_null double ld_rid, ldb_null string ls_null, ls_filter, ls_find, ls_fileName integer li_null, li_recordSet, li_recordSetCount decimal ld_null n_ds_nei_cache_base lnv_export n_ds_nei_location_cache_base lnv_locaDAT*Ntion boolean lb_stackTypeFound string ls_metricCode, ls_erID, ls_stackType double ld_errid string ls_name //emission release point record set //COLUMN NAME //DATA TYPE WIDTH string ls_RECORD_TYPE //CHARACTER 2 string ls_STATE_FIPS //CHARACTER 2 string ls_COUNTY_FIPS //CHARACTER 3 string ls_SITE_ID //CHARACTER 15 string ls_blank1 //CHARACTER 6 string ls_EMISSION_RELEASE_POINT_ID //CHARACTER 6 string ls_EMISSION_RELEASE_PODAT*PINT_TYPE //CHARACTER 2 string ls_blank2 //CHARACTER 10 dec ld_STACK_HEIGHT //DECIMAL 10 dec ld_STACK_DIAMETER //DECIMAL 10 dec ldb_STACK_FENCELINE_DISTANCE //NUMBER 8 dec ld_EXIT_GAS_TEMPERATURE //DECIMAL 10 dec ld_EXIT_GAS_VELOCITY //DECIMAL 10 dec ld_EXIT_GAS_FLOW_RATE //DECIMAL 10 dec ld_X_COORDINATE //DECIMAL 11 dec ld_Y_COORDINATE //DECIMAL 10 int li_UTM_ZONE //NUMBER 2 string ls_XY_COORDINATE_TYPE //CHARACTEDAT*RR 8 double ldb_HORIZONTAL_AREA_FUGITIVE //NUMBER 8 double ldb_RELEASE_HEIGHT_FUGITIVE //NUMBER 8 string ls_FUGITIVE_DIMENSIONS_UNIT //CHARACTER 10 string ls_EMISSION_RELEASE_PT_DESCRIPTION //CHARACTER 80 string ls_SUBMITTAL_FLAG //CHARACTER 4 ////initialize variables setPointer(hourGlass!) setNull(ls_null) setNull(ldb_null) setNull(ll_null) setnull(li_null) setnull(ld_null) ll_totalCount = 0 li_recordSetCount = 3 ls_metricCode = of_checkMetric('AFS STK TYPE', 'DDAT*TEVICE') ls_RECORD_TYPE = ids_emissionReleasePtOutput.of_getNeiRecordType() ls_STATE_FIPS = is_stateFIPS ls_COUNTY_FIPS = is_countyFIPS ls_SITE_ID = is_siteID ls_blank1 = ls_null ls_blank2 = ls_null ldb_STACK_FENCELINE_DISTANCE = ld_null ldb_HORIZONTAL_AREA_FUGITIVE = ldb_null ls_FUGITIVE_DIMENSIONS_UNIT = ls_null ls_SUBMITTAL_FLAG = is_submittalFlag for li_recordSet = 1 to li_recordSetCount if li_recordSet = 1 then lnv_export = ids_emissionReleasePoint elseif li_recordDAT*VSet = 2 then lnv_export = ids_fugitiveReleasePoint else lnv_export = ids_siteReleasePoint end if for ll_row = 1 to lnv_export.rowCount() ld_errid = lnv_export.object.rid[ll_row] ls_erID = lnv_export.object.id[ll_row] is_errorMessage = "Source ID = '" + f_msgstring(lnv_export.object.source_id[ll_row]) + "', Id = '" + f_msgstring(ls_erID) + "'" //sets dynamic variables for emission release point ls_EMISSION_RELEASE_POINT_ID = lnv_export.object.release_point_id[ll_row] ifDAT*X len(ls_EMISSION_RELEASE_POINT_ID) > 6 then this.of_writeLogMessagewarning(ids_emissionReleasePtOutput, "Emission Release Point ID's length is > 6. The id will be right trimmed. " + & is_errorMessage + ", Emission Release Point Id = '" + ls_EMISSION_RELEASE_POINT_ID + "'" ) ls_EMISSION_RELEASE_POINT_ID = right(ls_EMISSION_RELEASE_POINT_ID, 6) end if lb_stackTypeFound = false ls_find = "device_rid = " + string(ld_errid) + " and metric_code = '" + ls_metricCode + "'" DAT*Z ls_EMISSION_RELEASE_POINT_TYPE = lnv_export.object.point_type[ll_row] if ids_deviceActivity.of_find(ls_find) then //afs stk type metric found ls_stackType = trim(string(ids_deviceActivity.of_getData("value"))) if ids_conversionLookupCodes.of_find("system_code = 'NEI' and rapids_field_name = 'AFS_STK_TYPE' and rapids_value_name = '" + ls_stackType + "'") then lb_stackTypeFound = true ls_EMISSION_RELEASE_POINT_TYPE = trim(string(ids_conversionLookupCodes.of_getData("system_valueDAT*\_name_1"))) end if end if if not lb_stackTypeFound then //valid afs stk type metric NOT found if ls_EMISSION_RELEASE_POINT_TYPE = 'STACK' then ls_EMISSION_RELEASE_POINT_TYPE = '02' elseif ls_EMISSION_RELEASE_POINT_TYPE = 'FUGITIVE' then ls_EMISSION_RELEASE_POINT_TYPE = '01' else ls_EMISSION_RELEASE_POINT_TYPE = is_defaultReleasePointType end if end if ls_metricCode = of_checkMetric('HEIGHT', 'DEVICE') ls_find = "device_rid = " + string(ld_errDAT*^id) + " and metric_code = '" + ls_metricCode + "'" ld_STACK_HEIGHT = dec(of_exporter_findandconvertunits(ids_deviceActivity, ls_find, 'FT')) ls_metricCode = of_checkMetric('DIAMETER', 'DEVICE') ls_find = "device_rid = " + string(ld_errid) + " and metric_code = '" + ls_metricCode + "'" ld_STACK_DIAMETER = dec(of_exporter_findandconvertunits(ids_deviceActivity, ls_find, 'FT')) ls_metricCode = of_checkMetric('STR TEMP', 'OUTSTREAM') ls_find = "device_rid = " + string(ld_errid) +DAT*` " and metric_code = '" + ls_metricCode + & "' and ( value_type = 'AVG' or isnull(value_type) or value_type = '' ) and value_unit_code in ('F', 'C') " ld_EXIT_GAS_TEMPERATURE = dec(of_exporter_findandconvertunits(ids_outputStreamActivity, ls_find, 'F')) ls_metricCode = of_checkMetric('VELOCITY', 'OUTSTREAM') ls_find = "device_rid = " + string(ld_errid) + " and metric_code = '" + ls_metricCode + & "' and ( value_type = 'AVG' or isnull(value_type) or value_type = '' ) " DAT*b ld_EXIT_GAS_VELOCITY = dec(of_exporter_findandconvertunits(ids_outputStreamActivity, ls_find, 'FT/SEC')) ls_metricCode = of_checkMetric('VOL RATE' , 'OUTSTREAM') ls_find = "device_rid = " + string(ld_errid) + " and metric_code = '" + ls_metricCode + & "' and ( value_type = 'AVG' or isnull(value_type) or value_type = '' ) " ld_EXIT_GAS_FLOW_RATE = dec(of_exporter_findandconvertunits(ids_outputStreamActivity, ls_find, 'FT3/SEC')) lnv_location = ids_deviceLocationCoordinDAT*dates if not lnv_location.of_findandvalidateCoordinate("ref_rid = " + string(ld_errid)) then lnv_location = ids_sourceLocationCoordinates if not lnv_location.of_findandvalidateCoordinate("ref_rid = " + string(lnv_export.object.source_rid[ll_row])) then lnv_location = ids_deviceLocationCoordinates if not lnv_location.of_findandvalidateCoordinate("ref_rid = " + string(lnv_export.object.source_rid[ll_row])) then lnv_location = ids_countyLocationCoordinates if not lnv_locatiDAT*fon.of_findandvalidateCoordinate("ref_rid = " + string(lnv_export.object.geographic_county_rid[ll_row])) then lnv_location = ids_stateLocationCoordinates if not lnv_location.of_findandvalidateCoordinate("ref_rid = " + string(lnv_export.object.geographic_state_rid[ll_row])) then //write error message log continue else this.of_writeLogMessagewarning(ids_emissionReleasePtOutput, "No location coordinates could be found for the " + & "county, the facilitDAT*hy or for any device at the facility: " + is_errorMessage) end if else this.of_writeLogMessagewarning(ids_emissionReleasePtOutput, "No location coordinates could be found for the " + & "facility or for any device at the facility: " + is_errorMessage) end if end if end if end if if lnv_location.is_subtype = 'L' then ld_X_COORDINATE = -1 * abs(lnv_location.of_getdata('longitude_data')) ld_Y_COORDINATE = abs(lnv_location.of_getdata('latiDAT*jtude_data')) li_UTM_ZONE = li_null ls_XY_COORDINATE_TYPE = 'LATLON' else ld_X_COORDINATE = lnv_location.of_getdata('easting_km_data') ld_Y_COORDINATE = lnv_location.of_getdata('northing_km_dat') li_UTM_ZONE = int(lnv_location.of_getdata('zone_no')) ls_XY_COORDINATE_TYPE = 'UTM' end if ls_metricCode = of_checkMetric('RELEASE HT', 'OUTSTREAM') ls_find = "stream_rid = " + string(lnv_export.object.stream_rid[ll_row]) + " and metric_code = '" + ls_metricCode + DAT*l& "' and ( value_type = 'AVG' or isnull(value_type) or value_type = '' ) " ldb_RELEASE_HEIGHT_FUGITIVE = of_exporter_findandconvertunits(ids_outputStreamActivity, ls_find, 'FT') ls_name = lnv_export.object.name[ll_row] if isnull(ls_name) or ls_name = '' then ls_EMISSION_RELEASE_PT_DESCRIPTION = lnv_export.object.comment_text[ll_row] else ls_EMISSION_RELEASE_PT_DESCRIPTION = ls_name end if if ls_EMISSION_RELEASE_POINT_ID <> ls_erID then ls_EMISSION_RELEASE_PT_DAT*nDESCRIPTION = 'RAPIDS ID= "' + ls_erID + '". ' + ls_EMISSION_RELEASE_PT_DESCRIPTION end if ls_EMISSION_RELEASE_PT_DESCRIPTION = left(trim(ls_EMISSION_RELEASE_PT_DESCRIPTION), 80) //insert data into emission release point datastore ll_rc = ids_emissionReleasePtOutput.of_addRow(ls_RECORD_TYPE , ls_STATE_FIPS, ls_COUNTY_FIPS, & ls_SITE_ID, ls_blank1, ls_EMISSION_RELEASE_POINT_ID, & ls_EMISSION_RELEASE_POINT_TYPE, ls_blank2, & ldDAT*p_STACK_HEIGHT, ld_STACK_DIAMETER, & ldb_STACK_FENCELINE_DISTANCE, ld_EXIT_GAS_TEMPERATURE, & ld_EXIT_GAS_VELOCITY, ld_EXIT_GAS_FLOW_RATE, & ld_X_COORDINATE, ld_Y_COORDINATE,li_UTM_ZONE, & ls_XY_COORDINATE_TYPE, ldb_HORIZONTAL_AREA_FUGITIVE, & ldb_RELEASE_HEIGHT_FUGITIVE, ls_FUGITIVE_DIMENSIONS_UNIT, & ls_EMISSION_RELEASE_PT_DESCRIPTION, ls_SUBMITTAL_FLAG) //if addrow is unsuccessful tDAT*rhen exit loop if ll_rc < 0 then exit else ll_totalCount++ end if next next is_errorMessage = '' return ll_totalCount end function public function double of_convertdoublevalue (string as_fromunit, string as_tounit, double ad_fromvalue);string ls_find, ls_conversionFactorAmount, ls_standardCode double ld_factor1, ld_factor2, ld_value setnull(ld_value) ls_find = "rapids_unit_code = '" + as_fromunit + "'" if ids_units.of_find(ls_find) then ls_conversionFactorAmDAT*tount = string(ids_units.of_getdata('conversion_factor_amt')) ls_standardCode = ids_units.of_getdata('standard_code') ld_factor1 = double(ls_conversionFactorAmount) ls_find = "rapids_unit_code = '" + as_tounit + "' and standard_code = '" + ls_standardCode + "'" if ids_units.of_find(ls_find) then ls_conversionFactorAmount = string(ids_units.of_getdata('conversion_factor_amt')) ld_factor2 = double(ls_conversionFactorAmount) if ld_factor2 <> 0 and not isnull(ld_factor2) then ldDAT*v_value = ad_fromvalue * ld_factor1/ld_factor2 else this.of_writelogmessageerror("Divide by zero for ld_factor2 in Unit Cache. Null value will be returned") end if else this.of_writelogmessageerror("Cannot convert '" + as_fromunit + "' to '" + as_tounit + "': Units Cache lookup failed for find string: " + ls_find + ". Null value will be returned") end if else this.of_writelogmessageerror("Cannot convert '" + as_fromunit + "' to '" + as_tounit + "': Units Cache lookup failedDAT*x for find string: " + ls_find + ". Null value will be returned") end if return ld_value end function public function double of_exporter_findandconvertunits (n_ds_nei_cache_base ads_cache, string as_findstring, string as_tounit);double ld_value string ls_valueUnitCode setnull(ld_value) if ads_cache.of_find(as_findstring) then ld_value = double(ads_cache.of_getData('value')) ls_valueUnitCode = ads_cache.of_getData('value_unit_code') if ls_valueUnitCode <> as_tounit theDAT*zn if as_toUnit = 'F' then ld_value = (9/5) * ld_value + 32 else ld_value = of_convertDoubleValue(ls_valueUnitCode, as_tounit, ld_value) end if end if end if return ld_value end function public function long of_exportce ();long ll_rc, ll_row, ll_totalCount, ll_found, ll_null double ld_rid, ldb_null string ls_null, ls_filter, ls_find, ls_fileName, ls_message integer li_null, li_recordSet, li_recordSetCount decimal ld_null string ls_sourceID, ls_deviceDAT*|id, ls_processid, ls_materialCode n_ds_cache_emissions lnv_export //NEI Point Control Equipment Format //COLUMN NAME DATA TYPE WIDTH string ls_RECORD_TYPE //CHARACTER 2 string ls_STATE_FIPS //CHARACTER 2 string ls_COUNTY_FIPS //CHARACTER 3 string ls_SITE_ID //CHARACTER 15 string ls_EMISSION_UNIT_ID //CHARACTER 6 string ls_PROCESS_ID //CHARACTER 6 string ls_POLLUTANT_CODE //CHARACTER 10 string ls_blank1 //CHADAT*~RACTER 10 dec ld_PRIMARY_PCT_CONTROL_EFFICIENCY //DECIMAL 5 dec ld_PCT_CAPTURE_EFFICIENCY //DECIMAL 5 dec ld_TOTAL_CAPTURE_CONTROL_EFFICIENCY //DECIMAL 5 string ls_PRIMARY_DEVICE_TYPE_CODE //CHARACTER 4 string ls_SECONDARY_DEVICE_TYPE_CODE //CHARACTER 4 string ls_blank2 //CHARACTER 25 string ls_CONTROL_SYSTEM_DESCRIPTION //CHARACTER 40 string ls_THIRD_CONTROL_DEVICE_TYPE_CODE //CHARACTER 4 string ls_FOURTH_CONTROL_DEVICE_TYPE_CODE //CHARACTER 4 string ls_SUBMDAT*ITTAL_FLAG //CHARACTER 4 ////initialize variables setPointer(hourGlass!) setNull(ls_null) setNull(ldb_null) setNull(ll_null) setnull(li_null) setnull(ld_null) ll_totalCount = 0 lnv_export = ids_emissions ll_rc = lnv_export.of_filter("data_level = 'PROCESS' and control_device_flag = 1") if ll_rc < 0 then signalError(ll_rc, lnv_export.is_error) return ll_totalcount end if ls_RECORD_TYPE = ids_pointControlEquipmentOutput.of_getNeiRecordType() ls_STATE_FIPS = is_stateFDAT*IPS ls_COUNTY_FIPS = is_countyFIPS ls_SITE_ID = is_siteID ls_blank1 = ls_null ls_blank2 = ls_null ls_CONTROL_SYSTEM_DESCRIPTION = ls_null ls_THIRD_CONTROL_DEVICE_TYPE_CODE = ls_null ls_FOURTH_CONTROL_DEVICE_TYPE_CODE = ls_null ls_SUBMITTAL_FLAG = is_submittalFlag for ll_row = 1 to lnv_export.rowcount() ls_sourceID = lnv_export.object.source_id[ll_row] ls_deviceid = lnv_export.object.device_id[ll_row] ls_processid = lnv_export.object.process_id[ll_row] ls_materialCode = lnv_expoDAT*rt.object.material_code[ll_row] //sets dynamic variables for emission release point is_errormessage = "Source ID = '" + f_msgstring(ls_sourceID) + "', Device ID = '" + f_msgstring(ls_deviceid) + & "', Process ID = '" + f_msgstring(ls_processid) + + "' Material_code = '" + f_msgstring(ls_materialCode) + "'" ls_find = "rid = " + string(lnv_export.object.device_rid[ll_row]) if ids_emissionUnit.of_find(ls_find) then ls_EMISSION_UNIT_ID = ids_emissionUnit.of_getData('emission_unitDAT*_id') end if if len(ls_EMISSION_UNIT_ID) > 6 then this.of_writeLogMessagewarning(ids_pointControlEquipmentOutput, "Emission Unit ID's length is > 6. The id will be right trimmed. " + & is_errormessage + ", Emission Unit Id = '" + f_msgstring(ls_EMISSION_UNIT_ID) + "'" ) ls_EMISSION_UNIT_ID = right(ls_EMISSION_UNIT_ID, 6) end if ls_find = "process_rid = " + string(lnv_export.object.process_rid[ll_row]) if ids_emissionprocess.of_find(ls_find) then ls_PROCESS_ID = idDAT*s_emissionprocess.of_getData('emission_process_id') end if if len(ls_PROCESS_ID) > 6 then this.of_writeLogMessagewarning(ids_pointControlEquipmentOutput, "Process ID's length is > 6. The id will be right trimmed. " + & is_errormessage + ', Process Unit Id = "' + f_msgstring(ls_PROCESS_ID) + '"' ) ls_PROCESS_ID = right(ls_PROCESS_ID, 6) end if ls_POLLUTANT_CODE = lnv_export.object.pollutant_code[ll_row] ld_PRIMARY_PCT_CONTROL_EFFICIENCY = lnv_export.object.primary_pct_DAT*control_efficiency[ll_row] ld_PCT_CAPTURE_EFFICIENCY = lnv_export.object.pct_capture_efficiency[ll_row] ld_TOTAL_CAPTURE_CONTROL_EFFICIENCY = lnv_export.object.total_capt_control_efficiency[ll_row] //set to null if = to 100 mkc 05/06/04 if ld_PCT_CAPTURE_EFFICIENCY = 100 then setnull(ld_PCT_CAPTURE_EFFICIENCY) ls_PRIMARY_DEVICE_TYPE_CODE = lnv_export.object.primary_device_type_code[ll_row] if ls_PRIMARY_DEVICE_TYPE_CODE = '@@@@' then ls_PRIMARY_DEVICE_TYPE_CODE = '099' end if lDAT*s_SECONDARY_DEVICE_TYPE_CODE = lnv_export.object.secondary_device_type_code[ll_row] if ls_SECONDARY_DEVICE_TYPE_CODE = '@@@@' then ls_SECONDARY_DEVICE_TYPE_CODE = ls_null end if //insert data into emission release point datastore ll_rc = ids_pointControlEquipmentOutput.of_addRow(ls_RECORD_TYPE, ls_STATE_FIPS, ls_COUNTY_FIPS, ls_SITE_ID, & ls_EMISSION_UNIT_ID, ls_PROCESS_ID, ls_POLLUTANT_CODE, & ls_blank1, ld_PRIMARY_PCT_CONTROL_EFFICIENCYDAT*, & ld_PCT_CAPTURE_EFFICIENCY, ld_TOTAL_CAPTURE_CONTROL_EFFICIENCY, & ls_PRIMARY_DEVICE_TYPE_CODE, ls_SECONDARY_DEVICE_TYPE_CODE, & ls_blank2, ls_CONTROL_SYSTEM_DESCRIPTION, & ls_THIRD_CONTROL_DEVICE_TYPE_CODE, & ls_FOURTH_CONTROL_DEVICE_TYPE_CODE, ls_SUBMITTAL_FLAG ) //if addrow is unsuccessful then exit loop if ll_rc < 0 then exit else ll_totalCount++ end if next //rDAT*eset emissions cache lnv_export.of_filter("") is_errorMessage = '' return ll_totalCount end function public function long of_exportpe_processdatalevel ();long ll_rc, ll_row, ll_totalCount, ll_found, ll_null double ld_rid, ldb_null string ls_null, ls_filter, ls_find, ls_fileName integer li_null, li_recordSet, li_recordSetCount decimal ld_null n_ds_cache_emission_process lnv_export string ls_sourceID //NEI Point Emission Period Format //COLUMN NAME //DATA TYPE WIDTDAT*H string ls_RECORD_TYPE //CHARACTER 2 string ls_STATE_FIPS //CHARACTER 2 string ls_COUNTY_FIPS //CHARACTER 3 string ls_SITE_ID //CHARACTER 15 string ls_EMISSION_UNIT_ID //CHARACTER 6 string ls_PROCESS_ID //CHARACTER 6 date ldt_START_DATE //date 8 date ldt_END_DATE //date 8 string ls_blank1 //CHARACTER 2 long ll_START_TIME //NUMBER 4 long ll_END_TIME //NUMBER 4 string ls_blank2 //CHARACTER 1DAT*0 dec ld_ACTUAL_THROUGHPUT //DECIMAL 10 string ls_THROUGHPUT_UNIT_NUMERATOR //CHARACTER 10 long ll_MATERIAL //NUMBER 4 string ls_MATERIAL_IO //CHARACTER 10 integer li_PERIOD_DAYS_PER_WEEK //NUMBER 1 integer li_PERIOD_WEEKS_PER_PERIOD //NUMBER 2 integer li_PERIOD_HOURS_PER_DAY //NUMBER 2 long ll_PERIOD_HOURS_PER_PERIOD //NUMBER 4 string ls_SUBMITTAL_FLAG //CHARACTER 4 ////initialize variables setPointer(hourGlass!) setNull(ls_null) sDAT*etNull(ldb_null) setNull(ll_null) setnull(li_null) setnull(ld_null) ll_totalCount = 0 lnv_export = ids_emissionprocess ll_rc = lnv_export.of_filter("type = 'F'") if ll_rc < 0 then signalError(ll_rc, lnv_export.is_error) return ll_totalcount end if ls_RECORD_TYPE = ids_pointemissionperiodOutput.of_getNeiRecordType() ls_STATE_FIPS = is_stateFIPS ls_COUNTY_FIPS = is_countyFIPS ls_SITE_ID = is_siteID ldt_START_DATE = date(idt_startDateTime) ldt_END_DATE = date(idt_endDateTimeDAT*) ls_blank1 = ls_null ll_START_TIME = ll_null ll_END_TIME = ll_null ls_blank2 = ls_null li_PERIOD_DAYS_PER_WEEK = li_null li_PERIOD_WEEKS_PER_PERIOD = li_null li_PERIOD_HOURS_PER_DAY = li_null ll_PERIOD_HOURS_PER_PERIOD = ll_null ls_SUBMITTAL_FLAG = is_submittalFlag for ll_row = 1 to lnv_export.rowcount() //sets dynamic variables for emission release point is_errormessage = " Source ID = '" + f_msgstring(lnv_export.object.source_id[ll_row]) + "', Device ID = '" + lnv_exporDAT*t.object.device_id[ll_row] + & "', Process ID = '" + f_msgstring(lnv_export.object.process_id[ll_row]) + "'" ls_find = "rid = " + string(lnv_export.object.device_rid[ll_row]) if ids_emissionUnit.of_find(ls_find) then ls_EMISSION_UNIT_ID = ids_emissionUnit.of_getData('emission_unit_id') end if if len(ls_EMISSION_UNIT_ID) > 6 then this.of_writelogmessagewarning(ids_pointemissionperiodOutput, "Emission Unit ID's length is > 6. The id will be right trimmed " + & DAT* is_errormessage + ", Emission Unit ID = '" + f_msgstring(ls_EMISSION_UNIT_ID) + "'") ls_EMISSION_UNIT_ID = right(ls_EMISSION_UNIT_ID, 6) end if ls_PROCESS_ID = lnv_export.object.emission_process_id[ll_row] if len(ls_PROCESS_ID) > 6 then this.of_writelogmessagewarning(ids_pointemissionperiodOutput, "Process ID's length is > 6. The ID will be right trimmed " + & is_errormessage + ", Emission Process ID = '" + f_msgstring(ls_PROCESS_ID) + "'") lsDAT*_PROCESS_ID = right(ls_PROCESS_ID, 6) end if // get the sum of throught by state,county,tribal code,scc ams code, and file type, ld_ACTUAL_THROUGHPUT = lnv_export.object.actual_throughput[ll_row] ld_ACTUAL_THROUGHPUT = of_roundnumber(ld_ACTUAL_THROUGHPUT, 10) ls_THROUGHPUT_UNIT_NUMERATOR = lnv_export.object.throughput_unit_numerator[ll_row] ll_MATERIAL = lnv_export.object.material[ll_row] ls_MATERIAL_IO = lnv_export.object.material_io[ll_row] //insert data into point emiDAT*ssion period datastore ll_rc = ids_pointemissionperiodOutput.of_addRow(ls_RECORD_TYPE, ls_STATE_FIPS, ls_COUNTY_FIPS, & ls_SITE_ID, ls_EMISSION_UNIT_ID, ls_PROCESS_ID, & ldt_START_DATE, ldt_END_DATE, ls_blank1, ll_START_TIME, & ll_END_TIME, ls_blank2, ld_ACTUAL_THROUGHPUT, & ls_THROUGHPUT_UNIT_NUMERATOR, ll_MATERIAL, & ls_MATERIAL_IO, li_PERIOD_DAYS_PER_WEEK, & li_PERIOD_WEEKS_PER_PERIOD,DAT* li_PERIOD_HOURS_PER_DAY, & ll_PERIOD_HOURS_PER_PERIOD, ls_SUBMITTAL_FLAG ) //if addrow is unsuccessful then exit loop if ll_rc < 0 then exit else ll_totalCount++ end if next //reset emissions cache lnv_export.of_filter("") is_errorMessage = '' return ll_totalCount end function public function long of_exportpe_sitedatalevel ();long ll_rc, ll_row, ll_totalCount, ll_found, ll_null double ld_rid, ldb_null string ls_null, ls_filter, ls_find,DAT* ls_fileName, ls_errormessage, ls_dupcheck integer li_null, li_recordSet, li_recordSetCount decimal ld_null n_ds_cache_primary_site lnv_export double ld_sourceRid string ls_pollutantCode //NEI Point Emission Period Format //COLUMN NAME //DATA TYPE WIDTH string ls_RECORD_TYPE //CHARACTER 2 string ls_STATE_FIPS //CHARACTER 2 string ls_COUNTY_FIPS //CHARACTER 3 string ls_SITE_ID //CHARACTER 15 string ls_EMISSION_UNIT_ID //CHARACTER 6 DAT* string ls_PROCESS_ID //CHARACTER 6 date ldt_START_DATE //date 8 date ldt_END_DATE //date 8 string ls_blank1 //CHARACTER 2 long ll_START_TIME //NUMBER 4 long ll_END_TIME //NUMBER 4 string ls_blank2 //CHARACTER 10 dec ld_ACTUAL_THROUGHPUT //DECIMAL 10 string ls_THROUGHPUT_UNIT_NUMERATOR //CHARACTER 10 long ll_MATERIAL //NUMBER 4 string ls_MATERIAL_IO //CHARACTER 10 integer li_PERIOD_DAYS_PER_WEEK //NDAT*UMBER 1 integer li_PERIOD_WEEKS_PER_PERIOD //NUMBER 2 integer li_PERIOD_HOURS_PER_DAY //NUMBER 2 long ll_PERIOD_HOURS_PER_PERIOD //NUMBER 4 string ls_SUBMITTAL_FLAG //CHARACTER 4 ////initialize variables setPointer(hourGlass!) setNull(ls_null) setNull(ldb_null) setNull(ll_null) setnull(li_null) setnull(ld_null) ll_totalCount = 0 lnv_export = ids_source if ll_rc < 0 then signalError(ll_rc, lnv_export.is_error) return ll_totalcount end if if ll_rDAT*c < 0 then signalError(ll_rc, lnv_export.is_error) return ll_totalcount end if ls_RECORD_TYPE = ids_pointemissionperiodOutput.of_getNeiRecordType() ls_STATE_FIPS = is_stateFIPS ls_COUNTY_FIPS = is_countyFIPS ls_SITE_ID = is_siteID ls_EMISSION_UNIT_ID = ls_null ls_PROCESS_ID = ls_null ldt_START_DATE = date(idt_startDateTime) ldt_END_DATE = date(idt_endDateTime) ls_blank1 = ls_null ll_START_TIME = ll_null ll_END_TIME = ll_null ls_blank2 = ls_null ld_ACTUAL_THROUGHPUT = ld_null DAT* ls_THROUGHPUT_UNIT_NUMERATOR = ls_null ll_MATERIAL = ll_null ls_MATERIAL_IO = ls_null li_PERIOD_DAYS_PER_WEEK = li_null li_PERIOD_WEEKS_PER_PERIOD = li_null li_PERIOD_HOURS_PER_DAY = li_null ll_PERIOD_HOURS_PER_PERIOD = ll_null ls_SUBMITTAL_FLAG = is_submittalFlag ls_dupcheck = '' for ll_row = 1 to lnv_export.rowcount() //sets dynamic variables for emission release point if lnv_export.object.type[ll_row] <> 'F' then continue end if ld_sourceRid = lnv_export.objeDAT*ct.source_rid[ll_row] is_errorMessage = "source_rid = " + string(ld_sourceRid) ls_find = "source_rid = " + string(ld_sourceRid) + " and data_level = 'SITE' " if not ids_emissions.of_find(ls_find) then continue else if ls_dupcheck = string(ld_sourceRid) then continue else ls_dupcheck = string(ld_sourceRid) end if end if //ls_errormessage = " Source ID = '" + lnv_export.object.source_id[ll_row] + "'" //insert data into emission release point daDAT*tastore ll_rc = ids_pointemissionperiodOutput.of_addRow(ls_RECORD_TYPE, ls_STATE_FIPS, ls_COUNTY_FIPS, & ls_SITE_ID, ls_EMISSION_UNIT_ID, ls_PROCESS_ID, & ldt_START_DATE, ldt_END_DATE, ls_blank1, ll_START_TIME, & ll_END_TIME, ls_blank2, ld_ACTUAL_THROUGHPUT, & ls_THROUGHPUT_UNIT_NUMERATOR, ll_MATERIAL, & ls_MATERIAL_IO, li_PERIOD_DAYS_PER_WEEK, & li_PERIOD_WEEKS_PER_PERIOD, li_PERIOD_HOURDAT*S_PER_DAY, & ll_PERIOD_HOURS_PER_PERIOD, ls_SUBMITTAL_FLAG ) //if addrow is unsuccessful then exit loop if ll_rc < 0 then exit else ll_totalCount++ end if next is_errorMessage = '' return ll_totalCount end function public function long of_exportem_sitedatalevel ();long ll_rc, ll_row, ll_totalCount, ll_found, ll_null double ld_rid, ldb_null string ls_null, ls_filter, ls_find, ls_fileName, ls_dupcheck integer li_null, li_recordSet, li_recordSeDAT*tCount decimal ld_null n_ds_cache_emissions lnv_export double ld_sourceRid, ld_emissionNumericValue string ls_pollutantCodeprev long ll_deviceFlagcount //NEI Point Emission Format //COLUMN_NAME //DATA TYPE WIDTH string ls_RECORD_TYPE //CHARACTER 2 string ls_STATE_FIPS //CHARACTER 2 string ls_COUNTY_FIPS //CHARACTER 3 string ls_SITE_ID //CHARACTER 15 string ls_EMISSION_UNIT_ID //CHARACTER 6 string ls_PROCESS_ID DAT* //CHARACTER 6 string ls_POLLUTANT_CODE //CHARACTER 10 string ls_blank1 //CHARACTER 6 string ls_EMISSION_RELEASE_POINT_ID //CHARACTER 6 date ldt_START_DATE //DATE 8 date ldt_END_DATE //DATE 8 long ll_START_TIME //NUMBER 4 long ll_END_TIME //NUMBER 4 string ls_blank2 //CHARACTER 10 dec ld_EMISSION_NUMERIC_VALUE //DECIMAL 10 string ls_EMISSION_UNIT_NUMERATOR //CHARACTER 10 string ls_EMISSIDAT*ON_TYPE //CHARACTER 2 string ls_EM_RELIABILITY_INDICATOR //CHARACTER 5 dec ld_FACTOR_NUMERIC_VALUE //DECIMAL 10 string ls_FACTOR_UNIT_NUMERATOR //CHARACTER 10 string ls_FACTOR_UNIT_DENOMINATOR //CHARACTER 10 long ll_MATERIAL //NUMBER 4 string ls_MATERIAL_IO //CHARACTER 10 string ls_blank3 //CHARACTER string ls_EMISSION_CALCULATION_METHOD_CODE //CHARACTER 2 string ls_EF_RELIABILITY_INDICATOR //CHARACTER 5 dec ld_RUDAT*LE_EFFECTIVENESS //DECIMAL 5 string ls_RULE_EFFECTIVENESS_METHOD //CHARACTER 2 dec ld_RULE_PENETRATION //DECIMAL 5 string ls_CONTROL_STATUS //CHARACTER 12 string ls_EMISSION_DATA_LEVEL //CHARACTER 10 string ls_SUBMITTAL_FLAG //CHARACTER 4 ////initialize variables setPointer(hourGlass!) setNull(ls_null) setNull(ldb_null) setNull(ll_null) setnull(li_null) setnull(ld_null) ll_totalCount = 0 lnv_export = ids_emissions ll_rc = lnv_exportDAT*.of_filter("source_type = 'F' and data_level = 'SITE'") if ll_rc < 0 then signalError(ll_rc, lnv_export.is_error) return ll_totalcount end if ll_rc = lnv_export.of_sort("source_rid a, pollutant_code a") if ll_rc < 0 then signalError(ll_rc, lnv_export.is_error) return ll_totalcount end if ls_RECORD_TYPE = ids_pointemissionOutput.of_getNeiRecordType() ls_STATE_FIPS = is_stateFIPS ls_COUNTY_FIPS = is_countyFIPS ls_SITE_ID = is_siteID ls_EMISSION_UNIT_ID = ls_null ls_PROCESSDAT*_ID = ls_null ls_blank1 = ls_null ldt_START_DATE = date(idt_startDateTime) ldt_END_DATE = date(idt_endDateTime) ll_START_TIME = ll_null ll_END_TIME = ll_null ls_blank2 = ls_null ls_EMISSION_TYPE = '30' ls_EM_RELIABILITY_INDICATOR = ls_null ld_FACTOR_NUMERIC_VALUE = ld_null ls_FACTOR_UNIT_NUMERATOR = ls_null ls_FACTOR_UNIT_DENOMINATOR = ls_null ll_MATERIAL = ll_null ls_MATERIAL_IO = ls_null ls_blank3 = ls_null ls_EMISSION_CALCULATION_METHOD_CODE = ls_null ls_EF_RELIABILITY_INDICATDAT*OR = ls_null ld_RULE_EFFECTIVENESS = ld_null ls_RULE_EFFECTIVENESS_METHOD = ls_null ld_RULE_PENETRATION = ld_null ls_SUBMITTAL_FLAG = is_submittalFlag ls_dupcheck = '' ld_emissionNumericValue = 0 for ll_row = 1 to lnv_export.rowcount() //sets dynamic variables for point emission ld_sourceRid = lnv_export.object.source_rid[ll_row] ls_POLLUTANT_CODE = lnv_export.object.pollutant_code[ll_row] is_errormessage = " Source ID = '" + f_msgstring(lnv_export.object.sourceDAT*_id[ll_row]) + & "' Material Code = '" + f_msgstring(lnv_export.object.material_code[ll_row]) + "'" if ls_dupcheck = "source_rid = " + string(ld_sourceRid) + " and pollutant_code = '" + ls_POLLUTANT_CODE + "'" then continue else ls_dupcheck = "source_rid = " + string(ld_sourceRid) + " and pollutant_code = '" + ls_POLLUTANT_CODE + "'" end if ls_find = "source_rid = " + string(ld_sourceRid) if ids_siteReleasePoint.of_find(ls_find) then ls_EMISSION_RELEASE_POINT_ID DAT*= ids_siteReleasePoint.of_getData('release_point_id') end if if len(ls_EMISSION_RELEASE_POINT_ID) > 6 then this.of_writelogmessagewarning(ids_pointemissionOutput, "Emission Release Point Id's length is > 6. The id will be right trimmed " + & is_errormessage + ", Emission Release Point ID = '" + f_msgstring(ls_EMISSION_RELEASE_POINT_ID) + "'") ls_EMISSION_RELEASE_POINT_ID = right(ls_EMISSION_RELEASE_POINT_ID, 6) end if of_exportem_getsitetotals(ls_dupcheck,ld_EMISSDAT*ION_NUMERIC_VALUE, ll_deviceFlagcount ) ls_EMISSION_UNIT_NUMERATOR = lnv_export.object.emission_unit_code[ll_row] if ll_deviceFlagcount = 0 then ls_CONTROL_STATUS = 'UNCONTROLLED' else ls_CONTROL_STATUS = 'CONTROLLED' end if ls_EMISSION_DATA_LEVEL = lnv_export.object.data_level[ll_row] //insert data into point emissions datastore ll_rc = ids_pointemissionOutput.of_addRow(ls_RECORD_TYPE, ls_STATE_FIPS, ls_COUNTY_FIPS, ls_SITE_ID, & ls_EMISSION_UNIT_ID, lsDAT*_PROCESS_ID, ls_POLLUTANT_CODE, & ls_blank1, ls_EMISSION_RELEASE_POINT_ID, ldt_START_DATE, & ldt_END_DATE, ll_START_TIME, ll_END_TIME, ls_blank2, & ld_EMISSION_NUMERIC_VALUE, ls_EMISSION_UNIT_NUMERATOR, & ls_EMISSION_TYPE, ls_EM_RELIABILITY_INDICATOR, & ld_FACTOR_NUMERIC_VALUE, ls_FACTOR_UNIT_NUMERATOR, & ls_FACTOR_UNIT_DENOMINATOR, ll_MATERIAL, ls_MATERIAL_IO, & ls_blank3, ls_EMISDAT*SION_CALCULATION_METHOD_CODE, & ls_EF_RELIABILITY_INDICATOR, ld_RULE_EFFECTIVENESS, & ls_RULE_EFFECTIVENESS_METHOD, ld_RULE_PENETRATION, & ls_CONTROL_STATUS, ls_EMISSION_DATA_LEVEL, ls_SUBMITTAL_FLAG) //if addrow is unsuccessful then exit loop if ll_rc < 0 then exit else ll_totalCount++ end if next //reset emissions cache lnv_export.of_filter("") is_errorMessage = '' return ll_totalCount end function pDAT*ublic function integer of_exportem_getsitetotals (string as_find, ref decimal ad_emissionamt, ref long al_controldevicecount);string ls_find boolean lb_find long ll_row, ll_controldevicecount dec ld_emissionamt ld_emissionamt = 0 ll_controldevicecount = 0 ad_emissionamt = ld_emissionamt al_controldevicecount = ll_controldevicecount //step 2 lb_find = ids_emissions.of_find(as_find) //step 6 repeat steps 3-5 for each record retrieved do while lb_find ld_emissionamt = ids_emissioDAT*ns.of_getdata('emission_amt') ll_controldevicecount = ids_emissions.of_getdata('control_device_flag') if not isnull(ld_emissionamt) then ad_emissionamt = ad_emissionamt + ld_emissionamt end if if not isnull(ll_controldevicecount) then al_controldevicecount = al_controldevicecount + ll_controldevicecount end if lb_find = ids_emissions.of_findNext() loop return 1 end function public function string of_checkmetric (string as_metric, string as_level); returDAT*n ids_metrics.of_validate(as_metric, as_level) end function public function string of_checkmetric (string as_metric);//call the overloaded version return this.of_checkMetric(as_metric, "") end function public function any of_getactivitydata (string as_type, string as_find, string as_column); any la_data n_ds_nei_cache_base lds_cache setNull(la_data) //determine the activity datastore and choose case upper(as_type) case "STATE" lds_cache = ids_stateActivity case "COUNTY"DAT* lds_cache = ids_countyActivity case "SOURCE" lds_cache = ids_sourceActivity case "DEVICE" lds_cache = ids_deviceActivity case "PROCESS" lds_cache = ids_processActivity case "INSTREAM" lds_cache = ids_inputStreamActivity case "OUTSTREAM" lds_cache = ids_outputStreamActivity // case "THROUGHPUT" // lds_cache = case else signalError(-1, "Invalid activity data type '" + as_type + "'") end choose //if our datastore is empty then return null if lds_cache.rowCouDAT*nt() <= 0 then return la_data end if //search for given find string as_column = trim(lower(as_column)) if lds_cache.of_find(as_find) then la_data = lds_cache.of_getData(as_column) else //if lookup found nothing then return null return la_data end if return la_data end function public function any of_getactivitydata (string as_type, string as_find, string as_metric, string as_column); string ls_find any la_null setNull(la_null) //validate the metric code as_metricDAT* = this.of_checkMetric(as_metric, as_type) if as_metric = "" then return la_null end if as_column = trim(lower(as_column)) ls_find = as_find + " and metric_code = '" + as_metric + "'" //call the overloaded version return this.of_getActivityData(as_type, ls_find, as_column) end function public function integer of_writelogpollutants (); //write a list of pollutants to the log file //also saves a debug file with the pollutant array integer li_i long ll_fileHandle string ls_pollDAT*utant string ls_logPollutants string ls_arrayPollutants if upperBound(is_pollutants) <= 0 then return 0 end if //create a file for the array of pollutants if ib_debug then ll_fileHandle = fileOpen(is_exportPath + "ds_pollutants.txt", lineMode!, write!, lockReadWrite!, replace!) else ll_fileHandle = -1 end if ls_logPollutants = "Pollutants: " ls_arrayPollutants = "'" for li_i = 1 to upperBound(is_pollutants) ls_pollutant = is_pollutants[li_i] //if the next polluDAT*tant would put us past the line length, write the line first if len(ls_logPollutants + ls_pollutant + ", ") > ii_logLineLength then this.of_writeLogMessage(ls_logPollutants) ls_logPollutants = " " end if if ll_fileHandle > 0 then if len(ls_arrayPollutants + ls_pollutant + "','") > 1000 then ls_arrayPollutants = mid(ls_arrayPollutants, 1, len(ls_arrayPollutants) - 2) fileWrite(ll_fileHandle, ls_arrayPollutants) ls_arrayPollutants = "'" end if end if ls_logPDAT*ollutants += ls_pollutant + ", " if ll_fileHandle > 0 then ls_arrayPollutants += ls_pollutant + "','" end if next //write the last line ls_logPollutants = mid(ls_logPollutants, 1, len(ls_logPollutants) - 2) if len(ls_logPollutants) > 0 then this.of_writeLogMessage(ls_logPollutants) end if if ll_fileHandle > 0 then ls_arrayPollutants = mid(ls_arrayPollutants, 1, len(ls_arrayPollutants) - 2) fileWrite(ll_fileHandle, ls_arrayPollutants) fileClose(ll_fileHandlDAT*e) end if return 1 end function public function integer of_exportep_area ();long ld_conversion_factor string ls_afsInvalidFlag, ls_findpostfix boolean lb_find decimal ld_null, ad_seasonThroughPut[4], ad_seasonThroughPutReset[4] long ll_rc, ll_row, ll_totalCount, ll_found, ll_null double ld_rid string ls_null, ls_filter, ls_find, ls_fileName, ls_deviceid, ls_sourceid, ls_ID n_ds_cache_emission_process lnv_export lnv_export = ids_emissionprocess string ls_dupcheck = '', ls_DAT*geostaterid, ls_geocountyRid, ls_fileType //Emission process string ls_RECORD_TYPE //CHARACTER 2 string ls_STATE_FIPS //CHARACTER 2 string ls_COUNTY_FIPS //CHARACTER 3 string ls_SCC //CHARACTER 10 string ls_PROCESS_MACT_CODE //CHARACTER 6 string ls_EMISSION_PROCESS_DESCRIPTION //CHARACTER 78 string ls_SIC //CHARACTER 4 string ls_NAICS //CHARACTER 6 decimal ll_WINTER_THROUGHPUT_PCT //decimal 3 decimal ll_SPRING_THROUGHPUT_PCDAT*T //decimal 3 decimal ll_SUMMER_THROUGHPUT_PCT //decimal 3 decimal ll_FALL_THROUGHPUT_PCT //decimal 3 decimal ll_ANNUAL_AVG_DAYS_PER_WEEK //NUMBER 1 decimal ll_ANNUAL_AVG_WEEKS_PER_YEAR //NUMBER 2 decimal ll_ANNUAL_AVG_HOURS_PER_DAY //NUMBER 2 decimal ll_ANNUAL_AVG_HOURS_PER_YEAR //NUMBER 4 decimal ld_HEAT_CONTENT //DECIMAL 8 decimal ld_SULFUR_CONTENT //DECIMAL 5 decimal ld_ASH_CONTENT //DECIMAL 5 string ls_PROCESS_MACT_COMPLIANCE_STATUS /DAT*/CHARACTER 6 string ls_SUBMITTAL_FLAG //CHARACTER 4 // ////initialize variables setPointer(hourGlass!) setNull(ls_null) setNull(ld_null) setNull(ll_null) ll_totalCount = 0 ls_RECORD_TYPE = ids_areaEmissionProcessOutput.of_getNeiRecordType() ls_STATE_FIPS = is_stateFIPS ls_COUNTY_FIPS = is_countyFIPS ls_PROCESS_MACT_CODE = ls_null ld_HEAT_CONTENT = ld_null ls_PROCESS_MACT_COMPLIANCE_STATUS = ls_null ls_SUBMITTAL_FLAG = is_submittalFlag lnv_export.of_sort("geographic_state_ridDAT*h a, geographic_county_rid a, scc_ams_code a, file_type a") if ll_rc < 0 then signalError(ll_rc, lnv_export.is_error) return ll_totalcount end if for ll_row = 1 to lnv_export.rowCount() //clear throughput array ls_id = lnv_export.object.process_id[ll_row] ls_deviceid = lnv_export.object.device_id[ll_row] ls_sourceid = lnv_export.object.source_id[ll_row] ls_SCC = lnv_export.object.scc_ams_code[ll_row] is_errormessage = "Source ID = '" + f_msgstring(ls_sourceID) + "', Device ID =DAT*>      *    * 5 I W i s  ou @ >   DAT* 2> J c ~    >  > * i< S e( ids_emissions ;* ;*rowcount8(source_type = 'F' and data_level = 'PROCESS'of_filter isource_rid a, device_rid a, process_rid a, pollutant_codeDAT* a, release_point_rid aof_sort5!is_error:ids_pointemissionoutput!of_getneirecordtype3is_statefips0^is_countyfips@H`is_siteid`aidt_startdatetime ftmidt_enddatetimen30is_submittalflagz(objecte@source_rid__get_attribute_item@process_rid@device_rid@release_point_ridis_errormessage` Source ID = '@source_id', DeviDAT*ce ID = '@device_idh', Process ID = '@process_id', Stream ID = '-@stream_id@material_code'@pollutant_codesource_rid = and device_rid = and process_rid = and pollutant_code = '' and release_point_rid = of_exportem_getsitetotalsVrid = ids_emissionunit C2of_find6$ C2emission_unit_idof_getdata9M!Unable to lookup the emission unit id. `of_writelDAT*ogmessagewarning$*!Emission Unit ID's length is > 6. The id will be right trimmed `, Emission Unit ID = '*process_rid = ids_emissionprocess;D36$;D3emission_process_id9M!Unable to lookup the emission process id. `*!Process ID's length is > 6. The id will be right trimmed `, Emission Process ID = '*@release_point_id!Emission Release Point Id's length is > 6. The id wDAT*ill be right trimmed `, Emission Release Point ID = '*@emission_unit_codestream_rid = @stream_rid and material_code = '@OUTSTREAMRULE EFFECTvalueof_getactivitydataZt@@RULE PENETZt0UNCONTROLLEDCONTROLLED@data_level!of_addrow84 i`  4 t     ( @ X l   DAT*        4 < X p        , 4 L X p   , 4 X `     $ P X ` |       0 8 T \      ( H P        DAT*       O#:F@@8@8@8@8 @8@81$8 0)T814h$6+@+88p0)81$6+@+8$)8DAT*$6$6666,$5@8D$5@8 !"6%8L0&6'M(6)6*+6,6-6.6/M065`$66x$616 801I1DAT*)8 $809n98]$809n98^8$809n(988z'80z&D$8L09n\988z(8dz& 8fL1(@(8z'8tz&z&8dz&  8fL1(@(DAT*8z'8tz&z&8dz& $809n98^ 8R26d280 8fL1(@(8z'$ 6)8$80n8^1 $8`$z%8hz&68z(8dz&)81@8 6#)8DAT*$$809n98^1380,3804 $809n 98^($6666666633 !"6M#2$6%6&6M'2(6)6*+6,6-6.6M/206162636465666)<!8"1 DAT*  80)D8L8023465R6n78:<>?@*C4EXFhGJKLMNOP"QLRvSTUVWXYZ[\]^(_8`DaTblcegino6q|tFuvwz{*|>}N~Rd`,r d ll_rcll_rowll_totalcountll_foundll_nullld_ridldb_nullls_nullls_fiDAT*lterls_findls_filenamels_dupcheckls_criteriaflagli_nullli_recordsetli_recordsetcountld_nulllnv_exportld_sourceridld_emissionnumericvaluels_pollutantcodeprevll_deviceflagcountls_record_typels_state_county_fipsls_state_facility_identifierls_emission_unit_idls_process_idls_pollutant_codels_blank1ls_emission_release_point_idldt_start_dateldt_end_datell_start_timell_end_timels_blank2ld_emission_numeric_valuels_emission_unit_numeratorls_emission_typels_em_reliability_indicaDAT*torld_factor_numeric_valuels_factor_unit_numeratorls_factor_unit_denominatorll_materialls_material_iols_blank3ls_emission_calculation_method_codels_ef_reliability_indicatorld_rule_effectivenessls_rule_effectiveness_methodls_blank4ls_hap_emission_performance_levells_control_statusls_emission_data_levells_submittal_flagls_tribalcodeL#,4 ; DDAT* L V ^ j v >  *  in   ri 1 N +b p 0  5  DAT*_l o@>   / IDK> rec | @   a an an>  ' nt/ 9 [ ssm _f 2 TH ids_emissions;*source_type = 'DAT* F' and data_level = 'SITE'of_filter Jis_errort\source_rid a, pollutant_code aof_sort!\ids_n3_pointemissionoutput/of_getneirecordtype3is_statecountyfips]is_siteidaidt_startdatetime@midt_enddatetime4n30is_submittalflagOzis_tribalcodeh\rowcountobject@source_rid__get_attribute_item@pollutant_codeis_errormessage Source ID = '@source_idDAT* 6' Material Code = '@material_code@'source_rid = and pollutant_code = '@criteria_flagY01ids_sitereleasepointG6of_find6G6release_point_idof_getdata9/Emission Release Point Id's length is > 6. The id will be right trimmed , Emission Release Point ID = 'of_writelogmessagewarning$*of_exportem_getsitetotalsV@emission_unit_codeUNCONTROLLEDCONTROLLED@data_leDAT*vel/of_addrow40 J T h       , D ` x        ( D \         `         ( < D L ZF$:F@@8 @8@8 DAT*@8 1H$)d8$6 6(M+ 6,$680) 81x $6+@+8 1)48,D$8L09nl98^t$8|09n98^$809DAT*n98^$809n98^868z'8z&68z(8z&68z(8 z&68z(8!z&$$8,09n498^8$"&<$8D09nT98^8\l$8t09nDAT*98(@(8z'$6)8`$80n8^$80n8^$80n8^8`808$#!8$8 L$z%)p88$#!v11"vx$868z'8z&$DAT*z&)8 61No@o98 $809n98%@%8!$809n98%@%8"$8 09n898%@%8#@$8H09n\98%@%8 d$8l09nx98]8L 1DAT*(@(8z'$80L 8080n8%@%8%80L 8080n8%@%8&80L 8080n8%@%8'80L 8080n8%@%8)8068080n$8%@%8*8068,080n88%@%8DAT*@$8H09n`98(@(8h$8p09n98(@(8$809n98^-$809n98^688z&68z(8z&68z(8z&68z(8z&-68zDAT*(H (< 688z&68z(8z&68z(8z&68z(8z&-68z($66)8< ($6666666M 2M!2M"2M#2M$2M%2M&2M'2M(2M)2M*2+6,6-6) 81,( DAT*8$0  &'.(J)f*+,-./035,6<7j:x=>?<@AE~FGJ&KLMN O:PNT`U~V[\] _fcvefgJhjk8mdno pT q r uD v w x2 zx |@ }D ~H 8 < (,Fd ld_conversion_factorls_afsinvalidflagls_findpostfixlb_findld_nullad_seasonthroughput^@> ad_seasonthroughputresetode@> ll_rclDAT* l_rowll_totalcountll_foundll_nullld_ridls_nullls_filterls_findls_filenamels_deviceidls_sourceidls_idlnv_exportls_dupcheckls_geostateridls_geocountyridls_filetypels_record_typels_state_county_fipsls_sccls_process_mact_codels_emission_process_descriptionls_sicls_naicsll_winter_throughput_pctll_spring_throughput_pctll_summer_throughput_pctll_fall_throughput_pctll_annual_avg_days_per_weekll_annual_avg_weeks_per_yearll_annual_avg_hours_per_dayll_annual_avg_hours_per_yearDAT*"ld_heat_contentld_sulfur_contentld_ash_contentls_process_mact_compliance_statusls_submittal_flagls_tribalcoded / >F> dN>-p>-      DAT*$    3ur$bu& 5 E ssQ e ` uru Ma|  @ id _c> it> > o@ > #> ?> \> x> se>  i>  b> DAT*&  R '  ids_emissionprocessD3ids_n3_areaemissionprocessoutput%)of_getneirecordtype3Pis_statecountyfipsl]is_submittalflagzgeographic_state_rid a, geographic_county_rid a, tribal_code a, scc_ams_code a, file_type aof_sorttei!is_errortarrowcount(object<@process_id__get_attribute_itemW<@device_idW<@source_idW<@scc_ams_cDAT*(odeWis_errormessageSource ID = '', Device ID = '', ID = '', SCC/AMS Code = ''<@nameW<@comment_textWsource_rid = <@source_ridWids_source:)of_find6:)sic_codeof_getdata9:)naics_code@9:)afs_invalid_flag9Y9999%)Invalid SIC Code. SIC Code set to 9999. 6of_writelogmessagewarning*T%)NAICS Code '' must be a length of 2, 3, 4, 5, or 6DAT** : *T<@winter_throughput_pctW<@spring_throughput_pctW<@summer_throughput_pctW<@fall_throughput_pctW<@process_ridWprocess_rid = PROCESSD/W USE RATEvalueof_getactivitydata@W/Y USE RATE@H/D USE RATE$@H/Y USE RATE@INSTREAMS CONTENTZASH CONTENTZ<@geographic_state_ridW<@geographic_county_ridW<@file_typeWDAT*,<@tribal_codeW ids_primarykeyN=of_findkeyI%)of_addrow84 H d       4 D l t       $ 4 < T l           L p x        8 @ \ d x  DAT*.   $ 8 @ ` h            R 6:F@@8@8@8@8 @8@81$8 0)D88L0)81R$6+@+8$)DAT*0 8"6#6$<$61)P8 `$8h09n98^$809n98^$809n98^$809n98^868z'8z&68z(8DAT*2z&68z(81z&68z(8Ez&H$8P09n`98^h$8p09n98^$809n98[$809n98[M3@8$809n98[  $8DAT*4(09nD98^ 8L 8Q0!X$8`09n|98^!8L!6$809n98(@(8$809n98(@(8$809n98^%$809n98^DAT*6688 z&68z(8 z&68z(8 z&68z(8 z&68z(8 z&%68z(> Z 688 z&68z(8 z&68z(8 z&68z(8 z&68z(8 z&%68z( $6DAT*86)48Z  \$6666M2M2M2 6!6"6#6$6%6)p 81   80)x8806 R!n"#%'(* +,H/R0t12456*7p8;>?@>ACDE<FGIJKNOfPQTFW6X:Y>]( ^V fZ m n o p s w y( {B d:DAT*: ll_rcll_rowll_totalcountll_foundll_nullld_ridldb_nullls_nullls_filterls_findls_filenamels_messageli_nullli_recordsetli_recordsetcountld_nullls_dupcheckls_geostateridls_geocountyridls_filetypels_sourceidls_deviceidls_processidls_materialcodelnv_exportls_record_typels_state_county_fipsls_sccls_pollutant_codeld_primary_pct_control_efficiencyld_pct_capture_efficiencyld_total_capture_control_efficiencyls_primary_device_type_codels_secondary_device_type_coDAT*<dels_blank2ls_control_system_descriptionls_submittal_flagls_tribalcode#,4 ; D L V ^ j u}>     DAT*>    * * ? F X> z> >   v    =  en, p ids_emissionsc ;*control_device_flag = 1of_filterpu 8geographic_state_rid a, geographic_county_rid a, tribal_code a, scc_ams_code a, polDAT*@lutant_code a, file_type aof_sort!is_errorP ids_n3_areacontrolequipmentoutput&of_getneirecordtype3 is_submittalflag(zrowcount DobjectX@source_id__get_attribute_itemrX@device_idrX@process_idrX@material_code8ris_errormessageSource ID = '', Device ID = '', Process ID = '' Material_code = ''X@scc_ams_coderX@pollutant_coderX@primaDAT*Bry_pct_control_efficiencyrX@pct_capture_efficiencyrdX@total_capt_control_efficiencyrX@primary_device_type_coder@@@@099X@secondary_device_type_coderX@geographic_state_rid&rX@geographic_county_rid&rX@file_typezrX@tribal_coder ids_primarykeyN=of_findkeyI(ids_areacontrolequipmentoutput<of_addrow4d 8DAT*D D      < P `         H ` h          D X |           4 \ p x  R S:F@@8@8@8@8 @DAT*F8@81 $H$)d8$6$5@8$5@8 6!"' }( }) }*+$680)<81,P$6+@+81H)d8( t$8|DAT*H09n98]8L1(@(8z'$809n98^#$809n98[#M#21 K 8$@8%($8009n<98Y&D$8L09nX98^`$8h09ntDAT*J98^,|$809n98^$809n98]$809n98]L,DP L,D -86 8z'8z&6 8z(8z&6 8z(8z&6 8z(8z&,6 8z($80DAT*L9n 98(@(8($809n098(@(86888z&68z(88z&68z(88z&68z(88z&,68z($ 6888z&68z(88z&68z(88z&68z(8DAT*N8z&,68z(L$66)`8$ .8hz%8~z&z&8z&z&8z&8z&z&8z&8z&,z&8z&/101I19}/./)8)8/1f $ $$80/9n98^$$80/9n$986z&,$8L0DAT*P/9n4986z!%<$800/9nD98z! 0L0L$80/9nT98t]. 19}/1/)\8\ /1f //1` 12 #@8$@8%@8&@8$88z%8"z&-z&)t8l #L0#DAT*RM#21 K|8$66633 6!"M#2$6%&6'()*+6,6)81 ( $ >80,-.6/R0n1246789,:V;f<r=~>?@ACEFG"J,MdNPQ$RjSTUV<WYZ]T^jaiLjlnoprsw|4 }B ~T ` DAT*T  . J X \ f v ~ . 2 B l     $ ( B d ll_rcll_rowll_totalcountll_foundll_nullld_ridldb_nullls_nullls_filterls_findls_filenamels_errormessageli_nullli_recordsetli_recordsetcountld_nullls_dupcheckls_geostateridls_geocountyridls_filetypelnv_exportld_sourceridls_pollutantcodels_statels_countyll_stateridll_countyridls_record_typels_state_county_fipsls_sccldt_start_dateldt_end_datels_blank1lDAT*Vl_start_timell_end_timeld_actual_throughputls_throughput_unit_numeratorll_materialls_material_ioli_period_days_per_weekli_period_weeks_per_periodli_period_hours_per_dayll_period_hours_per_periodls_submittal_flagls_tribalcodels_errorinfols_findthroughputuniquerecordll_findld_throughputtotallb_morethanonenumeratorsqlca#,4 ; D DAT*XL V ^ j z>     3 s_ @   e = ( '5  MD Y de` @o | y_DAT*Zen>   ic_t 8@S ype s te nt 8D@A ids_emissionprocess D3ids_n3_areaemissionperiodoutput((of_getneirecordtype3Pis_statecountyfipsl]idt_DAT*\startdatetimemidt_enddatetimenis_submittalflag zgeographic_state_rid a, geographic_county_rid a, tribal_code a, scc_ams_code a, file_type aof_sort!4is_error DrowcountXobjectl@source_rid__get_attribute_itemis_errormessagesource_rid = l@scc_ams_codel@actual_throughputof_roundnumberxl@material@l@material_iol@file_typelDAT*^@tribal_codel@geographic_state_ridl@geographic_county_ridstate: county: SCC: File Type: Tribal: l@l@ ids_primarykeyn:N=of_findkeyITgeographic_state_rid= and geographic_county_rid= and scc_ams_code="" and file_type= " and tribal_code= "Xfindcl@throughput_unit_numerator8l@l@l@l@Xids_n3_onroademissioDAT*`nperiodoutputXd-Annual throughput could not be exported since more than one throughput record was found for this SCC with different throughput units, material, and material io that could not be combined and summed. of_writelogmessagewarning*Zx((of_addrow4 H d     < P d t         ( < D X ` t | DAT*b        ( 0 L `      $ , 4 < D L T \  t |     =$8 0)81z$6+@+8:F@@8@8@8@8 @DAT*d8@81$)8$66$$5@8<$5@86!8D0"6#M$6%6&'6(6)6*6,6.X$61)l8 DAT*f8$809n988z'8z&$809n988z(8z&$8 09n,988z(84z&H$8P09n\988z(84z&d$8l09n|988z(8z&$80DAT*9n98^$809n98^ $809n98^ 8$809n98(@(8z'8z&0$8l09n898t80t^+8@0 68J08V0np8%@%8 8x$809n98DAT*j '" + f_msgstring(ls_deviceid) + & "', ID = '" + f_msgstring(ls_id) + "', SCC/AMS Code = '" + f_msgstring(ls_SCC) + "'" ls_EMISSION_PROCESS_DESCRIPTION = lnv_export.object.name[ll_row] if isnull(ls_EMISSION_PROCESS_DESCRIPTION) or ls_EMISSION_PROCESS_DESCRIPTION = '' then ls_EMISSION_PROCESS_DESCRIPTION = lnv_export.object.comment_text[ll_row] end if ls_find = 'source_rid = ' + string(lnv_export.object.source_rid[ll_row]) if ids_source.of_find(ls_find) then ls_sic = ids_sourceDAT*l.of_getData('sic_code') ls_naics = ids_source.of_getData('naics_code') ls_afsInvalidFlag = ids_source.of_getData('afs_invalid_flag') if ls_afsInvalidFlag = 'Y' then ls_sic = '9999' end if end if if ls_naics <> "" and not isnull(ls_naics) then if (len(ls_NAICS) > 6) or len(ls_NAICS) < 2 then this.of_writeLogMessageWarning(ids_areaemissionprocessoutput, "NAICS Code '" + f_msgstring(ls_NAICS) + & "' must be a length of 2, 3, 4, 5, or 6 : " + is_errorMessage ) ls_NAICS = lDAT*ns_null end if end if if ls_sic <> "" and not isnull(ls_sic) then if ls_sic = '9999' then this.of_writeLogMessagewarning(ids_areaemissionprocessoutput, "Invalid SIC Code. SIC Code set to 9999. " + & is_errormessage) end if end if ls_EMISSION_PROCESS_DESCRIPTION = left(trim(ls_EMISSION_PROCESS_DESCRIPTION), 78) //populates the seasonthroughPut array if dec(lnv_export.object.winter_throughput_pct[ll_row]) >= 10 then ll_WINTER_THROUGHPUT_PCT = round(dec(lnv_export.objecDAT*pt.winter_throughput_pct[ll_row]),0) else ll_WINTER_THROUGHPUT_PCT = dec(lnv_export.object.winter_throughput_pct[ll_row]) end if if dec(lnv_export.object.spring_throughput_pct[ll_row]) >= 10 then ll_SPRING_THROUGHPUT_PCT = round(dec(lnv_export.object.spring_throughput_pct[ll_row]),0) else ll_SPRING_THROUGHPUT_PCT = dec(lnv_export.object.spring_throughput_pct[ll_row]) end if if dec(lnv_export.object.summer_throughput_pct[ll_row]) >= 10 then ll_SUMMER_THROUGHPUT_PCT = roDAT*rund(dec(lnv_export.object.summer_throughput_pct[ll_row]),0) else ll_SUMMER_THROUGHPUT_PCT = dec(lnv_export.object.summer_throughput_pct[ll_row]) end if if dec(lnv_export.object.fall_throughput_pct[ll_row]) >= 10 then ll_FALL_THROUGHPUT_PCT = round(dec(lnv_export.object.fall_throughput_pct[ll_row]),0) else ll_FALL_THROUGHPUT_PCT = dec(lnv_export.object.fall_throughput_pct[ll_row]) end if ld_rid = lnv_export.object.process_rid[ll_row] ls_find = 'process_rid = ' + string(ld_DAT*trid) ll_ANNUAL_AVG_DAYS_PER_WEEK = dec(of_getactivitydata ( 'PROCESS', ld_rid, 'D/W USE RATE', 'value' )) ll_ANNUAL_AVG_WEEKS_PER_YEAR = dec(of_getactivitydata ( 'PROCESS', ld_rid, 'W/Y USE RATE', 'value' )) ll_ANNUAL_AVG_HOURS_PER_DAY = dec(of_getactivitydata ( 'PROCESS', ld_rid, 'H/D USE RATE', 'value' )) ll_ANNUAL_AVG_HOURS_PER_YEAR = dec(of_getactivitydata ( 'PROCESS', ld_rid, 'H/Y USE RATE', 'value' )) ld_SULFUR_CONTENT = dec(of_getactivitydata ( 'INSTREAM', ls_find, 'S CONTENT', 'DAT*vvalue' )) ld_ASH_CONTENT = dec(of_getactivitydata ( 'INSTREAM', ls_find, 'ASH CONTENT', 'value' )) //check for uniqeness ls_geostaterid = string(lnv_export.object.geographic_state_rid[ll_row]) ls_geocountyRid = string(lnv_export.object.geographic_county_rid[ll_row]) ls_fileType = lnv_export.object.file_type[ll_row] if ls_dupcheck = f_msgstring(ls_geostaterid) + " " + f_msgstring(ls_geocountyRid) + " " + & f_msgstring(ls_scc) + " " + f_msgstring(ls_fileType) then continue DAT*x else ls_dupcheck = f_msgstring(ls_geostaterid) + " " + f_msgstring(ls_geocountyRid) + " " + & f_msgstring(ls_scc) + " " + f_msgstring(ls_fileType) if ids_primarykey.of_findkey(ls_dupcheck, ls_RECORD_TYPE) then continue end if end if //insert data into acp datastore ll_rc = ids_areaemissionprocessoutput.of_addRow(ls_RECORD_TYPE, ls_STATE_FIPS, ls_county_fips, ls_SCC, ls_PROCESS_MACT_CODE, & ls_EMISSION_PROCESS_DESCRIPTION, ls_SIC, ls_NAICS, ll_WINTER_THROUGHPDAT*zUT_PCT, & ll_SPRING_THROUGHPUT_PCT, ll_SUMMER_THROUGHPUT_PCT, ll_FALL_THROUGHPUT_PCT, & ll_ANNUAL_AVG_DAYS_PER_WEEK, ll_ANNUAL_AVG_WEEKS_PER_YEAR, & ll_ANNUAL_AVG_HOURS_PER_DAY, ll_ANNUAL_AVG_HOURS_PER_YEAR, ld_HEAT_CONTENT, & ld_SULFUR_CONTENT, ld_ASH_CONTENT, ls_PROCESS_MACT_COMPLIANCE_STATUS, & ls_SUBMITTAL_FLAG ) //if addrow is unsuccessful then exit loop if ll_rc < 0 then exit else ll_totalCount++ end if next DAT*| is_errorMessage = '' return ll_totalCount end function public function long of_exportce_area ();long ll_rc, ll_row, ll_totalCount, ll_found, ll_null double ld_rid, ldb_null string ls_null, ls_filter, ls_find, ls_fileName, ls_message integer li_null, li_recordSet, li_recordSetCount decimal ld_null string ls_dupcheck = '', ls_geostaterid, ls_geocountyRid, ls_fileType string ls_sourceID, ls_deviceid, ls_processid, ls_materialCode n_ds_cache_emissions lnv_export //NEI Point ContrDAT*~ol Equipment Format //COLUMN NAME DATA TYPE WIDTH string ls_RECORD_TYPE //CHARACTER 2 string ls_STATE_FIPS //CHARACTER 2 string ls_COUNTY_FIPS //CHARACTER 3 string ls_SCC //CHARACTER 10 string ls_POLLUTANT_CODE //CHARACTER 10 dec ld_PRIMARY_PCT_CONTROL_EFFICIENCY //DECIMAL 5 dec ld_PCT_CAPTURE_EFFICIENCY //DECIMAL 5 dec ld_TOTAL_CAPTURE_CONTROL_EFFICIENCY //DECIMAL 5 string ls_PRIMARY_DEVICE_TYPE_CODE //CHARACTER 4 striDAT*ng ls_SECONDARY_DEVICE_TYPE_CODE //CHARACTER 4 string ls_blank2 //CHARACTER 25 string ls_CONTROL_SYSTEM_DESCRIPTION //CHARACTER 40 string ls_SUBMITTAL_FLAG //CHARACTER 4 ////initialize variables setPointer(hourGlass!) setNull(ls_null) setNull(ldb_null) setNull(ll_null) setnull(li_null) setnull(ld_null) ll_totalCount = 0 lnv_export = ids_emissions ll_rc = lnv_export.of_filter("control_device_flag = 1") lnv_export.of_sort("geographic_state_rid a, geographic_coDAT*unty_rid a, scc_ams_code a, pollutant_code a, file_type a") if ll_rc < 0 then signalError(ll_rc, lnv_export.is_error) return ll_totalcount end if ls_RECORD_TYPE = ids_areaControlEquipmentOutput.of_getNeiRecordType() ls_STATE_FIPS = is_stateFIPS ls_COUNTY_FIPS = is_countyFIPS ls_blank2 = ls_null ls_CONTROL_SYSTEM_DESCRIPTION = ls_null ls_SUBMITTAL_FLAG = is_submittalFlag for ll_row = 1 to lnv_export.rowcount() ls_sourceID = lnv_export.object.source_id[ll_row] ls_deviceid = lDAT*nv_export.object.device_id[ll_row] ls_processid = lnv_export.object.process_id[ll_row] ls_materialCode = lnv_export.object.material_code[ll_row] //sets dynamic variables for emission release point is_errormessage = "Source ID = '" + f_msgstring(ls_sourceID) + "', Device ID = '" + f_msgstring(ls_deviceid) + & "', Process ID = '" + f_msgstring(ls_processid) + + "' Material_code = '" + f_msgstring(ls_materialCode) + "'" ls_SCC = lnv_export.object.scc_ams_code[ll_row] ls_POLDAT*LUTANT_CODE = lnv_export.object.pollutant_code[ll_row] ld_PRIMARY_PCT_CONTROL_EFFICIENCY = lnv_export.object.primary_pct_control_efficiency[ll_row] ld_PCT_CAPTURE_EFFICIENCY = lnv_export.object.pct_capture_efficiency[ll_row] //set to null if = to 100 mkc 05/06/04 if ld_PCT_CAPTURE_EFFICIENCY = 100 then setnull(ld_PCT_CAPTURE_EFFICIENCY) ld_TOTAL_CAPTURE_CONTROL_EFFICIENCY = lnv_export.object.total_capt_control_efficiency[ll_row] ls_PRIMARY_DEVICE_TYPE_CODE = lnv_export.object.primary_dDAT*evice_type_code[ll_row] if ls_PRIMARY_DEVICE_TYPE_CODE = '@@@@' then ls_PRIMARY_DEVICE_TYPE_CODE = '099' end if ls_SECONDARY_DEVICE_TYPE_CODE = lnv_export.object.secondary_device_type_code[ll_row] if ls_SECONDARY_DEVICE_TYPE_CODE = '@@@@' then ls_SECONDARY_DEVICE_TYPE_CODE = ls_null end if ls_geostaterid = string(lnv_export.object.geographic_state_rid[ll_row]) ls_geocountyRid = string(lnv_export.object.geographic_county_rid[ll_row]) ls_fileType = lnv_export.object.fileDAT*_type[ll_row] if ls_dupcheck = f_msgstring(ls_geostaterid) + " " + f_msgstring(ls_geocountyRid) + " " + & f_msgstring(ls_SCC) + " " + f_msgstring(ls_POLLUTANT_CODE) + " " + & f_msgstring(ls_fileType) then continue else ls_dupcheck = f_msgstring(ls_geostaterid) + " " + f_msgstring(ls_geocountyRid) + " " + & f_msgstring(ls_SCC) + " " + f_msgstring(ls_POLLUTANT_CODE) + " " + & f_msgstring(ls_fileType) if ids_primarykey.of_findkey(ls_dupcDAT*heck, ls_RECORD_TYPE) then continue end if end if //insert data into emission release point datastore ll_rc = ids_areaControlEquipmentOutput.of_addRow(ls_RECORD_TYPE, ls_STATE_FIPS, ls_COUNTY_FIPS, ls_SCC, & ls_POLLUTANT_CODE, ld_PRIMARY_PCT_CONTROL_EFFICIENCY, & ld_PCT_CAPTURE_EFFICIENCY, ld_TOTAL_CAPTURE_CONTROL_EFFICIENCY, & ls_PRIMARY_DEVICE_TYPE_CODE, ls_SECONDARY_DEVICE_TYPE_CODE, & ls_bDAT*lank2, ls_CONTROL_SYSTEM_DESCRIPTION, ls_SUBMITTAL_FLAG ) //if addrow is unsuccessful then exit loop if ll_rc < 0 then exit else ll_totalCount++ end if next //reset emissions cache lnv_export.of_filter("") is_errorMessage = '' return ll_totalCount end function public function long of_exportpe_area ();long ll_rc, ll_row, ll_totalCount, ll_found, ll_null double ld_rid, ldb_null string ls_null, ls_filter, ls_find, ls_fileName, ls_errormessage integer DAT*li_null, li_recordSet, li_recordSetCount decimal ld_null string ls_dupcheck = '', ls_geostaterid, ls_geocountyRid, ls_fileType n_ds_cache_emission_process lnv_export double ld_sourceRid string ls_pollutantCode string ls_FindThroughputUniqueRecord long ll_find double ld_throughputTotal boolean lb_MoreThanOneNumerator //NEI Point Emission Period Format //COLUMN NAME //DATA TYPE WIDTH string ls_RECORD_TYPE //CHARACTER 2 string ls_STATE_FIPS //CHADAT*RACTER 2 string ls_COUNTY_FIPS //CHARACTER 3 string ls_SCC //CHARACTER 10 date ldt_START_DATE //date 8 date ldt_END_DATE //date 8 string ls_blank1 //CHARACTER 2 long ll_START_TIME //NUMBER 4 long ll_END_TIME //NUMBER 4 dec ld_ACTUAL_THROUGHPUT //DECIMAL 10 string ls_THROUGHPUT_UNIT_NUMERATOR //CHARACTER 10 long ll_MATERIAL //NUMBER 4 string ls_MATERIAL_IO //CHARACTER 10 integer li_PERIOD_DAYS_PER_WEDAT*EK //NUMBER 1 integer li_PERIOD_WEEKS_PER_PERIOD //NUMBER 2 integer li_PERIOD_HOURS_PER_DAY //NUMBER 2 long ll_PERIOD_HOURS_PER_PERIOD //NUMBER 4 string ls_SUBMITTAL_FLAG //CHARACTER 4 string ls_state,ls_county string ls_errorInfo long ll_staterid,ll_countyrid ////initialize variables setPointer(hourGlass!) setNull(ls_null) setNull(ldb_null) setNull(ll_null) setnull(li_null) setnull(ld_null) ll_totalCount = 0 lnv_export = ids_emissionprocess ls_REDAT*CORD_TYPE = ids_areaemissionperiodOutput.of_getNeiRecordType() ls_STATE_FIPS = is_stateFIPS ls_COUNTY_FIPS = is_countyFIPS ldt_START_DATE = date(idt_startDateTime) ldt_END_DATE = date(idt_endDateTime) ls_blank1 = ls_null ll_START_TIME = ll_null ll_END_TIME = ll_null li_PERIOD_DAYS_PER_WEEK = li_null li_PERIOD_WEEKS_PER_PERIOD = li_null li_PERIOD_HOURS_PER_DAY = li_null ll_PERIOD_HOURS_PER_PERIOD = ll_null ls_SUBMITTAL_FLAG = is_submittalFlag lnv_export.of_sort("geographic_state_rDAT*id a, geographic_county_rid a, scc_ams_code a, file_type a") if ll_rc < 0 then signalError(ll_rc, lnv_export.is_error) return ll_totalcount end if for ll_row = 1 to lnv_export.rowcount() //sets dynamic variables for emission release point ld_sourceRid = lnv_export.object.source_rid[ll_row] is_errorMessage = "source_rid = " + string(ld_sourceRid) ls_SCC = lnv_export.object.scc_ams_code[ll_row] ld_ACTUAL_THROUGHPUT = lnv_export.object.actual_throughput[ll_row] ld_ACTUALDAT*_THROUGHPUT = of_roundnumber(ld_ACTUAL_THROUGHPUT, 10) ls_THROUGHPUT_UNIT_NUMERATOR = lnv_export.object.throughput_unit_numerator[ll_row] ll_MATERIAL = lnv_export.object.material[ll_row] ls_MATERIAL_IO = lnv_export.object.material_io[ll_row] ls_fileType = lnv_export.object.file_type[ll_row] ll_staterid = lnv_export.object.geographic_state_rid[ll_row] ll_countyRid = lnv_export.object.geographic_county_rid[ll_row] select r.name into :ls_state from rap_geographic_locations r whereDAT* r.rid = :ll_StateRid; Select r.name into :ls_county from rap_geographic_locations r where r.rid = :ll_CountyRid; ls_errorinfo = "state: "+f_msgstring(ls_state) + & " county: " + f_msgstring(ls_county) + & " SCC: " + f_msgstring(ls_scc) + & " File Type: " + f_msgstring(ls_fileType) //check for uniqeness ls_geostaterid = string(lnv_export.object.geographic_state_rid[ll_row]) ls_geocountyRid = string(lnv_export.object.geographic_county_rid[ll_row]) iDAT*f ls_dupcheck = f_msgstring(ls_geostaterid) + " " + f_msgstring(ls_geocountyRid) + " " + & f_msgstring(ls_scc) + " " + f_msgstring(ls_fileType) then continue else ls_dupcheck = f_msgstring(ls_geostaterid) + " " + f_msgstring(ls_geocountyRid) + " " + & f_msgstring(ls_scc) + " " + f_msgstring(ls_fileType) if ids_primarykey.of_findkey(ls_dupcheck, ls_RECORD_TYPE) then continue end if end if ls_FindThroughPutUniqueRecord = 'geographic_state_rid='+ ls_gDAT*eostaterid + & ' and geographic_county_rid='+ls_geocountyRid + & ' and scc_ams_code="'+ls_SCC+'"' + & ' and file_type= "'+ls_fileType+'"' ll_find = 0 ld_throughputtotal = 0 lb_MoreThanOneNumerator = false do ll_find = lnv_export.find(ls_FindThroughPutUniqueRecord,ll_find,lnv_export.rowcount()) if ll_find > 0 then if isnull(ls_THROUGHPUT_UNIT_NUMERATOR) then ls_THROUGHPUT_UNIT_NUMERATOR = lnv_export.object.throughput_DAT*unit_numerator[ll_find] end if // get throughput total if ls_THROUGHPUT_UNIT_NUMERATOR = lnv_export.object.throughput_unit_numerator[ll_find] and & ls_material_io = lnv_export.object.material_io[ll_find] and & ll_MATERIAL = lnv_export.object.material[ll_find] then // ok to add to total ld_throughputtotal = ld_throughputtotal + lnv_export.object.actual_throughput[ll_find] else // need to blank out total and numerator // all write error message //DAT* set ll_find to -1 so we can add one so ll_find = 0 and exit the loop lb_MoreThanOneNumerator = true ll_find = - 1 end if // add one to find to get next record if ll_find = lnv_export.rowcount() then ll_find = 0 else ll_find ++ end if end if loop while ll_find > 0 if lb_MoreThanOneNumerator then setnull(ld_ACTUAL_THROUGHPUT) setnull(ls_THROUGHPUT_UNIT_NUMERATOR) setnull(ll_material) setnull(ls_material_io) this.of_writelogmessDAT*agewarning(ids_areaemissionperiodOutput, & "Annual throughput could not be exported since more than one throughput "+& "record was found for this SCC with different throughput units, material, "+& "and material io that could not be combined and summed. "+ ls_errorinfo) // write an error message else ld_ACTUAL_THROUGHPUT = ld_throughputtotal ld_ACTUAL_THROUGHPUT = of_roundnumber(ld_ACTUAL_THROUGHPUT, 10) end if //insert data into emission release point datastore ll_rc =DAT* ids_areaemissionperiodOutput.of_addRow(ls_RECORD_TYPE, ls_STATE_FIPS, ls_COUNTY_FIPS, & ls_SCC, ldt_START_DATE, ldt_END_DATE, ls_blank1, ll_START_TIME, & ll_END_TIME, ld_ACTUAL_THROUGHPUT, & ls_THROUGHPUT_UNIT_NUMERATOR, ll_MATERIAL, & ls_MATERIAL_IO, li_PERIOD_DAYS_PER_WEEK, & li_PERIOD_WEEKS_PER_PERIOD, li_PERIOD_HOURS_PER_DAY, & ll_PERIOD_HOURS_PER_PERIOD, ls_SUBMITTAL_FLAG ) //if aDAT*ddrow is unsuccessful then exit loop if ll_rc < 0 then exit else ll_totalCount++ end if next is_errorMessage = '' return ll_totalCount end function public function long of_exportem_area ();long ll_rc, ll_row, ll_totalCount, ll_found, ll_null, ll_deviceFlagcount double ld_rid, ldb_null string ls_null, ls_filter, ls_find, ls_fileName integer li_null, li_recordSet, li_recordSetCount decimal ld_null string ls_dupcheck = '', ls_geostaterid, ls_geocountyRid, ls_fileTypeDAT* n_ds_cache_emissions lnv_export // //NEI Point Emission Format //COLUMN_NAME //DATA TYPE WIDTH string ls_RECORD_TYPE //CHARACTER 2 string ls_STATE_FIPS //CHARACTER 2 string ls_COUNTY_FIPS //CHARACTER 3 string ls_SCC //CHARACTER 15 string ls_POLLUTANT_CODE //CHARACTER 10 string ls_blank1 //CHARACTER 10 date ldt_START_DATE //DATE 8 date ldt_END_DATE //DATE 8 string ls_blank2 DAT* //CHARACTER 10 long ll_START_TIME //NUMBER 4 long ll_END_TIME //NUMBER 4 dec ld_EMISSION_NUMERIC_VALUE //DECIMAL 10 string ls_EMISSION_UNIT_NUMERATOR //CHARACTER 10 string ls_EMISSION_TYPE //CHARACTER 2 string ls_EM_RELIABILITY_INDICATOR //CHARACTER 5 dec ld_FACTOR_NUMERIC_VALUE //DECIMAL 10 string ls_FACTOR_UNIT_NUMERATOR //CHARACTER 10 string ls_FACTOR_UNIT_DENOMINATOR //CHARACTER 10 long ll_MATERIAL //NUMDAT*BER 4 string ls_MATERIAL_IO //CHARACTER 10 string ls_blank3 //CHARACTER string ls_EMISSION_CALCULATION_METHOD_CODE //CHARACTER 2 string ls_EF_RELIABILITY_INDICATOR //CHARACTER 5 dec ld_RULE_EFFECTIVENESS //DECIMAL 5 string ls_RULE_EFFECTIVENESS_METHOD //CHARACTER 2 dec ld_RULE_PENETRATION //DECIMAL 5 string ls_SUBMITTAL_FLAG //CHARACTER 4 lnv_export = ids_emissions lnv_export.of_sort("geographic_state_rid a, geographic_cDAT*ounty_rid a, scc_ams_code a, pollutant_code a, file_type a") if ll_rc < 0 then signalError(ll_rc, lnv_export.is_error) return ll_totalcount end if ////initialize variables setPointer(hourGlass!) setNull(ls_null) setNull(ldb_null) setNull(ll_null) setnull(li_null) setnull(ld_null) ll_totalCount = 0 ls_RECORD_TYPE = ids_areaemissionOutput.of_getNeiRecordType() ls_STATE_FIPS = is_stateFIPS ls_COUNTY_FIPS = is_countyFIPS ls_blank1 = ls_null ldt_START_DATE = date(idt_startDateDAT*Time) ldt_END_DATE = date(idt_endDateTime) ll_START_TIME = ll_null ll_END_TIME = ll_null ls_blank2 = ls_null ls_EMISSION_TYPE = '30' ls_EM_RELIABILITY_INDICATOR = ls_null ld_FACTOR_NUMERIC_VALUE = ld_null ls_FACTOR_UNIT_NUMERATOR = ls_null ls_FACTOR_UNIT_DENOMINATOR = ls_null ll_MATERIAL = ll_null ls_MATERIAL_IO = ls_null ls_blank3 = ls_null ls_EMISSION_CALCULATION_METHOD_CODE = ls_null ls_EF_RELIABILITY_INDICATOR = ls_null ls_RULE_EFFECTIVENESS_METHOD = ls_null ls_SUBMITTAL_FLAG DAT*= is_submittalFlag for ll_row = 1 to lnv_export.rowcount() //sets dynamic variables for point emission is_errormessage = " Source ID = '" + f_msgstring(lnv_export.object.source_id[ll_row]) + "', Device ID = '" + f_msgstring(lnv_export.object.device_id[ll_row]) + & "', Process ID = '" + f_msgstring(lnv_export.object.process_id[ll_row]) + "', Stream ID = '" + f_msgstring(lnv_export.object.stream_id[ll_row]) + & "', Stream ID = '" + f_msgstring(lnv_export.object.material_code[lDAT*l_row]) + "'" ls_SCC = lnv_export.object.scc_ams_code[ll_row] ls_POLLUTANT_CODE = lnv_export.object.pollutant_code[ll_row] ls_EMISSION_UNIT_NUMERATOR = lnv_export.object.emission_unit_code[ll_row] ls_find = "stream_rid = " + string(lnv_export.object.stream_rid[ll_row]) + " and material_code = '" + lnv_export.object.material_code[ll_row] + "'" ld_RULE_EFFECTIVENESS = dec(of_getactivitydata ( 'OUTSTREAM', ls_find, 'RULE EFFECT', 'value' )) ls_find = "stream_rid = " + string(lnvDAT*_export.object.stream_rid[ll_row]) + " and material_code = '" + & lnv_export.object.material_code[ll_row] + "'" ld_RULE_PENETRATION = dec(of_getactivitydata ( 'OUTSTREAM', ls_find, 'RULE PENET', 'value' )) ls_geostaterid = string(lnv_export.object.geographic_state_rid[ll_row]) ls_geocountyRid = string(lnv_export.object.geographic_county_rid[ll_row]) ls_fileType = lnv_export.object.file_type[ll_row] ls_find = "geographic_state_rid = " + ls_geostaterid + & " and geographic_cDAT*ounty_rid = " + ls_geocountyRid + & " and scc_ams_code = '" + ls_SCC + & "' and pollutant_code = '" + ls_POLLUTANT_CODE + & "' and file_type = '" + ls_fileType + "'" of_exportem_getsitetotals(ls_find,ld_EMISSION_NUMERIC_VALUE, ll_deviceFlagcount ) if ls_dupcheck = f_msgstring(ls_geostaterid) + " " + f_msgstring(ls_geocountyRid) + " " + & f_msgstring(ls_scc) + " " + f_msgstring(ls_POLLUTANT_CODE) + " " + f_msgstring(ls_fileType) then continue else ls_DAT*dupcheck = f_msgstring(ls_geostaterid) + " " + f_msgstring(ls_geocountyRid) + " " + & f_msgstring(ls_scc) + " " + f_msgstring(ls_POLLUTANT_CODE) + " " + f_msgstring(ls_fileType) if ids_primarykey.of_findkey(ls_dupcheck, ls_RECORD_TYPE) then continue end if end if //insert data into emission emission datastore ll_rc = ids_areaemissionOutput.of_addRow(ls_RECORD_TYPE, ls_STATE_FIPS, ls_COUNTY_FIPS, ls_SCC, & ls_POLLUTANT_CODE, ls_blank1, ldt_START_DADAT*TE, & ldt_END_DATE, ls_blank2, ll_START_TIME, ll_END_TIME, & ld_EMISSION_NUMERIC_VALUE, ls_EMISSION_UNIT_NUMERATOR, & ls_EMISSION_TYPE, ls_EM_RELIABILITY_INDICATOR, & ld_FACTOR_NUMERIC_VALUE, ls_FACTOR_UNIT_NUMERATOR, & ls_FACTOR_UNIT_DENOMINATOR, ll_MATERIAL, ls_MATERIAL_IO, & ls_blank3, ls_EMISSION_CALCULATION_METHOD_CODE, & ls_EF_RELIABILITY_INDICATOR, ld_RULE_EFFECTIVENESS, & DAT* ls_RULE_EFFECTIVENESS_METHOD, ld_RULE_PENETRATION, ls_SUBMITTAL_FLAG) //if addrow is unsuccessful then exit loop if ll_rc < 0 then exit else ll_totalCount++ end if next //reset emissions cache //lnv_export.of_filter("") is_errorMessage = '' return ll_totalCount end function public function long of_exportpe_onroad ();long ll_rc, ll_row, ll_totalCount, ll_found, ll_null double ld_rid, ldb_null string ls_null, ls_filter, ls_find, ls_fileDAT*Name, ls_errormessage integer li_null, li_recordSet, li_recordSetCount decimal ld_null string ls_dupcheck = '', ls_geostaterid, ls_geocountyRid, ls_fileType n_ds_cache_emission_process lnv_export double ld_sourceRid string ls_pollutantCode double ld_thoughputTotal int ll_TPRow string ls_FindThroughPutUniqueRecord long ll_find double ld_throughputTotal boolean lb_MoreThanOneNumerator //NEI Point Emission Period Format //COLUMN NAME //DATA TYPE WIDTH string DAT*ls_RECORD_TYPE //CHARACTER 2 string ls_STATE_FIPS //CHARACTER 2 string ls_COUNTY_FIPS //CHARACTER 3 string ls_SCC //CHARACTER 10 date ldt_START_DATE //date 8 date ldt_END_DATE //date 8 string ls_blank1 //CHARACTER 2 long ll_START_TIME //NUMBER 4 long ll_END_TIME //NUMBER 4 dec ld_ACTUAL_THROUGHPUT //DECIMAL 10 string ls_THROUGHPUT_UNIT_NUMERATOR //CHARACTER 10 string ls_SUBMITTAL_FLAG //CHARACTER 4 DAT* string ls_state,ls_county string ls_errorInfo long ll_stateRid,ll_CountyRid ////initialize variables setPointer(hourGlass!) setNull(ls_null) setNull(ldb_null) setNull(ll_null) setnull(li_null) setnull(ld_null) ll_totalCount = 0 lnv_export = ids_emissionprocess ls_RECORD_TYPE = ids_onroademissionperiodOutput.of_getNeiRecordType() ls_STATE_FIPS = is_stateFIPS ls_COUNTY_FIPS = is_countyFIPS ldt_START_DATE = date(idt_startDateTime) ldt_END_DATE = date(idt_endDateTime) ls_bDAT*lank1 = ls_null ll_START_TIME = ll_null ll_END_TIME = ll_null ls_SUBMITTAL_FLAG = is_submittalFlag ll_rc = lnv_export.of_filter("type = 'M'") lnv_export.of_sort("geographic_state_rid a, geographic_county_rid a, scc_ams_code a, file_type a") if ll_rc < 0 then signalError(ll_rc, lnv_export.is_error) return ll_totalcount end if for ll_row = 1 to lnv_export.rowcount() //sets dynamic variables for emission release point ld_sourceRid = lnv_export.object.source_rid[ll_row] is_erDAT*rorMessage = "source_rid = " + string(ld_sourceRid) ls_SCC = lnv_export.object.scc_ams_code[ll_row] ld_ACTUAL_THROUGHPUT = lnv_export.object.actual_throughput[ll_row] ld_ACTUAL_THROUGHPUT = of_roundnumber(ld_ACTUAL_THROUGHPUT, 10) ls_THROUGHPUT_UNIT_NUMERATOR = lnv_export.object.throughput_unit_numerator[ll_row] //check for uniqeness ls_geostaterid = string(lnv_export.object.geographic_state_rid[ll_row]) ls_geocountyRid = string(lnv_export.object.geographic_county_rid[ll_rDAT*ow]) ls_fileType = lnv_export.object.file_type[ll_row] ll_staterid = lnv_export.object.geographic_state_rid[ll_row] ll_countyRid = lnv_export.object.geographic_county_rid[ll_row] select r.name into :ls_state from rap_geographic_locations r where r.rid = :ll_StateRid; Select r.name into :ls_county from rap_geographic_locations r where r.rid = :ll_CountyRid; ls_errorinfo = "state: "+f_msgstring(ls_state) + & " county: " + f_msgstring(ls_county) + & " SCC: " +DAT* f_msgstring(ls_scc) + & " File Type: " + f_msgstring(ls_fileType) if ls_dupcheck = f_msgstring(ls_geostaterid) + " " + f_msgstring(ls_geocountyRid) + " " + & f_msgstring(ls_scc) + " " + f_msgstring(ls_fileType) + " " then continue else ls_dupcheck = f_msgstring(ls_geostaterid) + " " + f_msgstring(ls_geocountyRid) + " " + & f_msgstring(ls_scc) + " " + f_msgstring(ls_fileType) + " " if ids_primarykey.of_findkey(ls_dupcheck, ls_RECORD_TYPE)DAT* then continue end if end if // added code to add all the totals for numerator // also check to see if all have the same numerator types // mlk 10/2004 ls_FindThroughPutUniqueRecord = 'geographic_state_rid='+ ls_geostaterid + & ' and geographic_county_rid='+ls_geocountyRid + & ' and scc_ams_code="'+ls_SCC+'"' + & ' and file_type= "'+ls_fileType+'"' + & ' and tribal_code= "'+lnv_export.object.tribal_code[ll_row] + '"' ll_finDAT*d = 0 ld_throughputtotal = 0 lb_MoreThanOneNumerator = false do ll_find = lnv_export.find(ls_FindThroughPutUniqueRecord,ll_find,lnv_export.rowcount()) if ll_find > 0 then if isnull(ls_THROUGHPUT_UNIT_NUMERATOR) then ls_THROUGHPUT_UNIT_NUMERATOR = lnv_export.object.throughput_unit_numerator[ll_find] end if // get throughput total if ls_THROUGHPUT_UNIT_NUMERATOR = lnv_export.object.throughput_unit_numerator[ll_find] then // ok to add to total ld_througDAT*hputtotal = ld_throughputtotal + lnv_export.object.actual_throughput[ll_find] else // need to blank out total and numerator // all write error message // set ll_find to -1 so we can add one so ll_find = 0 and exit the loop lb_MoreThanOneNumerator = true ll_find = - 1 end if // add one to find to get next record if ll_find = lnv_export.rowcount() then ll_find = 0 else ll_find ++ end if end if loop while ll_find > 0 if lb_MoDAT*reThanOneNumerator then setnull(ld_ACTUAL_THROUGHPUT) setnull(ls_THROUGHPUT_UNIT_NUMERATOR) this.of_writelogmessagewarning(ids_onroademissionperiodOutput, & "Annual throughput could not be exported since more than one "+& "throughput record was found for this SCC with different throughput "+& "units that could not be combined and summed. "+ ls_errorinfo) // write an error message else ld_ACTUAL_THROUGHPUT = ld_throughputtotal ld_ACTUAL_THROUGHPUT = of_roundnumber(ld_ACDAT*TUAL_THROUGHPUT, 10) end if //insert data into emission release point datastore ll_rc = ids_onroademissionperiodOutput.of_addRow(ls_RECORD_TYPE, ls_STATE_FIPS, ls_COUNTY_FIPS, & ls_SCC, ldt_START_DATE, ldt_END_DATE, ls_blank1, ll_START_TIME, & ll_END_TIME, ld_ACTUAL_THROUGHPUT, & ls_THROUGHPUT_UNIT_NUMERATOR, ls_SUBMITTAL_FLAG ) //if addrow is unsuccessful then exit loop if ll_rc < 0 then exit else ll_totalCount++ eDAT*nd if next ll_rc = lnv_export.of_filter("") is_errorMessage = '' return ll_totalCount end function public function long of_exportem_onroad ();long ll_rc, ll_row, ll_totalCount, ll_found, ll_null, ll_deviceFlagcount double ld_rid, ldb_null string ls_null, ls_filter, ls_find, ls_fileName integer li_null, li_recordSet, li_recordSetCount decimal ld_null string ls_dupcheck = '', ls_geostaterid, ls_geocountyRid, ls_fileType n_ds_cache_emissions lnv_export // //NEI Onroad EmissDAT*ion Format //COLUMN_NAME //DATA TYPE WIDTH string ls_RECORD_TYPE //CHARACTER 2 string ls_STATE_FIPS //CHARACTER 2 string ls_COUNTY_FIPS //CHARACTER 3 string ls_SCC //CHARACTER 15 string ls_blank1 //CHARACTER 10 date ldt_START_DATE //DATE 8 date ldt_END_DATE //DATE 8 string ls_blank2 //CHARACTER 10 long ll_START_TIME //NUMBER 4 long ll_END_TIME //NUMBER 4 strinDAT*g ls_POLLUTANT_CODE //CHARACTER 10 string ls_EMISSION_PROCESS_DESCRIPTION //CHARACTER 80 dec ld_EMISSION_NUMERIC_VALUE //DECIMAL 10 string ls_EMISSION_UNIT_NUMERATOR //CHARACTER 10 string ls_EMISSION_TYPE //CHARACTER 2 string ls_EM_RELIABILITY_INDICATOR //CHARACTER 5 string ls_SUBMITTAL_FLAG //CHARACTER 4 lnv_export = ids_emissions ll_rc = lnv_export.of_filter("source_type = 'M'") lnv_export.of_sort("geographic_state_rid a, geographic_couDAT*nty_rid a, scc_ams_code a, pollutant_code a, file_type a") if ll_rc < 0 then signalError(ll_rc, lnv_export.is_error) return ll_totalcount end if ////initialize variables setPointer(hourGlass!) setNull(ls_null) setNull(ldb_null) setNull(ll_null) setnull(li_null) setnull(ld_null) ll_totalCount = 0 ls_RECORD_TYPE = ids_onroademissionOutput.of_getNeiRecordType() ls_STATE_FIPS = is_stateFIPS ls_COUNTY_FIPS = is_countyFIPS ls_blank1 = ls_null ldt_START_DATE = date(idt_startDateDAT*Time) ldt_END_DATE = date(idt_endDateTime) ll_START_TIME = ll_null ll_END_TIME = ll_null ls_blank2 = ls_null ls_EMISSION_TYPE = '30' ls_EM_RELIABILITY_INDICATOR = ls_null ls_SUBMITTAL_FLAG = is_submittalFlag for ll_row = 1 to lnv_export.rowcount() //sets dynamic variables for point emission is_errormessage = " Source ID = '" + f_msgstring(lnv_export.object.source_id[ll_row]) + "', Device ID = '" + f_msgstring(lnv_export.object.device_id[ll_row]) + & "', Process ID = '" +DAT* f_msgstring(lnv_export.object.process_id[ll_row]) + "', Stream ID = '" + f_msgstring(lnv_export.object.stream_id[ll_row]) + & "', Stream ID = '" + f_msgstring(lnv_export.object.material_code[ll_row]) + "'" ls_SCC = lnv_export.object.scc_ams_code[ll_row] ls_POLLUTANT_CODE = lnv_export.object.pollutant_code[ll_row] ls_EMISSION_UNIT_NUMERATOR = lnv_export.object.emission_unit_code[ll_row] ls_geostaterid = string(lnv_export.object.geographic_state_rid[ll_row]) ls_geocountyRid = strDAT*ing(lnv_export.object.geographic_county_rid[ll_row]) ls_fileType = lnv_export.object.file_type[ll_row] ls_find = "process_rid = " + string(lnv_export.object.process_rid[ll_row]) if ids_emissionprocess.of_find(ls_find) then ls_EMISSION_PROCESS_DESCRIPTION = ids_emissionprocess.of_getdata('name') if isnull(ls_EMISSION_PROCESS_DESCRIPTION) or ls_EMISSION_PROCESS_DESCRIPTION = '' then ls_EMISSION_PROCESS_DESCRIPTION = ids_emissionprocess.of_getdata('comment_text') end if end DAT*if ls_find = "geographic_state_rid = " + ls_geostaterid + & " and geographic_county_rid = " + ls_geocountyRid + & " and scc_ams_code = '" + ls_SCC + & "' and pollutant_code = '" + ls_POLLUTANT_CODE + & "' and file_type = '" + ls_fileType + "'" of_exportem_getsitetotals(ls_find,ld_EMISSION_NUMERIC_VALUE, ll_deviceFlagcount ) if ls_dupcheck = f_msgstring(ls_geostaterid) + " " + f_msgstring(ls_geocountyRid) + " " + & f_msgstring(ls_scc) + " " + DAT*f_msgstring(ls_POLLUTANT_CODE) + " " + f_msgstring(ls_fileType) then continue else ls_dupcheck = f_msgstring(ls_geostaterid) + " " + f_msgstring(ls_geocountyRid) + " " + & f_msgstring(ls_scc) + " " + f_msgstring(ls_POLLUTANT_CODE) + " " + f_msgstring(ls_fileType) if ids_primarykey.of_findkey(ls_dupcheck, ls_RECORD_TYPE) then continue end if end if //insert data into emission emission datastore ll_rc = ids_onroademissionOutput.of_addRow(ls_RECORD_TYPE,DAT* ls_STATE_FIPS, ls_COUNTY_FIPS, ls_SCC, & ls_blank1, ldt_START_DATE, ldt_END_DATE, ls_blank2, & ll_START_TIME, ll_END_TIME, ls_POLLUTANT_CODE, & ls_EMISSION_PROCESS_DESCRIPTION, ld_EMISSION_NUMERIC_VALUE, & ls_EMISSION_UNIT_NUMERATOR, ls_EMISSION_TYPE, ls_EM_RELIABILITY_INDICATOR, & ls_SUBMITTAL_FLAG) //if addrow is unsuccessful then exit loop if ll_rc < 0 then exit else ll_totalCount++ endDAT* if next //reset emissions cache lnv_export.of_filter("") is_errorMessage = '' return ll_totalCount end function public function integer of_settransmittaluserinput ();//creates transmittal record string ls_dataobject long ll_rc = 1 string ls_eventname = "settransmittaluserinput" if isvalid(iw_export) and not isnull(iw_export) then is_file_system_version = iw_export.is_file_system_version else is_file_system_version = 'NIF2' end if ll_rc = triggerevent("ueDAT*_" + this.is_file_system_version + "_" + ls_eventname ) //load transmittal settings from ini file this.of_loadTransmittalUserInput() return 1 end function public function long of_validatetransmittaluserinput ();/* VALIDATE TRANSMITTAL USER INPUN INFORMATION Return: -1 - Error 0 - validation failed 1 - validation passed */ //nif specific long ll_rc = -1 string ls_eventname = "validatetransmittaluserinput" ll_rc = triggerevent("ue_" + this.is_file_system_versDAT*ion + "_" + ls_eventname ) return ll_rc return ll_rc end function public function integer of_n2_getfilename (string as_filetype, string as_recordtype); this.of_writeLogMessageError(ids_transmittalOutput, "File name lookup failed for Source Type '" + f_msgstring(is_sourceTypeLog) +& "' and Record Type '" + f_msgstring(as_recordType) + "'.") return 1 end function public function integer of_n3_getfilename (string as_filetype, string as_recordtype); this.of_writeLogMessDAT*ageError(ids_n3_transmittalOutput, "File name lookup failed for Source Type '" + f_msgstring(is_sourceTypeLog) +& "' and Record Type '" + f_msgstring(as_recordType) + "'.") return 1 end function public function integer of_saveoutputfiles ();integer ll_rc = 1 string ls_eventname = "saveoutputfiles" ll_rc = triggerevent("ue_" + this.is_file_system_version + "_" + ls_eventname ) return ll_rc end function public function integer of_n3_exporttransmittal (); long ll_rc strDAT*ing ls_null string ls_recordString string ls_fileName string ls_formatVersion decimal ld_formatVersion string ls_recordType //n_ds_transmittal lds_transmittal ls_recordType = ids_n3_transmittalOutput.of_getNeiRecordType() setNull(ls_null) setPointer(hourGlass!) //NEI Transmittal format //COLUMN NAME DATA TYPE WIDTH //record_type character 2 //state_fips_and_county_fips character 5 //organization_name character 80 //transaction_type characteDAT*r 2 //inventory_year number 4 //inventory_type_code character 10 //transaction_creation_date number 8 //incremental_submission_number number 4 //reliability_indicator decimal 5 //transaction_comments character 80 //contact_person_name character 70 //contact_phone_number character 15 //telephone_number_type_name character 10 //electronic_address_text character 100 //electronic_address_type_name character 10 //source_type character 25 //affiDAT*liation_type character 40 //format_version decimal 4 //tribal_code character 3 ls_formatVersion = ids_transmittalUserInput.object.format_version[1] ld_formatVersion = dec(ls_formatVersion) ids_n3_transmittalOutput.of_addRow( & ls_recordType, & is_statecountyFIPS, & ids_transmittalUserInput.object.organization_name[1], & ids_transmittalUserInput.object.transaction_type[1], & string(ii_year), & ids_transmittalUserInput.object.inventory_type_code[1], & todaDAT*y(), & string(ii_submissionNumber), & dec(ids_transmittalUserInput.object.reliability_indicator[1]), & ids_transmittalUserInput.object.transaction_comments[1], & ids_transmittalUserInput.object.contact_person_name[1], & ids_transmittalUserInput.object.contact_phone_number[1], & ids_transmittalUserInput.object.contact_phone_number_type[1], & ids_transmittalUserInput.object.electronic_address[1], & ids_transmittalUserInput.object.electronic_address_type[1], & upper(is_sourceType), DAT*& ids_transmittalUserInput.object.affiliation_type[1], & ld_formatVersion, & is_tribalcode) //dec(ids_transmittalUserInput.object.format_version[1])) ////write the transmittal record to the export file ll_rc = ids_n3_transmittalOutput.of_saveToFile(il_sourceRow) if ll_rc < 0 then return -1 end if is_errorMessage = '' return 1 end function public function integer of_n3_exportsite ();double ld_null long ll_rc long ll_find string ls_null string ls_fileName string ls_rDAT*ecordString string ls_city string ls_nation string ls_recordType string ls_toxicFlags string ls_find string ls_value string ls_STREET_LINE_1 //CHARACTER 30 string ls_STREET_LINE_2 //CHARACTER 30 setNull(ls_null) setNull(ld_null) setPointer(hourGlass!) //validate state afs id or rapids id if len(is_siteID) > 15 then this.of_writeLogMessageError("Site ID " + is_siteID + " is longer than 15 characters. Skipping Source.") ids_source.of_setException(is_sourceID, "SourcDAT*e ID", "error", "Site ID " + is_siteID + " is longer than 15 characters.") return 0 elseif isNull(is_siteID) then this.of_writeLogMessageError("Site ID is NULL. Skipping Source.") ids_source.of_setException(is_sourceID, "Source ID", "error", "Site ID is NULL.") return 0 end if //create the site record from rapids data /* rapids source data format nation_rid decimal(0) nation_name char(50) state_rid decimal(0) state_name char(50) county_rid DAT*decimal(0) county_name char(50) source_rid decimal(0) code char(15) id char(15) name char(50) type char(1) begin_operation_date date comment_text char(255) end_operation_date date geographic_incorp_rid decimal(0) geographic_locale_rid decimal(0) group_flag char(1) group_type char(20) location_line_1_addr char(40) location_line_2_addr char(40) location_zip_code char(11) sic_code DAT* char(4) naics_code char(6) operator_id char(15) operator_code char(15) operator_name char(50) geographic_incorp_name char(50) geographic_incorp_type char(8) */ //NEI Site Format //COLUMN NAME //DATA TYPE WIDTH string ls_RECORD_TYPE //CHARACTER 2 string ls_STATEcountyFIPS //CHARACTER 5 string ls_SITE_facility_identifier //CHARACTER 15 string ls_FEDERAL_registry_identifier //CHARACTER 12 string ls_FACILITY_CATEDAT* GORY //CHARACTER 2 string ls_ORIS_FACILITY_CODE //CHARACTER 6 double ld_SIC_PRIMARY //NUMBER 4 string ls_NAICS_PRIMARY //CHARACTER 6 string ls_FACILITY_NAME //CHARACTER 50 string ls_SITE_DESCRIPTION //CHARACTER 40 string ls_location_address //string ls_CITY //CHARACTER 30 string ls_STATE //CHARACTER 2 string ls_ZIPCODE //CHARACTER 10 string ls_COUNTRY //CHARACTER 20 string ls_NTI_SITE_ID //CHARACTER 20 string ls_DUN_BRADSTREETDAT* _NUMBER //CHARACTER 10 string ls_TRI_ID //CHARACTER 20 string ls_SUBMITTAL_FLAG //CHARACTER 4 string ls_tribal_code //CHARACTER 4 //removed truncation logic below for the following columns -- of_addRow() will handle it // left(string(ids_source.object.comment_text[il_sourceRow]), 40), & // left(string(ids_source.object.location_line_1_addr[il_sourceRow]), 30), & // left(string(ids_source.object.location_line_2_addr[il_sourceRow]), 30), & // left(string(ids_sDAT*Nource.object.location_zip_code[il_sourceRow]), 10), & ls_record_Type = ids_n3_siteOutput.of_getNeiRecordType() ls_STATEcountyFIPS = is_statecountyFIPS ls_SITE_facility_identifier = is_siteID ls_FEDERAL_registry_identifier = ls_null is_errormessage = "Source ID = " + f_msgstring(ls_SITE_facility_identifier) ls_find = "ref_rid = " + string(ids_source.object.source_rid[il_sourceRow]) + " " ls_value = string(of_getactivitydata("SOURCE", ls_find, 'HAP MAJOR', "value")) ls_toxicFlagsDAT*(@(8z'8z&$8l09n98t80t^-8@0 6808V0n8%@%8$809n98(@(8$809n98(@(8$809n98^/$8 09n,98^DAT* 84z%8Lz&z&8jz&/z&8z&z&8z&z&8z&z&8z& 6)8688z&68z(8z&68z(8z&6 8z(8z&6!8z(8z&/6"8z(p   6#88z&6$8z(8z&6%DAT*8z(8z&6&8z(8z&6'8z(8z&/6(8z($66)8  $66666336M2 6!6"6M#2$6%6&'6(6)6*6M+2,6M-2.6/6),81   480DAT*,.021B2p6z789:;< >.?P@hAxBCDEFGHI"J2KBLNM^NnO~PQSW[\ ]R`aLcePghiHjlsN ux wh xl yp {Z | z d ll_rcll_rowll_totalcountll_foundll_nullll_deviceflagcountld_ridldb_nullls_nullls_filterls_findls_filenameli_nullli_recordsetli_recordsetcountld_nullls_dupcheckls_geostateridls_geocountyridls_filetypelnv_exporDAT*tls_record_typels_state_county_fipsls_sccls_pollutant_codels_blank1ldt_start_dateldt_end_datels_blank2ll_start_timell_end_timeld_emission_numeric_valuels_emission_unit_numeratorls_emission_typels_em_reliability_indicatorld_factor_numeric_valuels_factor_unit_numeratorls_factor_unit_denominatorll_materialls_material_iols_blank3ls_emission_calculation_method_codels_ef_reliability_indicatorld_rule_effectivenessls_rule_effectiveness_methodld_rule_penetrationls_submittal_flaglDAT*s_tribalcode#,4G N W _ i q }>    bu *_e   DAT* tu+ 5 D teQ [iypu> @  _s >   # T/ > H nl > _s gr>  a " < ids_emissionDAT*s ;*geographic_state_rid a, geographic_county_rid a, tribal_code a, scc_ams_code a, pollutant_code a, file_type aof_sortec!is_errorllids_n3_areaemissionoutput 'of_getneirecordtype3is_statecountyfips]idt_startdatetimemidt_enddatetime,n30is_submittalflagGzrowcount`is_errormessaget Source ID = 'object@source_id__get_attribute_item', Device ID = '@device_id', ProcDAT* ess ID = '@process_id', Stream ID = '@stream_id%@material_code''@scc_ams_code)@pollutant_code@emission_unit_codestream_rid = @stream_rid and material_code = '@OUTSTREAMRULE EFFECTvalueof_getactivitydataZ\@@RULE PENETZ\@geographic_state_rid9@geographic_county_ridDAT*"@file_type8@tribal_codegeographic_state_rid = and geographic_county_rid = and tribal_code = '' and scc_ams_code = '' and pollutant_code = '' and file_type = 'of_exportem_getsitetotalsV ids_primarykeyN=of_findkeyI'of_addrow4 t      $ < X l       , H \ d |   DAT*$      0 8 p x            ,     , 4 B M:F@@8@8@8@8 @8@81 $L$)h8$6$5DAT*&@8$5@86!$680)888.z%)81&$6+@+81B)8 $809n98]8L1(@(8z'$809n(DAT*(98^0$8809nL98[M21 Kd8 @8l$8t09n98(@(8$809n98(@(8$809n98^"$809n98^*$8t0DAT**9n98]+$809n 98](L*,D@)L+,D'8(6)8z'8z&)6*8z(8&z&6+8z(8-z&6,8z(8:z&"6-8z(6.88Dz&6/8z(8Dz&608z(8Dz&618zDAT*,(8Dz&"628z(2 &6388Dz&648z(8Dz&658z(8Dz&668z(8Dz&"678z(X$66)l8& #8tz%8z&z&8z&z&8z&8z&z&8z&8z&$809n98t80t^$1DAT*.%1I&9}$#$)8)8$1     $80$9n098^ 8$80$9n@986z4 %L%H$880$9nP98t]N &9}$1$)X8| $1 $$1 & @8 @8`$DAT*08h8z%8z&'z&)48T L%M21 K<8D$666336M2 6!6"6)X 8 1   880)`8h80$%&6'R(n)*,./01,2V3f4r5~679:;>&A^BDEFdGKLMRNPQ$SjTX^DAT*2ba*b.c2fg"n&stuw y< zL {V ~ 0 4 @ N j x |   * T  2 dV ll_rcll_rowll_totalcountll_foundll_nullld_ridldb_nullls_nullls_filterls_findls_filenamels_errormessageli_nullli_recordsetli_recordsetcountld_nullls_dupcheckls_geostateridls_geocountyridls_filetypelnv_exportld_sourceridls_pollutantcodels_record_typels_state_county_fipsls_sccldt_start_dateldt_enDAT*4d_datels_blank1ll_start_timell_end_timeld_actual_throughputls_throughput_unit_numeratorls_submittal_flagls_tribalcodels_findthroughputuniquerecordll_findld_throughputtotallb_morethanonenumeratorls_errorinfols_statels_countyll_stateridll_countyridsqlca#,4 ; D L V ^ jDAT*6 z>    e 3 t_    ' _i- ce4 @C P Z%htet>  s_   DAT*8  ia$ @- RU7 _gC PD@Ap ids_emissionprocess D3ids_n3_onroademissionperiodoutput(-of_getneirecordtype3Tis_statecountyfipsp]idt_startdatetimemidt_enddatetimenis_submittalflag4ztype = 'M'of_filter< geographic_state_rid a, geographic_county_rid a, tribal_code a, scc_ams_coDAT*:de a, file_type a throughput_unit_numerator aof_sorty!uis_errorrowcountobject@source_rid__get_attribute_itemis_errormessagesource_rid = @scc_ams_code@actual_throughputof_roundnumberxT@geographic_state_rid@geographic_county_rid@file_type@tribal_code@@state: county: SCC: File Type: TrDAT*<ibal: ids_primarykeyFN=of_findkeyI`geographic_state_rid= and geographic_county_rid= and scc_ams_code="" and file_type= " and tribal_code= "@find$c@throughput_unit_numerator@@(-Annual throughput could not be exported since more than one throughput record was found for this SCC with different throughput units that could not be combined and summed. of_writelogmessagewarningDAT*>*xT(-of_addrow4L  L h             ( 0 L d l             X l       0 8 @ H P X ` 4 < D X ` h 6 7$DAT*@8 0)<88D0)81$6+@+8:F@@8@8@8@8 @8@81$)8,$66H$5@8`$5@86DAT*B"8h0#6$|$61n)8 8$809n9888z'8z& $809n 9898z(8(z&<$8D09nP98:8z(8Xz&l$8t09n98;8z(8Xz&DAT*D$809n98<8z(8z&$809n98^$809n98^!$809n98^$809n098(@(88$8@09nX98(@(8%`$8h0DAT*F9nt98^|$809n98^ 8$809n98(@(8z'$ 6)8h$80n8^8"h$80n(8^ 80z%8Hz&z&8fz&%z&8{z&z&8z&z&8z&z&8z& 6 DAT*H)86=88z&6>8z(8z&6?8z(8z&6@8z(8z&6A8z(8z&%6B8z(   6C88z&6D8z(8z&6E8z(8z&6F8z(8z&6G8z(8z&%6H8z(DAT*J$66) 8  $666633666M 2!6"6#6$6%6)(81   d08080)88!"#8%V&f'+,-./ 0(1D3R4t56789:;<*=:?RCGbHIK4LMN"OhQRST8Yh_a cdDAT*L e g h m u v w x {   & d ll_rcll_rowll_totalcountll_foundll_nullll_deviceflagcountld_ridldb_nullls_nullls_filterls_findls_filenameli_nullli_recordsetli_recordsetcountld_nullls_dupcheckls_geostateridls_geocountyridls_filetypelnv_exportls_record_typels_state_county_fipsls_sccls_blank1ldt_start_dateldt_end_datels_blank2ll_start_timell_end_timels_pollutant_codels_emission_process_descriptionld_emission_numeric_valuels_emiDAT*Zssion_unit_numeratorls_emission_typels_em_reliability_indicatorls_submittal_flagls_tribalcode#,4G N W _ i q }>    DAT*P = ids_source.object.toxics_flag[il_sourceRow] if ls_toxicFlags = 'Y' then if ls_value = 'Y' then ls_FACILITY_CATEGORY = '01' else ls_FACILITY_CATEGORY = '02' end if else ls_FACILITY_CATEGORY = ls_null end if ls_ORIS_FACILITY_CODE = ls_null ld_SIC_PRIMARY = double(ids_source.object.sic_code[il_sourceRow]) if isnull(ld_SIC_PRIMARY) or ids_source.object.afs_invalid_flag[il_sourceRow] = 'Y' then of_writelogmessagewarning(ids_source, "Sic Code with value of " + f_msgstrinDAT*Rg(ld_SIC_PRIMARY) + " is invalid. Value will be changed to 9999 for " + & is_errormessage + ".") ld_SIC_PRIMARY = 9999 end if ls_NAICS_PRIMARY = ids_source.object.naics_code[il_sourceRow] if isnull(ls_NAICS_PRIMARY) or len(ls_NAICS_PRIMARY) > 6 or len(ls_NAICS_PRIMARY) < 2 then of_writelogmessagewarning(ids_source, "NAICS Code with value of " + f_msgstring(ls_NAICS_PRIMARY) + " must have a length of 2, 3, 4, 5, or 6 and can not be null for " + & is_errormessage +DAT*T ".") ls_NAICS_PRIMARY = ls_null end if ls_FACILITY_NAME = ids_source.object.name[il_sourceRow] if isnull(ls_FACILITY_NAME) or ls_FACILITY_NAME = '' then ls_FACILITY_NAME = "NO NAME GIVEN" of_writelogmessagewarning(ids_source, "Facility name is null. Value will be set to 'NO NAME GIVEN' for " + & is_errormessage + "." ) end if ls_SITE_DESCRIPTION = left(ids_source.object.comment_text[il_sourceRow],40) ls_STREET_LINE_1 = ids_source.object.location_line_1_addr[il_soDAT*VurceRow] if isnull(ls_STREET_LINE_1) then ls_STREET_LINE_1 = "" end if ls_STREET_LINE_2 = ids_source.object.location_line_2_addr[il_sourceRow] if isnull(ls_STREET_LINE_2) then ls_STREET_LINE_2 = "" end if ls_location_address = ls_STREET_LINE_1 + ' ' + ls_STREET_LINE_2 if ls_location_address = '' or isnull(ls_location_address) then ls_location_address = "NO ADDRESS GIVEN" of_writelogmessagewarning(ids_source, "Location address is null. Value will be set to 'NO ADDRESS GIVEN' DAT*Xfor " + & is_errormessage + "." ) end if ls_location_address = left(trim(ls_location_address), 50) ls_CITY = ids_source.object.geographic_incorp_name[il_sourceRow] if ls_CITY = '' or isnull(ls_CITY) then ls_CITY = "NO CITY GIVEN" of_writelogmessagewarning(ids_source, "City is null. Value will be set to 'NO CITY GIVEN' for " + & is_errormessage + "." ) end if ls_STATE = is_stateUSPSCode ls_ZIPCODE = ids_source.object.location_zip_code[il_sourceRow] if lDAT*\s_ZIPCODE = '' or isnull(ls_ZIPCODE) then ls_ZIPCODE = "9999999999" of_writelogmessagewarning(ids_source, "Zip Code is null. Value will be set to '9999999999' for " + & is_errormessage + "." ) end if ls_COUNTRY = left(ids_source.object.nation_name[il_sourceRow], 40) ls_NTI_SITE_ID = ls_null ls_DUN_BRADSTREET_NUMBER = ls_null ls_TRI_ID = ls_null ls_SUBMITTAL_FLAG = is_submittalFlag ls_tribal_code = is_tribalcode //ll_rc = ids_siteOutput.of_addRow(ls_recordType, & //DAT* *  et  e# =2 s_? IpuWndc u te>  nt h_    @ ids_emissions ;*source_type = 'M'of_filter 2geographic_state_rid a, geographic_county_rid a, tribal_code a, scc_DAT*^ is_stateFIPS, & // is_countyFIPS, & // is_siteID, & // ls_null, & // ls_null, & // ls_null, & // string(ids_source.object.sic_code[il_sourceRow]), & // ls_null, & // string(ids_source.object.name[il_sourceRow]), & // string(ids_source.object.comment_text[il_sourceRow]), & // string(ids_source.object.location_line_1_addr[il_sourceRow]), & // string(ids_source.object.location_line_2_addr[il_sourceRow]), & // ls_null, & // string(ids_source.objeDAT*`ct.geographic_incorp_name[il_sourceRow]), & // is_stateUSPSCode, & // string(ids_source.object.location_zip_code[il_sourceRow]), & // string(ids_source.object.nation_name[il_sourceRow]), & // "01", & // ls_null, & // ls_null, & // ls_null, & // ls_null, & // ls_null, & // ls_null) ll_rc = ids_n3_siteOutput.of_addRow(ls_record_Type, & ls_STATEcountyFIPS, & ls_SITE_facility_identifier, & ls_FEDERAL_registry_identifier, & ls_FACILITY_CATEGORY, & ls_ORIDAT*bS_FACILITY_CODE, & string(ld_SIC_PRIMARY), & ls_NAICS_PRIMARY, & ls_FACILITY_NAME, & ls_SITE_DESCRIPTION, & ls_location_address, & ls_CITY, & ls_STATE, & ls_ZIPCODE, & ls_COUNTRY, & ls_NTI_SITE_ID, & ls_DUN_BRADSTREET_NUMBER, & ls_TRI_ID, & ls_SUBMITTAL_FLAG, & ls_tribal_code) is_errorMessage = '' return ll_rc end function public function integer of_n3_exporteu ();long ld_conversion_factor string ls_afsInvalidFlag, ls_rapidsUnits, ls_standardCode, ls_numerator, ls_denominatorDAT*d string ls_id, ls_sourceID boolean lb_find decimal ld_null long ll_rc, ll_row, ll_totalCount, ll_found, ll_null double ld_rid string ls_null, ls_filter, ls_find, ls_fileName n_ds_cache_emission_unit lnv_export lnv_export = ids_emissionUnit //Emission Unit string ls_RECORD_TYPE //CHARACTER 2 string ls_STATE_COUNTY_FIPS //CHARACTER 5 string ls_STATE_FACILITY_IDENTIFIER //CHARACTER 15 string ls_EMISSION_UNIT_ID //CHARACTER 6 string ls_ORIS_BOIDAT*fLER_ID //CHARACTER 5 long ll_SIC_UNIT_LEVEL //CHARACTER 4 string ls_NAICS_UNIT_LEVEL //CHARACTER 6 string ls_blank1 //CHARACTER 2 dec ld_DESIGN_CAPACITY //DECIMAL 10 string ls_DESIGN_CAPACITY_UNIT_NUMERATOR //CHARACTER 10 string ls_DESIGN_CAPACITY_UNIT_DENOMINATOR //CHARACTER 10 dec ld_MAX_NAMEPLATE_CAPACITY //DECIMAL 10 string ls_EMISSION_UNIT_DESCRIPTION //CHARACTER 80 string ls_SUBMITTAL_FLAG //CHARACTER 4 string ls_tribalcode DAT*h//CHARACTER 3 //initialize variables setPointer(hourGlass!) setNull(ls_null) setNull(ld_null) setNull(ll_null) ll_totalCount = 0 ls_RECORD_TYPE = ids_n3_emissionUnitOutput.of_getNeiRecordType() ls_STATE_COUNTY_FIPS = is_statecountyFIPS ls_STATE_FACILITY_IDENTIFIER = is_siteID ls_blank1 = ls_null ls_ORIS_BOILER_ID = ls_null ld_MAX_NAMEPLATE_CAPACITY = ld_null ls_SUBMITTAL_FLAG = is_submittalFlag ls_tribalcode = is_tribalcode for ll_row = 1 to lnv_export.rowCount() ls_idDAT*j = lnv_export.object.id[ll_row] ls_sourceID = lnv_export.object.source_id[ll_row] // //sets dynamic variables for acp is_errorMessage = "Source ID = '" + f_msgstring(ls_sourceID) + '", Device ID = "' + f_msgstring(ls_ID) + '"' ls_EMISSION_UNIT_ID = lnv_export.object.emission_unit_id[ll_row] if len(ls_EMISSION_UNIT_ID) > 6 then this.of_writeLogMessagewarning(ids_n3_emissionunitoutput, "Emission Unit ID's length is > 6. The id will be right trimmed. " + & is_errorMessage + ", DAT*lEmission Unit Id = '" + ls_EMISSION_UNIT_ID + "'" ) ls_EMISSION_UNIT_ID = right(ls_EMISSION_UNIT_ID, 6) end if ls_afsInvalidFlag = lnv_export.object.afs_invalid_flag[ll_row] if ls_afsInvalidFlag = 'Y' then ll_SIC_UNIT_LEVEL = 9999 this.of_writeLogMessageWarning(ids_n3_emissionunitoutput, "Invalid SIC Unit Level: " + is_errorMessage ) else ll_SIC_UNIT_LEVEL = long(lnv_export.object.sic_code[ll_row]) end if ls_NAICS_UNIT_LEVEL = lnv_export.object.naics_code[ll_row] DAT*n if isnull(ls_NAICS_UNIT_LEVEL) or (len(ls_NAICS_UNIT_LEVEL) > 6) or len(ls_NAICS_UNIT_LEVEL) < 2 then this.of_writeLogMessageWarning(ids_n3_emissionunitoutput, "NAICS Code '" + f_msgstring(ls_NAICS_UNIT_LEVEL) + & "' must be a length of 2, 3, 4, 5, or 6 and can't be null: " + is_errorMessage ) ls_NAICS_UNIT_LEVEL = ls_null end if ld_rid = lnv_export.object.rid[ll_row] ls_find = 'device_rid = ' + string(ld_rid) + ' and value_type = "DES" and number(value) > 0 and not isnull(DAT*p value_unit_code )' lb_find = ids_deviceactivity.of_find(ls_find) if lb_find then //step 1 ld_DESIGN_CAPACITY = dec(ids_deviceactivity.of_getData('value')) ls_rapidsUnits = ids_deviceactivity.of_getData('value_unit_code') else //step 2 lb_find = ids_processactivity.of_find(ls_find) if lb_find then ld_DESIGN_CAPACITY = dec(ids_processactivity.of_getData('value')) ls_rapidsUnits = ids_processactivity.of_getData('value_unit_code') end if end if if lb_find tDAT*rhen //step 3 ls_find = 'rapids_unit_code = "' + ls_rapidsUnits + '"' lb_find = ids_units.of_find(ls_find) if lb_find then ld_conversion_factor = ids_units.of_getdata('conversion_factor_amt') ls_standardCode = ids_units.of_getdata('standard_code') ls_numerator = ids_units.of_getdata('numerator_unit_code') ls_denominator = ids_units.of_getdata('denominator_unit_code') if not isnull(ls_numerator) and ls_numerator <> '' then ls_DESIGN_CAPACITY_UNIT_NUMERATOR = lDAT*ts_numerator ls_DESIGN_CAPACITY_UNIT_DENOMINATOR = ls_denominator else // step 4 ls_find = 'rapids_unit_code = "' + ls_standardCode + '"' lb_find = ids_units.of_find(ls_find) if lb_find then ls_numerator = ids_units.of_getdata('numerator_unit_code') ls_denominator = ids_units.of_getdata('denominator_unit_code') if not isnull(ls_numerator) and ls_numerator <> '' then ld_DESIGN_CAPACITY = ld_DESIGN_CAPACITY * ld_conversion_factor ls_DESIGNDAT*v_CAPACITY_UNIT_NUMERATOR = ls_numerator ls_DESIGN_CAPACITY_UNIT_DENOMINATOR = ls_denominator else //step 5 this.of_writeLogMessagewarning(ids_n3_emissionunitoutput, "Design Capacity could not be exported: " + is_errorMessage + ", Design Capacity " + f_msgstring(ld_DESIGN_CAPACITY) + & ", Design Capacity Units = '" + f_msgstring(ls_rapidsUnits) + "'") lb_find = false end if end if end if end if end if if not lb_find then ld_DESDAT*xIGN_CAPACITY = ld_null ls_DESIGN_CAPACITY_UNIT_NUMERATOR = ls_null ls_DESIGN_CAPACITY_UNIT_DENOMINATOR = ls_null //write warning message end if ls_EMISSION_UNIT_DESCRIPTION = lnv_export.object.name[ll_row] if ls_EMISSION_UNIT_DESCRIPTION = '@' or ls_EMISSION_UNIT_DESCRIPTION = '' or isnull(ls_EMISSION_UNIT_DESCRIPTION) then ls_EMISSION_UNIT_DESCRIPTION = lnv_export.object.comment_text[ll_row] end if if ls_EMISSION_UNIT_ID <> ls_id then ls_EMISSION_UNIT_DESCRIPTION =DAT*z 'RAPIDS ID= "' + ls_id + '". ' + ls_EMISSION_UNIT_DESCRIPTION end if ls_EMISSION_UNIT_DESCRIPTION = left(trim(ls_EMISSION_UNIT_DESCRIPTION), 80) //ls_tribalcode = lnv_export.object.tribal_code[ll_row] //insert data into acp datastore ll_rc = ids_n3_emissionunitoutput.of_addRow( ls_RECORD_TYPE, ls_STATE_COUNTY_FIPS, ls_STATE_FACILITY_IDENTIFIER, & ls_EMISSION_UNIT_ID, ls_ORIS_BOILER_ID, string(ll_SIC_UNIT_LEVEL), & ls_NAICS_UNIT_LEVEL, ls_blank1, ld_DESDAT*|IGN_CAPACITY, & ls_DESIGN_CAPACITY_UNIT_NUMERATOR, & ls_DESIGN_CAPACITY_UNIT_DENOMINATOR, ld_MAX_NAMEPLATE_CAPACITY, & ls_EMISSION_UNIT_DESCRIPTION, ls_SUBMITTAL_FLAG, ls_tribalcode ) //if addrow is unsuccessful then exit loop if ll_rc < 0 then exit else ll_totalCount++ end if next is_errorMessage = '' return ll_totalCount end function public function long of_n3_exporter ();long ll_rc, ll_row, ll_totalCount, ll_found, ll_null doubleDAT*~ ld_rid, ldb_null string ls_null, ls_filter, ls_find, ls_fileName integer li_null, li_recordSet, li_recordSetCount decimal ld_null n_ds_nei_cache_base lnv_export n_ds_nei_location_cache_base lnv_location boolean lb_stackTypeFound string ls_metricCode, ls_erID, ls_stackType double ld_errid string ls_name double ld_accuracyamt string ls_accuracytype //emission release point record set //COLUMN NAME //DATA TYPE WIDTH string ls_RECORD_TYPE //CHARACTER 2 DAT*string ls_STATE_county_FIPS //CHARACTER 2 string ls_state_facility_identifier //CHARACTER 15 string ls_blank1 //CHARACTER 6 string ls_EMISSION_RELEASE_POINT_ID //CHARACTER 6 string ls_EMISSION_RELEASE_POINT_TYPE //CHARACTER 2 string ls_blank2 //CHARACTER 10 dec ld_STACK_HEIGHT //DECIMAL 10 dec ld_STACK_DIAMETER //DECIMAL 10 dec ldb_STACK_FENCELINE_DISTANCE //NUMBER 8 dec ld_EXIT_GAS_TEMPERATURE //DECIMAL 10 dec ld_EXIT_GADAT*S_VELOCITY //DECIMAL 10 dec ld_EXIT_GAS_FLOW_RATE //DECIMAL 10 dec ld_X_COORDINATE //DECIMAL 11 dec ld_Y_COORDINATE //DECIMAL 10 int li_UTM_ZONE //NUMBER 2 string ls_XY_COORDINATE_TYPE //CHARACTER 8 double ldb_HORIZONTAL_AREA_FUGITIVE //NUMBER 8 double ldb_RELEASE_HEIGHT_FUGITIVE //NUMBER 8 string ls_FUGITIVE_DIMENSIONS_UNIT //CHARACTER 10 string ls_EMISSION_RELEASE_PT_DESCRIPTION //CHARACTER 80 string ls_SUBMITTAL_FLAG DAT* //CHARACTER 4 string ls_horizontal_collection_method_code //character 3 string ls_horizontal_accuracy_measure //character 6 string ls_horizontal_reference_datum_code //character 3 string ls_reference_point_code //character 3 string ls_source_map_scale_number //character 10 string ls_coordinate_data_source_code // character 3 string ls_tribalcode ls_tribalcode = is_tribalcode ////initialize variables setPointer(hourGlass!) setNull(ls_null) setNull(ldb_null) setNullDAT*(ll_null) setnull(li_null) setnull(ld_null) ll_totalCount = 0 li_recordSetCount = 3 ls_metricCode = of_checkMetric('AFS STK TYPE', 'DEVICE') ls_RECORD_TYPE = ids_n3_emissionReleasePtOutput.of_getNeiRecordType() ls_STATE_county_FIPS = is_statecountyFIPS ls_state_facility_identifier = is_siteID ls_blank1 = ls_null ls_blank2 = ls_null ldb_STACK_FENCELINE_DISTANCE = ld_null ldb_HORIZONTAL_AREA_FUGITIVE = ldb_null ls_FUGITIVE_DIMENSIONS_UNIT = ls_null ls_SUBMITTAL_FLAG = is_submittalDAT*Flag ls_reference_point_code = '106' ls_source_map_scale_number = ls_null ls_coordinate_data_source_code = ls_null for li_recordSet = 1 to li_recordSetCount if li_recordSet = 1 then lnv_export = ids_emissionReleasePoint elseif li_recordSet = 2 then lnv_export = ids_fugitiveReleasePoint else lnv_export = ids_siteReleasePoint end if for ll_row = 1 to lnv_export.rowCount() ld_errid = lnv_export.object.rid[ll_row] ls_erID = lnv_export.object.id[ll_row] DAT* is_errorMessage = "Source ID = '" + f_msgstring(lnv_export.object.source_id[ll_row]) + "', Id = '" + f_msgstring(ls_erID) + "'" //sets dynamic variables for emission release point ls_EMISSION_RELEASE_POINT_ID = lnv_export.object.release_point_id[ll_row] if len(ls_EMISSION_RELEASE_POINT_ID) > 6 then this.of_writeLogMessagewarning(ids_n3_emissionReleasePtOutput, "Emission Release Point ID's length is > 6. The id will be right trimmed. " + & is_errorMessage + ", Emission Release DAT*Point Id = '" + ls_EMISSION_RELEASE_POINT_ID + "'" ) ls_EMISSION_RELEASE_POINT_ID = right(ls_EMISSION_RELEASE_POINT_ID, 6) end if lb_stackTypeFound = false ls_find = "device_rid = " + string(ld_errid) + " and metric_code = '" + ls_metricCode + "'" ls_EMISSION_RELEASE_POINT_TYPE = lnv_export.object.point_type[ll_row] if ids_deviceActivity.of_find(ls_find) then //afs stk type metric found ls_stackType = trim(string(ids_deviceActivity.of_getData("value"))) if ids_converDAT*sionLookupCodes.of_find("system_code = 'NEI' and rapids_field_name = 'AFS_STK_TYPE' and rapids_value_name = '" + ls_stackType + "'") then lb_stackTypeFound = true ls_EMISSION_RELEASE_POINT_TYPE = trim(string(ids_conversionLookupCodes.of_getData("system_value_name_1"))) end if end if if not lb_stackTypeFound then //valid afs stk type metric NOT found if ls_EMISSION_RELEASE_POINT_TYPE = 'STACK' then ls_EMISSION_RELEASE_POINT_TYPE = '02' elseif ls_EMISSION_RELEASE_PDAT*OINT_TYPE = 'FUGITIVE' then ls_EMISSION_RELEASE_POINT_TYPE = '01' else ls_EMISSION_RELEASE_POINT_TYPE = is_defaultReleasePointType end if end if ls_metricCode = of_checkMetric('HEIGHT', 'DEVICE') ls_find = "device_rid = " + string(ld_errid) + " and metric_code = '" + ls_metricCode + "'" ld_STACK_HEIGHT = dec(of_exporter_findandconvertunits(ids_deviceActivity, ls_find, 'FT')) ls_metricCode = of_checkMetric('DIAMETER', 'DEVICE') ls_find = "device_rid = " + strDAT*ing(ld_errid) + " and metric_code = '" + ls_metricCode + "'" ld_STACK_DIAMETER = dec(of_exporter_findandconvertunits(ids_deviceActivity, ls_find, 'FT')) ls_metricCode = of_checkMetric('STR TEMP', 'OUTSTREAM') ls_find = "device_rid = " + string(ld_errid) + " and metric_code = '" + ls_metricCode + & "' and ( value_type = 'AVG' or isnull(value_type) or value_type = '' ) and value_unit_code in ('F', 'C') " ld_EXIT_GAS_TEMPERATURE = dec(of_exporter_findandconvertunits(ids_outputSDAT*treamActivity, ls_find, 'F')) ls_metricCode = of_checkMetric('VELOCITY', 'OUTSTREAM') ls_find = "device_rid = " + string(ld_errid) + " and metric_code = '" + ls_metricCode + & "' and ( value_type = 'AVG' or isnull(value_type) or value_type = '' ) " ld_EXIT_GAS_VELOCITY = dec(of_exporter_findandconvertunits(ids_outputStreamActivity, ls_find, 'FT/SEC')) ls_metricCode = of_checkMetric('VOL RATE' , 'OUTSTREAM') ls_find = "device_rid = " + string(ld_errid) + " and metric_codDAT*e = '" + ls_metricCode + & "' and ( value_type = 'AVG' or isnull(value_type) or value_type = '' ) " ld_EXIT_GAS_FLOW_RATE = dec(of_exporter_findandconvertunits(ids_outputStreamActivity, ls_find, 'FT3/SEC')) lnv_location = ids_deviceLocationCoordinates if not lnv_location.of_findandvalidateCoordinate("ref_rid = " + string(ld_errid)) then lnv_location = ids_sourceLocationCoordinates if not lnv_location.of_findandvalidateCoordinate("ref_rid = " + string(lnv_export.object.sourDAT*ce_rid[ll_row])) then lnv_location = ids_deviceLocationCoordinates if not lnv_location.of_findandvalidateCoordinate("ref_rid = " + string(lnv_export.object.source_rid[ll_row])) then lnv_location = ids_countyLocationCoordinates if not lnv_location.of_findandvalidateCoordinate("ref_rid = " + string(lnv_export.object.geographic_county_rid[ll_row])) then lnv_location = ids_stateLocationCoordinates if not lnv_location.of_findandvalidateCoordinate("ref_rid = " + string(lDAT*nv_export.object.geographic_state_rid[ll_row])) then //write error message log continue else this.of_writeLogMessagewarning(ids_n3_emissionReleasePtOutput, "No location coordinates could be found for the " + & "county, the facility or for any device at the facility: " + is_errorMessage) end if else this.of_writeLogMessagewarning(ids_n3_emissionReleasePtOutput, "No location coordinates could be found for the " + & "facility or for any deDAT*vice at the facility: " + is_errorMessage) end if end if end if end if if lnv_location.is_subtype = 'L' then ld_X_COORDINATE = -1 * abs(lnv_location.of_getdata('longitude_data')) ld_Y_COORDINATE = abs(lnv_location.of_getdata('latitude_data')) li_UTM_ZONE = li_null ls_XY_COORDINATE_TYPE = 'LATLON' else ld_X_COORDINATE = lnv_location.of_getdata('easting_km_data') ld_Y_COORDINATE = lnv_location.of_getdata('northing_km_dat') li_UTM_ZONDAT*E = int(lnv_location.of_getdata('zone_no')) ls_XY_COORDINATE_TYPE = 'UTM' end if ls_horizontal_collection_method_code = lnv_location.of_getdata('horizontal_collection_method') ld_accuracyamt = lnv_location.of_getdata('accuracy_amt') ls_accuracytype = lnv_location.of_getdata('accuracy_type') //Accuracy_amt and accuracy_type from one of the location coordinates data sets //If accuracy_type = 'KM', convert accuracy_amt to meters. //If accuracy_type = 'METER', use accuDAT*racy_amt with no conversion. //If accuracy_type = 'DEGREE', 'MINUTE' or 'SECOND' then this field will be left blank. choose case upper(ls_accuracytype) case 'KM' ld_accuracyamt = ld_accuracyamt * 1000 ls_horizontal_accuracy_measure = string(ld_accuracyamt) case 'METER' ls_horizontal_accuracy_measure = string(ld_accuracyamt) case else ls_horizontal_accuracy_measure = ls_null this.of_writeLogMessagewarning(ids_n3_emissionReleasePtOutput, "Horizontal Accuracy MeasurDAT*e was set to null. Accuracy type must either be 'METER' or 'KM' not " + & f_msgstring(ls_accuracytype) + " for the facility or for any device at the facility: " + is_errorMessage) end choose ls_horizontal_reference_datum_code = lnv_location.of_getdata('horizontal_reference_datum') ls_metricCode = of_checkMetric('RELEASE HT', 'OUTSTREAM') ls_find = "stream_rid = " + string(lnv_export.object.stream_rid[ll_row]) + " and metric_code = '" + ls_metricCode + & "' and ( vDAT*alue_type = 'AVG' or isnull(value_type) or value_type = '' ) " ldb_RELEASE_HEIGHT_FUGITIVE = of_exporter_findandconvertunits(ids_outputStreamActivity, ls_find, 'FT') ls_name = lnv_export.object.name[ll_row] if isnull(ls_name) or ls_name = '' then ls_EMISSION_RELEASE_PT_DESCRIPTION = lnv_export.object.comment_text[ll_row] else ls_EMISSION_RELEASE_PT_DESCRIPTION = ls_name end if if ls_EMISSION_RELEASE_POINT_ID <> ls_erID then ls_EMISSION_RELEASE_PT_DESCRIPTION = 'RAPDAT*IDS ID= "' + ls_erID + '". ' + ls_EMISSION_RELEASE_PT_DESCRIPTION end if ls_EMISSION_RELEASE_PT_DESCRIPTION = left(trim(ls_EMISSION_RELEASE_PT_DESCRIPTION), 80) // ls_tribalcode = lnv_export.object.tribal_code[ll_row] //insert data into emission release point datastore ll_rc = ids_n3_emissionReleasePtOutput.of_addRow(ls_RECORD_TYPE , ls_STATE_county_FIPS, & ls_state_facility_identifier, ls_blank1, ls_EMISSION_RELEASE_POINT_ID, & ls_EMISSION_RELEDAT*ASE_POINT_TYPE, ls_blank2, & ld_STACK_HEIGHT, ld_STACK_DIAMETER, & ldb_STACK_FENCELINE_DISTANCE, ld_EXIT_GAS_TEMPERATURE, & ld_EXIT_GAS_VELOCITY, ld_EXIT_GAS_FLOW_RATE, & ld_X_COORDINATE, ld_Y_COORDINATE,li_UTM_ZONE, & ls_XY_COORDINATE_TYPE, ldb_HORIZONTAL_AREA_FUGITIVE, & ldb_RELEASE_HEIGHT_FUGITIVE, ls_FUGITIVE_DIMENSIONS_UNIT, & ls_EMISSION_RELEASE_PT_DESCRIPTION, DAT*ls_SUBMITTAL_FLAG, & ls_horizontal_collection_method_code, & ls_horizontal_accuracy_measure, & ls_horizontal_reference_datum_code, & ls_reference_point_code, ls_source_map_scale_number, & ls_coordinate_data_source_code, ls_tribalcode) //if addrow is unsuccessful then exit loop if ll_rc < 0 then exit else ll_totalCount++ end if next next is_errorMessage = '' return ll_totalCDAT*le(border="1" ) htmlgen(clientevents="1" clientvalidation="1" clientcomputedfields="1" clientformatting="0" clientscriptable="0" generatejavascript="1" netscapelayers="0" ) DAT*ams_code a, pollutant_code a, file_type aof_sort_g!is_error3ids_n3_onroademissionoutput,of_getneirecordtype3is_statecountyfips]idt_startdatetime4midt_enddatetimePn30is_submittalflagkzrowcountis_errormessage Source ID = 'object@source_id__get_attribute_item', Device ID = '@device_id', Process ID = '"@process_id', Stream ID = '@stream_idDAT*1@material_code'@scc_ams_code@pollutant_code@emission_unit_code@geographic_state_rid@geographic_county_rid9@tribal_code@file_typeprocess_rid = @process_ridids_emissionprocessD3of_find6D3nameof_getdata9D3comment_text9geographic_state_rid = and geographic_county_rid = and tribal_coDAT*de = '' and scc_ams_code = '' and pollutant_code = '' and file_type = 'of_exportem_getsitetotalsV ids_primarykey9N=of_findkeyI,of_addrow4 2 <     , H ` |         < P l           0 8 X ` t |   DAT*      (      ( 0 8  B$:F@@8 @8@8 @8 1H$)d8$6$6 6&M) 6*$6+$61Z)8` DAT*$809n98^$8$09n098^8$8@09nL98^d8l6I8z'8zz&6J8z(8z&6K8z(8z&8$809n98(@(8z'$6)8$80n DAT*8^ 61<$8`$z%8hz&6L8z(8z&)81@8$809n98^1 $8$z%8z&6M8z(8z&)481@8<$8D09nX98^DAT*1`$8h$z%8z&6N8z(8z&)81@8$809n98^$809n98^8 :81 B@B8$883z%`$z&8hz&6O8z(8z&)|8$809DAT*n98^8"$809n98^$809n986{8$809n980t80t6t^1No@o98$809n98%@%8$8$09n<98%@%DAT*8 D$8L09nd98%@%8!l$8t09n98%@%8 $809n98]8L 1(@(8z'"80L 8080n8%@%8#80L 8080n8%@%8$80L 8 080nDAT*8%@%8%80L 8$080n48%@%8'8<068E080nP8%@%8(8<068X080nd8%@%8l$666666666M2M2M 2M!2M"2M#2M$2M%2M&2M'2M(2)6*6+6)81DAT*R ` \  P80  &'.(J)f*+,-./012&9>?v@ABHFG4HZIJMNPV<XY[_ afbzdghJijko:pqtu*xz{ |f }  T p  ` : J N R \ ` z d ld_conversion_factorls_epainvalidflagls_findpostfixlb_findld_nullad_seasonthroughputx@> ad_seasonthroughputresetms_@> DAT*ll_rcll_rowll_totalcountll_foundll_nullld_ridls_nullls_filterls_findls_filenamels_deviceidls_sourceidls_idlnv_exportls_record_typels_state_county_fipsls_state_facility_identifierls_emission_unit_idls_emission_release_point_idls_process_idls_sccls_process_mact_codels_emission_process_descriptionll_winter_throughput_pctll_spring_throughput_pctll_summer_throughput_pctll_fall_throughput_pctll_annual_avg_days_per_weekll_annual_avg_weeks_per_yearll_annual_avg_hours_per_daylDAT*l_annual_avg_hours_per_yearld_heat_contentld_sulfur_contentld_ash_contentls_process_mact_compliance_statusls_submittal_flagls_tribalcodedp / >F> dN>-p>-     DAT*     3e  =) @> tr[ o    I oc  S> > > al!> 8> T> q> > > > _s>  _DAT*c    ids_emissionprocessD3ids_n3_pointemissionprocessoutput0$1 of_getneirecordtype3Pis_statecountyfipsl]is_siteidais_submittalflagourzis_tribalcodeIt\rowcountthiobject @process_id__get_attribute_item@device_id@source_idis_errormessageTSource ID = '', Device ID = '', ID = ''rid = @device_ridids_emissionuDAT**nitC2of_find6C2emission_unit_idof_getdata9$1 Emission Unit ID's length is > 6. The id will be right trimmed. T, Emission Unit Id = 'of_writelogmessagewarning*@release_point_id&$1 Release Point ID's length is > 6. The id will be right trimmed. T, Release Point ID = '*@emission_process_id$1 Process ID's length is > 6. The id will be right trimmed. T, Process id = 'DAT*ount end function public function long of_n3_exportce ();long ll_rc, ll_row, ll_totalCount, ll_found, ll_null double ld_rid, ldb_null string ls_null, ls_filter, ls_find, ls_fileName, ls_message integer li_null, li_recordSet, li_recordSetCount decimal ld_null string ls_sourceID, ls_deviceid, ls_processid, ls_materialCode n_ds_cache_emissions lnv_export //NEI Point Control Equipment Format //COLUMN NAME DATA TYPE WIDTH string ls_RECORD_TYPE //CHARACTER 2 DAT*string ls_STATE_COUNTY_FIPS //CHARACTER 5 string ls_state_facility_identifier //CHARACTER 15 string ls_EMISSION_UNIT_ID //CHARACTER 6 string ls_PROCESS_ID //CHARACTER 6 string ls_POLLUTANT_CODE //CHARACTER 10 string ls_blank1 //CHARACTER 10 dec ld_PRIMARY_PCT_CONTROL_EFFICIENCY //DECIMAL 5 dec ld_PCT_CAPTURE_EFFICIENCY //DECIMAL 5 dec ld_TOTAL_CAPTURE_CONTROL_EFFICIENCY //DECIMAL 5 string ls_PRIMARY_DEVICE_TYPE_CODE //CHARACTER 4 string DAT*ls_SECONDARY_DEVICE_TYPE_CODE //CHARACTER 4 string ls_blank2 //CHARACTER 25 string ls_CONTROL_SYSTEM_DESCRIPTION //CHARACTER 40 string ls_THIRD_CONTROL_DEVICE_TYPE_CODE //CHARACTER 4 string ls_FOURTH_CONTROL_DEVICE_TYPE_CODE //CHARACTER 4 string ls_SUBMITTAL_FLAG //CHARACTER 4 string ls_tribalcode //character 3 ////initialize variables setPointer(hourGlass!) setNull(ls_null) setNull(ldb_null) setNull(ll_null) setnull(li_null) setnull(ld_null) ll_totalCoDAT*unt = 0 lnv_export = ids_emissions ll_rc = lnv_export.of_filter("data_level = 'PROCESS' and control_device_flag = 1") if ll_rc < 0 then signalError(ll_rc, lnv_export.is_error) return ll_totalcount end if ls_RECORD_TYPE = ids_n3_pointControlEquipmentOutput.of_getNeiRecordType() ls_STATE_COUNTY_FIPS = is_statecountyfips ls_state_facility_identifier = is_siteID ls_blank1 = ls_null ls_blank2 = ls_null ls_CONTROL_SYSTEM_DESCRIPTION = ls_null ls_THIRD_CONTROL_DEVICE_TYPE_CODE = ls_DAT*null ls_FOURTH_CONTROL_DEVICE_TYPE_CODE = ls_null ls_SUBMITTAL_FLAG = is_submittalFlag ls_tribalcode = is_tribalcode for ll_row = 1 to lnv_export.rowcount() ls_sourceID = lnv_export.object.source_id[ll_row] ls_deviceid = lnv_export.object.device_id[ll_row] ls_processid = lnv_export.object.process_id[ll_row] ls_materialCode = lnv_export.object.material_code[ll_row] //sets dynamic variables for emission release point is_errormessage = "Source ID = '" + f_msgstring(ls_sourceID) DAT*+ "', Device ID = '" + f_msgstring(ls_deviceid) + & "', Process ID = '" + f_msgstring(ls_processid) + + "' Material_code = '" + f_msgstring(ls_materialCode) + "'" ls_find = "rid = " + string(lnv_export.object.device_rid[ll_row]) if ids_emissionUnit.of_find(ls_find) then ls_EMISSION_UNIT_ID = ids_emissionUnit.of_getData('emission_unit_id') end if if len(ls_EMISSION_UNIT_ID) > 6 then this.of_writeLogMessagewarning(ids_n3_pointControlEquipmentOutput, "Emission Unit ID's lengDAT*th is > 6. The id will be right trimmed. " + & is_errormessage + ", Emission Unit Id = '" + f_msgstring(ls_EMISSION_UNIT_ID) + "'" ) ls_EMISSION_UNIT_ID = right(ls_EMISSION_UNIT_ID, 6) end if ls_find = "process_rid = " + string(lnv_export.object.process_rid[ll_row]) if ids_emissionprocess.of_find(ls_find) then ls_PROCESS_ID = ids_emissionprocess.of_getData('emission_process_id') end if if len(ls_PROCESS_ID) > 6 then this.of_writeLogMessagewarning(ids_n3_pointCDAT*ontrolEquipmentOutput, "Process ID's length is > 6. The id will be right trimmed. " + & is_errormessage + ', Process Unit Id = "' + f_msgstring(ls_PROCESS_ID) + '"' ) ls_PROCESS_ID = right(ls_PROCESS_ID, 6) end if ls_POLLUTANT_CODE = lnv_export.object.pollutant_code[ll_row] ld_PRIMARY_PCT_CONTROL_EFFICIENCY = lnv_export.object.primary_pct_control_efficiency[ll_row] ld_PCT_CAPTURE_EFFICIENCY = lnv_export.object.pct_capture_efficiency[ll_row] //set to null if = to 100 mkc 05/0DAT*6/04 if ld_PCT_CAPTURE_EFFICIENCY = 100 then setnull(ld_PCT_CAPTURE_EFFICIENCY) ld_TOTAL_CAPTURE_CONTROL_EFFICIENCY = lnv_export.object.total_capt_control_efficiency[ll_row] ls_PRIMARY_DEVICE_TYPE_CODE = lnv_export.object.primary_device_type_code[ll_row] if ls_PRIMARY_DEVICE_TYPE_CODE = '@@@@' then ls_PRIMARY_DEVICE_TYPE_CODE = '099' end if ls_SECONDARY_DEVICE_TYPE_CODE = lnv_export.object.secondary_device_type_code[ll_row] if ls_SECONDARY_DEVICE_TYPE_CODE = '@@@@' then ls_SEDAT*CONDARY_DEVICE_TYPE_CODE = ls_null end if //ls_tribalcode = lnv_export.object.tribal_code[ll_row] //insert data into emission release point datastore ll_rc = ids_n3_pointControlEquipmentOutput.of_addRow(ls_RECORD_TYPE,ls_STATE_COUNTY_FIPS , ls_state_facility_identifier, & ls_EMISSION_UNIT_ID, ls_PROCESS_ID, ls_POLLUTANT_CODE, & ls_blank1, ld_PRIMARY_PCT_CONTROL_EFFICIENCY, & ld_PCT_CAPTURE_EFFICIENCY, ld_TOTAL_CAPTURE_CONTROLDAT*_EFFICIENCY, & ls_PRIMARY_DEVICE_TYPE_CODE, ls_SECONDARY_DEVICE_TYPE_CODE, & ls_blank2, ls_CONTROL_SYSTEM_DESCRIPTION, & ls_THIRD_CONTROL_DEVICE_TYPE_CODE, & ls_FOURTH_CONTROL_DEVICE_TYPE_CODE, ls_SUBMITTAL_FLAG, ls_tribalcode) //if addrow is unsuccessful then exit loop if ll_rc < 0 then exit else ll_totalCount++ end if next //reset emissions cache lnv_export.of_filter("") is_errorMessaDAT*ge = '' return ll_totalCount end function public function long of_n3_exportpe_processdatalevel ();long ll_rc, ll_row, ll_totalCount, ll_found, ll_null double ld_rid, ldb_null string ls_null, ls_filter, ls_find, ls_fileName integer li_null, li_recordSet, li_recordSetCount decimal ld_null n_ds_cache_emission_process lnv_export string ls_sourceID //NEI Point Emission Period Format //COLUMN NAME //DATA TYPE WIDTH string ls_RECORD_TYPE //CHARACTER 2 string DAT*ls_STATE_COUNTY_FIPS //CHARACTER 5 string ls_state_facility_identifier //CHARACTER 15 string ls_EMISSION_UNIT_ID //CHARACTER 6 string ls_PROCESS_ID //CHARACTER 6 date ldt_START_DATE //date 8 date ldt_END_DATE //date 8 string ls_blank1 //CHARACTER 2 long ll_START_TIME //NUMBER 4 long ll_END_TIME //NUMBER 4 string ls_blank2 //CHARACTER 10 dec ld_ACTUAL_THROUGHPUT //DECIMAL 10 string ls_THROUGHPUT_UNIT_NUMEDAT*RATOR //CHARACTER 10 long ll_MATERIAL //NUMBER 4 string ls_MATERIAL_IO //CHARACTER 10 integer li_PERIOD_DAYS_PER_WEEK //NUMBER 1 integer li_PERIOD_WEEKS_PER_PERIOD //NUMBER 2 integer li_PERIOD_HOURS_PER_DAY //NUMBER 2 long ll_PERIOD_HOURS_PER_PERIOD //NUMBER 4 string ls_SUBMITTAL_FLAG //CHARACTER 4 string ls_tribalcode //CHARACTER 3 ////initialize variables setPointer(hourGlass!) setNull(ls_null) setNull(ldb_null) setNull(ll_null) DAT* setnull(li_null) setnull(ld_null) ll_totalCount = 0 lnv_export = ids_emissionprocess ll_rc = lnv_export.of_filter("type = 'F'") if ll_rc < 0 then signalError(ll_rc, lnv_export.is_error) return ll_totalcount end if ls_RECORD_TYPE = ids_n3_pointemissionperiodOutput.of_getNeiRecordType() ls_STATE_COUNTY_FIPS = is_statecountyfips ls_state_facility_identifier = is_siteID ldt_START_DATE = date(idt_startDateTime) ldt_END_DATE = date(idt_endDateTime) ls_blank1 = ls_null ll_START_DAT*TIME = ll_null ll_END_TIME = ll_null ls_blank2 = ls_null li_PERIOD_DAYS_PER_WEEK = li_null li_PERIOD_WEEKS_PER_PERIOD = li_null li_PERIOD_HOURS_PER_DAY = li_null ll_PERIOD_HOURS_PER_PERIOD = ll_null ls_SUBMITTAL_FLAG = is_submittalFlag ls_tribalcode = is_tribalcode for ll_row = 1 to lnv_export.rowcount() //sets dynamic variables for emission release point is_errormessage = " Source ID = '" + f_msgstring(lnv_export.object.source_id[ll_row]) + "', Device ID = '" + lnv_export.DAT*object.device_id[ll_row] + & "', Process ID = '" + f_msgstring(lnv_export.object.process_id[ll_row]) + "'" ls_find = "rid = " + string(lnv_export.object.device_rid[ll_row]) if ids_emissionUnit.of_find(ls_find) then ls_EMISSION_UNIT_ID = ids_emissionUnit.of_getData('emission_unit_id') end if if len(ls_EMISSION_UNIT_ID) > 6 then this.of_writelogmessagewarning(ids_n3_pointemissionperiodOutput, "Emission Unit ID's length is > 6. The id will be right trimmed " + & DAT* is_errormessage + ", Emission Unit ID = '" + f_msgstring(ls_EMISSION_UNIT_ID) + "'") ls_EMISSION_UNIT_ID = right(ls_EMISSION_UNIT_ID, 6) end if ls_PROCESS_ID = lnv_export.object.emission_process_id[ll_row] if len(ls_PROCESS_ID) > 6 then this.of_writelogmessagewarning(ids_n3_pointemissionperiodOutput, "Process ID's length is > 6. The ID will be right trimmed " + & is_errormessage + ", Emission Process ID = '" + f_msgstring(ls_PROCESS_ID) + "'") ls_PDAT*ROCESS_ID = right(ls_PROCESS_ID, 6) end if ld_ACTUAL_THROUGHPUT = lnv_export.object.actual_throughput[ll_row] ld_ACTUAL_THROUGHPUT = of_roundnumber(ld_ACTUAL_THROUGHPUT, 10) ls_THROUGHPUT_UNIT_NUMERATOR = lnv_export.object.throughput_unit_numerator[ll_row] ll_MATERIAL = lnv_export.object.material[ll_row] ls_MATERIAL_IO = lnv_export.object.material_io[ll_row] //ls_tribalcode = lnv_export.object.tribal_code[ll_row] //insert data into point emission period datastore ll_rDAT*c = ids_n3_pointemissionperiodOutput.of_addRow(ls_RECORD_TYPE, ls_STATE_COUNTY_FIPS, & ls_state_facility_identifier, ls_EMISSION_UNIT_ID, ls_PROCESS_ID, & ldt_START_DATE, ldt_END_DATE, ls_blank1, ll_START_TIME, & ll_END_TIME, ls_blank2, ld_ACTUAL_THROUGHPUT, & ls_THROUGHPUT_UNIT_NUMERATOR, ll_MATERIAL, & ls_MATERIAL_IO, li_PERIOD_DAYS_PER_WEEK, & li_PERIOD_WEEKS_PER_PERIOD, li_PERIOD_HOURS_PDAT*ER_DAY, & ll_PERIOD_HOURS_PER_PERIOD, ls_SUBMITTAL_FLAG, ls_tribalcode) //if addrow is unsuccessful then exit loop if ll_rc < 0 then exit else ll_totalCount++ end if next //reset emissions cache lnv_export.of_filter("") is_errorMessage = '' return ll_totalCount end function public function long of_n3_exportpe_sitedatalevel ();long ll_rc, ll_row, ll_totalCount, ll_found, ll_null double ld_rid, ldb_null string ls_null, ls_filter, ls_find, DAT* ls_fileName, ls_errormessage, ls_dupcheck integer li_null, li_recordSet, li_recordSetCount decimal ld_null n_ds_cache_primary_site lnv_export double ld_sourceRid string ls_pollutantCode //NEI Point Emission Period Format //COLUMN NAME //DATA TYPE WIDTH string ls_RECORD_TYPE //CHARACTER 2 string ls_STATE_COUNTY_FIPS //CHARACTER 5 string ls_state_facility_identifier //CHARACTER 15 string ls_EMISSION_UNIT_ID //CHARACTER 6 string ls_PROCESS_IDDAT* //CHARACTER 6 date ldt_START_DATE //date 8 date ldt_END_DATE //date 8 string ls_blank1 //CHARACTER 2 long ll_START_TIME //NUMBER 4 long ll_END_TIME //NUMBER 4 string ls_blank2 //CHARACTER 10 dec ld_ACTUAL_THROUGHPUT //DECIMAL 10 string ls_THROUGHPUT_UNIT_NUMERATOR //CHARACTER 10 long ll_MATERIAL //NUMBER 4 string ls_MATERIAL_IO //CHARACTER 10 integer li_PERIOD_DAYS_PER_WEEK //NUMBER 1 integer liDAT*_PERIOD_WEEKS_PER_PERIOD //NUMBER 2 integer li_PERIOD_HOURS_PER_DAY //NUMBER 2 long ll_PERIOD_HOURS_PER_PERIOD //NUMBER 4 string ls_SUBMITTAL_FLAG //CHARACTER 4 string ls_tribalcode //character 3 ////initialize variables setPointer(hourGlass!) setNull(ls_null) setNull(ldb_null) setNull(ll_null) setnull(li_null) setnull(ld_null) ll_totalCount = 0 lnv_export = ids_source if ll_rc < 0 then signalError(ll_rc, lnv_export.is_error) return ll_totalcouDAT*nt end if if ll_rc < 0 then signalError(ll_rc, lnv_export.is_error) return ll_totalcount end if ls_RECORD_TYPE = ids_n3_pointemissionperiodOutput.of_getNeiRecordType() ls_STATE_COUNTY_FIPS = is_statecountyfips ls_state_facility_identifier = is_siteID ls_EMISSION_UNIT_ID = ls_null ls_PROCESS_ID = ls_null ldt_START_DATE = date(idt_startDateTime) ldt_END_DATE = date(idt_endDateTime) ls_blank1 = ls_null ll_START_TIME = ll_null ll_END_TIME = ll_null ls_blank2 = ls_null ld_ACTDAT*UAL_THROUGHPUT = ld_null ls_THROUGHPUT_UNIT_NUMERATOR = ls_null ll_MATERIAL = ll_null ls_MATERIAL_IO = ls_null li_PERIOD_DAYS_PER_WEEK = li_null li_PERIOD_WEEKS_PER_PERIOD = li_null li_PERIOD_HOURS_PER_DAY = li_null ll_PERIOD_HOURS_PER_PERIOD = ll_null ls_SUBMITTAL_FLAG = is_submittalFlag ls_tribalcode = is_tribalcode ls_dupcheck = '' for ll_row = 1 to lnv_export.rowcount() //sets dynamic variables for emission release point if lnv_export.object.type[ll_row] <> 'F' then DAT* continue end if //ls_tribalcode = lnv_export.object.tribal_code[ll_row] ld_sourceRid = lnv_export.object.source_rid[ll_row] is_errorMessage = "source_rid = " + string(ld_sourceRid) ls_find = "source_rid = " + string(ld_sourceRid) + " and data_level = 'SITE' " if not ids_emissions.of_find(ls_find) then continue else if ls_dupcheck = string(ld_sourceRid) then continue else ls_dupcheck = string(ld_sourceRid) end if end if //ls_errormessage = " SourcDAT*e ID = '" + lnv_export.object.source_id[ll_row] + "'" //insert data into emission release point datastore ll_rc = ids_n3_pointemissionperiodOutput.of_addRow(ls_RECORD_TYPE,ls_STATE_COUNTY_FIPS , & ls_state_facility_identifier, ls_EMISSION_UNIT_ID, ls_PROCESS_ID, & ldt_START_DATE, ldt_END_DATE, ls_blank1, ll_START_TIME, & ll_END_TIME, ls_blank2, ld_ACTUAL_THROUGHPUT, & ls_THROUGHPUT_UNIT_NUMERATOR, ll_MATERIAL, & DAT* ls_MATERIAL_IO, li_PERIOD_DAYS_PER_WEEK, & li_PERIOD_WEEKS_PER_PERIOD, li_PERIOD_HOURS_PER_DAY, & ll_PERIOD_HOURS_PER_PERIOD, ls_SUBMITTAL_FLAG, ls_tribalcode) //if addrow is unsuccessful then exit loop if ll_rc < 0 then exit else ll_totalCount++ end if next is_errorMessage = '' return ll_totalCount end function public function long of_n3_exportem_processdatalevel ();long ll_rc, ll_row, ll_totalCount, ll_foundDAT*, ll_null, ll_deviceFlagcount double ld_rid, ldb_null string ls_null, ls_filter, ls_find, ls_fileName, ls_criteriaflag integer li_null, li_recordSet, li_recordSetCount decimal ld_null double ld_sourcerid, ld_processrid, ld_devicerid, ld_releasepointrid n_ds_cache_emissions lnv_export string ls_dupcheck = "" //NEI Point Emission Format //COLUMN_NAME //DATA TYPE WIDTH string ls_RECORD_TYPE //CHARACTER 2 string ls_STATE_COUNTY_FIPS //CHARACTER 5 strDAT* ing ls_state_facility_identifier //CHARACTER 15 string ls_EMISSION_UNIT_ID //CHARACTER 6 string ls_PROCESS_ID //CHARACTER 6 string ls_POLLUTANT_CODE //CHARACTER 10 string ls_blank1 //CHARACTER 6 string ls_EMISSION_RELEASE_POINT_ID //CHARACTER 6 date ldt_START_DATE //DATE 8 date ldt_END_DATE //DATE 8 long ll_START_TIME //NUMBER 4 long ll_END_TIME //NUMBER 4 string ls_blank2 //CHARACTER DAT*  10 dec ld_EMISSION_NUMERIC_VALUE //DECIMAL 10 string ls_EMISSION_UNIT_NUMERATOR //CHARACTER 10 string ls_EMISSION_TYPE //CHARACTER 2 string ls_EM_RELIABILITY_INDICATOR //CHARACTER 5 dec ld_FACTOR_NUMERIC_VALUE //DECIMAL 10 string ls_FACTOR_UNIT_NUMERATOR //CHARACTER 10 string ls_FACTOR_UNIT_DENOMINATOR //CHARACTER 10 long ll_MATERIAL //NUMBER 4 string ls_MATERIAL_IO //CHARACTER 10 string ls_blank3 //CHARACTER DAT* string ls_EMISSION_CALCULATION_METHOD_CODE //CHARACTER 2 string ls_EF_RELIABILITY_INDICATOR //CHARACTER 5 dec ld_RULE_EFFECTIVENESS //DECIMAL 5 string ls_RULE_EFFECTIVENESS_METHOD //CHARACTER 2 string ls_blank4 //CHARACTER 3 string ls_hap_emission_performance_level //CHARACTER 2 string ls_CONTROL_STATUS //CHARACTER 12 string ls_EMISSION_DATA_LEVEL //CHARACTER 10 string ls_SUBMITTAL_FLAG //CHARACTER 4 string ls_tribalcode DAT*//character 3 int ll_rowcount ////initialize variables setPointer(hourGlass!) setNull(ls_null) setNull(ldb_null) setNull(ll_null) setnull(li_null) setnull(ld_null) ll_totalCount = 0 lnv_export = ids_emissions ll_rowcount = ids_emissions.rowcount() ll_rc = lnv_export.of_filter("source_type = 'F' and data_level = 'PROCESS'") ll_rc = lnv_export.of_sort("source_rid a, device_rid a, process_rid a, pollutant_code a, release_point_rid a") if ll_rc < 0 then signalError(ll_rc, lnv_expDAT*ort.is_error) return ll_totalcount end if ls_RECORD_TYPE = ids_n3_pointemissionOutput.of_getNeiRecordType() ls_STATE_COUNTY_FIPS = is_statecountyfips ls_state_facility_identifier = is_siteID ls_blank1 = ls_null ldt_START_DATE = date(idt_startDateTime) ldt_END_DATE = date(idt_endDateTime) ll_START_TIME = ll_null ll_END_TIME = ll_null ls_blank2 = ls_null ls_EMISSION_TYPE = '30' ls_EM_RELIABILITY_INDICATOR = ls_null ld_FACTOR_NUMERIC_VALUE = ld_null ls_FACTOR_UNIT_NUMERATOR = ls_nDAT*ull ls_FACTOR_UNIT_DENOMINATOR = ls_null ll_MATERIAL = ll_null ls_MATERIAL_IO = ls_null ls_blank3 = ls_null ls_EMISSION_CALCULATION_METHOD_CODE = ls_null ls_EF_RELIABILITY_INDICATOR = ls_null ls_RULE_EFFECTIVENESS_METHOD = ls_null ls_SUBMITTAL_FLAG = is_submittalFlag ls_tribalcode = is_tribalcode ls_blank4 = ls_null for ll_row = 1 to lnv_export.rowcount() //sets dynamic variables for point emission ld_sourcerid = lnv_export.object.source_rid[ll_row] ld_processrid = lnv_exporDAT*t.object.process_rid[ll_row] ld_devicerid = lnv_export.object.device_rid[ll_row] ld_releasepointrid = lnv_export.object.release_point_rid[ll_row] is_errormessage = " Source ID = '" + f_msgstring(lnv_export.object.source_id[ll_row]) + "', Device ID = '" + f_msgstring(lnv_export.object.device_id[ll_row]) + & "', Process ID = '" + f_msgstring(lnv_export.object.process_id[ll_row]) + "', Stream ID = '" + f_msgstring(lnv_export.object.stream_id[ll_row]) + & "', Stream ID = '" + f_msgsDAT*tring(lnv_export.object.material_code[ll_row]) + "'" ls_POLLUTANT_CODE = lnv_export.object.pollutant_code[ll_row] if ls_dupcheck = "source_rid = " + string(ld_sourceRid) + & " and device_rid = " + string(ld_devicerid) + & " and process_rid = " + string(ld_processrid) + & " and pollutant_code = '" + ls_POLLUTANT_CODE + & "' and release_point_rid = " + string(ld_releasepointrid) then continue else ls_dupcheck = "source_rid = " + string(ld_sourceRidDAT*) + & " and device_rid = " + string(ld_devicerid) + & " and process_rid = " + string(ld_processrid) + & " and pollutant_code = '" + ls_POLLUTANT_CODE + & "' and release_point_rid = " + string(ld_releasepointrid) end if of_exportem_getsitetotals(ls_dupcheck,ld_EMISSION_NUMERIC_VALUE, ll_deviceFlagcount ) ls_find = "rid = " + string(ld_devicerid) if ids_emissionUnit.of_find(ls_find) then ls_EMISSION_UNIT_ID = ids_emissionUnit.of_getData('emission_uDAT*nit_id') else this.of_writelogmessagewarning(ids_n3_pointemissionOutput, "Unable to lookup the emission unit id. " + & is_errormessage ) setnull(ls_EMISSION_UNIT_ID) end if if len(ls_EMISSION_UNIT_ID) > 6 then this.of_writelogmessagewarning(ids_n3_pointemissionOutput, "Emission Unit ID's length is > 6. The id will be right trimmed " + & is_errormessage + ", Emission Unit ID = '" + f_msgstring(ls_EMISSION_UNIT_ID) + "'") ls_EMISSDAT*ION_UNIT_ID = right(ls_EMISSION_UNIT_ID, 6) end if ls_find = "process_rid = " + string(ld_processrid) if ids_emissionprocess.of_find(ls_find) then ls_PROCESS_ID = ids_emissionprocess.of_getData('emission_process_id') else this.of_writelogmessagewarning(ids_n3_pointemissionOutput, "Unable to lookup the emission process id. " + & is_errormessage) setnull(ls_PROCESS_ID) end if if len(ls_PROCESS_ID) > 6 then this.of_writelogmessagewarning(ids_n3_pointemissionOuDAT* tput, "Process ID's length is > 6. The id will be right trimmed " + & is_errormessage + ", Emission Process ID = '" + f_msgstring(ls_PROCESS_ID) + "'") ls_PROCESS_ID = right(ls_PROCESS_ID, 6) end if //mkc 05/04/04 goes to emission data set instead of emission process //old code //ls_find = "process_rid = " + string(lnv_export.object.process_rid[ll_row]) // if ids_emissionprocess.of_find(ls_find) then // ls_EMISSION_RELEASE_POINT_ID = ids_emissionprocess.of_getDAT*"Data('release_point_id') // end if ls_EMISSION_RELEASE_POINT_ID = lnv_export.object.release_point_id[ll_row] if len(ls_EMISSION_RELEASE_POINT_ID) > 6 then this.of_writelogmessagewarning(ids_n3_pointemissionOutput, "Emission Release Point Id's length is > 6. The id will be right trimmed " + & is_errormessage + ", Emission Release Point ID = '" + f_msgstring(ls_EMISSION_RELEASE_POINT_ID) + "'") ls_EMISSION_RELEASE_POINT_ID = right(ls_EMISSION_RELEASE_POINT_ID, 6) end DAT*$if //ld_EMISSION_NUMERIC_VALUE = lnv_export.object.emission_amt[ll_row] ls_EMISSION_UNIT_NUMERATOR = lnv_export.object.emission_unit_code[ll_row] ls_find = "stream_rid = " + string(lnv_export.object.stream_rid[ll_row]) + " and material_code = '" + lnv_export.object.material_code[ll_row] + "'" ld_RULE_EFFECTIVENESS = dec(of_getactivitydata ( 'OUTSTREAM', ls_find, 'RULE EFFECT', 'value' )) ls_find = "stream_rid = " + string(lnv_export.object.stream_rid[ll_row]) + " and material_code =DAT*& '" + & lnv_export.object.material_code[ll_row] + "'" ls_criteriaflag = lnv_export.object.criteria_flag[ll_row] if ls_criteriaflag = 'Y' then ls_hap_emission_performance_level = ls_null else ls_hap_emission_performance_level = '01' end if ls_CONTROL_STATUS = string(ll_deviceFlagcount) if ls_CONTROL_STATUS = '0' then ls_CONTROL_STATUS = 'UNCONTROLLED' else ls_CONTROL_STATUS = 'CONTROLLED' end if ls_EMISSION_DATA_LEVEL = lnv_export.object.data_level[ll_row] //ls_tribalcoDAT*(de = lnv_export.object.tribal_code[ll_row] //insert data into emission emission datastore ll_rc = ids_n3_pointemissionOutput.of_addRow(ls_RECORD_TYPE, ls_STATE_COUNTY_FIPS, ls_state_facility_identifier, & ls_EMISSION_UNIT_ID, ls_PROCESS_ID, ls_POLLUTANT_CODE, & ls_blank1, ls_EMISSION_RELEASE_POINT_ID, ldt_START_DATE, & ldt_END_DATE, ll_START_TIME, ll_END_TIME, ls_blank2, & ld_EMISSION_NUMERIC_VALUE, ls_EMISSION_UNIT_NUMERADAT*nTOR, & ls_EMISSION_TYPE, ls_EM_RELIABILITY_INDICATOR, & ld_FACTOR_NUMERIC_VALUE, ls_FACTOR_UNIT_NUMERATOR, & ls_FACTOR_UNIT_DENOMINATOR, ll_MATERIAL, ls_MATERIAL_IO, & ls_blank3, ls_EMISSION_CALCULATION_METHOD_CODE, & ls_EF_RELIABILITY_INDICATOR, ld_RULE_EFFECTIVENESS, & ls_RULE_EFFECTIVENESS_METHOD, ls_blank4, ls_hap_emission_performance_level, & ls_CONTROL_STATUS, ls_EMISSION_DATDAT*,*@scc_ams_code@epa_invalid_flagY $1 EPA invalid flag was set. Only right most 6 characters will be used: T, SCC AMS Code = '*@name8@comment_text@RAPIDS ID= "@". @winter_throughput_pct8@spring_throughput_pct8@summer_throughput_pct@fall_throughput_pct@process_ridprocess_rDAT*.id = PROCESSD/W USE RATEvalueof_getactivitydata@W/Y USE RATE8@H/D USE RATE@H/Y USE RATE&@INSTREAMS CONTENTZASH CONTENTZ$1 of_addrow84tT H d         0 8 L d         `      4 < X `    DAT*0    ` |            < D d l       4 P d l   M3M#!M2(@(881@98}1<!M2<<Y@8Mb d#DAT*2 ad_numberai_lengthli_pos<>  e.8d  create8d  destroy 98,$84$H$XP$l$xt$$$$$$DAT*4$$$$$,$P$8X$l$Xt$$x$$$$$$$ $($D$L$h$8p$$X$$x$$$$ $DAT*6H$P$x$$$$$8$$X$$x$$D$L$d$l$$$$$$$$8$@$XH$p$xx$$$$DAT*8$$$$$,$T$\$$8$$X$$x$$ $0$8$d$l$$$$$$8$$$X,$X$x`$$$$DAT*:$$$ $$ $18X x 8Xx8Xx8 X$x%&'()*8+X,x-./01384X5x6789:;8<X=x>?@Dd ancestorreturnvalue, p destructorids_transmittaluserinput4#4#ids_source<:)<:)ids_stateacDAT*<tivityX<+X<+ids_countyactivity|=,|=,ids_sourceactivity>->-ids_deviceactivity @/@/ids_processactivity?.?.ids_inputstreamactivity A0 A0ids_outputstreamactivity4B14B1ids_units`5$`5$ids_metrics|6%|6%ids_materialgroups8'8'ids_conversionlookupcodes9(9(ids_rapoperatingmonthsH7H7ids_emissions;*;*ids_emissionunit 0C20C2ids_eDAT*>missionprocessTD3TD3ids_emissionreleasepointatexE4xE4ids_fugitivereleasepointF5F5ids_sitereleasepointG6G6ids_statelocationcoordinatesI8I8ids_countylocationcoordinatesis(J9(J9ids_sourcelocationcoordinatesenXK:XK:ids_devicelocationcoordinatesL;L;ids_processspecificschedulesms_M<M 6 then this.of_writelogmessagewarning(ids_pointemissionOutput, "Emission Unit ID's length is > 6. The id will be right trimmed " + & is_errormessage + ", Emission Unit ID = '" + f_msgstring(ls_EMISSION_UNIT_ID) + "'") ls_EMISSION_UNIT_ID = right(ls_EMISSION_UNIT_ID, 6) end if ls_find = "process_rid = " + string(ld_processrid) if ids_emissionprocess.of_find(ls_find) then ls_PROCESS_ID = ids_DAT*emissionprocess.of_getData('emission_process_id') else this.of_writelogmessagewarning(ids_pointemissionOutput, "Unable to lookup the emission process id. " + & is_errormessage) setnull(ls_PROCESS_ID) end if if len(ls_PROCESS_ID) > 6 then this.of_writelogmessagewarning(ids_pointemissionOutput, "Process ID's length is > 6. The id will be right trimmed " + & is_errormessage + ", Emission Process ID = '" + f_msgstring(ls_PROCESS_ID) + "'") ls_PROCESS_ID = rDAT*ight(ls_PROCESS_ID, 6) end if //mkc 05/04/04 goes to emission data set instead of emission process //old code //ls_find = "process_rid = " + string(lnv_export.object.process_rid[ll_row]) // if ids_emissionprocess.of_find(ls_find) then // ls_EMISSION_RELEASE_POINT_ID = ids_emissionprocess.of_getData('release_point_id') // end if ls_EMISSION_RELEASE_POINT_ID = lnv_export.object.release_point_id[ll_row] if len(ls_EMISSION_RELEASE_POINT_ID) > 6 then this.of_writelogmessagewDAT*arning(ids_pointemissionOutput, "Emission Release Point Id's length is > 6. The id will be right trimmed " + & is_errormessage + ", Emission Release Point ID = '" + f_msgstring(ls_EMISSION_RELEASE_POINT_ID) + "'") ls_EMISSION_RELEASE_POINT_ID = right(ls_EMISSION_RELEASE_POINT_ID, 6) end if //ld_EMISSION_NUMERIC_VALUE = lnv_export.object.emission_amt[ll_row] ls_EMISSION_UNIT_NUMERATOR = lnv_export.object.emission_unit_code[ll_row] ls_find = "stream_rid = " + string(lnv_exDAT*port.object.stream_rid[ll_row]) + " and material_code = '" + lnv_export.object.material_code[ll_row] + "'" ld_RULE_EFFECTIVENESS = dec(of_getactivitydata ( 'OUTSTREAM', ls_find, 'RULE EFFECT', 'value' )) ls_find = "stream_rid = " + string(lnv_export.object.stream_rid[ll_row]) + " and material_code = '" + & lnv_export.object.material_code[ll_row] + "'" ld_RULE_PENETRATION = dec(of_getactivitydata ( 'OUTSTREAM', ls_find, 'RULE PENET', 'value' )) ls_CONTROL_STATUS = string(ll_deviceFlDAT*agcount) if ls_CONTROL_STATUS = '0' then ls_CONTROL_STATUS = 'UNCONTROLLED' else ls_CONTROL_STATUS = 'CONTROLLED' end if ls_EMISSION_DATA_LEVEL = lnv_export.object.data_level[ll_row] //insert data into emission emission datastore ll_rc = ids_pointemissionOutput.of_addRow(ls_RECORD_TYPE, ls_STATE_FIPS, ls_COUNTY_FIPS, ls_SITE_ID, & ls_EMISSION_UNIT_ID, ls_PROCESS_ID, ls_POLLUTANT_CODE, & ls_blank1, ls_EMISSION_RELEASE_POINT_ID, ldt_START_DATE,DAT* & ldt_END_DATE, ll_START_TIME, ll_END_TIME, ls_blank2, & ld_EMISSION_NUMERIC_VALUE, ls_EMISSION_UNIT_NUMERATOR, & ls_EMISSION_TYPE, ls_EM_RELIABILITY_INDICATOR, & ld_FACTOR_NUMERIC_VALUE, ls_FACTOR_UNIT_NUMERATOR, & ls_FACTOR_UNIT_DENOMINATOR, ll_MATERIAL, ls_MATERIAL_IO, & ls_blank3, ls_EMISSION_CALCULATION_METHOD_CODE, & ls_EF_RELIABILITY_INDICATOR, ld_RULE_EFFECTIVENESS, & DAT* ls_RULE_EFFECTIVENESS_METHOD, ld_RULE_PENETRATION, & ls_CONTROL_STATUS, ls_EMISSION_DATA_LEVEL, ls_SUBMITTAL_FLAG) //if addrow is unsuccessful then exit loop if ll_rc < 0 then exit else ll_totalCount++ end if next //reset emissions cache lnv_export.of_filter("") is_errorMessage = '' return ll_totalCount end function public function long of_n3_exportem_sitedatalevel ();long ll_rc, ll_row, ll_totalCount, ll_found, ll_null douDAT*ble ld_rid, ldb_null string ls_null, ls_filter, ls_find, ls_fileName, ls_dupcheck,ls_criteriaflag integer li_null, li_recordSet, li_recordSetCount decimal ld_null n_ds_cache_emissions lnv_export double ld_sourceRid, ld_emissionNumericValue string ls_pollutantCodeprev long ll_deviceFlagcount //NEI Point Emission Format //COLUMN_NAME //DATA TYPE WIDTH string ls_RECORD_TYPE //CHARACTER 2 string ls_STATE_COUNTY_FIPS //CHARACTER 5 string ls_state_fDAT*acility_identifier //CHARACTER 15 string ls_EMISSION_UNIT_ID //CHARACTER 6 string ls_PROCESS_ID //CHARACTER 6 string ls_POLLUTANT_CODE //CHARACTER 10 string ls_blank1 //CHARACTER 6 string ls_EMISSION_RELEASE_POINT_ID //CHARACTER 6 date ldt_START_DATE //DATE 8 date ldt_END_DATE //DATE 8 long ll_START_TIME //NUMBER 4 long ll_END_TIME //NUMBER 4 string ls_blank2 //CHARACTER 10 dec ld_EDAT*MISSION_NUMERIC_VALUE //DECIMAL 10 string ls_EMISSION_UNIT_NUMERATOR //CHARACTER 10 string ls_EMISSION_TYPE //CHARACTER 2 string ls_EM_RELIABILITY_INDICATOR //CHARACTER 5 dec ld_FACTOR_NUMERIC_VALUE //DECIMAL 10 string ls_FACTOR_UNIT_NUMERATOR //CHARACTER 10 string ls_FACTOR_UNIT_DENOMINATOR //CHARACTER 10 long ll_MATERIAL //NUMBER 4 string ls_MATERIAL_IO //CHARACTER 10 string ls_blank3 //CHARACTER string ls_EMIDAT*SSION_CALCULATION_METHOD_CODE //CHARACTER 2 string ls_EF_RELIABILITY_INDICATOR //CHARACTER 5 dec ld_RULE_EFFECTIVENESS //DECIMAL 5 string ls_RULE_EFFECTIVENESS_METHOD //CHARACTER 2 string ls_blank4 //CHARACTER 3 string ls_hap_emission_performance_level //CHARACTER 2 string ls_CONTROL_STATUS //CHARACTER 12 string ls_EMISSION_DATA_LEVEL //CHARACTER 10 string ls_SUBMITTAL_FLAG //CHARACTER 4 string ls_tribalcode //character 3DAT* ////initialize variables setPointer(hourGlass!) setNull(ls_null) setNull(ldb_null) setNull(ll_null) setnull(li_null) setnull(ld_null) ll_totalCount = 0 lnv_export = ids_emissions ll_rc = lnv_export.of_filter("source_type = 'F' and data_level = 'SITE'") if ll_rc < 0 then signalError(ll_rc, lnv_export.is_error) return ll_totalcount end if ll_rc = lnv_export.of_sort("source_rid a, pollutant_code a") if ll_rc < 0 then signalError(ll_rc, lnv_export.is_error) return llDAT*_totalcount end if ls_RECORD_TYPE = ids_n3_pointemissionOutput.of_getNeiRecordType() ls_STATE_COUNTY_FIPS = is_statecountyfips ls_state_facility_identifier = is_siteID ls_EMISSION_UNIT_ID = ls_null ls_PROCESS_ID = ls_null ls_blank1 = ls_null ldt_START_DATE = date(idt_startDateTime) ldt_END_DATE = date(idt_endDateTime) ll_START_TIME = ll_null ll_END_TIME = ll_null ls_blank2 = ls_null ls_EMISSION_TYPE = '30' ls_EM_RELIABILITY_INDICATOR = ls_null ld_FACTOR_NUMERIC_VALUE = ld_null DAT*ls_FACTOR_UNIT_NUMERATOR = ls_null ls_FACTOR_UNIT_DENOMINATOR = ls_null ll_MATERIAL = ll_null ls_MATERIAL_IO = ls_null ls_blank3 = ls_null ls_EMISSION_CALCULATION_METHOD_CODE = ls_null ls_EF_RELIABILITY_INDICATOR = ls_null ld_RULE_EFFECTIVENESS = ld_null ls_RULE_EFFECTIVENESS_METHOD = ls_null ls_SUBMITTAL_FLAG = is_submittalFlag ls_tribalcode = is_tribalcode ls_blank4 = ls_null ls_dupcheck = '' ld_emissionNumericValue = 0 for ll_row = 1 to lnv_export.rowcount() //sets DAT*dynamic variables for point emission ld_sourceRid = lnv_export.object.source_rid[ll_row] ls_POLLUTANT_CODE = lnv_export.object.pollutant_code[ll_row] is_errormessage = " Source ID = '" + f_msgstring(lnv_export.object.source_id[ll_row]) + & "' Material Code = '" + f_msgstring(lnv_export.object.material_code[ll_row]) + "'" if ls_dupcheck = "source_rid = " + string(ld_sourceRid) + " and pollutant_code = '" + ls_POLLUTANT_CODE + "'" then continue else ls_dupcheck = "souDAT*rce_rid = " + string(ld_sourceRid) + " and pollutant_code = '" + ls_POLLUTANT_CODE + "'" end if ls_criteriaflag = lnv_export.object.criteria_flag[ll_row] if ls_criteriaflag = 'Y' then ls_hap_emission_performance_level = ls_null else ls_hap_emission_performance_level = '01' end if ls_find = "source_rid = " + string(ld_sourceRid) if ids_siteReleasePoint.of_find(ls_find) then ls_EMISSION_RELEASE_POINT_ID = ids_siteReleasePoint.of_getData('release_point_id') end if ifDAT* len(ls_EMISSION_RELEASE_POINT_ID) > 6 then this.of_writelogmessagewarning(ids_n3_pointemissionOutput, "Emission Release Point Id's length is > 6. The id will be right trimmed " + & is_errormessage + ", Emission Release Point ID = '" + f_msgstring(ls_EMISSION_RELEASE_POINT_ID) + "'") ls_EMISSION_RELEASE_POINT_ID = right(ls_EMISSION_RELEASE_POINT_ID, 6) end if of_exportem_getsitetotals(ls_dupcheck,ld_EMISSION_NUMERIC_VALUE, ll_deviceFlagcount ) ls_EMISSION_UNIT_NUMEDAT*RATOR = lnv_export.object.emission_unit_code[ll_row] if ll_deviceFlagcount = 0 then ls_CONTROL_STATUS = 'UNCONTROLLED' else ls_CONTROL_STATUS = 'CONTROLLED' end if ls_EMISSION_DATA_LEVEL = lnv_export.object.data_level[ll_row] //ls_tribalcode = lnv_export.object.tribal_code[ll_row] //insert data into point emissions datastore ll_rc = ids_n3_pointemissionOutput.of_addRow(ls_RECORD_TYPE,ls_STATE_COUNTY_FIPS , ls_state_facility_identifier, & ls_EMISSION_UNIT_IDAT*D, ls_PROCESS_ID, ls_POLLUTANT_CODE, & ls_blank1, ls_EMISSION_RELEASE_POINT_ID, ldt_START_DATE, & ldt_END_DATE, ll_START_TIME, ll_END_TIME, ls_blank2, & ld_EMISSION_NUMERIC_VALUE, ls_EMISSION_UNIT_NUMERATOR, & ls_EMISSION_TYPE, ls_EM_RELIABILITY_INDICATOR, & ld_FACTOR_NUMERIC_VALUE, ls_FACTOR_UNIT_NUMERATOR, & ls_FACTOR_UNIT_DENOMINATOR, ll_MATERIAL, ls_MATERIAL_IO, & ls_blank3, lsDAT*_EMISSION_CALCULATION_METHOD_CODE, & ls_EF_RELIABILITY_INDICATOR, ld_RULE_EFFECTIVENESS, & ls_RULE_EFFECTIVENESS_METHOD, ls_blank4, ls_hap_emission_performance_level, & ls_CONTROL_STATUS, ls_EMISSION_DATA_LEVEL, ls_SUBMITTAL_FLAG,ls_tribalcode) //if addrow is unsuccessful then exit loop if ll_rc < 0 then exit else ll_totalCount++ end if next //reset emissions cache lnv_export.of_filter("") is_errorMessage = 'DAT*' return ll_totalCount end function public function integer of_n3_exportep_area ();long ld_conversion_factor string ls_afsInvalidFlag, ls_findpostfix boolean lb_find decimal ld_null, ad_seasonThroughPut[4], ad_seasonThroughPutReset[4] long ll_rc, ll_row, ll_totalCount, ll_found, ll_null double ld_rid string ls_null, ls_filter, ls_find, ls_fileName, ls_deviceid, ls_sourceid, ls_ID n_ds_cache_emission_process lnv_export lnv_export = ids_emissionprocess string ls_dupcheck = '', DAT*ls_geostaterid, ls_geocountyRid, ls_fileType //Emission process string ls_RECORD_TYPE //CHARACTER 2 string ls_STATE_COUNTY_FIPS //CHARACTER 5 string ls_SCC //CHARACTER 10 string ls_PROCESS_MACT_CODE //CHARACTER 6 string ls_EMISSION_PROCESS_DESCRIPTION //CHARACTER 78 string ls_SIC //CHARACTER 4 string ls_NAICS //CHARACTER 6 decimal ll_WINTER_THROUGHPUT_PCT //decimal 3 decimal ll_SPRING_THROUGHPUT_PCT //decimal 3 decimal ll_SUDAT*MMER_THROUGHPUT_PCT //decimal 3 decimal ll_FALL_THROUGHPUT_PCT //decimal 3 decimal ll_ANNUAL_AVG_DAYS_PER_WEEK //NUMBER 1 decimal ll_ANNUAL_AVG_WEEKS_PER_YEAR //NUMBER 2 decimal ll_ANNUAL_AVG_HOURS_PER_DAY //NUMBER 2 decimal ll_ANNUAL_AVG_HOURS_PER_YEAR //NUMBER 4 decimal ld_HEAT_CONTENT //DECIMAL 8 decimal ld_SULFUR_CONTENT //DECIMAL 5 decimal ld_ASH_CONTENT //DECIMAL 5 string ls_PROCESS_MACT_COMPLIANCE_STATUS //CHARACTER 6 string ls_SUBMITTALDAT*_FLAG //CHARACTER 4 string ls_tribalcode //CHARACTER 3 // ////initialize variables setPointer(hourGlass!) setNull(ls_null) setNull(ld_null) setNull(ll_null) ll_totalCount = 0 ls_RECORD_TYPE = ids_n3_areaemissionprocessoutput.of_getNeiRecordType() ls_STATE_COUNTY_FIPS = is_statecountyfips ls_PROCESS_MACT_CODE = ls_null ld_HEAT_CONTENT = ld_null ls_PROCESS_MACT_COMPLIANCE_STATUS = ls_null ls_SUBMITTAL_FLAG = is_submittalFlag lnv_export.of_sort("geographic_state_rid a, geDAT*ographic_county_rid a, tribal_code a, scc_ams_code a, file_type a") if ll_rc < 0 then signalError(ll_rc, lnv_export.is_error) return ll_totalcount end if for ll_row = 1 to lnv_export.rowCount() //clear throughput array ls_id = lnv_export.object.process_id[ll_row] ls_deviceid = lnv_export.object.device_id[ll_row] ls_sourceid = lnv_export.object.source_id[ll_row] ls_SCC = lnv_export.object.scc_ams_code[ll_row] is_errormessage = "Source ID = '" + f_msgstring(ls_sourceID) + "', DDAT*evice ID = '" + f_msgstring(ls_deviceid) + & "', ID = '" + f_msgstring(ls_id) + "', SCC/AMS Code = '" + f_msgstring(ls_SCC) + "'" ls_EMISSION_PROCESS_DESCRIPTION = lnv_export.object.name[ll_row] if isnull(ls_EMISSION_PROCESS_DESCRIPTION) or ls_EMISSION_PROCESS_DESCRIPTION = '' then ls_EMISSION_PROCESS_DESCRIPTION = lnv_export.object.comment_text[ll_row] end if ls_find = 'source_rid = ' + string(lnv_export.object.source_rid[ll_row]) if ids_source.of_find(ls_find) then ls_sic = DAT*ids_source.of_getData('sic_code') ls_naics = ids_source.of_getData('naics_code') ls_afsInvalidFlag = ids_source.of_getData('afs_invalid_flag') if ls_afsInvalidFlag = 'Y' then ls_sic = '9999' end if end if if ls_sic <> "" and not isnull(ls_sic) then if ls_sic = '9999' then this.of_writeLogMessagewarning(ids_n3_areaemissionprocessoutput, "Invalid SIC Code. SIC Code set to 9999. " + & is_errormessage) end if end if if ls_naics <> "" and not isnull(ls_naics) then iDAT*f (len(ls_NAICS) > 6) or len(ls_NAICS) < 2 then this.of_writeLogMessageWarning(ids_n3_areaemissionprocessoutput, "NAICS Code '" + f_msgstring(ls_NAICS) + & "' must be a length of 2, 3, 4, 5, or 6 : " + is_errorMessage ) ls_NAICS = ls_null end if end if ls_EMISSION_PROCESS_DESCRIPTION = left(trim(ls_EMISSION_PROCESS_DESCRIPTION), 78) //populates the seasonthroughPut array ll_WINTER_THROUGHPUT_PCT = dec(lnv_export.object.winter_throughput_pct[ll_row]) ll_SPRING_THROUGHPUT_PCT = dDAT*ec(lnv_export.object.spring_throughput_pct[ll_row]) ll_SUMMER_THROUGHPUT_PCT = dec(lnv_export.object.summer_throughput_pct[ll_row]) ll_FALL_THROUGHPUT_PCT = dec(lnv_export.object.fall_throughput_pct[ll_row]) ld_rid = lnv_export.object.process_rid[ll_row] ls_find = 'process_rid = ' + string(ld_rid) ll_ANNUAL_AVG_DAYS_PER_WEEK = dec(of_getactivitydata ( 'PROCESS', ld_rid, 'D/W USE RATE', 'value' )) ll_ANNUAL_AVG_WEEKS_PER_YEAR = dec(of_getactivitydata ( 'PROCESS', ld_rid, 'W/Y USE RATE',DAT* 'value' )) ll_ANNUAL_AVG_HOURS_PER_DAY = dec(of_getactivitydata ( 'PROCESS', ld_rid, 'H/D USE RATE', 'value' )) ll_ANNUAL_AVG_HOURS_PER_YEAR = dec(of_getactivitydata ( 'PROCESS', ld_rid, 'H/Y USE RATE', 'value' )) ld_SULFUR_CONTENT = dec(of_getactivitydata ( 'INSTREAM', ls_find, 'S CONTENT', 'value' )) ld_ASH_CONTENT = dec(of_getactivitydata ( 'INSTREAM', ls_find, 'ASH CONTENT', 'value' )) //check for uniqeness ls_geostaterid = string(lnv_export.object.geographic_state_rid[ll_row]) ls_DAT*geocountyRid = string(lnv_export.object.geographic_county_rid[ll_row]) ls_fileType = lnv_export.object.file_type[ll_row] ls_tribalcode = lnv_export.object.tribal_code[ll_row] if ls_dupcheck = f_msgstring(ls_geostaterid) + " " + f_msgstring(ls_geocountyRid) + " " + & f_msgstring(ls_scc) + " " + f_msgstring(ls_fileType) + " " + f_msgstring(ls_tribalcode) then continue else ls_dupcheck = f_msgstring(ls_geostaterid) + " " + f_msgstring(ls_geocountyRid) + " " + & fDAT*_msgstring(ls_scc) + " " + f_msgstring(ls_fileType) + " " + f_msgstring(ls_tribalcode) if ids_primarykey.of_findkey(ls_dupcheck, ls_RECORD_TYPE) then continue end if end if //insert data into acp datastore ll_rc = ids_n3_areaemissionprocessoutput.of_addRow(ls_RECORD_TYPE, ls_STATE_COUNTY_FIPS, ls_SCC, ls_PROCESS_MACT_CODE, & ls_EMISSION_PROCESS_DESCRIPTION, ls_SIC, ls_NAICS, ll_WINTER_THROUGHPUT_PCT, & ll_SPRING_THROUGHPUT_PCT, ll_SUMMER_THROUGHPUT_PCT, llDAT*_FALL_THROUGHPUT_PCT, & ll_ANNUAL_AVG_DAYS_PER_WEEK, ll_ANNUAL_AVG_WEEKS_PER_YEAR, & ll_ANNUAL_AVG_HOURS_PER_DAY, ll_ANNUAL_AVG_HOURS_PER_YEAR, ld_HEAT_CONTENT, & ld_SULFUR_CONTENT, ld_ASH_CONTENT, ls_PROCESS_MACT_COMPLIANCE_STATUS, & ls_SUBMITTAL_FLAG, ls_tribalcode ) //if addrow is unsuccessful then exit loop if ll_rc < 0 then exit else ll_totalCount++ end if next is_errorMessage = '' return ll_totalCount end function DAT*public function long of_n3_exportce_area ();long ll_rc, ll_row, ll_totalCount, ll_found, ll_null double ld_rid, ldb_null string ls_null, ls_filter, ls_find, ls_fileName, ls_message integer li_null, li_recordSet, li_recordSetCount decimal ld_null string ls_dupcheck = '', ls_geostaterid, ls_geocountyRid, ls_fileType string ls_sourceID, ls_deviceid, ls_processid, ls_materialCode n_ds_cache_emissions lnv_export //NEI Point Control Equipment Format //COLUMN NAME DATA TYPE DAT* WIDTH string ls_RECORD_TYPE //CHARACTER 2 string ls_STATE_COUNTY_FIPS //CHARACTER 5 string ls_SCC //CHARACTER 10 string ls_POLLUTANT_CODE //CHARACTER 10 dec ld_PRIMARY_PCT_CONTROL_EFFICIENCY //DECIMAL 5 dec ld_PCT_CAPTURE_EFFICIENCY //DECIMAL 5 dec ld_TOTAL_CAPTURE_CONTROL_EFFICIENCY //DECIMAL 5 string ls_PRIMARY_DEVICE_TYPE_CODE //CHARACTER 4 string ls_SECONDARY_DEVICE_TYPE_CODE //CHARACTER 4 string ls_blank2 //CHARACTER 25 striDAT*ng ls_CONTROL_SYSTEM_DESCRIPTION //CHARACTER 40 string ls_SUBMITTAL_FLAG //CHARACTER 4 string ls_tribalcode //CHARACTER 3 ////initialize variables setPointer(hourGlass!) setNull(ls_null) setNull(ldb_null) setNull(ll_null) setnull(li_null) setnull(ld_null) ll_totalCount = 0 lnv_export = ids_emissions ll_rc = lnv_export.of_filter("control_device_flag = 1") lnv_export.of_sort("geographic_state_rid a, geographic_county_rid a, tribal_code a, scc_ams_code a, pollutant_coDAT*de a, file_type a") if ll_rc < 0 then signalError(ll_rc, lnv_export.is_error) return ll_totalcount end if ls_RECORD_TYPE = ids_n3_areaControlEquipmentOutput.of_getNeiRecordType() ls_blank2 = ls_null ls_CONTROL_SYSTEM_DESCRIPTION = ls_null ls_SUBMITTAL_FLAG = is_submittalFlag for ll_row = 1 to lnv_export.rowcount() ls_sourceID = lnv_export.object.source_id[ll_row] ls_deviceid = lnv_export.object.device_id[ll_row] ls_processid = lnv_export.object.process_id[ll_row] ls_materDAT*ialCode = lnv_export.object.material_code[ll_row] //sets dynamic variables for emission release point is_errormessage = "Source ID = '" + f_msgstring(ls_sourceID) + "', Device ID = '" + f_msgstring(ls_deviceid) + & "', Process ID = '" + f_msgstring(ls_processid) + + "' Material_code = '" + f_msgstring(ls_materialCode) + "'" ls_SCC = lnv_export.object.scc_ams_code[ll_row] ls_POLLUTANT_CODE = lnv_export.object.pollutant_code[ll_row] ld_PRIMARY_PCT_CONTROL_EFFICIENCY = lnv_exDAT*port.object.primary_pct_control_efficiency[ll_row] ld_PCT_CAPTURE_EFFICIENCY = lnv_export.object.pct_capture_efficiency[ll_row] //set to null if = to 100 mkc 05/06/04 if ld_PCT_CAPTURE_EFFICIENCY = 100 then setnull(ld_PCT_CAPTURE_EFFICIENCY) ld_TOTAL_CAPTURE_CONTROL_EFFICIENCY = lnv_export.object.total_capt_control_efficiency[ll_row] ls_PRIMARY_DEVICE_TYPE_CODE = lnv_export.object.primary_device_type_code[ll_row] if ls_PRIMARY_DEVICE_TYPE_CODE = '@@@@' then ls_PRIMARY_DEVICE_TYPE_CDAT*ODE = '099' end if ls_SECONDARY_DEVICE_TYPE_CODE = lnv_export.object.secondary_device_type_code[ll_row] if ls_SECONDARY_DEVICE_TYPE_CODE = '@@@@' then ls_SECONDARY_DEVICE_TYPE_CODE = ls_null end if ls_geostaterid = string(lnv_export.object.geographic_state_rid[ll_row]) ls_geocountyRid = string(lnv_export.object.geographic_county_rid[ll_row]) ls_fileType = lnv_export.object.file_type[ll_row] ls_tribalcode = lnv_export.object.tribal_code[ll_row] if ls_dupcheck = f_msgDAT*string(ls_geostaterid) + " " + f_msgstring(ls_geocountyRid) + " " + & f_msgstring(ls_SCC) + " " + f_msgstring(ls_POLLUTANT_CODE) + " " + & f_msgstring(ls_fileType) + " " + f_msgstring(ls_tribalcode) then continue else ls_dupcheck = f_msgstring(ls_geostaterid) + " " + f_msgstring(ls_geocountyRid) + " " + & f_msgstring(ls_SCC) + " " + f_msgstring(ls_POLLUTANT_CODE) + " " + & f_msgstring(ls_fileType) + " " + f_msgstring(ls_tribalcode) DAT* if ids_primarykey.of_findkey(ls_dupcheck, ls_RECORD_TYPE) then continue end if end if //insert data into emission release point datastore ll_rc = ids_areaControlEquipmentOutput.of_addRow(ls_RECORD_TYPE,ls_STATE_COUNTY_FIPS , ls_SCC, & ls_POLLUTANT_CODE, ld_PRIMARY_PCT_CONTROL_EFFICIENCY, & ld_PCT_CAPTURE_EFFICIENCY, ld_TOTAL_CAPTURE_CONTROL_EFFICIENCY, & ls_PRIMARY_DEVICE_TYPE_CODE, ls_SECONDARY_DEVICE_TYPE_CODAT*DE, & ls_blank2, ls_CONTROL_SYSTEM_DESCRIPTION, ls_SUBMITTAL_FLAG, ls_tribalcode ) //if addrow is unsuccessful then exit loop if ll_rc < 0 then exit else ll_totalCount++ end if next //reset emissions cache lnv_export.of_filter("") is_errorMessage = '' return ll_totalCount end function public function long of_n3_exportpe_area ();long ll_rc, ll_row, ll_totalCount, ll_found, ll_null double ld_rid, ldb_null string ls_null, ls_filter, DAT*ls_find, ls_fileName, ls_errormessage integer li_null, li_recordSet, li_recordSetCount decimal ld_null string ls_dupcheck = '', ls_geostaterid, ls_geocountyRid, ls_fileType n_ds_cache_emission_process lnv_export double ld_sourceRid string ls_pollutantCode string ls_state,ls_county double ll_stateRid,ll_countyRid //NEI Point Emission Period Format //COLUMN NAME //DATA TYPE WIDTH string ls_RECORD_TYPE //CHARACTER 2 string ls_STATE_COUNTY_FIPS //CHDAT*ARACTER 5 string ls_SCC //CHARACTER 10 date ldt_START_DATE //date 8 date ldt_END_DATE //date 8 string ls_blank1 //CHARACTER 2 long ll_START_TIME //NUMBER 4 long ll_END_TIME //NUMBER 4 dec ld_ACTUAL_THROUGHPUT //DECIMAL 10 string ls_THROUGHPUT_UNIT_NUMERATOR //CHARACTER 10 long ll_MATERIAL //NUMBER 4 string ls_MATERIAL_IO //CHARACTER 10 integer li_PERIOD_DAYS_PER_WEEK //NUMBER 1 integer li_PERIOD_WEEKSDAT*_PER_PERIOD //NUMBER 2 integer li_PERIOD_HOURS_PER_DAY //NUMBER 2 long ll_PERIOD_HOURS_PER_PERIOD //NUMBER 4 string ls_SUBMITTAL_FLAG //CHARACTER 4 string ls_tribalcode //CHARACTER 3 string ls_errorInfo string ls_FindThroughputUniqueRecord long ll_find double ld_throughputTotal boolean lb_MoreThanOneNumerator ////initialize variables setPointer(hourGlass!) setNull(ls_null) setNull(ldb_null) setNull(ll_null) setnull(li_null) setnull(ld_null) ll_totalDAT*Count = 0 lnv_export = ids_emissionprocess ls_RECORD_TYPE = ids_n3_areaemissionperiodOutput.of_getNeiRecordType() ls_STATE_COUNTY_FIPS = is_statecountyfips ldt_START_DATE = date(idt_startDateTime) ldt_END_DATE = date(idt_endDateTime) ls_blank1 = ls_null ll_START_TIME = ll_null ll_END_TIME = ll_null li_PERIOD_DAYS_PER_WEEK = li_null li_PERIOD_WEEKS_PER_PERIOD = li_null li_PERIOD_HOURS_PER_DAY = li_null ll_PERIOD_HOURS_PER_PERIOD = ll_null ls_SUBMITTAL_FLAG = is_submittalFlag DAT*lnv_export.of_sort("geographic_state_rid a, geographic_county_rid a, tribal_code a, scc_ams_code a, file_type a") if ll_rc < 0 then signalError(ll_rc, lnv_export.is_error) return ll_totalcount end if for ll_row = 1 to lnv_export.rowcount() //sets dynamic variables for emission release point ld_sourceRid = lnv_export.object.source_rid[ll_row] is_errorMessage = "source_rid = " + string(ld_sourceRid) ls_SCC = lnv_export.object.scc_ams_code[ll_row] ld_ACTUAL_THROUGHPUT = lnDAT*v_export.object.actual_throughput[ll_row] ld_ACTUAL_THROUGHPUT = of_roundnumber(ld_ACTUAL_THROUGHPUT, 10) setnull(ls_THROUGHPUT_UNIT_NUMERATOR) ll_MATERIAL = lnv_export.object.material[ll_row] ls_MATERIAL_IO = lnv_export.object.material_io[ll_row] ls_fileType = lnv_export.object.file_type[ll_row] ls_tribalcode = lnv_export.object.tribal_code[ll_row] ll_staterid = lnv_export.object.geographic_state_rid[ll_row] ll_countyRid = lnv_export.object.geographic_county_rid[ll_row] DAT*select r.name into :ls_state from rap_geographic_locations r where r.rid = :ll_StateRid; Select r.name into :ls_county from rap_geographic_locations r where r.rid = :ll_CountyRid; ls_errorinfo = "state: "+f_msgstring(ls_state) + & " county: " + f_msgstring(ls_county) + & " SCC: " + f_msgstring(ls_scc) + & " File Type: " + f_msgstring(ls_fileType) + & " Tribal: " + f_msgstring(ls_tribalcode) //check for uniqeness ls_geostaterid = string(lnv_export.DAT*object.geographic_state_rid[ll_row]) ls_geocountyRid = string(lnv_export.object.geographic_county_rid[ll_row]) if ls_dupcheck = f_msgstring(ls_geostaterid) + " " + f_msgstring(ls_geocountyRid) + " " + & f_msgstring(ls_scc) + " " + f_msgstring(ls_fileType) + " " + f_msgstring(ls_tribalcode) then continue else ls_dupcheck = f_msgstring(ls_geostaterid) + " " + f_msgstring(ls_geocountyRid) + " " + & f_msgstring(ls_scc) + " " + f_msgstring(ls_fileType) + " " + DAT* f_msgstring(ls_tribalcode) if ids_primarykey.of_findkey(ls_dupcheck, ls_RECORD_TYPE) then continue end if end if ls_FindThroughPutUniqueRecord = 'geographic_state_rid='+ ls_geostaterid + & ' and geographic_county_rid='+ls_geocountyRid + & ' and scc_ams_code="'+ls_SCC+'"' + & ' and file_type= "'+ls_fileType+'"' + & ' and tribal_code= "'+ls_tribalcode + '"' ll_find = 0 ld_throughputtotal = 0 lb_MoreThanOneNumerator = falDAT*se do ll_find = lnv_export.find(ls_FindThroughPutUniqueRecord,ll_find,lnv_export.rowcount()) if ll_find > 0 then if isnull(ls_THROUGHPUT_UNIT_NUMERATOR) then ls_THROUGHPUT_UNIT_NUMERATOR = lnv_export.object.throughput_unit_numerator[ll_find] end if // get throughput total if ls_THROUGHPUT_UNIT_NUMERATOR = lnv_export.object.throughput_unit_numerator[ll_find] and & ls_material_io = lnv_export.object.material_io[ll_find] and & ll_MATERIAL = lnv_export.objecDAT*t.material[ll_find] then // ok to add to total ld_throughputtotal = ld_throughputtotal + lnv_export.object.actual_throughput[ll_find] else // need to blank out total and numerator // all write error message // set ll_find to -1 so we can add one so ll_find = 0 and exit the loop lb_MoreThanOneNumerator = true ll_find = - 1 end if // add one to find to get next record if ll_find = lnv_export.rowcount() then ll_find = 0 else ll_fDAT*ind ++ end if end if loop while ll_find > 0 if lb_MoreThanOneNumerator then setnull(ld_ACTUAL_THROUGHPUT) setnull(ls_THROUGHPUT_UNIT_NUMERATOR) setnull(ll_material) setnull(ls_material_io) this.of_writelogmessagewarning(ids_n3_onroademissionperiodOutput, & "Annual throughput could not be exported since more than one throughput "+& "record was found for this SCC with different throughput units, material, "+& "and material io that could not be combined and summeDAT*d. "+ ls_errorinfo) // write an error message else ld_ACTUAL_THROUGHPUT = ld_throughputtotal ld_ACTUAL_THROUGHPUT = of_roundnumber(ld_ACTUAL_THROUGHPUT, 10) end if //insert data into emission release point datastore ll_rc = ids_n3_areaemissionperiodOutput.of_addRow(ls_RECORD_TYPE, ls_STATE_COUNTY_FIPS, & ls_SCC, ldt_START_DATE, ldt_END_DATE, ls_blank1, ll_START_TIME, & ll_END_TIME, ld_ACTUAL_THROUGHPUT, & ls_THROUGHPUT_UNITDAT*_NUMERATOR, ll_MATERIAL, & ls_MATERIAL_IO, li_PERIOD_DAYS_PER_WEEK, & li_PERIOD_WEEKS_PER_PERIOD, li_PERIOD_HOURS_PER_DAY, & ll_PERIOD_HOURS_PER_PERIOD, ls_SUBMITTAL_FLAG, ls_tribalcode) //if addrow is unsuccessful then exit loop if ll_rc < 0 then exit else ll_totalCount++ end if next is_errorMessage = '' return ll_totalCount end function public function long of_n3_exportem_area ();long ll_rc, ll_row, ll_totalCounDAT*t, ll_found, ll_null, ll_deviceFlagcount double ld_rid, ldb_null string ls_null, ls_filter, ls_find, ls_fileName integer li_null, li_recordSet, li_recordSetCount decimal ld_null string ls_dupcheck = '', ls_geostaterid, ls_geocountyRid, ls_fileType n_ds_cache_emissions lnv_export // //NEI Point Emission Format //COLUMN_NAME //DATA TYPE WIDTH string ls_RECORD_TYPE //CHARACTER 2 string ls_STATE_COUNTY_FIPS //CHARACTER 5 string ls_SCC //CHDAT*ARACTER 15 string ls_POLLUTANT_CODE //CHARACTER 10 string ls_blank1 //CHARACTER 10 date ldt_START_DATE //DATE 8 date ldt_END_DATE //DATE 8 string ls_blank2 //CHARACTER 10 long ll_START_TIME //NUMBER 4 long ll_END_TIME //NUMBER 4 dec ld_EMISSION_NUMERIC_VALUE //DECIMAL 10 string ls_EMISSION_UNIT_NUMERATOR //CHARACTER 10 string ls_EMISSION_TYPE //CHARACTER 2 string ls_EM_RELIABILITY_INDICATODAT*R //CHARACTER 5 dec ld_FACTOR_NUMERIC_VALUE //DECIMAL 10 string ls_FACTOR_UNIT_NUMERATOR //CHARACTER 10 string ls_FACTOR_UNIT_DENOMINATOR //CHARACTER 10 long ll_MATERIAL //NUMBER 4 string ls_MATERIAL_IO //CHARACTER 10 string ls_blank3 //CHARACTER string ls_EMISSION_CALCULATION_METHOD_CODE //CHARACTER 2 string ls_EF_RELIABILITY_INDICATOR //CHARACTER 5 dec ld_RULE_EFFECTIVENESS //DECIMAL 5 string ls_RULE_EFFECTIVENESSDAT*_METHOD //CHARACTER 2 dec ld_RULE_PENETRATION //DECIMAL 5 string ls_SUBMITTAL_FLAG //CHARACTER 4 string ls_tribalcode //CHARACTER 3 lnv_export = ids_emissions lnv_export.of_sort("geographic_state_rid a, geographic_county_rid a, tribal_code a, scc_ams_code a, pollutant_code a, file_type a") if ll_rc < 0 then signalError(ll_rc, lnv_export.is_error) return ll_totalcount end if ////initialize variables setPointer(hourGlass!) setNull(ls_null) DAT*setNull(ldb_null) setNull(ll_null) setnull(li_null) setnull(ld_null) ll_totalCount = 0 ls_RECORD_TYPE = ids_n3_areaemissionOutput.of_getNeiRecordType() ls_STATE_COUNTY_FIPS = is_statecountyfips ls_blank1 = ls_null ldt_START_DATE = date(idt_startDateTime) ldt_END_DATE = date(idt_endDateTime) ll_START_TIME = ll_null ll_END_TIME = ll_null ls_blank2 = ls_null ls_EMISSION_TYPE = '30' ls_EM_RELIABILITY_INDICATOR = ls_null ld_FACTOR_NUMERIC_VALUE = ld_null ls_FACTOR_UNIT_NUMERATOR = lDAT*s_null ls_FACTOR_UNIT_DENOMINATOR = ls_null ll_MATERIAL = ll_null ls_MATERIAL_IO = ls_null ls_blank3 = ls_null ls_EMISSION_CALCULATION_METHOD_CODE = ls_null ls_EF_RELIABILITY_INDICATOR = ls_null ls_RULE_EFFECTIVENESS_METHOD = ls_null ls_SUBMITTAL_FLAG = is_submittalFlag for ll_row = 1 to lnv_export.rowcount() //sets dynamic variables for point emission is_errormessage = " Source ID = '" + f_msgstring(lnv_export.object.source_id[ll_row]) + "', Device ID = '" + f_msgstring(lnv_DAT*export.object.device_id[ll_row]) + & "', Process ID = '" + f_msgstring(lnv_export.object.process_id[ll_row]) + "', Stream ID = '" + f_msgstring(lnv_export.object.stream_id[ll_row]) + & "', Stream ID = '" + f_msgstring(lnv_export.object.material_code[ll_row]) + "'" ls_SCC = lnv_export.object.scc_ams_code[ll_row] ls_POLLUTANT_CODE = lnv_export.object.pollutant_code[ll_row] ls_EMISSION_UNIT_NUMERATOR = lnv_export.object.emission_unit_code[ll_row] ls_find = "stream_rid = " + stDAT*ring(lnv_export.object.stream_rid[ll_row]) + " and material_code = '" + lnv_export.object.material_code[ll_row] + "'" ld_RULE_EFFECTIVENESS = dec(of_getactivitydata ( 'OUTSTREAM', ls_find, 'RULE EFFECT', 'value' )) ls_find = "stream_rid = " + string(lnv_export.object.stream_rid[ll_row]) + " and material_code = '" + & lnv_export.object.material_code[ll_row] + "'" ld_RULE_PENETRATION = dec(of_getactivitydata ( 'OUTSTREAM', ls_find, 'RULE PENET', 'value' )) ls_geostaterid = string(lDAT* nv_export.object.geographic_state_rid[ll_row]) ls_geocountyRid = string(lnv_export.object.geographic_county_rid[ll_row]) ls_fileType = lnv_export.object.file_type[ll_row] ls_tribalcode = lnv_export.object.tribal_code[ll_row] ls_find = "geographic_state_rid = " + ls_geostaterid + & " and geographic_county_rid = " + ls_geocountyRid + & " and tribal_code = '" + ls_tribalcode + & "' and scc_ams_code = '" + ls_SCC + & "' and pollutant_code = '" + ls_POLLUTANT_CODE DAT* + & "' and file_type = '" + ls_fileType + "'" of_exportem_getsitetotals(ls_find,ld_EMISSION_NUMERIC_VALUE, ll_deviceFlagcount ) if ls_dupcheck = f_msgstring(ls_geostaterid) + " " + f_msgstring(ls_geocountyRid) + " " + & f_msgstring(ls_scc) + " " + f_msgstring(ls_POLLUTANT_CODE) + " " + f_msgstring(ls_fileType) + " " + f_msgstring(ls_tribalcode) then continue else ls_dupcheck = f_msgstring(ls_geostaterid) + " " + f_msgstring(ls_geocountyRid) + " " + & DAT* f_msgstring(ls_scc) + " " + f_msgstring(ls_POLLUTANT_CODE) + " " + f_msgstring(ls_fileType) + " " + f_msgstring(ls_tribalcode) if ids_primarykey.of_findkey(ls_dupcheck, ls_RECORD_TYPE) then continue end if end if //insert data into emission emission datastore ll_rc = ids_n3_areaemissionOutput.of_addRow(ls_RECORD_TYPE, ls_STATE_COUNTY_FIPS, ls_SCC, & ls_POLLUTANT_CODE, ls_blank1, ldt_START_DATE, & ldt_END_DATE, ls_blank2, ll_START_TIME, llDAT*_END_TIME, & ld_EMISSION_NUMERIC_VALUE, ls_EMISSION_UNIT_NUMERATOR, & ls_EMISSION_TYPE, ls_EM_RELIABILITY_INDICATOR, & ld_FACTOR_NUMERIC_VALUE, ls_FACTOR_UNIT_NUMERATOR, & ls_FACTOR_UNIT_DENOMINATOR, ll_MATERIAL, ls_MATERIAL_IO, & ls_blank3, ls_EMISSION_CALCULATION_METHOD_CODE, & ls_EF_RELIABILITY_INDICATOR, ld_RULE_EFFECTIVENESS, & ls_RULE_EFFECTIVENESS_METHOD, ld_RULE_PENETRATIODAT*N, ls_SUBMITTAL_FLAG, ls_tribalcode) //if addrow is unsuccessful then exit loop if ll_rc < 0 then exit else ll_totalCount++ end if next //reset emissions cache //lnv_export.of_filter("") is_errorMessage = '' return ll_totalCount end function public function long of_n3_exportpe_onroad ();long ll_rc, ll_row, ll_totalCount, ll_found, ll_null double ld_rid, ldb_null string ls_null, ls_filter, ls_find, ls_fileName, ls_errormessage integer li_null, li_recoDAT*rdSet, li_recordSetCount decimal ld_null string ls_dupcheck = '', ls_geostaterid, ls_geocountyRid, ls_fileType n_ds_cache_emission_process lnv_export double ld_sourceRid string ls_pollutantCode //NEI Point Emission Period Format //COLUMN NAME //DATA TYPE WIDTH string ls_RECORD_TYPE //CHARACTER 2 string ls_STATE_COUNTY_FIPS //CHARACTER 5 string ls_SCC //CHARACTER 10 date ldt_START_DATE //date 8 date ldt_END_DATE //date 8 string DAT*ls_blank1 //CHARACTER 2 long ll_START_TIME //NUMBER 4 long ll_END_TIME //NUMBER 4 dec ld_ACTUAL_THROUGHPUT //DECIMAL 10 string ls_THROUGHPUT_UNIT_NUMERATOR //CHARACTER 10 string ls_SUBMITTAL_FLAG //CHARACTER 4 string ls_tribalcode //CHARACTER 4 string ls_FindThroughPutUniqueRecord long ll_find double ld_throughputtotal boolean lb_MoreThanOneNumerator string ls_errorInfo string ls_state,ls_county double ll_stateRid,ll_countyRid /DAT*///initialize variables setPointer(hourGlass!) setNull(ls_null) setNull(ldb_null) setNull(ll_null) setnull(li_null) setnull(ld_null) ll_totalCount = 0 lnv_export = ids_emissionprocess ls_RECORD_TYPE = ids_n3_onroademissionperiodOutput.of_getNeiRecordType() ls_STATE_COUNTY_FIPS = is_statecountyfips ldt_START_DATE = date(idt_startDateTime) ldt_END_DATE = date(idt_endDateTime) ls_blank1 = ls_null ll_START_TIME = ll_null ll_END_TIME = ll_null ls_SUBMITTAL_FLAG = is_submittalFlag DAT* ll_rc = lnv_export.of_filter("type = 'M'") lnv_export.of_sort("geographic_state_rid a, geographic_county_rid a, "+& +"tribal_code a, scc_ams_code a, file_type a throughput_unit_numerator a") if ll_rc < 0 then signalError(ll_rc, lnv_export.is_error) return ll_totalcount end if for ll_row = 1 to lnv_export.rowcount() //sets dynamic variables for emission release point ld_sourceRid = lnv_export.object.source_rid[ll_row] is_errorMessage = "source_rid = " + string(ld_sourceRid) DAT* ls_SCC = lnv_export.object.scc_ams_code[ll_row] ld_ACTUAL_THROUGHPUT = lnv_export.object.actual_throughput[ll_row] ld_ACTUAL_THROUGHPUT = of_roundnumber(ld_ACTUAL_THROUGHPUT, 10) setnull(ls_THROUGHPUT_UNIT_NUMERATOR) //check for uniqeness ls_geostaterid = string(lnv_export.object.geographic_state_rid[ll_row]) ls_geocountyRid = string(lnv_export.object.geographic_county_rid[ll_row]) ls_fileType = lnv_export.object.file_type[ll_row] ls_tribalcode = lnv_export.object.tribaDAT*l_code[ll_row] ll_staterid = lnv_export.object.geographic_state_rid[ll_row] ll_countyRid = lnv_export.object.geographic_county_rid[ll_row] select r.name into :ls_state from rap_geographic_locations r where r.rid = :ll_StateRid; Select r.name into :ls_county from rap_geographic_locations r where r.rid = :ll_CountyRid; ls_errorinfo = "state: "+f_msgstring(ls_state) + & " county: " + f_msgstring(ls_county) + & " SCC: " + f_msgstring(ls_scc) + & " File TyDAT* pe: " + f_msgstring(ls_fileType) + & " Tribal: " + f_msgstring(ls_tribalcode) if ls_dupcheck = f_msgstring(ls_geostaterid) + " " + f_msgstring(ls_geocountyRid) + & " " + f_msgstring(ls_scc) + " " + f_msgstring(ls_fileType) + " " + & f_msgstring(ls_tribalcode) then continue else ls_dupcheck = f_msgstring(ls_geostaterid) + " " + f_msgstring(ls_geocountyRid) + " " + & f_msgstring(ls_scc) + " " + f_msgstring(ls_fileType) + " " + & f_msgstring(ls_tribalcoDAT*"de) if ids_primarykey.of_findkey(ls_dupcheck, ls_RECORD_TYPE) then continue end if end if // added code to add all the totals for numerator // also check to see if all have the same numerator types // mlk 10/2004 ls_FindThroughPutUniqueRecord = 'geographic_state_rid='+ ls_geostaterid + & ' and geographic_county_rid='+ls_geocountyRid + & ' and scc_ams_code="'+ls_SCC+'"' + & ' and file_type= "'+ls_fileType+'"' + & ' and tribDAT*$al_code= "'+lnv_export.object.tribal_code[ll_row] + '"' ll_find = 0 ld_throughputtotal = 0 lb_MoreThanOneNumerator = false do ll_find = lnv_export.find(ls_FindThroughPutUniqueRecord,ll_find,lnv_export.rowcount()) if ll_find > 0 then if isnull(ls_THROUGHPUT_UNIT_NUMERATOR) then ls_THROUGHPUT_UNIT_NUMERATOR = lnv_export.object.throughput_unit_numerator[ll_find] end if // get throughput total if ls_THROUGHPUT_UNIT_NUMERATOR = lnv_export.object.throughput_unit_nDAT*&umerator[ll_find] then // ok to add to total ld_throughputtotal = ld_throughputtotal + lnv_export.object.actual_throughput[ll_find] else // need to blank out total and numerator // all write error message // set ll_find to -1 so we can add one so ll_find = 0 and exit the loop lb_MoreThanOneNumerator = true ll_find = - 1 end if // add one to find to get next record if ll_find = lnv_export.rowcount() then ll_find = 0 else ll_finDAT*(d ++ end if end if loop while ll_find > 0 if lb_MoreThanOneNumerator then setnull(ld_ACTUAL_THROUGHPUT) setnull(ls_THROUGHPUT_UNIT_NUMERATOR) this.of_writelogmessagewarning(ids_n3_onroademissionperiodOutput, & "Annual throughput could not be exported since more than one "+& "throughput record was found for this SCC with different throughput "+& "units that could not be combined and summed. "+ ls_errorinfo) // write an error message else ld_ACTUAL_THROUGHPUT DAT**= ld_throughputtotal ld_ACTUAL_THROUGHPUT = of_roundnumber(ld_ACTUAL_THROUGHPUT, 10) end if //insert data into emission release point datastore ll_rc = ids_n3_onroademissionperiodOutput.of_addRow(ls_RECORD_TYPE, ls_STATE_COUNTY_FIPS, & ls_SCC, ldt_START_DATE, ldt_END_DATE, ls_blank1, ll_START_TIME, & ll_END_TIME, ld_ACTUAL_THROUGHPUT, & ls_THROUGHPUT_UNIT_NUMERATOR, ls_SUBMITTAL_FLAG,ls_tribalcode ) //if addrow is unsuccessful thDAT*,en exit loop if ll_rc < 0 then exit else ll_totalCount++ end if next ll_rc = lnv_export.of_filter("") is_errorMessage = '' return ll_totalCount end function public function long of_n3_exportem_onroad ();long ll_rc, ll_row, ll_totalCount, ll_found, ll_null, ll_deviceFlagcount double ld_rid, ldb_null string ls_null, ls_filter, ls_find, ls_fileName integer li_null, li_recordSet, li_recordSetCount decimal ld_null string ls_dupcheck = '', ls_geostaterid, ls_geocountDAT*.yRid, ls_fileType n_ds_cache_emissions lnv_export // //NEI Onroad Emission Format //COLUMN_NAME //DATA TYPE WIDTH string ls_RECORD_TYPE //CHARACTER 2 string ls_STATE_COUNTY_FIPS //CHARACTER 5 string ls_SCC //CHARACTER 15 string ls_blank1 //CHARACTER 10 date ldt_START_DATE //DATE 8 date ldt_END_DATE //DATE 8 string ls_blank2 //CHARACTER 10 long ll_START_TIME //NUMBER 4 long lDAT*0l_END_TIME //NUMBER 4 string ls_POLLUTANT_CODE //CHARACTER 10 string ls_EMISSION_PROCESS_DESCRIPTION //CHARACTER 80 dec ld_EMISSION_NUMERIC_VALUE //DECIMAL 10 string ls_EMISSION_UNIT_NUMERATOR //CHARACTER 10 string ls_EMISSION_TYPE //CHARACTER 2 string ls_EM_RELIABILITY_INDICATOR //CHARACTER 5 string ls_SUBMITTAL_FLAG //CHARACTER 4 string ls_tribalcode //CHARACTER 3 lnv_export = ids_emissions ll_rc = lnv_export.of_filteDAT*2r("source_type = 'M'") lnv_export.of_sort("geographic_state_rid a, geographic_county_rid a, tribal_code a, scc_ams_code a, pollutant_code a, file_type a") if ll_rc < 0 then signalError(ll_rc, lnv_export.is_error) return ll_totalcount end if ////initialize variables setPointer(hourGlass!) setNull(ls_null) setNull(ldb_null) setNull(ll_null) setnull(li_null) setnull(ld_null) ll_totalCount = 0 ls_RECORD_TYPE = ids_n3_onroademissionOutput.of_getNeiRecordType() ls_STATE_COUNTY_FIDAT*4PS = is_statecountyfips ls_blank1 = ls_null ldt_START_DATE = date(idt_startDateTime) ldt_END_DATE = date(idt_endDateTime) ll_START_TIME = ll_null ll_END_TIME = ll_null ls_blank2 = ls_null ls_EMISSION_TYPE = '30' ls_EM_RELIABILITY_INDICATOR = ls_null ls_SUBMITTAL_FLAG = is_submittalFlag for ll_row = 1 to lnv_export.rowcount() //sets dynamic variables for point emission is_errormessage = " Source ID = '" + f_msgstring(lnv_export.object.source_id[ll_row]) + "', Device ID = '"DAT*6 + f_msgstring(lnv_export.object.device_id[ll_row]) + & "', Process ID = '" + f_msgstring(lnv_export.object.process_id[ll_row]) + "', Stream ID = '" + f_msgstring(lnv_export.object.stream_id[ll_row]) + & "', Stream ID = '" + f_msgstring(lnv_export.object.material_code[ll_row]) + "'" ls_SCC = lnv_export.object.scc_ams_code[ll_row] ls_POLLUTANT_CODE = lnv_export.object.pollutant_code[ll_row] ls_EMISSION_UNIT_NUMERATOR = lnv_export.object.emission_unit_code[ll_row] ls_geostateriDAT*8d = string(lnv_export.object.geographic_state_rid[ll_row]) ls_geocountyRid = string(lnv_export.object.geographic_county_rid[ll_row]) ls_tribalcode = lnv_export.object.tribal_code[ll_row] ls_fileType = lnv_export.object.file_type[ll_row] ls_find = "process_rid = " + string(lnv_export.object.process_rid[ll_row]) if ids_emissionprocess.of_find(ls_find) then ls_EMISSION_PROCESS_DESCRIPTION = ids_emissionprocess.of_getdata('name') if isnull(ls_EMISSION_PROCESS_DESCRIPTION) or ls_EMIDAT*:SSION_PROCESS_DESCRIPTION = '' then ls_EMISSION_PROCESS_DESCRIPTION = ids_emissionprocess.of_getdata('comment_text') end if end if ls_find = "geographic_state_rid = " + ls_geostaterid + & " and geographic_county_rid = " + ls_geocountyRid + & " and tribal_code = '" + ls_tribalcode + & "' and scc_ams_code = '" + ls_SCC + & "' and pollutant_code = '" + ls_POLLUTANT_CODE + & "' and file_type = '" + ls_fileType + "'" of_exportem_getsitetotals(ls_fiDAT*<nd,ld_EMISSION_NUMERIC_VALUE, ll_deviceFlagcount ) if ls_dupcheck = f_msgstring(ls_geostaterid) + " " + f_msgstring(ls_geocountyRid) + " " + & f_msgstring(ls_scc) + " " + f_msgstring(ls_POLLUTANT_CODE) + " " + f_msgstring(ls_fileType) + " " + f_msgstring(ls_tribalcode) then continue else ls_dupcheck = f_msgstring(ls_geostaterid) + " " + f_msgstring(ls_geocountyRid) + " " + & f_msgstring(ls_scc) + " " + f_msgstring(ls_POLLUTANT_CODE) + " " + f_msgstring(lDAT*>s_fileType) + " " + f_msgstring(ls_tribalcode) if ids_primarykey.of_findkey(ls_dupcheck, ls_RECORD_TYPE) then continue end if end if //insert data into emission emission datastore ll_rc = ids_n3_onroademissionOutput.of_addRow(ls_RECORD_TYPE,ls_STATE_COUNTY_FIPS , ls_SCC, & ls_blank1, ldt_START_DATE, ldt_END_DATE, ls_blank2, & ll_START_TIME, ll_END_TIME, ls_POLLUTANT_CODE, & ls_EMISSION_PROCESS_DESCRIPTION, ld_EMISSION_NUMERIDAT*@C_VALUE, & ls_EMISSION_UNIT_NUMERATOR, ls_EMISSION_TYPE, ls_EM_RELIABILITY_INDICATOR, & ls_SUBMITTAL_FLAG,ls_tribalcode) //if addrow is unsuccessful then exit loop if ll_rc < 0 then exit else ll_totalCount++ end if next //reset emissions cache //lnv_export.of_filter("") is_errorMessage = '' ll_rc = lnv_export.of_filter("") return ll_totalCount end function public function integer of_n3_exportep ();long ld_conversion_facDAT*Btor string ls_epaInvalidFlag, ls_findpostfix boolean lb_find decimal ld_null, ad_seasonThroughPut[4], ad_seasonThroughPutReset[4] long ll_rc, ll_row, ll_totalCount, ll_found, ll_null double ld_rid string ls_null, ls_filter, ls_find, ls_fileName, ls_deviceid, ls_sourceid, ls_ID n_ds_cache_emission_process lnv_export lnv_export = ids_emissionprocess //Emission process string ls_RECORD_TYPE //CHARACTER 2 string ls_STATE_COUNTY_FIPS //CHARACTER 5 string ls_state_faciDAT*Dlity_identifier //CHARACTER 15 string ls_EMISSION_UNIT_ID //CHARACTER 6 string ls_EMISSION_RELEASE_POINT_ID //CHARACTER 6 string ls_PROCESS_ID //CHARACTER 6 string ls_SCC //CHARACTER 10 string ls_PROCESS_MACT_CODE //CHARACTER 6 string ls_EMISSION_PROCESS_DESCRIPTION //CHARACTER 78 decimal ll_WINTER_THROUGHPUT_PCT //decimal 3 decimal ll_SPRING_THROUGHPUT_PCT //decimal 3 decimal ll_SUMMER_THROUGHPUT_PCT //decimal 3 decimal ll_FALL_THROUGHPUT_PDAT*FCT //decimal 3 decimal ll_ANNUAL_AVG_DAYS_PER_WEEK //NUMBER 1 decimal ll_ANNUAL_AVG_WEEKS_PER_YEAR //NUMBER 2 decimal ll_ANNUAL_AVG_HOURS_PER_DAY //NUMBER 2 decimal ll_ANNUAL_AVG_HOURS_PER_YEAR //NUMBER 4 decimal ld_HEAT_CONTENT //DECIMAL 8 decimal ld_SULFUR_CONTENT //DECIMAL 5 decimal ld_ASH_CONTENT //DECIMAL 5 string ls_PROCESS_MACT_COMPLIANCE_STATUS //CHARACTER 6 string ls_SUBMITTAL_FLAG //CHARACTER 4 string ls_tribalcode //character DAT*H3 // ////initialize variables setPointer(hourGlass!) setNull(ls_null) setNull(ld_null) setNull(ll_null) ll_totalCount = 0 ls_RECORD_TYPE = ids_n3_pointemissionprocessoutput.of_getNeiRecordType() ls_STATE_COUNTY_FIPS = is_statecountyfips ls_state_facility_identifier = is_siteID ls_PROCESS_MACT_CODE = ls_null ld_HEAT_CONTENT = ld_null ls_PROCESS_MACT_COMPLIANCE_STATUS = ls_null ls_SUBMITTAL_FLAG = is_submittalFlag ls_tribalcode = is_tribalcode //initialize throughputs //for ll_rowDAT*J = 1 to upperbound(ad_seasonThroughPutReset) // ad_seasonThroughPutReset[ll_row] = ld_null //next for ll_row = 1 to lnv_export.rowCount() //sets dynamic variables for acp //clear throughput array //ad_seasonThroughPut = ad_seasonThroughPutReset ls_id = lnv_export.object.process_id[ll_row] ls_deviceid = lnv_export.object.device_id[ll_row] ls_sourceid = lnv_export.object.source_id[ll_row] is_errormessage = "Source ID = '" + f_msgstring(ls_sourceID) + "', Device ID = '" + f_msgstrDAT*Ling(ls_deviceid) + & "', ID = '" + f_msgstring(ls_id) + "'" ls_find = 'rid = ' + string(lnv_export.object.device_rid[ll_row]) if ids_emissionUnit.of_find(ls_find) then ls_EMISSION_UNIT_ID = ids_emissionUnit.of_getData('emission_unit_id') else ls_EMISSION_UNIT_ID = ls_null end if if len(ls_EMISSION_UNIT_ID) > 6 then this.of_writeLogMessagewarning(ids_n3_pointemissionprocessoutput, "Emission Unit ID's length is > 6. The id will be right trimmed. " + & is_errormessage + "DAT*N, Emission Unit Id = '" + f_msgstring(ls_EMISSION_UNIT_ID) + "'" ) ls_EMISSION_UNIT_ID = right(ls_EMISSION_UNIT_ID, 6) end if // ls_EMISSION_RELEASE_POINT_ID = lnv_export.object.release_point_id[ll_row] if len(ls_EMISSION_RELEASE_POINT_ID) > 6 then this.of_writeLogMessagewarning(ids_n3_pointemissionprocessoutput, "Release Point ID's length is > 6. The id will be right trimmed. " + & is_errorMessage + ", Release Point ID = '" + f_msgstring(ls_EMISSION_RELEASE_POINT_ID) + "DAT*P'" ) ls_EMISSION_RELEASE_POINT_ID = right(ls_EMISSION_RELEASE_POINT_ID, 6) end if ls_PROCESS_ID = lnv_export.object.emission_process_id[ll_row] if len(ls_process_id) > 6 then this.of_writeLogMessagewarning(ids_n3_pointemissionprocessoutput, "Process ID's length is > 6. The id will be right trimmed. " + & is_errorMessage + ", Process id = '" + f_msgstring(ls_process_id) + "'" ) ls_process_id = right(ls_process_id, 6) end if ls_SCC = lnv_export.object.scc_ams_code[ll_rDAT*Row] ls_epaInvalidFlag = lnv_export.object.epa_invalid_flag[ll_row] if ls_epaInvalidFlag = 'Y' then ls_SCC = fill(' ', 10) this.of_writeLogMessagewarning(ids_n3_pointemissionprocessoutput, "EPA invalid flag was set. " + & "Only right most 6 characters will be used: " + is_errorMessage + ", SCC AMS Code = '" + f_msgstring(ls_SCC) + "'" ) end if ls_EMISSION_PROCESS_DESCRIPTION = lnv_export.object.name[ll_row] if isnull(ls_EMISSION_PROCESS_DESCRIPTION) or ls_EMISSION_PROCESS_DESCRIPTDAT*TION = '' then ls_EMISSION_PROCESS_DESCRIPTION = lnv_export.object.comment_text[ll_row] end if if ls_PROCESS_ID <> lnv_export.object.process_id[ll_row] then ls_EMISSION_PROCESS_DESCRIPTION = 'RAPIDS ID= "' + lnv_export.object.process_id[ll_row] + '". ' + ls_EMISSION_PROCESS_DESCRIPTION end if ls_EMISSION_PROCESS_DESCRIPTION = left(trim(ls_EMISSION_PROCESS_DESCRIPTION), 78) //populates the seasonthroughPut array ll_WINTER_THROUGHPUT_PCT = dec(lnv_export.object.winter_throughput_pctDAT*V[ll_row]) ll_SPRING_THROUGHPUT_PCT = dec(lnv_export.object.spring_throughput_pct[ll_row]) ll_SUMMER_THROUGHPUT_PCT = dec(lnv_export.object.summer_throughput_pct[ll_row]) ll_FALL_THROUGHPUT_PCT = dec(lnv_export.object.fall_throughput_pct[ll_row]) ld_rid = lnv_export.object.process_rid[ll_row] ls_find = 'process_rid = ' + string(ld_rid) ll_ANNUAL_AVG_DAYS_PER_WEEK = dec(of_getactivitydata ( 'PROCESS', ld_rid, 'D/W USE RATE', 'value' )) ll_ANNUAL_AVG_WEEKS_PER_YEAR = dec(of_getactiDAT*Xvitydata ( 'PROCESS', ld_rid, 'W/Y USE RATE', 'value' )) ll_ANNUAL_AVG_HOURS_PER_DAY = dec(of_getactivitydata ( 'PROCESS', ld_rid, 'H/D USE RATE', 'value' )) ll_ANNUAL_AVG_HOURS_PER_YEAR = dec(of_getactivitydata ( 'PROCESS', ld_rid, 'H/Y USE RATE', 'value' )) ld_SULFUR_CONTENT = dec(of_getactivitydata ( 'INSTREAM', ls_find, 'S CONTENT', 'value' )) ld_ASH_CONTENT = dec(of_getactivitydata ( 'INSTREAM', ls_find, 'ASH CONTENT', 'value' )) //ls_tribalcode = lnv_export.object.tribal_code[ll_row] DAT*Z //insert data into acp datastore ll_rc = ids_n3_pointemissionprocessoutput.of_addRow(ls_RECORD_TYPE, ls_STATE_COUNTY_FIPS, ls_state_facility_identifier, ls_EMISSION_UNIT_ID, & ls_EMISSION_RELEASE_POINT_ID, ls_PROCESS_ID, ls_SCC, ls_PROCESS_MACT_CODE, & ls_EMISSION_PROCESS_DESCRIPTION, ll_WINTER_THROUGHPUT_PCT, & ll_SPRING_THROUGHPUT_PCT, ll_SUMMER_THROUGHPUT_PCT, ll_FALL_THROUGHPUT_PCT, & ll_ANNUAL_AVG_DAYS_PER_WEEK, ll_ANNUAL_AVG_WEEKS_PER_YDAT*\EAR, & ll_ANNUAL_AVG_HOURS_PER_DAY, ll_ANNUAL_AVG_HOURS_PER_YEAR, ld_HEAT_CONTENT, & ld_SULFUR_CONTENT, ld_ASH_CONTENT, ls_PROCESS_MACT_COMPLIANCE_STATUS, & ls_SUBMITTAL_FLAG, ls_tribalcode) //if addrow is unsuccessful then exit loop if ll_rc < 0 then exit else ll_totalCount++ end if next is_errorMessage = '' return ll_totalCount end function public function decimal of_roundnumber (decimal ad_number, integer ai_length);//rounds tDAT*^he number according to the length given so if 10 //and number is 234.5676544444 then equals 234.567654 integer li_pos //position of the period if ad_number > 0 and not isnull(ad_number) then li_pos = pos(string(ad_number),'.',1) if li_pos > 1 and li_pos < ai_length then ad_number = round(ad_number, ai_length - li_pos) end if end if return ad_number end function on n_cst_nei_export.create call super::create end on on n_cst_nei_export.destroy call super::destroDAT*`y end on event destructor;call super::destructor; //destroy cache datastores //07/06/04 - MKC - destroy RAP METRIC LOOKUPS CACHE if isValid(ids_transmittalUserInput) then destroy ids_transmittalUserInput if isValid(ids_source) then destroy ids_source if isValid(ids_stateActivity) then destroy ids_stateActivity if isValid(ids_countyActivity) then destroy ids_countyActivity if isValid(ids_sourceActivity) then destroy ids_sourceActivity if isValid(ids_deviceActivity) then destroy ids_DAT*bdeviceActivity if isValid(ids_processActivity) then destroy ids_processActivity if isValid(ids_inputStreamActivity) then destroy ids_inputStreamActivity if isValid(ids_outputStreamActivity) then destroy ids_outputStreamActivity if isValid(ids_units) then destroy ids_units if isValid(ids_metrics) then destroy ids_metrics if isValid(ids_materialGroups) then destroy ids_materialGroups if isValid(ids_conversionLookupCodes) then destroy ids_conversionLookupCodes if isValid(ids_rapOperatingMonthDAT*ds) then destroy ids_rapOperatingMonths if isValid(ids_emissions) then destroy ids_emissions if isValid(ids_emissionUnit) then destroy ids_emissionUnit if isValid(ids_emissionprocess) then destroy ids_emissionprocess if isValid(ids_emissionReleasePoint) then destroy ids_emissionReleasePoint if isValid(ids_fugitiveReleasePoint) then destroy ids_fugitiveReleasePoint if isValid(ids_siteReleasePoint) then destroy ids_siteReleasePoint if isValid(ids_stateLocationCoordinates) then destroy ids_statDAT*feLocationCoordinates if isValid(ids_countyLocationCoordinates) then destroy ids_countyLocationCoordinates if isValid(ids_sourceLocationCoordinates) then destroy ids_sourceLocationCoordinates if isValid(ids_deviceLocationCoordinates) then destroy ids_deviceLocationCoordinates if isValid(ids_processspecificschedules) then destroy ids_processspecificschedules if isValid(ids_primarykey) then destroy ids_primarykey if isValid(ids_metriclookups) then destroy ids_metriclookups //destroy output fDAT*hile datastores if isValid(ids_transmittalOutput) then destroy ids_transmittalOutput if isValid(ids_siteOutput) then destroy ids_siteOutput if isValid(ids_emissionReleasePtOutput) then destroy ids_emissionReleasePtOutput if isValid(ids_emissionUnitOutput) then destroy ids_emissionUnitOutput if isValid(ids_pointControlEquipmentOutput) then destroy ids_pointControlEquipmentOutput if isValid(ids_pointEmissionOutput) then destroy ids_pointEmissionOutput if isValid(ids_pointEmissionPeriodOutputDAT*j) then destroy ids_pointEmissionPeriodOutput if isValid(ids_pointEmissionProcessOutput) then destroy ids_pointEmissionProcessOutput if isValid(ids_onroadEmissionOutput) then destroy ids_onroadEmissionOutput if isValid(ids_onroadEmissionPeriodOutput) then destroy ids_onroadEmissionPeriodOutput if isValid(ids_areaControlEquipmentOutput) then destroy ids_areaControlEquipmentOutput if isValid(ids_areaEmissionOutput) then destroy ids_areaEmissionOutput if isValid(ids_areaEmissionPeriodOutput) theDAT*ln destroy ids_areaEmissionPeriodOutput if isValid(ids_areaEmissionProcessOutput) then destroy ids_areaEmissionProcessOutput if isValid(ids_n3_transmittalOutput) then destroy ids_n3_transmittalOutput if isValid(ids_n3_siteOutput) then destroy ids_n3_siteOutput if isValid(ids_n3_emissionReleasePtOutput) then destroy ids_n3_emissionReleasePtOutput if isValid(ids_n3_emissionUnitOutput) then destroy ids_n3_emissionUnitOutput if isValid(ids_n3_pointControlEquipmentOutput) then destroy ids_n3_poiDAT*nntControlEquipmentOutput if isValid(ids_n3_pointEmissionOutput) then destroy ids_n3_pointEmissionOutput if isValid(ids_n3_pointEmissionPeriodOutput) then destroy ids_n3_pointEmissionPeriodOutput if isValid(ids_n3_pointEmissionProcessOutput) then destroy ids_n3_pointEmissionProcessOutput if isValid(ids_n3_onroadEmissionOutput) then destroy ids_n3_onroadEmissionOutput if isValid(ids_n3_onroadEmissionPeriodOutput) then destroy ids_n3_onroadEmissionPeriodOutput if isValid(ids_n3_areaControlEquipDAT*pmentOutput) then destroy ids_n3_areaControlEquipmentOutput if isValid(ids_n3_areaEmissionOutput) then destroy ids_n3_areaEmissionOutput if isValid(ids_n3_areaEmissionPeriodOutput) then destroy ids_n3_areaEmissionPeriodOutput if isValid(ids_n3_areaEmissionProcessOutput) then destroy ids_n3_areaEmissionProcessOutput return 1 end event event constructor;call super::constructor;long ll_rc of_settransmittaluserinput() //define activity metric arrays to select for cache datastoreDAT*rs //state is_stateMetric = { 'FIPS CODE', 'ST USPS CODE' } //county is_countyMetric = { 'FIPS CODE'} //device is_deviceMetric = { & 'ID PT AFS', & 'AFS STK TYPE', & 'ID STK AFS', & 'HEIGHT', & 'DIAMETER', & 'DEV AMPERAGE', & 'DEV AREARATE', & 'DEV ENGYRATE', & 'DEV HEATFLOW', & 'DEV HEATRATE', & 'DEV ITEMRATE', & 'DEV MASSFLOW', & 'DEV MASSRATE', & 'DEV PRODRATE', & 'DEV TEMP', & 'DEV VOL ACT', & 'DEV VOL RATE', & 'DEV VOLTAGE', & 'MASS RATIDAT*tO', & 'MASS/AREA', & 'MASS/AREAACT', & 'MASS/ITEM', & 'VOL CAPACITY', & 'VOL/ITEM', & 'WIDTH'} //process is_processMetric = { & 'ID PRO AFS', & 'EPA CNTL CO', & 'CNTL CO GRP', & 'H/Y USE RATE', & 'H/D USE RATE', & 'W/Y USE RATE', & 'D/W USE RATE', & 'PRO HEATRATE'} //input stream is_inputStreamMetric = { & 'S CONTENT', & 'ASH CONTENT'} //output stream is_outputStreamMetric = { & 'CAPT EFFIC', & 'CAPT EFF GRP', & 'CNTL EFFIC', & 'CNTL EFF GRP', &DAT*v 'MASS FLOW', & 'DISCHARGE', & 'DOWNSTRMDIS', & 'ID FUG AFS', & 'STR TEMP', & 'VELOCITY', & 'VOL RATE', & 'RELEASE HT', & 'RULE PENET', & 'RULE EFFECT'} //throughput //is_throughputMetric = {} //populated in of_loadCacheData() //other //is_otherMetric = {} return 1 end event event ue_initialize; //startup code for the nei export object //configures datastore/file objects and initializes nei export object long ll_rc long ll_empty[] integer li_i integDAT*xer li_startYear, li_endYear string ls_referenceCode string ls_fileType string ls_empty[] u_ds_base lds_stateRids TriggerEvent("ue_" + is_file_system_version + "_initialize") this.of_writeStatusMessage("Initializing NEI Export . . .") //INITIALIZE SHARED OBJECT DATA //This will control where all data is saved for n_ds_export and nvo_cache_base objects //We are using the log file object to set the shared values, //so the log file name is also set here ll_rc = ids_logFile.of_DAT*zsetBasePathName(iw_export.sle_dir.text, iw_export.sle_name.text) if ll_rc < 0 then return -1 end if is_exportPath = ids_logFile.of_getPath() //Register the master export object with conversion and cache datastore objects //(via the shared class variables in the ids_logFile instance) ids_logFile.of_register(this) //share log data with the visible datawindow ids_logFile.shareData(iw_export.dw_log_file) //CREATE OR RESET CACHE DATASTORES ll_rc = this.of_createCacheDatastores() DAT*|if ll_rc < 0 then return ll_rc elseif ll_rc = 0 then of_writeLogMessage("Could not Create Cache Data Stores") this.of_writeStatusMessage("Cancelled: " + "Could not Create Cache Data Stores" ) return 0 end if //CHECK FOR USER INPUT WITHIN A SINGLE STATE //create state rid datastore lds_stateRids = create u_ds_base if not isValid(lds_stateRids) then signalError(-1,"failed creating datastore 'lds_stateRids'") return -1 end if lds_stateRids.dataObject = "d_data_set_state_rid_DAT*~array" lds_stateRids.setTransObject(SQLCA) //modify state rid datastore sql to work with current source selection ll_rc = iw_export.uo_ss.iclass_group.of_modObjectSQL(lds_stateRids) if ll_rc < 0 then signalError(-1,"of_modObjectSQL(lds_stateRids) failed.") return -1 end if //retrieve state rids setPointer(hourglass!) ll_rc = lds_stateRids.retrieve( & iw_export.uo_ss.iclass_group.il_nationArray, & iw_export.uo_ss.iclass_group.il_stateArray, & iw_export.uo_ss.iclass_group.il_cDAT*ountyArray, & iw_export.uo_ss.iclass_group.il_sourceArray) if ll_rc < 0 then signalError(-1,"lds_stateRids.retrieve() failed.") return -1 end if if ll_rc > 1 then messageBox("NEI Export", "NEI Export can only process selections within a single state. " +& "Please limit Source Selections to one state.", none!) of_writeLogMessage("NEI Export can only process selections within a single state. " +& "Please limit Source Selections to one state.") this.of_writeStatusMessage(DAT*rb_overx @Nchecked ib_overwritelogfile iib_overwritefiles jrb_append AO  i j i jii_submissionnumber lids_transmittaluserinput0 4#@incremental_submission_numberis_defaultreleasepointtype x0 4#@release_point_typeis_defaultdatalevel w0 4#@data_levelis_rollupconfidential y0 4#@rollup_confidentialis_submittalfDAT*lag` z0 4#@submittal_flag` z` zids_stateactivity <+:`is_stateuspscode _RST USPS CODEvalueof_getactivitydatan@@ _ERROR: Missing STATE USPS CODE for n@V.kVV!nis_statefipsq ^RFIPS CODEn@@ ^ERROR: Missing STATE FIPS CODE for n@VCancelled!n <+,!nof_synchronize, $ H   DAT*        $ , @ H \ d l        `          4 < D L d l t |       |          0 X l t       DAT*    $ < X ` t          0 H P h               ( 0 8 @ \ d |          4 < L ` h p       DAT*      ( L T |         , 4 < X t |         ( 0 ` l t |           $ < LMONP$./01234567 8 9 DAT*: ; <=>?@ABCDEFGHIJKLM N!O"P#Q$R%S&T'U(V)W*X+Y,Z-[.\/]0^1_2`3a4b5c6d7e8f9g:h;i<j=k>l?m@nAoBpCqDrEsFtGuHvIwJxKL2  +ue_nif2_initialize+ue_nif3_initialize+ue_nif2_resetoutputfiles+ue_nif3_resetoutputfilesDAT*+ue_nif2_export+ue_nif3_export+ue_nif2_loadtransmittaluserinput+ue_nif3_loadtransmittaluserinput+ue_nif3_savetransmittaluserinput+ue_nif2_savetransmittaluserinput+ue_nif3_validatetransmittaluserinput+ue_nif2_validatetransmittaluserinput+ue_nif3_settransmittaluserinput+ue_nif2_settransmittaluserinput+ue_nif2_saveoutputfiles+ue_nif3_saveoutputfilesof_exportsiteof_loadcachedataof_getactivitydataof_exporttransmittalof_loadtransmittaluserinputof_savetransmittaluserinputof_setfilenameDAT*sof_exportof_createcachedatastoresof_getfilenameindex_oldof_getfilenameindexof_getfilenameof_exporteuof_exportepof_loadcacheblockdataof_resetoutputfilesof_exportep_getthroughputsof_exportep_checkmonthamountsof_exporterof_convertdoublevalueof_exporter_findandconvertunitsof_exportceof_exportpe_processdatalevelof_exportpe_sitedatalevelof_exportem_sitedatalevelof_exportem_getsitetotalsof_checkmetricof_writelogpollutantsof_exportep_areaof_exportce_areaof_exportpe_areaof_exporteDAT*m_areaof_exportpe_onroadof_exportem_onroadof_settransmittaluserinputof_validatetransmittaluserinputof_n2_getfilenameof_n3_getfilenameof_saveoutputfilesof_n3_exporttransmittalof_n3_exportsiteof_n3_exporteuof_n3_exporterof_n3_exportceof_n3_exportpe_processdatalevelof_n3_exportpe_sitedatalevelof_n3_exportem_processdatalevelof_exportem_processdatalevelof_n3_exportem_sitedatalevelof_n3_exportep_areaof_n3_exportce_areaof_n3_exportpe_areaof_n3_exportem_areaof_n3_exportpe_onroadof_nDAT*3_exportem_onroadof_n3_exportepof_roundnumberf_msgstring+create+destroy+destructor+constructor+ue_initialize0Jdt   2 X y DAT*!o@o@ /!K!Ao@[o@ye!~!o@o@!a!o@o@!!!o@ o@8!!a4"!o@@#o@PageV$saragov%poody&'8(\)\*XP+HDAT*,-./t_msg#0wfchan41 sutinE2V3-i4PEorit|56$789:%;<&=)5>D?Rd@88A:B8CDDAT*EF%G+H8AI$WJfKuAuAuANeuAn uAuA>uAuA3uAuAt uAveuA%uAuAuA8uAuAuAuDAT*AuA6uA3uArgetuA tatuuAs_us uAl_end uAuAuAuAuAuAuAuAuAuAuAuAuAuAuAuAuAuAuDAT*AuAuAuAuAuAuAuAuAuAuAuAuAuAuAuAuAuAuAuAuAuAuAuAuAuADAT*uAuAuAuAuAuAuAuAuA^_uAn@n@uAcduAn@n@uAhiuAn@n@uAmnuAn@n@uArsuAn@n@uAwxuAn@n@uAuAuAuAuADAT*uA>uAuAuA>uAuA uAuAuAuAuAuA?uA?uAuAuA/uAuAuAFuAuAuAuA uAuADAT*utoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=15 alignment="0" tabsequence=150 border="0" color="33554432" x="8933" y="8" height="76" width="731" format="[general]" html.valueishtml="0" name=annual_avg_hours_per_year visible="1" edit.limit=4 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yesDAT* edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=16 alignment="0" tabsequence=160 border="0" color="33554432" x="9673" y="8" height="76" width="343" format="[general]" html.valueishtml="0" name=heat_content tag="decimal(0)" visible="1" edit.limit=8 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="ADAT*rial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=17 alignment="0" tabsequence=170 border="0" color="33554432" x="10025" y="8" height="76" width="370" format="[general]" html.valueishtml="0" name=sulfur_content tag="decimal(0)" visible="1" edit.limit=5 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" foDAT*nt.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=18 alignment="0" tabsequence=180 border="0" color="33554432" x="10405" y="8" height="76" width="325" format="[general]" html.valueishtml="0" name=ash_content tag="decimal(0)" visible="1" edit.limit=5 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family=DAT*"2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) column(band=detail id=19 alignment="0" tabsequence=190 border="0" color="33554432" x="10738" y="8" height="76" width="905" format="[general]" html.valueishtml="0" name=process_mact_compliance_status visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charDAT*set="0" background.mode="1" background.color="536870912" ) column(band=detail id=20 alignment="0" tabsequence=200 border="0" color="33554432" x="11653" y="8" height="76" width="366" format="[general]" html.valueishtml="0" name=submittal_flag visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.colorDAT*="536870912" ) column(band=detail id=21 alignment="0" tabsequence=210 border="0" color="33554432" x="12027" y="8" height="76" width="288" format="[general]" html.valueishtml="0" name=tribal_code visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" ) htmltable(border="1" ) htmlgenDAT*(clientevents="1" clientvalidation="1" clientcomputedfields="1" clientformatting="0" clientscriptable="0" generatejavascript="1" netscapelayers="0" ) DAT*uA uAuAuAuAuAuAuAuAuAuAuAuAuAuAuAuAuAuAuAuAuAuAuAuADAT*uAuAuAuAuAuAuAuAuAuAuAuAuAuAuAuAuAuAuAuAuAuAuAuAuADAT*uAuAuAuAuAuAuAuAuAuAuAuAuAuAuAuAuAuAuAuAuAuAuAuAuADAT*uAuAuAuAuAuAuAuAuAuAuAuAuAuAuAuAuAuAuAuAuAuAuAuAuADAT*uAuAuAuAuAuAuAuAuAuAuAuAuAuAuAuAuAuAuAuAuAuAuAuAuADAT*uAuAuAuAuAuAuAuAuAuAuAuAuAuAuAuALMNOP2 is_fipsmetriccodeis_stateuspsmetriccodeii_pointii_areaii_mobileDAT*ib_debugib_perf_debugii_loglinelengthii_filetypecountis_filetypesyistr_neifilenamesis_existingfilenamesis_sourcesortstringil_blockil_startrowil_endrowil_sourceridarray{is_statemetricis_countymetricis_sourcemetricis_devicemetricis_processmetricis_inputstreammetricis_outputstreammetricis_throughputmetricis_othermetricDAT*ids_areacontrolequipmentoutputids_areaemissionoutputids_areaemissionperiodoutputids_areaemissionprocessoutputids_emissionreleaseptoutputids_emissionunitoutputids_onroademissionoutputids_onroademissionperiodoutputids_pointcontrolequipmentoutputids_pointemissionoutputids_pointemissionperiodoutputids_pointemissionprocessoutputids_siteoutputids_transmittaloutputids_n3_areacontrolequipmentoutputids_n3_areaemissionoutputids_n3_areaemissionperiodoutputids_n3_areaemissionprocesDAT*soutputids_n3_emissionreleaseptoutputids_n3_emissionunitoutputids_n3_onroademissionoutputids_n3_onroademissionperiodoutputids_n3_pointcontrolequipmentoutputids_n3_pointemissionoutputids_n3_pointemissionperiodoutputids_n3_pointemissionprocessoutputids_n3_siteoutputids_n3_transmittaloutputids_transmittaluserinputids_unitsids_metricsids_metriclookupsids_materialgroupsids_conversionlookupcodesids_sourceids_emissionsids_stateactivityids_countyactivityids_sourceactivityids_processaDAT*ctivityids_deviceactivityids_inputstreamactivityids_outputstreamactivityids_emissionunitids_emissionprocessids_emissionreleasepointids_fugitivereleasepointids_sitereleasepointids_rapoperatingmonthsids_statelocationcoordinatesids_countylocationcoordinatesids_sourcelocationcoordinatesids_devicelocationcoordinatesids_processspecificschedulesids_primarykeyil_stateridarrayil_countyridarrayil_sourceunknowntypeil_stateridil_countyridil_sourcerDAT*idil_sourcerowis_statenameis_countynameis_sourceidis_nif_version_numberis_nif_cvl_pollutant_code_nameis_file_system_versionis_tribalcodeis_statecountyfipsis_statefipsis_stateuspscodeis_countyfipsis_siteidii_formattypeis_sourcetypeis_sourcetypevalueis_sourcetypecodeis_sourcetypelogis_sourcetypelogmidis_exportpathib_overwritelogfileib_overwritefilesii_yearii_submissionnumberidt_startdatetimeidt_enddatetimeis_2dyearis_pollutantsia_pollutantblocksDAT*is_referencecodeis_unitcodeis_sourceidprefixis_datacodenullis_datacoderois_defaultdatalevelis_defaultreleasepointtypeis_rollupconfidentialis_submittalflag,Hd$@   Yc1:BLUcHtDAT*/// ,/H8/dT/p///ph/le/rs$/po@0/Ltak l  ro ou  ws(DAT* H`~?z^&x+  7!I"b#{$%|&t#'DAT*()*+,2-!. 5/H0`1y2 34567$8ey97:U;Nes<n =/>//3DAT*"Cancelled: " + "Please limit Source Selections to one state.") return 0 else //set values for state rid and state rid array il_stateRidArray = ll_empty il_stateRid = lds_stateRids.object.state_rid[1] il_stateRidArray[1] = il_stateRid is_stateName = lds_stateRids.object.state_name[1] end if if isValid(lds_stateRids) then destroy lds_stateRids end if //CHECK FOR STATE LOCATION COORDINATES ll_rc = ids_stateLocationCoordinates.of_populate() if ll_rc < 0 then return ll_rc DAT* t ve&%3@N8Zp3ettu d  , > O c q  - DAT*     / / - 9 K [ 2i }   MH83`33333(3P3x3333 3DAT*      !"#$%&'()*+,-./0123456789:;<=@ 3h 3 3DAT* 3 3./0x0J1d 2DAT*t 34567  8 29 X: y; <DAT*=>?< @!A6BRCnD~$E\DFDAT*x`G|HIJ#K9LoM N!! O""P##DAT*#,Q$$C R%%O S&&l T'' U((lHV))tW**X++Y,,Z--DAT*[..\//& ]007 ^11H _22Y `33l a44b55 c66xd77xe88DAT*f99g:: h;;i<<) j==8 k>>G l??g m@@ nAA oBB DAT*pCCqDD rEE sFF tGG. uHHD vIIZwJJ}H0xKKLPLLQMDAT* RN SOLTPDAT*ii_logy rPny+8ii_logheightDsPnheightdii_logwidthttPnwidthom $ < D L T px            ( 0 < T \ l     T$  $,5:1H,5($ d ::messageDAT*5@t0 inv_neiexportpqpq  (  &wxyz{FG&2 | wf_setexportlistuof_initializewf_rpt_levelwf_get_city_ridwf_parsename+closequery+create+destroy+open+close(5ER^fou DAT*2  widthheighttitlebartitlecontrolmenuminboxmaxboxresizablewindowstatebackcoloriconcb_show_nei_logcb_cancelcb_nei_parmsdw_unit_codedw_ref_codecb_clear_filterst_wheresle_filter_tablemle_filtercb_filteruo_pollutantuo_emis_periodst_7ddlb_file_systemst_4sle_export_statusst_source_id_prefix_textsle_source_id_prefixdw_listuo_mainst_numselectedrb_promptrb_overrb_appendcb_exitcb_exportst_3cb_selectst_2sle_namest_1sle_dircb_removecb_addDAT*gb_1uo_sscbx_fac_idlb_exportlistdw_log_fileis_file_systemis_directoryis_filenameii_levelis_errormessageis_headeril_device_ridil_process_ridil_nation_ridil_state_ridil_county_ridil_city_ridil_source_ridistr_types_ridsis_prefixis_geo_levelil_rid_countidt_startidt_endis_ref_codeis_unit_codeis_emittantsia_emittantblocksis_strip_src_idis_file_system_versionib_exp_conf_str_actib_exp_stream_act_glnpois_as_rois_as_nullis_rpt_levelistDAT*r_all_ridsinv_neiexportii_logxii_logyii_logheightii_logwidth4T $07>HT^+c s }    " & )onDAT* *d@ , 6mi > @ A! B+ CD DY Fa Hi Ktex M Nnt Oh_ P Q R S Trt U V Wou Xie YgrDAT* [ ] kox m  n` -u'9BR\@jy1/o!$DAT*4'/T@/`p<nEpatq ] o   1+DAT* @@@      " & ) * , 6 > @ A B C D F H K M N O P Q R S T U V W X Y [ ] k m n`uDAT*3o303pq w($xC4(xyP7zxT<{xDAT*Gzzx&x F$ 0$}8$DT$}\$l$}$$}$)8#@$$)8$$$)<8DAT*L$\$p$x$z%8z&@$$$$6$$6)8<11$$)8$$:@) 8($0$9)P8X$`$1)x8<$$:@)811$$)DAT*8$$$)8$9}$9},51,5$&L r d 8 b!"#%&*0@1^4|d+ ll_rcls_logfilepathname::message< !5@t$ dw_log_filePnxii_logx(qPny@ii_logyLrPnheightdDAT*ii_logheightametsPnwidthtii_logwidthtinv_neiexportpqof_getrun&pqids_logfileof_basepathnamesetpqof_getpathname,sle_dirDIWtext@!Tsle_namedGUT.logpqDIWTdGUTof_setbasepathnamepqof_fileexistspqof_setfileaccesse_e pqof_setloadblanklinesns_8pqDAT*of_loadfromfilehpq pqof_resetlapqPnsharedataPnbringtotopd Pnvisible   0 8 D T \ l           $ < L \ p x               ( 0 DAT* P X ` x                ""2  +clicked2 e visiblexywidthheighttabordertextsizeweightfontpitchfontfamilyfacenameenabledtextiT!*3:DAT* DOXX`f] iT @X fx"h$9),8<9},5N1\,5D$ 4d ::messageDAT*5@tL inv_neiexportpqof_setrun_l enabled4 , < D ""2  +clickedtype f2 e visiblexywidthheighttabordertextsizeweightfontpitchfontfamilyfacenameenabledtextrT!*3:DDAT*OXX`v] rT @X vx":$<$@8D$)h8,5h1v,5p$2 Nd/ w_nei_transmittal_useDAT*r_input::message(:@x%5@tx( inv_neiexportpqids_transmittaluserinput 4#pqof_savetransmittaluserinputCL < D h p ""2  +clickedtyperm2 ] visiblexywidthheighttabordertextsizeweightfontpitchfontfamilyfacenametexti|TDAT*!*3:DOXX}] i|T @X @}x"L%OP'-/10.2  2 * visiblexywidthheightDAT*taborderx i`!x]  i`x @ a   L%2  2 * DAT* visiblexywidthheighttaborderxE`p!] E`p @   @ $,840@$H840X9},5DAT*v1,5`$$H\d ::message5@th0 sle_filter_table1&textmit$mle_filter52)$visibleP , @ H X ` " "2  +clickedtypefi2 ] visiblexywidthheighttabordertextsizeweightfontpitchfontfamilyfacenametextDAT*@T!(*3:DOXX] @T( @X @x"2  2 visiblexywidthheighttextsDAT*izeweightfontpitchfontfamilyfacenametextcolorbackcolorenabledtextalignmentfocusrectangle@eD!*1;FXOYckp#z] eD DAT* @X #$@2  2 { visiblexywidthheighttextsizeweightfontpitchfontfamilyfacenametextcolorbackcolordisplayonlyborderstyleL!*1DAT*";FXOYco] L E@X @ @@'@2  2 visiblexywidthheighttextsizeweightfontpitchfontfDAT*$amilyfacenametextcolorbackcolorenabledautovscrolldisplayonlyborderstyle@!*1;FX@OYckw]  EDAT*&X  @#'1@:F@@8=$@8,5 $68(#!<$L6`$h,36$9},51,5$DAT*(B\z dB ls_rtn_tbl_namew_export_filtermessagegs_filt::messaged =@z(5@t03@85@tH lb_exportlistOmsle_filter_table)1&textDmle_filterT2)Dcb_clear_filterp/ visible  < L ` h    "*"2  +clickedtypeDAT** f2 ] visiblexywidthheighttabordertextsizeweightfontpitchfontfamilyfacenametexteT!*3:D@OXX] eT @XDAT*, @x"+8d  destroy,2  +destroy2 $ visiblexytaborderborderd] e` @DAT*.@-1    @   . / 0 1 2 3 43(3z58d  destroy62  +destroy2 * visiblexywidthtaborderborderxDAT*0,@#] ,@ @@-P1    @   7 8 9 : ; < =z2  DAT*2 2 w xywidthheighttextsizeweightfontpitchfontfamilyfacenametextcolorbackcolorenabledtextfocusrectangle. < 7L"@)3>XGQ[cxh] o.<7L DAT*4@X x#$@~($6H9}P$68XHt$$/)88080$9}0$89}L$T9}h$p9}DAT*6$9}$9}$9}$9}$9},$49}T$\9}t$|9}$9}88080$9}$9}$9}$9}$9} $DAT*8(9}0$89}@$H9}P$X9}`$h9}p$x9}$9}$9}8*$$/)880809}$9}$9} $(9}0$89}@$DAT*:H9}P$X9}`$h9}p$x9}$9}$9}$9}$9}$9}8&$$/)8 8080 $(9}0$89}@$H9}P$X9}`DAT*<$h9}p$x9}$9}$9}$9}$9}$9}$9}$9}8" $ $/)$8,840@80H$P9}X$`9}h$p9}x$9}DAT*>$9}$9}$9}$9}$9}$9}$9}$9}$9}8 8$@$/)X8`8h0l8t0$)8$9}$9}$9}DAT*@$9}$9}$ 9}$9}$$,9}4$<9}D$L9}T$\9}d$l9}|$$$z%8z&3@38 $9} $9}$9}$)88 $DAT*B $/)8 8@ 8h0H 8P 0X $)` 8h $p 9}x $ 9} $ 9} $ 9} $ 9} $ 9} $ 9} $ 9} $ 9} $ 9} $ 9} $ 9}( $0 $8 $DAT*Dz%8z&3@38:@ $H 9}XP $X 9}` $h 9}p $)x 88 8 " $ $/) 8 8 0 80 $ 9} $ 9} $ 9} $ 9}( $0 9}8 $@ 9}H $P 9}DAT*FX $` 9}h $p 9}x $ 9} $ 9} $ 9} $8  $ 9} $ 9} $  $6 $) 8 $8$ 0)< 8,5d1r,5D $ 4 L ` 6Tr&D\v !DAT*H"#$%&&D'b()*+,12.3X4r56789:;6<T=r>?@ABD&E>FhGHIJKLM2NPOnPQRSTV"W:XdY~Z[\]^ _. `L aj b c d e f h i6 j` kz l m n o p q( rF sd t u v w x y z^ {| | ~  4 N j <Zx6:Xv8Vt (FdDAT*J$Jd indexcase10::message< 5@tL H is_file_systemQtext ib_exp_stream_act_glnpo0kQRAPIDS - Data Tablesuo_ssmM]iclass_group|,$mM]|,$of_setdatalevel'is_filenameSEXPORTis_file_system_versionicb_filteri3*visible sle_filter_tableng 1& mle_filter@2) st_wheDAT*Lre\0" uo_emis_periodsx56 uo_pollutantte4, dw_ref_code. dw_unit_code- cbx_fac_idNk st_source_id_prefix_text:C sle_source_id_prefixr<;D cb_nei_parms d, cb_show_nei_log* RAPIDS - Reference TablesxSi3* 1& @2) \0" x56 4, . - NkDAT*N :C <;D d, * RAPIDS - GLNPO TablesmM]|,$mM]|,$'SGLNPOi0k3* 1& @2) \0" x56 4, . - Nk :C <;D d, * RAPIDS - GIS ExportmM]|,$mM]|,$'SGISi3* 1& @2) DAT*V\0" x56 4, . - Nk :C <;D d, * RAPIDS - Data MartmM]|,$mM]|,$'SDATA_MARTi3* 1& @2) \0" x56 4, . - Nk :C <;D d, * RAPIDS - NEI Export (NIF 2.0)mM]|DAT*R') AddItem(is_filename + '.DSO Data Mart Sources') AddItem(is_filename + '.DSG Data Mart Source Geo Groups') AddItem(is_filename + '.DTH Data Mart Throughputs') case 'RAPIDS - GIS Export' // GIS data AddItem(is_filename + '.GSF GIS Facilities') AddItem(is_filename + '.GSE GIS Emissions') case 'RAPIDS - NEI Export (NIF 2.0)','RAPIDS - NEI Export (NIF 3.0)' // NEI data AddItem('NEI Point Sources') AddItem('NEI Area Sources') AddItem('NEI Onroad Sources') AddIDAT*Ttem('NEI Nonroad Sources') case 'GEMAP Area Sources' AddItem(is_filename + '.AR Area Source Emissions') case 'GEMAP Point Sources' AddItem(is_filename + '.PT Point Source Emissions') end choose cb_add.TriggerEvent(clicked!) end event event selectionchanged;int li_Num li_Num = TotalSelected() st_numselected.Text = String(li_Num) end event on constructor;// Update the export list with the new file names lb_ExportList.TriggerEvent("SetList") end on type dDAT*w_log_file from datawindow within w_export boolean visible = false integer x = 18 integer y = 32 integer width = 2885 integer height = 1596 integer taborder = 150 boolean titlebar = true string title = "NEI Export Log" string dataobject = "d_ds_log_file" boolean controlmenu = true boolean hscrollbar = true boolean vscrollbar = true string icon = "NEW_EXP.ICO" boolean livescroll = true borderstyle borderstyle = stylelowered! end type event resize; integer li_pad = 32 //if mDAT*X,$mM]|,$'SNEIiNIF2inv_neiexportypqof_settransmittaluserinputb3* 1& @2) \0" x56 4, . - Nk :C <;D d, sle_dirtIW S.log*enabled** -of_setneiunitslistRAPIDS - NEI Export (NIF 3.0)mM]|,$mM]|,$'DAT*ZSiNIF3ypqb3* 1& @2) \0" x56 4, . - Nk :C <;D d, tIW S*** -GEMAP Area SourcesGEMAP Point SourcesmM]|,$mM]|,$'SGEMAPi3* 1& @2) \0" x56DAT*\ 4, . - :C <;D d, * QNk Nk sle_name GU Slb_exportlist Omreset5 OmSetListtriggerevent$ ,  ( H P t         0 8 L T h p         DAT*^  , 4 T \ t |                 ( 0 8 @ H P X ` h p x                   ( 0 8 @ H P X ` h p x  DAT*`                   ( 0 8 @ H P X ` h p x                    $ , @ H P X ` h p x        DAT*b            8 @ H P X ` l                  $ , 4 < D L T \ d l |             ( 0 8 @ H DAT*d X ` h p x                      ( 0 8 @ H P X ` h p x                ( 0 8 @ H P X ` h p x DAT*f                 < D 0@502  +selectionchanged2  xywidthheighttabordertextsizeweightfontpitchfontfamilyfacenametextcolortextsorteditem borderstylel,i 8  "DAT*h+2<GXPZ_lfp1x] oi8  E@X @@@1|0DAT*j52  2 xywidthheighttextsizeweightfontpitchfontfamilyfacenametextcolorbackcolorenabledtextalignmentfocusrectangle,) d <")3>XGQ[ch#@r] DAT*l o)d< @X #$@2  2 ~ xywidthheighttabordertextsizeweightfontpitchfontfamilyfacenametextcolorautohscrolldisplayonlyborderstyle)  LDAT*n"+2<GXPZfr] o)L E@X @@ @'@2  2 wDAT*p xywidthheighttextsizeweightfontpitchfontfamilyfacenametextcolorbackcolorenabledtextfocusrectangle2  @")3>XG@Q[ch] o2@ DAT*r@X #$@$8$#"n,>68$08+04$6@8,51,5<$.nd gs_inifile::message(>@5@tD text6exportprefixDAT*t  4 <  $0,>68808?08F0@8,5l1z,5H$Rd gs_inifile::message(>@5@tP sle_source_id_prefix;Dtext(exportprefix 0 H $D,DL$,2  +modified+constructor(2 DAT*v xywidthheighttabordertextsizeweightfontpitchfontfamilyfacenametextcolorautohscrolltextcaselimitborderstyle, t L2"+2<GXPZf'ou] otL2DAT*x E@X @@ @'@x,x$L2  2 7 visiblexywidthheightdataobjectlivescrolli DAT*z!, ] i  @ @  @ G8d  destroyH2  +destroy2 + visiblexywidthheightbackcolorx DAT*|i !]  i  @@-1    @   I Jz2  2 w xywidthheighttextsizeweighDAT*~tfontpitchfontfamilyfacenametextcolorbackcolorenabledtextfocusrectangle  0"@)3>XGQ[c$h] o0 @XDAT* $#$@2  2 i xywidthheighttabordertextsizeweightfontpitchfontfamilyfacenametextcolorbackcolortext2  Ld"+2<GXPZDAT*d&] o2 Ld @X @&@@2  2 q xywidthheighttabordertextsizeweightfontpitchfontfamilyfacenametextcolorbackcolortextchecked7  `DZDAT*"+2<GXPZd-i] o7`DZ @X @-@@2  2 i xywidthheighttabordertextsizewDAT*eightfontpitchfontfamilyfacenametextcolorbackcolortexti  .DF"+2<GXPZd7] oi.DF @X DAT*@7@@J@8,501>,5$d ::message5@t  "P"2  +clickedtypero2 U xywidthheighttabordertextsizeweightfontpitchfontfamilyfacenametext   rTDAT*"+2<GXP>] o rT @X @>x"$ 9}$8 @$X$h$6e@e81<!8p080@DAT*81$$88p080@81$8$$)<81<x8p08D0@81l$8t$8"$8"$8"$8"$8"*$ )881<8p08@0:)@@DAT*81h |$$|$)89*8p080@81$8$8"$8"$8p0)4891H`$t$|$6@8@8$$$6@8@81<DAT*$1 80$11)8 $11)8($8$HP8X0b\8d0h$8p$8"x$8"$8"H,>6808080@8$880,>68080DAT*$6@8,>6808080@8$8H80,>68080$6@8) 8($)<8}1<# D$\$d$6l$$)8}}/28080d /p808DAT*0d /8 08 0d /$8,08,0d /* D8L08L0d /d d8l08l01}  t$)81< $)8 )8 8$8$8 "! 8080DAT* end if if ids_stateLocationCoordinates.ib_halt then messageBox("NEI Export", ids_stateLocationCoordinates.is_errorMessage , none!) of_writeLogMessage("Error populating the State Location Coordinates." + ids_stateLocationCoordinates.is_errorMessage) this.of_writeStatusMessage("Cancelled: " + "Error populating the State Location Coordinates." + ids_stateLocationCoordinates.is_errorMessage ) return 0 end if if ib_debug then ids_stateLocationCoordinates.of_savetofile(1) end if //DAT*INITIALIZE NEI USER INPUT VARIABLES is_referenceCode = trim(upper(iw_export.is_ref_code)) is_unitCode = trim(upper(iw_export.is_unit_code)) is_sourceIDPrefix = trim(upper(iw_export.is_prefix)) ii_fileTypeCount = iw_export.lb_exportlist.totalItems() is_pollutants = iw_export.is_emittants ia_pollutantblocks = iw_export.ia_emittantblocks //grab the file type selections from the export window is_fileTypes = ls_empty for li_i = 1 to ii_fileTypeCount //process listbox entries to get DAT*file type description if iw_export.lb_exportList.state(li_i) = 1 then iw_export.wf_parseName(iw_export.lb_exportList.text(li_i), ls_fileType) is_fileTypes[upperBound(is_fileTypes) + 1] = ls_fileType end if next ii_fileTypeCount = upperBound(is_fileTypes) //grab the dates from the export window idt_startDateTime = datetime(date(iw_export.uo_emis_period.em_start.text)) idt_endDateTime = datetime(date(iw_export.uo_emis_period.em_end.text), time("23:59:59.999999")) //validate stDAT*art year and end year li_startYear = year(date(idt_startDateTime)) li_endYear = year(date(idt_endDateTime)) if li_startYear <> li_endYear then messageBox("NEI Export", "Start Date and End Date must be in the same year.", none!) of_writeLogMessage("Start Date and End Date must be in the same year.") this.of_writeStatusMessage("Cancelled: " + "Start Date and End Date must be in the same year.") return 0 end if //set the inventory year and 2 digit inventory year in the nei object ii_yDAT*ear = li_startYear is_2dYear = right(string(ii_year), 2) //set inv_export instance variable for append/overwrite export files if iw_export.rb_over.checked then ib_overwriteLogFile = true ib_overwriteFiles = true elseif iw_export.rb_append.checked then ib_overwriteLogFile = false ib_overwriteFiles = false else setNull(ib_overwriteLogFile) setNull(ib_overwriteFiles) end if //set the incremental submission number ii_submissionNumber = ids_transmittaluserinput.object.incrementaDAT*l_submission_number[1] //set values for default release point type, rollup level and submittal flag information is_defaultReleasePointType = upper(trim(ids_transmittaluserinput.object.release_point_type[1])) is_defaultDataLevel = upper(trim(ids_transmittaluserinput.object.data_level[1])) is_rollupConfidential = upper(trim(ids_transmittaluserinput.object.rollup_confidential[1])) is_submittalFlag = upper(trim(ids_transmittaluserinput.object.submittal_flag[1])) if is_submittalFlag = "" then DAT* setNull(is_submittalFlag) end if //LOAD STATE ACTIVITIES CACHE (needed for file name pre-processing) ll_rc = ids_stateActivity.of_populate() if ll_rc < 0 then return ll_rc else //lookup activities for state //state postal code is_stateUSPSCode = trim(string(this.of_getActivityData("state", il_stateRid, is_stateUSPSMetricCode, "value"))) if isNull(is_stateUSPSCode) then //ERROR: log missing state postal code messageBox("NEI Export", "ERROR: Missing STATE USPS CODE foDAT*r " + is_stateName + ".", exclamation!) of_writeLogMessage("ERROR: Missing STATE USPS CODE for " + is_stateName + ".") this.of_writeStatusMessage("Cancelled: " + "ERROR: Missing STATE USPS CODE for " + is_stateName + ".") return 0 end if //state fips is_stateFIPS = trim(string(this.of_getActivityData("state", il_stateRid, is_FIPSMetricCode, "value"))) if isNull(is_stateFIPS) then //ERROR: log missing state fips messageBox("NEI Export", "ERROR: Missing STATE FIPS CODEDAT* for " + is_stateName + ".", exclamation!) this.of_writeStatusMessage("Cancelled") return 0 end if if ib_debug then ids_stateActivity.of_saveToFile(1) end if end if this.of_writeStatusMessage("") this.of_synchronize() return 1 end event DAT*=`{QGLNPO ExportConfidential Stream Activity data is not included in GLNPO Export.QQ:M]t,$il_sourcesub1arraye :M]t,$il_sourcesub2arrayH NEI ExportSource selections will be rolled up to the source level for NEI export.inv_neiexportpqof_validatetransmittaluserinputccb_nei_parmsl(c,clicked" pqof_initialize+( u_ds_base@ {Errorcb_export::clicked(); lds_resultSet object creatDAT*ion failure.dataobject :M]t,$ids_resultsets_  settransobject :M]t,$  :M]t,$  rowcount$ rowscopyss8 Om<|Om=`{is_directoryt RQQrb_prompt ?M0Append or OverwriteOverwrite ?rb_over @N0t Rsle_export_status 9B`wf_rpt_levely is_rpt_level8 nNONEds_8 n:M]t,$:M]t,$DAT*:M]t,$:M]t,$:M]t,$:M]t,$CITY`8 n:M]t,$of_setdatalevel' :M]t,$of_setbufferdatalevel, :M]t,$of_loadarrays.@ istr_all_rids0X opnation_ridp X opstate_rid$ X opcounty_rid X opsource_rid X opdevice_rid X opprocess_rid NEIcb_cancel1 +visible(  +enabled@  +setfocusX ddlb_file_DAT*systeml 7@@ :M]@ P56@ 4,@ .@ -@ st_source_id_prefix_text$ :C@ sle_source_id_prefix ;D@ ,@ cb_addDKY@ cb_exit\BP@ cb_exporttCQ@ cb_removeJX@ cb_selectES@ rb_append$AO@  @N@  ?M@ Om@ cb_show_nei_log*( *" *@ pqof_export$DAT*\l 7@@ :M]@ P56@ 4,@ .@ -@  :C@  ;D@ ,@ DKY@ \BP@ tCQ@ JX@ ES@ AO@  @N@  ?M@ Om@  +@ dw_log_filePn( :M]t,$H `:M]t,$H X op :M]t,$H X op X op8 nwf_get_city_ridz<uo_mainT=DAT*Huof_exportinit4dT=H4d:M]t,$ `:M]t,$ X op :M]t,$ X op X op8 nz<T=H4dT=H4d:M]t,$il_sourcearrayD`:M]t,$DX op :M]t,$DX op X op8 nz<T=H4dT=H4d:M]t,$il_countyarray`:M]t,$X op :M]t,$DAT*X op X opT=H4d:M]t,$il_statearray`:M]t,$X op :M]t,$X op X opT=H4d:M]t,$il_nationarray,`:M]t,$,X opp :M]t,$,T=H4dT=H4d:M]t,$  reset$ :M]t,$  8 $ w_export::cb_export::clicked(); call to ids_resultSet.RowsCopy() failed.DAT*:M]t,$' :M]t,$, :M]t,$.@ `QQData ExportExport Cancelled.Export Completed!No files to exportQQ 9B` @ X h    $ < l       8 h          4 H ` t |       DAT*      ( 8 P \ h p x            ( < D \ d l              $ 4 < D T \ d t       l t |      DAT*     0 8 @ \      8 L             0 D L T \ d l           0 H X ` h p x             DAT*    ( 0 8 P h |            0 8 H P d               $ , 4 < L T d l                $ ,DAT*_rc end if if ids_stateLocationCoordinates.ib_halt then messageBox("NEI Export", ids_stateLocationCoordinates.is_errorMessage , none!) of_writeLogMessage("Error populating the State Location Coordinates." + ids_stateLocationCoordinates.is_errorMessage) this.of_writeStatusMessage("Cancelled: " + "Error populating the State Location Coordinates." + ids_stateLocationCoordinates.is_errorMessage ) return 0 end if if ib_debug then ids_stateLocationCoordinates.of_savetofile(1) end if DAT* //INITIALIZE NEI USER INPUT VARIABLES is_referenceCode = trim(upper(iw_export.is_ref_code)) is_unitCode = trim(upper(iw_export.is_unit_code)) is_sourceIDPrefix = trim(upper(iw_export.is_prefix)) ii_fileTypeCount = iw_export.lb_exportlist.totalItems() is_pollutants = iw_export.is_emittants ia_pollutantblocks = iw_export.ia_emittantblocks //grab the file type selections from the export window is_fileTypes = ls_empty for li_i = 1 to ii_fileTypeCount //process listbox entries to DAT*get file type description if iw_export.lb_exportList.state(li_i) = 1 then iw_export.wf_parseName(iw_export.lb_exportList.text(li_i), ls_fileType) is_fileTypes[upperBound(is_fileTypes) + 1] = ls_fileType end if next ii_fileTypeCount = upperBound(is_fileTypes) //grab the dates from the export window idt_startDateTime = datetime(date(iw_export.uo_emis_period.em_start.text)) idt_endDateTime = datetime(date(iw_export.uo_emis_period.em_end.text), time("23:59:59.999999")) //validatDAT*e start year and end year li_startYear = year(date(idt_startDateTime)) li_endYear = year(date(idt_endDateTime)) if li_startYear <> li_endYear then messageBox("NEI Export", "Start Date and End Date must be in the same year.", none!) of_writeLogMessage("Start Date and End Date must be in the same year.") this.of_writeStatusMessage("Cancelled: " + "Start Date and End Date must be in the same year.") return 0 end if //set the inventory year and 2 digit inventory year in the nei object DAT*ii_year = li_startYear is_2dYear = right(string(ii_year), 2) //set inv_export instance variable for append/overwrite export files if iw_export.rb_over.checked then ib_overwriteLogFile = true ib_overwriteFiles = true elseif iw_export.rb_append.checked then ib_overwriteLogFile = false ib_overwriteFiles = false else setNull(ib_overwriteLogFile) setNull(ib_overwriteFiles) end if //set the incremental submission number ii_submissionNumber = ids_transmittaluserinput.object.incremDAT*ental_submission_number[1] //set values for default release point type, rollup level and submittal flag information is_defaultReleasePointType = upper(trim(ids_transmittaluserinput.object.release_point_type[1])) is_defaultDataLevel = upper(trim(ids_transmittaluserinput.object.data_level[1])) is_rollupConfidential = upper(trim(ids_transmittaluserinput.object.rollup_confidential[1])) is_submittalFlag = upper(trim(ids_transmittaluserinput.object.submittal_flag[1])) if is_submittalFlag = "" tDAT*hen setNull(is_submittalFlag) end if //LOAD STATE ACTIVITIES CACHE (needed for file name pre-processing) ll_rc = ids_stateActivity.of_populate() if ll_rc < 0 then return ll_rc else //lookup activities for state //state postal code is_stateUSPSCode = trim(string(this.of_getActivityData("state", il_stateRid, is_stateUSPSMetricCode, "value"))) if isNull(is_stateUSPSCode) then //ERROR: log missing state postal code messageBox("NEI Export", "ERROR: Missing STATE USPS CODDAT*E for " + is_stateName + ".", exclamation!) of_writeLogMessage("ERROR: Missing STATE USPS CODE for " + is_stateName + ".") this.of_writeStatusMessage("Cancelled: " + "ERROR: Missing STATE USPS CODE for " + is_stateName + ".") return 0 end if //state fips is_stateFIPS = trim(string(this.of_getActivityData("state", il_stateRid, is_FIPSMetricCode, "value"))) if isNull(is_stateFIPS) then //ERROR: log missing state fips messageBox("NEI Export", "ERROR: Missing STATE FIPS DAT*CODE for " + is_stateName + ".", exclamation!) this.of_writeStatusMessage("Cancelled") return 0 end if if ib_debug then ids_stateActivity.of_saveToFile(1) end if end if this.of_writeStatusMessage("") this.of_synchronize() return 1 end event DAT* @@@N)8($680 T$8\z%)8$8z%)8$8z%)8$8z%)8 $8z%)48<$8Dz%)`8h$8pz%)8$8z%)8DAT*$8z%)8$8z%)8$8z%)(80$88z%)H8P$8Xz%)t8|$8z%)8$8z%)8$8z%)8$8z%)$8,$84z%)P8X$8`z%)8$8z%)8$8z%)DAT*8$8z%)8$8z%) 8($80z%)L8T$8\z%)8$8z%)8$8z%)8$8z%)8$8z%)8 $8(z%)@8H$8Pz%)l8t$8|z%)8$8z%)8DAT*`n_process") //set the file description this.of_setFileDescription("Emission Process Records") //set the nei record type this.of_setNeiRecordType("EP") //override the default name this.of_setFileName("nei_n3_format_point_emission_process") //override the default save as option of no headings this.of_setFileHeadings(true) end event DAT*sinimized, then hide if sizetype = 1 then this.visible = false this.bringToTop = false end if end event DAT*:)@:@1@8}1< l9} t9} z 1}  |$)81< $)8 )8 8$8! 8080@8}  $8$8"  $$0$18$@$\$1DAT*" 8d08o0@8}$)81  $) 81 $)8 81< 19}jL #j 8T 08Z 0:)@@81  $ $ $ $6,1) 8 $ $ $1 $ $ $)0 8:@1:@)D 81DAT*}\#L $)T 81<! \ $)d 8  6 )l 8  $ z%1} $8 $8"# $ $ 63@38!8 08  z%8 z&:)@:@1@8}1< $ $"( $ z%2@28 $DAT*  6 6)0 8H $8P !X $68/}8/}8 /}8,(/}8LL/}8lp/}8 <  $6 $ $) 8 $ $1)( 80 $8 $1)DAT*P 8h $| 1 $ 1 $ 1 $ 1 $ 1 $ 1 1o@o88  $0 9}8 $H 9}P $)d 8 $ 9} $ 9} $ 9} $ 9} $ 9} $DAT* 9} $9}$$,9}4$<9}L$T9}d$l9}$9}$9}$9}$9}$9}$9}$ 9}$$,9}4$)<8D$L9}T$)h8<DAT*169}p$x9}$9}$9}$9}$9}$9}$9}$9}$9}$9}$9} $(9}0$89}@$H9}P$X9}`$h9DAT*}p$x9}$9}$9}$9}9}!$$$1V8l01}$$$<V$$ $$<=8l0$$$,8R4$8 &)L8"\$ DAT*6 6)t8R|$ 6 6)8$$$18L01}$$$<$$$$<=8L0$$8 $8 ) 8$ 6 6)8 $$ 6 6)DAT*,84$<$T$1\8,01}xd$l$t$<|$$$$<=8,0$$8$8 )8$ 6 6)8$ 6 6)8n$$ $1DAT*8 01}0$$$,$<4$<D$L$T$<=8 0\$d$l8t$ 6 6)|8&$$$1v 801}$$$<v $$$DAT*$<=80$$8r  $ 6 6)8~$$$<$1!D801} L$T$\$<!d$lt$|$$<=$ 6 6)8 !$ 6 6)8$$$)DAT*81)8:@$$$1:@)81<")81"8T 088%z%:)@@8P$X$)`8h$p$1)x8$$1)86$8$8"#!##R#8080@8#8080DAT*@8$8T 080@83@8$8$8"#$$ 801 l$%D&l,x78B9V:?@DEFL*NzPWX \d]x_`ab*cDdHgblnp0qJtvxyHZ|.@Rl~ & 8 R d @ DAT* ( ` X  $ 0 ^ j   < j L("J#d$%&'()*+,-$.</H0`1l56789 ;<<\=|>?@BF(GFHdJKLMNOP4QRRpSTUVWX$YBZ`[~]^_cde*j6kTlrmnopqr&sDtbuvwxyz{4}R~p:DAT*"&RV8~ >X6RfbNh F r v   !X!!!!!!T"r"""#0#H#########$$8$p$$d li_indli_rpt_levelli_ss_levelinli_itemsli_answerli_num_emittantll_rcls_leveltypels_filenamels_temp_emittants ls_fullfilels_ddlbfilesystemls_org_levellb_runneiexportlb_exportcanceDAT*llb_overwritelds_resultsetgs_inifilecase139sqlcacase292gs_filt(*,5?OU b n-    {>@DAT*e1@r_r  3@ is_file_systemQRAPIDS - Reference Tablesuo_ss:M]st_result_countH%text`Data Entry IncompletePlease select source(s) for export.sle_dirIW`Please select directory path for export.AAQRAPIDS - NEI Export (NIF 2.0)lb_exportlistOmtotalselected@,Please select file(s) from export list.QGEMAP Area SourcessQGEMAP Point SourcesQRAPIDSDAT* - GLNPO TableseQRAPIDS - GIS ExportQQRAPIDS - NEI Export (NIF 3.0)uo_pollutant4,uf_get_emittants2$Please select emittants.is_emittantsYfia_emittantblockspg4,p*dw_ref_code.uf_get_reference_codesPlease select reference code.QQQdw_unit_code-uf_check_required idt_start<buo_emis_periodP56em_starth$`idt_endcP56em_endDAT*#`YfALLis_ref_coded.getitemstringis_unit_code Une-cbx_fac_idnNkchecked0is_strip_src_id@hYen@hNQQQQis_as_nullmdata code prioritynullnot foundicmm99mis_as_roe_tlROll00luof_initializeexOmtotalitems?0:M]st_data_levelL#`:M]iclass_groupt,$of_getdatalevel%DAT*:M]t,$is_geo_level`NATION:M]t,$STATE`:M]t,$`COUNTY:M]t,$`SOURCE:M]t,$`DEVICE:M]t,$`PROCESSOmstate<|Om=`wf_parsename{STREAM_ACTQRAPIDS - Data Tables@QExport Confidential Stream Activity Data?Do you want to export stream activity data marked as confidential?ib_exp_conf_str_act)UjUjOm<|OmDAT*=`{QGLNPO ExportConfidential Stream Activity data is not included in GLNPO Export.QQ:M]t,$il_sourcesub1arraye :M]t,$il_sourcesub2arrayH NEI ExportSource selections will be rolled up to the source level for NEI export.inv_neiexportpqof_validatetransmittaluserinputccb_nei_parmsl(c,clicked" pqof_initialize+( u_ds_base@ {Errorcb_export::clicked(); lds_resultSet object creatDAT*ion failure.dataobject :M]t,$ids_resultsets_  settransobject :M]t,$  :M]t,$  rowcount$ rowscopyss8 Om<|Om=`{is_directoryt RQQrb_prompt ?M0Append or OverwriteOverwrite ?rb_over @N0t Rsle_export_status 9B`wf_rpt_levely is_rpt_level8 nNONEds_8 n:M]t,$:M]t,$DAT*:M]t,$:M]t,$:M]t,$:M]t,$CITY`8 n:M]t,$of_setdatalevel' :M]t,$of_setbufferdatalevel, :M]t,$of_loadarrays.@ istr_all_rids0X opnation_ridp X opstate_rid$ X opcounty_rid X opsource_rid X opdevice_rid X opprocess_rid NEIcb_cancel1 +visible(  +enabled@  +setfocusX ddlb_file_DAT* systeml 7@@ :M]@ P56@ 4,@ .@ -@ st_source_id_prefix_text$ :C@ sle_source_id_prefix ;D@ ,@ cb_addDKY@ cb_exit\BP@ cb_exporttCQ@ cb_removeJX@ cb_selectES@ rb_append$AO@  @N@  ?M@ Om@ cb_show_nei_log*( *" *@ pqof_export$DAT* \l 7@@ :M]@ P56@ 4,@ .@ -@  :C@  ;D@ ,@ DKY@ \BP@ tCQ@ JX@ ES@ AO@  @N@  ?M@ Om@  +@ dw_log_filePn( :M]t,$H `:M]t,$H X op :M]t,$H X op X op8 nwf_get_city_ridz<uo_mainT=DAT*Huof_exportinit4dT=H4d:M]t,$ `:M]t,$ X op :M]t,$ X op X op8 nz<T=H4dT=H4d:M]t,$il_sourcearrayD`:M]t,$DX op :M]t,$DX op X op8 nz<T=H4dT=H4d:M]t,$il_countyarray`:M]t,$X op :M]t,$DAT*X op X opT=H4d:M]t,$il_statearray`:M]t,$X op :M]t,$X op X opT=H4d:M]t,$il_nationarray,`:M]t,$,X opp :M]t,$,T=H4dT=H4d:M]t,$  reset$ :M]t,$  8 $ w_export::cb_export::clicked(); call to ids_resultSet.RowsCopy() failed.DAT*:M]t,$' :M]t,$, :M]t,$.@ `QQData ExportExport Cancelled.Export Completed!No files to exportQQ 9B` @ X h    $ < l       8 h          4 H ` t |       DAT*      ( 8 P \ h p x            ( < D \ d l              $ 4 < D T \ d t       l t |      DAT*     0 8 @ \      8 L             0 D L T \ d l           0 H X ` h p x             DAT*    ( 0 8 P h |            0 8 H P d               $ , 4 < L T d l                $ ,DAT* 4 < D L T h p x                       ( 0 8 @ H P X ` h p x                     $ , 4 DAT*L \ t |                      $ , 4 < T \ d l t |                    $ , 4 < D L T \ d l t DAT*|                    $ < D L T \ d l t |                P X ` h p x            "Q"2 #DAT*  +clickedf_populate_levelsxtype fcomm@wi w_e@eg = 1@er 170@ w = 3@r 2 U xywidthheighttabordertextsizeweightfontpitchfontfamilyfacenametext   rT"+2<GXPC] oDAT*" rT @X @Cx"2  2 xywidthheighttextsizeweightfontpitchfontfamilyfacenametextcolorbackcolorenabledtextalignmentfocusrectangle,)  4"DAT*$)3>XGQ[cJh*#r*] o)4 @X J*#$@*,"$6,$6DAT*&848I"8c"8y08z0@88080@88080@8@808080@66U@U81<H$863@38`$p9}x$9}1}DAT*(}$1<R@8}1< 1<Yo@o8$,>68080$6@8$8@8}1<$1<Yo@o8$ $6,$840)L8,51 ,5TDAT**$  0 h z.@ %' (,)j*~+,-0&1V2j47:dd li_startli_indexls_dirls_fullfilels_file_extls_file_filtercase9gs_inifile::message ! - 9 H O>@Z5@t\ is_filenameSis_file_systemDAT*,QRAPIDS - Data TablesRAPIDS - Reference TablesRAPIDS - GLNPO TablesAll Files (*.*),*.*RAPIDS - NEI ExportLOGLog Files (*.LOG),*.LOGGEMAP Area SourcesAROutput Files (*.AR),*.ARGEMAP Point SourcesPTOutput Files (*.PT),*.PTSelect Export Directory And FileSQcb_show_nei_logP*enabledhP*hSsle_dirIWtextis_directoryRexportdirRS.@SSsle_name}GUSlb_exDAT*.portlistOmSetListtriggerevent < , @ H ` p x              , L T "S"2  +clickedtype f2 U xywidthheighttabordertextsizeweightfontpitchfontfamilyfacenametext  rT<DAT*0"+2<GXP[] orT< @X @[x"2  2 xywidthheighttextsizeweightfontpitchfontfamilyfacenametextcolorbackcolorenabledtextaDAT*2lignmentfocusrectangle,2  %D")3>XGQ[ceh#r] o2%D @X DAT*4e#$@T$$6,5:1H,5,$ d ::message5@t4 textlis_filenameS $ , $UL$2  +constructor2 } xywidthheighttextsizeweightfontpitchfontfamilyfacenametextcolorenabledautohscrolDAT*6ldisplayonlyborderstyler  eL")3>XGQYeq] oreL E@X @DAT*8 @'@x$L2  2 xywidthheighttextsizeweightfontpitchfontfamilyfacenametextcolorbackcolorenabledtextalignmentfocusrectangle,2 , D")3>XGDAT*:@Q[cph#r] o2, D @X p#$@,>680808#0@84<$6D$8#DAT*<L$63@38#T8#0\8#0,51 ,5d$Ll d gs_inifile::message(>@5@tl@ textexportdiris_directory$R$R$R$R 4 < D L T \ d $WL$2  +constructorDAT*>2 { xywidthheighttextsizeweightfontpitchfontfamilyfacenametextcolorbackcolorenableddisplayonlyborderstyleW $ L")3>XGQ[co] oW$ L DAT*@E@X  @@'@x$L$),8}1}Bx4$9)H88P$:SW@)h8,51,5p$"PtxdDAT*B ili_total::message< 5@tx8 lb_exportlist8Omtotalitems? Omsetstate:<Omtriggerevent X , 4 H P h p "X"2  +clickedtype f2 U xywidthheighttabordertextsizeweightfontpitchfontfamilyfacenametext   rDAT*DT"+2<GX@P{] o rT @X @{x"$),8}1}Bx4DAT*F$9)H88P$1)`8h$:SW@)8,51,5$"Ptxd ili_total::message< 5@tH lb_exportlistOmtotalitems? Omsetstate:<Omsettop;XOmtriggerevent p , 4 H P ` h DAT*H  "Y"2  +clickedtypeom2 U xywidthheighttabordertextsizeweightfontpitchfontfamilyfacenametext  | rT"+2<GXP] o |rT DAT*J@X @x"2  2 l xywidthheighttextsizeweightfontcharsetfontpitchfontfamilyfacenametextcolorbackcolortext)  ")5?JXSDAT*L]g] o) X @@\8d  destroy@1\8}($*1*d ancestorreturnvalue0 DAT*N ue_groupupdatedinv_neiexportpq( ]1]L"#2 " +destroy+ue_groupupdated(2 5 xywidthheighttaborderborderborderstyle.  ")] o. @@-DAT*P1        ^ _ ` a b c d e f g hiz$12  2 visiblexywidthheighttaborderbringtotoptextsizeweightfontcharsetfontpitchfontfamilyfacenDAT*Rametextcolorbackcolortext@)p\!P*5>EQ[fXoy] )p\P XDAT*T @@@N)8($680 T$8\z%)8$8z%)8$8z%)8$8z%)8 $8z%)48<$8Dz%)`8h$8pz%)8$8z%)8DAT*V$8z%)8$8z%)8$8z%)(80$88z%)H8P$8Xz%)t8|$8z%)8$8z%)8$8z%)8$8z%)$8,$84z%)P8X$8`z%)8$8z%)8$8z%)DAT*X8$8z%)8$8z%) 8($80z%)L8T$8\z%)8$8z%)8$8z%)8$8z%)8$8z%)8 $8(z%)@8H$8Pz%)l8t$8|z%)8$8z%)8DAT*Z$8z%)8$8z%) 8$8z%)88@$8Hz%)d88l$8z%)8$8z%)8$8z%)8$8z%)(80$88z%)P8X$8`z%)x8$8z%)8$8z%)8DAT*\$8z%)8$8z%) 8$8z%)088$8@z%)L8T$8\z%)|8$8z%)8$8z%)8$8z%)8 $8 z%)$ 8, $84 z%)D 8L $8T z%)h 8p $8x z%) 8 $8 z%)DAT*^ 8 $8 z%) 8 $8 z%) 8 $8 z%) 8$ $8, z%)@ 8H $8P z%)d 8l $8t z%) 8 $8 z%) 8 $8 z%) 8 $8 z%) 8 $8 z%)0 88 $8@ z%)\ 8d $8l z%) 8 DAT*`$8 z%) 8 $8 z%) 8 $8 z%) 8 $8 z%) 8 $8 z%)0 88 $8@ z%)\ 8d $8l z%) 8 $8 z%) 8 $8 z%) 8 $8 z%) 8 $8 z%) 8$ $8, z%)H 8P $8X z%)x DAT*b8 $8 z%) 8 $8 z%) 8 $8 z%) 8 $8z%)(80$88z%)P8X$8`z%)8$8z%)8$8z%)8$8z%)8$8z%)8$$8,z%)D8L$8Tz%)t8|$DAT*d8z%)8$8z%)8$8z%)8$8z%)8$$8,z%)L88T"l$8\z%)t8|$8z%)8$8z%)8$8z%)8$88z%)8$8Xz%)8$8z%)8$DAT*f8z%)8$8z%)8$84z%)8 $8`z%)8$8z%)$8,$8z%)48<$8z%)D8L$8z%)T8\$80z%)d8l$8\z%)t8|$8z%)8$8z%)8$8z%)DAT*h8$8z%)8$8(z%)8$8Pz%)8$8|z%)8$8z%)8$8z%)88 z $8(z%)D8L$8Tz%)l8t$8|z%)8$8z%)8$8z%)8$8z%) DAT*j8($80z%)T8\$8dz%)88$8z%)8$8z%)888"|8 0)488<0)P88X0)l88t0)88$8z%)88$8z%)8$:W@)0DAT*l8,541B,58$ * > f.V~Fn !"#&6'^()*+,&-N0v12347>8f<=>FHIFJnKLMNO6P^QRSTU&VNWvXYZ[ \> ]f ^ _ ` a b. cV d~ e f g h iF jn k l m n o6 p^ q r s t u& vN wv y z { |~>f.V~6^DAT*n&Nv>f.V~6^&Nv$@\xd' wparamlparamcase7::messageP  5@t@ reset5is_file_systemQRAPIDS - Data Tablesis_filenameES.GEO Geographic Locationsadditem.vES.GGM Geo Location Group Members.vEDAT*pS.COD Reference Codes.vES.ACG Geographic Activities.vES.GLC Geo Location Coordinates.vES.GLG Geo Location Groups.vES.GEF Geo Emission Factors.vES.LEG Legal Entities.vES.CNL Legal Contacts.vES.LCR Legal Contact Reasons.vES.ACL Legal Activities .vES.SRC Sources.vES.SGM Source Group Members.vES.ACS Source Activities.vES.SLRDAT*r Source Legal Entity Relationse.vES.CNS Source Contacts.vES.SCR Source Contact Reasons.vES.SLG Source Location Groups.vES.SLC Source Location Coordinates.vES.DEV Devices.vES.ACD Device Activities.vES.CND Device ContactsN$.vES.DCR Device Contact Reasons.vES.DLG Device Location Groups.vES.DLC Device Location Coordinates.vES.DGM Device Group MembDAT*ters(.vES.CTN Connections.vES.PRO Processes.vES.ACP Process Activities.vES.PRS Process Schedules.vES.PGM Process Group Members.vES.EMF Emission Factors.vES.STR Streams.vES.ACT Stream Activities.vES.GAF Geo Seasonal Adj. Factorsg.vES.GEQ Geo Equipment Countsph.vES.GSU Geographic Surrogates.vRAPIDS - Reference Tables=ES.RAM AccuracDAT*vy Methods_a.vES.RCM Calculation Methods$.vES.RCT Coordinate Calculation Types.vES.RDC Data Codes.vES.RGE Geographic Types.vES.RLT Legal Entity Types.vES.RLC Legal Relationship Codes.vES.RMT Materials.vES.RMS Measurements.vES.RMH Methods.vES.RML Metric Levels.vES.RMO Modes.vES.RDS Operating Daily Schedules.vES.RWS ODAT*xperating Weekly Schedules.vES.RYS Operating Yearly Schedules.vES.RRS Reasons.vES.RFT Reference Types.vES.RSI SIC Codes.vES.RNA NAICS Codes.vES.RSN SIC NAICS Codes.vES.RTC Tier Codes.vES.RVT Value Types.vES.RSO Source Codes.vES.RDE Device Codes.vES.RPR Process Codes.vES.RST Stream Codes.vES.RUN Units.vDAT*zES.RSA SCC-AMS Codes.vES.RSP Generic Speciation Profiles.vES.REF Generic Emission Factors.vES.RGM Geographic Members.vES.RMG Material Group Members.vES.RGT Group Types.vES.RMA Material Aliases.vES.RME Metrics.vES.RLK Metric Lookups.vES.RUT Use Types.vES.RMP Metric Maps.vES.RCP Calculation Protocols.vES.RMM Method MetricDAT*|s.vES.ROD Operating Days.vES.ROH Operating Hours.vES.ROM Operating Months.vES.RSM SCC-AMS Materials.vES.RSR SCC-AMS Relationships.vES.RSC SCC-AMS Speciation Codes.vES.RSF Speciation Split Factors.vES.RFO Form Types.vES.RAC AirCraft Categories.vES.RTI AirCraft default Time-in-mode.vES.RAE AirCraft Engines.vES.RAF AirCraft EmissiDAT*~on Factors.vES.RVE Vehicle Types.vES.RAT Area Facility Types.vES.RSE Season Codes.vES.RVC Vehicle Categories.vES.RSU Surrogate Codes.vES.RSG SCC-AMS Surrogate Codes.vES.RDF SCC-AMS Default Factors.vES.RCL Conversion Lookup Codes.vES.RET Emission Types.vES.RRT Roadway Types.vES.RAR Area Facility Road Types<.vRAPIDS - GLNPO TablesDAT*ES.vES.vES.vES.vES.vES.vES.vES.vES.vES.vES.vES.vES.vES.vES.vES.vES.vES.vES.vES.vES.vES.vES.vES.vES.vES.vRAPIDS - Data MartES.DAC Data Mart Activities$.vES.DDE Data MaDAT*rt Devices.vES.DEM Data Mart Emissions.vES.DGL Data Mart Geographic Locations.vES.DPR Data Mart Processes.vES.DSO Data Mart Sources.vES.DSG Data Mart Source Geo Groups .vES.DTH Data Mart Throughputs.vRAPIDS - GIS ExportES.GSF GIS Facilities.vES.GSE GIS Emissions.vRAPIDS - NEI Export (NIF 2.0)RAPIDS - NEI Export (NIF 3.0)NEI Point Sources .vNEI Area Sources.vDAT*NEI Onroad Sources.vNEI Nonroad Sources.vGEMAP Area SourcesES.AR Area Source Emissions9.vGEMAP Point SourcesES.PT Point Source Emissions.vcb_addKYtriggerevent  ( T          4 < ` h         ( 0 H P t |     DAT*  $ , P X           ( L T            @ H l t          8 @ d        ( 0 P X x          DAT* 0 8 L T |        $ , D L h p          $ @ H d l         0 8 \ d           0 8 \ d     DAT*     $ H P x        ( 0 P X          $ D L t |        $ L l t |                  DAT*    $ , 4 < D L T \ d l t |                    D L l t         ( T \      4 P l       0 8DAT* |)8}0$@(@(8,5b1p,5H$Hd indexli_num::message<5@tP totalselected@st_numselected >Ktext8 0 @ H Z$8 0)88,5@1N,5@$&d ::mDAT*essage5@tH lb_exportlistOmSetListtriggerevent ( 8 @ "m-mAmL"OAB-2 0 +setlist+selectionchanged+constructor<#2 xywidthheighttaborderbringtotoptextsizeweightfontpitchfontfamilyfacenametextcolorvscrollbarsortedmultiselectborderstyle@)  DAT*n"-6=GRX[epw] o)n @X @@@ 14 1DAT*t\AO-Bxx"Ll289}$9},5R1`,5,$$ 8d5 sizetypenewwidthnewheightli_pad::messaged $ +5@t4 DAT* visiblebringtotop  $ , 8n82  +resize2 visiblexywidthheighttabordertitlebartitledataobjectcontrolmenuhscrollbarvscrollbariconlivescrollborderstyle, E <!*3\ 9k DPDAT*_[f+k v ]  E < @\ k @+   +8