Connect with us

California

A cross, a bracelet and a body: Who was the woman found in a California creek?

Published

on

A cross, a bracelet and a body: Who was the woman found in a California creek?


The San Diego River was less than 3 feet deep at sunrise.

By noon, the depth was 10 feet and growing as rainwater roared in from culverts and pipes and the sky.

Forester Creek meets the river from the east. Part of the channel is wide and unobstructed, but other areas are dense with foliage, including one stretch in Santee around the Olive Lane Bridge.

A little before 4 p.m. on Jan. 22, someone passing the creek’s southern border looked down and thought they saw a body.

Advertisement

***

It was briefly believed that no one had died during the historic storm that hit San Diego in January.

Then officials found a man whose car had crashed into debris in Lemon Grove. Another drowned in the Tijuana River while crossing into the United States. In both cases, the moments leading up to their deaths seemed clear.

The woman in the creek was a different story.

She had no identification. If this was a suicide, there was no note. Was she a visitor camping too close to the water? Had she gotten drunk and stumbled into the current? Was anyone else responsible?

Advertisement

Ligia Ceja, an investigator with the San Diego County Medical Examiner’s Office, arrived on the scene a little after 5 p.m., according to a report she wrote later. Sheriff’s deputies and members of the Santee Fire Department had already pulled the woman out of the brush and set her on a sidewalk. A disposable blanket lay on top.

Ceja stepped through the rain and lifted the sheet. The woman was White and appeared to be middle aged. Her eyes and hair were brown, although the latter, still damp and matted with leaves, looked gray at the roots.

The investigator spotted a handful of personal items, including a chain necklace with a metal crucifix and a bracelet engraved with the date “4/21/2006.” On the woman’s right leg was a tattoo of a dolphin with butterfly wings.

On the same leg, Ceja helped attach a yellow tag with two words: “Jane Doe.”

***

Advertisement

Faith Angle’s first act was to make her mother miss church.

On an October Sunday in 1977, Charlene Angle was headed to a service in North Park when the contractions ramped up. She made it to the building, dropped off her oldest daughter, and then drove south to the Naval Medical Center. Faith Angle was born within the hour.

Her father was in the U.S. Navy, so the family’s time in San Diego was followed by stays in Long Beach and Mountain View, and Vancouver, Wash., according to relatives.

As a kid, Angle enjoyed accompanying her older sister to video game arcades (Galaga was a favorite) and later liked waking that same sibling to borrow a prized Guns N’ Roses T-shirt. (Hope Angle said she was more likely to say “yes” to the second request, if only so she could go back to sleep.)

Faith Angle’s favorite hymn was “I Am a Child of God”:

Advertisement

Lead me, guide me, walk beside me,

Help me find the way.

Teach me all that I must do

To live with him someday.

At the same time, there were signs something was off. A younger brother said Angle sometimes seemed like a deer in traffic, wide-eyed and still.

Advertisement

One day, after arriving at middle school, Angle refused to go inside. She wouldn’t even leave the car. Her mother eventually walked onto campus herself.

“I brought her,” Charlene Angle recalled telling someone from the school. “Now you get her out.”

A staffer approached the vehicle. Faith Angle still would not budge. Her mother finally climbed back in the driver’s seat and drove to a psychologist.

***

Around a dozen people filed into a Kearny Mesa conference room the morning after January’s storm.

Advertisement

The Medical Examiner’s Office holds daily meetings to discuss recent deaths, and the list that Tuesday included the body in the creek. The group looked at photos from the scene and reviewed the few facts they knew. First responders had received reports during the flood that up to three people had been washed away, and it seemed likely this woman was one.

Steven Campman, the chief medical examiner, thought she might have been homeless, he said later. Yet his hypothesis was complicated by the woman’s jewelry. In Campman’s experience, people living outside often ended up selling their necklaces and bracelets.

An autopsy was conducted the same morning. Some of the woman’s skin was scraped and bruised, but examiners didn’t see signs of foul play, nor were there needle marks on the arms. A toxicology report similarly found no traces of alcohol, fentanyl, methamphetamines or a host of other drugs.

“Based on the autopsy findings and the circumstances surrounding the death,” a deputy medical examiner wrote, “the cause of death is drowning, and the manner of death is accident.”

Investigators still didn’t know how the woman ended up in the water. Nor were they any closer to getting a name.

Advertisement

A staffer made copies of the woman’s fingerprints and walked them across a parking lot. A nearby office had access to CAL-ID, a system that can run prints through multiple databases.

Perhaps one of those could identify the woman.

***

The psychologist believed Faith Angle needed a hospital.

The girl was eventually diagnosed with bipolar and schizoaffective disorders, according to her family. There was also post-traumatic stress: Angle had been abused by a relative.

Advertisement

Sometimes hallucinations led to screaming, crying and cutting, said her brother, Joseph Angle. “She would be saying, ‘The voices are talking again.’”

Medication gradually brought stability. Angle finished high school through a special education program in San Diego County, moved into a group home and then an assisted living facility.

That’s where she met Curtis Harper.

“She kind of felt like she was unlovable, and that maybe it wasn’t in the cards for her to find somebody,” said her sister, Saray Angle. “So when she did, she grabbed and held on as tight as she could — and he became just about her everything.”

Harper was tall, nearly 20 years older and a fan of fixing up mountain bikes, according to public records, social media posts and a friend of the couple. The two met on April 3, 2006, and were engaged the next year. It doesn’t appear they ever formally married, although Angle would refer to Harper as her husband. One photo shows the couple beaming in front of a Christmas tree, Angle’s head nestled into Harper’s neck.

Advertisement

Money was tight. Angle didn’t work and they lived off disability and Social Security payments. But her older sister, Hope, whose married name was now Webber, lived nearby and Webber’s husband became Angle’s payee, meaning he managed her finances. The couple was able to land their own apartment in El Cajon.

Angle loved making jewelry with beads, watching Disney’s animated “Cinderella” and reading Harry Potter. One online quiz confirmed that, had she attended Hogwarts School of Witchcraft and Wizardry, Angle would have joined Hufflepuff, the house for the patient, loyal and overlooked.

Faith Angle, Saray Angle, Charlene Angle and Hope Webber pose for a photo at Santee’s West Hills Park in 2016. The family had gathered for Saray Angle’s wedding. (Courtesy of Nikta Rassoulkhani) 

All the while, living in San Diego County was becoming increasingly expensive. By 2022, Webber had had enough. Her family needed to move somewhere cheaper, perhaps in the Pacific Northwest.

She asked Angle and Harper to join them.

***

Advertisement

The Medical Examiner’s Office got a response within hours of submitting the woman’s fingerprints to the CAL-ID system.

She wasn’t there.

Ceja, the investigator who examined the body by the creek, sent prints to the FBI and the U.S. Department of Homeland Security. They, too, found nothing. The office then uploaded what information they had to NamUs, the National Missing and Unidentified Persons System run by the federal government and open to just about anyone.

Investigators could not, however, check with the California Department of Motor Vehicles. Searching the DMV’s database required more than a set of fingerprints.

Everyone knew the clock was ticking. If the woman had a weekly routine, say, buying groceries at a certain store, people she interacted with would be more likely to notice her absence immediately afterward. The longer somebody stayed missing, the easier it became to forget.

Advertisement

One day passed. Then two.

Ceja’s supervisor decided to broaden their scope. She wrote up an email, attached a photograph of the woman’s face and hit “send.”

***

Faith Angle initially agreed to move north.

Her older sister found a house in Colville, Wash., not far from the Canadian border. Angle and Harper could take the basement while other members of the family, including their mom, would live upstairs.

Advertisement

Then Harper and Hope Webber, Angle’s sister, had a falling out and living all together was no longer an option. Angle didn’t want to leave the man she’d been with for years, so in the summer of 2022 she helped her mom and sister tape up boxes and said goodbye. Much of the family headed to Washington. Angle stayed in El Cajon.

Things fell apart within months.

Angle and Harper, now in charge of their own finances, stopped paying rent. A friend, James Farmer, later said their apartment had black mold the landlord wouldn’t fix, and it’s possible the couple directed what little money they had toward repairs.

As Christmas approached, Angle created a GoFundMe campaign online. “We need help this holiday season with relocating,” she wrote on Facebook. “Any donations would help.”

If they did raise money — the campaign is no longer active — it wasn’t enough. Sometime during the first half of last year, Angle and her partner lost the apartment.

Advertisement

***

PJ Puterbaugh is a freelance forensic artist who works with the San Diego County Medical Examiner. (Nelvin C. Cepeda / The San Diego Union-Tribune)
PJ Puterbaugh is a freelance forensic artist who works with the San Diego County Medical Examiner. (Nelvin C. Cepeda / The San Diego Union-Tribune) 

PJ Puterbaugh opened her email to find a photo of the drowned woman.

Puterbaugh is a freelance forensic artist for agencies around the country. From a home studio in Carlsbad, she studied the picture in front of her. The woman’s facial muscles had relaxed in death, leaving the eyebrows raised and eyes closed. Puterbaugh needed, she would say later, to “wake her up.”

The artist pulled the image into Photoshop. Since the woman’s hair was wet, Puterbaugh Googled pictures of comparable cuts to create a new head of hair. Muscles were tightened. The eyes opened.

Within two hours, Puterbaugh had a black-and-white image of a smiling, middle-aged woman.

A county spokesperson then took the finished sketch, attached photos of the woman’s bracelet, crucifix and butterfly tattoo and sent them all to hundreds of reporters and law enforcement officials around Southern California.

Advertisement

The accompanying press release began with a plea: “Do you know this woman?”

In February, San Diego County officials released a sketch of an unknown woman who drowned during a historic storm earlier in the year. (Nelvin C. Cepeda / The San Diego Union-Tribune)
In February, San Diego County officials released a sketch of an unknown woman who drowned during a historic storm earlier in the year. (Nelvin C. Cepeda / The San Diego Union-Tribune) 

***

More than 1,200 people countywide became homeless during January of last year.

It’s not clear if Faith Angle was represented in that statistic, since the Regional Task Force on Homelessness can only track people who interact with certain organizations. Regardless, Facebook messages show Angle was living in a motel that same month. Soon she and Harper were on the streets of El Cajon.

The couple looked for a place to sleep. Angle messaged Dave Spaeth, a friend from childhood, and asked to set up a tent in his yard. The friend sent back resources, including a crisis phone number and information about San Diego’s safe sleeping sites, but Spaeth said later that he wasn’t comfortable with someone camping outside his home.

Angle launched a second GoFundMe. “We need out,” she wrote online. Nobody donated.

Advertisement

Her health worsened. Angle had asthma and sometimes called an aunt, Joyce Welsh, in a panic. “Breathe through your nose,” Welsh would say, “and out your mouth.”

Months passed. Angle turned 46.

She became familiar to others living outside, and several people later remembered her generosity. One man, Everett Palmer, said Angle once bought him a burger and fries from Jack in the Box. A woman, Shana Bingham, grew close enough to call Angle her cousin.

Everett Palmer, 65, sits by a highway off-ramp in El Cajon on March 14, 2024. He said Faith Angle once bought him a burger from Jack in the Box. (Nelvin C. Cepeda / The San Diego Union-Tribune)
Everett Palmer, 65, sits by a highway off-ramp in El Cajon on March 14, 2024. He said Faith Angle once bought him a burger from Jack in the Box. (Nelvin C. Cepeda / The San Diego Union-Tribune) 

Relatives helped when they could, and the younger sister drove Angle to a hospital when she appeared to have pneumonia. But although Saray Angle lived in the area, her home was a converted garage that couldn’t accommodate more people.

In Washington, Angle’s older sister was nauseous knowing what had happened.

Sometimes Hope Webber was in the room when their mom got a call from Angle. Good, Webber would think. She’s alive. Then the conversation would end and the pressure inside her started to build back up.

Advertisement

In El Cajon, Angle developed a new plan: She and Harper would move in with Welsh, her aunt. Welsh had an apartment in Beaverton, Ore., just west of Portland, and she loved the idea of living with her niece. They could make lasagna together. Hand-made pizzas. Welsh rounded up winter boots, a dresser and a twin-sized foam topper.

The couple needed around $300 for train tickets. They sold a bicycle to save up. The aunt further believed that Angle had qualified for a Section 8 housing voucher, which can help cover rent and boosted the odds that Angle and Harper might again secure their own place.

While they waited and saved, the couple worried about citations from police, according to James Farmer, the friend from their apartment days.

He made a suggestion. Farmer had spent years living in stormwater tunnels and knew of one channel behind a Jerome’s Furniture store. Why didn’t they move underground?

***

Advertisement

The rains came. The river rose.

On the day of the January storm, emergency dispatchers received a call at 10:32 a.m.: At least two people appeared to be in a waterway by an El Cajon auto body shop, not far from a furniture store.

A truck from East County’s Heartland Fire and Rescue Department sped out, followed by a second, third, fourth and fifth. A Heartland pickup turned onto the road too, along with an ambulance, bringing the number of first responders to about 20 — and that was from just one agency.

The caravan split up along Forester Creek. Austin Strand, a firefighter and paramedic, got out by North Marshall Avenue, pulled on a helmet and helped a colleague saw through a chain-link fence.

The pair squeezed through the metal toward the water. A nearby fire captain thought the current below looked like it was traveling, what, 30 miles an hour? Forty? Eucalyptus trunks and debris the size of dinner tables whipped by.

Advertisement

Lines of rope held the team to a light pole. Rescuers gripped more rope to throw in the water the moment somebody surfaced. Everyone stood in the downpour, watching and waiting.

Angle’s family waited, too.

Welsh, the aunt, grew nervous in the days that followed. Why hadn’t Angle called? Welsh reached out to Angle’s mom, only to learn she hadn’t heard anything either. Yet the family was used to radio silence. Phones are easily lost, stolen or drained on the street.

Meanwhile, the sketch of the smiling woman ricocheted around the Internet.

A few people called the Medical Examiner’s Office to say her face looked familiar, including a psychic who reported that the woman was homeless, officials said. One advocate for homeless people suggested a name that turned out to be wrong.

Advertisement

The sketch made it as far as Pennsylvania, where it was seen by Summer Allen, whose sibling, Farmer, had suggested living in the tunnels. Allen later said the “Do you know this woman?” plea hit a nerve, as her own mother had similarly died homeless and unidentified.

Furthermore, Allen thought the woman looked like someone her brother knew.

Allen found Angle’s older sister on Facebook and sent a message. Hope Webber saw the note but didn’t recognize the sender, so she ignored it until a brother called about the sketch.

“Damn,” Webber thought when she finally saw the image. “That kind of looks like me.”

She showed the picture to her mom. Her mom began to cry.

Advertisement

The family got on the phone with the Medical Examiner’s Office and offered up Faith Angle’s name. That same day, the homelessness advocate who’d previously suggested an incorrect identity called back to additionally identify Angle as the missing woman and provide a possible driver’s license number.

Investigators could now check with the California DMV.

But when the fingerprints were finally scanned, DMV officials said they weren’t high enough quality. It appeared the woman’s skin had wrinkled too much in the water. Investigators took more prints and sent them over Feb. 15, more than three weeks after the storm.

The next day, the family received confirmation that Angle was dead.

***

Advertisement

The body of Curtis Harper, Angle’s partner of almost 18 years, was eventually found in a different part of Forester Creek, records show. A friend who’d been living near them, Manuel Andres Perez, also drowned.

They were, at minimum, the 29th, 30th and 31st homeless people to die in the county during January of this year, according to preliminary public data. They joined the 1,755 known to have died throughout the last three years from fentanyl and hypothermia and an array of other causes. That total is almost certainly an undercount.

Webber, the older sister, is angry that Angle was allowed to take over her own finances and that she wouldn’t move north alone. But Webber simultaneously feels a small sense of relief now that she doesn’t have to worry about her sister every moment of every day.

Welsh, Angle’s aunt, recently tried looking through text exchanges with her niece. It was hard to finish.

Farmer believes the deaths are partially on him. He’d been living in an apartment and wasn’t underground when the storm began. “I should have been there to pull them out,” the friend said.

Advertisement

But Farmer also thinks there’s broader culpability. “Society doesn’t want to see the homeless, so what do we do? We try to get out of sight,” he said. “It’s everybody’s fault why they died.”

Some questions remain unanswered. Members of Angle’s family don’t know the significance of the date on her bracelet, but since April 21, 2006, fell just weeks after she met Harper, it’s possible the day was significant to their relationship.

The full story behind the dolphin-with-butterfly-wings tattoo is similarly unknown, although Angle had long loved butterflies.

She told an aunt that monarchs sometimes flew into her campsite. Hummingbirds, too. A few even swooped in toward Angle’s face.

If she didn’t move, each might stop to hover a few inches away. Then they were gone.

Advertisement

Originally Published:



Source link

California

Doctors, nurses arrested in Southern California health care fraud investigation

Published

on

Doctors, nurses arrested in Southern California health care fraud investigation


LOS ANGELES — The U.S. Department of Justice on Thursday announced what they called a major health care fraud takedown throughout Southern California, which included the arrest of doctors and nurses.

First Assistant U.S. Attorney Bill Essayli was joined during a press conference by several law enforcement agencies including the FBI, and Dr. Mehmet Oz, head of the Centers for Medicare and Medicaid Services.

They said they served a series of search and arrest warrants throughout the region, from Covina to Lakewood in Los Angeles County. Eight people were arrested and more than a dozen are being charged for suspected health fraud.

They also mentioned fraudulent hospice care.

Advertisement

“These defendants recruited beneficiaries who were not terminally ill, and paid them to pose as patients receiving hospice care. Medicare then paid millions of dollars – hundreds of millions of dollars – on false and fraudulent claims submitted by fraudsters,” said Essayli.

Among those arrested were a Covina couple. Prosecutors said 66-year-old psychologist Gladwin Gill and his wife, Amelou Gill, a registered nurse, operated a fraudulent hospice business out of Glendale.

“This particular hospice submitted more than $5.2 million in fraudulent claims, and Medicare actually paid out more than $4 million,” Essayli said.

Gill’s attorney told our sister station, ABC7 Eyewitness News in Los Angeles, he denies the allegations and looks forward to his day in court.

Oz announced a broader review of hospice providers in the state.

Advertisement

“We’re going to review every single hospice in California to make sure that they’re all appropriate, and we hope to do that expeditiously. We’ll do it this year,” Oz said.

During the news conference, federal authorities were questioned about a video California Gov. Gavin Newsom said in January his office was reviewing. In that video, Oz, who is Turkish American, was shown standing in front of an Armenian-owned bakery in Van Nuys while alleging widespread fraud in the area.

Essayli confirmed that none of the defendants named Thursday were connected to that video. Oz responded to outcry that his accusations, which the business owner denounced as false, were discriminatory.

“I was stating the facts as they’ve been explained to me, and we have a lot of evidence of where the fraud is, just looking at the numbers,” Oz said.

Oz did not provide any evidence against a specific business in connection to that video. He suggested that half of Los Angeles County hospice care facilities are fraudulent, pointing to survival percentages as evidence.

Advertisement

“World experts at CMS say if you’ve got 100% or near survival, certainly if you’ve got a survival over 50% for population that’s supposed to have passed in six months, you’ve got a problem,” he said.

Newsom responded to accusations that California had not done enough to address hospice fraud, saying in part, “The Trump Administration – home to the biggest fraudsters on Earth – is trying to blame California for issues with THEIR federal programs.”

His press office said the state has taken action for years, including suspending more than 280 licenses and banning new ones.

Copyright © 2026 KABC Television, LLC. All rights reserved.



Source link

Advertisement
Continue Reading

California

California law allowing people to cook, sell food from homes getting statewide push

Published

on

California law allowing people to cook, sell food from homes getting statewide push


A home-based food movement has been heating up in California, with home cooks turning their beloved family recipes into small businesses. 

When most people get laid off, they update their résumés. James Houlahan preheated his oven.

“It’s pretty brutal, and since nobody’s hiring, I just figured I need to make a job for myself,” he said.

So the San Francisco Bay Area resident went back to a family recipe and decided to take a risk, with a whisk. He started making pavlovas, a light, meringue-based Australian dessert, crisp on the outside and soft in the middle.

Advertisement

“It’s something my mom and I always joked about whenever we’d bring a pav to a party, this thing kills,” Houlahan said. “So we figured, someone’s gotta make a business out of this.”

So he did, out of his own kitchen in Alameda. 

And that’s not a loophole. A 2019 law called MEHKO, or Microenterprise Home Kitchen Operation, allows people to cook and sell food right out of their homes. Since then, more than 1,000 of these home kitchens have opened across California, operating under a growing but still patchwork system.

There are rules: food must be made from scratch and sold the same day. Not every county is on board, but there is now a push to expand it statewide.

Roya Bagheri, the executive director of The Cook Alliance, the nonprofit behind MEHKO, said the law is gaining momentum across the country as other states consider their own versions. 

Advertisement

“The cost of getting something like a food truck or a brick and mortar restaurant is so high, this creates an access to enter the food industry,” she said.

A study by the group showed more than a third of home kitchen operators have used MEHKO as a stepping stone into something bigger.

But for some, the law is still a little undercooked. Jot Condie, president and CEO of the California Restaurant Association, warned that some counties may not have the resources to take it on.

“If they don’t have the budget, there may not be a rigorous inspection procedure, and that is a huge concern for us,” Condie said.

As for Houlahan, he’s betting on his own kitchen and his mother’s name: Marianne’s Pavlovas. And his customers, like Flora Tso, are already sold.

Advertisement

“Nowadays it just gives us more choice,” she said.



Source link

Continue Reading

California

4.6 earthquake jolts Northern California awake, residents report shaking homes for miles

Published

on

4.6 earthquake jolts Northern California awake, residents report shaking homes for miles


4.6 earthquake jolts Northern California awake, residents report shaking homes for miles

Advertisement

READY… ACCORDING TO THE MONTEREY COUNTY OF EMERGENCY SERVICES THERE’S ONLY BEEN 429 EARTHQUAKES IN OUR AREA THAT ARE ABOVE A 4.0 MAGNITUDE. BUT OFFICIALS AND EXPERTS SAY IT IS ONLY A MATTER OF TIME UNTIL THE NEXT BIG ONE. NOW TO PREPARE YOU CAN SIGN UP WITH YOUR COUNTY’S EMERGENCY SERVICES ALERTS BY GOING ON THE COUNTY WEBSITE. YOU CAN ALSO DOWNLOAD THIS APP CALLED MYSHAKE. IF A QUAKE ABOVE 4.5 MAGNITUDE HITS CALIFORNIA, YOU CAN GET AN ALERT A FEW SECONDS YOU FEEL IT IN YOUR AREA. THAT DEPENDS ON HOW CLOSE YOUR ARE TO THE EPICENTER. IT WILL REMIND YOU WHAT TO DO AND ALLOWS YOU TO SHARE AND SEE WHAT DAMAGES HAVE BEEN REPORTED NEAR YOU. NOW DOWNLOADING SOME SORT OF ALERT SYSTEM IS IMPORTANT, ESPECIALLY FOR THOSE OF US LIVING NEAR THE COAST. I SPOKE WITH SANTA CRUZ COUNTY’S OFFICE OF EMERGENCY SERVICES, AND THEY HAD FOUR REMINDERS: FIRST ONE – PREP YOUR LIVING SPACE. TRY TO AVOID PLACING BOOKSHELVES AND BIG FURNITURE NEAR ENTRY WAYS THAT COULD FALL AND BLOCK DURING AN EARTHQUAKE. SECONDLY – LIKE FOR ANY NATURAL DISASTER: HAVE A PLAN. WHEN IT COMES TO AN EARTHQUAKE, UTILITIES LIKE YOUR WATER AND SEWER SYSTEM MAY NOT WORK. THIRD – MAKE SURE YOU HAVE A GO BAG PREPPED WITH YOUR FOOD, WATER, CASH… AND THE LAST ONE: PUT ALL YOUR ESSENTIAL IDENTITY AND HEALTH DOCUMENTS IN ONE PLACE SO YOU CAN JUST GRAB IT AND GO. THE BIGGEST EARTHQUAKE TO HIT OUR NECK OF THE WOODS WAS THE LOMA PRIETA QUAKE IN 1989. THAT CLOCKE

Advertisement

4.6 earthquake jolts Northern California awake, residents report shaking homes for miles

Updated: 9:36 AM CDT Apr 2, 2026

Editorial Standards

Advertisement

A magnitude 4.9 earthquake struck Northern California early Thursday, according to the U.S. Geological Survey, with many saying they felt their homes shake for a few seconds in a 100-mile stretch, including San Francisco. The quake hit at 1:41 a.m. PST east-southeast of Boulder Creek, the USGS said. It had a depth of 6.7 miles. Boulder Creek, which has about 5,000 people, is about 65 miles southeast of San Francisco.Some residents said they were first awakened by earthquake alerts on their phones, then felt their beds and windows shake. Some items were knocked off store shelves in Boulder Creek.The shaking was felt in other parts of the Central Coast, including Marina, where at least one resident said they felt slight shaking and were awakened by it.The National Tsunami Warning Center said there is no tsunami danger from the earthquake. No damage or injuries were immediately reported.

A magnitude 4.9 earthquake struck Northern California early Thursday, according to the U.S. Geological Survey, with many saying they felt their homes shake for a few seconds in a 100-mile stretch, including San Francisco.

Advertisement

The quake hit at 1:41 a.m. PST east-southeast of Boulder Creek, the USGS said. It had a depth of 6.7 miles. Boulder Creek, which has about 5,000 people, is about 65 miles southeast of San Francisco.

Some residents said they were first awakened by earthquake alerts on their phones, then felt their beds and windows shake. Some items were knocked off store shelves in Boulder Creek.

The shaking was felt in other parts of the Central Coast, including Marina, where at least one resident said they felt slight shaking and were awakened by it.

Advertisement

The National Tsunami Warning Center said there is no tsunami danger from the earthquake.

No damage or injuries were immediately reported.

Advertisement

`;
}

function refreshWeatherIframe(containerId) {
var iframeId = ‘weather-iframe-‘ + containerId;
var iframe = document.getElementById(iframeId);
if (iframe && iframe.src) {
var originalSrc = iframe.src;
iframe.src = originalSrc + (originalSrc.indexOf(‘?’) > -1 ? ‘&’ : ‘?’) + ‘t=” + Date.now();
}
}

function initializeWeatherBox(container) {
var containerId = container.getAttribute(“data-container-id’);
var isWeatherBoxV2 = containerId === ‘home-weather-v2’;

Advertisement

function switchWeatherTab(tabName, clickedElement) {
container.querySelectorAll(‘[data-tab-id]’).forEach(function(tab) {
tab.classList.remove(‘open’);
tab.setAttribute(‘aria-selected’, ‘false’);
});

clickedElement.classList.add(‘open’);
clickedElement.setAttribute(‘aria-selected’, ‘true’);

container.querySelectorAll(‘[data-content-id]’).forEach(function(content) {
content.style.display = ‘none’;
content.setAttribute(‘hidden’, ‘true’);
});

var targetContent = container.querySelector(‘[data-content-id=”‘ + tabName + ‘”]’);
if (targetContent) {
targetContent.style.display = ‘block’;
targetContent.removeAttribute(‘hidden’);
}
}

function loadWeatherData() {
// If weather data is already being loaded, wait for it
if (window.weatherDataPromise) {
window.weatherDataPromise.then(function(data) {
if (data && data.data) {
var weatherContainer = container.closest(‘.weather-box-container’);
if (weatherContainer) {
weatherContainer.style.display = ‘flex’;
updateCurrentWeather(data.data);
updateForecastTabs(data.data);
updateWeatherAlertsBar(data.data);
}
}
});
return;
}

Advertisement

var location = { zip: window.DEFAULT_ZIPCODE };

try {
var storedLocations = localStorage.getItem(‘hrst.zip.history’);
if (storedLocations) {
var locations = JSON.parse(storedLocations);
if (locations && locations.length > 0) {
location = locations[0];
}
}
} catch (e) {}

var apiUrl = (window.DEWY_HOSTNAME || ”) + ‘/api/v1/weather/full/’ + location.zip;

if (window.fetch) {
window.weatherDataPromise = fetch(apiUrl)
.then(function(response) { return response.json(); })
.then(function(data) {
if (data && data.data) {
var article = container.closest(‘.article–wrapper’);
var weatherContainer = container.closest(‘.weather-box-container’);
if (weatherContainer) {
weatherContainer.style.display = ‘flex’;
updateCurrentWeather(data.data);
updateForecastTabs(data.data);
updateWeatherAlertsBar(data.data);
}
return data;
}
})
.catch(function(error) {
console.error(‘Error loading weather:’, error);
// Reset to unknown background on error
updateWeatherBackground(‘unknown’);
});
}
}

function updateWeatherAlertsBar(weatherData) {
var weatherWatchHeader = container.querySelector(‘.weather-watch-header’);
if (!weatherWatchHeader) return;

Advertisement

var weatherWatchText = weatherWatchHeader.querySelector(‘.weather-watch-text’);
var weatherWatchLink = weatherWatchHeader.querySelector(‘.weather-watch-link’);

if (weatherData.alerts_count > 0) {
weatherWatchHeader.className=”weather-watch-header has-alerts”;
if (weatherWatchText) {
weatherWatchText.textContent = `Weather Alerts (${weatherData.alerts_count})`;
}
if (weatherWatchLink) {
if (!weatherWatchLink.getAttribute(‘data-initial-href’)) {
weatherWatchLink.setAttribute(‘data-initial-href’, weatherWatchLink.getAttribute(‘href’));
weatherWatchLink.setAttribute(‘data-initial-onclick’, weatherWatchLink.getAttribute(‘onclick’) || ”);
}
weatherWatchLink.setAttribute(‘href’, “https://www.kcci.com/alerts”);
weatherWatchLink.setAttribute(‘onclick’, “return handleWeatherLinkClick(event, ‘click_alerts’, ‘click’, ‘mobile-weather’, “https://www.kcci.com/alerts”);”);
}
} else {
weatherWatchHeader.className=”weather-watch-header”;
if (weatherWatchText) {
weatherWatchText.textContent = containerId === ‘home-weather-v2’ ? ‘Watch Latest Forecast’ : ‘Latest Forecast’;
}
if (weatherWatchLink) {
var initialHref = weatherWatchLink.getAttribute(‘data-initial-href’);
var initialOnclick = weatherWatchLink.getAttribute(‘data-initial-onclick’);
if (initialHref) {
weatherWatchLink.setAttribute(‘href’, initialHref);
}
if (initialOnclick) {
weatherWatchLink.setAttribute(‘onclick’, initialOnclick);
}
}
}
}

function updateCurrentWeather(weatherData) {
if (weatherData.current) {
var tempValue = weatherData.current.temp_f || ”;
var skyValue = weatherData.current.sky || ”;
var feelsLikeValue = weatherData.current.feels_like_f || weatherData.current.temp_f || ”;

var tempEl = container.querySelector(‘.weather-grid–current-temp-value’);
if (tempEl) {
tempEl.textContent = tempValue;
tempEl.setAttribute(‘aria-label’, tempValue + ‘ degrees Fahrenheit’);
}

var iconEl = container.querySelector(‘.weather-grid–current-icon’);
if (iconEl && weatherData.current.icon_name) {
iconEl.className=”weather-grid–current-icon weather-current-icon icon icon-weather-” + weatherData.current.icon_name;
}

Advertisement

var skyEl = container.querySelector(‘.weather-grid–sky’);
if (skyEl) {
skyEl.textContent = skyValue;
skyEl.setAttribute(‘aria-label’, ‘Current condition: ‘ + skyValue);
}

var feelsEl = container.querySelector(‘.weather-grid–feels’);
if (feelsEl) {
feelsEl.textContent = feelsLikeValue + ‘°F’;
feelsEl.setAttribute(‘aria-label’, feelsLikeValue + ‘ degrees Fahrenheit’);
}

var weatherContainer = container.querySelector(‘.weather-temp-container’);
if (weatherContainer) {
var summary = ‘Current temperature ‘ + tempValue + ‘ degrees Fahrenheit, ‘ +
skyValue + ‘, feels like ‘ + feelsLikeValue + ‘ degrees’;
weatherContainer.setAttribute(‘aria-label’, summary);
}

updateWeatherBackground(weatherData.current.icon_name);
}
}

function updateWeatherBackground(iconName) {
try {
var bgPath = weatherImages.backgrounds[iconName] || weatherImages.backgrounds.unknown;
container.style.backgroundImage=”url(” + bgPath + ‘)’;
} catch (e) {
console.log(‘Error updating weather background:’, e);
}
}

Advertisement

function updateForecastTabs(weatherData) {
var visibleItems = isWeatherBoxV2 ? 6 : 5;

if (weatherData.hourly) {
var hourlyContainer = container.querySelector(‘.weather-hourly-forecast’);
if (hourlyContainer) {
var html=””;
var maxHours = Math.min(visibleItems, weatherData.hourly.length);

for (var i = 0; i 0 ? currentIndex – 1 : tabs.length – 1;
tabs[prevIndex].focus();
break;
case ‘ArrowRight’:
e.preventDefault();
var nextIndex = currentIndex

`;
}

function refreshWeatherIframe(containerId) {
var iframeId = ‘weather-iframe-‘ + containerId;
var iframe = document.getElementById(iframeId);
if (iframe && iframe.src) {
var originalSrc = iframe.src;
iframe.src = originalSrc + (originalSrc.indexOf(‘?’) > -1 ? ‘&’ : ‘?’) + ‘t=” + Date.now();
}
}

Advertisement

function initializeWeatherBox(container) {
var containerId = container.getAttribute(“data-container-id’);
var isWeatherBoxV2 = containerId === ‘home-weather-v2’;

function switchWeatherTab(tabName, clickedElement) {
container.querySelectorAll(‘[data-tab-id]’).forEach(function(tab) {
tab.classList.remove(‘open’);
tab.setAttribute(‘aria-selected’, ‘false’);
});

clickedElement.classList.add(‘open’);
clickedElement.setAttribute(‘aria-selected’, ‘true’);

container.querySelectorAll(‘[data-content-id]’).forEach(function(content) {
content.style.display = ‘none’;
content.setAttribute(‘hidden’, ‘true’);
});

var targetContent = container.querySelector(‘[data-content-id=”‘ + tabName + ‘”]’);
if (targetContent) {
targetContent.style.display = ‘block’;
targetContent.removeAttribute(‘hidden’);
}
}

Advertisement

function loadWeatherData() {
// If weather data is already being loaded, wait for it
if (window.weatherDataPromise) {
window.weatherDataPromise.then(function(data) {
if (data && data.data) {
var weatherContainer = container.closest(‘.weather-box-container’);
if (weatherContainer) {
weatherContainer.style.display = ‘flex’;
updateCurrentWeather(data.data);
updateForecastTabs(data.data);
updateWeatherAlertsBar(data.data);
}
}
});
return;
}

var location = { zip: window.DEFAULT_ZIPCODE };

try {
var storedLocations = localStorage.getItem(‘hrst.zip.history’);
if (storedLocations) {
var locations = JSON.parse(storedLocations);
if (locations && locations.length > 0) {
location = locations[0];
}
}
} catch (e) {}

var apiUrl = (window.DEWY_HOSTNAME || ”) + ‘/api/v1/weather/full/’ + location.zip;

if (window.fetch) {
window.weatherDataPromise = fetch(apiUrl)
.then(function(response) { return response.json(); })
.then(function(data) {
if (data && data.data) {
var article = container.closest(‘.article–wrapper’);
var weatherContainer = container.closest(‘.weather-box-container’);
if (weatherContainer) {
weatherContainer.style.display = ‘flex’;
updateCurrentWeather(data.data);
updateForecastTabs(data.data);
updateWeatherAlertsBar(data.data);
}
return data;
}
})
.catch(function(error) {
console.error(‘Error loading weather:’, error);
// Reset to unknown background on error
updateWeatherBackground(‘unknown’);
});
}
}

Advertisement

function updateWeatherAlertsBar(weatherData) {
var weatherWatchHeader = container.querySelector(‘.weather-watch-header’);
if (!weatherWatchHeader) return;

var weatherWatchText = weatherWatchHeader.querySelector(‘.weather-watch-text’);
var weatherWatchLink = weatherWatchHeader.querySelector(‘.weather-watch-link’);

if (weatherData.alerts_count > 0) {
weatherWatchHeader.className=”weather-watch-header has-alerts”;
if (weatherWatchText) {
weatherWatchText.textContent = `Weather Alerts (${weatherData.alerts_count})`;
}
if (weatherWatchLink) {
if (!weatherWatchLink.getAttribute(‘data-initial-href’)) {
weatherWatchLink.setAttribute(‘data-initial-href’, weatherWatchLink.getAttribute(‘href’));
weatherWatchLink.setAttribute(‘data-initial-onclick’, weatherWatchLink.getAttribute(‘onclick’) || ”);
}
weatherWatchLink.setAttribute(‘href’, “https://www.kcci.com/alerts”);
weatherWatchLink.setAttribute(‘onclick’, “return handleWeatherLinkClick(event, ‘click_alerts’, ‘click’, ‘sidelist-weather’, “https://www.kcci.com/alerts”);”);
}
} else {
weatherWatchHeader.className=”weather-watch-header”;
if (weatherWatchText) {
weatherWatchText.textContent = containerId === ‘home-weather-v2’ ? ‘Watch Latest Forecast’ : ‘Latest Forecast’;
}
if (weatherWatchLink) {
var initialHref = weatherWatchLink.getAttribute(‘data-initial-href’);
var initialOnclick = weatherWatchLink.getAttribute(‘data-initial-onclick’);
if (initialHref) {
weatherWatchLink.setAttribute(‘href’, initialHref);
}
if (initialOnclick) {
weatherWatchLink.setAttribute(‘onclick’, initialOnclick);
}
}
}
}

function updateCurrentWeather(weatherData) {
if (weatherData.current) {
var tempValue = weatherData.current.temp_f || ”;
var skyValue = weatherData.current.sky || ”;
var feelsLikeValue = weatherData.current.feels_like_f || weatherData.current.temp_f || ”;

var tempEl = container.querySelector(‘.weather-grid–current-temp-value’);
if (tempEl) {
tempEl.textContent = tempValue;
tempEl.setAttribute(‘aria-label’, tempValue + ‘ degrees Fahrenheit’);
}

Advertisement

var iconEl = container.querySelector(‘.weather-grid–current-icon’);
if (iconEl && weatherData.current.icon_name) {
iconEl.className=”weather-grid–current-icon weather-current-icon icon icon-weather-” + weatherData.current.icon_name;
}

var skyEl = container.querySelector(‘.weather-grid–sky’);
if (skyEl) {
skyEl.textContent = skyValue;
skyEl.setAttribute(‘aria-label’, ‘Current condition: ‘ + skyValue);
}

var feelsEl = container.querySelector(‘.weather-grid–feels’);
if (feelsEl) {
feelsEl.textContent = feelsLikeValue + ‘°F’;
feelsEl.setAttribute(‘aria-label’, feelsLikeValue + ‘ degrees Fahrenheit’);
}

var weatherContainer = container.querySelector(‘.weather-temp-container’);
if (weatherContainer) {
var summary = ‘Current temperature ‘ + tempValue + ‘ degrees Fahrenheit, ‘ +
skyValue + ‘, feels like ‘ + feelsLikeValue + ‘ degrees’;
weatherContainer.setAttribute(‘aria-label’, summary);
}

updateWeatherBackground(weatherData.current.icon_name);
}
}

Advertisement

function updateWeatherBackground(iconName) {
try {
var bgPath = weatherImages.backgrounds[iconName] || weatherImages.backgrounds.unknown;
container.style.backgroundImage=”url(” + bgPath + ‘)’;
} catch (e) {
console.log(‘Error updating weather background:’, e);
}
}

function updateForecastTabs(weatherData) {
var visibleItems = isWeatherBoxV2 ? 6 : 5;

if (weatherData.hourly) {
var hourlyContainer = container.querySelector(‘.weather-hourly-forecast’);
if (hourlyContainer) {
var html=””;
var maxHours = Math.min(visibleItems, weatherData.hourly.length);

for (var i = 0; i 0 ? currentIndex – 1 : tabs.length – 1;
tabs[prevIndex].focus();
break;
case ‘ArrowRight’:
e.preventDefault();
var nextIndex = currentIndex

Loading more articles…

Advertisement



Source link

Continue Reading

Trending