Food in the 25th Century

When discussing the dietary habits of humans in 2448, it is useful to differentiate the population groups. In general, most people from Earth tend to lump Spacers, Settlers, Colonists, Loonies, Martians, Belters and Outies together as,”Spacers,” but they display a great deal of diversity. In the more specific terminology used by people off-Earth, “Spacers,” are itinerants who spend most of their working lives on spacecraft, a subset of this is the “Wanderers,” who travel mostly from birth to death in large family groups aboard,”clanships.” “Colonists,” are people who live in orbital or Lagrange wheel colonies near Earth as well as those living similarly in extra-solar systems. “Loonies,” and,”Martians,” are people who live respectively on the Moon and Mars. “Belters,” is the term for people who live and work among the asteroid belts of the inner system to out beyond Mars. “Outies,” is an even more generic term for anyone who lives around Jupiter and beyond in the Solar system. “Settlers,” is applied to those who live, mostly on habitable planets, beyond the Solar system. For the purposes of this essay, “spacers,” will be used in the generalized sense common on Earth, but some note will be taken on variations within the larger group. When capitalized, it can be taken specifically to refer to shipboard individuals.

By 2448, some variation on vegetarianism is nearly universal on Earth, with considerable use of yeast-, fungus- and algae-based foods. Carniculture was perfected in the mid-2090s, but never became terribly popular on Earth. Due to a lack of available arable space, people on spacecraft typically enjoy a similar diet to people on Earth. They tend to eat a larger fraction of microbial foodstuffs more easily produced in the confined space of ships, and they supplement with preserved meat purchased while at dock and stored aboard. With more space available for agriculture, Colonists, Loonies and Martians frequently have more real vegetables and fruits in their diets, similar to those on Earth. Carniculture is far more popular in space than on Earth, and many Colonists, Loonies and Martians even have actual animal meat as a regular part of their diet, particularly rabbit, duck, chicken, guinea pig and fish as well as dairy and egg products. Life in the outer system is frequently more like shipboard life, small and cramped, even for settled people, thus the diet resembles that of the Spacers, although with less access to preserved meat or meat of any kind, though some of the larger bases(particularly on Ganymede and Titan) can produce carniculture meat.

The diet on extrasolar habitable planets is similar to that on the larger colonies or on the Moon and Mars, but with more food derived from alien organisms where available and compatible with human biochemistry. Some Settlers also consume the meat of larger mammals such as beef, pork and mutton, or even alien megafauna. A large fraction of extra-Solar settlement is by people born on Earth, though, and so they frequently share an Earthperson’s squeamishness about eating larger animals except in the carnicultured form.

Although food converters can produce food blocks and nutrient mush suitable for human consumption from any raw organic matter(most carbon-based plant or animal life biochemically compatible or not, petrochemical hydrocarbons, garbage and sewage among other less-speakable sources), they are not well-regarded as they are essentially tasteless, or worse. It is commonly said that the output of a food converter generally tastes something like a blend between sawdust and whatever the feedstock was. With more diversity of feedstock, the food produced tastes more like sawdust, and less like… whatever. Instead, except on small deep-space exploration ships, where storage is at a premium and even algae-growth equipment can be inconveniently large, food converters are generally used to simplify bio-matter recycling, converting wastes into fertilizer for plants or feed for livestock or even as fuel for machinery. When forced to rely on converter food, spacers typically keep large stocks of spices, herbs and other flavorings, particularly hot and pungent spices which can go a long way towards covering the flavor of many times recycled solid human waste. Converter food is generally considered to taste more like whatever was fed into the machine the more times it cycles through…

I hope you enjoyed reading this as much as I have enjoyed writing it,
The Astrographer

Posted in World Building | Leave a comment

Life in the Bubble, part 1

Human Space

The distribution of humans is still very much concentrated near Earth, but they are spread very widely. Of the roughly 27 billion humans alive in 2448, about 18 billion live on the Earth, 7.5 billion live spread about the Solar system and about 1.5 billion humans live outside the Solar system. The Earth is divided into around a hundred largely peaceable nations with fairly liberal immigration and legal systems. Most of the population is concentrated to Earth-orbital, cis-lunar and lunar stations, with a smaller number on Mars. The asteroid belt and beyond are largely inhabited by itinerant workers in some resource extraction business, with the population density quickly dwindling beyond Jupiter. Beyond the Solar system, the vast majority of humans are in permanent settlements on earth like worlds near Sol. Beyond that, it’s mostly widely spread explorers and prospectors, with a few small enclaves established to maintain friendly relations with the few starfaring alien species humanity has yet encountered.

Human Governments and Fleets

The Interstellar Commonwealth is a loose affiliation of Earth nations and human settlements throughout most of known space. The nations on Earth are mostly autonomous as are the governments of the Moon, Mars and the largest extrasolar settlements. Smaller human settlements are established and run by the Commonwealth, itself, one or another member nations or by one of the larger megacorporations. There are a few wildcat colonies out on the periphery. While the popular media on Earth and the inner colonies tend to portray the wildcats as lawless anarchies or pirate stations, the vast majority are peaceable and lawful. They simply, for one reason or another, desired independence from the governance of Earth. For comparison purposes, the IC has a role largely similar to the old United Nations, but more cohesive and with genuine enforcement powers.

The Interstellar Commonwealth Space patrol is a highly professional, skilled and disciplined military and police force equipped to the latest and highest quality human technological standards. In times of crisis, the ICSP can also enlist the aid of the IC Survey and Exploration Service, a civilian government agency charged with exploration of distant systems and survey work on inhabited worlds. While the SES is civilian and many of the ships and crew of the SES are independent contractors, it is recognized that deep space exploration is a potentially hazardous business, so exploration ships are well protected and  even many of the independent contractors are at least lightly armed. On the periphery, where the law can be thinly spread and piracy is a distinct hazard, civilian freighters can be permitted some anti-piracy armaments in exchange for agreements to come to the aid of the ICSP when needed.

Until recently, most of the IC Space Patrol’s forces have been designed entirely with law enforcement in mind. The most significant fighting expected by an ICSP ship would have been taking down a pirate gang or smugglers. Trepidation about the earliest contacts with starring aliens led to the construction of a small fleet of now quite elderly purpose-built warships. Recent tensions between the IC, the corporate league and the Union of Soviet Soviet Systems has spurred the ICSP to modernize its existing warships and begin building new ones.

The corporate league is a loose defensive coalition between interstellar corporations for the most part originally chartered on Earth. Technically, almost all of these corporations are subject to the laws of the IC, although a few of the smaller corporations are chartered out of larger interstellar colonies, the Moon or Mars. The corporate league has no united military forces of its own and in fact no official existence. “Corporate league,” was an appellation coined by journalists which managed to stick, as,”loose collection of defensive agreements between interstellar corporations…,” was, while accurate, rather unwieldy. Driven by a mutual antipathy and increasingly frequent hostilities with the USS and dislike of regulation by the IC(and on the IC’s part, suspicion of increasing lawlessness and efforts to illegally influence IC politics by some of the megacorps), some of the larger(and usually less lawful) corporations are beginning to fit out ships for combat. Most of this activity has been carried out at newly-built shipyards on the periphery of human space, beyond the prying eyes of IC regulators and USS spies.

The state of corporate fleets vary greatly. Most are genuinely dedicated to protecting corporate shipping from pirate activity, though some are used for smuggling. Only a few of the largest corporations have built larger warships, and this construction has been covert. The quality is also highly variable. Some of the largest megacorps have forces as modern and disciplined as those of the ICSP, with a great deal of anti-piracy and counter-smuggling experience. Others are quite laid-back, obsolescent, inexperienced, ill-maintained or sometimes all of the above. While the overall forces that the corporations could gather would rival or even outnumber the Space Patrol, much of that force would be poorly prepared for a serious fight and in the event of a civil war it is likely that many of those forces would side with the Commonwealth or prosecute rivalries against other corporations. The biggest firms like the Amicus Corporation, Yukawa Industrial and Tritanium Enterprises are already clearly, if quietly committed to the illegal construction of warships, an offense that would result in immediate loss of charter and liquidation of assets were the ICSP and the IC’s courts not so hamstrung by corporate influence. The situation brewing between the Commonwealth and the corporate league seems ripe for civil war, and skirmishes have already begun. So far, though, the actions have been deniable and attributed to pirate activity. Lately, many of the pirate gangs seem suspiciously well-equipped.

The Union of Soviet Systems is a recently-formed alliance of socialist-leaning colonies gathered together to defend their newly-won independence from the Commonwealth and fight corporate incursions into their systems and those of their neighbors. Not all of their neighbors appreciate the ostensible help. Some of those neighbors have requested aid from the ICSP or corporate forces to restrict USS interference. Some of those requests were genuine, others were engineered to support corporate attacks against the Union.

Except for the somewhat “cutesy” name, this group is by no means a resurgence of Chinese or Russian or Korean communism. In fact, it has no connection to any 20th century socialist movement of note, although it does have a loose lineage connecting it to Scandinavian socialism and some democratic and anarchist socialist movements in mid- to late-21st century North American politics. Although they jealously guard a buffer zone around their little pocket of systems, and they’d be happy to help nearby systems slough off the yoke of corporate dominance if they had the resources, any slight interest they might have in expansionism is limited by the sparse population and good resources of their existing systems and the ready availability of uninhabited systems further out. Besides, they are fully engaged in trying to hold on to what they have and not stupid enough to risk squandering their freedom by grasping too greedily.

The corporate league, for their part, and particularly the Amicus Corporation, which has a lot of investments near USS space, would be far more interested in squashing the Union than any fight with the Commonwealth, but with corporate infighting, the remoteness of USS space and the recent capture by Union Marines of a suspiciously well-equipped yet poorly prepared pirate base on Gimel3129, a radioactives-rich planet orbiting a white dwarf in a planetary nebula on the Union’s border, their their efforts have so far been stymied.

The USS Marines managed to capture a huge cache of shipboard munitions, ship construction and maintenance equipment and a large number of industrial fabricators, many of them brand new, still in their cases. Had a USS informant not overheard a drunken pirate, in a starport bar, bragging about the base they were building in the planetary nebula, the base might have been completed. Given the equipment found, it could easily have become a formidable fortress, beyond the ability of the Union’s limited forces to overcome. This has made the USS skittish and put their forces on high alert.

The Commonwealth, on the other hand, has little interest in the Union, largely washing their hands of it. Unfortunately, they can’t tolerate corporate aggression against a now independent power, so they are watching the situation closely.

I hope you have enjoyed reading this,
The Astrographer

Posted in World Building | Leave a comment

More posts forthcoming…

Just as a quick aside, I now have posts up the pipe for Monday, March 12th and Monday, March 19th. I’m going to try to make Monday posts a regular thing. I’ve already finished a post for Monday, March 26th.

Thank you for reading my little blog,
The Astrographer

Aside | Posted on by | Leave a comment

The Planet Ksufesh(First WIP)

Ksufesh is the second of three* planets orbiting Gzietsia3741C*, the least massive of three* stars in the Gzietsia3741 system.

Of the other two* stars in the system, Gzietsia3741A* is the most massive and is currently in a red giant stage. Gzietsia3741B* is the neutron star remnant from the supernova that destroyed the formerly largest star in the system around 4-5 billion years ago*. Consequently, Gzietsia3741B* is a fairly old neutron star and has cooled and quieted considerably since its violent origin.

The supernova certainly disrupted the young system even as it was forming. The Gzietsia3741A system is only orbited by one 50 Earth mass gas giant, although it is possible that it had once had more planets closer in that were swallowed as it expanded into its red giant stage*. Gzietsia3741A and B orbit each other fairly closely, but well beyond the Roche limit even of the greatly expanded red giant star.

Gzietsia3741C has an orbit widely separated from A and B. Currently it only has three planets. The innermost planet of Gzietsia3741C is a tiny scorched ball of rock only about the mass of Earth’s Moon*. Ksufesh is the second* planet in the system, with a mass a little bit greater than that of the Earth. The third* planet in the system is a small gas giant(gas midget?) similar to Neptune, with about nine Earth masses.

All of these planets may have been considerably larger before the supernova scoured the system, or, conversely, they may have been enlarged or even created from the gas and dust injected by the supernova itself. In any, the surfaces of all the planets in the system have been greatly enriched with heavy metals in the aftermath. These heavy elements include lead, gold, strontium, mercury, arsenic, tantalum, lanthanum, thorium, uranium and even some of the longer-lived isotopes of plutonium and other transuranic elements, possibly including some Island-of-Stability aka-metals. All of this would make this system a motherlode for miners from Earth while at the same time making Ksufesh rather toxic to humans.

Any habitable planet’s atmosphere would be sufficiently thick to absorb the x-rays from a neutron star most of the time, but frequent burst of hard radiation have stripped Ksufesh of its ozone layer several times, exposing its surface to ultraviolet radiation from its own star and cosmic sources, including the neutron star. This has forced life on Ksufesh to evolve means of handling the effects of that radiation. In spite of several mass extinctions traceable to the effects of the neutron star, life on Ksufesh has largely been successful in adapting. Deep sea organisms are mostly immune to the effects of extra-planetary radiation. Many photosynthetic organisms in the shallower seas are capable of functioning for a time without the benefit of sunlight in deeper layers of the sea. What land life there is has concentrated elements like lead into their outer integument or shells to protect from radiation and some also limit their active lives to times when the neutron star is below the horizon. Interestingly, the biochemistry on this planet is fairly Earthlike. If everything wasn’t so toxically imbued with heavy metals a lot of the lifeforms on the planet would be edible to humans. As it is, food derived from this planet would have to be heavily treated to leach out those heavy metals so they can be filtered. People on Ksufesh would do well to stay covered and not breathe too much of the dust.

I am currently researching whether such a planet is strictly possible and just how extreme the environment may be. If it proves realistically impossible for such a planet to exist, I will have to move the Moh’s scale of science fiction hardness for this world a bit more toward the Star Trek end of things and consider this planet to be just a bit more hostile than initially planned.

*A lot of numerical values for this planet and its system are still uncertain. Although, I find having the red giant in the system interesting, I’m concerned that it may be causing too much mass infall onto the neutron star, which may pump up activity that would ruin the chances for Ksufesh, even given Star Trek-level scienciness.

Thank you for reading,
The Astrographer

Posted in Planetary Stuff, Science Fiction, Science!, World Building, Writing | Tagged , , , , , , , , , , , , | Leave a comment

Sorry About the Delay

I’m very sorry for the delay in getting the next post up. The weekend is very much not my own time. I should have taken that into account. I will get the next post up ASAP.

Thank you for your patience,
The Astrographer

Aside | Posted on by | Leave a comment

An RPG Project With My Son

My son has been pestering me for awhile to gamemaster a game of GURPS with him. I’ve decided to create an all-new science-fictional world with him to play in. Recently, we were playing about and came up with a planet orbiting a moderate-sized star(F, G or K class main-sequence) which was itself a distant companion in a multiple system with a neutron star. My son has been playing a lot of Starbound and we’ve been watching a lot of videos of Subnautica, No Man’s Sky, Elite Dangerous and Space Engine explorations. These things could and probably will flavor what we’re making together…

Over the next few weeks, I’ll be posting the kind of stream-of-consciousness write-ups we’ve created to better understand what we both want out of this world. Then we’ll need to get down to the nitty-gritty game-mechanics stuff. After getting some playing time under our belt, and doing a bit of editing, I may post some game logs or game log-based fiction.

I’m really looking forward to doing some creative work with my son. My daughter isn’t terribly interested in the RPG element, but she does want to help out some with the writing. We’ll see how that goes. Once we get started, she might decide the game looks like fun!

I’ll start posting tomorrow with my initial write-up on the planet. This is all work in progress, so we’ll see how much survives to playtime and beyond.

Thank you for your interest,
The Astrographer

Posted in Science Fiction, World Building, Writing | Tagged , , , , , , , | Leave a comment

Astrographer’s Notebook – The Crystalglass Forest

This was a fairly recent note. Not everything in my notebook dates back to the twentieth century🤣. This was actually posted on December 27th of 2017, in fact.

— The Crystalglass Forest —

On a planet who’s interior has cooled somewhat beyond maintaining plate tectonics, the lifeforms have evolved a number of adaptations to the increasing scarcity of atmospheric carbon.

One adaptation found particularly among primary producers in high-latitude habitats is the crystalglass forest.

To survive the long, cold winters, the biological expense of maintaining living foliage in the absence of light is untenable. It is also unreasonable to expend resources during the intense, but short growing season creating entirely new foliage. Added to that, the fact that, even in the extremest environments decomposition microbes will feast on any source of carbon that isn’t strongly protected and you have problems.

The crystalglass “trees” have dealt with all of these problems by forming a thick “bark” and a foliage consisting of multitudes of thin, sharp “needles” composed of tough, transparent, crystalline borosilicate fibers.

During the growing season, pores within these structures circulate an aqueous solution of chlorophyll-analogue bearing cells and other cells intended to break down and rebuild the borosilicate structure. Where there are breaks in the integument, those construction cells will leak out and begin to build new foliage. Gradually, as new needles are built, the structure of old needles is melded together into new bark protecting the living woody inner tissues of the plant. As the living inner parts of the plant grows, the innermost layers of the borosilicate integument are broken down to make space for growth, as well as to free up boron to build more foliage.

As the long, cold darkness of winter settles in, the trees hunker down, withdrawing water and carbon-rich cells into the protected inner parts. The largely opaque to translucent green foliage and skin of the plant begin to bleach into transparent crystals.

Younger and smaller plants will withdraw their living tissues entirely beneath the warming embrace of the ground. Living tissues can be seen as dark masses of greenish- to reddish brown opacity deep in the trunk and heaviest branches of older larger trees.

The appearance of crystalglass plants generally follows a fairly standard form. The smallest plants, regardless of their longer-term fate, will consist of a living taproot with a spray of crystalline needles right at ground level. Larger plants will form a trunk and perhaps branches shooting skyward. Cracks in the crystal bark will usually spray forth needles of foliage, but some of the larger species will avoid foliating the shaded lower parts of the plant in favor of developing thicker, more resistant bark as living tissues emerge from the ground.

Although originating in the higher latitudes, the relative lack of sensitivity to most predation and fire has lead the plants to adaptive radiation into warmer biomes. Some of these plants have abandoned borosilicate foliage in favor of faster-growing living foliage, but retain the thick armored bark.

This was, to some degree, inspired by reading about Epona quite some time ago. Even on first reading(okay, probably second or third reading, but whatever…), it struck me that there would probably be some organisms that found a use for, never particularly scarce silicon. Probably not in any sort of energy-producing metabolic process, but perhaps as a structural materials. An early development of that was a sort of silicate coral in submarine environments. I could see my imaginary planet having such things as an independent evolutionary line from the crystalglass forest organisms. It wouldn’t be a total no-brainer, the use of silicates would probably be a compromise between the benefits of a large strong structure using less scarce materials and the energy cost to produce such things. If the energy costs were two unfavorable, it would still be conceivable that plants and perhaps even some animals might evolve to use physically pulverized rock crystals glued together with an organic cement as a skeleton or shell. The idea seems both plausible enough and interestingly alien enough to be worth examining in greater depth.

What are your thoughts? Please feel free to share your thoughts and questions by commenting.

Thank you,
The Astrographer

Posted in Aliens, Planetary Stuff, Science Fiction, World Building | Tagged , , , , , , , | Leave a comment

Using GIS Tools and Data 2

An overview map of the region in it’s final state(click to enlarge).

Starting with what we had done by the end of the last post, I would like to continue on to doing some actual analyses using QGIS, GRASS, and my other GIS-type tools. This post has been a long time coming, partly as always due to my laziness, but also because I was having a difficult time getting a lot of my software up and running on my “new” computer. Rather than trying to do everything from inside of QGIS, I decided to work separately in QGIS and GRASS(mostly…).

Although I’m not confident in the realism of the elevations file I composed in the last post. The elevations are quite low. Univariate analysis shows that the range of values is -3m(I’m not going to concern myself with what’s under the oceans except to avoid problems with basin fill, flow algorithms and the like) to 971m(which is genuinely very low). I’m not sure whether it needs to have less emphasis on the 1.0 exponent values or not(as it is, the low areas appear very relatively rugged, but until I have higher altitudes(5-9km), its difficult to say). At the very least, I probably need to add a large, high-exponent pass(perhaps 5-8,000m of exponent 5.0). Anyway, I’m using it as is, for now. We’ll see where this gets us.

Okay, SAGA’s hydro-modeling tools look very appealing, but I can’t set up Boot Camp with Windows XP, I’m in no hurry to buy a modern version of Windows, SAGA works poorly on WINE(on my Mac – I’ve heard tell of it working well, but not around here…), and the QGIS-internal versions of SAGA, GRASS, etc. have not been working at all well for me. Grrr… Looks like I’m back to the drawing table.

A closer look at the central region of the continent to get a better look at the streams there(click to enlarge).

The most important thing I want is flow mapping that takes differential rainfall into account. Next, I want d-inf flow mapping. After messing around with a lot of GRASS’s raster hydrology modules, and producing a lot of unsatisfactory results, I settled on the r.watershed module. This requires an input elevation raster. I have that. It also uses a “flow” raster, which is described in the manual thus,”flow   Input map: amount of overland flow per cell. This map indicates the amount of overland flow units that each cell will contribute to the watershed basin model. Overland flow units represent the amount of overland flow each cell contributes to surface flow. If omitted, a value of one (1) is assumed. “. Yeah. This sounds good. Unfortunately, it doesn’t do Tarboton’s d-inf flow mapping. That’s unfortunate, but it does provide both multiple flow direction and deterministic 8-directional flow models, so I’m hopeful I can at least create better incise flow erosion than Wilbur.

The available water map(rainfall-evaporation, my model doesn’t even try to deal with variable runoff infiltration) was generated using a method derived from this. Roper’s sech(lat) model looked good, but first I had to convert from watts per square meter of energy absorption/release due to evaporation/precipitation to meters of rainfall/evaporation per year. The input flow map only really needs relative contributions of each cell to overland flow, but having proper units seems like it might be useful down the line.

Once I figured this out(correctly, I hope), I entered the following formulae into r.mapcalc:
evaporation = 2.307 / (1 + ((y() – 15)/17)^2 + 2.307 / (1 + ((y() + 15)/17)^2)
This would generate the “evaporation” raster map.
precipitation = 1.957 / (1 + ((y() – 33)/15)^2) + 6.292 / (1 + (y()/4)^2) + 1.957 / (1 + ((y()+33)/15)^2)
This would generate the “precipitation” map. As my maps were already in latlong format and correctly located(more or less: more about that if I ever get SAGA working…), the y() internal variable represents latitude.

A closer view of the northern regions to better view the streams there(click to enlarge).

Looking at the results, rainfall seemed awfully heavy under the subtropical high pressure zone, but I decided to go with it for now. At least the net_moisture(generated in r.mapcalc with the formula: net_moisture = precipitation – evaporation) seemed properly dry under the STHZ, although it actually seemed a little too dry generally and the width of the desert band(r.mapcalc desert = net_moisture < 0.0) seemed… excessive. I’m following Carl Davidson’s climate-modeling efforts with great interest, but I’ll play with this for now. Later biome development might demand knowledge of precipitation and temperature(and by extension, evaporation) for summer and winter, rather than just annual averages and totals, but this will have to do for now. I’m largely just trying to see how this will work.

In an attempt to further refine the effect a bit I created a further version of the map with slightly higher precipitation at higher altitudes ( modified_precipitation = precipitation * (1 + 0.001*elevation*sin(2*y()))  ). Then I added a bit of precipitation to a blurred version of the sea areas( coastal_precipitation = modified_precipitation + 0.05*sea_raster_blurred ). The exact details of developing that sea raster are embarrassing and given the limited quality of the results, I’m not going to share them. Suffice to say, you can generate an initial sea raster with r.mapcalc( sea_raster = elevation<= 0.0 ), you can dilate the result with r.neighbors and a method of ‘maximum’, and blur the result of that with r.resamp.filter with filter “gauss,hermite”. In retrospect, I probably should have blurred the elevation raster as well. Ehhh…

Thinking about that coastal_net_moisture map, I don’t think I want it propagating

A closer view of the southernmost parts of the continent showing some of the extensive deserts and the wet tropical southern peninsula(click to enlarge).

negative flow contributions through and out of desert areas. Logically, it would be nice to have the negative values taken out of flow passing through a cell(evaporation), but having negative flow accumulations propagate into neighboring cells would not be reasonable. So I think I need to create a version of coastal_net_moisture floored at zero. In r.mapcalc, use the formula r.mapcalc expression=”coastal_net_moisture_floor = ( coastal_net_moisture@PERMANENT >= 0.0 ) ? coastal_net_moisture@PERMANENT : 0.0″. That won’t take into account extreme evaporation of the stream itself, but it should still be more valid than dealing with negative flows.

In addition, I really don’t want to calculate stream flows under the ocean. The submarine areas are not accurately represented anyway, as I did not have bathymetric data available, and for convenience simply set the ocean areas to -3 meters on the elevation map. So, here, I will create a version of the basin filled elevation map with all submarine areas set to null. There is definitely a module to do this, but I forget what it is. Anyway, the Map Calculator is sooo versatile, and it’s good to know how to get around in there. I should research more standard workflows, but for now I will use the formula r.mapcalc expression=”elevation_set1_basinfill_land = elevation_set1@PERMANENT >= 0.0 ? elevation_set1_basinfill@PERMANENT : null()”.

I already did all of this before I started writing this. Call it a flash-back. On to r.watershed!

I set the input elevation raster map toleration_set1_basinfill_land,  and the input flow to coastal_net_moisture_floor. Minimum size of exterior watershed basin I will leave at default(though I may need to rejigger it if the results aren’t satisfactory, the manual says it’s a sensitive parameter😟), the rest of the inputs I’ll leave at default or off.

Next we set the outputs. The accumulation output I will name accumulation_MFD. This is to differentiate it from the possible future accumulation_D8 I might create in the future. I will also create topographical_index_MFD, stream_power_index_MFD, and all the rest I will name the same as the parameter name with an _MFD subscript appended. The stream output parameter I will name stream_segments_MFD for clarity. I will use the ‘b’ option to beautify flat ares, and I will leave the convergence at its default 5 for now.

I’m pretty satisfied with the results. I have a few good streams heading through the desert. I have quite a few decently long, but not too crowded streams running through the moister northern regions. And the wet, but rugged deep southern peninsula has several short streams. The cumulative flow in the desert regions goes negative even where streamm segments are found, which is not a little bit odd. My best guess is because the MFD is routing some flow away from the streams and the stream segment generator is trying to force downhill flow to go all the way to the ‘sea’. I don’t see any nasty straight segments, which is awesome. The desert regions, though they seem overly large to my eye(probably due to the weaknesses inherent in my very lame attempt at a precipitation and evaporation model, are pleasantly devoid of streams. Because this was generated from a real world DEM of a fairly moist area, the deserts are pretty extensively incised with stream-eroded features. This is a downside of using re-purposed real-world elevation data. It might work well to simplify the elevations with gaussian blur and apply erosion to the result. One good tool, which I really don’t have, would be a good aeolian erosion filter. Convert some of the flatter desert regions into saharan fields of marching barchans.

Some of the good behaviors, as well, probably, as some of the bad behaviors could easily be lain at the feet of the MFD model rather than a single deterministic flow direction. For better or worse, some can be blamed on the use of real-world data, even heavily massaged. A better test might be to use this on generated noise-based elevations.

I neglected a lot of the layers that were created in this process to create the images shown here. Also, beyond the narrow band of yellow to represent the desert regions, there is no climatic data here. Only a shaded relief based on the un-basin filled elevation map, a nicely massaged desert map in yellows at 25% opacity, a basin-filled land elevation-colored map at 43% opacity, a landmass vector map at 50% opacity, and the generated stream segments map at full opacity, with a monochrome blue color table are shown overlaid.

Future directions in research would be a much(much, MUCH, MUCH)better climate model, use of less natural initial elevations, use of accumulated flow or stream power index raised to a fractional power and possibly blurred to erode those elevations into a better approximation of naturalistic shapes, and you know, some actual biome data generated from climate and elevations. With this, I might be able to create something akin to the ‘satellite view’ of tectonics.js, only hopefully a bit more aesthetic.

I hope you found this to be a good introduction to using some of the available free GIS tools, and that you will download GRASS and QGIS and other open source GIS tools and use them to help your worldbuilding efforts. Thank you for reading,
The Astrographer

A full size view of the map found at the top of the page.

Posted in Mapping, Planetary Stuff, World Building | Tagged , , , , , , , , , , | 3 Comments

Measuring Up

So this is a bit of one-off worldbuilding. In the spirit of NANOWRIMO, I’m just going to throw this together superfast and let the chips fall wherever they land.

So, I was reading this on the Zompist bulletin board, when I was struck by an idea of one way in which to develop a set of measurement standards for an imaginary world.

I started by grabbing,”StarGen,” a variation on the old Accrete program from the website. It may not have all of the variety of a more modern planet generation program, but the results should be plausible, or at least not altogether risible. I had it generate 3,000 systems, only returning the ones that contained at least one “habitable” planet. I then examined the systems generated. I settled on this one, a system whose fourth planet was terrestrial and just different enough from Earth to seem interesting to me. There are better ways, programmatic and otherwise, to generate interesting planets, but this way does have the virtue of being fast.

The star is pretty similar to the Sun with 0.92 of its mass, 0.67 of its luminosity and an age of 5.21 billion years(leaving 8.472 billion years remaining on the main sequence). Let’s call it Holman

The fourth planet in this system(cleverly named Holman IV by the United Planets Astronomical Survey Service – UPASS) has a mass 0.603 that of Earth, a surface gravity of 8.224 m/s2 and an equatorial radius of 5,406 km. Its “average” surface temperature is a balmy 11.4ºC under about 400 millibars of atmosphere and with a hydrospheric coverage of 64.7%(probably more significant figures than will be reflected by the mapping process, figure in the range of 60%≤hydrosphere<70%). The most important parts which I came here for being it’s day of 23.79 hours(85,644s, disappointingly similar to Earth’s own day length of 86,400), and its year length of 270.85 Earth days(23,401,440s or 273.24 local days).

Traditionally, the local sophonts, lets call them,”Gwaps,” use a base 12 numbering system. They divide their day into 12 equal segments(6 of daylight and 6 of night at the equinox), each 7,137s(118.95min) long. These could be considered equivalent to hours. In at least one of the local cultures a bell is rung in the social/religious/cultural center to mark these demarcations, thus their word for this timespan translates as,”bells.” Of course, the day is also divided into other, more ad hoc demarcations: daylight and night, of course, thirds and sixths, but these are less significant. More significant is the 144th part of the bell, referred to in translation as a,”grosseth bell,” or simply,”grosseth”. The grosseth is 49.5625s long(in theory, in practice, given the Gwaps roughly renaissance level of technological development, about 50 seconds is generally more precise than the actual measurement). A dozen grosseth, referred to simply as a dozenth, since it is by definition also 1/12th part of a bell(in practice about 10 minutes), is a frequently used, though somewhat casual measure of time. The smallest unit of time in any regular use by the Gwaps is the 1728th part of a bell or about 4 seconds.

Longer periods of time would be the,”twelveday,” roughly equivalent to a week. Like a week, each day of the twelveday cycle has a traditional name. If this program generated moons and if this planet had any, I’m sure they would throw a whole different monkey wrench into the system, but as it is the number of local days in a year don’t really fit with the base-12 motif. Nature does that. No respect for the holy perfection of mathematical systems.

Most Gwap cultures divide up the local year in one of two ways. Some divide it into 22 named twelvedays and a special holiday season that is 9 days long except every fourth year when it is 10 days long. Others divide it into 12,”months,” nine of them 23 days long and 3 of them 22 days long, with a special carnival day every fourth year.

Spacial measurement is a bit more complicated. For large distances the standard is the distance the most common local beast of burden(called the wog) can travel in a local day. They’re a bit slower moving than an Earth horse, but they can maintain a pace of about 8km/hr throughout the daylight period without needing rest, so a,”day’s travel,” comes to about 95km(say 92-98km in practice, local mapping practices aren’t up to more precision than that, anyway). A 1728th part of a day’s travel would be about 55m(a mazwa), and a 144th part of that would be about 38cm(called a minot). By coincidence, a particularly tall Gwap can be around 152cm in height, making it seem to be a good standard of comparison. In practice, the average Gwap is around 144cm in height, so the measure tends to come up a bit short, about 36cm. A typical Gwap can jump about 190cm in a single hop, which leads to a parallel unit of length measure used pretty much only in athletic competitions of the yawm(about 1.3cm).

Mass or weight measurement is surprisingly rationalized to the measures of time and length. It is based on the weight of water contained in a cylindrical barrel one minot(36cm) high by one minot in diameter(in practice, about 35-40kg or 288-330N, depending on the locally-preferred minot).

Areas of land are typically measured in square mazwa parcels(hagama, 3025m2 or 3/4 acre), while bolts of cloth are measured in square minots(ela minot, 1296cm2). Beyond that, there are few other common measurements.

For something that started out as a bit of idle thought while working on other things, and only fleshed out with the most basic of world information, this was rather a lot of detail. Now to learning more about the Gwaps, themselves and their world.

Posted in Aliens, Science Fiction, World Building | Tagged , , , , , | Leave a comment

Using GIS Tools and Data

There is now a second part here

Recently(…-ish) I found something on the Zompist forum that I found interesting. Gareth3 was using an existing real world data(in this case, Stewart Island off of the southern tip of New Zealand) scaled up to represent an entire continent.

There are a number of problems with that rescale. First off, with a simple rescaling of the existing elevations, tall, steep mountains become wide, gentle slopes. To some degree, this can be handled by also scaling up the elevation range to something a bit more continent-worthy. The second thing is to raise the existing elevations to an exponent greater than one. This will tend to make the high points sharper and pointier and flatten out the lower areas between. Secondly, there’s the problem of climates. There is some discussion in the thread about the perils of using existing maps. The entire island is fairly small and looks to be covered pretty much entirely with what I figure would be a maritime west coast climate. An actual continent would have a variety of climates, including, in Gareth3’s modeling, significant desert areas, covered on existing maps with many streams. Our own stream mapping(down the line) would be based on the modified elevations and climate mapping(Precipitation – Evaporation for each grid point and propagated downhill).

Here is a little something I cooked up to import and modify the elevation map. I’ll describe my methodology, as it could prove useful to others. Affairs of climate and stream mapping will be dealt with later as I’m currently putting my GIS tools back in order after a major crash and system upgrade.

First, I went to the EarthExplorer site. I used to use, but that seems to have gone away 😡 . To download data, you need to be logged in, but setting up a profile is free. So, why not?

Under the Search Criteria tab, I selected the Address/Place tab and entered “stewart island” and tapped Show. Click on “Stewart Island / Rakiura, Southland 9818, New Zealand”. Zoom in a lot and tap Clear Coordinates. Click on the map to define the outline of the area you want to use. Now select the data sets tab. In the hierarchical list click on Digital Elevation, then SRTM. Under SRTM check SRTM Void Filled and SRTM Water Body Data. Then click on the Results tab. You should get four elevation data sets, and four water body data sets. Click on the footprints for each of these to insure that they cover the desired area., if they’re where they should be click on the download button for each data set in the SRTM water body data. Then click on each of the SRTM void filled elevation data sets, in the resulting window, click the Download button next to TIFF, although it looks like Wilbur can handle DTED.

Now that you have the data, this next step will require QGIS. You can get QGIS free here.
Next add the four raster layers to QGIS.From the main menu, select Raster>Miscellaneous>Merge…
Select the four input files, then browse a location to place the resulting merged elevation file. I named it, and selected VTP .bt as the type. Now, I like to double click on the new layer in the legend area to open properties. In the Style tab, under load min/max values, I select Min/Max and Actual(slower), then hit Load and OK. This just makes the display look nicer.

Next, I’m going to clip the coverage area of the final raster to just the island. Start by clicking the New Shapefile Layer tool. This will create an empty new vector graphics object. Give it a name and set its type to polygon. We will fill that with the boundaries of our desired area. With your new shapefile selected, tap Toggle Editing in the Digitizing toolbar. This will allow you to define the area of the island’s raster. Click the Add Feature tool in the Digitizing toolbar. Now click in the water areas around the island to create a new polygon encircling the island. As a guide, you can create a “landarea” raster using Raster Calculator under the raster menu. Simply set the expression to “merged_elevations > 0.0”. Place that below the shapefile layer as a guide. Tap Toggle Editing again to finish your polygon.

Now pull down Raster>Extraction>Clipper… to actually clip the elevations. Set the input file to your merged_elevations, set the Clipping Mode to Mask Layer with the shapefile you just created as the Mask Layer. Name the resulting file to something like “clipped_elevations”.

Open Wilbur and open up
Use the paintbrush with value set to something tiny like 0.001 and the Operation set to Maximum to paint over areas below zero within the island. These may be a fault in Wilbur, I’m not sure. I don’t see them in QGIS.

Next Surface>Locate>Flip Vertically to get roughly the same arrangement as has been used previously in this thread.

We’ll need to use an exponent operator to contract the mountain areas. Realistically, most continents would have a bit less highland, so that’s what I’m going to do here. Select>From Terrain>Height Range… from Minimum: -1 to Maximum: 0. With that selection, Filter>Fill>Set Value… Set Value: -1. Otherwise the exponential operation tends to mess things up. Deselect. Next, Filter>Mathematical>Exponent… Set the exponent to 2 for the Land(above sea level), and 0.5 for the Sea(below sea level), 0 for the Sea Level. Preserve Height should be set to Absolute Low set to -1, Absolute High set to 791.

Use rectangle select to select an area very close all around the island. Now, Surface>Crop to Selection.

Finally, to place this where it belongs, sort of, Surface>Find Min/Max… Top: 60, Left: 80, Right: 140, Bottom: 0. File>Save As… set the type to Binary Terrain Surface(*.bt). Name it something like “squared_elevations”.

Back to QGIS. While we used Wilbur to assign the new coordinates which were stored in the VTP .BT format, but the projection is hardwired as UTM. So, when the elevations file is loaded we need to reassign a WGS 84 latitude-longitude “projection”(Raster>Projections>Assign Projection… as the Input file, EPSG:4326 as the Desired SRS. This will be an equirectangular “latlon” coordinate system). Looking back on it, I think I can manage the projection described in this thread using georeferencing and probably a polar equidistant projection.

Finally, I’m going to use the Raster Calculator one more time. I’ll use the expression: 4*squared_elevation + 2.375*unsquared_elevations to give me a range. That will give us our final elevations.

For now, I’m going to leave it at that. There’s a lot more you can do, particularly when you’ve created a vector representation of the landmasses. The image below has streams everywhere and labels helping to identify some broad regions. None of this is final, particularly the streams(They were made using the D8 River Finder in Wilbur, so I’m not too excited by the results. Also, Wilbur has no really good way to edit down rivers in dryer places), but it’s good as a demonstration.

Posted in Mapping, World Building | Tagged , , , , , , , , , , , | 2 Comments