text:
The State of Minnesota has many different kinds of mandated special watershed and water resource designations that directly influence how stormwater is managed at a site. When these are combined with the even more numerous water resource designations created by localities and watershed organizations (see for example, WCWC, 2003 and EOR, 2000), there is a great deal of potential for overlap and confusion. Indeed, in many regions of the state there can be more area designated and managed for specially protected waters than for regular ones.

This page presents a condensed framework for managing stormwater when these sensitive waters need additional protection. Please note there is a focus on additional stormwater management practices that can be used to supplement protection of sensitive receiving waters. Some of these waters currently have limited protections under state or local programs, while others do not. The material in this section is offered as guidance when further stormwater management is deemed necessary or desirable by state or local decision makers.

In addition to the eight specific “special waters” mentioned in the state CGP, there are several specifically protected waters that may warrant supplemental protection relative to stormwater. These include calcareous fens, all DNR designated Public Waters, many kinds of wetlands, shoreland/floodplain areas, areas with active karst, drinking water source areas, impaired waters and the Mississippi River Critical Area. On-line maps and lists exist to help designers and reviewers determine if their development project is located in a special water of the state.

The many different local and state receiving waters noted above that could be addressed by supplemental stormwater management fall into five basic groups:

• lakes;
• trout resources;
• drinking water source areas;
• wetlands; and
• impaired waters.

Some of these groups may be further divided into management subcategories, as shown in the right column of the table below. These subcategories will each be discussed in greater detail.

Classification of receiving waters used in this manual

Group Name Stormwater Management Subcategory
Lakes Most-Sensitive
Sensitive
Trout Resources Trout Protection
Drinking Water Ground Water
Surface Water
Wetlands Susceptible
Non-Susceptible
Impaired Waters Computable Pollutants
Non-Computable

The table below compares the main stormwater management criteria and considerations for all five groups listed in the above table. The text following the table discusses the details of application for each of the receiving water classes.

Summary of suggested stormwater criteria for MN receiving waters

Group Name Suggested Stormwater Sizing Criteria1
Most-Sensitive Lakes

Recharge (Vre): HIGHLY RECOMMENDED if lake is fully or partially ground water dependent Water Quality (Vwq): Site-Based Phosphorus Load Reduction: To apply this HIGHLY RECOMMENDED criteria for the most sensitive lakes, a manager would compute pre- and post-development phosphorus load at the development site using Simple Method, P8, SLAMM or an equivalent water quality model. A TP load reduction is then calculated for the site based on a range of no change to a 25% reduction in post-development load, if additional load reduction is warranted. Designers document load reduction achieved using a list of BMP removal efficiencies. If on-site compliance is not possible, an offset fee can be charged which is equivalent to cost of removing similar mass of phosphorus elsewhere in the watershed. The offset may be applied at time of permit application in the form of bond held by the issuing agency

Channel Protection (Vcp): HIGHLY RECOMMENDED if site drains to tributary stream to a lake
Sensitive Lakes

Recharge (Vre): HIGHLY RECOMMENDED if lake is fully or partially ground water dependent

Water Quality (Vwq): Increased Water Quality Sizing: RECOMMEND MPCA pond rule 2 or 4 for “special waters”, depending on the BMP used. For sites with more than 30% Site IC, the Walker Rule (Section IX) presents another option that will result in similar TP removal

Shorter BMP List: Only BMP designs or combination with a TP removal capability exceeding 50% should be used

Channel Protection (Vcp): RECOMMENDED if site drains to tributary stream to a lake
Trout Streams

Recharge (Vre): RECOMMENDED in certain situations

Water Quality (Vwq): RECOMMEND apply MPCA Sizing Rules 2 and 4, depending on BMP used. Comply with SWPPP requirement in CGP, as well as prohibited industrial discharges into infiltration systems. No infiltration of stormwater without pre-treatment. If site is designated as a potential stormwater hotspot, no infiltration of runoff should be allowed. Special precautions are advised for karst areas.
Surface Water Drinking Supplies

Recharge (Vre): RECOMMENDED for watersheds, with caution for ground water functioning as a surface water source

Water Quality (Vwq): RECOMMEND apply the same sizing criteria as Sensitive Lakes

Comply with SWPPP requirement in CGP
Susceptible Wetlands

Maintain Wetland Hydroperiods: For wetlands identified as HIGHLY or moderately susceptible in Table 10.12, meet the storm bounce and inundation duration limits set forth in Table 10.13. This may be done through infiltration, extended detention, or diversion

Recharge (Vre): HIGHLY RECOMMENDED

Water Quality (Vwq): RECOMMEND site-based phosphorus load reduction as described for Most Sensitive Lakes to control nutrients.

Channel Protection (Vcp): RECOMMENDED if channel is direct tributary to the wetland

No use of natural wetlands for stormwater treatment (REQUIRED)

No constrictions at wetland outlets (RECOMMENDED)
Non-Susceptible Wetlands

Recharge (Vre): RECOMMENDED

Water Quality (Vwq): No untreated stormwater discharges to wetlands (REQUIRED) which is operationally defined as providing Vwq via MPCA Rules 1 and 3

Channel Protection (Vcp): RECOMMENDED only if channel is direct tributary to the wetland
Impaired Waters for Computable Pollutants

Water Quality (Vwq): If new development site is located in a watershed subject to a TMDL that has no remaining stormwater allocation, designer may need to document no net increase in pollutant load; RECOMMEND using the general method proposed for the Most Sensitive Lakes but using the appropriate pollutant. Currently, sufficient data are only available to perform this calculation for sediment, phosphorus, nitrogen, ammonia, and bacteria

Channel Protection (Vcp): RECOMMENDED when water body impaired for sediment or sediment related pollutant
Impaired Waters for Non-Computable Pollutants

Water Quality (Vwq): For the remaining ten pollutants which may be subject to a TMDL but have no remaining stormwater allocation, designers should satisfy appropriate MPCA sizing rules.

Channel Protection (Vcp): RECOMMENDED when water body impaired for sediment related pollutant

1REQUIRED- CGP requirement
HIGHLY RECOMMENDED- Essential to provide adequate management and good engineering
RECOMMENDED- Suggested for good management and engineering

## Lakes

Research has shown that development can increase eutrophication, bacteria and turbidity levels in lakes. According to a national survey of 3,700 urban lakes, more than 80 percent were found to be either eutrophic or hyper-eutrophic (U.S. EPA, 1980). Urban and urbanizing lakes receive higher phosphorus loads than non-urban lakes because urban watersheds, particularly those under construction, produce higher unit area phosphorus loads from stormwater runoff, compared to other watersheds (Caraco and Brown, 2001).

Impacts of eutrophication on lake and reservoir quality include the following (Brown and Simpson, 2001):

• nuisance algal blooms in the summer;
• reduced dissolved oxygen in the bottom of the lake;
• fish kills due to low dissolved oxygen;
• taste and odor problems with drinking water;
• formation of THMs (trihalomethanes)and other disinfection byproducts in water supplies;
• increased cost to treat drinking water;
• reduced water clarity;
• decline in fish community (more rough fish,fewer game fish);
• blockage of intake screens by algal mats;
• reduced quality of boating, fishing and swimming experience;
• decline in lakefront property values;
• floating algal mats and/or decaying algal clumps; and
• increased density of aquatic weeds in shallow areas.

From a stormwater management standpoint, lakes can be divided into three management categories based on their current trophic status and sensitivity to additional phosphorus loads.

• Most-Sensitive Lakes are normally defined as being oligotrophic.
• Sensitive Lakes are considered to be mesotrophic or slightly eutrophic.
• A third category of all other lakes would include eutrophic and highly eutrophic lakes that are not generally categorized as sensitive because of their relatively poor quality. These lakes should be treated under regular stormwater programs.

The lake designation is normally made by the local or regional lake management authority, although the state may do so for certain special waters such as trout lakes or lake trout lakes. Often, the lake management designation has already been made by the local, watershed, regional or state agencies, or perhaps even by a university or local educational institution. If no designation has been made, the local review authority should consult available data on water clarity, phosphorus content and algal abundance (using Chlorophyll-a as a surrogate measure). If none of these data exist, the local review authority may want to collect lake monitoring data to make a designation. Future phosphorus loadings should also be considered when making a stormwater management designation for a lake.

As a general rule, all surface water drinking supplies, such as water supply reservoirs and river intakes should be managed using the same stormwater sizing criteria as Sensitive Lakes, given the importance of controlling bacteria, toxic pollutants and turbidity that can threaten drinking water quality. The ensuing section presents stormwater guidance for most-sensitive and sensitive lakes, including enhanced sizing criteria and recommendations for BMP design and selection.

### Most-sensitive lakes

The following adjustments to the basic sizing criteria are recommended for lakes designated as most-sensitive:

• Recharge: Highly recommended
• Water Quality: Highly recommend a site-based phosphorus load reduction if the lake in question is a state-designated “special water” under the CGP or falls under a similar local regulatory designation; also highly recommended for non-designated lakes with documented oligotrophic quality.

Under this criterion, designers would demonstrate that no increase in total phosphorus (TP) loads will occur at a site from pre-development to post-development conditions using a site-based TP load calculation. The designer could use the Simple Method (Schueler, 1987) or equivalent to compute pre-development and post-development TP loads at the site and determine the pollutant removal requirement (in pounds). The designer would then propose a series of BMPs that maximize the amount of phosphorus removal at the site to reach the desired condition. This criterion provides a major incentive to design for maximum phosphorus removal which is essential for managing most-sensitive lakes. Site-based phosphorus reductions have been adopted by several communities in Minnesota, which vary between no change in phosphorus load to as much as a 25 percent reduction from pre-development conditions. The step-wise computational approach is outlined below.

• Calculate site imperviousness before and after development.
• Calculate the pre-development phosphorus load.
• Calculate the expected post-development pollutant load.
• Calculate the pollutant removal requirement.
• Identify feasible BMPs and calculate load removed (using standard BMP removal efficiencies).
• Select off-site mitigation option, if needed.

If a designer cannot meet the total removal requirement, they could be allowed to pay an offset fee that is equivalent to the cost of removing an equivalent amount of phosphorus elsewhere in the watershed.

Channel Protection: Highly recommended if the site drains to a direct tributary stream to a lake.

BMP Selection: The following BMP design and selection guidance is recommended for lakes designated as most-sensitive.

The foremost concern is to choose BMPs with a proven ability to reliably remove high levels of phosphorus. Soluble phosphorus is of particular interest since it is most readily available for algal uptake. Therefore, any BMP employed to protect most-sensitive lakes protection should have a moderate to high capability to remove total and soluble phosphorus.

Infiltration practices tend to have the highest phosphorus removal, but are not always be feasible due to soil constraints or lack of the 3 foot separation distance between the bottom of the infiltration device and the seasonally saturated water table. Pond systems are generally a reliable removal option for both soluble and total phosphorus. Filters are fairly effective at removing total phosphorus, but exhibit little or no capability to remove soluble phosphorus. This can be explained by the fact that most sand filters have no biological or chemical processes to bind soluble phosphorus. The addition of organic matter or binding agents to sand filters may show promise in boosting removal, but early monitoring of experimental filters have yet to demonstrate this result conclusively (Schueler, 2000a).

Wetlands have a highly variable capability to remove both soluble and particulate forms of phosphorus. The variability can be explained in part by internal phosphorus cycling within the wetland, sediment release, and vegetative dieback during the non-growing season (Schueler, 1992). Factors such as soil pH, oxygen conditions, nutrient saturation and presence of calcium, magnesium or iron in the soil can also make a big difference in whether phosphorus is removed or released. The best design variation for phosphorus removal in the stormwater wetland group is the pond-wetland system (e.g., wetland with a relatively large portion of its storage devoted to a deep pool).

### Sensitive lakes

The following recommends that stormwater ponds and constructed wetlands discharging to sensitive lakes be sized larger to increase the retention time for additional phosphorus removal. These designs are more conservative than the MPCA sizing rule and could be considered by local authorities interested in greater protection for sensitive lakes. Recommended adjustments to the standard stormwater sizing criteria for Sensitive Lakes are:

Recharge: Highly recommended.

The MPCA water quality sizing Rule 2 should be applied to size stormwater ponds (e.g., ponds located within special waters). If the site has more than 30 percent impervious cover, the Walker Rule (see below) presents a size option that should result in similar TP load reductions in ponds (see File:Issue paper D - unified sizing criteria for Minnesota.pdf for more discussion). The Walker Rule was developed in the upper Midwest to maximize retention time needed within a pond to promote maximum algal uptake of phosphorus and subsequent settling between storm events. The Walker Rule seeks to attain an average pond retention time of about two weeks. Based on the distribution of storm events in the upper Midwest, Walker (1987) recommended all storage via a permanent pool storage volume equivalent to 2.5 inches multiplied by the site runoff coefficient. Based on the Minnesota rainfall frequency spectrum, the Walker Rule would capture about 98 percent of all runoff producing events each year, resulting in very little bypass of untreated runoff. In addition, runoff from many storm events is retained within the pond over several storm cycles to help improve phosphorus uptake. The pond designer should allocate total storage to the permanent pool under the Walker Rule. The total storage in acre-feet needed under the Walker Sizing Rule is provided using the following equation.

I. Walker Rule

$$V_{wq} = 3630 RA$$

where

Vwq = required water volume in cubic feet;
R = runoff for design storm (inches) and is given by

$$2.5 FI +((2.5-0.2S)^2/(2.5+0.8S)) (1.0 - FI)$$;

A = area, in acres;
FI = Fraction of total impervious cover of site;
S = (1000/CN) - 10;
CN = curve number; and
3630 = conversion factor (to cubic feet).

The MPCA water quality sizing Rule 3 should be applied if the designer is using a BMP other than a pond (e.g., non-BMPs draining to special waters), keeping in mind that a minimum water quality storage volume of 0.2 watershed inches is recommended for pre-treatment, regardless of site impervious cover.

Channel Protection: Limited application.
Channel protection is recommended if a development site drains to a tributary stream to a lake.
Channel protection is not needed if the site discharges directly to the lake.
BMP Selection: The following guidance on BMP design and selection is offered for Sensitive Lakes:
Designers should only apply BMPs that have a total phosphorus removal rate exceeding 50 percent.
Four kinds of BMPS are not recommended in sensitive lakes: media filters, wet vegetated swales, micropool extended detention ponds, and extended detention wetlands. If these BMPS are used, they need to be combined with more effective BMPs in a treatment train. By contrast, infiltration, wet ponds, and bioretention have high phosphorus removal rates, and are strongly encouraged in Sensitive Lakes.

Recommended BMPs for Sensitive Lakes.

BMP Group BMP Design Variation Recommended for Lake Watersheds
Bioretention Bioinfiltration Yes
Biofiltration If appropriate filter media is used.
Filtration Media No
Vegetative Filter (dry) Yes
Vegetative Filter (wet) No
Infiltration Infiltration Trench Yes
Infiltration Basin Yes
Stormwater Ponds Flow-Through (Wet) Pond Yes
Wet ED Pond Yes
Micropool ED Pond No
Constructed Stormwater Wetlands Shallow Wetland Yes
Pond/Wetland Yes
ED Shallow Wetland No

In addition, designers and plan reviewers should evaluate every BMP to look for ways to maximize phosphorus removal (see table below). For example, the use of multiple treatment pathways is encouraged (e.g., directing runoff to a filtering or infiltration BMP, and then routing it a wet pond).

Summary of stormwater design recommendations to enhance phosphorus removal.

BMP Design Design recommendations
Infiltration
Filtration (includes practices with an underdrain)
• Organic filters are a source of soluble phosphorus and should not be used
• Practices with engineered media are acceptable when the appropriate filter media is used
• Employ finer-grained media in the filter bed with a small diameter (15 microns), or provide a finer-grained layer at mid-depth in the filter profile
• The process for pretreatment and/or filtration should extend from 36 to 48 hours, where possible
• Filters should be oriented to provide maximum solar exposure
• Wet swales are not recommended because they may export phosphorus
• Open channels should be designed to promote maximum sediment retention
Stormwater ponds1
• Pond aeration is encouraged
• Design wet ponds with a depth no greater than 10 feet to prevent stratification and potential release of phosphorus from bottom sediments
• Avoid the use of dry or dry extended detention ponds
• Designers should consider the snowmelt runoff volume and design ponds for seasonal operation
• Use a surface or mid-depth release from the pond
• Landscape pond to discourage geese
• Add shallow benches and wetland areas to enhance the plankton community
• Pond sediments may be amended to retain phosphorus (e.g. iron, aluminum)
Constructed Stormwater wetlands
• Pond/ wetland system is the preferred wetland design
• Use a surface or mid-depth release from the wetland
• Maximize surface micro-topography
• Landscape wetland to discourage geese

1The recommendations for constructed ponds are from the original Minnesota Stormwater Manual. MPCA anticipates updating this information in the near future.

Also, as a general rule, no BMPs should be located inside the shoreline buffer, as defined by the local reviewing authority.

## Trout streams

Trout populations are threatened by stream habitat degradation, stream warming, possible chloride toxicity, and other impacts associated with upland development. Trout are very sensitive to increases in water temperature. The optimal temperature range for adult trout is from about 57°F to 65°F. Generally, adult trout can survive warmer temperatures if cool water refuge is present in the form of ground water upwelling or springs. Juvenile trout, fry and eggs are much more susceptible to warm water temperatures and are not able to tolerate temperatures much above 68°F (Emmons & Olivier Resources, 2000). Stream warming also harms trout by reducing dissolved oxygen available for fish and aquatic life. Increased temperatures can also increase the metabolic rates of aquatic organisms and increase their sensitivity to other pollutants, parasites, and diseases (SSL SWCD, 2001).

The reduction in streamside forest cover removes much of the mechanisms that keep a stream cool. The heating of impervious surfaces by solar radiation also warms precipitation that runs over them and potentially into a stream. A series of monitoring studies have documented the stream warming effect in urban trout streams (Roa-Espinosa et al. 2003; SSL SWCD, 2001; Johnson, 1995; Galli, 1990).

Sedimentation is also a major concern for trout. Construction runoff, channel erosion and road sand all increase sediment loads which can impair streambed habitat in trout streams. Excess sediment can affect the productivity of a trout stream in several ways. Sediment can impede trout respiration by clogging gill plates. In addition, sediment deposition can destroy spawning habitat and harm the benthic organisms upon which the trout feed.

Road salt may also significantly impact trout habitat. Chloride is one of the main components of road salt, and is extremely soluble in water. As a result, there is virtually no way to remove chloride once it gets into either surface or groundwater. Chloride levels are the highest in late winter as initial melting occurs from snow containing significant amounts of road salt and stream flows are lowest. The chloride from the salt can be toxic in trout streams during some meltwater events. For more detained discussion see Cold climate impact on runoff management.

The following adjustments to the basic sizing criteria are recommended to protect trout streams.

Recharge: Highly recommend infiltration as part of stormwater control.
It is highly recommended that all excess runoff volume above that produced from the pre-development 2- year, 24-hour storm event should be infiltrated for designated trout streams, where soils conditions permit. The state CGP contains this method as one option to meet mandated temperature control for designated trout streams.
Water Quality: Discourage use of ponds/wetlands
Use MPCA water quality Sizing Rule 3 for non-pond BMPs volume determination for special waters, and infiltrate and/or filter this volume at the site regardless of soil conditions (e.g., bioretention, dry swales, infiltration, and better site design practices). Discharge from ponds or wetlands with standing water to trout streams is discouraged. If they are used, they should be sized according to MPCA Sizing Rule 2, incorporate temperature controls, and have an extended detention time no longer than 12 hours.
Channel Protection: Highly recommended
Given the importance of trout habitat, it is highly recommended that channel protection criteria be applied to all trout streams. If soils do not permit infiltration of the channel protection volume, then designers should provide 12 hour extended detention of 1-year, 24-hour runoff volume in a thermally acceptable pond option. Note that CGP allows up to 24 hours, but 12 is recommended in the Manual. Release of the 1-yr, 24-hour volume in 12 hours should be compared with the ½ 2-yr pre-development peak matching method described previously to determine which approach would result in less heating of the stored water.
BMP Selection: There are quite a few do’s and don’ts when it comes to BMP design for trout streams.

Designers should look for ways to incorporate the following design features into their BMPs:

• consider using forested wetland design (see Capiella 2005b);
• maximize use of better site design techniques;
• use infiltration and bioretention to the maximum extent possible;
• construct BMPs “off-line”;
• shade pilot and outflow channels and micropools by planting trees and shrubs;
• plant trees to the maximum extent possible in the stormwater practices and buffers;
• manage buffers to maximize forest cover and shading in riparian areas;
• pre-treat roadway runoff to reduce sediment and road sand discharges to streams; and
• develop and test roadway spill management plans.

Designers should ensure that each BMP does not have

• a large, unshaded permanent pool or shallow wetland;
• extensive and unshaded pilot and outflow channels within the BMP;
• an extended detention time longer than 12 hours;
• extensive exposed riprap or concrete channel;
• an on-line or in-stream location;
• a location within the forested buffer; and
• infiltration practices that are undersized or lack pre-treatment.

## Drinking water source areas

### Groundwater

This group includes any groundwater recharge areas that supply water used for drinking water supply. The management goal is to maintain groundwater recharge while preventing the possibility of groundwater contamination. Groundwater is a critical water resource, as many residents depend on groundwater for their drinking water, and the health of many aquatic systems depends on steady recharge to maintain surface water bodies throughout the year. For example, during periods of dry weather, groundwater sustains flows in streams and helps to maintain the hydrology of wetlands. Because development creates impervious surfaces that prevent natural recharge, a net decrease in groundwater recharge rates can be expected in urban watersheds. Thus, during prolonged periods of dry weather, stream flow sharply diminishes. In smaller headwater streams, the decline in stream flow can cause a perennial stream to become seasonally dry.

Urban land uses and activities can also degrade groundwater quality if stormwater runoff is directed into the soil without adequate treatment. Certain land uses and activities are known to produce higher loads of metals and toxic chemicals and are designated as potential stormwater hotspots or “PSHs”. Soluble pollutants, such as chloride, nitrate, copper, dissolved solids and some hydrocarbons can migrate into ground water and potentially contaminate wells. Stormwater runoff should never be infiltrated into the soil from sites designated as a PSH. Below is a list of business operations at potential stormwater hotspots (adapted from MDE, 2000). Note that road surfaces are not always considered PSHs unless a history of contaminated water has occurred.

• vehicle salvage yards and recycling facilities;
• outdoor liquid container storage;
• vehicle service and maintenance facilities;
• vehicle and equipment cleaning facilities;
• public works storage areas;
• fleet storage areas (bus, truck, etc.);
• facilities that generate or store hazardous materials;
• industrial sites;
• commercial container nursery;
• marinas (service and maintenance);
• large parking lots;
• transportation routes and fueling areas;
• large chemically managed turf areas.

Stormwater hotspots commonly occur as commercial, industrial, institutional, municipal, or transportation-related operations that produce higher levels of stormwater pollutants, and/or present a higher potential risk for spills, leaks or illicit discharges. Runoff from these operations may contain soluble pollutants which cannot be effectively removed by current BMPs and can contaminate ground water quality.

Typical sources of nutrients, metals, hydrocarbons, toxins and other pollutants that can be generated from PSH are summarized in the table below. It should be noted that not all of these operations or activities will actually generate pollution at an individual stormwater hotspot. In fact, many industrial operations are highly regulated under state and federal programs. There are, however, many small or unregulated facilities (such as gas stations or auto salvage yards) that are of concern because of the potential for release of toxic material to stormwater.

Stormwater Pollutants Associated With Common Operations at Potential Stormwater Hotspots

Operation or Activity Nutrients Metals Oil / Hydrocarbons Toxics Others
Vehicle Repair Minor Major Major Major
Vehicle Fueling Minor Major Major Major (MTBE not used in MN)
Vehicle Washing Major Moderate Moderate Major Water Volume
Vehicle Storage Not Pollutant Moderate Major Minor Trash
Outdoor Storage Moderate Moderate Moderate Moderate
Liquid Spills Moderate Moderate Major Major
Dumpsters Moderate Moderate Moderate Major Trash
Building Repair Minor Moderate Moderate Moderate
Building Maintenance Not Pollutant Major Minor Moderate
Parking Lot Maintenance Minor Moderate Major Moderate Chloride
Turf Management Major Not Pollutant Not Pollutant Major Pesticides
Landscaping Major Not Pollutant Not Pollutant Major Pesticides
Swimming Pool Discharges Not Pollutant Not Pollutant Not Pollutant Not Pollutant Chlorine
Golf Courses Major Minor Not Pollutant Major Pesticides
Hobby Farms/Race Tracks Moderate Not Pollutant Not Pollutant Not Pollutant Bacteria
Construction Moderate Minor Minor Moderate Trash, Sanitary Waste, Sediment
Marinas Moderate Moderate Moderate Major Bacteria
Restaurants Moderate Not Pollutant Major Not Pollutant Grease

The management goal in groundwater drinking water source areas is to prevent possible groundwater contamination by preventing infiltration of untreated hotspot runoff. At the same time, recharge of unpolluted stormwater is needed to maintain flow in streams and wells during dry weather. As such, structural BMPs alone should not be relied upon as a sole stormwater management strategy at a PSH. A stormwater pollution prevention plan for a PSH should also incorporate a combination of

• good housekeeping;
• preventive maintenance;
• spill prevention and clean-up;
• employee training;
• inspections;
• record-keeping; and
• chemical use restrictions.

The following adjustments to the standard stormwater sizing criteria are recommended to protect the quality of groundwater drinking water source areas.

Water Quality: Enhanced sizing and pre-treatment. MPCA water quality sizing Rules 2 or 4 should be applied to development sites within groundwater drinking water source areas, depending on whether a pond or non-pond BMP option is being considered. A minimum of 0.2 watershed-inches of effective pre-treatment is recommended for non-pond BMPs to remove pollutants prior to any infiltration or soil filtration.

Recharge: Encouraged in limited situations. Infiltration is encouraged at residential subdivisions to increase groundwater recharge through rooftop disconnections and other better site techniques. Commercial and institutional rooftops can also be disconnected as long as they are not a potential stormwater hotspot. No infiltration or recharge of runoff from potential stormwater hotspot operations should be allowed to reduce the risk of groundwater contamination. Caution on the source of infiltrating water should be exercised in all cases.

BMP Selection: The following guidance on BMP design and selection is offered to protect groundwater drinking water source areas.

• In general, infiltration of clean runoff from residential and non-residential rooftops is encouraged with acceptable pre-treatment.
• Stormwater ponds, wetlands, bioretention, and filters are effective surface treatment
• No infiltration from PSHs, especially those with potentially high chloride levels and/or vulnerable ground water resources.
• Minimum setbacks from wells, septic systems, sinkholes and wellhead protection zones in conformance with state and local regulations (contact Minnesota Department of Health) and plans.
• Avoid pooling or infiltrating stormwater in active karst areas.

Additional BMP design criteria for groundwater protection are presented in the following table.

BMP design considerations for groundwater aquifer protection

BMP Group Design Consideration
Bioretention
• OK with proper caution for PSH
Filtration
• OK with proper caution for PSH
• Open channels are OK, but polluted runoff must be adequately pretreated
Infiltration
• Provide a 100-foot horizontal separation distance from wells and three-foot vertical distance from the water table
• No PSH runoff, unless treated by another practice, such as a filtering system
• Needed pre-treatment of all runoff except rooftop
Stormwater Ponds
• May need liner if A soils or active karst are present. The CSW permit requires a liner in areas of active karst.
• Pre-treat PSH runoff
• Provide a separation distance from well or water table to BMP
Constructed Stormwater Wetlands
• May need liner if A soils or active karst are present. The CSW permit requires a liner in areas of active karst.
• Pre-treat PSH runoff
• Provide a separation distance from well or water table to BMP

## Surface water

There is a large portion of Minnesota residents served by drinking water obtained from a surface water source. The supplies for the St. Cloud, Minneapolis and St. Paul metropolitan areas are obtained mostly from the Mississippi River; St. Paul’s supply is supplemented by both small stream flow and ground water. Several other cities throughout the state are also supplied by smaller rivers such as the Minnesota/Blue Earth, Red Lake and Red Rivers, by Lake Superior or by large abandoned quarries in the Iron Range. In each of the river source areas, protection of the surface water source reaches far beyond the local border to the entire watershed feeding the supply intake. For the quarries, inflow occurs primarily from groundwater sources that must be protected as noted in the previous section. Lake Superior itself requires attention, as do the tributary streams that feed it.

Each of the surface water sources is preparing or has prepared a source water protection plan in which they identify potential pollutants of interest and the likely source of those pollutants. They also must put together a plan to protect the source of water. This plan, as is the case for the Mississippi River communities, can stretch far upstream (or up-gradient for groundwater) to areas not under the control of the served communities. This severely limits the direct control that the supplied communities have over pollution generating activities. Fortunately, a willingness to help protect these drinking water source areas has led to multi-community cooperative protection efforts.

The pollutants mentioned in the previous groundwater section certainly all apply to surface water sources. In addition, surface water suppliers have to be concerned about such things as sediment, phosphorus, nuclear waste (Mississippi River suppliers), any cargo hauled through the watersheds on rail or roads, or on the water in barges, PSHs, fire-fighting runoff and a myriad of other potential surface water contaminants. All of the precautions mentioned in the previous section for groundwater source areas should also be applied to surface waters that provide drinking water.

The management goal in surface water drinking water source areas is to prevent possible source contamination by preventing any potential contaminant from reaching either the stream or river providing the water or any groundwater inflow that will eventually feed a surface water source. Pollution prevention and emergency response become primary BMP approaches for source waters. The list of focal BMPs remains similar to the groundwater list noted previously with the addition of good watershed management to control pollutants associated with nonpoint sources.

The following adjustments to the standard stormwater sizing criteria are recommended to protect the quality of surface water drinking water source areas.

Water Quality: Enhanced sizing and pre-treatment. MPCA water quality sizing Rules 2 or 4 should be applied to development sites within surface water drinking water source areas that are determined in a source water protection plan to be critical to maintaining the quality of the source water. A minimum of 0.2 watershed-inches of effective pre-treatment is recommended for non-pond BMPs to remove pollutants prior to any infiltration or soil filtration.

Recharge: Encouraged for watersheds, with caution for groundwater feeding a surface water source.

Infiltration is encouraged within watersheds upstream of drinking water intakes from surface water. Protective measures consistent with the previous groundwater supply section are encouraged for groundwater feeding surface water sources.

BMP Selection: Supplemental BMPs should follow those suggested for Sensitive Lakes. The following guidance on BMP design and selection is offered to protect surface water source areas.

• A pollution prevention plan is essential for the entire area draining to the surface water intake.
• Stormwater ponds, wetlands, bioretention, and filters are effective surface treatment.
• No infiltration or direct runoff in the vicinity of the intake from PSHs, especially those with potentially high chloride levels and/or vulnerable ground water resources.
• An emergency response plan should be prepared for spill response in areas critical to supply protection.

## Wetlands

For a long time, wetlands were viewed as wastelands that were better drained or filled. It is estimated Minnesota has lost nearly 42 percent of its original wetland acreage (MN SWAG, 1997). Wetlands are now recognized as performing many important watershed functions and services, and their direct disturbance is closely regulated. there are several state, local and federal aspects of wetland regulation and management.

Naturally occurring quantities of runoff with seasonal fluctuations are essential for the maintenance of a wetland, and moderate amounts of nutrients and sediment in the runoff can increase a wetland’s productivity. However, excessive stormwater runoff has the potential to alter the hydrology, topography, and the vegetative composition of a wetland (U.S. EPA, 1993). For example, an increased frequency and duration of inundation can degrade native wetland plant communities or deprive them of their water supply.

Stormwater inputs can also cause changes in water or soil chemistry that can degrade wetlands. This is a particular concern for wetlands with a narrow pH range such as acidic sphagnum bogs and alkaline calcareous fens (MN SWAG, 1997). Calcareous fens are the rarest wetland plant community in Minnesota, and as such are specially protected. These fens are peat-accumulating wetlands dominated by distinct groundwater inflows having specific calcium carbonate chemical characteristics. Flows are circum-neutral to alkaline, with high concentrations of calcium and low dissolved oxygen content. The water chemistry creates a unique environment for a disproportionately large number of rare, threatened, and endangered wetland plant species compared to other plant communities in the Great Lakes region (MN SWAG, 1997). Changes in wetland water quality can alter the nature of the plant community, encouraging invasive species, and reducing sensitive species that are preferred by fish, mammals, birds, and amphibians for food and shelter (U.S. EPA, 1993).

Stormwater runoff inputs can exceed the water depths and frequency/duration of inundation prevalent in natural wetlands. Deposition of sediment carried by urban stormwater can have the same effect, causing replacement of diverse species with monotypes of reed-canary grass or cattails, which are much more tolerant of sedimentation and fluctuating water levels. Schueler (2000b) reported that invasive or aggressive plant species are favored when water level fluctuation (WLF) is high (e.g., reed-canary grass). The result is low vegetative diversity and lower quality wildlife habitat values (MN SWAG, 1997). A modest change in WLF sharply decreases plant species richness, and amphibian species richness a study in the Pacific Northwest (Horner, et al., 1996). Some communities have used existing wetlands for stormwater treatment by increasing the depth of ponding on a permanent or temporary basis. The end result is the transformation of a natural wetland into a stormwater wetland, with the attendant loss of diversity and functional values.

Not all wetlands respond in the same way to the impact of stormwater runoff. In the context of this Manual, wetlands can be defined as Susceptible or Non-Susceptible to stormwater runoff, based on the MN SWAG (1997) wetland classification scheme. This classification provides a useful framework for managing stormwater inputs to different types of wetlands.

Highly susceptible wetland communities can be composed of dozens of plant species. The table below presents the MN SWAG classification of wetland types according to their presumed susceptibility to degradation by stormwater. Given this diversity of wetland types, it is not surprising that wetlands have a broad range of tolerance to stormwater runoff. Some wetlands (e.g. calcareous fens) are sensitive to any disturbance and will show signs of degradation with even low-level inputs of urban stormwater. Note that Susceptible Wetlands are defined as highly and moderately susceptible and Non-Susceptible Wetlands are defined as slightly and least in the table.

Susceptibility of wetland types to degradation by stormwater input

Susceptible Non-Susceptible
Highly Susceptible Wetland Types 1 Moderately Susceptible Wetland Types 2 Slightly Susceptible Wetland Types 3 Least Susceptible Wetland Types 4
• Open Bogs
• Coniferous Bogs
• Calcareous Fens
• Low Prairies
• Coniferous Swamps
• Lowland Hardwood Swamps
• Seasonally Flooded Basins
• Shrub-carrsa
• Alder Thicketsb
• Shallow Marshesd,e
• Deep Marshesd,e
• Floodplain Forestsa
• Shallow Marshesc
• Deep Marshesc
• Gravel Pits
• Cultivated Hydric Soils
• Dredged Material / Fill Material Disposal Sites
1. Special consideration must be given to avoid altering these wetland types. Inundation must be avoided. Water chemistry changes due to alteration by stormwater impacts can also cause adverse impacts. Note: All scientific and natural areas and pristine wetlands should be considered in this category regardless of wetland type.
2a, 2b, 2c. Can tolerate inundation from 6 inches to 12 inches for short periods of time. May be completely dry in drought or late summer conditions.
2d. Can tolerate +12” inundation, but adversely impacted by sediment and/or nutrient loading and pro- longed high water levels.
2e. Some exceptions.
3a. Can tolerate annual inundation of 1 to 6 feet or more, possibly more than once/year.
3b. Fresh meadows which are dominated by reed-canary grass.
3c. Shallow marshes dominated by reed-canary grass, cattail, giant reed or purple loosestrife.
4. These wetlands are usually so degraded that input of urban stormwater may not have adverse impacts.

Notes: There will always be exceptions to the general categories listed above. Use best professional judgment. Pristine wetlands are those that show little disturbance from human activity.

The following adjustments to the standard stormwater sizing criteria are recommended to protect wetlands from the indirect impact of stormwater runoff. Note that wetlands are highly regulated within the state and that all federal, state and local/watershed authorities should be consulted before any activity is initiated on any parcel of land that appears to be a wetland.

Recharge: Highly recommended for Susceptible Wetlands. Many Susceptible Wetlands are dependent on groundwater to maintain their natural hydrology so it is important to maintain recharge at a consistent rates in the contributing source area to the wetland. Recharge is also recommended for Non-Susceptible Wetlands that are dependent on groundwater.

Water Quality: Recommend site based phosphorus load reduction. Site-based phosphorus load reduction for Susceptible Wetlands using the method described for Most-Sensitive Lakes are recommended to control nutrients. Site-based nutrient load reduction should be used for nutrient sensitive bogs and calcareous fens. No untreated stormwater discharges should be allowed to Non-Susceptible Wetlands, which are operationally defined as providing water quality volume according to MPCA sizing Rules 2 and 4 (depending on the type of BMP chosen). Currently, the MPCA interprets the CGP as requiring a permanent pool in constructed stormwater wetland systems. While this seems appropriate for a [Stormwater ponds|pond]]/wetland system, it does detract from the bioretention character of other wetland BMPs. The application of a permanent pool to constructed stormwater wetland systems that behave as bioretention systems should be considered for change in the next CGP update.

In addition, Susceptible Wetlands should not be used for stormwater treatment. A Non-Susceptible Wetland should only be used for stormwater treatment if designers can demonstrate that it will restore wetland functional value, and only when approved by the local government unit acting as approving agency under the Minnesota Wetland Conservation Act.

Channel Protection: Limited. Channel Protection is recommended only when a channel is a direct tributary to a wetland.

Other:Maintain wetland hydroperiod. Designers should maintain the hydroperiod of Susceptible Wetlands following development to prevent detrimental impacts. Any wetlands present at the site should be investigated in the field to determine their wetland type and contributing hydrologic source area, and then determine if any additional runoff will be delivered to the wetland as a result of the proposed project. Based on this determination, a wetland will be classified as either Susceptible or Non-Susceptible.

The following table presents hydroperiod guidelines for wetlands, developed by MN SWAG (1997) for use unless better site-specific data are available. The term “existing” means the existing hydrologic conditions. If there have been recent significant changes in conditions, it means the conditions that established the current wetland. Designers then model the effect of runoff discharge from the site on the wetland to ensure they conform to the storm bounce and inundation duration guidelines standards using infiltration, extended detention, diversion or other methods.

Recommended hydroperiod standards for wetlands (Source: State of Minnesota Storm-Water Advisory group, 1997

Hydroperiod standard
Susceptible
Non-susceptible
Highly susceptible wetlands Moderately susceptible wetlands Slightly susceptible wetlands Least susceptible wetlands
Storm bounce Existing Existing plus 0.5 feet Existing plus 1.0 feet No limit
Discharge rate from wetland Existing Existing Existing or less Existing or less
Inundation period for 1 and 2 year precipitation event Existing Existing plus 1 day Existing plus 2 days Existing plus 7 days
Inundation period for 10 year precipitation event and greater Existing Existing plus 7 days Existing plus 14 days Existing plus 21 days
Run-out control elevation (free flowing) No change No change 0 to 1.0 feet above existing run out 0 to 4.0 feet above existing run-out
Run-out control elevation Above delineated wetland Above delineated wetland Above delineated wetland Above delineated wetland

BMP Selection: Additional guidance on BMP design to protect wetlands is offered below.

• BMPs such as stormwater wetlands, infiltration systems, and bioretention are encouraged to treat runoff prior to discharge to a wetland.
• Direct pipe outfalls to wetlands should be restricted (e.g., not allowed, allowed if energy dissipated, or routed through a pre-treatment system).
• Stormwater should be routed around sensitive wetlands using a diversion or bypass system.
• Constrictions at wetland outlets should be avoided.
• Natural wetlands should not be used for stormwater treatment, unless they are severely impaired and construction would enhance or restore wetland functions; if natural wetlands are used in this manner, MN Rules 7050 establishes the sequence of avoid, minimize and compensatory replacement.
• The discharge of untreated stormwater to a wetland is prohibited.

## Impaired waters

Under the Clean Water Act, Minnesota administers water quality standards which consist of numeric and narrative criteria that protect the physical, chemical and biological integrity of surface waters in the state. These criteria are set to maintain seven designated or beneficial uses of water in the state. The state routinely monitors the quality of its waters to determine if they are meeting their designated uses. If monitoring indicates that water quality standards are not being met and/or designated uses are not being achieved, the state lists the water as being “impaired”. This, in turn, triggers the Total Maximum Daily Load (TMDL) provisions of the Clean Water Act.

A TMDL study consists of an analysis to determine what pollutant reduction is needed to achieve water quality standards, and is normally conducted at the watershed scale. A TMDL determines the amount of pollutants that a waterbody can receive from both point and nonpoint sources and still meet water quality standards (e.g., no impairment). Water quality sampling and computer modeling determine how much each pollutant source needs to be reduced to assure the water quality standard is met.

Impaired waters include streams and lakes that do not meet their designated uses because of excess pollutants or identified stressors. As of 2004, 916 lakes and 199 river and stream segments were listed as impaired waters for Minnesota (MPCA, 2004). Each listed water will ultimately require a TMDL based on the assessment. Currently, there are 14 pollutants causing water quality standard violations in some part of the state.

• sediment
• phosphorus
• nitrogen
• ammonia
• fecal coliform
• oxygen demand
• turbidity
• chloride
• DDT
• dieldrin
• mercury
• PCBs
• toxaphene
• dioxin

To date (fall 2005), only four final TMDLs and their corresponding implementation plans have been completed in Minnesota, so many listed waters currently lack a TMDL or are in the process of developing one.

While none of the completed TMDL implementation plans currently contain stormwater requirements, they may eventually be included if stormwater pollution is determined to be a significant source of the listed pollutant. Therefore, development projects that occur in a listed watershed may require a higher level of stormwater treatment, regardless of whether a TMDL has been completed or not. The main reason is that both municipal NPDES Phase I or II stormwater permits and individual construction general permits must be consistent with the load allocations and pollutant reductions contained in an approved TMDL. If stormwater runoff is likely to be a significant pollutant source within a listed watershed, the local review authority may elect to require higher levels of stormwater treatment to restore the impaired water.

Some general guidance on how to deal with stormwater pollutant loads at development sites located within listed waters is provided below.

First, the local review authority should check with MPCA to determine:

• whether any local waters as listed as impaired;
• which pollutant(s) is causing the impairment to be listed;
• the estimated watershed area to the receiving water;
• the timeframe under which the water will fall under the TMDL program; and
• whether stormwater is expected to be a significant source of the impairment for the indicated pollutant.

Second, if an impairment exists, the local reviewing authority should determine whether the indicated pollutant is considered computable or non-computable. In the context of stormwater, “computable” is defined as a pollutant for which enough data exist to perform a site-based pollutant load calculation that documents no increase or even a reduction in pollutant loading. By contrast, “non-computable” pollutants lack enough data to perform a reliable site based pollutant reduction calculation. See File:Issue paper E - receiving water based stormwater criteria final.pdf for determining pollutant computability. Computable pollutant must pass the following four tests:

• enough stormwater EMC data is available to characterize its average level in stormwater;
• stormwater concentrations are high enough to constitute a major source in the stormwater load allocation;
• sufficient BMP performance data are available to estimate expected removal for a range of stormwater practices; and
• stormwater removal rates are high enough to warrant performing the calculation.

Currently, only five pollutants meet all four criteria -- sediment, phosphorus, nitrogen, ammonia, and fecal coliform bacteria). A stormwater strategy to deal with computable and non-computable pollutants within listed is offered below.

Water Quality: Computable pollutants If a new development site is located in a watershed subject to a TMDL that has no remaining stormwater allocation, the local review authority may wish to adopt a “no net increase” policy for the listed computable pollutant (e.g., sediment, phosphorus, nitrogen, ammonia or fecal coliform). Pollutant removal calculations should be conducted on a site-by-site basis, using the general method proposed for the Most-Sensitive Lakes, adapted for the listed pollutant.

Water Quality: Non-computable pollutants Since non-computable pollutants lack enough data to perform a site-based load reduction calculation, they can only be managed by increasing the Vwq assuming that a higher level of pollutant reduction will occur within the BMP. In these situations, the local review authority may wish to require that development sites satisfy MPCA water quality volume sizing Rules 2 or 4, depending on the type of BMP employed.

Channel Protection: Recommend for waters listed for sediment or sediment related pollutant. Given the importance of channel erosion in the sediment budget of urban streams, it is advisable to require channel protection criteria in watersheds that are listed for sediment. In all cases, the local review authority should check with MPCA to determine what, if any, water quality or channel protection requirements need to be addressed as part of TMDL implementation.

BMP Selection: The selection and design of specific BMPs to address impaired water pollutant reductions will be determined through the TMDL process.


text:
# Map of maps

## Making a map of maps with geofacets and R

On Friday a colleague showed me an interesting chart, a map of maps. I believe the original was made in Tableau, but I decided to spin one up in R. I tweeted out the picture:

In this post I will supply the R code to make one.

# load required libraries ----
library(data.table)
library(tidyverse)
library(geofacet)

Data wrangling code

We will go and get the Freddie Mac House Price Index for the 50 states and DC. We’ll also create a function to create bivariate correlations. Finally, we’ll create a tibble that has all pairs of states and calculates the bivariate correlation in 12-month house price appreciation (monthly) from January 1990 through January 2020.

# get data ----

dt[,date:=as.Date(ISOdate(Year,Month,1))
][,hpa:=Index_SA/lag(Index_SA,12)-1,by=.(GEO_Type,GEO_Name,GEO_Code)]

# function to compute bivariate (state-to-state) correlation in 12-month house price appreciation rate

corf <- function(s1="CA",s2="AZ"){
cor(dt[GEO_Name==s1&!is.na(hpa) & Year>1989,]$hpa,dt[GEO_Name==s2 &!is.na(hpa) & Year>1989,]$hpa)
}

# create correlation matrix

df <-
expand_grid(state1=unique(dt[GEO_Type=="State",]$GEO_Name), state2=unique(dt[GEO_Type=="State",]$GEO_Name)) %>%
mutate(correlation=map2(state1,state2,corf)) %>%
unnest(correlation)

df <-left_join(df,us_state_grid1,by=c("state1"="code"))

Now with the data we can make a chart. FIrst, let’s use geofacet to display a grid of line charts arranged on a grid that resembles the United States.

# plot timelines

ggplot(data=filter(dt,GEO_Type=="State",Year>1989), aes(x=date,y=hpa))+
geom_line()+
geom_area(fill="dodgerblue",alpha=0.25)+
theme_minimal()+
scale_y_continuous(labels=scales::percent)+
scale_x_date(guide=guide_axis(check.overlap = TRUE))+
facet_geo(~GEO_Name)+
theme(plot.title=element_text(face="bold",size=rel(1.2)),
plot.caption=element_text(hjust=0))+
labs(x="",y="",
subtitle="12-month percent change in house price index",
title="State house price growth rate Jan 1990 - Jan 2020",
caption="@lenkiefer Source: Freddie Mac House Price Index")

The geofacet makes it clear that there is correlation across space. The coasts tend to be more volatile.

Let’s try to visualize the correlation matrix. We will take advantage of some new ggplot2 features, including putting the axis labels on two lines and automagically creating a discrete color scale by binning a continuous variable.

# plot correlation matrix

ggplot(data=df, aes(x=state1,y=state2,fill=correlation))+
geom_tile()+
scale_x_discrete(guide = guide_axis(n.dodge = 2))+
scale_y_discrete(guide = guide_axis(n.dodge = 2))+
scale_fill_binned(type="viridis",n.breaks=9)+
theme_minimal()+
geom_tile(color="black",size=0.3,fill="transparent",data=filter(df,state1==state2))+
theme(plot.title=element_text(face="bold",size=rel(2)),
legend.position="top",
legend.direction="horizontal",
legend.key.width=unit(2,"cm"),
panel.grid=element_blank(),
plot.caption=element_text(hjust=0))+
labs(x="",y="",
title="State-to-State house price correlation",
subtitle="correlation in states' 12-month percent change in house price index: Jan 1990-Jan 2020\nown state correlation (=1) denoted by black border",
caption="@lenkiefer Source: Freddie Mac House Price Index")

That’s quite hard to decipher. Instead we could make a geofacet map to show how one state correlates to others. Effectively we are taking one column, Florida in the example below, and plotting it as a geofacet.

I first tried to use @hrbrmstr Bob Rudis’ statebin package, but he hasn’t pushed the latest updates to CRAN. While I could get the development version, I found that geom_statebin didn’t have all the flexibility I wanted. Turns out, I can use a use the state grid (us_state_grid1) from the geofacet package and plot with geom_tile. Then I could wrap that within a call of facet_geo(). See the code below.

ggplot(data=filter(df,state2=="FL"), aes(y=-row,x=col,fill=correlation,label=state1))+
geom_tile(color="white",size=0.7)+
scale_fill_stepsn(colors=viridis::viridis(12),
breaks=seq(-0.2,1,0.1),
limits=c(-0.2,1))+
geom_text(color="white",fontface="bold")+
facet_wrap(~state2)+
theme_minimal()+
theme(plot.title=element_text(face="bold",size=rel(2)),
axis.text=element_blank(),
legend.position="top",
legend.direction="horizontal",
legend.key.width=unit(2,"cm"),
panel.grid=element_blank(),
plot.caption=element_text(hjust=0))+
labs(x="",y="",
title="Florida State-to-State house price correlation",
subtitle="correlation in states' 12-month percent change in house price index: Jan 1990-Jan 2020\nown state correlation (=1) denoted by black border",
caption="@lenkiefer Source: Freddie Mac House Price Index")

Now we can make one of these maps for each of the states and stick it into a geofacet grid. Then we’ll have a map of maps:

ggplot(data=df, aes(y=-row,x=col,fill=correlation,label=state1))+
geom_tile(color="white",size=0.7)+
scale_fill_binned(type="viridis",n.breaks=9)+
geom_tile(color="black",size=0.3,fill="transparent",data=filter(df,state1==state2))+
facet_geo(~state2)+
theme_minimal()+
theme(plot.title=element_text(face="bold",size=rel(1.5)),
axis.text=element_blank(),
legend.position="top",
legend.direction="horizontal",
legend.key.width=unit(2,"cm"),
panel.grid=element_blank(),
plot.caption=element_text(hjust=0))+
labs(x="",y="",
title="State-to-State house price correlation",
subtitle="correlation in states' 12-month percent change in house price index: Jan 1990-Jan 2020\nown state correlation (=1) denoted by black border",
caption="@lenkiefer Source: Freddie Mac House Price Index")

Following a helpful suggestion from Twitter, I highlighted each state within its own cell with a black grid.

format: plain


text:
# Inverse image and continuity

by im2fastfouru
Tags: continuity, image, inverse
 P: 6 Any help on this problem would be appreciated a) Show that (f^-1 S)compliment is equal to f^-1(S compliment) for any set S of reals. Then use part a) to show The function f is continuous iff f^-1(S) is closed for every closed set S.
P: 1,633
 Quote by im2fastfouru Any help on this problem would be appreciated a) Show that (f^-1 S)compliment is equal to f^-1(S compliment) for any set S of reals. Then use part a) to show The function f is continuous iff f^-1(S) is closed for every closed set S.
Well, i am gonna give a shot, but wait untill some other people answer this as well.

Let

$$x\in \bar f^{-1}(S)=>x\notin f^{-1}(S)=>x\in f(S)=>y\in S=>y\notin \bar S=>x\notin f(\bar S)=>x \in f^{-1}(\bar S)$$

SO from here:

$$\bar f^{-1}(S)\subseteq f^{-1}(\bar S)$$

I think now you should go the other way around. I am not sure whether my reasoning is correct though. SO let someone else comment on this before you conclude on your answer.
P: 587
 Quote by sutupidmath $$x\in \bar f^{-1}(S)=>x\notin f^{-1}(S)=>x\in f(S)=>y\in S=>y\notin \bar S=>x\notin f(\bar S)=>x \in f^{-1}(\bar S)$$

Can you explain how you conclude that x must be in f(S) (third step)?

It is helpful to think of the domain and the codomain as different spaces (although here they both happen to be R, I assume).

You start with an x in the domain of f, in the statement I ask you to explain you consider the same x as an element of the codomain. I'm not saying that this can never be correct, but I think here it is not.

 Related Discussions Programming & Computer Science 4 Calculus & Beyond Homework 1 Calculus & Beyond Homework 1 Set Theory, Logic, Probability, Statistics 10 Set Theory, Logic, Probability, Statistics 5


text:
# Rotate a column

Given an integer k and either a block of text, or a 2d array that the inner arrays may have unequal lengths (that resembles a block of text), rotate every character or element in the k-th column up or down to the next position that exists.

### Example

Rotate the 20th column of the following text (1-based):

A line with more than k characters.
A longer line with more than k character.
A short line.
Rotate here: ------v--
This is long enough.

This is not enough.
Wrapping around to the first line.

Output:

A line with more thtn k characters.
A longer line with aore than k character.
A short line.
Rotate here: ------m--
This is long enoughv

This is not enough.
Wrapping around to .he first line.

Rotating the k-th column of the same input where 35 < k < 42 would yield the input text unchanged.

### Rules

• You may use raw text, an array of lines, a 2d array of characters, or any reasonable format to represent the data. You may also use data types other than characters.
• The number of possible values of the data type of the elements must be at least 20 if your code length depends on it, otherwise at least 2. This could be a subset of the characters or other values supported in the native type.
• Spaces and any kind of null values are just normal values, if you allow them in the input. You may also simply exclude them in the element type.
• Rule change: You are allowed to pad the shorter arrays with a generic default value (such as spaces), if you prefer using arrays with equal lengths to store the data.
• k could be 0-based or 1-based. It is guaranteed to be inside the longest line in the input (implying the input has at least one non-empty line).
• You may choose whether it rotates up or down.
• Either just rotate one position, or rotate n positions where n is a positive integer given in the input.
• Shortest code wins.

# APL (Dyalog Extended), 9 bytesSBCS

Full program. Prompts stdin for 2D block of text, then k (0-based or 1-based, depending on APL's current setting), then n. Positive n rotate up, negative n rotate down.

The domain consists of either one of the following:

1. all Unicode characters, except spaces, leaving 1114111 allowed values, which is more than the required 20.

2. all numbers, except 0, leaving approximately 2129 allowed values, which is more than the required 20.

Since APL requires 2D blocks to be rectangular, the input must be padded with spaces/zeros. This can be done automatically by entering ↑ to the left of a list of strings/numerical lists.

⎕⌽@≠@⎕⍢⍉⎕

Try it online! (the apparent spaces are actually non-breaking spaces)

⎕ prompt for text block

⍢⍉ while transposed:

@⎕ apply the following on the input'th row:

@≠ at elements different from their prototype (space for characters, zero for numbers):

⎕⌽ rotate "input" steps left

# APL (Dyalog Unicode), 22+ bytesSBCS

This version allows the full character set by using zeros as identifiable fill element.

0~¨⍨↓⍉⎕⌽@(0≠⊢)@⎕⍉↑0,¨⎕

Try it online!

This of course means that zeros are not allowed in numeric arguments. The corresponding program for all numbers would have the three occurrences of 0 replaced by ' ' and thus use space as fill:

' '~¨⍨↓⍉⎕⌽@(' '≠⊢)@⎕⍉↑' ',¨⎕

If we truly want the full ranges of (even a mixture of) both characters and numbers, we could use null as fill:

n~¨⍨↓⍉⎕⌽@(n≠⊢)@⎕⍉↑⎕,¨⍨n←⎕NULL

And finally, if we wanted to include nulls and objects in the input domain, we could define a fill class and use instances of this as fills:

~∘I¨⍨↓⍉⎕⌽@(~⊢∊I←⎕INSTANCES⊢∘C)@⎕⍉↑⎕,¨⍨⎕NEW⎕FIX':Class C' ':EndClass'

• Now officially declare this (and the new answers like this) as a valid answer. Sorry if this has bothered you too much. – jimmy23013 Mar 28 at 23:55
• Shorter than your null version: n~¨⍨↓⍉⎕⌽@(≢¨)@⎕⍉↑⎕,¨⍨n←⊂⊂⍬. Maybe you could add modded ↑ ↓ in your extension to help further golfing (but I'm not exactly sure how useful they are). – jimmy23013 Mar 29 at 0:09
• @jimmy23013 Yeah, I thought of that, but then it can't take lists of arbitrarily nested stuff. The last one is the ultimate solution, especially if C and I are localised so they don't pollute: {~∘I¨⍨↓⍉⎕⌽@(~⊢∊I←⎕INSTANCES⊢∘C)@⎕⍉↑⎕,¨⍨⎕NEW⎕FIX I←C←':Class C' ':EndClass'} – Adám Mar 29 at 0:43

# Python 2, 111110109999896 94 bytes

lambda a,n:[l[:n]+(l[n:]and[L[n]for L in a[i:]+a if L[n:]][1]+l[n+1:])for i,l in enumerate(a)]

Try it online!

Takes input as a list of lines and 0-index column, and returns a list of strings.

Column is rotated up 1.

-11 bytes, thanks to Jo King

# Java 8, 107106135 107 bytes

k->m->{int s=m.length,i=-1;for(char p=0,t;i<s;t=m[i%s][k],m[i%s][k]=p<1?t:p,p=t)for(;m[++i%s].length<=k;);}

+29 bytes for a bug-fix..

0-indexed; rotates down like the example.
Input as a character-matrix; modifies the char-matrix instead of returning a new one to save bytes.

Try it online.

Explanation:

k->m->{                 // Method with integer and char-matrix parameters and no return-type
int s=m.length,       //  Amount of lines in the matrix s
i=-1;             //  Index-integer i, starting at -1
for(char p=0,         //  Previous-character, starting at 0
t;           //  Temp-char, uninitialized
i<s               //  Loop as long as i is smaller than s:
;                 //    After every iteration:
t=m[i%s][k],     //     Set the temp to the kth character of the i'th line
m[i%s][k]=       //     Replace the k'th character of the i'th line with:
p<1?           //      If p is still 0:
t             //       Set it to the temp we just set
:              //      Else:
p,            //       Set it to the previous-character instead
p=t)             //     And then replace p with the temp for the next iteration
for(;m[++i          //   Increase i by 1 before every iteration with ++i,
%s].length //   And continue this loop until the length of the i'th line
<=k;);}      //   is smaller than or equal to the input k

• One thing I noticed is that you make an assumption that the first line has enough characters - char p=m[0][k] - if it doesn't, won't this throw an exception? Nice job btw. You are beating my C# attempt by a large margin :) – dana Mar 28 at 13:31
• @dana Ah, shit, you're right.. I'm probably beating you by this large of a margin because I accidentally make that assumption.. Will try to fix it. – Kevin Cruijssen Mar 28 at 13:33
• @dana Fixed, thanks for noticing. – Kevin Cruijssen Mar 28 at 13:44
• @dana And back to 107 again. ;) – Kevin Cruijssen Mar 28 at 19:45
• @EmbodimentofIgnorance Ah, forgot to change that n to k. I usually use n for integer-inputs, but since the question uses $k$ I later on changed it (but apparently not everywhere). As for int p=0,t; then I will need a cast to char when assigning p to a cell (m[i%s][k]=(char)(p<1?t:p)). And although I could take the input as an integer-matrix, I personally think int-matrix =/= string/string-list/char-matrix.. – Kevin Cruijssen Mar 29 at 7:21

# Zsh, 94 87 78 74 bytes

-7 bytes by changing to an arithmetic ternary, -9 bytes by changing the character in-place (TIL), -4 bytes by inputting the index on stdin and the strings as arguments.

read i
for s;c+=($s[i]) c=($c[-1] $c) for s;s[i]=$c[$[$#s<i?0:++j]]&&<<<$s  So, my previous comment about the subshell printing is now outdated, but here it is with the old last line for posterity: for s;echo$s[0,i-1]$c[$[$#s<i?0:++j]]${s:$i}  Hey, Gamma, why did you use echo in that last command instead of <<<? Wouldn't <<< save you two bytes? I'm glad you asked! Go ahead and give it a try. See if you can figure out what's happening. (Hint: Run echo$ZSH_SUBSHELL; <<< $ZSH_SUBSHELL.) You get 0 for echo, but 1 for <<<. Here-strings are run in subshells because they are given as stdin to another program. If there is no program given, it is implicitly given to cat. You can see this with <<<$_. <<< $ZSH_SUBSHELL is similar to echo$ZSH_SUBSHELL | cat. Since we need to increment j, we can't be in a subshell.

Anyway, on to the main event:

i=$1 shift for s c+=($s[i])                       # without "", empty strings aren't added
c=($c[-1]$c)                        # add the last element onto the start
for s
echo $s[0,i-1]$c[$[$#s<i?0:++j]]${s:$i}
$s[0,i-1]${s:$i} # before and after the replacement point$c[              ] # insert from char array
$[$#s<i?0    ]  # Sting is too small: at index 0: empty string
$[$#s<i  :++j]  # Increment j and insert from there
# j is unset, so ++j initially sets j to 1

# R, 62 bytes

function(L,n){L[A,n]<-rep(L[A<-L[,n]!=' ',n],2)[1+1:sum(A)];L}

Try it online!

Takes input as a space-padded matrix of characters. Rotates upwards. All thanks to Kirill L.!

# R, 74 bytes

function(L,n){substr(L[A],n,n)=rep(substr(L[A<-nchar(L)>=n],n,n),2)[-1]
L}

Try it online!

This submission predates the allowance of padded lines.

Aliasing substr here won't work because we're calling substr and substr<- in the first line.

I/O as a list of non-padded lines; rotates upwards.

• Since consensus allows modifying inputs, we can do this crazy thing – Kirill L. Mar 29 at 9:49
• Also, OP relaxed the rules, so that it is now possible to work with space-padded matrices, something like this – Kirill L. Mar 29 at 9:50
• @KirillL. I don't think that R passes by reference so we probably aren't allowed to do that; it strikes me that this only works if the argument is named L in the parent environment. I'll happily update to the space-padding, though! – Giuseppe Mar 29 at 14:42
• Ah, I see, you're right. I came up with this idea looking at my Ruby answer (which saves a whole 1 byte this way :)), but the languages indeed behave differently in this situation. – Kirill L. Mar 29 at 15:16

# C# (Visual C# Interactive Compiler), 82 bytes

k=>a=>{var c='0';a.Where(b=>b.Count>k&&((b[k],c)=(c,b[k])).c>0).ToList()[0][k]=c;}

Try it online!

Credit to @ASCIIOnly for suggesting foreach which led to a 12 byte savings!

-8 bytes thanks to @someone!
-1 byte thanks to @EmbodimentofIgnorance!

• 184 bytes – Expired Data Mar 28 at 14:41
• Maybe 183 if using ints instead of chars – Expired Data Mar 28 at 14:46
• @ExpiredData ew int instead of char – ASCII-only Mar 29 at 6:05
• too bad you can't use a foreach since it's the opposite order :( – ASCII-only Mar 29 at 6:08
• Use dynamic to merge declarations and save 2 bytes (I've never seen this before!)Try it online! – someone Mar 30 at 7:25

# Ruby, 57 bytes

->a,k{b=a.map{|i|i[k]}-[p];c=-2;a.map{|i|i[k]&&=b[c+=1]}}

Try it online!

Takes input as an array of lines a. Rotates the text down at 0-based position k. Returns by modifying the input a.

# 05AB1E, 21 bytes

ʒg‹}U¹εXyk©diX®<èIèIǝ

Can definitely be golfed some more..

0-indexed; input and output both as a list of strings.
It rotates down like the example, but < can be replaced with > to rotate up instead.

Try it online (footer joins the list by newlines, remove it to see the actual list output).

Explanation:

ʒ  }             # Filter the (implicit) input-list by:
g               #  Where length of the current string
‹              #  is larger than the (implicit) input-integer
U            # Pop and store this filtered list in variable X
¹ε               # Map over the first input-list again:
Xyk            #  Get the index of the current string in variable X
©           #  Store it in the register (without popping)
di         #  If the index is not -1, so the current string is present in variable X
X®<è     #   Get the (index-1)'th string in variable X
Iè   #   Get the character at the index of the input-integer
Iǝ #   And insert it at the index of the input-integer in the current string

# K4, 41 bytes

Solution:

{.[x;i;:;.q.rotate[1;x . i:(&y<#:'x;y)]]}

Explanation:

Not sure if I'm missing something... 0 index, rotates up (change the 1 to -1 for rotate down)

{.[x;i;:;.q.rotate[1;x . i:(&y<#:'x;y)]]} / the solution
{                                       } / lambda taking implicit x and y
.[x; ;:;                              ]  / index apply assignment back into x
.q.rotate[1;                 ]   / left rotate 1 character
(       ; )    / two item list
y     / index to rotate
#:'x       / count (#:) each (') input
y<           / index less than ?
&             / indexes where true
i:               / assign to variable w
x .                  / index into x
i                                    / indexes we saved as i earlier

# Japt v2.0a0, 18 bytes

0-based with input & output as a multi-line string. Rotates up by 1.

There's gotta be a shorter method!

yÈr\S_Y¦V?Z:°TgXrS

Try it

yÈr\S_Y¦V?Z:°TgXrS     :Implicit input of string U & integer V
y                      :Transpose
È                     :Pass each line X at 0-based index Y through the following function & transpose back
r                    :  Replace
\S                  :  RegEx /\S/g
_                 :  Pass each match Z through the following function
Y¦V              :    Test Y for inequality with V
?Z:           :    If true, return Z, else
°T         :    Increment T (initially 0)
g        :    Index into
XrS     :    X with spaces removed

• I haven't looked closely at the comments and new rules (so perhaps it's somewhere mentioned it's allowed now, while it wasn't before), but is it allowed to skip spaces of the initial input? Let's say you change the input-index to 6, your answer would skip the space at line with in the first line and at Rotate here in the fourth line, whereas most of the other answers would rotate that space as well. – Kevin Cruijssen Mar 29 at 14:30
• @KevinCruijssen, I'm a bit confused by all the additional rules & allowances but, if it is an issue, it looks like I can get around that by not allowing spaces in the input. I think. – Shaggy Mar 29 at 15:12
• "I think" This part is indeed how I would also respond, haha. I have no idea what is mandatory and optional anymore, but I think you can indeed choose to omit spaces in the in- and output; I think you can choose to count spaces or not; and I think you can use trialing spaces in the output or not; etc. All on all rather confusing. Ah well.. – Kevin Cruijssen Mar 29 at 17:04

# Jelly, 16 bytes

z⁷⁹ịỴFṙ-ṁƲY⁸ṛ⁹¦"

A dyadic Link accepting a list of lines (lists of characters containing no newline characters) on the left and an integer on the right which returns a list of lines.

Try it online! (footer splits on newlines, calls the Link, and joins by newlines again)

### How?

z⁷⁹ịỴFṙ-ṁƲY⁸ṛ⁹¦" - Link: lines L; index I        e.g. example in question; 20
z⁷               - transpose L with filler '\n'       ['AAART\nTW', '   oh\nhr', ...]
⁹ị             - Ith item                           'am\nv.\n\nt'
Ỵ            - split at newlines                  ['am', 'v.', '', 't']
F           -   flatten                          'amv.t'
-         -   -1
ṙ          -   rotate left by                   'tamv.'
ṁ        -   mould like X                     ['ta', 'mv', '', '.']
Y      - join with newlines                 'ta\nmv\n\n.'
-   -- call this C
⁸     - chain's left argument, L
" - zip with - i.e. [f(L1,C1), f(L2,C2), ...]:
¦  -   sparse application...
⁹   -   ...to indices: chain's right argument, I
ṛ    -   ...of: right argument, Cn

# perl 5 (-p), 75 bytes

k is 0-indexed, rotate down

s/.*//;$r="^.{$&}";s/
//;/$r(.)/;$c=$1;s/$r\K.(?=(?s:.)*?$r(.)|)/$1||$c/gme  TIO # Perl 6, 38 33 bytes Modifies the array in place (rules don't disallow) {@^a.grep(*>$^b+1)[*;$b].=rotate}  Try it online! • @joking At first I thought storing it rather than outputting it would be a bit cheating, but rereading the rules, there's no actual stipulation to output so … hooray. Doing a (…)(…) to get 31 like you have definitely seems to be cheating though, since it's effectively hoisting a call out of the block, but it can still be done with 33 passing them simultaneously with a single call so I'm going go with that. – guifa Mar 30 at 2:25 • ah oops, i pasted the wrong link. you got what I mean to comment though. Currying input is perfectly fine though (though it doesn't work in this case), and modifying an argument passed by reference is a standard forn of allowed input – Jo King Mar 30 at 3:54 # JavaScript (Node.js), 52 bytes k=>a=>a.filter(b=>b[k]&&([b[k],a]=[a,b[k]]))[0][k]=a  Try it online! -7 bytes thanks to Shaggy! Didn't see a JavaScript answer yet! Port of my C# answer. • 63 bytes. Can probably be golfed further. – Shaggy Mar 30 at 15:02 • @Shaggy - nice :) most of the time I see JS answers doing all sorts of crazy things. Figured this time I'd give it a shot since I had a strategy. – dana Mar 30 at 15:12 • Oh, nicely golfed! :) – Shaggy Mar 31 at 2:01 # Charcoal, 3428 21 bytes θＪη⁰≔ΦＫＤＬθ↓℅ιζＵＭζ§ζ⊖κ  Try it online! Link is to verbose version of code. Takes an array of strings as input. 0-indexed. Edit: Now that PeekDirection has been fixed, I can manipulate it directly. Explanation: θ  Print the input strings. Ｊη⁰  Jump to the top of the column to be rotated. ≔ΦＫＤＬθ↓℅ιζ  Extract the cells that have been printed in. ＵＭζ§ζ⊖κ  Replace each printed cell with the value of the previous cell (cyclically). Conveniently the cell values are read at the time of the PeekDirection call so the fact that the MapCommand call writes new values into the cells doesn't matter. # Pip-rn, 32 bytes POgY#(g@_)>aFI,#gFiyAE@ySsg@i@ag  0-indexed, rotates down. Try it online! Filters to find the indices of all rows that are long enough to participate in the rotation. Then loops over those rows, swapping the appropriate character on each row with a temp variable s. Visiting the first row again at the end swaps the dummy value back out again. # Jelly, 19 bytes ZnÄ×$ịḟ¹ṙ-;ɗɗʋ€⁹¦⁶Z

Try it online!

1-indexed. Rotates down. A monadic link that takes a right-padded list of Jelly strings (a list of lists of characters) as the first argument and k as the second. Spaces are forbidden in the input except as right padding, but all other characters are permitted.

As implemented on TIO, the footer splits a single string input into a list of strings and right-pads it, but this is for convenience; as I understand it, the result of that step is permitted input for the main link per the rules.

# GFortran, 199 bytes

-20 or so by reading from stdin rather than a file
-14 by using implicit integers for i, k, n
-4 by removal of spaces and ::

Requires user to input k and n on the first line, where k is the column to rotate, and n is the number of rows of text. Subsequent inputs are the lines of text to be rotated. This was a pain to write! Fortran is so pedantic!

character(99),allocatable::A(:);character(1)r,s
if(r.ne.''.or.r.ne.' ')then;A(i)(k:k)=s;s=r;endif;enddo
A(1)(k:k)=s;print'(A)',A;end

# T-SQL, 195 bytes

WITH C as(SELECT rank()over(order by i)r,sum(1)over()c,*FROM @t
WHERE len(x)>=@)SELECT
isnull(stuff(c.x,@,1,substring(e.x,@,1)),t.x)FROM @t t
LEFT JOIN c ON t.i=c.i
LEFT JOIN c e ON e.r%c.c+1=c.r

Try it online ungolfed version


text:
NZ Level 4
Common Percents
Lesson

One of the most common uses for percentages is when working with money, whether they're payments, costs, earnings, interest or more. Money is all around us and we're constantly calculating percentages of them!

It's important to note that in our everyday lives, we usually work with some sort of currency like dollars and cents. So that means if we're talking about dollars, we usually round everything off to two decimal places. For example $\$25.78$$25.78 means 2525 dollars (pounds if you're in the UK) and 7878 cents. It doesn't make sense to us to have something like \25.781$$25.781 as we can not have $0.001$0.001 of a dollar or $0.1$0.1 of a cent.

It's also important to realise that in a lot of currencies the smallest coin is $5$5 cents, so for example if we wanted to pay for something in cash we will have to round amounts to the nearest $5$5 cents. Therefore our previous amount of $\$25.78$$25.78 will have to be rounded up to \25.80$$25.80

## Using Decimals

So far when multiplying percentages we have only been using them in their fractional form. However, since money is usually expressed as decimals, we can also use percentages in their decimal form. For example, to find $19%$19% of $\$48$$48 we usually multiply the two. 19%\times4819%×48 can also be written as 0.19\times48=9.120.19×48=9.12, so the answer is \9.12$$9.12.

What do you think the answer would be if we had to round that answer to the nearest $5$5 cents?

### Outcomes

#### NA4-3

Find fractions, decimals, and percentages of amounts expressed as whole numbers, simple fractions, and decimals


text:
# von Neumann entropy

## English

Wikipedia

Wikipedia has an article on:

Wikipedia

Wikipedia has an article on:

Wikipedia

### Etymology

Named after John von Neumann.

### Pronunciation

• IPA(key): /vɔn ˈnoɪ.mən ˈɛn.tɹə.pi/

### Noun

von Neumann entropy

1. (quantum mechanics) The entropy of a quantum state. If the state is expressed as a quantum density matrix $\rho$, then this entropy can be expressed mathematically as $S = -\text{tr}(\rho \log \rho)$ where $\text{tr}$ is the trace operator and the logarithm is natural.


text:
# Problem with apa style

I have a problem using apa style in BibLaTeX.

\documentclass[a4paper,14pt]{extarticle}

\usepackage{cmap}
\usepackage{mathtext}
\usepackage[T2A]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[english,russian]{babel}

\usepackage{csquotes}
\usepackage[style=apa,backend=biber,sorting=nyt]{biblatex}

\begin{document}

Text, text...
\nocite{*}
\printbibliography

\end{document}

Error message:

! Undefined control sequence.
<argument> \mkbibdateapalongextra
{year}{month}{day}\iffieldundef {endyear}{...

I found solutions for other languages but TeXstudio doesn't recognize \DeclareLanguageMapping and I didn't find russian-apa.lbx.

• Welcome to TeX SX! You might try to write it yourself. It is not that long. – Bernard Feb 26 '16 at 0:17

biblatex-apa defines some essential macros in the .lbx files, so for every language you use in your document you need

\DeclareLanguageMapping{<lang>}{<lang>-apa}

Starting from biblatex v3.8/biblatex-apa v7.5 there should be no need for manual \DeclareLanguageMappings any more. biblatex-apa now automatically sets the mappings for all languages with \DeclareLanguageMappingSuffix{-apa}. Of course this can only work if the file <lang>-apa.lbx is present.

Unfortunately, there is no russian-apa.lbx and so the line \DeclareLanguageMapping{russian}{russian-apa} won't really help, we only get a message that rusian-apa.lbx was not found and the mapping is ignored.

The best solution is to write russian-apa.lbx. You can take any of the ...-apa.lbxs as starting point and translate the file. See What is the most appropriate way to configure biblatex for use with an unsupported language?. Here this would probably involve copying english-apa.lbx to russian-apa.lbx, changing the date and ID at the top, translating the contents and modifying the date format to Russian usage.

For a quick fix you can simply add

\DefineBibliographyExtras{russian}{%
\protected\def\mkbibdateapalong#1#2#3{%
\iffieldundef{#1}%
{}%
{\iffieldbibstring{#1}{\biblcstring{\thefield{#1}}}{\thefield{#1}}}%
\iffieldundef{#2}%
{}%
{\iffieldundef{#1}%
{}%
\mkbibmonth{\thefield{#2}}}%
\iffieldundef{#3}%
{}%
{\ifthenelse{\iffieldundef{#2}\OR\iffieldundef{#1}}%
{}%
\stripzeros{\thefield{#3}}}}%
\protected\def\mkbibdateapalongextra#1#2#3{%
\iffieldundef{#1}%
{}%
{\iffieldbibstring{#1}{\biblcstring{\thefield{#1}}}{\thefield{#1}}\printfield{extrayear}}%
\iffieldundef{#2}%
{}%
{\iffieldundef{#1}%
{}%
\mkbibmonth{\thefield{#2}}}%
\iffieldundef{#3}%
{}%
{\ifthenelse{\iffieldundef{#2}\OR\iffieldundef{#1}}%
{}%
\stripzeros{\thefield{#3}}}}%
\protected\def\mkbibdateapalongmdy#1#2#3{%
\iffieldundef{#2}%
{}%
{\mkbibmonth{\thefield{#2}}}%
\iffieldundef{#3}%
{}%
\stripzeros{\thefield{#3}}%
\iffieldundef{#1}%
{}%
{\ifthenelse{\iffieldundef{#3}}%
{\ifthenelse{\iffieldundef{#2}}%
{}%


text:
# Range of Motion of the iCub Shoulders¶

The range of motion of the shoulders of iCub 2.x is constrained by the length of the tendons. Unfortunately, these constraints cannot be written in the form $$\left[\theta_{\text{min}}, \; \theta_{\text{max}}\right]$$, which are the constraints currently implemented in the firmware.

Warning

Therefore, care must be taken when controlling the arm in the Joint Space to avoid reaching configurations that may break the tendons.

Note

By contrast, when controlling the arm in the Cartesian Space by means of the Cartesian Controller, the software will always find solutions for the reaching task that comply with the cable length constraints.

## Correct Limits¶

The length of the tendons imposes the following constraints on the shoulder's joints:

$$$\mathbf{A} \cdot \mathbf{q} + \mathbf{b} > 0,$$$

where $$\mathbf{q}$$ is the vector of the 3 shoulder's joints, whereas:

$$$\mathbf{A} = \begin{pmatrix} c & -c & 0 \\ -1 & 1 & 0 \\ -c & c & 0 \\ 1 & -1 & 0 \\ 0 & -1 & 0 \\ 0 & 1 & 0 \\ 0 & 1 & 0 \\ 0 & -1 & 0 \\ c & -c & -c \\ -1 & 1 & 1 \\ -c & c & c \\ 1 & -1 & -1 \\ 0 & 1 & 1 \\ 0 & -1 & -1 \end{pmatrix} \quad \mathbf{b} = \begin{pmatrix} 404 \\ 54.3 \\ 46 \\ 305.7 \\ 215.7 \\ 150 \\ 54.3 \\ 210 \\ 431 \\ 101.7 \\ 109 \\ 258.3 \\ 71.7 \\ 228.3 \end{pmatrix},$$$

with $$c = 1.71$$.

Remarkably, this set of constraints can be reduced by solving a linear programming problem whose outcome is:

$$$\mathbf{A^*} = \begin{pmatrix} c & -c & 0 \\ c & -c & -c \\ 0 & 1 & 1 \\ -c & c & c \\ 0 & -1 & -1 \end{pmatrix} \quad \mathbf{b^*} = \begin{pmatrix} 347 \\ 366.57 \\ 66.6 \\ 112.42 \\ 213.3 \end{pmatrix}$$$

Note

The Cartesian Controller software component implements the couple $$\left( \mathbf{A^*}, \; \mathbf{b^*}\right)$$.


text:
Volume 345 - International Conference on Hard and Electromagnetic Probes of High-Energy Nuclear Collisions (HardProbes2018) - Jets & High-pT Hadrons
Understanding wide jet suppression in data through the hybrid strong/weak coupling model
D. Pablos,* J. Casalderrey-Solana, G. Milhano, K. Rajagopal
*corresponding author
Full text: pdf
Pre-published on: 2019 January 11
Published on:
Abstract
We explore a set of jet substructure observables that use grooming techniques such as the Soft Drop procedure by performing simulations with the hybrid strong/weak coupling model for jet quenching. The results obtained for the observables presented in this proceedings, namely the number of Soft Drop splittings, or $n_{\rm SD}$, and the sharing momentum distribution $z_g$ for different angular cuts between the two main branches in a jet, can be easily understood as arising from the fact that among all the jets with a given jet $p_T$, those jets which are wider in opening angle, meaning that they have a higher jet mass and come from showers featuring more splittings, tend to lose more energy than the narrower jets. We comment on the comparison to data from ALICE and CMS, and point out the caveats arising from the consideration of smearing effects due to the presence of a large fluctuating background.
Open Access


text:
# notation question

• July 19th 2013, 03:32 AM
kingsolomonsgrave
notation question
what does the notation

f(theta: Y_1, Y_2.....Y_n) mean?

I believe in this example theta is a parameter of the population sample Y_i.

Does it mean that theta (the parameter itself, say variance or mu) is a function of the population sample? Thanks
• July 19th 2013, 05:55 AM
HallsofIvy
Re: notation question
No. "theta is a function of the population sample" would be " $u= f(Y_1, Y_2, ..., Y_n)$".

This appears to say "we have a function, f, of theta, for given values of $Y_1$, $Y_2$, $Y_2$".
That is, different samples may give different functions of theta, not different theta.