Senior School tuition fees for the academic year 2017-2018 are £3,723 per term/£11,169 per year. The Junior Girls' and Junior Boys' Schools' fees are £2,783 per term/£8,348 per year. The Infant School fees are £2,701 per term/£8,103 per year. Unless paid by Direct Debit, or you have an alternative payment plan in place, School fees are payable on or before the first day of each term. We offer two options for paying by Direct Debit, either one payment per term or three monthly payments per term. Full details are available from the Bursar's Office, Fees & Credit Controller, Mrs Deana Smith on 0151 949 9329.
The lunch fees for Senior Schools and Junior Boys' are £196 per term for a 5 day week/£588 per year. Junior Girls and Infants (Primary School, Stanfield) lunch fees are £172 per term for a 5 day week/£516 per year. Sixth Form students are permitted to leave the School premises during the course of the day providing they meet their commitments with respect to attendance, punctuality and set work, and also sign in and out at reception. As a result, a large number of Sixth Form students prefer to make their own arrangements for lunch rather than using the School dining room. For pupils entering Sixth Form in September who wish to make their own lunch arrangements, this will be agreed with the respective Head of Sixth Form once the timetables have been agreed. A charge for half a term's dinner fees will be available to those pupils in Year 11 and Upper Sixth forms, sitting external examinations in the Summer term.
When a place is accepted, a deposit of £300 is payable.
The Schools offers a sibling discount for children with a brother and/or sister already in the Schools. The discount applies to the tuition fee only and may be varied by the Schools at any time. The current sibling discount is 10% on a second and third child with the same Parents and a 20% discount on a fourth child and subsequent children with the same Parents. Sibling discount does not apply to overseas students. If any pupil(s) within the family is in receipt of any other form of financial assistance (excluding Harrison Scholarships) then that pupil(s) will not be included within the scope of the Sibling Discount. For pupils in receipt of Academic or Sports Scholarships, who also qualify for a Sibling Discount; such discount will be awarded at the Head's absolute discretion.
Scholarships of between 5-10% of the annual tuition fee may be awarded to pupils who achieve top marks in English and Mathematics. All candidates are considered and no application is necessary.
A Music Scholarship is available on application and following an audition and interview. We may offer one of two awards for school funded peripatetic music lessons.
A Sports Scholarship is available on application and following a successful assessment, candidates may be offered one of the following two awards offering 5-10% of the annual tuition fee.
For more information please contact Mrs Saffer for the Boys' School 0151 949 9333 or Mrs Barrington for the Girls' School 0151 932 2414.
The School runs a comprehensive series of buses and coaches each morning and afternoon from a wide catchment area ranging from Wigan, Warrington, Widnes and South Liverpool up to Parbold, Ormskirk, Formby and Southport.
The School Shop is situated at 138 College Road, Crosby, Liverpool L23 3DP.
You can also order from our online shop at Monkhouse.
These are subject to change during school holidays.


At Dumpster Centre, we strive to bring you the best service at the best price available. We have a wide selection of dumpster sizes in stock in Fayetteville, WV, with flexible & timley pickup and delivery. Give us a call today for all your dumpster rental and roll off needs.
Your roll-off dumpster in Fayetteville, WV is only a phone call away. Don't delay!
Along with the size and weight from the container, you might also need to inquire using the service provider what sorts of materials are allowed to be placed from the container. Every city and state may have different guidelines about what throw away can be removed this way. Some of those that may not be allowed incorporate gasoline, oil, and most things that could be regarded toxic, for instance a car power supply or asbestos. By requesting about this information prior to renting a package, the process go smoother available for you.
How long would you get to maintain dumpster? Most companies will allow you to keep your dumpster with regard to between 5-7 nights. If you're lucky, you might find an organization that will permit you to keep your dumpster with regard to up to 2 months. What happens if you want to keep it in excess of your agreed time frame? Additional fees. Usually, you will incur a daily rate charge everywhere you look from $5 to $15 each day, after the first rental period.
Booking a dumpster could keep debris from the parking lot which condo renters park in. The last thing you may need is someone falling as well as suing you with regard to negligence. By throwing away many debris, woodwork such as uncomfortable baseboards, and so forth., you are saving yourself coming from a possible litigation.
Dumpsters are used if you find more garbage than one can easily acquire to the eliminate. Several outings would generally be required. People live close up to a eliminate, and they generally is a long distance away. Driving garbage to these people is not no cost. People be forced to pay for the fuel each vacation to the eliminate requires. While using rising tariff of gas plus the reduced gas mileage of a fully-loaded motor vehicle, these charges can be major. When they are multiplied by several outings, the price of generating to a eliminate is often astonishingly high.
Cement is not to possibly be thrown out into the dumpster as this can easily dry as well as seal to that and cause waste involving room from the dumpster for other people who desires to rent it in the foreseeable future.
You might also would like to look into hiring a large rubbish receptacle if you're doing a lots of outdoor perform like cutting trees or perhaps hauling wood away. In such cases, it might not possibly be cost-effective to hire a large truck and you also can't place items like which in the area waste containers.
This calls for a much faster as well as quite reputable Portable Dumpster in Fayetteville, WV service. This region boosts involving cheap and easy, but reputable dumpster collection companies. This has made it simpler for the people of this spot, as well as the companies. In addition, there are several companies accredited to offer such services. Credited to the competition, these companies have had to right up their video game to maintain customers.
Garbage bins as well as disposal packing containers on rent are given by many organizations nowadays. You will probably find one around your house and choose the nearest one for the position.
You may personal condos in Maryland, Virginia, or Washington DC and you will would like to find rapid next day dumpsters to rent. Where ever in the world your home is a dumpster will let you keep your undertaking moving.
Whenever you currently have trash that requires removing, the vital thing you should do is phone your pleasant neighborhood Portable Dumpster in Fayetteville organization. No matter what your project is, they're able to give you a location to dump ones junk and they can haul it all aside at once. There's no need to stall ones cleanup so as to not overpower your each week trash pickup truck; renting a new dumpster lets you go ahead and take trash out and about when you want to! Regardless of what the undertaking is, a new dumpster fine melodies the effort and helps to create a win-win scenario for everyone required and provides advice for the issues of safety and cleanliness. A bathroom or even kitchen household remodeling career involves the need to dispose of aged or shattered appliances and also fixtures including stoves, containers, washbasins, and loos. It also consists of the need to get rid of materials made from wood including cabinets and also flooring. Making this particles on the side of the house or building can lead to an unhealthy hazard along with the use of a new dumpster allows you to get rid of everything in one particular clean sweep. There is no need to individual trash and put appliances out and about for area pickup, to break down the cabinets and put them in to bags some each junk day or even to drive the mess to the dump yard. One Portable Dumpster in Fayetteville will take care of the entire career from commence to finish.
Including many others in addition, you might find it might be the one which you don't want to do. If you're one of such people then to you could make your lives less complicated there are some corporations offering Portable Dumpster in Fayetteville and also garbage bin rental products and services.
The biggest selling point of going with a specialized Junk Treatment and Dumpster Rental clients are that you get to remain back relax learning the job will be done right and also professionally! The secret to success lies in not necessarily falling for all those fly by night workers that feature cheap prices over the phone. They may noise good threatened, but the problems only commence when you conclude the call. They can not show up, they may boost the price if they do come out and about. If you have ever transferred, this type of method will sound familiar to you. That could even get worse, they may stop insured. They can damage your own property, or your neighbors' residence. They could obtain injured and also sue you actually. If every thing goes great at your internet site, your problems are not around, when they abandon. Then there is the problem of shedding your squander, are they performing it properly, is he or she adhering to the dumping bylaws in the area or is he or she illegally getting rid of your squander and useless. If the dude with his pickup truck can't be positioned YOU COULD BE Organised LIABLE. How does one avoid the entice? Don't buy just about any smaller than you are going to need, often. Trash Portable Dumpster in Fayetteville publication rack more than happy to bring you a new dumpster if they come to acquire your aged one, however it is going to run you. Not to speak about the fact that there's only and so small a new dumpster's going to get. If you have an excessive amount of trash for any pickup however, not enough for any 10 yard dumpster you're still going to finish up paying for whole rental on in which second dumpster. Converse to the customer support representative at the trash Portable Dumpster in Fayetteville service if you aren't sure what size you would like. They can assist you in making the right choice once.
Receiving a Portable Dumpster in Fayetteville, WV company is very an easy task. You will find many websites over internet that are providing Portable Dumpster in Fayetteville, WV services. You need to examine which company is providing services locally and assess their prices with other very same companies. Pick the suitable firm to hire and select the dimensions of dumpster according to your needs.If you are constructing your home or maybe office in comparison with you might call for dumpster as they are substantial in size with increased capacity adhere to what they you are developing a small loved ones get together in your home than it is possible to select garbage bin as they are smaller in size.
To choose the suitable sized pot for your needs, you need to determine the length of the job. Most of the people tend to overestimate the requirements and, in this particular case, it may be a smart move to make. You do not want to begin to pay ever again than important, but the charge a fee would get for overfilling the pot would probably be considerably more than it could cost to be able to rent a larger pot.
The project manager will have 10 other things readily available to complete creating his routine very busy. Waste piled up at your job site is like eyesore and spark a great disruption to hectic agenda of the challenge owner. This kind of trash needs to be cleared instantly which otherwise would be supplier for many complications.
You and your family may help clean out your parent's property when you rent a dumpster. Make sure you develop the correct dimensions dumpster when you start to clean up. If the property is large and has now a garage area you may need a choice size to be able to large dimensions dumpster. The choice size dumpster is the same as five pick up truck loads or maybe three plenty. The large dimensions dumpster is equivalent to 10 pickup truck tons or four tons of area for the stuff you no longer would like. It is better to choose to rent a dumpster that is a tiny too big in comparison with too small. Think of how much your mother's or father's have that really needs to be thrown out with the basement along with the garage.
Dumpster accommodations in Washington DC are required for many home initiatives. Most tidy up or remodeling projects meet or exceed the municipality's trash pickup limits. You may rent a dumpster and have it delivered quickly and easily within Washington DC. Various sized dumpsters are offered that variety in size based on the project you are working on along with the size of your lot or maybe yard. In case you have a small lawn you can get in touch with and purchase a overnight dumpster. This dumpster is usually filled and picked up anytime you like and another dumpster can be put in its stead. Regardless of your project is actually, your trash removal demands can be achieved quickly and easily throw a Portable Dumpster in Fayetteville, WV within Washington DC.
Working with a full agency to take care of your trash transporting needs by start to finish could save you a great deal of problem. You don't have to bother about lifting or maybe moving the garbage or useless items you might be throwing away alone, and you do not have to make options about how you are likely to transport the particular garbage you need to an appropriate fingertips location. Your current dumpster pro will take care of it all to suit your needs, allowing you to give attention to getting your residence in order and your domestic regimens back on track.


text:
Subscribe To What Keira Knightley Would Look Like As Cable In Deadpool 2 Updates
What Keira Knightley Would Look Like As Cable In Deadpool 2
Warning: Deadpool spoilers are ahead!
In the Deadpool post-credits scene, a bathrobe-wearing Wade Wilson announced to the audience that Cable would appear in Deadpool 2. No one has actually been cast in the role yet, but the anti-hero did provide a few suggestions, including Keira Knightley, saying, "She's got range – who knows?" While the chances of Knightley being cast as Cable are unlikely, unless they're going a radically different route with the character, it's still fun to imagine what she might look like as the time traveling mutant, and one artist has given us a good-looking depiction.
Just for kicks :D Keira Knightley as cable @deadpoolmovie @VancityReynolds pic.twitter.com/Mvjzf2KCru
— BossLogic (@Bosslogic) February 14, 2016
This image comes from digital artist BossLogic, who transformed Keira Knightley from a Hollywood starlet into a tough-as-nails, cyborg mutant who comes from a horrifying future. Knightley's Cable has most of the same trademark physical characteristics as the comic book Cable does: the grey hair, the scarred face, the cool bionic eye and the gigantic gun. Since it's a head shot, we don't get to see her with Cable's bionic arm, but still, this artwork is well done.
Of all the superhero film series out there, Deadpool is the most likely to throw a curve ball by casting an actress in a role like Cable, so seeing Keira Knightley done up as above isn't entirely impossible. BossLogic's previous superhero movie role transformations include depicting Bryan Cranston as Mister Sinister and Vin Diesel as Black Bolt. Knightley followed Dolph Lundgren and Mel Gibson as Deadpool's own suggestions to play Cable, but no doubt 20th Century Fox will look at a wide selection of other actors.
In the comics, Cable is Nathan Summers, the son of Scott Summers, a.k.a. Cyclops, and Jean Grey clone Madelene Pryor. Shortly after being born, he was infected with a techno-organic virus by Apocalypse, and the only way to treat it was by sending him to the future. Unfortunately, the era that Cable grew up in was a post-apocalyptic one, and he subsequently grew up to be the badass warrior we all know him as. He eventually traveled back to the present to stop Apocalypse's rise to power and prevent the future he grew up in from happening. Cable would later lead teams like the New Mutants and X-Force, but Deadpool 2 will take inspiration from his bizarre dynamic with the Merc with a Mouth, whether they're pitted against each other or joining forces.
Deadpool 2 has already been green-lit by 20th Century Fox, with Rhett Reese and Paul Wernick penning the sequel and director Tim Miller in negotiations to direct again. As for Keira Knightley, she recently appeared in last year's Everest, and she's set to star in Collateral Beauty.
First Cats Trailer Debuts The A-List Cast's Feline Looks

redpajama_set_name: RedPajamaCommonCrawl


A few pictures I've taken recently. Please click on them to see their full resolution.
This makes me want to take pictures, Im going to bring my camera around tomorrow and snap random pics.. Hope I get some gooders. Hey what is it that made those sparks, pyro much? And is that a lamp of a woman?
You'll probably get some good pics. I used a Bic lighter for the flame and sparks. And yea, I'm going to keep it a secret whether that last pic is a lamp or a woman.


Find us on the corner of Soscol Ave and Tanen St.
Don't hestiate to ask us something. Email us directly napavalleycw@gmail.com or call us at 1-(707) 224-9566. Leave us your name, number, and message. We will get back to you as soon as possible.


text:
package java.lang;

import static javaemul.internal.InternalPreconditions.checkCriticalArgument;
import static javaemul.internal.InternalPreconditions.checkNotNull;
import static javaemul.internal.InternalPreconditions.checkState;

import java.io.PrintStream;
import java.io.Serializable;
import javaemul.internal.ArrayHelper;
import jsinterop.annotations.JsMethod;
import jsinterop.annotations.JsNonNull;
import jsinterop.annotations.JsPackage;
import jsinterop.annotations.JsProperty;
import jsinterop.annotations.JsType;

/**
 * See <a
 * href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html">the
 * official Java API doc</a> for details.
 */
public class Throwable implements Serializable {

  private String detailMessage;
  private Throwable cause;
  private Throwable[] suppressedExceptions = new Throwable[0];
  private StackTraceElement[] stackTrace = new StackTraceElement[0];
  private boolean disableSuppression;
  private boolean disableStackTrace;

  @JsProperty
  private Object backingJsObject;

  public Throwable() {
    fillInStackTrace();
  }

  public Throwable(String message) {
    this.detailMessage = message;
    fillInStackTrace();
  }

  public Throwable(String message, Throwable cause) {
    this.cause = cause;
    this.detailMessage = message;
    fillInStackTrace();
  }

  public Throwable(Throwable cause) {
    this.cause = cause;
    if (cause != null) {
      this.detailMessage = cause.toString();
    }
    fillInStackTrace();
  }

  /**
   * Constructor that allows subclasses disabling exception suppression and stack traces.
   * Those features should only be disabled in very specific cases.
   */
  protected Throwable(String message, Throwable cause, boolean enableSuppression,
      boolean writableStackTrace) {
    this.cause = cause;
    this.detailMessage = message;
    this.disableStackTrace = !writableStackTrace;
    this.disableSuppression = !enableSuppression;
    if (writableStackTrace) {
      fillInStackTrace();
    }
  }

  Throwable(Object backingJsObject) {
    this(String.valueOf(backingJsObject));
  }

  // Called by transpiler. Do not remove!
  void privateInitError(Object error) {
    setBackingJsObject(error);
  }

  public Object getBackingJsObject() {
    return backingJsObject;
  }

  private void setBackingJsObject(Object backingJsObject) {
    this.backingJsObject = backingJsObject;
    linkBack(backingJsObject);
  }

  @JsMethod
  private native void linkBack(Object error);

  /** Call to add an exception that was suppressed. Used by try-with-resources. */
  public final void addSuppressed(Throwable exception) {
    checkNotNull(exception, "Cannot suppress a null exception.");
    checkCriticalArgument(exception != this, "Exception can not suppress itself.");

    if (disableSuppression) {
      return;
    }

    ArrayHelper.push(suppressedExceptions, exception);
  }

  /**
   * Populates the stack trace information for the Throwable.
   *
   * @return this
   */
  public Throwable fillInStackTrace() {
    if (!disableStackTrace) {
      // Note that when this called from ctor, transpiler hasn't initialized backingJsObject yet.
      if (backingJsObject instanceof NativeError) {
        // The stack property on Error is lazily evaluated in Chrome, so it is better use
        // captureStackTrace if available.
        if (NativeError.hasCaptureStackTraceProperty) {
          NativeError.captureStackTrace((NativeError) backingJsObject);
        } else {
          ((NativeError) backingJsObject).stack = new NativeError().stack;
        }
      }

      // Invalidate the cached trace
      this.stackTrace = null;
    }
    return this;
  }

  @JsMethod
  public Throwable getCause() {
    return cause;
  }

  public String getLocalizedMessage() {
    return getMessage();
  }

  public String getMessage() {
    return detailMessage;
  }

  /** Returns the stack trace for the Throwable if it is available. */
  public StackTraceElement[] getStackTrace() {
    if (stackTrace == null) {
      stackTrace = constructJavaStackTrace();
    }
    return stackTrace;
  }

  private StackTraceElement[] constructJavaStackTrace() {
    StackTraceElement[] stackTraceElements = new StackTraceElement[0]; // Will auto-grow...
    Object e = this.backingJsObject;
    if (e instanceof NativeError) {
      NativeError error = ((NativeError) e);
      if (error.stack != null) {
        String[] splitStack = error.stack.split("\n");
        for (int i = 0; i < splitStack.length; i++) {
          stackTraceElements[i] = new StackTraceElement("", splitStack[i], null, -1);
        }
      }
    }
    return stackTraceElements;
  }

  /** Returns the array of Exception that this one suppressedExceptions. */
  @JsMethod
  public final Throwable[] getSuppressed() {
    return suppressedExceptions;
  }

  public Throwable initCause(Throwable cause) {
    checkState(this.cause == null, "Can't overwrite cause");
    checkCriticalArgument(cause != this, "Self-causation not permitted");
    this.cause = cause;
    return this;
  }

  public void printStackTrace() {
    printStackTrace(System.err);
  }

  public void printStackTrace(PrintStream out) {
    printStackTraceImpl(out, "", "");
  }

  private void printStackTraceImpl(PrintStream out, String prefix, String ident) {
    out.println(ident + prefix + this);
    printStackTraceItems(out, ident);

    for (Throwable t : getSuppressed()) {
      t.printStackTraceImpl(out, "Suppressed: ", "\t" + ident);
    }

    Throwable theCause = getCause();
    if (theCause != null) {
      theCause.printStackTraceImpl(out, "Caused by: ", ident);
    }
  }

  private void printStackTraceItems(PrintStream out, String ident) {
    for (StackTraceElement element : getStackTrace()) {
      out.println(ident + "\tat " + element);
    }
  }

  public void setStackTrace(StackTraceElement[] stackTrace) {
    int length = stackTrace.length;
    StackTraceElement[] copy = new StackTraceElement[length];
    for (int i = 0; i < length; ++i) {
      copy[i] = checkNotNull(stackTrace[i]);
    }
    this.stackTrace = copy;
  }

  @Override
  public String toString() {
    String className = getClass().getName();
    String message = getLocalizedMessage();
    return message == null ? className : className + ": " + message;
  }

  @JsMethod
  public static @JsNonNull Throwable of(Object e) {
    // If the JS error is already mapped to a Java Exception, use it.
    if (e != null) {
      Throwable throwable = ((HasJavaThrowable) e).getJavaThrowable();
      if (throwable != null) {
        return throwable;
      }
    }

    // If the JS error is being seen for the first time, map it best corresponding Java exception.
    return e instanceof NativeTypeError ? new NullPointerException(e) : new JsException(e);
  }

  @JsType(isNative = true, name = "Error", namespace = JsPackage.GLOBAL)
  private static class NativeError {
    @JsProperty(name = "captureStackTrace")
    static boolean hasCaptureStackTraceProperty;

    static native void captureStackTrace(Object error);

    String stack;
  }

  @JsType(isNative = true, name = "TypeError", namespace = JsPackage.GLOBAL)
  private static class NativeTypeError {}

  @SuppressWarnings("unusable-by-js")
  @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL)
  private interface HasJavaThrowable {
    @JsProperty(name = "__java$exception")
    Throwable getJavaThrowable();
  }
}

redpajama_set_name: RedPajamaGithub


text:
Travel to eat!
By Jim Duncan
From kranskake to rhubarb pie, or strawberries to barbecue, expand your culinary tastes at these diverse Iowa food festivals
Why do we travel? Aesop answered that question simply. "Adventure is worthwhile." Gustave Flaubert considered it humbling. "Travel makes us modest. It reveals what a tiny part of the world you have occupied." Oliver Wendell Holmes considered travel the greatest of learning experiences. "A mind that is stretched by new experiences can never return to its old dimensions."
Much has been written about adventure travel, from Homer's "Odyssey" to Sir Richard Burton's search for the source of the Nile, to Hemingway's exploration of war and death and Robert Young Pelton's wanderings amongst today's "Most Dangerous Places on Earth." When Thoreau was asked why he had never gone to Europe, he replied, "I have traveled much in Concord." One need not go to the ends of the earth to realize the benefits that Flaubert and Holmes mentioned. One need only travel with an open mind.
Most people eat to travel. They are the folks whom large chain restaurants such as McDonald's attract with huge neon signs visible from interstate highways. These diners seek no adventures in their eating, just predictability. There are a smaller, but rapidly growing, percentage of wanderers who travel to eat. These food centric travelers have influenced hotel dining rooms to offer more local foods on their menus and to provide more concierge services to help guests locate unique dining treats.
From World War II until the new millennium, Iowa languished in the coastal foodie mind as part of "flyover country." That has been changing faster than the Blue Ribbon Bacon Fest has been growing. In Iowa, any year is now a floating feast of food fests and fairs that encourage travelers to come hither and taste something new, expanding their minds along with their palates.
Food tourism
This year's Blue Ribbon Bacon Festival (winter dates for 2016 have not yet announced, Des Moines), now a weeklong event, coincided with Super Bowl week. The two things have a lot in common. Last year's Bacon Fest party sold out 12,000 tickets in just 42 minutes. They were purchased in 41 states and from as far away as Brazil, China and Denmark. After only seven years, the festival has created avatars in Iceland, Wisconsin and Colorado and another, bigger than ever, location is imminent.
In Bacon Fest's typical defiance of political correctness, this year's big show, including all star wrestlers, was subtitled "The Mecca of bacon fests." That despite the fact that much of the bacon fest activities (alcohol and pork consumption) could get one beheaded in Mecca. This is not family entertainment; it's adults-only stuff in which bacon is featured in a decadent number of forms. In fact, the power eating competitions seem redundant.
The bacon explosion is a much loved treat of Blue Ribbon Bacon Fest.
The delicious northeast
Decorah is Iowa's greatest food-centric travel destination. Because the rocky, hillocky land in northeast Iowa was never suitable to plow over for row cropping, agriculture has remained old fashioned in the best sense of the words — sustainable, diversified, highly organic and natural. The farmers markets and the Oneota Food Co Op in Decorah are treasure troves of Iowa food bounty.
The magnificent Vesterheim Norwegian-American Museum is the largest ethnic museum in the United States dedicated to a single nation's immigrants. Its adjacent Dayton House Cafe specializes in Norwegian treats like lefse and krumkakke. The Winneshiek Wildberry Winery grows most of its fruits on site and offers 20 artisan wines, plus local truffles and cheeses. The Hotel Winneshiek is arguably the state's best hotel, with its own restored historic opera house.
Decorah's biggest year-round draw for food travelers is Seeds Savers Exchange. Nestled among sparkling streams, limestone bluffs and century-old white pinewoods, the 890-acre farm is a living museum of historic varieties of seed diversity. It's a virtual world bank of seed stock that immigrants carried to the new world and also many that only recently crossed from Europe. Thousands of heirlooms are grown in certified organic fields, and seeds are preserved and sold. An historic orchard raises hundreds of varieties of 18th-century apples and many old grapes, including more than 100 breeding lines from the collection of famed grape breeder Elmer Swenson. Visitors may harvest fallen fruits in autumn. Amish carpenters built a meeting center in the barn's cathedral-like loft and have completed the Lillian Goldman Visitors Center that offers a wide selection of heirloom seeds, horticultural books and garden gifts.
The farm also has a herd of endangered Ancient White Park Cattle, which roamed the British Isles before the time of Christ. Today only about 800 of these extremely rare, wild cattle survive worldwide, including slightly more than 200 in the U.S. About 80 of those reside in Decorah. These stunning animals have white coats, lyre-shaped horns with black tips, and black ears, noses, eyes, teats and hooves.
The Nordic Fest (Decorah July 23-25) is an ideal time to visit Decorah. Parades, music, crafts and Scandinavian foods are featured. The latter include the holy trinity of Nordic sweets — lefse (potatoes, flour, sugar, salt, cream and butter), kranskake (almonds, sugar, vinegar and egg whites) and Rømmegrøt (butter, flour, sugar and salt). Other Nordic foods offered include varme polse (a sausage and meatball mixture) and sot suppe (fruit soup). In addition, Norse pastries like kringla, krumkakke and sandbakkels are served like hot dogs at a football game. Food demonstrations and tasting opportunities are held throughout the Fest, and you'll be able to discuss recipes and techniques with some of the area's finest cooks.
Czechs and Danes
During Houby Days (May 15-17, Cedar Rapids), Iowa's largest Czech community celebrates the state's obsession with the stalked mushroom. In the middle of morel hunting season, the festival honors the original Czech and Slovak immigrants to Iowa who enshrined mushroom hunting in the state's consciousness while also transforming European wiener schnitzel into the breaded pork tenderloin — now Iowa's most famous dish. Like many similar ethnic events, Houby Days preserves old recipes and culture in a time when both get lost in a blur of suburban sprawl and inter-ethnic marriage.
Some of best apples on Earth grow in the Loess Hills.
The Danish Villages of Iowa are fun to visit anytime when the seasonal Danish Inn restaurant and Museum of Danish America are open. The former hosts buffets that always include a few Danish dishes and an all-Danish smorgasbord on Sundays. The latter includes a marvelous permanent display about dairy farming history, a main profession of Danes in America. Even the convenience store in Elk Horn has a meat counter with Danish treats like medisterpolse (sausage). During the Tivoli Fest (Memorial Day weekend, Elk Horn and Kimballton), one can find Danish foods and specialties such as smorrebrod (cold cuts on dark rye) and aebleskiver (Danish pancakes), plus tours of the Danish Windmill, Bedstemor's Hus, the Museum of Danish America and visits to unique gift shops. The Danes of Kimballton have been folk dancing since the town began. The villages also host a Julefest annually during Thanksgiving weekend. That Christmas festival features more than 25 local businesses, organizations, historical sites and museums.
The famous Amanas
The historic Amana Colonies have been a food-centric tourist attraction much longer than any other place in Iowa. They attract fans with monthly art walks, church lady potlucks, shepherd events, wine tasting, wine pairings, old car shows, etc. Rhubarb Day (June 6) is the most complete festival celebrating Iowa's great spring food. The Amana Colonies are famous for rhubarb pie and wine (peistengle), and on this Saturday all things rhubarb are celebrated. Obviously a German colony would become expert at sausage making, and the Wurst Fest (June 20) shows that off. This year's 50th annual Oktoberfest (Oct 2-3) is Iowa's oldest. It begins with an official keg tapping and ends with full day of German food and music.
19th century Iowa today
Van Buren County, proudly Iowa's only county without a traffic light, is filled with magnificent old buildings, many built by Mormon craftsmen earning their way to Utah in the 1800s. Towns like Benstonsport, Bonaparte and Keosauqua have long drawn food tourists with their old inns and great food. The Dutchman Store in nearby Cantril offers artisan food products rarely seen elsewhere in Iowa.
Farmington's Strawberry Festival (June 12 -13) is the best time of year to taste the county's bounty. Lots of camping opportunities project the festival into a bucket list of Iowa food trips. Free strawberries and ice cream are offered each day during set hours.
Iowa's BBQ circuit
Iowa hosts a barbecue festival nearly weekly in good weather months. Mason City's Up in Smoke BBQ Bash (July 24 -25) is the best, in our book, because it's held in the marvelously wooded East State Park. People come to compete — and also just to eat Q — from as far away as Texas every year. Mason City, with the Frank Lloyd Wright designed Stockman House and Park Inn hotel, multiple Meredith Willson attractions and several museums, has its own charms. The Susie-Q Café is one of the most photogenic old diners in the nation. The revered Northwestern Steak House features a Greek steak that precedes de Burgo.
Mount Pleasant is the center of one of Iowa's most surprising food regions. Nearby Fairfield is home to more restaurants and Asian restaurants per capita than San Francisco. Several are organic, some even Ayurvedic. Mount Pleasant itself is an elk center, and that Iowa meat is popular at the Old Threshers Reunion (Sept. 3-7, Mount Pleasant.)
Visitors characterize this event as "The Iowa State Fair like it was 50 years ago." There's some fairness in that. The focus of the festival is nostalgia because, more than anything, it honors the history of farming and the inventions that changed farm life in the last 150 years. Displays show how sorghum was made in a 100-year timespan. People come to the event religiously each year to remember old mechanical friends that made their lives easier. There are more church group food booths here than at the state fair where more modern conveniences have replaced their charms.
The overlooked city
Marvelously preserved, downtown Waterloo is the best kept food travel secret among Iowa's largest towns. The Irish Fest (July 31 – Aug. 2) is the state's largest, too. It's set within a block or two of several of the city's top restaurants — Jameson, where the bar was imported from Ireland, CU, Newton's and Galleria de Paco, where the ceiling is a spray painted version of Michelangelo's Sistine Chapel. Irish Fest includes road races, an "Anything Irish" photography contest and a rugby tournament to allow Irish-minded folk to compete.
God's gift to Iowa
Arguably nature's greatest gift to Iowa, the Loess Hills provide one of the world's three largest areas of loess — loam so rich in nutrients that things grow there like nowhere else. It's also considered the best foundation soil, so the hills have been raided lately to help build downtown Omaha. This loess was the source of grapes that made Iowa a top wine state before an infamous summer freeze drove vintners to other crops 80 years ago. Today, the hills are alive with apple joy. Small's Fall Fest (Oct. 11, Mondamin) is in the midst of one of the best such apple orchards and offers all things apple — ciders to pies — during this great event in the height of leaf-turning time.
The history of food festivals has roots in the agricultural fairs of Europe's Middle Ages. Clay County's fair (Sept. 12-20, Spencer) began in 1918 and has grown consistently ever since. It is now considered the second largest agricultural exposition in North America and draws more than 300,000 fans a year. Set amongst the most valuable farmland in the state, the fair has the reputation of drawing some of the finest livestock to show. Of course, there are myriad other opportunities to indulge in the treats of the midway and the vendors of such events. And it's almost off season in the nearby Iowa Great Lakes, so bargain lodgings can be found. CV
Some other food events
Taste of Iowa City, Aug. 26, Iowa City. Arguably the most eclectic food town in the state, Iowa City has myriad restaurants that support this event with enthusiasm.
Real Maple Syrup Pancake Feed, Aug. 15, Hancock. Botna Bend Park's maple trees are tapped and their sap boiled down to provide the freshest possible tree-to-fork maple syrup with grilled pancakes, orange juice, sausage and coffee.
World Food and Music Festival, Sept. 18-20, Des Moines. Des Moines hosts a lot of ethnic food fairs: CelebrAsian, Italian American Heritage, Latin Heritage, etc. This one accommodates every one of those groups, plus others one doesn't see the rest of the year. Cooking demonstrations and live music make it the biggest street fest in Iowa.
Smokin' in the Junction, May 23-24, Valley Junction, West Des Moines
Tivoli Fest 2015, May 23-24, Elk Horn
World Pork Expo, June 3-5, Iowa State Fairgrounds, Des Moines
Ackley Sauerkraut Days, June 4-7, Ackley. This annual festival features free sauerkraut and wieners, parades, entertainment and amusement rides
Manchester Annual Rhubarb Fest, June 6, Manchester
June Bloom Wine & Food Event, June 6-7, Great River Road Wine Trail
Fredericksburg's Dairy Days, June 9-10, Fredericksburg
Strawberry Days, June 12-14, Strawberry Point
Farmington Strawberry Festival, June 12-14, Farmington
Centerville Wine and Arts Festival, June 13, Centerville
Ice Cream Days, June 17-20, Le Mars.
Cedar Rapids BBQ Roundup, June 25, Cedar Rapids
Gladbrook Corn Carnival, June 25-28, Gladbrook
Lazy River Beer and Wine Festival, June 27, Marquette
Indian Creek Corn Boil, July 12, Indian Creek Museum, Emerson
Beef Days, July 17-18, Solon
Beer and Brat Festival, Aug. 8, Cedar Rapids
Adel Sweet Corn Festival, Aug. 8, Adel
Sauerkraut Days, Aug. 13-15, Lisbon
Oktoberfest in the Cedar Valley, Sept. 19, Cedar Falls
Oktemberfest, Sept. 24-27, Marshalltown
Taste of Clarinda, Dec. 3, Clarinda


Simmer the water, sugar, light corn syrup. Stir until the sugar dissolves. Bring to a boil for 5 Minutes. Remove from heat and cool.
Stir in vodka, pomegranate juice and lime juice. Chill in ice cream maker according to manufacturer's directions. Enjoy!


Yields on three-year Treasury notes fell in Tuesday's auction to the lowest level on record.
The average yield was 4.27%, down from 4.73% at the last auction on Feb. 9. It was the lowest rate since the start of regular three-year note auctions in 1978.
The notes will carry a coupon interest rate of 4 1/4% with each $10,000 in face value selling for $9,994.40.
A total of $16.2 billion in notes were sold out of bids totaling $46.4 billion.


text:
Millerton to Under Mountain Road
(closed to public)
LENGTH: Approximately 8 miles. CLOSED to the public.
PRESENT STATUS: The Harlem Valley Rail Trail Association is continually inquiring to ascertain the most current information about design and construction schedules.
STATUS DETAILS: The Harlem Valley Rail Trail Association is continually inquiring to ascertain the most current information about design and construction schedules. Dutchess County plans to complete this section in 2018-2019.
NATURAL FEATURES, FLORA & FAUNA:
Wetlands are the dominant feature of this portion of the trail. It travels through a valley considered by many to be the most beautiful valley in eastern New York. The trail will run along the Taconic Hills to the west and the Taconic Range of the Berkshires to the east. The long-term goal for this section includes a side trail to Rudd Pond State Park and a walkway looping off the trail into the wetlands. There are several hiking trails nearby that ascend the 2,000-foot peaks of the Taconics. One of these trails is the Alander Mountain Trail about a half-mile east of the rail trail's Under Mountain Road parking lot. The Appalachian Trail also traverses the Taconic Range.
LOCAL HISTORY*
The trail will parallel Route 22 which is to the west, however the trail is only near the highway briefly near Millerton. The very northern end of Section 4 is in Boston Corners, once a busy railroad junction for three railroads: the Harlem Division, the Central New England Railroad, and the Poughkeepsie & Eastern Railroad. Near the Eddie Collins ball field between Millerton and Irondale along Route 22 was the crossing of the Newburgh, Dutchess & Connecticut Railroad (ND&C), later part of the Central New England Railroad. A connecting track allowed the interchange of railroad cars between the Harlem Division and the ND&C Railroad which ran west from Millerton to Pine Plains and Beacon, NY. Hall of Fame baseball legend Eddie Collins was born in Millerton on May 2, 1887.
Irondale: Located just north of Millerton along Route 22, this was the site of the Millerton Iron Works furnace. It shipped pig iron to regional foundries and forges via the Harlem Division and connections with the Central New England Railroad.
Mount Riga Station: From Mount Riga Station, located about four miles north of Millerton, to Boston Corners a few miles further north, the Harlem Division and the Central New England Railroad (CNE) ran side by side. The CNE right-of-way is clearly visible on the east side of the rail trail. The CNE ran east-west from Hartford, Connecticut to Campbell Hall, New York via the Poughkeepsie Railroad Bridge.
Boston Corners: This area has a very interesting political and social history. It was the site of a world championship heavyweight bare knuckles boxing match on October 5, 1853. A few hundred feet north after Dutchess County Route 63 becomes Under Mountain Road, there is an historical marker (a blue metal sign) on the west side of the road describing the thirty-seven round fight. The fight was witnessed by 3000 people, evidence that Boston Corners was a hub of activity more than one hundred years ago.
At Boston Corners, the Harlem Division and the Central New England Railroad crossed each other and shared one station. Until the 1930's, it was possible to transfer from a Harlem Division train to a CNE train to go east through Connecticut or west to Poughkeepsie and Middletown, New York.
At an earlier time, the Poughkeepsie & Eastern Railroad also passed through Boston Corners on its way to the Ancram lead mines near Ancramdale, and then on to Pine Plains. The Poughkeepsie & Eastern Railroad became part of the CNE after 1900.
Parking and access will be in the village of Millerton and other places yet to be determined.
For alternative biking directions from Millerton to Under Mountain Rd, click here.
*Note: Many thanks to local railroad historians Heyward Cohen, Jack Shufelt, and Lou Grogan (The Coming of the New York and Harlem Railroad, Pawling, NY: Louis V. Grogan, 1989) for much of the railroad history that appears above.


The Institute of Politics' Regional Water Management Task Force at Pitt has released a report summarizing the research completed since the task force's inception last summer. It also is announcing plans to hold public meetings from March 28 through May 17 in all 11 counties within its geographic scope to seek public input on ways to improve how the region addresses its water-related problems.
The task force, an 11-county effort to improve how Southwestern Pennsylvania addresses its water and sewage challenges, will use the report to inform its outreach and educational activities to be conducted over the next six months.
"What we have learned so far should help us not only to explain how serious our water and sewage problems are, but also to show that these problems can be solved through well-conceived, collaborative efforts," said Jared Cohon, Carnegie Mellon University president and chair of the task force.
Highlights of the task force's research findings follow.
Benchmarking insights. Task force researchers visited four U.S. metropolitan areas recognized for their effectiveness in water-resource planning and found that, through partnerships with state legislative and regulatory bodies, these regions have been able to make significant progress in solving their water problems at a very modest planning cost, sometimes less than $1 per person per year.
Local case studies. Case studies of several management entities within Southwestern Pennsylvania identified best practices in collaboration and management, while also illustrating the serious challenges facing many communities that have deferred ongoing maintenance of deteriorating infrastructure.
Survey results. The task force's survey of local governments and municipal authorities uncovered a strikingly wide range of customer rates and capital investments. Water and sewage rates in the region are generally modest, with the highest rates usually occurring in outlying areas that recently have become connected to public systems.
Significant investment. Survey results and other sources suggest that Southwestern Pennsylvania already has invested $3 to $4 billion in its water and sewage infrastructure in the past 10 years—a number that makes the multibillion-dollar estimates of repair needs seem less intimidating.
During its outreach phase, the task force will seek stakeholder and public input on possible approaches to regional collaboration. Among the possibilities are enhanced cooperation among entities that serve the same watershed, the establishment or designation of a regional entity to guide and provide consistency to water and sewage planning decisions, and the creation of subregional financing and management entities.
Each of the 14 scheduled public meetings will include a presentation of the task force's work thus far, with the bulk of the two-hour meeting allotted for public comment and open discussion. The first meeting will be held from 7 to 9 p.m. March 28 in Stover Hall at Waynesburg College in Greene County, 51 W. College St. A complete list of meetings is available on the task force Web site.
Groups interested in a presentation from the task force or in viewing its nine-minute video on Southwestern Pennsylvania's water resource challenges can visit the task force Web site or contact the project team at 412-624-7792.


text:
Lady Of The House announces winners of production competition, launches new record label
by Lucy Thraves
October 11th 2022 at 2:46PM
Lady Of The House, the organisation championing women and non-binary artists in the dance music scene, has announced the four winners of their inaugural production competition.
The winning tracks, A&R'd by a crew of 'Godmothers' including BBC Radio 1's Jaguar and Charlie Tee, Becky Hill and Defected Records' Sam Divine, will receive a special support package as part of their record release, including a remix of their track by a prominent artist, a professional promotional campaign and the chance to perform at major events over Amsterdam Dance Event.
The winners will also be offered comprehensive mentorship and counsel as part of an accelerator programme.
The four selected tracks will serve as the entrées to Lady Of The House Recordings, which is powered by LabelWorx, and with promotional support from accelerator programme members Your Army and DEMI:
Angel Lee ft. LKP, Bill's Groove – picked by Jaguar
Esther Turner, Swayin' – picked by Sam Divine
Evalina, Vivid – picked by Becky Hill
Jamurai, Meditation – picked by Charlie Tee
LOTH was formed two years ago to support women and non-binary people in dance music. In 2021 they crowdfunded the release of a book detailing the presence of over 150 women in dance music, including interviews with the likes of Jocelyn Brown, Nina Kraviz, Róisín Murphy and Charlotte de Witte.
Founder and co-author Laila Mckenzie said: "I never dreamt that when we launched this record label that we would receive hundreds of demos in only six weeks. It shows me that as much as we say as an industry that we've not got enough women and non-binary producers, it's not for lack of talent; it's a matter of finding them, believing in them, investing in them, platforming them, amplifying them. All of these things that we don't seem to be doing for women and non-binary people."
She continued: "Lady Of The House, along with our incredible partners, is going from strength to strength and putting words into action - we're not just talking about what needs to be done to fix the industry, but actually going out there and fixing it, providing and working practical solutions that give proper examples of how we can really harness this talent that is out there."
The four winning tracks will be released on October 14, 2022, and the group will perform sets at regarded events over the festival including LabelWorx's 15th anniversary event and closing for Seth Troxler at the fifth anniversary of the ADE Mixer hosted by The Media Nanny, Audio Obscura and the Brand Father.
LOTH will also curate ADE panels with Spinnin' Records on October 19, and another on October 21, entitled Harnessing The Power Of Dance Music's Gender Parity Initiatives.
dance music,
Roisin Murphy,
Lady Of The House
Night shift: Industry execs on dance music's rebirth and what it means for the UK's club culture
SoundCloud reveals platform's rising global sub-genres including UK Dance, Afrobeats and Plugg
'It's a time of change': Eliza Rose on life in the eye of 2022's dance storm
Anton Powers on the demise of dance music snobbery amid the genre's streaming boom


Ok, so I've put it out there to the universe that I'm ready to start preparations for training for a triathlon. Totally odd. I've never really learned how to swim (I can stay afloat and kick and sorta sideways breathe, but you know...appropriate form and such), I've never been much of a runner, and I don't even own a bike. And yet, I still want to pursue it.
We're asking friends, medical professionals, and researching all over the internet as to the best way to proceed. I'll be visiting the YMCA tomorrow to check out the pool schedule & possible availability of any free training sessions (primarily for swimming). I am terrified of all of the things I am going to have to learn, what this may do to my body, the financial investment (WOW are bikes expensive!), and the ultimate lifestyle change this committment entails. And yet, I still pursue it.
It is the excitement, the discipline, the challenge, the fitness, the friends who've been there, done that, the coolness of saying "I'm training for a triathlon", the unexplainable joy of saying "I've completed a traithlon"...the sheer magnitude of it all that keeps me going.
Once I've got the ok from the doc, I'll start posting updates here (to keep me accountable to the faceless beauties who read this blog).
I'm a mommy, a wife, a goddess, a yogini, a crafter, an artist, a photographer, an avid reader, a wine lover, a philosopher, a detail-oriented freak, a magnet-for-all-kinds-of-deeper-wonderment, and hopefully, oh-so-hopefully, soon......a triathlete.


For many students, education is a journey that begins with grammar school, and carries on through higher education. Each new class brings a new book of reference, increasing the weight of backpacks, and the likelihood that a sociology textbook is mistakenly brought to math class. Thankfully, the opportunity to learn in a corporate environment doesn't require textbooks – and doesn't end with graduation. Today's learners are lifelong, meaning that the modern workplace must double as a classroom.
While a streamlined, online platform certainly reduces the weight of a learner's bag, it doesn't always solve the problem of having to keep track of disparate, one-size-fits-all content. In the digital economy, these online resources must be formatted in a way that maps out every aspect of a learner's experience with an enterprise solution. Too often, support services are seen as separate from learning goals, forcing users to bounce between reactive support materials and proactive learning channels. But in order to truly navigate the ins and outs of a given software, digital learners must be given access to both kinds of content through one instructive channel.
Today, learning content must be presented in a way that is conducive to both support and enablement. At SAP, we're working to provide this experience through the SAP Enterprise Support Academy program, which is available at no additional charge to all customers of SAP Enterprise Support services and SAP Enterprise Support, cloud editions. SAP Learning Hub, edition for SAP Enterprise Support integrates this program and all of its enablement services. This means that for our customers SAP Learning Hub, SAP's cloud-based learning platform, is the single entry point for knowledge about SAP.
With the goals of support services and corporate learning converging, why not merge resources from both categories under an on-demand and evolving platform? As businesses continue to make the move to the cloud, a cloud-based learning platform that encompasses all of the above is a natural next step toward the future of corporate learning. By providing increased speed and breadth, users gain instant access to both proactive learning content, as well as instructive support materials.
As users seek to learn from their mistakes (and the troubleshooting of their software), support specialists become teachers. Today's corporate learning offerings invite the same support specialists and engineers who are experienced in addressing support tickets to lead live expert sessions. Direct access to the guidance and technical expertise will reduce complexity, coaching users to faster results and driving business value.
Not only are textbooks heavy, they also take on a permanent, catchall format, neglecting the fact that no two learners understand or retain information the same way. Given the changing needs of today's workforce, corporate learning options must provide innovative, customizable options. In addition to the need for live, expert-guided sessions, including options like self-paced learning content will offer the flexibility to meet the learning styles of all users.
We've made all of these options and more available to learners through SAP Learning Hub, and in our newest edition, SAP Learning Hub, edition for SAP Enterprise Support, we've even introduced new formats also for microlearning. Through this structure, content is broken up into small, easy-to-digest segments. Offering versatile content will ensure users walk way informed, whether they're looking to reinforce the skills needed to effectively run their software, or learn about a completely new realm of the digital economy.
The textbook of tomorrow for corporate learners is, and will be, collaborative, convenient and cloud based learning platforms covering everything from solution implementation, to the skill sets necessary to attain future goals. Offering support and enablement through the cloud will ensure learning content is made available at the speed of innovation, meaning that it might be time to retire your textbook.


Finally, it is time to explain my experience with the 10th scripture in this series. As with all the others I have written about, it served as guidance and inspiration to go on. The promise that it offered simply could not be ignored. I craved the professed outcome; hoped every word written would come to pass.
Blogging for two months about scriptures that saw me through a season of trauma has caused me and likewise, those that read and rely on "Just Do Today" to walk through, to be drug through the hard stuff of life.
I have bared my fears, my struggles and my sorrows, the range of emotions that plagued my broken heart. It is absolutely true, I was driven to my knees and was brought to a fetal position on the floor as I suffered through a season of suffering. What I wrote about was real, it happened and it was hard.
I have tried to share the many coping skills and spiritual solutions required to stand up against the darkness that threatened to overtake me. Sometimes, I had to power up and push through, other times I had to sit still and trust. Sometimes the onus that was placed upon me was to simply be OK with not being OK, hoping one day things would be different. Certainly, my patience and perseverance were put to the test.
In each of these situations, the scriptures served as a weapon to fight off weariness, a tool to tame my emotions. As well, God's Holy Writ provided a structured way to think, so that I knew better than to give up. Today, I am ever so grateful for the many passages that served to soothe me, sustain me and to strengthen me.
However, none of the passages in the series, so far have said anything about cheerfulness, joviality or having joy.
And, that is what why this last scripture in the series was so vital to my recovery.
I knew that things would change. I wasn't sure when a transformation would take place, nor what it would look like when it did. As well, would it be a sudden "something" or another process that extended over a long period of time.
I had no way of knowing any of the particulars, all I could do was trust in the promise!
On the days, I wanted to throw in the towel because, I thought the rest of my life wasn't worth living, I prodded myself to adopt a different stance.
So, every time I caught myself thinking about my life being scarred my loss, I gently reminded myself that The Great Healer says it doesn't need to happen that way.
Instead, out of sheer love and grace, He promised to pull back the veil of sadness and grief so that I could once again experience love and laughter and life experiences that brought sincere fulfillment.
As I said before, I desperately wanted this lighter sense of self. So, I forced myself to believe I would get better.
But the truth is, in the scripture Jesus stated my life would be better than just satisfactory.
He foretold of a time rather than just getting by, my life experience would be pretty darn good. Promising that one day I would be recovered enough to joyfully tap my toes and twirl around!
There were days I never thought this possible! For weeks I walked around with a scowl and a frown. Months passed by when I thought I would never smile again. And years, came and went when I thought all I would do is exist.
On a special night of celebration, in July of this year, I found myself, out on the dance floor with my adorable daughter!
Yes, I got out there in the crowd and the excitement of the moment and for a few seconds, I shook off all the sadness and layers of despair. For the moment, my wailing had turned to dancing, my mourning rags had been ripped away and I was clothed in absolutely JOY!
For a mom who didn't think she would ever smile again, I think this is pretty darn good!
Surely, I don't always feel THIS great nor does delight define each of my days.
I give you all the glory for this very special snapshot!!! Thank you for this moment and this memory! Thank you for promises that pulled me through and for making good on what you said you would do. As well, I wait expectantly for the abundant living yet to come.


text:
"""Functionality to query and extract information from aligned BAM files.
"""
import collections
import os
import itertools
import signal
import subprocess
import numpy

import pybedtools
import pysam
import toolz as tz

from bcbio import broad, utils
from bcbio.bam import ref
from bcbio.distributed import objectstore
from bcbio.distributed.transaction import file_transaction
from bcbio.log import logger
from bcbio.pipeline import config_utils
import bcbio.pipeline.datadict as dd
from bcbio.provenance import do

def is_empty(bam_file):
    """Determine if a BAM file is empty
    """
    bam_file = objectstore.cl_input(bam_file)
    sambamba = config_utils.get_program("sambamba", {})
    cmd = ("set -o pipefail; "
           "{sambamba} view {bam_file} | head -1 | wc -l")
    p = subprocess.Popen(cmd.format(**locals()), shell=True,
                         executable=do.find_bash(),
                         stdout=subprocess.PIPE, stderr=subprocess.PIPE,
                         preexec_fn=lambda: signal.signal(signal.SIGPIPE, signal.SIG_DFL))
    stdout, stderr = p.communicate()
    stderr = stderr.strip()
    if ((p.returncode == 0 or p.returncode == 141) and
         (stderr == "" or (stderr.startswith("gof3r") and stderr.endswith("broken pipe")))):
        return int(stdout) == 0
    else:
        raise ValueError("Failed to check empty status of BAM file: %s" % str(stderr))

def is_paired(bam_file):
    """Determine if a BAM file has paired reads.

    Works around issues with head closing the samtools pipe using signal trick from:
    http://stackoverflow.com/a/12451083/252589
    """
    bam_file = objectstore.cl_input(bam_file)
    sambamba = config_utils.get_program("sambamba", {})
    cmd = ("set -o pipefail; "
           "{sambamba} view {bam_file} | head -50000 | "
           "{sambamba} view -S -F paired /dev/stdin  | head -1 | wc -l")
    p = subprocess.Popen(cmd.format(**locals()), shell=True,
                         executable=do.find_bash(),
                         stdout=subprocess.PIPE, stderr=subprocess.PIPE,
                         preexec_fn=lambda: signal.signal(signal.SIGPIPE, signal.SIG_DFL))
    stdout, stderr = p.communicate()
    stderr = stderr.strip()
    if ((p.returncode == 0 or p.returncode == 141) and
         (stderr == "" or (stderr.startswith("gof3r") and stderr.endswith("broken pipe")))):
        return int(stdout) > 0
    else:
        raise ValueError("Failed to check paired status of BAM file: %s" % str(stderr))

def fake_index(in_bam, data):
    """Create a fake index file for namesorted BAMs. bais require by CWL for consistency.
    """
    index_file = "%s.bai" % in_bam
    if not utils.file_exists(index_file):
        with file_transaction(data, index_file) as tx_out_file:
            with open(tx_out_file, "w") as out_handle:
                out_handle.write("name sorted -- no index")
    return index_file

def index(in_bam, config, check_timestamp=True):
    """Index a BAM file, skipping if index present.

    Centralizes BAM indexing providing ability to switch indexing approaches.
    """
    assert is_bam(in_bam), "%s in not a BAM file" % in_bam
    index_file = "%s.bai" % in_bam
    alt_index_file = "%s.bai" % os.path.splitext(in_bam)[0]
    if check_timestamp:
        bai_exists = utils.file_uptodate(index_file, in_bam) or utils.file_uptodate(alt_index_file, in_bam)
    else:
        bai_exists = utils.file_exists(index_file) or utils.file_exists(alt_index_file)
    if not bai_exists:
        # Remove old index files and re-run to prevent linking into tx directory
        for fname in [index_file, alt_index_file]:
            utils.remove_safe(fname)
        samtools = config_utils.get_program("samtools", config)
        num_cores = config["algorithm"].get("num_cores", 1)
        with file_transaction(config, index_file) as tx_index_file:
            cmd = "{samtools} index -@ {num_cores} {in_bam} {tx_index_file}"
            do.run(cmd.format(**locals()), "Index BAM file: %s" % os.path.basename(in_bam))
    return index_file if utils.file_exists(index_file) else alt_index_file

def remove(in_bam):
    """
    remove bam file and the index if exists
    """
    if utils.file_exists(in_bam):
        utils.remove_safe(in_bam)
    if utils.file_exists(in_bam + ".bai"):
        utils.remove_safe(in_bam + ".bai")

def idxstats(in_bam, data):
    """Return BAM index stats for the given file, using samtools idxstats.
    """
    index(in_bam, data["config"], check_timestamp=False)
    AlignInfo = collections.namedtuple("AlignInfo", ["contig", "length", "aligned", "unaligned"])
    samtools = config_utils.get_program("samtools", data["config"])
    idxstats_out = subprocess.check_output([samtools, "idxstats", in_bam])
    out = []
    for line in idxstats_out.split("\n"):
        if line.strip():
            contig, length, aligned, unaligned = line.split("\t")
            out.append(AlignInfo(contig, int(length), int(aligned), int(unaligned)))
    return out

def fai_from_bam(ref_file, bam_file, out_file, data):
    """Create a fai index with only contigs in the input BAM file.
    """
    contigs = set([x.contig for x in idxstats(bam_file, data)])
    if not utils.file_uptodate(out_file, bam_file):
        with open(ref.fasta_idx(ref_file, data["config"])) as in_handle:
            with file_transaction(data, out_file) as tx_out_file:
                with open(tx_out_file, "w") as out_handle:
                    for line in (l for l in in_handle if l.strip()):
                        if line.split()[0] in contigs:
                            out_handle.write(line)
    return out_file

def ref_file_from_bam(bam_file, data):
    """Subset a fasta input file to only a fraction of input contigs.
    """
    new_ref = os.path.join(utils.safe_makedir(os.path.join(dd.get_work_dir(data), "inputs", "ref")),
                           "%s-subset.fa" % dd.get_genome_build(data))
    if not utils.file_exists(new_ref):
        with file_transaction(data, new_ref) as tx_out_file:
            contig_file = "%s-contigs.txt" % utils.splitext_plus(new_ref)[0]
            with open(contig_file, "w") as out_handle:
                for contig in [x.contig for x in idxstats(bam_file, data) if x.contig != "*"]:
                    out_handle.write("%s\n" % contig)
            cmd = "seqtk subseq -l 100 %s %s > %s" % (dd.get_ref_file(data), contig_file, tx_out_file)
            do.run(cmd, "Subset %s to BAM file contigs" % dd.get_genome_build(data))
    ref.fasta_idx(new_ref, data["config"])
    runner = broad.runner_from_path("picard", data["config"])
    runner.run_fn("picard_index_ref", new_ref)
    return {"base": new_ref}

def get_downsample_pct(in_bam, target_counts, data):
    """Retrieve percentage of file to downsample to get to target counts.
    """
    total = sum(x.aligned for x in idxstats(in_bam, data))
    with pysam.Samfile(in_bam, "rb") as work_bam:
        n_rgs = max(1, len(work_bam.header.get("RG", [])))
    rg_target = n_rgs * target_counts
    if total > rg_target:
        return float(rg_target) / float(total)

def get_aligned_reads(in_bam, data):
    index(in_bam, data["config"], check_timestamp=False)
    bam_stats = idxstats(in_bam, data)
    align = sum(x.aligned for x in bam_stats)
    unaligned = sum(x.unaligned for x in bam_stats)
    total = float(align + unaligned)
    return 1.0 * align / total

def downsample(in_bam, data, target_counts, work_dir=None):
    """Downsample a BAM file to the specified number of target counts.
    """
    index(in_bam, data["config"], check_timestamp=False)
    ds_pct = get_downsample_pct(in_bam, target_counts, data)
    if ds_pct:
        out_file = "%s-downsample%s" % os.path.splitext(in_bam)
        if work_dir:
            out_file = os.path.join(work_dir, os.path.basename(out_file))
        if not utils.file_exists(out_file):
            with file_transaction(data, out_file) as tx_out_file:
                samtools = config_utils.get_program("samtools", data["config"])
                num_cores = dd.get_num_cores(data)
                ds_pct = "42." + "{ds_pct:.3}".format(ds_pct=ds_pct).replace("0.", "")
                cmd = ("{samtools} view -O BAM -@ {num_cores} -o {tx_out_file} "
                       "-s {ds_pct} {in_bam}")
                do.run(cmd.format(**locals()), "Downsample BAM file: %s" % os.path.basename(in_bam))
        return out_file

def get_maxcov_downsample_cl(data, in_pipe=None):
    """Retrieve command line for max coverage downsampling, fitting into bamsormadup output.
    """
    max_cov = _get_maxcov_downsample(data) if dd.get_aligner(data) not in ["snap"] else None
    if max_cov:
        if in_pipe == "bamsormadup":
            prefix = "level=0"
        elif in_pipe == "samtools":
            prefix = "-l 0"
        else:
            prefix = ""
        # Swap over to multiple cores until after testing
        #core_arg = "-t %s" % dd.get_num_cores(data)
        core_arg = ""
        return ("%s | variant - -b %s --mark-as-qc-fail --max-coverage %s"
                % (prefix, core_arg, max_cov))
    else:
        if in_pipe == "bamsormadup":
            prefix = "indexfilename={tx_out_file}.bai"
        else:
            prefix = ""
        return prefix

def _get_maxcov_downsample(data):
    """Calculate maximum coverage downsampling for whole genome samples.

    Returns None if we're not doing downsampling.
    """
    from bcbio.bam import ref
    from bcbio.ngsalign import alignprep, bwa
    from bcbio.variation import coverage
    params = {"min_coverage_for_downsampling": 10,
              "maxcov_downsample_multiplier": dd.get_maxcov_downsample(data)}
    fastq_file = data["files"][0]
    num_reads = alignprep.total_reads_from_grabix(fastq_file)
    if num_reads and params["maxcov_downsample_multiplier"] and params["maxcov_downsample_multiplier"] > 0:
        vrs = dd.get_variant_regions_merged(data)
        total_size = sum([c.size for c in ref.file_contigs(dd.get_ref_file(data), data["config"])])
        if vrs:
            callable_size = pybedtools.BedTool(vrs).total_coverage()
            genome_cov_pct = callable_size / float(total_size)
        else:
            callable_size = total_size
            genome_cov_pct = 1.0
        if (genome_cov_pct > coverage.GENOME_COV_THRESH
              and dd.get_coverage_interval(data) in ["genome", None, False]):
            total_counts, total_sizes = 0, 0
            for count, size in bwa.fastq_size_output(fastq_file, 5000):
                total_counts += int(count)
                total_sizes += (int(size) * int(count))
            read_size = float(total_sizes) / float(total_counts)
            avg_cov = float(num_reads * read_size) / callable_size
            if avg_cov >= params["min_coverage_for_downsampling"]:
                return int(avg_cov * params["maxcov_downsample_multiplier"])
    return None

def check_header(in_bam, rgnames, ref_file, config):
    """Ensure passed in BAM header matches reference file and read groups names.
    """
    _check_bam_contigs(in_bam, ref_file, config)
    _check_sample(in_bam, rgnames)

def _check_sample(in_bam, rgnames):
    """Ensure input sample name matches expected run group names.
    """
    with pysam.Samfile(in_bam, "rb") as bamfile:
        rg = bamfile.header.get("RG", [{}])
    msgs = []
    warnings = []
    if len(rg) > 1:
        warnings.append("Multiple read groups found in input BAM. Expect single RG per BAM.")
    if len(rg) == 0:
        msgs.append("No read groups found in input BAM. Expect single RG per BAM.")
    if len(rg) > 0 and any(x.get("SM") != rgnames["sample"] for x in rg):
        msgs.append("Read group sample name (SM) does not match configuration `description`: %s vs %s"
                    % (rg[0].get("SM"), rgnames["sample"]))
    if len(msgs) > 0:
        raise ValueError("Problems with pre-aligned input BAM file: %s\n" % (in_bam)
                         + "\n".join(msgs) +
                         "\nSetting `bam_clean: picard` or `bam_clean: fixrg`\n"
                         "in the configuration can often fix this issue.")
    if warnings:
        print("*** Potential problems in input BAM compared to reference:\n%s\n" %
              "\n".join(warnings))

def _check_bam_contigs(in_bam, ref_file, config):
    """Ensure a pre-aligned BAM file matches the expected reference genome.
    """
    # GATK allows chromosome M to be in multiple locations, skip checking it
    allowed_outoforder = ["chrM", "MT"]
    ref_contigs = [c.name for c in ref.file_contigs(ref_file, config)]
    with pysam.Samfile(in_bam, "rb") as bamfile:
        bam_contigs = [c["SN"] for c in bamfile.header["SQ"]]
    extra_bcs = [x for x in bam_contigs if x not in ref_contigs]
    extra_rcs = [x for x in ref_contigs if x not in bam_contigs]
    problems = []
    warnings = []
    for bc, rc in itertools.izip_longest([x for x in bam_contigs if (x not in extra_bcs and
                                                                     x not in allowed_outoforder)],
                                         [x for x in ref_contigs if (x not in extra_rcs and
                                                                     x not in allowed_outoforder)]):
        if bc != rc:
            if bc and rc:
                problems.append("Reference mismatch. BAM: %s Reference: %s" % (bc, rc))
            elif bc:
                warnings.append("Extra BAM chromosomes: %s" % bc)
            elif rc:
                warnings.append("Extra reference chromosomes: %s" % rc)
    for bc in extra_bcs:
        warnings.append("Extra BAM chromosomes: %s" % bc)
    for rc in extra_rcs:
        warnings.append("Extra reference chromosomes: %s" % rc)
    if problems:
        raise ValueError("Unexpected order, name or contig mismatches between input BAM and reference file:\n%s\n"
                         "Setting `bam_clean: picard` in the configuration can often fix this issue."
                         % "\n".join(problems))
    if warnings:
        print("*** Potential problems in input BAM compared to reference:\n%s\n" %
              "\n".join(warnings))

def open_samfile(in_file):
    if is_bam(in_file):
        return pysam.Samfile(in_file, "rb")
    elif is_sam(in_file):
        return pysam.Samfile(in_file, "r")
    else:
        raise IOError("in_file must be either a BAM file or SAM file. Is the "
                      "extension .sam or .bam?")

def is_bam(in_file):
    _, ext = os.path.splitext(in_file)
    if ext == ".bam":
        return True
    else:
        return False

def is_sam(in_file):
    _, ext = os.path.splitext(in_file)
    if ext == ".sam":
        return True
    else:
        return False

def sam_to_bam(in_sam, config):
    if is_bam(in_sam):
        return in_sam

    assert is_sam(in_sam), "%s is not a SAM file" % in_sam
    out_file = os.path.splitext(in_sam)[0] + ".bam"
    if utils.file_exists(out_file):
        return out_file

    samtools = config_utils.get_program("samtools", config)
    num_cores = config["algorithm"].get("num_cores", 1)
    with file_transaction(config, out_file) as tx_out_file:
        cmd = "{samtools} view -@ {num_cores} -h -S -b {in_sam} -o {tx_out_file}"
        do.run(cmd.format(**locals()),
               ("Convert SAM to BAM (%s cores): %s to %s"
                % (str(num_cores), in_sam, out_file)))
    return out_file

def bam_to_sam(in_file, config):
    if is_sam(in_file):
        return in_file

    assert is_bam(in_file), "%s is not a BAM file" % in_file
    out_file = os.path.splitext(in_file)[0] + ".sam"
    if utils.file_exists(out_file):
        return out_file

    samtools = config_utils.get_program("samtools", config)
    num_cores = config["algorithm"].get("num_cores", 1)
    with file_transaction(config, out_file) as tx_out_file:
        cmd = "{samtools} view -@ {num_cores} -h {in_file} -o {tx_out_file}"
        do.run(cmd.format(**locals()),
               ("Convert BAM to SAM (%s cores): %s to %s"
                % (str(num_cores), in_file, out_file)))
    return out_file

def reheader(header, bam_file, config):
    samtools = config_utils.get_program("samtools", config)
    base, ext = os.path.splitext(bam_file)
    out_file = base + ".reheadered" + ext
    cmd = "{samtools} reheader {header} {bam_file} > {out_file}"
    do.run(cmd.format(**locals()), "Reheadering %s." % bam_file)
    return out_file

def merge(bamfiles, out_bam, config):
    assert all(map(is_bam, bamfiles)), ("Not all of the files to merge are not BAM "
                                        "files: %s " % (bamfiles))
    assert all(map(utils.file_exists, bamfiles)), ("Not all of the files to merge "
                                                   "exist: %s" % (bamfiles))
    if len(bamfiles) == 1:
        return bamfiles[0]
    if os.path.exists(out_bam):
        return out_bam
    samtools = config_utils.get_program("samtools", config)
    bamtools = config_utils.get_program("bamtools", config)
    num_cores = config["algorithm"].get("num_cores", 1)
    with file_transaction(config, out_bam) as tx_out_bam:
        cmd = "{samtools} merge -@ {num_cores} {tx_out_bam} " + " ".join(bamfiles)
        do.run(cmd.format(**locals()), "Merge %s into %s." % (bamfiles, out_bam))
    index(out_bam, config)
    return out_bam

def sort(in_bam, config, order="coordinate"):
    """Sort a BAM file, skipping if already present.
    """
    assert is_bam(in_bam), "%s in not a BAM file" % in_bam
    if bam_already_sorted(in_bam, config, order):
        return in_bam

    sort_stem = _get_sort_stem(in_bam, order)
    sort_file = sort_stem + ".bam"
    if not utils.file_exists(sort_file):
        samtools = config_utils.get_program("samtools", config)
        cores = config["algorithm"].get("num_cores", 1)
        with file_transaction(config, sort_file) as tx_sort_file:
            tx_sort_stem = os.path.splitext(tx_sort_file)[0]
            tx_dir = utils.safe_makedir(os.path.dirname(tx_sort_file))
            order_flag = "-n" if order == "queryname" else ""
            resources = config_utils.get_resources("samtools", config)
            mem = resources.get("memory", "2G")
            cmd = ("{samtools} sort -@ {cores} -m {mem} -O BAM {order_flag} "
                   "-T {tx_sort_stem}-sort -o {tx_sort_file} {in_bam}")
            do.run(cmd.format(**locals()), "Sort BAM file %s: %s to %s" %
                   (order, os.path.basename(in_bam), os.path.basename(sort_file)))
    return sort_file

def bam_already_sorted(in_bam, config, order):
    return order == _get_sort_order(in_bam, config)

def _get_sort_order(in_bam, config):
    for line in pysam.view("-H", in_bam).split("\r\n"):
        if line.startswith("@HD"):
            for keyval in line.split()[1:]:
                key, val = keyval.split(":")
                if key == "SO":
                    return val

def _get_sort_stem(in_bam, order):
    SUFFIXES = {"coordinate": ".sorted", "queryname": ".nsorted"}
    sort_base = os.path.splitext(in_bam)[0]
    for suffix in SUFFIXES:
        sort_base = sort_base.split(suffix)[0]
    return sort_base + SUFFIXES[order]

def sample_name(in_bam):
    """Get sample name from BAM file.
    """
    with pysam.AlignmentFile(in_bam, "rb", check_sq=False) as in_pysam:
        try:
            if "RG" in in_pysam.header:
                return in_pysam.header["RG"][0]["SM"]
        except ValueError:
            return None

def estimate_read_length(bam_file, nreads=1000):
    """
    estimate median read length of a SAM/BAM file
    """
    with open_samfile(bam_file) as bam_handle:
        reads = tz.itertoolz.take(nreads, bam_handle)
        lengths = [len(x.seq) for x in reads]
    return int(numpy.median(lengths))

def estimate_fragment_size(bam_file, nreads=5000):
    """
    estimate median fragment size of a SAM/BAM file
    """
    with open_samfile(bam_file) as bam_handle:
        reads = tz.itertoolz.take(nreads, bam_handle)
        # it would be good to skip spliced paired reads.
        lengths = [x.template_length for x in reads if x.template_length > 0]
    if not lengths:
        return 0
    return int(numpy.median(lengths))

def filter_stream_cmd(bam_file, data, filter_flag):
    """
    return a command to keep only alignments matching the filter flag
    see https://github.com/lomereiter/sambamba/wiki/%5Bsambamba-view%5D-Filter-expression-syntax for examples
    """
    sambamba = config_utils.get_program("sambamba", data["config"])
    num_cores = dd.get_num_cores(data)
    cmd = ('{sambamba} view -t {num_cores} -f bam -F "{filter_flag}" {bam_file}')
    return cmd.format(**locals())

def filter_primary_stream_cmd(bam_file, data):
    return filter_stream_cmd(bam_file, data, "not secondary_alignment")

def filter_primary(bam_file, data):
    stem, ext = os.path.splitext(bam_file)
    out_file = stem + ".primary" + ext
    if utils.file_exists(out_file):
        return out_file
    with file_transaction(data, out_file) as tx_out_file:
        cmd = filter_primary_stream_cmd(bam_file, data)
        cmd += "> {tx_out_file}"
        do.run(cmd.format(**locals()), ("Filtering primary alignments in %s." %
                                        os.path.basename(bam_file)))
    return out_file


So I've been all over the place recently. Been figuring alot of stuff out and getting alot of stuff together. Recently my buddy Steve who sometimes writes for Comic Book Resources managed to hook me up with a job reporting for them at the 2010 Baltimore Comic-Con. He knew I was going down to visit family and stuff in Maryland and it just so happened to line up perfectly with the convention that weekend so I went and worked on a story about "Madman" writer/creator/artist Mike Allred! It was a great panel and very informative but surprisingly not much talk about his latest work on the vertigo title "iZombie" considering the moderator for the panel was the writer on that series, Chris Roberson. It was still a great time and they actually published my store on their site here. So that neato. Besides that I've been trying to get my stuff together for MICE the Massachusetts Independent Comics Expo (or something) being held at AIB sometime this month. I know i couldn't really be vaguer about it at this point but really im still confused as to when so here's hoping it hasn't happened already. My good buddy Ché and I will possibly be debuting our new comic collaborations. We still need to figure a few things out. Other then those two gems of info not much other news besides a few new painting on the way and a possibly new childrens book in the works but we'll see how that goes ^_~.
Posted on Thursday, September 2nd, 2010 at 2:29 pm	in the category:Check This Out!, Comics/ Graphic Novels, Events/ Shows, Illustration, New Work, Travel. Comment RSS 2.0 feed. Comment it , or trackback this post.


SE4 news, reviews and local events in SE4 areas including Brockley, Crofton Park, Ladywell, and communities in SE4. Are these places the most relevant to this postcode? Let us know!
Find a Local Business Get the SE4 Newsletter!


text:
Optimal energy management of a hybrid electric powertrain system using improved particle swarm optimization
Syuan Yi Chen, Yi Hsuan Hung*, Chien Hsun Wu, Siang Ting Huang
電機工程學系
工業教育學系
This study developed an online suboptimal energy management system by using improved particle swarm optimization (IPSO) for engine/motor hybrid electric vehicles. The vehicle was modeled on the basis of second-order dynamics, and featured five major segments: a battery, a spark ignition engine, a lithium battery, transmission and vehicle dynamics, and a driver model. To manage the power distribution of dual power sources, the IPSO was equipped with three inputs (rotational speed, battery state-of-charge, and demanded torque) and one output (power split ratio). Five steps were developed for IPSO: (1) initialization; (2) determination of the fitness function; (3) selection and memorization; (4) modification of position and velocity; and (5) a stopping rule. Equivalent fuel consumption by the engine and motor was used as the fitness function with five particles, and the IPSO-based vehicle control unit was completed and integrated with the vehicle simulator. To quantify the energy improvement of IPSO, a four-mode rule-based control (system ready, motor only, engine only, and hybrid modes) was designed according to the engine efficiency and rotational speed. A three-loop Equivalent Consumption Minimization Strategy (ECMS) was coded as the best case. The simulation results revealed that IPSO searches the optimal solution more efficiently than conventional PSO does. In two standard driving cycles, ECE and FTP, the improvements in the equivalent fuel consumption and energy consumption compared to baseline were (24.25%, 45.27%) and (31.85%, 56.41%), respectively, for the IPSO. The CO2 emission for all five cases (pure engine, rule-based, PSO, IPSO, ECMS) was compared. These results verify that IPSO performs outstandingly when applied to manage hybrid energy. Hardware-in-the-loop (HIL) implementation and a real vehicle test will be conducted in the near future.
Applied Energy
https://doi.org/10.1016/j.apenergy.2015.09.047
已發佈 - 2015 十二月 15
建築與營造
能源(全部)
機械工業
管理、監督、政策法律
UN SDG
此研究成果有助於以下永續發展目標
10.1016/j.apenergy.2015.09.047
深入研究「Optimal energy management of a hybrid electric powertrain system using improved particle swarm optimization」主題。共同形成了獨特的指紋。
energy management Earth & Environmental Sciences 100%
Powertrains Engineering & Materials Science 86%
Energy management Engineering & Materials Science 77%
Particle swarm optimization (PSO) Engineering & Materials Science 63%
engine Earth & Environmental Sciences 42%
vehicle Earth & Environmental Sciences 29%
battery Earth & Environmental Sciences 23%
Chen, S. Y., Hung, Y. H., Wu, C. H., & Huang, S. T. (2015). Optimal energy management of a hybrid electric powertrain system using improved particle swarm optimization. Applied Energy, 160, 132-145. https://doi.org/10.1016/j.apenergy.2015.09.047
Optimal energy management of a hybrid electric powertrain system using improved particle swarm optimization. / Chen, Syuan Yi; Hung, Yi Hsuan; Wu, Chien Hsun; Huang, Siang Ting.
於: Applied Energy, 卷 160, 15.12.2015, p. 132-145.
Chen, SY, Hung, YH, Wu, CH & Huang, ST 2015, 'Optimal energy management of a hybrid electric powertrain system using improved particle swarm optimization', Applied Energy, 卷 160, 頁 132-145. https://doi.org/10.1016/j.apenergy.2015.09.047
Chen SY, Hung YH, Wu CH, Huang ST. Optimal energy management of a hybrid electric powertrain system using improved particle swarm optimization. Applied Energy. 2015 12月 15;160:132-145. https://doi.org/10.1016/j.apenergy.2015.09.047
Chen, Syuan Yi ; Hung, Yi Hsuan ; Wu, Chien Hsun ; Huang, Siang Ting. / Optimal energy management of a hybrid electric powertrain system using improved particle swarm optimization. 於: Applied Energy. 2015 ; 卷 160. 頁 132-145.
@article{608837ee1b6047acb01a2caff807693b,
title = "Optimal energy management of a hybrid electric powertrain system using improved particle swarm optimization",
abstract = "This study developed an online suboptimal energy management system by using improved particle swarm optimization (IPSO) for engine/motor hybrid electric vehicles. The vehicle was modeled on the basis of second-order dynamics, and featured five major segments: a battery, a spark ignition engine, a lithium battery, transmission and vehicle dynamics, and a driver model. To manage the power distribution of dual power sources, the IPSO was equipped with three inputs (rotational speed, battery state-of-charge, and demanded torque) and one output (power split ratio). Five steps were developed for IPSO: (1) initialization; (2) determination of the fitness function; (3) selection and memorization; (4) modification of position and velocity; and (5) a stopping rule. Equivalent fuel consumption by the engine and motor was used as the fitness function with five particles, and the IPSO-based vehicle control unit was completed and integrated with the vehicle simulator. To quantify the energy improvement of IPSO, a four-mode rule-based control (system ready, motor only, engine only, and hybrid modes) was designed according to the engine efficiency and rotational speed. A three-loop Equivalent Consumption Minimization Strategy (ECMS) was coded as the best case. The simulation results revealed that IPSO searches the optimal solution more efficiently than conventional PSO does. In two standard driving cycles, ECE and FTP, the improvements in the equivalent fuel consumption and energy consumption compared to baseline were (24.25%, 45.27%) and (31.85%, 56.41%), respectively, for the IPSO. The CO2 emission for all five cases (pure engine, rule-based, PSO, IPSO, ECMS) was compared. These results verify that IPSO performs outstandingly when applied to manage hybrid energy. Hardware-in-the-loop (HIL) implementation and a real vehicle test will be conducted in the near future.",
keywords = "Energy management, Hybrid vehicle, Online control, Particle swarm optimization (PSO)",
author = "Chen, {Syuan Yi} and Hung, {Yi Hsuan} and Wu, {Chien Hsun} and Huang, {Siang Ting}",
note = "Funding Information: The authors would like to thank the Ministry of Science and Technology of the Republic of China, Taiwan , for financial support for this research under Contract No. 103-2221-E-003-022- and MOST 103-2218-E-150-002-MY2. Publisher Copyright: {\textcopyright} 2015 Elsevier Ltd.",
doi = "10.1016/j.apenergy.2015.09.047",
journal = "Applied Energy",
T1 - Optimal energy management of a hybrid electric powertrain system using improved particle swarm optimization
AU - Chen, Syuan Yi
AU - Hung, Yi Hsuan
AU - Wu, Chien Hsun
AU - Huang, Siang Ting
N1 - Funding Information: The authors would like to thank the Ministry of Science and Technology of the Republic of China, Taiwan , for financial support for this research under Contract No. 103-2221-E-003-022- and MOST 103-2218-E-150-002-MY2. Publisher Copyright: © 2015 Elsevier Ltd.
N2 - This study developed an online suboptimal energy management system by using improved particle swarm optimization (IPSO) for engine/motor hybrid electric vehicles. The vehicle was modeled on the basis of second-order dynamics, and featured five major segments: a battery, a spark ignition engine, a lithium battery, transmission and vehicle dynamics, and a driver model. To manage the power distribution of dual power sources, the IPSO was equipped with three inputs (rotational speed, battery state-of-charge, and demanded torque) and one output (power split ratio). Five steps were developed for IPSO: (1) initialization; (2) determination of the fitness function; (3) selection and memorization; (4) modification of position and velocity; and (5) a stopping rule. Equivalent fuel consumption by the engine and motor was used as the fitness function with five particles, and the IPSO-based vehicle control unit was completed and integrated with the vehicle simulator. To quantify the energy improvement of IPSO, a four-mode rule-based control (system ready, motor only, engine only, and hybrid modes) was designed according to the engine efficiency and rotational speed. A three-loop Equivalent Consumption Minimization Strategy (ECMS) was coded as the best case. The simulation results revealed that IPSO searches the optimal solution more efficiently than conventional PSO does. In two standard driving cycles, ECE and FTP, the improvements in the equivalent fuel consumption and energy consumption compared to baseline were (24.25%, 45.27%) and (31.85%, 56.41%), respectively, for the IPSO. The CO2 emission for all five cases (pure engine, rule-based, PSO, IPSO, ECMS) was compared. These results verify that IPSO performs outstandingly when applied to manage hybrid energy. Hardware-in-the-loop (HIL) implementation and a real vehicle test will be conducted in the near future.
AB - This study developed an online suboptimal energy management system by using improved particle swarm optimization (IPSO) for engine/motor hybrid electric vehicles. The vehicle was modeled on the basis of second-order dynamics, and featured five major segments: a battery, a spark ignition engine, a lithium battery, transmission and vehicle dynamics, and a driver model. To manage the power distribution of dual power sources, the IPSO was equipped with three inputs (rotational speed, battery state-of-charge, and demanded torque) and one output (power split ratio). Five steps were developed for IPSO: (1) initialization; (2) determination of the fitness function; (3) selection and memorization; (4) modification of position and velocity; and (5) a stopping rule. Equivalent fuel consumption by the engine and motor was used as the fitness function with five particles, and the IPSO-based vehicle control unit was completed and integrated with the vehicle simulator. To quantify the energy improvement of IPSO, a four-mode rule-based control (system ready, motor only, engine only, and hybrid modes) was designed according to the engine efficiency and rotational speed. A three-loop Equivalent Consumption Minimization Strategy (ECMS) was coded as the best case. The simulation results revealed that IPSO searches the optimal solution more efficiently than conventional PSO does. In two standard driving cycles, ECE and FTP, the improvements in the equivalent fuel consumption and energy consumption compared to baseline were (24.25%, 45.27%) and (31.85%, 56.41%), respectively, for the IPSO. The CO2 emission for all five cases (pure engine, rule-based, PSO, IPSO, ECMS) was compared. These results verify that IPSO performs outstandingly when applied to manage hybrid energy. Hardware-in-the-loop (HIL) implementation and a real vehicle test will be conducted in the near future.
KW - Energy management
KW - Hybrid vehicle
KW - Online control
KW - Particle swarm optimization (PSO)
U2 - 10.1016/j.apenergy.2015.09.047
DO - 10.1016/j.apenergy.2015.09.047
JO - Applied Energy
JF - Applied Energy


(Richmond, VA – 09-24-2018) Boleman Law Firm, P.C. is pleased to announce that Amanda DeBerry and Emily Connor Kennedy have become the firm's newest shareholders.
Amanda focuses her practice on litigation and post-filing issues in Chapter 7 and Chapter 13 bankruptcy cases. She primarily practices in the firm's Richmond office, however, she covers dockets and litigates cases in the Richmond, Newport News, and Norfolk Bankruptcy Courts. Amanda coordinates the pro bono efforts for the Richmond office. Amanda is licensed to practice in Texas and Virginia and is admitted to the Eastern District of Virginia District Courts and Bankruptcy Courts.
Emily Connor Kennedy is a member of the Boleman Law Firm's consumer litigation team. Her focuses include helping clients who are facing consumer rights issues such as credit report inaccuracies and abuses from mortgage servicers and banks.
Emily has been a committed member of the Boleman team ever since she joined the Boleman Law Firm in 2010, as an intern after her first year at the University of Richmond School of Law. In 2012, Emily was admitted to the Virginia Bar.


9/02/2018 · Some want adventure, some want to move to the Philippines and some like me moved to Baguio then Angeles City, Pampanga. Experience one American expats life in Angeles City …... The Filipino society is affluent in tradition and custom belief influenced by a combination of Western and Eastern culture before the Spanish settlement, but the main affluent is our indigenous Malay ancestors from the South East.
I want to go 100 islands tomorrow, and I don't know how to buy bus ticket from Baguio city to get there. Everybody can give me a guidance about it. Thank you Everybody can give me a guidance about it.... 1/06/2017 · Re: Distance from Baguio City to Manila. Jun 1, 2017, 12:57 PM Victory Liner is the largest and most reliable bus operator from Baguio and they have trips 24/7.
The Partas Bus Line heads up to Baguio City and further north. It passes through Tarlac on the way north. This bus service stops and picks up at Clark Airport.....Brett It passes … how to get guava seeds from fruit They run services to Dau terminal, Angeles City from where you can get a trike to your hotel/bike pick up. Some of the buses that will be heading for Baguio will stop at Dau.
Despite the city's relatively small size, it is home to numerous shopping centers and malls catering to increasing commercial and tourist activity in Baguio: these include SM City Baguio, Baguio Center Mall, Cooyeesan Hotel Plaza, Abanao Square, The Maharlika Livelihood Center, Porta Vaga Mall and Centerpoint Plaza.
Find cheap airline tickets & deals from Cebu (CEB) to Angeles City (CRK) and save on your next flight with Expedia.
Need an Angeles City taxi? Looking for an Angeles City taxi service? Located on Clark base, Taxi Angeles' courteous & friendly drivers are situated in the ideal location for a quick, professional transfer service to any Angeles City destination and more.
There is no direct bus from clark to banaue , so first you have to go DAU bus terminal (also called mabalacat bus terminal) then take bus for baguio. Then from baguio u need to go to Bontoc to take the jeepney to banaue rice terraces.