list of BC newsletters; PDF

BC138.HTM
Volume 13, Number 8November 15, 2023

Understanding the Pillar of Cloud

The biblical book of Exodus records that a pillar of cloud accompanied the Israelites all along their journey from Egypt to Canaan.

Then they set out from Succoth [the first encampment] and camped in Etham on the edge of the wilderness. And the Lord was going before them in a pillar of cloud by day to lead them on their way, and in a pillar of fire by night to give them light, that they might travel by day and by night. He did not take away the pillar of cloud by day, nor the pillar of fire by night, from before the people. (Exodus 13:20–22)
The present article focuses on just the pillar of cloud. I hope to discuss the pillar of fire in a separate article at a later date.

The Nature of the Pillar of Cloud

Exodus records that God, or "the angel of God" (Exodus 14:19), was inhabiting the pillar of cloud. The idea conveyed by the text is that God was watching over the emergent nation, leading them and intervening on their behalf, from within the pillar of cloud.

This idea needs to be disentangled from the idea—not present in the text, but easily read into the text—that the cloud itself was supernatural and that it moved around supernaturally.

I will show below that the cloud was a natural phenomenon, an inevitable result of having millions of people grouped closely together in encampments in a naturally dry environment.

God most certainly could have caused the cloud to move supernaturally, but the text does not encourage the idea that He did so. For example, the narrative of the Red/Reed Sea Crossing event in Exodus 14:19–22 records:

And the angel of God, who had been going before the camp of Israel, moved and went behind them; and the pillar of cloud moved from before them and stood behind them. So it came between the camp of Egypt and the camp of Israel; …
It is easily possible to read this to be saying that the angel of God supernaturally moved the cloud from in front of the Israelites to behind them. But this is not what it says, and it does not seem to be what is intended. Notice that it explicitly separates the motion of the angel of God from the motion of the cloud. Though the angel of God and the cloud both moved from the front to the back of the Israelites, the text quoted above seems to take pains to clarify that they did so separately.

The motion of the pillar of cloud described by the text, in this Red/Reed Sea Crossing instance, is what one would naturally expect of such a cloud. The Israelites had left Egypt by the North Sinai Road, destined for Canaan. The North Sinai Road runs east and west between Egypt in the west and Canaan in the east. As Figure 1 shows, Pharaoh and his army would have come out of Egypt from the west of the Israelite encampment at Pi-hahiroth in front of the sea, the setting of Exodus 14:19–22 quoted above.[1] Meanwhile, the "strong east wind" (Exodus 14:21) which blew all night, drying a path through the sea, would naturally have blown the pillar of cloud, which emanated from the Israelite camp, toward the west. Thus, the wind would naturally have blown the pillar of cloud between the camp of the Egyptians and the camp of the Israelites, as the text records.

Figure 1: Google Maps view of the northern Sinai peninsula. Colored lines are drawn by me. The red oval shows the location of the Israelite encampment at Pi-hahiroth. The red arrow shows the Israelites' path back from Etham to Pi-hahiroth along the North Sinai road. The black arrow shows Pharaoh's path from Egypt along the North Sinai road, with the black dot representing the encampment of Pharaoh's army the evening before the Crossing. The green arrow shows the location of the eventual path through the sea. The direction of the strong east wind is depicted by the arrow outlined in blue.

The proper hermeneutical rule in regard to the pillar of cloud seems to be that its existence and motion should be regarded as naturalistic rather than supernaturalistic. According to this rule, one should expect to see a similar cloud behaving in similar ways were a similar-sized group of people to encamp in a similar fashion in a similar desert in a similar region today.

This hermeneutical rule is important for two reasons.

First, naturalistic events are verifiable using scientific principles and methods, allowing one to distinguish true historical events from fabricated tales. The historical accuracy of the biblical record of the Exodus has been under attack from within academia for decades, especially from the field of biblical archaeology. At present, mainstream biblical archaeology regards the Exodus as a largely fabricated tale, but proper scientific investigation has repeatedly shown the opposite. Most recently, for example, scientific explanation of the origin of manna has resulted in identification of the chemical substance corresponding to manna.[2] It now appears that the only way one could ever have known about such a thing as manna and been able to record its properties thousands of years ago would have been to have millions of Israelites together with their herds camped out in the Negev desert, just the way the biblical Exodus narrative describes, as this is the only natural setting which could possibly give rise to manna. The present scientific investigation of the pillar of cloud adds to the growing heap of evidence for the simple historicity of the biblical narrative of the Exodus.

Second, naturalistic events are amenable to scientific study, allowing us to understand them more fully. This does two things: 1) it sheds an independent spotlight on the biblical narrative, broadening our understanding and appreciation of it, and 2) it corrects misinterpretations of the ancient biblical narrative, allowing us to understand it more accurately.

If this hermeneutical rule is mistakenly not followed, then these specific advantages are lost. They are lost both to the student of the Bible and to the student of science.

The Function of the Pillar of Cloud

The text is clear not only that the pillar of cloud was a persistent phenomenon, but also that the Israelites regulated their journey through the wilderness according to its movements.

Now on the day that the tabernacle was erected the cloud covered the tabernacle, the tent of the testimony, and in the evening it was like the appearance of fire over the tabernacle, until morning. So it was continuously; the cloud would cover it by day, and the appearance of fire by night. And whenever the cloud was lifted from over the tent, afterward the sons of Israel would then set out; and in the place where the cloud settled down, there the sons of Israel would camp. At the command of the Lord the sons of Israel would set out, and at the command of the Lord they would camp; as long as the cloud settled over the tabernacle, they remained camped. Even when the cloud lingered over the the tabernacle for many days, the sons of Israel would keep the Lord's charge and not set out. If sometimes the cloud remained a few days over the tabernacle, according to the command of the Lord they remained camped. Then according to the command of the Lord they set out. If sometimes the cloud remained from evening until morning, when the cloud was lifted in the morning, they would move out; or if it remained in the daytime and at night, whenever the cloud was lifted, they would set out. Whether it was two days or a month or a year that the cloud lingered over the tabernacle, staying above it, the sons of Israel remained camped and did not set out; but when it was lifted, they did set out. At the command of the Lord they camped, and at the command of the Lord they set out; they kept the Lord's charge, according to the command of the Lord through Moses. (Numbers 9:15–23)

Various explanations of this recorded behavior of the Israelites may come readily to mind. To the skeptic, it may seem to reveal an ignorant, superstitious people behaving in a fundamentally irrational way, chasing a cloud around in the desert. On the other hand, to the believer, it may seem to be saying that God had a special travel schedule for the Israelites, and that He adjusted the position of the cloud supernaturally as His means of signaling when it was time to move on, which direction they should head, and when they had arrived at the next stop.

Both of these explanations appear to be mistaken. The correct explanation appears to be that the pillar of cloud functioned, in fact, as a naturalistic scientific instrument—a hygrometer, used to measure the amount of moisture in air. The regulation of the Israelites' travel through the desert according to the dictates of this hygrometer was as rational as our progression through each day according to the dictates of our watch. The careful adherence of the Israelites to the motion of the pillar of cloud was, in fact, essential to their survival in the wilderness. The pillar of cloud functioned, naturalistically, for the regulation and exploitation of the most vital natural resource in the wilderness—water. Said simply, by paying attention to the natural movement of the pillar of cloud, the Israelites were kept from perishing of dehydration in the desert.

This is not at all obvious from a casual reading of the text, and, to the best of my knowledge, it has never previously been understood. The text seems clear that neither the people nor Moses understood that the pillar of cloud might possess this utility. The text repeatedly states that the idea of regulating their journey according to the motions of the pillar of cloud originated with God. Moses and the people were simply following God's command.

The realization that the pillar of cloud would function as a natural hygrometer results from deliberate application of modern principles and methods of science to the ancient biblical account. Allow me to show you how this realization has come about.

The Science of the Pillar of Cloud

The single most important scientific fact to get right to begin to understand the pillar of cloud is that, somewhat counterintuitively, the addition of water vapor to atmospheric air makes the air lighter—strictly speaking, less dense—not heavier.

The relative lightness of moist air relative to dry air results from the fact that two air parcels of equal volume will have an equal total number of air particles, that is (ignoring minor air constituents), the same total sum of the molecules of nitrogen, molecules of oxygen, atoms of argon, and molecules of water which make up the air parcels. To make room for the water molecules needed to turn a dry air parcel into a moist air parcel, without changing its volume, some nitrogen molecules and/or oxygen molecules and/or argon atoms will need to be removed from the dry air parcel. But water molecules are lighter than any of these dry air constituents. In the usual grams/mole units, water weighs 18, nitrogen weighs 28, oxygen weighs 32, and argon weighs 40. So displacing dry air constituents with water molecules to produce moist air lightens the air parcel.

Because moist air is lighter (less dense) than dry air, a moist air parcel in a drier air mass will rise due to buoyancy.

The Israelite encampments would necessarily have added substantial water vapor to the otherwise dry desert air. Humans give off between two and three liters of water per day: as urine, perspiration, and water vapor in breath, for example. Because of the heat of the desert, all of this water would have ended up in the air. Urine, for example, excreted onto the ground, would ultimately have been evaporated into the air by the desert sun.

Now humans also give off heat, and it is a scientific fact that hot air is lighter (i.e., less dense) than cool air. In real life, this heat would have augmented the effect of moisture in producing buoyant air above the camp. But in the present article, to keep the analysis as simple as possible, I will focus exclusively on the role of the moisture being sourced from the Israelite encampments into the atmosphere.

According to the laws of science, the moist air produced by the millions of Israelites living together in close proximity would have risen into the atmosphere above the camp because of its buoyancy. Drier air would have flowed in from the edges of the camp to replace the rising buoyant moist air. The drier air flowing into the camp from all sides would have picked up moisture from the people and the ground as it flowed across the camp grounds—recall that the encampments were about five miles across.[3] So the inflowing drier air would have been made more moist, turning it into buoyant moist air. The result would have been an air circulation pattern associated with the camps: a dry breeze flowing in from the edges of the camp and moist air being vented upwards in the center of the camp.

Because air cools as it rises in the atmosphere, the moisture in the column of air rising from the center of the camp would ultimately have condensed into tiny water droplets, producing a fog if close enough to the ground, or producing a cloud if higher up.

Thus, formation of a pillar of cloud above the Israelite encampments may be understood to have been an inevitable, natural, phenomenon. The base of the pillar of cloud would have been "attached" to the center of the camp. In harmony with this naturalistic expectation, the text, quoted previously, places the pillar of cloud above the tent of meeting and its associated tabernacle from the Sinai encampment onward, while elsewhere the text informs us that the tent of meeting was located in the center of the camp from Sinai onward.

"The sons of Israel shall camp, each by his own standard, with the banners of their fathers' households; they shall camp around the tent of meeting at a distance." (Numbers 2:2)

The tilt of the pillar of cloud would have depended on general wind speed and direction above the camp.

The height at which the pillar of cloud would have formed would have depended upon the amount of moisture in the rising column of air. This is why the pillar of cloud would have functioned as a hygrometer.

To investigate this specific aspect of the pillar of cloud, I wrote a computer program to solve the scientific equations involved for a moist parcel of air rising within an atmosphere of drier air. A listing of the program is appended at the end of this article. The program tracks a spherical parcel of air (like air held inside a massless balloon) as it rises due to buoyancy in a static (not circulating) standard atmosphere.[4] The initial moisture content of the air in the balloon near ground level is input to the program. The equations of motion of the spherical air parcel are solved taking into account air friction. The air in the sphere is monitored for condensation as the parcel ascends to cooler, lower pressure heights in the atmosphere. The volume of the sphere is adjusted, as the air parcel rises, according to ambient temperature and pressure as well as its own internal amount of yet uncondensed water vapor. The result is shown in Figure 2.

Figure 2: Calculated altitude versus time of a spherical parcel of moistened air released from near ground level in a standard atmosphere for five test cases. The initial radius of the sphere is 1 meter. The absolute humidity of the ambient standard air near ground level is 0.77% (i.e., 0.77 water molecules per 100 dry air molecules). The initial absolute humidities of the parcel of moistened air for the five test cases are shown on the graph. Vertical error bars have nothing to do with errors or uncertainties. Rather, their presence signals condensation of water within the air parcel (i.e., they show cloud formation).

To avoid confusion, notice that the X axis is being used for time, not horizontal distance. The spherical parcel of moist air ascends completely vertically in all cases.

If no moisture is added to the spherical air parcel, there is no buoyancy and no cloud formation.

If a small amount of moisture is added, as with the magenta data points (the 0.80% case), there is slight buoyancy, the parcel of air rises very slowly, and condensation happens only at a very high altitude. In this and all other cases, condensation causes the volume of the sphere to shrink, which increases its density, causing it eventually to stop rising.

As the initial moisture content of the air parcel is further increased (orange data points, for example), the column of moist air rises more rapidly, and condensation begins to happen at a lower altitude.

For sufficient added moisture (brown data points, 2.20% case, for example), condensation happens at ground level—the pillar of cloud has descended to the ground, producing a fog.

The 1.80% absolute humidity case (cyan data points) seems to correspond most closely to what the text describes—a pillar of cloud whose base covered the tabernacle. The error bars show that the pillar of cloud, for this case, extends from near ground level vertically nearly three-quarters of a mile.

This hygrometer was very sensitive. Reducing the absolute humidity by just half of a percent, from 1.80% to 1.30% (purple data points), raises the base of the cloud from near ground level to 900 meters (over half a mile). It thus seems likely that a drop in absolute humidity of just 0.05% would have been detectable.

Discussion

These calculations show that the pillar of cloud was able to serve as a sensitive hygrometer, measuring the humidification of the air above the camp. This measurement effectively showed the availability of water for the campers. Campers use more water when water is abundantly available. They are forced to conserve water when it begins to run out.

As long as water was plentiful, the Israelites would have used it not only for drinking, but also, for example, for washing and cooking (e.g., boiling food), increasing the moisture level in the air and causing the base of the pillar of cloud to remain covering the tabernacle.

But as the local water source began to run out, the Israelites would have found it necessary to restrict ultimately to just the water needed for human consumption. This reduced consumption would have reduced the moisture in the air, and this would have caused the pillar of cloud to ascend. (In the case of an open reservoir of water, as the water began to be used up, ascent of the pillar of cloud would have been augmented by reduced evaporation from the reservoir itself as it shrank in size.)

If the people lingered, and ran out of water, they would have just three days to find another water source before they would all begin dying of dehydration. Clearly, it was important that they leave at the right time relative to the remaining water supply. There would need to be sufficient water remaining for everybody to fill their water containers for the next leg of the journey as they left.

The ascent of the pillar of cloud signaled the right time to leave. It prevented an out-of-water emergency from happening. When the pillar of cloud lifted from the tabernacle, the water supply had reached a critical level relative to ongoing need, and it was essential to move on. This is why they were commanded to move out immediately, day or night, when the pillar of cloud lifted from the tabernacle.

Going Further

The explanation of the hygrometer function of the pillar of cloud is the major purpose of the present article. But once it has been understood that the cloud changed altitude in response to air humidity, other aspects of the Exodus narrative are also illuminated. Here are several examples in closing.

Example 1

The fact that the pillar of cloud traveled with the people when they moved camp implies that they moved as a cluster, like a swarm of bees, rather than in single file, like ants. This configuration would have provided maximum protection against enemy attack, of course. We learn from Numbers 10:11–28 that, from Sinai on, the tribal armies led the way. I picture the tribal armies as walking at the head of this swarm, deployed along its leading edge to clear the way of brush, hazards, and other obstructions for the wives, children, and elderly following closely behind.

Example 2

The text records several occasions where the pillar of cloud descended and covered the tabernacle as a fog. For example:

It came about, however, when the congregation had assembled against Moses and Aaron, that they turned toward the tent of meeting, and behold, the cloud covered it and the glory of the Lord appeared. (Numbers 16:42)
This may also be understood naturalistically.

The "assembly" of the people in the above quote seems to be what we would call a mob. Scientifically, a mob represents a highly concentrated human water source, enriching the air especially with human breath. This adds water vapor to the air. But the air in our lungs exchanges oxygen for carbon dioxide, and carbon dioxide (mass 44) is heavier than oxygen (mass 32). As a result, the moistened air we breath out has nearly the same density as the air we breathe in.

This means that a mob, crowding in on Moses and Aaron near the tent of meeting, would have had potential to add significant moisture to the central column of air normally rising above the tabernacle without increasing its buoyancy. This would have produced a high-humidity, low-buoyancy or non-buoyant air mass. The inevitable result, for a large enough mob, would have been condensation at ground level, i.e., a fog.

Example 3

The text says that, by descending, the pillar of cloud indicated where the Israelites should camp.

…, and in the place where the cloud settled down, there the sons of Israel would camp. (Numbers 9:17b)
There are two conditions which would naturally cause the cloud to descend.

First is nightfall. Nightfall causes lower tropospheric air to cool as the sun ceases to heat the surface of the ground. For the central column of air rising from the swarm of travelers, this cooling will cause condensation to happen at lower altitudes. Thus the pillar of cloud will tend to descend as day transitions into night. This, of course, would be a naturally suitable time to stop and set up camp for the night. The next morning, when the air began to warm again, the pillar of cloud would naturally ascend again, and the journey would resume.

Second is coming within the vicinity of a suitably-sized source of water. The source could be either open or underground, as long as it had potential to add significant moisture into the overlying air. For an underground aquifer, this could happen via upward movement of water through the overlying soil and: 1) evaporation at the surface, and/or 2) transpiration by vegetation. Moistened air from this reservoir, when combined with the moistened air produced by the travelers, would produce yet more-highly moistened air, which would cause the pillar of cloud to descend. This, of course, would represent discovery of a new water source, suitable for encampment for some period of time, depending on its size and recharge characteristics.

Example 4

The text says that the pillar of cloud went before the people, leading the way.

And the Lord was going before them in a pillar of cloud by day to lead them on their way… (Exodus 13:21a)
Based upon what has been explained so far, it is clear that this does not mean to convey the idea of a vertical pillar of cloud moving along the path out in front of the people. We now know that the column of air giving rise to the cloud always originated near the center of the vast cluster of travelers, and we know that the cloud had ascended when they were on the move.

We have seen previously that the central column of air would have had a tilt depending on wind speed and direction. I suggest that it is this tilt which was functional in showing the way.

Since the pillar of cloud was ascended while traveling, following it would have been similar to following a kite on a string. The kite will always be downwind of the one holding the string, so following the kite means that one will always be walking downwind. The kite thus naturally acts as a wind vane, showing the downwind direction.

Similarly, the rising central column of air culminating in the ascended pillar of cloud would have served as a natural wind vane showing the downwind direction, but it would have been much more sensitive than a kite for making this measurement. The pillar of coud would have moved (tilted) in response to breezes and even slight drafts much too weak to sustain the flight of a kite.

Now here is the important point. The Israelite travels were situated in the northern horse latitude zone. The horse latitudes are characterized by calm rather than by winds. So the tilt of the pillar of cloud would have been relatively free of wind interference. This means that it would have been able to detect drafts set up by local air circulation.

We have already seen that Israelite camps would naturally have set up a local air circulation having 1) dry air flowing inward from the edges of the camp and 2) moistened air ascending at the center of the camp. Any large source of water would set up a similar circulation. The pillar of cloud would naturally tilt in the direction of a nearby local air circulation of this type. This is because these circulations create a draft of air towards themselves from all sides.

Thus, the tilt of the pillar of cloud would naturally have been toward local water sources, and following the cloud would naturally have led to such water sources.

Conclusion

The sustained existence of the emergent Israelite nation in the desert accomplished something which seems quite impossible for their remote time. Indeed, it seems quite impossible even for our modern time.

No evidence has been found that… the Sinai desert ever hosted (or could have hosted) these millions of people and their herds.[5]
How was this seemingly impossible feat accomplished? It appears to have been accomplished through an application of scientific knowledge which was way ahead of its time.

The location and management of scarce water resources would have been the single most important factor affecting the survivability of the Israelite nation in the desert.

The procurement of sufficient calories to keep from starving to death would have been the second most important factor affecting their survivability in the desert.[6]

Overcoming these two great impediments to survival, we now know, involved secrets of which the amassed knowledge of modern science has had no clue: a pillar of cloud serving both as wind vane and hygrometer, and waste stockyard gases combining with desert soil ions to yield edible manna. Where did this highly advanced knowledge come from? It appears that the Israelites received assistance from a Higher Intelligence.

Some will, no doubt, want to ascribe this Higher Intelligence to life forms evolved elsewhere in the universe, but logic decries such a move. To accept the theory of intervention on the Israelites' behalf by extra-terrestrials, one must trample all over the biblical data the text affords us in regard to this Higher Intelligence. And this trampling all over the biblical historical record is the very methodological pathology which has all but extinguished the light of knowledge regarding these ancient times in our modern world. If we wish to know today, four and a half millennia after these events transpired, the truth about this Higher Intelligence, we will eschew this methodological pathology and choose rather to sit humbly at the feet of those who were there and left these ancient records of what they saw and heard and experienced for our benefit. Their testimony is quite plain and everywhere the same from beginning to end.

I am the Lord your God, who brought you out of the land of Egypt, out of the house of slavery. (Exodus 20:2)
'See now that I, I am He,
And there is no God besides me.'
(Deuteronomy 32:39a)

The narrative of the Exodus explicitly credits to God oversight and direction of the emergent nation on a day by day basis. The text overflows with instances of "Then the Lord said to Moses…"

And so modern science combines with the testimony of the ancient historical record to show not only that the Exodus really happened, but also that the Exodus was God's doing. ◇

The Biblical Chronologist is written and edited by Gerald E. Aardsma, a Ph.D. scientist (nuclear physics) with special background in radioisotopic dating methods such as radiocarbon. The Biblical Chronologist has a fourfold purpose:

  1. to encourage, enrich, and strengthen the faith of conservative Christians through instruction in biblical chronology and its many implications,

  2. to foster informed, up-to-date, scholarly research in this vital field,

  3. to communicate current developments and discoveries stemming from biblical chronology in an easily understood manner, and

  4. to advance the growth of knowledge via a proper integration of ancient biblical and modern scientific data and principles.

The Biblical Chronologist (ISSN 1081-762X) is published by:

Aardsma Research & Publishing
301 E. Jefferson St.
Loda, IL 60948
Web address: www.biblicalchronologist.org.

Copyright © 2023 by Aardsma Research & Publishing.

Scripture quotations taken from the (NASB®) New American Standard Bible®, Copyright© 1960, 1971, 1977, 1995 by The Lockman Foundation. Used by permission. All rights reserved. www.Lockman.org

APPENDIX: Program Listing

! * * * pillar_of_cloud02 * * *
! Written by GEA beginning 2023/10/17.
! Basic idea: Calculate the motion through the U.S. Standard Atmosphere, 1976 (S&P Table A.8, page 1293) of a spherical air parcel enriched in water vapor at ground level.
! Units are MKS.
! Supporting calculations are in BC138_Pillar_of_Cloud02.xls.
!
function pressure_standard(z)
implicit real*16 (a-h,k-z)
! z is in meters
if (z .le. 1000.0d0) then
z1 = 0.0d3
z2 = 1.0d3
d1 = 1.013d5
d2 = 8.980d4
delta_z = z2-z1
delta_pressure = d2-d1
m = delta_pressure/delta_z
pressure_standard = m * (z - z1) + d1
elseif (z .le. 2000.0d0) then
z1 = 1.0d3
z2 = 2.0d3
d1 = 8.980d4
d2 = 7.950d4
delta_z = z2-z1
delta_pressure = d2-d1
m = delta_pressure/delta_z
pressure_standard = m * (z - z1) + d1
elseif (z .le. 3000.0d0) then
z1 = 2.0d3
z2 = 3.0d3
d1 = 7.950d4
d2 = 7.012d4
delta_z = z2-z1
delta_pressure = d2-d1
m = delta_pressure/delta_z
pressure_standard = m * (z - z1) + d1
elseif (z .le. 4000.0d0) then
z1 = 3.0d3
z2 = 4.0d3
d1 = 7.012d4
d2 = 6.166d4
delta_z = z2-z1
delta_pressure = d2-d1
m = delta_pressure/delta_z
pressure_standard = m * (z - z1) + d1
elseif (z .le. 5000.0d0) then
z1 = 4.0d3
z2 = 5.0d3
d1 = 6.166d4
d2 = 5.405d4
delta_z = z2-z1
delta_pressure = d2-d1
m = delta_pressure/delta_z
pressure_standard = m * (z - z1) + d1
else
stop("ERROR: More table values needed in pressure_standard() function")
endif
end function
!
!
function temperature_standard(z)
implicit real*16 (a-h,k-z)
! z is in meters
if (z .le. 1000.0d0) then
z1 = 0.0d3
z2 = 1.0d3
d1 = 288.0d0
d2 = 282.0d0
delta_z = z2-z1
delta_temperature = d2-d1
m = delta_temperature/delta_z
temperature_standard = m * (z - z1) + d1
elseif (z .le. 2000.0d0) then
z1 = 1.0d3
z2 = 2.0d3
d1 = 282.0d0
d2 = 275.0d0
delta_z = z2-z1
delta_temperature = d2-d1
m = delta_temperature/delta_z
temperature_standard = m * (z - z1) + d1
elseif (z .le. 3000.0d0) then
z1 = 2.0d3
z2 = 3.0d3
d1 = 275.0d0
d2 = 269.0d0
delta_z = z2-z1
delta_temperature = d2-d1
m = delta_temperature/delta_z
temperature_standard = m * (z - z1) + d1
elseif (z .le. 4000.0d0) then
z1 = 3.0d3
z2 = 4.0d3
d1 = 269.0d0
d2 = 262.0d0
delta_z = z2-z1
delta_temperature = d2-d1
m = delta_temperature/delta_z
temperature_standard = m * (z - z1) + d1
elseif (z .le. 5000.0d0) then
z1 = 4.0d3
z2 = 5.0d3
d1 = 262.0d0
d2 = 256.0d0
delta_z = z2-z1
delta_temperature = d2-d1
m = delta_temperature/delta_z
temperature_standard = m * (z - z1) + d1
else
stop("ERROR: More table values needed in temperature_standard() function")
endif
end function
!
!
function density_standard(z)
implicit real*16 (a-h,k-z)
! z is in meters
if (z .le. 1000.0d0) then
z1 = 0.0d3
z2 = 1.0d3
d1 = 1.225d0
d2 = 1.112d0
delta_z = z2-z1
delta_density = d2-d1
m = delta_density/delta_z
density_standard = m * (z - z1) + d1
elseif (z .le. 2000.0d0) then
z1 = 1.0d3
z2 = 2.0d3
d1 = 1.112d0
d2 = 1.007d0
delta_z = z2-z1
delta_density = d2-d1
m = delta_density/delta_z
density_standard = m * (z - z1) + d1
elseif (z .le. 3000.0d0) then
z1 = 2.0d3
z2 = 3.0d3
d1 = 1.007d0
d2 = 0.9093d0
delta_z = z2-z1
delta_density = d2-d1
m = delta_density/delta_z
density_standard = m * (z - z1) + d1
elseif (z .le. 4000.0d0) then
z1 = 3.0d3
z2 = 4.0d3
d1 = 0.9093d0
d2 = 0.8194d0
delta_z = z2-z1
delta_density = d2-d1
m = delta_density/delta_z
density_standard = m * (z - z1) + d1
elseif (z .le. 5000.0d0) then
z1 = 4.0d3
z2 = 5.0d3
d1 = 0.8194d0
d2 = 0.7364d0
delta_z = z2-z1
delta_density = d2-d1
m = delta_density/delta_z
density_standard = m * (z - z1) + d1
else
stop("ERROR: More table values needed in density_standard() function")
endif
end function
!
!
function density_standard_water(z)
implicit real*16 (a-h,k-z)
! z is in meters
if (z .le. 1000.0d0) then
z1 = 0.0d3
z2 = 1.0d3
d1 = 5.9d-3
d2 = 4.2d-3
delta_z = z2-z1
delta_density = d2-d1
m = delta_density/delta_z
density_standard_water = m * (z - z1) + d1
else
stop("ERROR: More table values needed in density_standard_water() function")
endif
end function
!
!——————————————————————
! Function definitions come first.
subroutine dydt(t,y,f,m_sphere_0,Vol_sphere_0,P_std_0,T_std_0,n_water_0,n_dry,cloud_flag,pi)
!*** set dimension of following arrays to i_n
implicit real*16 (a-h,k-z)
real*8 arg ! necessary for exp() function
real*16 y(2),f(2)
z = y(1)
v_z = y(2)
! a_z changes with z. Thus, a_z needs to be computed for the present z each time this subroutine is called.
! The mass in the sphere remains constant = m_sphere_0.
! The pressure changes with z.
P_std = pressure_standard(z)
! The temperature also changes with z.
T_std = temperature_standard(z) ! degrees K
! The reduction in temperature may result in condensation of water vapor, which will change n_water.
! The (pre-condensation) partial pressure of water vapor in the sphere is
P_water = P_std * n_water_0 / (n_water_0 + n_dry) ! Pascals
! Check for condensation using the Buck equation (wiki: "Vapor pressure of water") to find the saturation water vapor pressure.
TC = T_std - 273.15d0 ! degrees C
arg = (18.678d0-TC/234.5d0)*(TC/(257.14d0+TC))
P_saturation = 0.61121d3 * exp(arg) ! Pascals
n_water = n_water_0
cloud_flag = 0.0d0
if (P_water .gt. P_saturation) then
n_water = n_water_0 * P_saturation / P_water
cloud_flag = 30.0d0
endif
! These changes all change the volume of the sphere.
Vol_sphere = Vol_sphere_0 * P_std_0 / P_std * T_std/T_std_0 * (n_water + n_dry)/(n_water_0 + n_dry)
R_sphere = (3.0d0/4.0d0/pi*Vol_sphere)**(1.0d0/3.0d0)
! The changed volume changes density_sphere.
density_sphere = m_sphere_0 / Vol_sphere
! Meanwhile, density_std changes with z as specified by Table A.8 of S&P.
density_std = density_standard(z)
! The constants below give g = 9.80 at the surface and g = 9.75 at 15 km. This is a 0.5% difference.
G_constant = 6.67430d-11
m_E = 5.98d24
R_E = 6.38d6
g = G_constant * m_E / (R_E + z)**2
! Finally, all these changes with z change the acceleration of the sphere.
a_z = (density_std / density_sphere - 1) * g
! There is also a frictional drag force acting on the sphere. (See K&S p 256-258.)
! The Reynolds Number in this case is = rho*v_z*R_sphere/viscosity.
! It needs to be < 1 for viscous drag.
! This will be something like 1 * 2 * 2 / 1e-5   400,000.
! So viscous drag is not in effect; high-speed drag is in effect.
F_d = CD * pi*R_sphere**2 * density_std * v_z**2 / 2.
! Assume CD = 1
a_z = a_z - pi * R_sphere*2 * density_std * v_z * abs(v_z) / 2.0d0 / m_sphere_0
!*** program fi equations to be solved here
! drdt = v
f(1) = y(2)
! dvdt = -g
f(2) = a_z
end subroutine
!
!——————————————————————-
program pillar_of_cloud02
implicit real*16 (a-h,k-z)
real*16 time(200), z(200), cloud(200)
! *** set dimension of following arrays for Runge-Kutta to n
real*16 k1(2), k2(2), k3(2), k4(2), k5(2), k6(2)
real*16 y(2), y0(2), yt(2), f(2), adr(2), delta1(2), delta0(2)
!
print*
print*
Print*," * * * Pillar of Cloud (version 2) * * *"
!
time = 0.0d0 ! Set graphics arrays to zero to keep unused points from messing up Excel graphics.
z = 0.0d0
radius = 0.0d0
j = 0 ! this index is for saving z and time data points for eventual graphing.
pi = 4.0d0*ATAN(1.0d0)
NA = 6.022d23
MW_water = 18.015d-3
MW_nitrogen = 28.013d-3
MW_oxygen = 32.0d-3
MW_argon = 39.948d-3
! Treat the sphere like a balloon having an impermiable-to-air, stretchable, massless membrane.
! Work in cylindrical coordinates (r,z) to suit the cylindrical symmetry of the pillar of cloud phenomenon.
! The sphere, initially filled with standard air, is motionless, centered on the z axis, with its underside 1 meter above the ground.
! Its initial coordinates are (r = 0, z = R_sphere_0 + 1).
R_sphere_0 = 1.0d0
z_0 = R_sphere_0 + 1.0d0
vz_0 = 0.0d0
! Its initial volume is
Vol_sphere_0 = 4.0d0/3.0d0 * pi * R_sphere_0**3
!
! For the present calculation, only vertical motion is of interest.
! The differential equations of motion to be solved are:
! 1) dz/dt = v_z
! 2) dv_z/dt = a_z
!
! The air inside the sphere is the same as the standard air outside the sphere, except that additional water vapor may be added into the sphere.
! This can give the air inside the sphere a different density than the standard air outside the sphere.
! This can give the air in the sphere buoyancy.
! The number, n, of molecules inside the sphere at z_0 matches the number in an equal volume of air outside the sphere at z_0.
! n is taken to be comprised solely of n_nitrogen plus n_oxygen plus n_argon + n_water_vapor both inside and outside the sphere:
! n = n_nitrogen + n_oxygen + n_argon + n_water_vapor
! But while the ratio of n_oxygen to n_nitrogen is fixed, and the ratio of n_argon to n_nitrogen is fixed,
! the ratio of n_water_vapor to n_nitrogen may vary from zero up to the saturation vapor pressue of water in air.
! Because the water molecule, H2O, is lighter (MW=18) than both nitrogen, N2 (MW=28), and oxygen, O2 (MW=32), moist air is lighter than dry air of equal volume.
! Upward acceleration, a_z, is provided by the buoyancy of the less-dense, water-vapor-enriched air in the sphere.
! F_buoyancy = density of standard air * volume of the sphere * g, g = 9.8 m/s2
! F_total = m_sphere * a_z = F_buoyancy - F_gravity
! So a_z = (density of standard air * volume of the sphere * g - m_sphere * g) / m_sphere
! a_z = (density_std * Vol_sphere / m_sphere - 1) * g
!
! 3) a_z = (density_std / density_sphere - 1) * g
!
! Standard air at z_0 meters altitude has a density, in kg/cu meter, of
density_std = density_standard(z_0)
! The water vapor in this standard air has a density, in kg/cu meter, of
density_std_water = density_standard_water(z_0)
! The mass of standard air ingredients other than water near ground level (S&P Table A.8) = 1225 - 5.9 = 1219.1 gram / cu meter.
! For sphere air, the density is density_sphere = (mass of moist air in the sphere / volume of the sphere).
! The mass of air in the sphere is (n_water * MW_water + n_nitrogen * MW_nitrogen + n_oxygen * MW_oxygen + n_argon * MW_argon) kg per mole / 6.022d23 per mole
! So the density of air in the sphere is (n_water * 18.015d-3 + n_nitrogen * 28.013d-3 + n_oxygen * 32.0d-3 + n_argon * 39.948d-3) / 6.022d23 / Vol_sphere
!
! Now we need to know n_water, n_nitrogen, n_oxygen, and n_argon in the sphere.
! These start out the same as standard air at z_0.
! First, work out water vapor.
density_water_0 = density_std_water
m_water_0 = density_water_0 * Vol_sphere_0
n_water_0 = m_water_0 / MW_water * NA
! Next work out the numbers of dry constituents.
m_dry = (density_std - density_water_0) * Vol_sphere_0
MW_dry = 0.78d0 * MW_nitrogen + 0.21d0 * MW_oxygen + 0.01d0 * MW_argon
n_dry = m_dry / MW_dry * NA
! This gives the following intial density of air in the sphere.
density_sphere_0 = (m_water_0 + m_dry) / Vol_sphere_0
!
! Now add water vapor into the sphere. <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
percent_water = 2.2d0 ! USER ADJUSTABLE. This is the total percent water in the sphere; n_water_0 alone gives 0.77% water vapor
! This increases the number of water molecules in the sphere.
! percent_water = n_water/(n_water + n_dry)*100.0d0
! percent_water/100 * (n_water + n_dry) = n_water
! 1 + n_dry/n_water = 100/percent_water
! n_dry/n_water = 100/percent_water - 1
! n_water = n_dry/(100/percent_water - 1)
n_water_added = n_dry/(100/percent_water - 1) - n_water_0 !
! This increases the mass of the sphere.
m_water_added = n_water_added * MW_water / NA ! kg H2O added into the sphere
m_sphere_0 = m_dry + m_water_0 + m_water_added
! And it also increases the volume of the sphere.
! According to the ideal gas law, volume is proportional to total number of particles in a gas for constant T and P.
n_water_0 = n_water_0
Vol_sphere_0 = Vol_sphere_0 * (n_water_0 + n_water_added + n_dry) / (n_water_0 + n_dry)
n_water_0 = n_water_0 + n_water_added
! So the initial state of the water-vapor-added sphere is
density_sphere_0 = m_sphere_0 / Vol_sphere_0
P_std_0 = pressure_standard(z_0)
T_std_0 = temperature_standard(z_0)
!
! For the rungek07 code below,
! i_n = 2
! y(1) = z
! y(2) = v
! f(1) = dzdt
! f(2) = dvdt
!
! Adaptation of rungek07 kernel by GEA 2023/10/17.
! Rungek07 is runge-kutta with adaptive stepsize control for i_n (2 or greater) coupled specified functions.
!
! Calculate yi(tf) where i=1 to n for
! dyi/dt = fi(t,z,y2,...,yn) given the initial points (t0,y0i).
!
!*** Initial values, user specified for each problem.
! number of coupled equations
i_n=2
! initial values for equations
t0=0.0d0
y0(1)=z_0
y0(2)=vz_0
! final t value to integrate out to <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
i_pts = 200 ! save i_pts data points, spaced equally in time
pts = i_pts
tf = 24.0d0 * 60.0d0 * 60.0d0 / pts
tf_save = tf
! initial stepsize
delta_t0=1.0d0
! error limit on each step; make smaller to improve accuracy
errlim = 1.0d-3
!
! Cash-Karp parameters
!
a2=2.0d-1
a3=3.0d-1
a4=6.0d-1
a6=8.75d-1
b21=2.0d-1
b31=7.5d-2
b32=2.25d-1
b41=0.3d0
b42=-0.9d0
b43=1.2d0
b51=-11.0d0/54.0d0
b52=2.5d0
b53=-70.0d0/27.0d0
b54=35.0d0/27.0d0
b61=1631.0d0/55296.0d0
b62=175.0d0/512.0d0
b63=575.0d0/13824.0d0
b64=44275.0d0/110592.0d0
b65=253.0d0/4096.0d0
c1=37.0d0/378.0d0
c3=250.0d0/621.0d0
c4=125.0d0/594.0d0
c6=512.0d0/1771.0d0
cs1=2825.0d0/27648.0d0
cs3=18575.0d0/48384.0d0
cs4=13525.0d0/55296.0d0
cs5=277.0d0/14336.0d0
cs6=0.25d0
d1=c1-cs1
d3=c3-cs3
d4=c4-cs4
d5=-cs5
d6=c6-cs6
!
! Initialize loop variables.
delta_t = delta_t0
t = t0
do 40 i=1,i_n
y(i) = y0(i)
40 continue
!
! Main calculational loop begins here.
! Take one step using fifth order Runge-Kutta
! Assume (for speed of computation) that step will succeed.
50 call dydt(t,y,f,m_sphere_0,Vol_sphere_0,P_std_0,T_std_0,n_water_0,n_dry,cloud_flag,pi)
do 51 i=1,i_n
k1(i)=delta_t*f(i)
yt(i) = y(i) + b21*k1(i)
51 continue

call dydt(t+a2*delta_t,yt,f,m_sphere_0,Vol_sphere_0,P_std_0,T_std_0,n_water_0,n_dry,cloud_flag,pi)
do 52 i=1,i_n
k2(i)=delta_t*f(i)
yt(i) = y(i) + b31*k1(i) + b32*k2(i)
52 continue

call dydt(t+a3*delta_t,yt,f,m_sphere_0,Vol_sphere_0,P_std_0,T_std_0,n_water_0,n_dry,cloud_flag,pi)
do 53 i=1,i_n
k3(i)=delta_t*f(i)
yt(i) = y(i) + b41*k1(i) + b42*k2(i) + b43*k3(i)
53 continue

call dydt(t+a4*delta_t,yt,f,m_sphere_0,Vol_sphere_0,P_std_0,T_std_0,n_water_0,n_dry,cloud_flag,pi)
do 54 i=1,i_n
k4(i)=delta_t*f(i)
yt(i) = y(i) + b51*k1(i) + b52*k2(i) + b53*k3(i) + b54*k4(i)
54 continue

call dydt(t+delta_t,yt,f,m_sphere_0,Vol_sphere_0,P_std_0,T_std_0,n_water_0,n_dry,cloud_flag,pi)
do 55 i=1,i_n
k5(i)=delta_t*f(i)
yt(i) = y(i) + b61*k1(i) + b62*k2(i) + b63*k3(i) + b64*k4(i) + b65*k5(i)
55 continue

call dydt(t+a6*delta_t,yt,f,m_sphere_0,Vol_sphere_0,P_std_0,T_std_0,n_water_0,n_dry,cloud_flag,pi)
do 56 i=1,i_n
k6(i)=delta_t*f(i)
y(i) = y(i) + c1*k1(i) + c3*k3(i) + c4*k4(i) + c6*k6(i)
! Estimate error in step using embedded fourth-order Runge-Kutta
delta1(i) = d1*k1(i) + d3*k3(i) + d4*k4(i) + d5*k5(i) + d6*k6(i)
! delta1 is the difference between the calculated y values for the fifth order step and the fourth order step.
! Constrain this difference to be less than errlim times new y.
delta0(i) = y(i)*errlim
adr(i) = abs(delta0(i)/delta1(i)) ! adr is "absolute delta ratio"
56 continue

! Now check if step really is successful.
! Find minimum adr value. It is needed here and below for calculation of new step size.
adrmin = adr(1)
do 58 i=2,i_n
if(adr(i).lt.adrmin) adrmin = adr(i)
58 continue
if(adrmin.lt.1.0d0) goto 60 ! step was not successful
! Step was successful; calculate new t and stepsize for next step.
t = t + delta_t
delta_t = 0.9 * delta_t * adrmin**0.2
if (delta_t .gt. tf-t) delta_t = tf-t
! See if done yet.
if(t.ge.tf) goto 70 ! done
! Not done; take another step.
goto 50
! Error in y is too large; try again with smaller stepsize.
60 delta_t = 0.9 * delta_t * adrmin**0.25
! Restore starting y.
do 62 i=1,i_n
y(i) = y(i) - c1*k1(i) - c3*k3(i) - c4*k4(i) - c6*k6(i)
62 continue
goto 50
!
! Done this data point.
70 continue
j = j+1
time(j) = t
z(j) = y(1)
cloud(j) = cloud_flag ! cloud(j) is plotted as an error bar on the jth point
tf = t + tf_save
delta_t = delta_t0
if (j .lt. i_pts .and. z(j) .lt. 19000.0d0) goto 50 ! Calculate another data point.
! Done all data points.
! Save the data for graphing in Excel.
open(10,file="pillar_of_cloud02.txt")
do 80 i = 1, i_pts
write(10,'(3E15.5)') time(i), z(i), cloud(i)
80 continue
close(10)
print *
write(*,'(a)') " DONE! Graph data written to pillar_of_cloud.txt."
if (z(j) .gt. 19000.0d0) write(*,'(a)') " NOTE! Calculation was terminated because z exceeded 19 km."
end program pillar_of_cloud02

Footnotes

  1. ^  Gerald E. Aardsma, "Understanding the Red/Reed Sea Crossing," The Biblical Chronologist 13.6 (July 11, 2023): 1–8. www.BiblicalChronologist.org.

  2. ^  Gerald E. Aardsma, Bread from Heaven: The Manna Mystery Solved (Loda, IL: Aardsma Research and Publishing, 2023). www.BiblicalChronologist.org.

  3. ^  Gerald E. Aardsma, "The Route of the Exodus, Part II: The Encampment at Etham," The Biblical Chronologist 13.1 (February 7, 2023): 1–5. www.BiblicalChronologist.org.

  4. ^  John H. Seinfeld and Spyros N. Pandis, Atmospheric Chemistry and Physics (New York: John Wiley & Sons, Inc., 1998), Table A.8, 1293.

  5. ^  https://en.wikipedia.org/wiki/Sources_and_parallels_of_ the_Exodus (accessed November 10, 2023).

  6. ^  Gerald E. Aardsma, Bread from Heaven: The Manna Mystery Solved (Loda, IL: Aardsma Research and Publishing, 2023), Appendix A. www.BiblicalChronologist.org.