Tropical Storm Ernesto has hit Mexico, killing two people as it moved inland and began drenching the flood-prone southern Gulf region.
Ernesto made landfall near the port city of Coatzacoalcos after spinning across the far southern Gulf of Mexico in waters dotted with oil rigs operated by the state oil company.
The government closed its largest Gulf coast port, Veracruz, and the smaller ports of Alvarado and Coatzacoalcos.
In neighbouring Tabasco state, two fishermen drowned when the stormed passed through the area, governor Andres Granier told reporters.
Mr Granier said the storm's strong winds ripped rooftops from several homes but residents refused to evacuate, fearing their possessions might be stolen.
"For now, we are monitoring the situation ... people have chosen to stay in their homes and we are helping them," he said.
Coatzacoalcos, a major oil port, already had received seven inches of rain in the 24 hours before Ernesto's centre passed just a few miles away, according to Mexico's weather service. San Pedro in the neighbouring state of Tabasco had seen more than 10 inches.
Juventino Martinez, the civil defence chief in Coatzacoalcos, said: "We have some flooding, some water building up" on streets in lower-lying sections of the city. He said 40 shelters were ready but had not been used yet.
Municipal employees reported water was waist high in some neighbourhoods. About 2,000 army and navy personnel are on standby to head to inland mountains to help in rescue work if needed, said Noemi Guzman, Veracruz state civil defence director.
The US National Hurricane Centre said the storm's sustained winds had declined to about 45mph after it hit land. It grew into a hurricane shortly before landfall on Tuesday night near the cruise ship port of Mahahual in Yucatan, but it weakened as it crossed the peninsula. Ernesto then steamed back out into the Gulf of Mexico on Wednesday night.