#!/usr/bin/perl

$mainDir="/prodmtdata003/geo/shpgen/tigerline/fe_2013";
$zeroFile="ZeroSize.txt";
$themes="Themes.txt";
$elem="elemDistricts.txt";
$addrfeat ="addrfeat.txt";

opendir DHA, $mainDir or die "cannot open $mainDir: $!";
open Zero, ">$zeroFile";

open THM, ">$themes";
open ELEM, ">$elem";
open ADDRFEAT, ">$addrfeat";

print THM "The following files are have 0KB\n";


foreach $dir (readdir DHA){
#print "\$dir = $dir\n";
$DHAcounter++;
$newDirectory= $mainDir . "/" . $dir;
#print "\$newDirectory = $newDirectory\n";
opendir DHB, $newDirectory or  die "cannot open $newDirectory: $!";


foreach $file (readdir DHB){
#next unless -z $file;
$completFileName= $newDirectory . "/" . $file;

next unless -z $completFileName;
$ZeroSize[$ZeroSizeCounter]=$newDirectory;
print Zero "$completFileName\n";
$ZeroSizeCounter++;

#2013_linearwater.ea.iso.xml
$UnderLoc=index($file,"_");
$dotLoc=index($file,".");
$length=$dotLoc-$UnderLoc;
$theme=substr($file,$UnderLoc+1,$length);


if ($theme eq "elsd."){
$elemArray[$elemCounter]=$completFileName;
$elemCounter++;
}elsif ($theme eq "addrfeat."){
$addrfeatArray[$addrfeatCounter]=$completFileName;
$addrfeatCounter++;
}elsif ($theme eq "arealm."){
$arealmArray[$arealmCouter]=$completFileName;
$arealmCouter++;
}elsif($theme eq "areawater."){
$areawaterArray[$areawaterCounter]=$completFileName;
$areawaterCounter++;
}elsif ($theme eq "bg."){
$bgArray[$bgCounter]=$completFileName;
$bgCounter++;
}elsif($theme eq "cousub."){
$cousubArray[$cousubCounter]=$completFileName;
$cousubCounter++;
}elsif($theme eq "edges."){
$edgesArray[$edgesCounter]=$completFileName;
}elsif($theme eq "elsd."){
$elsdArray[$elsdCounter]=$completFileName;
$elsdCounter++;
}elsif($theme eq "faces."){
$facesArray[$facesCounter]=$completFileName;
$facesCounter++;
}elsif($theme eq "facesah."){
$facesahArray[$facesahCounter]=$completFileName;
$facesahCounter++;
}elsif($theme eq "facesal."){
$facesalArray[$facesalCounter]=$completFileName;
$facesalCounter++;
}elsif($theme eq "featnames."){
$featnamesArray[$featnamesCounter]=$completFileName;
$featnamesCounter++;
}elsif($theme eq "linearwater."){
$linearwaterArray[$linearwaterCounter]=$completFileName;
$linearwaterCounter++;
}elsif($theme eq "otherid."){
$otheridArray[$otheridCounter]=$completFileName;
$otheridCounter++;
}elsif($theme eq "place."){
$placeArray[$placeCounter]=$completFileName;
$placeCounter++;
}elsif($theme eq "pointlm."){
$pointlmArray[$pointlmCounter]=$completFileName;
$pointlmCounter++;
}elsif($theme eq "prisecroads."){
$prisecroadsArray[$prisecroadsCounter]=$completFileName;
$prisecroadsCounter++;
}elsif($theme eq "puma10."){
$puma10Array[$puma10Counter]=$completFileName;
$puma10Counter++;
}elsif($theme eq "roads."){
$roadsArray[$roadsCounter]=$completFileName;
$roadsCounter++;
}elsif($theme eq "scsd."){
$scsdArray[$scsdCounter]=$completFileName;
$scsdCounter++;
}elsif($theme eq "sldl."){
$sldlArray[$sldlCounter]=$completFileName;
$sldlCounter++;
}elsif($theme eq "sldu."){
$slduArray[$slduCounter]=$completFileName;
$slduCounter++;
}elsif($theme eq "tabblock."){
$tabblockArray[$tabblockCounter]=$completFileName;
$tabblockCounter++;
}elsif($theme eq "tract."){
$tractArray[$tractCounter]=$completFileName;
$tractCounter++;
}elsif($theme eq "unsd."){
$unsdArray[$unsdCounter]=$completFileName;
$unsdCounter++;
}else{
$unknown[$unknownCounter]=$completFileName;
$unknownCounter++;
};

};
};

if ($elemCounter >0){
print THM "Missing Elementary School District Files\n";
foreach $elemArray (@elemArray){
print THM "$THMCounter: $elemArray\n";
$THMCounter++;
};
};

if ($addrfeatCounter >0){
print THM "Missing Address Feature Files\n";
foreach $addrfeatArray (@addrfeatArray){
print THM "$THMCounter: $addrfeatArray\n";
$THMCounter++;
};
};

if ($arealmCouter >0){
print THM "Missing Area Landmark Files\n";
foreach $arealmArray (@arealmArray){
print THM "$THMCounter:$arealmArray\n";
$THMCounter++;
};
};

if ($areawaterCounter>0){
print THM "Missing Area Water Files\n";
foreach $areawaterArray (@areawaterArray){
print THM "$THMCounter:$areawaterArray\n";
$THMCounter++;
}
}

if ($bgCounter>0){
print THM "Missing Block Group Files\n";
foreach $bgArray (@$bgArray){
print THM "$THMCounter:$bgArray\n";
$THMCounter++;
};
};


if ($cousubCounter>0){
print THM "Missing County Subdivision Files\n";
foreach $cousubArray (@cousubArray){
print THM "$THMCounter:$cousubArray\n";
$THMCounter++;
};
};

if ($edgesCounter>0){
print THM "Missing edges files\n";
foreach $edgesArray (@edgesArray){
print THM "$THMCounter:$edgesArray\n";
$THMCounter++;
};
};

if ($facesCounter>0){
print THM "Missing Faces Files\n";
foreach $facesArray (@facesArray){
print THM "$THMCounter:$facesArray\n";
$THMCounter++;
};
};

if ($facesahCounter >0){
print THM "Missing Faces Area Hydrograpohy\n";
foreach $facesahArray (@facesahArray){
print THM "$THMCounter:$facesahArray\n";
$THMCounter++;
};
};

if ($facesalCounter>0){
print THM "Missing Faces Area Landmark\n";
foreach $facesalArray (@facesalArray){
print THM "$THMCounter:$facesalArray\n";
$THMCounter++;
};
};

if ($featnamesCounter>0){
print THM "Missing Feature Name\n";
foreach $featnamesArray (@featnamesCounter){
print THM "$THMCounter:$featnamesArray\n";
$THMCounter++;
};
};

if ($linearwaterCounter>0){
print THM "Missing Linear Water File\n";
foreach $linearwaterArray(@linearwaterArray){
print THM "$THMCounter:$linearwaterArray\n";
$THMCounter++;
};
};

if ($otheridCounter>0){
print THM "Missing Other Id files\n";
foreach $otheridArray (@otheridArray){
print THM "$THMCounter:$otheridCounter\n";
$THMCounter++;
};
};

if ($placeCounter>0){
print THM "Missing Place Files\n";
foreach $placeArray (@placeArray){ 
print THM "$THMCounter:$placeArray\n";
$THMCounter++;
};
};

if ($pointlmCounter >0){
print THM "Missing Point Landmark Files\n";
foreach $pointlmArray (@pointlmArray){
print THM "$THMCounter: $pointlmArray \n";
$THMCounter++;

};
};

if ($prisecroadsCounter>0){
print THM "Missing Primary Secondary Roads Files\n";
foreach $prisecroadsArray (@prisecroadsArray){
print THM "$THMCounter:$prisecroadsArray\n";
$THMCounter++;
};
};

if ($puma10Counter>0){
print THM "Missing Puma 10 Files\n";
foreach $puma10Array (@puma10Array){
print THM "$THMCounter:$puma10Array\n";
$THMCounter++;

};
};

if ($roadsCounter>0){
print THM "Missing Roads Files\n";
foreach $roadsArray (@roadsArray){
print THM "$THMCounter:$roadsArray\n";
$THMCounter++;
};
};

if ($scsdCounter>0){
print THM "Missing Secondary School District Files\n";
foreach $scsdArray (@scsdArray){
print THM "$THMCounter:$scsdArray\n";
$THMCounter++;
};
};

if ($sldlCounter>0){
print THM "Missing State Legislative District Lower Files\n";
foreach $sldlArray (@sldlArray){
print THM "$THMCounter:$sldlArray\n";
$THMCounter++;
};
};

if ($placeCounter>0){
print THM "Missing Places Files\n";
foreach $placeArray (@placeArray){
print THM "$THMCounter:$placeArray\n";
$THMCounter++;
};
};

if ($pointlmCounter>0){
print THM "Missing Point Landmark Files\n";
foreach $pointlmArray (@pointlmArray){
print THM "$THMCounter:$pointlmArray\n";
$THMCounter++;
};
};

if ($prisecroadsCounter>0){
print THM "Missing Primary Secondary Roads\n";
foreach $prisecroadsArray (@prisecroadsArray ){
print THM "$THMCounter:$prisecroadsArray\n";
$THMCounter++;
};
};

if ($puma10Counter>0){
print THM "Missing Puma 10 Files\n";
foreach $puma10Array (@puma10Array){
print THM "$THMCounter:$puma10Array\n";
$THMCounter++;
};
};

if ($roadsCounter>0){
print THM "Missing Roads Files\n";
foreach $roadsArray (@roadsArray){
print THM "$THMCounter:$roadsArray\n";
$THMCounter++;
};
};

if ($scsdCounter>0){
print THM "Missing Secondary School Districts\n";
foreach $scsdArray (@scsdArray){
print THM "$THMCounter:$scsdArray\n";
$THMCounter++;
};
};

if ($sldlCounter>0){
print THM "Missing State Legislative Districts (lower)";
foreach $sldlArray (@sldlArray){
print THM "$THMCounter:$sldlArray\n";
$THMCounter++;
};
};

if ($slduCounter>0){
print THM "Missing State Legislative Districts (upper)";
foreach $slduArray (@slduArray){
print THM "$THMCounter:$slduArray\n";
$THMCounter++;
};
};

if ($tabblockCounter>0){
print THM "Missing Tabulation Block\n";
foreach $tabblockArray (@tabblockArray){
print THM "$THMCounter:$tabblockArray\n";
$THMCounter++;
};
};

if ($tractCounter>0){
print THM "Missing tract files\n";
foreach $tractArray (@tractArray){
print THM "$THMCounter:$tractArray\n";
$THMCounter++;
};
};

if ($unsdCounter>0){
print THM "Missing Unified School Districts\n";
foreach $unsdArray (@unsdArray){
print THM "$THMCounter:$unsdArray\n";
$THMCounter++;
};
};




@ZeroSize = sort @ZeroSize;
$DirList = "DirectoryList.txt";
open DIRL, ">$DirList";

foreach $ZeroSize (@ZeroSize){
if ($ZeroSize ne $prev){
print DIRL "$ZeroSize\n";
};
};



close DIRL;

print "There are $DHAcounter directories in $mainDir. In these directories, $ZeroSizeCounter have zero size\n";
