Search
General Search

Water Quality Management Advisory Council

The Water Quality Management Advisory Council (WQMAC) reviews and approves water quality rules and recommends changes to the Environmental Quality Board. The council is made up of twelve members, appointed for three-year terms, representing local government, industry, oil and gas, geology, engineering, agriculture, rural water districts, environmental groups, the general public, private laboratory, operator of a municipal waterworks or wastewater works facility and operator in rural water and sewer district. Four members are appointed each by the Governor, the Speaker of the House, and the President Pro Tempore of the Senate. It typically meets 3 times each calendar year in January, May and October. However, additional meetings are sometimes scheduled in order to address a rule change that does not fit the regular meeting schedule.

This Council reviews and recommends to the Environmental Quality Board rules governing water quality. Currently there are 13 chapters and 1 proposed chapter of rules under the authority of the WQMAC including regulations for public water supply, industrial and municipal wastewater construction, treatment and discharge, pretreatment, biosolids, drinking water state revolving fund, small public and private systems, under ground injection control, and implementation of water quality standards.

Sign up for email/mobile notifications of upcoming Water Quality Management Advisory Council meetings.

Name Appointed By Representing
Brian Duzan, Chair Governor Private Laboratory
Steve Sowers, Vice-Chair President Pro Tempore of the Senate Oil Field Related
Andrew Pawlisz Governor Environmental Organization
Debbie Wells Speaker of the House of Representatives Rural Water District
Eric Lee President Pro Tempore of the Senate Operator of a municipal waterworks or wastewater works facility
Kenneth Schwab Speaker of the House of Representatives Local Government
Mark Matheson Speaker of the House of Representatives Operator in Rural Water or Sewer District
Mary Mach President Pro Tempore of the Senate Geology
Rick Moore President Pro Tempore of the Senate Industry
Ron Jarman Governor General Public
VACANT Speaker of the House of Representatives Agriculture
Willard B. Smith Governor Engineering

Calendar of Events

Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
Sun Mon Tue Wed Thu Fri Sat
'); } }); // Initialize the calendar by appending the HTML dates function init_calendar(date) { $(".tbody").empty(); $(".events-container").empty(); var calendar_days = $(".tbody"); var month = date.getMonth(); var year = date.getFullYear(); var day_count = days_in_month(month, year); var row = $(""); var today = date.getDate(); // Set date to 1 to find the first day of the month date.setDate(1); var first_day = date.getDay(); // 35+firstDay is the number of date elements to be added to the dates table // 35 is from (7 days in a week) * (up to 5 rows of dates in a month) for(var i=0; i<35+first_day; i++) { // Since some of the elements will be blank, // need to calculate actual date from index var day = i-first_day+1; // If it is a sunday, make a new row if(i%7===0) { calendar_days.append(row); row = $(""); } // if current index isn't a day in this month, make it blank if(i < first_day || day > day_count) { var curr_date = $(""+""); row.append(curr_date); } else { var curr_date = $(""+day+""); var events = check_events(day, month+1, year); if(today===day && $(".active-date").length===0) { curr_date.addClass("active-date"); show_events(events, months[month], day); } // If this date has any events, style it with .event-date if(events.length!==0) { curr_date.addClass("event-date"); for(var ii=0; ii

'+events[ii]["occasion"]+ '

'+events[ii]["day"]+' '+monthname+' '+events[ii]["year"]+'

'); } } // Set onClick handler for clicking a date curr_date.click({events: events, month: months[month], day:day}, date_click); row.append(curr_date); } } // Append the last row and set the current year calendar_days.append(row); $(".year").text(year); } // Get the number of days in a given month/year function days_in_month(month, year) { var monthStart = new Date(year, month, 1); var monthEnd = new Date(year, month + 1, 1); return (monthEnd - monthStart) / (1000 * 60 * 60 * 24); } // Event handler for when a date is clicked function date_click(event) { var $container = $("html,body"); var $scrollTo = $('.events-container'); // $container.animate({scrollTop: $scrollTo.offset().top - $container.offset().top + $container.scrollTop(), scrollLeft: 0},3000); $container.animate({scrollTop: $scrollTo.offset().top, scrollLeft: 0},500); $(".events-container").show(250); $(".active-date").removeClass("active-date"); $(this).addClass("active-date"); //show_events(event.data.events, event.data.month, event.data.day); }; // Event handler for when a month is clicked function month_click(event) { $(".events-container").show(250); $("#dialog").hide(250); var date = event.data.date; $(".active-month").removeClass("active-month"); $(this).addClass("active-month"); var new_month = $(".month").index(this); var year = date.getFullYear(); date.setMonth(new_month); fetch_more_events(year, new_month, event); init_calendar(date); } // Event handler for when the year right-button is clicked function next_year(event) { $("#dialog").hide(250); var date = event.data.date; var new_year = date.getFullYear()+1; $("year").html(new_year); date.setFullYear(new_year); var new_year = date.getFullYear(); var new_month = date.getMonth()+1; fetch_more_events(new_year, new_month, event); init_calendar(date); } // Event handler for when the year left-button is clicked function prev_year(event) { $("#dialog").hide(250); var date = event.data.date; var new_year = date.getFullYear()-1; $("year").html(new_year); date.setFullYear(new_year); var new_year = date.getFullYear(); var new_month = date.getMonth()+1; fetch_more_events(new_year, new_month, event); init_calendar(date); } // Event handler for clicking the new event button function new_event(event) { // if a date isn't selected then do nothing if($(".active-date").length===0) return; // remove red error input on click $("input").click(function(){ $(this).removeClass("error-input"); }) // empty inputs and hide events $("#dialog input[type=text]").val(''); $("#dialog input[type=number]").val(''); $(".events-container").hide(250); $("#dialog").show(250); // Event handler for cancel button $("#cancel-button").click(function() { $("#name").removeClass("error-input"); $("#count").removeClass("error-input"); $("#dialog").hide(250); $(".events-container").show(250); }); // Event handler for ok button $("#ok-button").unbind().click({date: event.data.date}, function() { var date = event.data.date; var name = $("#name").val().trim(); var count = parseInt($("#count").val().trim()); var day = parseInt($(".active-date").html()); // Basic form validation if(name.length === 0) { $("#name").addClass("error-input"); } else if(isNaN(count)) { $("#count").addClass("error-input"); } else { $("#dialog").hide(250); console.log("new event"); /*new_event_json(name, count, date, day);*/ date.setDate(day); init_calendar(date); } }); } // Display all events of the selected date in card views function show_events(events, month, day) { // Clear the dates container $(".events-container").empty(); $(".events-container").show(250); console.log(event_data["events"]); // If there are no events for this date, notify the user if(events.length===0) { var event_card = "
There are no events planned for "+month+" "+day+".
"; $(".events-container").append(event_card); } else { // Go through and add each event as a card to the events container for(var i=0; i Minutes"); } } } } else if(events[i]['minutes_format'] == "Text") { var minutes = events[i]['minutes_text']; } if(events[i]['agenda_format'] == "Pdf") { var agendaspdffiles = events[i]['agenda_pdf']; if(agendaspdffiles) { var agendasfilescount = agendaspdffiles.length; for (var agcount = 0; agcount < agendasfilescount; agcount++) { agenda = agenda.concat(" Agendas "); } } } else if(events[i]['agenda_format'] == "Text") { var agenda = events[i]['agenda_text']; } else if(events[i]['agenda_format'] == "None") { var agenda = "No Agendas Set"; } } } } // Checks if a specific date has any events function check_events(day, month, year) { var events = []; for(var i=0; i