Monday, December 3, 2018

Blog moved to blog.caseyhandmer.com

Hello loyal readers. I have moved this blog to WordPress, found at blog.caseyhandmer.com.

Many good new blog posts are in process! See you over there.

Thursday, November 29, 2018

Mars global hydrology at full MOLA resolution

Close readers of this blog may remember a post from 2016 where I discussed my early efforts to perform hydrological simulations on Mars. http://caseyexaustralia.blogspot.com/2016/06/mars-future-hydrology.html

That is, I performed the simulations on my computer, which like me resides on Earth, but the topic was Mars. This was thanks to the incredible Mars Orbital Laser Altimeter (MOLA) dataset, and at length I was able to produce data like the plot below, showing rivers forming between flooded craters.
image.png

At the end of the blog, I mentioned that this simulation failed to exploit the full MOLA dataset. Indeed, I had reduced the resolution from a maximum of about 500m to around 15km. 15km isn't really enough to resolve finer erosive details on Mars, or get a good look at the landscape, but it's all I had the time and expertise to do at the time.

Earlier this year, I decided to revisit the problem and resolved to teach myself how to use Python for these sorts of problems. If you want to follow along, you can clone my repo at https://github.com/CHandmer/water-flow and run your own simulation. And yes, I will take pull requests if you have an improvement or modification!

image.png

I found simulating the full resolution model quite challenging. To recap, the full MOLA dataset encapsulates the topography of the entire planet at 500m resolution. This corresponds to an array of size 20,000x40,000. When other aspects of my data structure are included, the total file size is about 100GB per time step! Naturally, I broke the global domain into 32 smaller subdomains that could actually fit within RAM.

To enable quick convergence to the solution, I began by dumping 150m of water (which can be adjusted in the code) uniformly all over the planet, then turned on an evaporation/precipitation routine, and ran the whole thing at greatly-reduced resolution. When the solution approached convergence, I doubled the resolution and repeated the procedure. All in all, I doubled the resolution about 10 times, achieving a global solution in roughly two weeks on my 2011-era laptop. 

Once I had the complete data, I wanted to reproduce my earlier plots and depict information about river/lake/ocean depth, flow rate, gradient, and so on. Despite careful use of perceptually uniform color maps and other tricks, I found the results mostly unsatisfactory. They just didn't feel right. So I carefully backed up the data and moved onto other things.

But every now and then I'd lie awake at night and wonder "How can I plot this 100GB dataset in a satisfactory way?" At 300dpi a printed poster would stretch 10 feet by 20 feet! It's a big planet. And I wanted what amounted to a color function that was both beautiful and precise. That showed the accessibility of the landscape and told a story about it too. 

Last week, I was talking with some friends about the pathological drainage patterns of the California/Nevada/Utah desert when it finally occurred to me how to solve this problem. Humans have built in hardware that can read landscape. If I could transform the data into a familiar enough landscape, our brains would interpret and read what was going on. That was the hope, although of course Mars has many more craters than Earth.

So I took some screenshots from Google Earth and analysed their pixels in the space of hue, saturation, and brightness (HSV). This is an alternative to the more familiar red green blue (RGB) encoding of color. 
image.png 
image.png
image.png
The trend here is from reasonably bright, red/pink, desaturated landscape to blue, dark, saturated water, via green, dark, desaturated foliage. I decided to use a Viking-derived true color image of Mars to provide the color of the unflooded landscape; a generic pinky red was too uniform and blank looking. 
image.png
At full resolution (10000x20000 pixels) this image is only 2x lower resolution than the original MOLA dataset! That corresponds to roughly 1km per pixel. https://astrogeology.usgs.gov/search/map/Mars/Viking/Color/Mars_Viking_ClrMosaic_global_925m 

Once I had finished tweaking a function that took the altitude, gradient, slope, and water depth of a particular pixel and output a color, all that remained was to render the entire image. This took quite a while, mostly because of bugs that I only discovered half way through the process! For the final step, I was able to use the synthetic terraformed Mars surface image I had produced as an image layer in Google Earth to reproduce the "click and zoom" experience we all know and love.

I'm quite happy with the results. At the global scale, it looks really awesome.
image.png
But you can also zoom in to look at tiny details!
image.png
And further!
image.png
As always, if one zooms too far, pixels appear! 
image.png

To save you the trouble of replicating my plotting algorithms, you can access the full resolution renders here: https://drive.google.com/open?id=1V-NUV1hnynzTr-6Q-FY5xo3cAC4ryLHi . If you're interested in getting access to the raw data and don't have time to run the simulation yourself (preferably with unique water and precipitation values) then get in touch. I'd love to see what other people can make out of this data!

As happy as I am with this plot, it is not perfect. Perhaps in future I will find time to fix the following issues:

- Vegetation is a huge hack. It shouldn't be too hard to program vegetation color and cover according to insolation angle, altitude, latitude, and water availability. Similarly, high altitude water could be colored for snow.

- Hydrological accuracy isn't great. Some sections of the planet have much too much water, and others much too little, based on existing erosive patterns. Some of this is due to resolution limitations, and some is due to poor convergence of underlying data. 

- Climate accuracy. I devised precipitation to be proportional to altitude, as with orogenic rainfall. But prevailing winds (which I didn't model) would cause rain shadowing and other excitement. I think the next decade will see the maturation of generic global climate models, which would be awesome to apply here.

- Resolution limitation. I recently discovered that the Mars Reconnaissance Orbiter's CTX imager has imaged about 60% of the planet at 6m stereo resolution, so now I'm itching to prototype a data pipeline to perform photogrammetric enhancement of the MOLA dataset. At 6m resolution, the global topo dataset would grow from 8 billion numbers to about 50 trillion, and even my laptop might struggle to compute the full river systems. But 6m would be adequate to resolve crater canyon drainages and enable even more zoom than ever before.

I will continue to post screen grabs of enticing bays, islands, and crater chains at twitter.com/cjhandmer from time to time, as I explore this new landscape and imagine the possibilities. 


Wednesday, October 17, 2018

Short story: Russian Salt and Snow

(This story was originally inspired by a sequence in the non-fiction adventure book "Five Months on a Leaky Boat" (https://www.amazon.com/Five-Months-Leaky-Boat-Kozel-ebook/dp/B005HSH6WA) where the adventurers visit a tiny Siberian town with a dark secret, on the Yenisey river. I refined the basic ideas toward a novel length work, drawing heavily on my own, somewhat less drastic, experiences in the wilder parts of North East Asia. In 2016, I redeveloped it in short story form, and have intermittently operated on various serious narrative issues ever since. I'm 90% happy with this, and 100% convinced I've given the fundamental idea a decent try and, more importantly, would rather spend time developing newer, more optimistic story concepts! This story is probably more appropriate for older readers, and I wouldn't describe it as warm and fuzzy. Enjoy! C.H.)



Russian Salt and Snow

Casey Handmer 2018


***


"Without salt, the radiation will build up in our glands," said Misha.


He rowed their dented metal boat between trunks of broken concrete looming out of the night. What might once have been a wharf now cradled a lazy eddy. Beyond, a gash in the river's bank.


"This is the only town we have seen yet that hasn't been bombed, if that cooking smoke we saw yesterday is any guide," Lana said.


A crescent moon cut briefly through the clouds, showing a drowned spit of sediment and a shallow bay. Misha pulled the oars through the silent black water.


"Can we trade for salt?" Chaika asked.


"Trade what?" Lana took a breath. "As Nikolai would have said, we will 'scavenge' it," She sat behind Misha on the middle seat, facing forwards. Chaika perched at the stern, mindlessly picking at a net holding their meagre supplies.


"This town used to be called Yakutsk. My grandfather's brother was sent here," Misha said.


The boat nosed gently for the inlet. Chaika pointed the snake-like head of their Geiger counter at the water and it clicked faintly. Her eyes reflected the golden glowing dial. Its needle flicked like her heartbeat.


"This creek is not too bad." Chaika's voice registered her surprise. "How big was Yakutsk?"


"At least a hundred thousand people." With a final push, Misha crunched the hull against the gravel. "It is hard to believe it was overlooked."


***


"Chaika, take cover."


They skidded down a short embankment and crouched low in a roadside ditch.


"Lana, what is it?"


Their feet disturbed puddles in the moonlight beneath racing clouds. Chaika brushed the earth from her hands and looked around. Nothing.


Lana stared into the distance, pointed at the supposed source of the noise which had so startled her. She whispered under her breath "We could be surrounded, how would we know?"


Chaika agreed. The darkness which had only minutes ago disguised their movement now oozed with shadows and paranoia. Lena began to shiver. It was early spring and the ground was still covered in patches of snow.


"Do you want to stay here all night?"


Chaika padded down the ditch. Lena followed, checking behind her every third step. Up ahead, a ruin emerged from the night. Cracked prefabricated concrete panels, mud, and a moon-shaded nook they melted into. Lana heard nothing besides the beating of her heart and the shearing of their tired clothes with each fraught breath. Gradually, they felt the night relax around them.


"This must have been some kind of checkpoint back before perestroika."


"Maybe there's something left. We could wait here until dawn."


"Let's clear it and move on. It's still too far to town and I don't want to have to hide all day feeding mosquitoes."


Lana struck a match, squinting into the sudden flare. Chaika looked around, then gasped in surprise.


"Lana, it is a ground squirrel, we're in his house."


Lana saw it peeking out from between broken slabs. The match licked her fingers and she dropped it, shadows flickering upwards then dropping into darkness.


"It would make a good snack, if we could catch it."


"Lana, no! It's too cute. Maybe it has babies?"


Lana chuckled slightly, then stifled a cough. The air seemed to move between them. She struck another match. A tiny girl of maybe twelve years stepped into the light. She smiled in a tentative way, seemed to start to say something. As one, they uttered.


"Who are you?"


The light flickered. The girl's eyes stared with animal intensity.


"Grib."


"Chaika."


"Lana. Grib? You just pop up in the night?"


"That's what they say. Please, I'm not dangerous."


The match went out. A voice in the dark.


"Where are you going?"


"I want to escape Yakutsk. It is cursed. But they say it is impossible to survive in the wild. But here you are. Why do you want to go there anyway?"


"Chaika and I have been travelling for many weeks and need to obtain salt," said Lana. She tapped the radiation dosimeter pen in her shirt pocket. "Or we will die like the others."


Grib replied. "That's right. My father says the salt has iodine that helps protect against the radiation."


"So there is salt in this town?" Chaika asked.


"Yakutsk is a city, the largest left on Earth, they say. And yes, salt by the ton, if you know where to look. But it is a dangerous place. Forsaken."


Lana reached for Chaika's arm.


"We have no choice. Maybe you can show us where to find the salt. Then, after, we take you with us?"


Grib's voice seemed to have come much closer.


"Deal."


Grib led them through the predawn darkness. Chaika crept over the landscape like a cat. How little they knew about this skinny girl with big eyes! Lana thought it best to delay telling her about their hideout. The earth exhaled moisture that clung to her eyebrows and temples. Her shoes trod the softly thawing ground and she thought of Misha, back at the camp, and his child growing within her.


***


It is always coldest just before the dawn. Misha carefully flexed his stiff legs and stood up. He wrapped the scratchy blanket around his shoulders and turned towards the lightening eastern sky. They had travelled down the Lena river, brown and swollen by snowmelt, in a small aluminium skiff. They moved under cover of darkness, pulling ashore at dawn, looting abandoned settlements for food and water, then moving on.


Today, they had camped a few miles downstream from Yakutsk, where dense city had begun to fade into the endless boreal forest. Misha wandered between crumbling prefabricated concrete buildings jutting up like ancient teeth. The pavement was littered with rubble, dirty snow, and riven with weeds and trees bursting through every crack. Their leaves glistened with moisture.


His greatest fear was to be hunted, caught, by some other roving band of survivors with empty minds, or worse, empty stomachs. Nikolai had shown him how to make snares for animals, and today he prepared a set of decoys to warn him if anyone was approaching. He staked out a perimeter with a strand of fishing line and identified a few potential hiding places.


Misha, their hideout secured, took their most precious possession from their boat. He wound the crank to charge the ancient batteries of the Soviet-era Geiger counter, strapped it to his back, and was lost in a world of clicks as particles from the earth, the sky, and fallout conspired to generate tiny lightning bolts inside its electrostatic Muller tube.


***


Grib led Lana and Chaika right into the heart of the town. If they had been surprised to see her, imagine her surprise to find them, wandering the wasteland and apparently healthy. Grib spoke, "You know you're not the first strangers who have shown up here?"


"Where do the others come from?" Chaika asked.


"Probably outlying settlements or mines. They all end up there." Grib shrugged towards a shadowy pit. Ruts from cart wheels led right up to the edge.


"So strangers aren't welcome here?" Lana asked.


Grib shrugged again.


There were few people moving around in the early morning light. As they approached the central neighbourhood they heard the familiar snapping clicks of a Geiger counter, amplified over a large area. Whatever it was tracking was extremely active: the clicks blurred together into a constant screech of white noise. Lana knew better than to ask.


"What's that noise?" Chaika asked.


"I'll show you, since we are already being sneaky." Grib said.


She led them into a building that faced onto the central square. It was similar in design to many other buildings they had seen. A thick, insulated door. A central stairwell, vandalized post boxes, convection heaters that had once run on central hot water, and crumbling concrete risers. They spiraled up to the top, clambered up a pitted frozen ladder into a crawl space, and moved between piles of old crates, their contents and owners long forgotten. At the edge, a narrow gap afforded a view of the square.


"That building on the far side was the opera house." Grib said. "Yakutsk was nuked, like every other city. But ours was a fizzer. It's still right there, in the foyer, underneath the hole it made as it fell. Its core is unstable but, as of yet, subcritical. In the early days, they monitored it with a geiger counter. Later, they connected it into the square's PA system so everyone could hear how angry it was at any time."


"Does anyone go in there now?" Lana asked.


"Yes. A kind of madness has descended over this town. We call the bomb 'Tsar', and the fear that Tsar could yet detonate has seeped into the bones of everyone who remains here. Tending to its moods has become the purview of the priesthood. Sometimes it seems to become especially angry..."


Chaika cut in. "Nikolai would know how to placate Tsar. Niko always knew."


"Who is Niko?" Asked Grib. Lana replied.


"We lost him."


***


Misha walked through this emptying world with his Geiger counter clicking merrily away. Every now and then a twisted lump of metal in the street would warn him away. Yakutsk was far enough from other cities that the fallout here was either chunks of shrapnel that flew in from space like a meteor, or else fine dust that blew on the wind and settled on everything, like snow.


At first it was just him and Niko. Later, while they were still camping beyond the ruins of Severobaikalsk amidst a dragon's hoard of tinned vegetables, Niko had an idea.


"Maybe we should look for other survivors."


"Why?"


"Maybe we can find them before they find us." He looked at their winter hoard of supplies.


"Maybe they have some alcohol."


"Just up the coast is the town of Nizhneangarsk. I am old, I will search around here. Why don't you hike up there, look for people, and come back after a few days."


Misha packed a bag and set off. He walked through the long autumnal night to stay warm, and following the railway line, and found the town around noon the next day. It was quiet. A couple of hungry looking dogs wandered aimlessly, but the mostly wooden buildings were either burned or empty. Below the railway station, he saw one of the few masonry structures, a single level building, gradually sinking into the swamp. It was also in ruins, but there was no reason for Misha to not be thorough. He wasn't planning on coming back.


The floor was tiled where it wasn't mud, the walls were thick concrete, and a few had graffiti from which he understood it to have been a hospital long ago. In the core of the building, around the boiler room, he smelled human.


"Anyone here?"


A noise, but no reply. Misha cautiously followed the sound. He wasn't keen on meeting a lost bear at this time of year. Skinny bears are hungry.


He found her, hiding behind a doorway. Her eyes were fearful but oddly familiar.


"It's okay, I'm looking for survivors. Are you okay?"


She nodded.


"Do you want to come with me?"


She took his hand and stood up. She was shorter than him, about the same age, still shaking with fear. She went with him, and they walked back to the camp that night.


Back at the camp, Niko wondered if she could talk.


"Do you have a name?"


She nodded. She ate and drank and, after a week, cautiously cleared her throat.


"My name is Chaika."


"Welcome back, Chaika," Niko said. "Misha, she sounds like you."


"Why is that?" Wondered Misha. Niko had been around these parts since the beginning.


"Misha, Chaika, look at each other. Clearly you are related. Cousins, hmmm?"


Misha and Chaika both went round-eyed with surprise. Misha knew better than to ask.


***


"Enough tourism. Let's find the salt and get moving," Lana said. "I'd be happy to hear all the stories tomorrow or next week."


They turned back from the window and retraced their steps through the cluttered maze.


As they approached the hatch way, they heard deep voices at the landing.


"... sighted an unknown woman walking from the north …"


Grib held a finger to her lips. Chaika shrank back into the gloom. Lana tried to breathe quietly.


A few moments later the voices stopped and footsteps clomped down the stairs. Lana counted to one hundred, then crept toward the hatchway and peered over the side. She didn't see a hulking form step out of the shadows below and, grasping her hair, yank her down through the opening.


Lana fell heavily on the floor, winded. A bushy beard swam through swirling stars. She kicked out, a yelp of pain, then crisp impact of heavy boot behind her ear.


Chaika saw the assailant heft her limp body over his shoulders and climb down the stairs.


***


Misha explored the broken buildings, looking for cool water and anything else that might be useful. One of them was just taller than the surrounding forest. Carefully, he climbed through its broken roof and lay there, soaking up the morning sun. From there he could see the smoke from cooking fires inside the city, rising gently through the still air high into the sky. Like the fires they also breathed air, consumed fuel, and would spread under the right conditions. Hope dies last.


They had found Lana last, or rather, she had found them. Niko, Chaika, and Misha were climbing the hills west of Baikal looking for springs with uncontaminated water, when Lana had stepped out from behind a tree and asked to help carry the heavy items they had been shuttling back and forth. Lana was in her mid thirties, tall, and thin like the rest of them. She had a sadness in her eyes, a sobriety of purpose.


They built a lean-to shelter in a protected glade, a pocket valley in the hills. They filled the gaps with brush and, as the days shortened, cut firewood with their hatchet on continual rotating shifts until they were certain they could heat and dry until spring.


Chaika gradually straightened from an hour of splitting timber and watched the sun sink below the horizon. The sky above and on either side was a bright orange triple column of sparkling ice crystals stretching towards the heavens.


Then, with an exhausted slowness giving way to second fury, the dying autumn released its bated breath and drove phalanx after rushing phalanx of marching clouds across the inland sea and crushed them with snow.


They huddled around the smoky fire. They passed around a luke warm can of beans impaled by a twisted spoon. They splashed their faces with Misha's demonic vodka and slept long hours huddled in their greasy everyday clothes.


When the storms passed, they dug themselves out and popped out into a winter wonderland. The snow and leafless frosty branches absorbed every sound. Niko suggested that it was now too cold to snow, and he was right. They ran low on food, and trapped mice living under the snow. Misha's vodka ran out. Then it got colder.


***


Lana felt the sun on her face, blinked twice, and was fully alert. The ground blurred past below her. Hanging upside down, she saw a small clutch of rag-wrapped city folk standing at a distance, pointing furtively.


"Where are you taking me?"


Lana knew it was pointless to struggle. She and Misha's child were in trouble.


"What's your name?"


"Don't speak."


The man carried her down an shadowed alley and through a small door in the base of the opera theatre, then dumped her on the crumbling floor.


"Speak, brother."


"Father, I found a stranger. This one seems unusually healthy."


"Excellent work, Brother Alexander." The Father emerged from the shadows. He was unusually well built, tall, and clothed in the traditional hat and robe, cinched with a length of rope.


"Come, girl, we have a special task for you. You are going to help us placate our Tsar for a while longer."


Lana felt her child kick inside her just once and then nothing.


***


The first day of spring, Misha felt the warm breath of life on his cheek. The snow melted to mud, flowers began to burst up through the ground. Birds were nipping the greening buds of trees.


"Lana, Misha, how about you reset your snares?" Niko suggested. "The ptarmigans will start lekking soon, and if we can gather enough food we can move camp as soon as next week."


They walked off into the forest, and within minutes were isolated from the world. Misha thought back to when nearly anyone on Earth was only a cellphone call away. Their route took them on a wide arc through several parallel valleys, each of which had a rapidly running icy stream at its foot. The first few snares came up empty, but not to worry. Things were just getting started.


At the first stream, a fallen log provided a bridge. Lana went first, holding out her hand to steady Misha, who was carrying a pack. Salmon leapt up the rapids beneath their feet. On the other side, she looked at him. She could tell he had once been a chubby young man. Now slender, stretched by the winter, his eyes retained a merry twinkle, a sense of mirth, that she delighted in. She didn't let go of his hand, and he didn't either.


At the head of the next valley, the forest broke into a south-facing meadow, with berry bushes just starting to flower. The smell was intoxicating. Lana and Misha walked arm in arm through the meadow's knee high grass, stems leaning beneath poised buds. Lana stopped and looked up at Misha.


"Do you think this broken world can still contain love?" She asked. Misha smiled, and lifting his hand, carefully brushed a stray hair from her face.


"I feel it, like it's resonating beneath the ground, just waiting to come out, with all the flowers."


She kissed him, tentatively at first. Misha wasn't sure what to do. They spread a blanket to hold back the ground's cold and, as though the rest of the world was disintegrating, held each other.


***


The Father led Lana up onto the stage, then down among the seats, through the exits, and into the grand foyer. Several extraordinary staircases cascaded one from the next to the front entrance facing the square. The room was lit through the broken ceiling, a ray of sunlight pierced the gloom and dazzled them. Three floors below, at the foot of the largest staircase, the Tsar lurked in the substantial hole it had made on impact. Above its buckled metal skin hung the Geiger counter, its wire fixed to the ceiling high above by rude nails through the decaying stucco. Nearby, some kind of wheeled work platform.


"What is this place?"


"Here the brothers take the sacrament and placate our deity."


Lana's stomach knotted with fear. Her feet descended the stairs as though possessed. At the top of the last staircase, before the Tsar, she could feel its radioactive anger fill the room. The Father motioned several hooded brothers to come forward. They picked her up and secured her by the wrists and ankles to the platform. The altar. The brothers quickly left.


The Father pulled on his own hood, and wheeled the Lana between Tsar and the geiger counter. The pitch of its screaming white noise changed immediately.


"The Tsar seems likes his offering today."


He took a dagger and sliced her palm, sprinkling the blood over the Tsar's mangled carapace.


"O Tsar, grant us leave to live on your poisoned Earth for one more day. We bring you this offering, that your hunger for the Total End of Man may be momentarily sated."


The Geiger counter's pitch seemed to vary,  the breathing of a savage beast resting momentarily between sprees of random orgiastic violence.


"The Tsar is exceptionally pleased. I wonder..."


"I am pregnant. Please let us go!"


"So much the better. The offerings will continue until the Tsar is finally at rest."


Lana could almost taste the radioactive particles her body was absorbing, a metallic texture in her throat.


"When did you become a Father anyway?"


"I was once a technician at a power plant. When our God became manifest, I was called to lead the brothers in a new form of worship."


The Father looked at her wounded hand.


"I cannot remain in the presence for long, but I will be back every six hours to repeat the offering."


Until? Until her blood no longer flowed. Lana's mind raced. This was where strangers met their end in Yakutsk.


***


Misha left his reverie on the roof. He checked his snares, refilled the water, patched his clothing, and prepared to wait until Chaika and Lana came back, hopefully laden with plenty of salt.


Misha thought of Nikolai. How could they have lost him? What would they do now?


Niko, Chaika, Lana, and Misha had stopped for the day in a tiny abandoned village. As usual, Niko had taken Misha and the geiger counter into the ruins to scavenge for provisions. Today, they needed water more than anything. Surface water was contaminated with fallout, and the river water was brown with mud that was too radioactive to filter.


"Let's check this building," Niko suggested.


"It looks like it could fall down at any moment," Misha said.


"The roofline is crooked, but if it survived the winter snow and the freeze-thaw, it will be okay for another season. Probably." Niko's gappy smile was crooked like the broken down building.


"Water may have gotten into the roof space and pooled there?"


"Exactly. Mind for broken glass. The nearest hospital was years ago."


Niko glanced at Misha's wound, which began to ache. He had injured himself the previous week in a derelict building. Lana held him down while Niko closed the gash with a pocket knife and baling twine. His forearm was gradually healing, the scar already twisting and curving like a meat hook.


Up in the roof space, they found several large puddles between the uneven precast concrete. Standing for weeks, the fallout had settled to the bottom and Niko showed them how to skim off the top layer, filling a dozen empty containers they had brought up. Misha double checked each container. The water seemed cool enough, at least compared to the background that gradually cooked them night and day.


Niko was nearly seventy, so Misha, at twenty six, was the pack animal. He began to ferry filled water containers back to the street. On his last trip, Niko scanned each landing for radiation, checking against the background to ensure they hadn't picked up radioactive dirt. On the ground floor, one broken down door seemed particularly hot.


"Misha, stay here. I'm old and my cells can barely keep me alive, let alone make a new cancer. I'm going to check this out."


Misha waited as Niko's footsteps faded. After a minute, he heard a bang and a muffled splash. Misha dashed in after him. The darkened apartment had been thoroughly ransacked, its wooden floor scorched and broken away in places. In the middle of the main room, a prone form in a dull blue glow. Misha approached, cranking his mechanical flashlight. Its dull, yellow beam cut through a swirl of dust and lit the splayed figure. A skeleton, wrapped in tattered clothing, its skull at rest upon the ground. Small, a child.


Her skeleton hands cradled a melted rock, a skyfallen blast fragment hot enough to stop her freezing for the day or so it would have taken to burn her nerves. The starshard rested half submerged in a pool of water that glowed from the radiation.


"Niko, where are you?"


Silence. Misha skirted the ghostly wraith and stepped into the kitchen nook. Freshly splintered wood creaked underfoot. The Muller tube, wedged between planks, held the Geiger counter on its cord, suspended over a dark hole. Misha secured the instrument, hauled it back to his level, where it continued its demented clicking. Misha shone his flashlight over the edge of the hole. The flooded basement reflected diminishing ripples twelve feet below.


"Nikolai!"


Silence.


The old man was gone.


***


Lana was alone. The geiger counter continued to screech. Her hand stung. Her child was still.


Lana lifted her head and looked around. Her restraints were frayed and rotting. She stretched her injured hand through the restraint and nursed her ancient pocket knife from her waistband. She grasped the blade between her fingers, eked it into position, and attempted to saw through the ropes. Her hand cramped and bled. She didn't dare utter a sound. The blade nicked her wrist as she painstakingly wore her way through the rope. The first strand parted and the rest unravelled.


She rolled over to cut at the opposite wrist. Her hand spasmed in sudden pain and the knife dropped away for an eternity before clattering to the floor. She heard footsteps and lay prone. In her peripheral vision, she could see hooded shapes walking the stepped galleries above her. How long until they went away?


She waited for a hundred halting breaths after the last step faded, reached over, and started pulling at the knot. Soon her right arm was loose enough to wriggle free. She took ten more metallic, radioactive breaths, then sat up and began to work the knots loose at her feet. She heard footsteps again. Brothers were running down the stairs towards her. In desperation, she wrenched her feet free, slid off the platform, and stumbled to the ground. Her legs wobbled desperately until the adrenaline caught up, and as the hooded brothers started down the last set of stairs she limped into an arched portal beneath.


In the darkness, Lana fled between the columns deep into the heart of the building. She grabbed a fistful of her jacket with her injured hand to try to staunch the bleeding long enough to break the trail of blood that betrayed her route of flight. Behind her, the Tsar screamed at a higher pitch than ever.


Lana ran around the next corner and into blind alley. A hooded figure lurked in the shadows. He stepped out, blocking her path, and quietly intoned.


"Take the third right, the second left, another left, down the passage. You will be looking for salt?"


"Yes."


"At the end of the passage, continue downhill until the tunnel narrows. The second chamber has salt, the rest are booby trapped. Then follow the light. Go!"


She ran. Behind her, she heard her savior shout: "The sacrifice was running towards the box seats."


Third right, second left, and she was cut off. A group of brothers stood near her exit. She crept into an alcove and listened to the hunt.


She heard her savior once more, a high pitched shout then silence. There was a great commotion, and the group by the final door moved back towards the Tsar. Lana took her chance and stepped into the tunnel. She took a final glance over her shoulder and saw a man, bleeding from the mouth, strapped to the gurney. The roaring crowd triumphantly fed the traitor to their common deity.


Then she was underground. A series of tunnels hewn from the permafrost. The air was well below freezing and her eyes stung in the cold. The tunnel continued indefinitely into the gloom. She slowed to a fast walk and tried to catch her breath. Her hands shook.


The tunnel narrowed. She stopped, deep beneath the Earth. She could hear only her ragged breaths and pounding heart. Once again, she felt animal eyes boring into her.


"Grib? How do you see so well in the dark?"


"Lana. Have you got the salt?"


"Not yet, second chamber?"


"Second chamber. Chaika is already there."


"Let's load up and move."


A few minutes later, Chaika, Grib, and Lana climbed narrow stairs to the light. Grib scouted and led them to a hiding place nearby.


Secure for now, Grib noticed Lana's wound. She held the injured hand in her own, turning it to reveal her own wound, healed in a ragged scar.


"I see you have also met the Father," Grib said.


"How did you escape?"


"He was my father before he was everyone's Father."


That evening, Grib, Lana, and Chaika stole out of the city, past the pit of strangers, and back to the empty road.


As they reached the camp, Grib triggered one of Misha's whistle traps. They didn't see Misha until they heard him. Recognizing them, he beckoned them in.


"Welcome back old friends and, I see, new. I had a quiet day. How about you?"


Lana stared down narrowing tunnels at Misha's boyish face. She felt their baby kick as she collapsed to the ground.