######################################################### # bmpinfo.cgi # # written in 2002 by Jared Osborn, MVHS Sysop # # e-mail jaosborn@mbhs.edu to contact # # # # General Description: # # this script writes the user's information to the log, # # then creates the bmp information page # ######################################################### #!/usr/bin/perl print "Content-type: text/html\n\n"; # Get Query Variables see parseform.pl for comments - taken from scatterplot.cgi $buffer = $ENV{"QUERY_STRING"}; @pairs = split(/&/, $buffer); foreach $pair (@pairs) { ($nume, $value) = split(/=/, $pair); $value =~ tr/+/ /; $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; $value =~ s///g; $query{$nume} = $value; } $user = $query{'user'}; $date = `date`; chomp($date); $topgraph = $query{'topgraph'}; $topstation = $query{'topstation'}; $topstationname = $query{'stationname'}; $topfrom = $query{'topfrom'}; $topto = $query{'topto'}; $topyrange = $query{'topyrange'}; $topyrangeto = $query{'topyrangeto'}; $bottomgraph = $query{'bottomgraph'}; $bottomstation = $query{'bottomstation'}; $bottomstationname = $query{'bottomstationname'}; $botfrom = $query{'botfrom'}; $botto = $query{'botto'}; $botyrange = $query{'botyrange'}; $botyrangeto = $query{'botyrangeto'}; $topbmp = $query {'topbmp'}; $botbmp = $query {'botbmp'}; $place = $query {'place'}; open (LOGFILE,">>logfile"); #log file print LOGFILE "\n\n$user viewed $place bmp info at $date"; print LOGFILE "\nTop Station: $topstation $topstationname $topgraph x from $topfrom to $topto"; if($topyrange eq "" && $topyrangeto eq "") { print LOGFILE " y default"; } else { print LOGFILE " y from $topyrange to $topyrangeto"; } if($topbmp eq 1){ print LOGFILE " w/bmp"; } elsif($topbmp eq 0){ print LOGFILE " w/o bmp"; } print LOGFILE "\nBottom Station: $bottomstation $bottomstationname $bottomgraph x from $botfrom to $botto"; if($botyrange eq "" && $botyrangeto eq ""){ print LOGFILE " y default"; } else { print LOGFILE " y from $botyrange to $botyrangeto"; } if ($botbmp eq 1) { print LOGFILE " w/bmp"; } elsif ($botbmp eq 0) { print LOGFILE " w/o bmp"; } if(($topstation eq 1 && $place eq 'top') || ($bottomstation eq 1 && $place eq 'bottom')){ &printInfoLogging;} elsif(($topstation eq 2 && $place eq 'top') || ($bottomstation eq 2 && $place eq 'bottom')){ &printInfoStripCropping;} elsif(($topstation eq 3 && $place eq 'top') || ($bottomstation eq 3 && $place eq 'bottom')){ &printInfoStreamBuffer;} elsif(($topstation eq 4 && $place eq 'top') || ($bottomstation eq 4 && $place eq 'bottom')){ &printInfoRunoffPond;} elsif(($topstation eq 5 && $place eq 'top') || ($bottomstation eq 5 && $place eq 'bottom')){ &printInfoMarsh;} elsif(($topstation eq 6 && $place eq 'top') || ($bottomstation eq 6 && $place eq 'bottom')){ &printInfoStormSanitary;} sub printInfoLogging{ print <<"HTML"; Clear Cutting Information Page

Clear Cutting Information Page


The forest's value is not only in the timber but also plant diversity or variety, animal diversity, climate control, control of the watershed, and aesthetic solve. Clear cutting forests and regulation on the stream banks vegetation results in increased erosion rates, as well as more severe and frequent flooding as the natural storage capacity in the soil is reduced. Follow the principles below by leaving vegetation.

  1. Don't cut more trees than can be grown on an annual basis.
  2. Protect stream beds.
  3. Let dead trees stand because they provide homes to small animals, as well as provide shelter for animals.
HTML } sub printInfoStripCropping{ print <<"HTML"; Strip Cropping Information Page

Strip Cropping Information Page

Strip cropping is one of the best practices to reduce water erosion in agriculture. Strips of close growing crop or sod are alternated with strips of row crops. There are two kinds of strip cropping:

1) Contour strip cropping
Strips are planted on the contour

2) Field strip cropping
Strips are planted across the slope of the field

There are several ways in which strip cropping improves water quality. It reduces erosion and promotes infiltration of water into the ground so that the amount of sediment carried from the field in surface runoff is reduced. Since agricultural chemicals accompany the sediment, runoff of these chemicals is also reduced.

An advantage of using sod for strip cropping is that it keeps excessive amounts of soluable fertilizers and pesticides from leaching through to the ground water. Sod itself does not require much fertilization.

Many factors must be considered in planning for strip cropping:.

HTML } sub printInfoStreamBuffer{ print <<"HTML"; Stream Buffer Information Page

Stream Buffer Information Page

Streambanks should be protected from erosion that may be caused by water and by humans and animals crossing the banks. Typically, such banks need protection when there is no longer sufficient vegetation to hold the soil in place. Tree roots form a protective net for the soil. Without this, erosion may result in unacceptable sediment load. Several kinds of improvements and protection are possible.

Leaving a buffer zone of uncut vegetation around the shoreline to aid in building up nutrients that would otherwise run into a body of water. Also leaving a buffer zone of natural vegetation around the edges of the wetland will help protect the wetland from damage due to storm water run off, fertilizers, or pesticides. HTML } sub printInfoRunoffPond{ print <<"HTML"; Runoff Pond Information Page

Runoff Pond Information Page

In natural areas, rain can soak into the ground. But in urban areas, pavement and roads keep this from happening. Instead, water is collected by storm sewers and directed to creeks and streams. It may carry lots of sediment with it that can harm water quality. To solve this problem, whenever new construction takes place, contractors often must include plans for a wet pond, also called a sediment pond. [This is especially important the construction will impervious material, such as asphalt or concrete, replacing natural vegetation.] So you will often see a wet pond next to a large parking lot or a new housing development. In a parking lot, rain will wash oil from cars down to the wet pond.

Wet ponds hold runoff water from storms, but the ponds always have some water. Sediment and other pollutants settle out of the water so that when water is discharged from the pond, it does not carry these materials into a stream. Wet ponds usually contain vegetation so that the plants roots may hold the sediment and use the nutrients that are often contained in urban runoff. The ponds can also mitigate flooding in theevent of a major storm and thus control impact downstream. Many of the lakes in developments are actually detention or retention wet ponds which developers have designed to look like natural bodies of water. If they are properly constructed and maintained, such ponds can be extremely effective in removing sediment and in reducing nutrients.

HTML } sub printInfoMarsh{ print <<"HTML"; Wetlands Area
Protect Wetlands

Although wetlands act as efficient buffering environments for ecosystems, they can be fragile, too. Birds and other animal life prefer environments with limited noise pollution and human disturbance. Preventing vehicular human access limits humun use, and helps prevent runoff of toxins from impermeable road surfaces. HTML } sub printInfoStormSanitary{ print <<"HTML"; Storm and Sanitary Sewer Information Page

Storm and Sanitary Sewer Information Page

By seperating storm and sanitary sewers, the biggest change would be a decrease in nutrients from raw sewage. Another possibility is to t reat storm water discharge. HTML }