Updated 2016-05-01 18:09:46 by gold

Sumerian Barge & Cargo Calculator and eTCL Slot Calculator Demo Example edit

This page is under development. Comments are welcome, but please load any comments in the comments section at the bottom of the page. Please include your wiki MONIKER in your comment with the same courtesy that I will give you. Its very hard to reply intelligibly without some background of the correspondent. Thanks,gold

Introduction edit

gold Here is some starter code for calculating cargo space of ancient Sumerian barges. The impetus for this calculator was checking rated ship capacity and ship coefficients in some clay texts and some historical novels. In general, barges have different mathematical treatment than the ocean going keel ships and there are some barge formulas that the analysis would like to test separately.

The gist is that the calculations treat the barge as a long rectangular box and figure the volume as barge Length*Beam*Depth. The absolute volume of the barge is usually about 15-25 percent over the Sumerian capacity rating in volume gurs. Possibly, a stern till, bow, side gantries, or draft waterline may account for the overage. The testcases were loaded into a trial spreadsheet and the three place decimals were kept in the analysis for comparison with the spreadsheet results.

The flood crest peaks of the Euphrates ranges from 5.5 to 6 meters height at Babylon, so shallow barges are often the best option for river travel. On the canal from Girsu to Umma (in ancient operation), the sluice at the Girsu canal regulator would limit practical barges to L< 11.4 meters, B< 3 meters, and D < 5 meters. The smaller barges could be either 1) be off loaded to another ship, 2) bow lifted over the (double) sluice gates, or 3) else rollered around the sluice (empty of cargo, we trust). At Lagash the sluice was 18 meters long and 3 meters wide, meaning practical barges would have limits L<18, B<3, and D<5 meters. For example, the 4 meter ship beam of testcase 2 would not fit inside the the 3 meter width (limit) for the sluice boxes of either the Girsu or Lagash regulators. Note the ship in testcase 1 has 11.2 meters in length and would fit within the sluices at both Girsu or Lagash, especially if empty of cargo. Of course, the ship in testcase 2 could still travel on the Euphrates and the enlarged waterways downstream of the regulators.Remember that former Sumeria is now partly covered with reed swamps and sand dunes after 4000 years, there may well be canal regulators, agricultural canal divisors, and obstructions in the ancient canal operations to canal barges that are not known.

The surface area of a rectangular barge with a (1/4)*L generic stern till can be estimated. The surface area of the open box would be as L*B+2*B*D+2*L*D. The generic stern till (T) was figured as [* $ship_length(L) 0.25 ]. The generic cargo section length was figured as [* $ship_length(L) 0.75 ]. The surface area of the generic stern till would be L*B*0.25. The total surface would be L*B+2*B*D+2*L*D+L*B*0.25 or [+ [* $L $B] [* 2. $B $D] [* 2. $L $D] [* $L $B 0.25] ]. For the testcase of a ges-ma-30-gur (wood ship 30 gurs) of L/B/D 11.2/1.5/0.75 meters, the hand calculations show [+ [* 11.2 1.5] [* 2. 1.5 0.75] [* 2. 11.2 0.75] [*11.2 1.5 0.25] ] or 40.5 sq. meters. The barge surface formula or procedure was tested below in a small console program.

Some tablets give rare details of ship and barge construction in cuneiform times. The NeoSumerian Tablet BCT2-131 can be used to derive ratios of dry bitumen, crushed bitumen, and liquid bitumen applied to ships of 40,60, 70, and 120 gur capacity. The eTCL formulas below were developed for a proposed calculator modification. The sealant ratios were standardized to a 60 gur ship. The generic formula is ship capacity in gurs times ratio in bitumen units per 60 gurs. In metric units, a ma-60-gur ship would need 2687 kilograms of dry bitumen, 1493 kilograms of crushed bitumen, and 290 liters of liquid bitumen. The dry bitumen and crushed bitumen are probably used as caulking between planks. The liquid bitumen figures from BCT2-131 are believed a "factory coat sealant" either for planks, reed mat floors, ropes, or cabin matted walls. The fish_oil_sealant and the less smelly butter_oil_sealant are mentioned in separate tablets and are believed either for annual wood maintenance, less costly substitutes, or ritual substitutes for liquid bitumen. It has been speculated that bitumen use in Sumeria was a measure of commerce initiating between cities. Only substantial commerce on rivers and canals could transport so much bitumen.

For the ma-60-gur ship, the amounts 2687 kg of dry bitumen and 290 liters of liquid bitumen seemed excessive. However, the deck area and the external area of the ma-60-gur ship can be estimated and the applied bitumen can be estimated from the cuneiform coefficients. The total area (74.0 sq meters) and the coefficient derived thickness ( 3.3 cm) of dry bitumen give an application volume of 2455 liters at a cost of 20.5 silver pieces. Figuring the specific gravity of esir had (dry pitch) as 1.1, the total application of dry pitch would be 2455*1.1 or 2700 kilograms. So the ship application was close to the weight and volume from the bitumen coefficient. The ratio of dry/liquid bitumen was 2700/290 or rounding 9:1. It is thought that the fish oil and liquid bitumen sealants were primarily applied to the interior fixtures, the side and end planks.

Waterproofing and sealant formulas  edit

   set dry_bitumen_caulking [int [* $ship_cargo_gurs [/ 2687. 60. ]]] kilograms   
   set crushed_bitumen_caulking [int [* $ship_cargo_gurs [/ 1493. 60. ]]] kilograms
   set plow_bitumen_sealant [int [* $ship_cargo_gurs [/ 120. 60. ]]]} kilograms
   set bitumen_oil_sealant [int [* $ship_cargo_gurs [/ 290. 60. ]]] liters
   set fish_oil_sealant [int [* $ship_cargo_gurs [/ 30. 60. ]]] liters
   set butter_oil_sealant [int [* $ship_cargo_gurs [/ 30. 60. ]]] liters

The work quotas for general wood working and the UrIII Equivalency list were reviewed in preparation for estimates of wooden barge construction. The common work quotas for wood working were 3 pannum crates per day, 40/60 fraction of door per day, 1 chair or small table per day, or 7_26 (base 60) surface area of planks. In the UrIII equivalency list, one silver piece bought crab apple wood as 36 planks at 3 cubits length or 60 planks at 2 cubits length. Starting with making wood planks, the daily quota was 7/60+26/3600 surface sar,[* 144 .1238] or 17.7 square cubits, or 4.46 sq. meters. The 7_26 may have been derived in this way. The pannum crate was a standard measure of grain etc, each side was 1 cubit or 0.4977 meter. The surface area from 3 pannum crates was 3crates*6sides*.497*.497= 4.44 sq.m., 4.44/18 = decimal 0.123 sar or 7/60+ 23/3600 sar daily. ( Note. Pannum was originally a barley measure and "pan" is a cognate or root word for bread in Spanish and many languages.)

For the crab apple planks, both sale packs of 2 and 3 cubit planks probably range close to the daily quota of 17.7 square cubits. The total lengths of 120 cubits from 60*2 and 108 cubits from 36*3 are not the same quantity. The plank width ranges from [/ 17.7 [* 60 2] , 0.1475 cubits to [/ 17.7 [* 36 3]] ,0.1638 cubits or from 0.1475 to 0.1638 cubits. Converting, the range of plank width would be from 7.3 to 8.1 centimeters. So including the 1 cubit length boards in a pannum crate, there is textual evidence for planks of 1, 2, and 3 cubits length, which appeared to be standard lengths in the UrIII marketplace. The standard lengths were at intervals of 1 cubit for lengths of 1, 2, and 3 cubits. For comparison in modern times, the 4-by-4 inch square pine timber is much used in construction, which is comparable as [* 4 2.54 ], 10.54 cm. Much of the timber sold as 4-by-4 inch actually measures 8.9-by-8.9 cm.

In the eTCL console, the surface area and assembly time of the door can be estimated from the UrIII Equivalency list. The surface area of a door or rectangular wooden surface divided by the 4.44 sq. meters quota would give the assembly time from simple planks. For the door, a door took about 3/2 days to make and the daily quota was 2/3 door a day. An estimate of the door surface area can be made from the previous numbers. 2/3 of a door would be 4.44 sq. meters. A door would be [* [/ 3 2 ] 4.44 ] or 6.66 sq. meters. For comparison, a modern door was 2.12m by 0.83m or 1.76 sq. meters.

In the eTCL console, the assembly time of the door threshold can be estimated from the UrIII Equivalency list. The line is UTI 4 2867, fine wooden sacred home (temple?) threshold of height 1 ninda (6 meters) and width (unreadable) took 1.5 workdays at Umma. The height of the threshold continued up to the top of the mudbrick walls (usually 6 meters), rather than support mudbricks on top of a shorter threshold. While the threshold width was unreadable, the inner width can be estimated from the previous door of 6.66 sq. meters. The inner width of the threshold should be door area/threshold height, 6.66/6,1.1 or rounded 1 meter. The task of making a threshold would be squaring 2 timbers of 6 meters length and joining/lashing to a top lintel of 1.5 meters in 1.5 workdays. The sum of threshold timber length over the workdays would give a joined timber constant of (6+6+1.5)/1.5 or 9 meters of joined timber per workday. The inverse constant would be 1/9 or 0.111 workdays per meter of joined timber. This task can also be considered as workdays per wooden part, 1.5/3 or 0.5 workday per wooden part.

In the UrIII equivalency list, there are quotas for wide reed mats associated with ships as ma-40-gur and ma-60-gur. The allowance was 3 workdays for the wide kid mat in the ma-40-gur and 4.5 workdays for the wide kid mat in the ma-60-gur. These mats were believed to cover the parts of the deck to protect the bitumen chalking from melting in the sun and allow more secure footing. In the eTCL calculator, the gur rating of the barge is calculated and the workday quota for the ship mat is set in proportions from the reed mat on the ma-60-gur barge.

Workdays on barge mats formulas  edit

set ship_reed_mat_workdays [* $ship_cargo_gurs [/ 4.5 60. ]]

The equivalent mat area can be estimated from the standard reed mat. A standard serrim kid mat was 2*2 cubits or 1 square meter. The workday quota was 1.6 workdays for a serrim kid mat. Using proportions, the mat area for the ma-60-gur was (1*4.5)/1.6 or 2.81 square meters. The mat area for the ma-40-gur was (1*3.5)/1.6 or 2.18 square meters. Not absolute proof, but findings suggest that the ma-30-gur and ma-60-gur ships were 3 cubits or 1.5 meters across the beam, so a mat area of 2.81 sqm. would imply a mat length of 2.81/1.5, 1.87 m, rounding 2 meters. Suggest that the mat was 2 meters long and 1.5 meters wide across ship beam for the ma-60-gur ship. Could find no explicit statement on size of mat for the ma-30-gur. The ma-20-gur and ma-40-gur were 3 day tasks with area of 2.18 sqm, so probably the mat length for the 20,30, and 40 raters was 2.18/1.5, 1.453, rounding 1.5 meters for a square mat.

There are some inferences about plank size. The overseers reports generally give the two sets of ada stern planks and ada bow planks as 8 each for the 120, 60, and 30 gur ships and 4 each for the 10 gur ship. For the 30 gur ship in testcase 1, the barge width was 3 cubits and depth was 1.5 cubits. The length of the stern plank was possibly 3 cubits. In the UrIII equivalency list crab apple wood was sold in lengths of 3 cubits or 2 cubits, so planks of 3 cubits length appeared to be a standard size. However, other texts referred to the stern and bow planks as made of Lebanon cedar. The width of stern planks was possibly [/ 1.5 8], decimal 0.1875 cubit, or about 12/60 cubit. The smaller length unit was 30 fingers in a cubit, so the plank width was about [/ [* 12 30 ]60], 6 fingers, converting to 9 cm. Since the text in testcase 1 was generally sound, the stern and bow planks for this class were probably cedar planks of 3 by (12/60) cubits, 1.5 by .09 meters.

The 30 gur barge had two sides of 11.2 by 0.7 meter to be completed with 21 planks. No text available on complete dimensions of the side planks or how the siding was stacked on each side. Another text mentioned the "us" side planks as long as 4 meters or 8 cubits on a 60 gur ship. Making assumptions, each side on the 30 gur barge could have [int [/ 21 2] or 10 planks. If 2+1/2 sets of 4 planks at 4 meters length each were stacked 4 deep, that might fill one side for 10 meters length (capped on both ends by the stern and bow). The width of the plank might be 1.5*.4977/4=18.6 cm. Not really enough information to solve the problem without assumptions.

For the bottom side of the barge, the inventory shows 8 planks which must be distributed across the barge length of 11.2 meters and the barge width of 3 meters. If the planks for the siding and bottom are the same width, it is possible to set up and solve two simultaneous equations. The solution for plank width was 18.66 cm. The bottom planks were probably 11.2 meters long and 18.66 cm width. (Note, this problem is one of few cases where the conversion 1 cubit = 0.4977 meters, as opposed to 1 cubit = 0.5 meter, does make a difference in accuracy.)

Setting simultaneous equations edit

Solving for "same plank width" on barge side and bottom
8* $width = 3*.4977                               ship bottom
4* $width = 1.5*.4977                             ship side
8* $width + 4* $width = 3*.4977 + 1.5*.4977       add equations
12* $width = 2.2396                               solve for $width
$width = 2.2396/12 or 18.66 cm for plank width.   $width solution

Another text mentioned nig-ka (thing knee joints), which are believed to be "L" shaped pieces of wood for mounting a rectangular stern on a flat bottom. The assumption is that nig-ka knees means 90 degrees and a rectangular stern. 5 knees were placed on the stern of the 120 gur ship and 4 knees were placed on the 60 and 30 gur ship. Suggest that the 4 knees were placed regularly across the stern of the 60 gur ship. 4 knees would give three intervals of [/ 3cubit 3] or one cubit intervals. A knee could be made from the crab apple native to Sumer. To match the stern depth of 3 cubit, a knee would have to be 3 cubits on vertical side and probably at least 1 to 2 cubits on horizontal side or ship bottom. There is reference to a till cover plank that could fit across the top of the "L" shaped knees. The till cover plank would have to be the boat width, 1.5 meters for testcase 1.

From the inventory lists, the 30 gur ship had 4 knees for 3 intervals on the stern and the 120 gur ship had 5 knees for 4 intervals on the stern. Testcase 1 is from a reliable text and has 3 cubits across the stern. Assuming proportions and equal intervals for the knees, the stern width of the 120 gur ship would be [/ [* 3 4 ] 3], 4 cubits or 2 meters. It follows that the stern till cover plank on the 120 gur ship would be 4 cubits.

The inventory text mentioned ges umbin (wooden wheel claws). The "umbin" or "dubbin" related terms means curved and the root word was associated with wheels, lion claws, and furniture. The Nippur lexical lists describe beds with legs (umbin) of ox, a chair with ox feet (umbin gu-za), bed's foot(umbin nud), and table foot (umbin bansur).. At least for the Nippur furniture, the umbin is a wooden crosspiece that offers support to a vertical rising pole like a chair leg or bed leg. On a ship, support for a vertical rising pole would have needed at least four directions and probably a wooden nail through a borehole would fix the umbin part to the ship bottom or deck. One Sumerian seal shows a mast supported by three or four struts near the deck, and perhaps this was a version of the umbin part. The 10 gur ship cited 8 claws and the 120 gur ship cited 40 claws. The number of claws does increase with the the gur rating of the ship, though the increase is not always linear. Using reductio ad absurdum logic, the proportions 8/10 to x-claws/120 would give x-claws = 8*120/10 or 96 claws for a 120 gur ship. Since the inventory cited 40 claws for the 120 gur ship, the umbin claws are not always directly proportional to ship gur size. There was also a naval word list that associated umbin with rudders, ges umbin-zi-gan (Su.) = su-pur (Akk.). The Akkadian su-pur or suppu seems to mean cedar pole or cedar part, so not too helpful.

Continuing with the umbin claws, the umbin claws may have been used to mount the rudder post and the mast on the 10 gur ship, 4 claws for the rudder and 4 for the mast. The 10 gur ship had one rudder. The dubbin claw may have started as a quarter ring fitting to attach the mast to a ship floor or deck. The inner concave of the umbin would fit next to the post. the outer convex curl would add material and strength. 4 claws per post would have been sufficient for 4 directions, but the analysis does not rule out 5 or more claws for a very large mast. An oblique wooden peg would attach the umbin to the ship bottom and probably the post also. For comparison with recent objects, one occasionally sees street lamps mounted with rings or ornamental curls which look somewhat like a knuckle or claw. The Empire furniture of the 1820 era had curved lion feet on some tables and chairs ( also seen on Sumerian seals). The umbin claws might be a partial mast step in modern nautical terms.

The inventory lists 20 umbin claws for the 60 gur ship and 40 umbin claws for the 120 gur ship. Now, direct proportions to the gur size gave the cited claws on the 120 gur ship, [/ 20 60] == [/ 40 120]. Both the 60 and 120 gur ship had 2 rudders and at least one mast, which would account for [* 3 4], 12 umbin claws. Subtracting 12 from both ship totals, the 60 gur ship has [- 20 12], 8 remaining claws and the 120 gur has [- 40 12], 28 remaining claws. If the relationship of one post per four claws (1/4) is accepted, then the 60 gur ship has [/ 8 4], 2 extra mounted posts where the 120 has [int [/ 28 4], 7 extra mounted posts. Possibly the 60 gur ship had a mooring post on the stern and bow.

For the 60 gur ship and 120 gur ship, the inventory lists the following parts with parenthetical numbers: wooden me-dim (literally, limb/arm post) sheerstrake? gunwale? (2), wooden ma-gu (ship backbone poles) stretcher? keelson? (8), wooden ma-mas mas=boundary_post? sail_mooring _post? guardrail (8). The following inferences used some assumptions, though there are some seals, panel carvings, and pottery paintings that show some features. The rectangular sail was hung down from a single spar or yardarm. Ropes or forestays went from the bottom of the sail to the rear of the ship and were probably tied to the rear mooring post or stanchions on the till platform. The Failaka seal indicated the sail height was 7 loom widths or 7*1.2, 8.4 meters high, and did not extend much beyond the beamwidth of the ship. For the ma60gur example, the sail would be probably be about 8.4 by 1.5 meters, 12.6 sqm. This single spar rigging is essentially the same as the Homeric ship (Greece, 600 BCE) and there is little evidence of sail hung from 2 yards ( yardarm and boom) until Ramses II ( Egypt, 1225 BCE). A long heavy guy rope was hung between the top of the mast and two mooring posts at the stern and bow. Other mooring guy ropes went from the top of the mast to mooring posts (ma-mas) mounted on the side. It is probable that some of the mooring posts were used as secondary anchor spots, when the ship was beached to keep the ship from rolling over in the surf. It is probable that some of the mooring posts were used as guardrails with fencing rope or reed barricades for the cargo and passengers. It is possible that one or two mooring posts placed near the longitudinal axis ( aft of the sail) and were connected to the ends of the sail lower boom to partly control the alignment of the sail. Since there is a one to one correspondence of ship keelsons to ship mooring posts, it is possible that the keelson stretchers were directly pegged or lashed to the mooring posts near the bottom of the ship. The ma-mas mooring posts only show up when tug sails are mentioned in the ship inventory, though perhaps not enough inventory samples to infer much.

There has been difficulty in determining mast timbers in the ship inventory lists, if the listed ships are sailboats. In the Penn. Online dictionary, there are a number of cuneiform terms for mast or sailing mast, Su. dim-gal, variants dim-gul, di-im-gu-ul, and targul, as well as Akk. aku, mahrasu, and markasu.. The Sumerian term "dim" can mean any post or pole, but the most probable term for sailing mast should be dimgal ( pole great). In other texts, tug-dim-gal means sail on a mast. Another term Su. targul or Akk. tarkullu was used for mooring posts or masts. In the inventory lists the best candidate words for mast timbers are 2 me-dim (limb post) parts and 2 ad-kul (timber thick) parts. There is iconography from Egypt showing early use of dual pole mast or yoked bipod mast, so a sail between two vertical masts can not be discounted.

The inventory lists weights of tug cloth for the different classes of ship and eTCL calculations can give some bounds on weaver workdays, surface area, and weight per surface area of the tug cloth. The classes of ships are given with the weight of cloth in kilograms: ma10gur(59.7), ma30gur(94.est), ma60gur(179.2), and ma120gur(358.3). While not sure if tug cloth is for sails, awnings, or cargo tarp, preliminary estimates of the tug cloth can be made from the Sumerian coefficients and the Equivalency list. The fabric and fiber is unknown, but suggest a vegetable fiber is most likely from the (better known) straw weaver coefficients. In modern units, the coefficient for woven barley straw was 3.55 sqm per workday, equivalent fabric density 560 gm/sqm, and 1.98 kilograms cloth per workday. The fabric density would be equivalent to a (modern) double weight cotton duck. For the ma60gur example, the surface area would be 179.2/.560 or 320 sqm. The fabric would be equivalent to 179.2/1.98, 90.5 weaver workdays. These tug cloth formulas could be added to the eTCL calculator report.

The 30-gur ship inventory has the number and length of bottom beams, side planks, and stern/bow planks. A tentative budget of clamps, wooden nails, and rope fashioners can be estimated for the inner seams, floor beams, siding planks etc. From the inventory lists, the 30 gur ship used 1500 wooden nails, 90 wooden me-ri-sa clamps, and 100+N3 wooden emi-sig planks. The ma-ri-sa (wood pole? lean-on? rib? crossbar? sinew?) is either treated as a batten, crossbar, cross furrow (agri.), or clamp in the literature. The emi-sig (narrow tongue) are treated as battens, cross bars, dovetails, or rectangular pegs in the literature. The emi-sig battens are listed 3 times, first listing with 100 units. The second and third emi-sig listings have no obvious numbers, but may be implied dittos on the next higher item on the list. Possibly, a me-ri-sa clamp looks like square bracket "]" or a square "U" and was laid perpendicular to the joins, inner seams, or long stringers. Possibly, the emi-sig tongue looks like a dovetail ">=<"or opposing fishtails with a nail on each end. Some believe the dovetails were a second and later development in building boats and that the early emi-sig parts refer to narrow battens. The emi-sig parts were laid perpendicular to the inner seam and siding planks. In one vocabulary list, the term emi-sig is listed with the pannum (Su.) or parsiktu (Akk.) crates, so emi-sig battens may be common woodworkers joinery. The understanding is that the me-ri-sa clamp and emi-sig battens were rigid in two dimensions, length and beam. Possibly the wooden nails were driven obliquely into boreholes for the dovetails and seam joins for the third vertical dimension.

The me-ri-sa clamps and emi-seg tongue were averaged over both the total inner seams of the barge and the inner seams of the barge bottom for some trial estimates of possible distribution over the barge seams. For the ma-60-gur, the total length of the inner seams of the bottom, 2 sides, stern, and bow was estimated as 250 meters. The length of inner seams figures as 11*9+7*3+7*3+7*11+11.2*2+2*1.5 , 243 meters and rounding up to 250 meters. 250/100 gives one emi sig tongue about every 2.5 meters. 250/90 gives one me-ri-sa clamp about every 2.7 meters of inner seam. The ship bottom had rounded 100 meters of inner seam, placing all emi sig tongues on the ship bottom would average about [/ 90 100] or 0.9 eme-sig tongue per meter of bottom seam. Placing all me-ri-sa clamps on the ship bottom would give [/ 100 100] or 1 me-ri-sa clamp per meter of bottom seam. The impression is that the me-ri-sa clamps were used mainly on the beams and long stringers along the ship lower interior, but this simple analysis can only compute an average distribution.

For the footwood planks, the length of the ship divided by the number of footwood planks should equal the width of the plank. The inventory ships are listed with the footwood in parenthesis, ma-10-gur (35), ma-30-gur (70), ma-60-gur (150), ma-120-gur(75). The 150 footword for the ma-60-gur was 1200 averaged over 8 ships, [/ 120 8 ]. The suggestion is that the footwood did not cover the whole bottom of the ma-120-gur ship. For the ma-30-gur ship, the formula is [/ 11.2 70 ], 0.16 meters, or 16 centimeters. With the Girsu sluice limit at 11.4 meters as an upper bound [/ 11.4 70] or 16.2 cm, there is some confidence that the foot wood plank was about 16 centimeters width, for the ma-30-gur.

The analysis can can start a budget or accounting for wooden kak nails, rope, and reed fasterners. If there are two wooden nails per tongue dovetail clamps, the nail budget starts with 2*100 nails: dovetails(200)+other(1300) = 1500 nails. For 250 meters of inner seam, the inner seam might account for 3 oblique nails per meter, 3*250, or 750 nails. dovetails(200)+ inner seam(660)+ other(420) = 1500 nails. There may be about 30 tongue dovetails or nail attachments that were not specified for the bow/stern knees, which would account for an additional 60 nails. Following similar logic, the analysis came up with dovetails(200)+ inner seam(750)+ bow/stern(60)+70 foot wood (140) + stringers and corners (330) +benches(20) = 1500 nails. A number of ship fixtures were probably lashed together with 20 bundles or equivalent 40 kilograms of halfa grass rope. Additional lashings may have been provided with 30 bundles or equivalent 60 kilograms of reed, although reed for lashing is difficult to distinguish from reed for matting at this point. At least 600 meters length of rope would be needed for ship fixtures, but difficult to understand the referenced rope and lashing amounts in the text.

A glance at the Nippur lexical lists and the Naval volcabulary list show that many words used in the UrIII texts are available, but some words like me-dim (middle [timber] post ) and ma-sa-ha (sailboat) are not obvious in the extant Nippur wordlists. The analysis is trying to resolve some of the URIII terminology from some later resources: Akkadian, Egyptian, Greek, etc. A tow boat was towed by men and ropes and was called a Su. ma-gid-da or Akk. sad-da-[tum] from Su. gid (is dragged). A sailboat was called Su. ma-sag-ha, ma-sa-ha, ma-da, and Akk. sahhitum from Akk. saharum (is turned). From a paraphrased Odyssey. xv 289, The crew of Ulysses raised the fir mast and set the mast inside the hollow of the middle timbers (Gr. mesodme) and lashed the mast to the partner poles (Gr. parastatae). Maybe false cognates, but the Su. me-dim (UrIII) and Homeric Greek mesodme and related mesodyme look very similar phonetics. According to Greek and later transferred to Latin, parastatae are two standing posts or stanchions that support the mast. The term Su. sig is associated with inlays of gold and ivory on furniture in the Nippur lexical lists, so the use of "eme sig" as external inlay piece or dovetail has been supported. The Su. term ad-kul may be equivalent to ada-gul (great bow cover or bow reinforcement plank). The two ad-kul planks may have been offset or staggered to support the bow mooring post, with a notch or hole in the upper ad-kul plank to contain the bow mooring post.

Some of the tasks for building a wooden barge can be added together for a trial work budget for ship of 60 gur capacity. There are also some texts with inventories of boat parts, daily quotas of reed mats for ships, quotas for plastering bitumen, and quotas for general wood working. The total workdays on a Sumerian barge is reported to be 15 workdays per gur capacity. The total workdays for the ma-60-gur would be [* 60. 15] or 900 total workdays. The trial calculations were based on a barge of L/B/D/T 11.2/1.8/1.2/2.8 meters. The external area of the barge was estimated to be 56.4 sq. meters. Inside the ship walls, the deck area was estimated to be 20.16 sq. meters. The inventory indicated 3600 wooden pegs and [+ 8 4 3 2 150 150 138 26 20 8 8 8] or 525 wooden parts for a ma-60-gur. For a chair or small table the daily quota for the woodworker was 1 item per day. If the 525 wooden parts averaged the complexity of chair or small table and were rated as 1 ship wooden part per day, the tally was a trial 525 days for making wooden parts. Suppose work quota for assembly was 20 pegs a day, 3600/20=180 days for pegging and assembly. The time spent on the stern till or cabin was estimated as 25 workdays. The caulking was estimated as 25 workdays. The deck mat was estimated as 5 workdays. The time spent sealing was [/ 40.5 3] or 13.5 workdays. The rigging including steering oars on the till, mast, optional sail was estimated as 25 workdays. Wooden parts(525)+pegging_assembly(180)+stern_till(25)+deck_mat(5)+caulking(30)+sealing(13.5)+rigging(25)+supervision(100) combined as [int [+ 525 180 25 5 30 13.5 25 100 ]], 903 workdays.

The number of men at the shipyard component of the mar-sa can be estimated partly from the overseer's inventory reports, with some measure of error. The term mar-sa (lit. lock up and payout) is called a shipyard in some papers and the analysis here, but in modern terms, the mar-sa combined functions of a military depot, rest house, barge transfer point, and military prison camp. At one mar-sa offering for a ruined ship, the offering in round numbers included 2100 liters of beer and 1200 liters of barley which probably was distributed to the work crews after the ceremony. The offering also included 5 fattened goats, 1 sheep, and one ox. For other texts, almost every worker would receive 2 liters of beer and the distribution of barley was 2 barley liters to average class workers and 1 barley liter to less productive workers (mostly aged workers and prisoners). From the beer distribution, the workforce would be 2100/2 or 1050 workers. For the grain estimate, suggest a simple average of mixed average and low workers as (1200/2 +1200/1)/2 or 900 workers. Normally, the overseers or high status workers received a quarter sheep or equivalent, which was usually divided out at meals or leftovers into hot soup. The sheep and goats would account for 6*4 quarters or 24 overseers and possibly the ox would account for 20 overseers, which would give a total of 44 overseers. On one occasion, the shipyard turned in a receipt for 1040 hired men for one day to gather reeds for ship building and ship mats. However, the normal supervision ratios of one overseer for 20 (hardcase) hired workers would require 1040/20 or 52 overseers for reed collection. Hence, the shipyard could muster 50 overseers for a round number and support supervision of 1040 workers. The veteran workers and craftsmen at the shipyard would have been easier to supervise and probably could be placed in teams of 30 to 40 workers. One inventory text implied that eight ma60gur ships were being constructed at the same time and infers at least 8 teams of 30-40 veteran workers. Each ma60gur ship took about 900 workdays according to the inventory records and proportions of 15 workdays per gur capacity. A team of 30-40 workers could probably finish a ma60gur over a range of 900/40 and 900/30 from 23 to 30 days. The shipyard component probably had 50 overseers, 8*40 or 240 workers of craftsman status, and probably could draw on a pool of 360 workers of average status and 400 workers of low status.

For testcase 1, a math problem has a freight barge with L/B/D of 22.5/3/1.5 cubits or 11.198/1.493/0.746 meters. The rated capacity was 30 gur. The eTCL calculator returned a hull volume of 42 gurs or 12.5 cubic meters. Hard to account for overage, but estimates of stern till length to overall barge length were 1/4. If the till was 1/4 barge length and the cargo section was 3/4 barge length, then the cargo volume reduced accordingly to 32 gurs.(Englund,IM 90465, from Ur)

For testcase 2, a freight barge was reported with L/B/D of 12/8/6 cubits or converting to 5.972/3.987/2.986 meters. The rated capacity was 4 sar volume or 240 gurs volume. The eTCL calculator returned a hull volume of 237 gurs or 70.8 cubic meters.(Sachs 1944: 29–39)

For testcase 3, additional scaling formulas were tested for a ship of 60 gurs capacity. Primarily, the eTCL calculator figures the gur capacity from the dimensions of Length/Beam/Depth/Till and scales possible inventory in reference to a 60 gur ship. Testcase 3 used dimensions L/B/D/T of 11.2/1.5/1.4221/2.8 meters for a 60 gur capacity. In the inventory reports from UrIII there were some ship parts that scaled well with the gur capacity of the ship, bitumen sealant products, siding planks, lower rib planks, wooden pegs. There were other parts that had different levels of stock that were dependent on the class of the ship: nig-ka knees, ara stern planks, ada bow planks, benches. Some items may be optional or not apply to one barge design in a text. For examples, some small barges did not have stern tills or at least, stern tills were not mentioned in the text. For another example, fish_oil_sealant and butter_oil_sealant would probably not be applied at the same time. Not all ships had sails. In other words, zero level for an inventory item is possible in this calculator. The order of the overseers report is generally the order of the UrIII overseers reports, 1) bitumen amounts are large before small quantity, 2) wood parts are large before little parts, 3) punting poles, oars, or sail, 4) total manhours, 5) purchaser or official order for ship, 6) name and seal of overseer.

Lets look at how the eTCL calculator might be used on a clay tablet . A later era, Neo-Sumerian tablet BCT2-131 reports a 150 gur ship used 230 talents of dry bitumen, 70 talents of crushed bitumen, and 2 gur 150 sila of refined bitumen. The 150 gur ship from the Neo-Sumerian era is not familiar and the 150 gur capacity was not obvious in the Umma texts, Naval vocabulary text, or the Nippur lexical lists. No ship dimensions were given, but the 150 gur capacity can be extrapolated from the 60 gur rating. Load up L/B/D 11.2/1.5/1.4221 meters from testcase 3, push solve, and the 60 gur capacity should be returned. In the analysis, the 120 gur ship used 5 bow knees for a bow with of 2 meters and this would be a starting 2 meter bow width for the 150 ship beam. Gaming (increasing) the depth to 2.66 meters, the calculator arrives at a 150 gur capacity that used 6701 kg of dry pitch or converting 224 gu of dry pitch. Even though one is not exactly sure of the length or beam of the 150 gur ship, one can get an estimate of the resources involved.

For comparison with the Sumerian barges, the remaining testcases used some brochure material on modern European barges. The gross tonnage formula is from the 1969 International Convention under Admiralty Law, however not certain that all canal barges follow this formula. In the first testcase, the Sumerian rating was 30 gurs and the eTCL returned 31.36 gurs or 9.36 cubic meters for the cargo hold. The error for the Sumerian barge was 1-low_ball/high_ball, 1-30/31.36, 4.3 percent high. For the Canal du Norge barge, the average cargo hold was 880 cubic meters from brochure and the eTCL calculator returned 828 c.m. The error was 1-low_ball/high_ball, 1-828/880, 5.9 percent low. For the big Rhine barge, the average cargo hold was 2708 cubic meters from brochure and the eTCL calculator returned 2539 c.m. The error was 1-low_ball/high_ball, 1-2539/2708, 6.2 percent low. Based on wooden barges and rules of thumb, the eTCL calculator is averaging about +-6 percent error on the tested barges.

Pseudocode Section

    pseudocode can be developed from rules of thumb
    pseudocode: enter ship length,ship beam,ship depth in meters
    pseudocode: set ship_length_beam_ratio = [/ $ship_length $ship_beam ] 
    pseudocode: hull volume equals [* L B D ] in cubic meters
    pseudocode: hull volume equals [* L(rods) B(rods) D(cubits) ] in sars volume units
    pseudocode: hull volume in gurs equals hull volume(in sars) * 60 gurs/sar 
    generic stern till length = [* ship length  0.25 ], rule of thumb
    generic cargo hold length = [* ship length  0.75 ], rule of thumb
    tonnage rating = (0.2+0.02*log(L*B*D))*L*B*D, metric tons from some modern shipping regulations
    cargo = 3/5 * modern tonnage rating, rule of thumb
    hull & equipment = 2/5 * modern tonnage rating], rule of thumb
    displacement = (5/3) * cargo , rule of thumb
    pseudocode: rules of thumb can be 3 to 15 percent off, partly since g..in g..out.
    pseudocode: need test cases > small,medium, giant
    pseudocode: need testcases within range of expected calculator operation.
    pseudocode: are there any cases too small or large to be solved? 
    pseudocode: Could this be problem similar to placing grains on chessboard?
    pseudocode: Could this be problem similar to putting oil barrels on deck of ship? 

Table. Rating ship mats edit

Rating ship mats printed in tcl wiki format
Sumerian ship class weaver workdays area sqm meters length est. meters width est. kg weight
ma120gur 4. 2.5 1.25? 2. 5.
ma60gur 4.5 2.81 2 1.5 5.62
ma40gur 3. 2.18 1.5 1.5 3.75
ma30gur 3 est. 2.18 1.5 1.5 3.75
ma20gur 3 .18 1.5 1.5 3.75
ma12gur 1.6 1. 1.? 1.? 2.
ma8gur 2. 1.3 1.1? 1.1? 2.5
standard kid mat 1.6 1. 1. 1. 2.


Testcases Section

In planning any software, it is advisable to gather a number of testcases to check the results of the program. The math for the testcases can be checked by pasting statements in the TCL console. Aside from the TCL calculator display, when one presses the report button on the calculator, one will have console show access to the capacity functions (subroutines).

Testcase 1

barge from Englund,IM 90465 tablet from Urprinted in tcl wiki format
quantity units value, comment, if any
testcase number: 1
ship length meters:meters 11.198
ship beam meters:meters 1.493
ship depth meters: meters0.747
ship length /beam ratio: ratio7.5
ship hull volume: gurs 41.821
ship hull volume: cubic meters12.488
cargo rating gurs: gurs31.366
cargo cubic meters: cubic meters9.366
generic stern till length meters: meters2.79
generic cargo section length meters: meters8.39
modern tonnage formula tons: metric tons3.128


Testcase 2

barge from Sachs 1944: 29–39printed in tcl wiki format
quantity units value, comment, if any
testcase number: 2
ship length meters:meters 5.97
ship beam meters:meters 3.98
ship depth meters: meters2.98
ship length /beam ratio: ratio1.5
ship hull volume: gurs237.112
ship hull volume: cubic meters70.806
cargo rating gurs: gurs177.834
cargo cubic meters: cubic meters53.104
generic stern till length meters: meters1.4925
generic cargo section length meters: meters4.4775
modern tonnage formula tons: metric tons20.193


Testcase 3

Proportions based on Sumerian wooden barge of 60 gurs. Some items may be optional or not apply to any one barge design in the text.
test of additional outputs for barge construction printed in tcl wiki format
quantity value comment, if any
testcase number: 3
ship length meters:meters 11.2
ship beam meters:meters 1.5
ship depth meters: meters1.4221
ship length /beam ratio: ratio7.466
ship deck area: sq meters16.799
ship external surface area, includes generic stern till: sq meters 57.121
ship hull volume: gurs80.00562587904359
ship hull volume: cubic meters23.891
cargo rating gurs: gurs60.004
cargo cubic meters: cubic meters17.918
generic stern till length meters: meters2.8
generic stern till area sq. meters: meters4.199
generic cargo section length meters: meters12.599
generic cargo section area sq. meters: meters8.399
modern tonnage formula tons: tons6.2946420107879675
butter oil sealant, waterproofing formula, 30 liter/60 gurs: liters 30
workdays for ship reed mat formula, 4.5 days /60 gurs: workdays 4.500
inner seam join formula meters, 500 meters/60 gurs: meters inner seam 500

Barge Construction Report from Overseer Noah Flood  edit

dry_bitumen_caulking formula, 2689 kg/60 gurs: kilograms 2687
crushed_bitumen_caulking formula, 1493 kg/60 gurs: kilograms 1493
esir-apin plow bitumen formula, 120 kg/60 gurs: kg 120
bitumen_oil_sealant formula, 290 liter/60 gurs: liters 290
fish oil sealant, waterproofing formula, 30 liter/60 gurs: liters 30
wooden part eme-sig , lower ribs formula, 138 parts/60 gurs: eme-sig lower ribs 138
wooden part me-re-za, floor plank reinforcers formula, 150 parts/60 gurs: me-re-za floor planks 150
wooden part ger-ma foot planks formula, 150 parts/60 gurs: ger-ma foot plants 150
wooden us-a outside hull planks formula, 27 parts/60 gurs: us-a hull planks 27
wooden ada bow planks formula, 8 parts/60 gurs: ada bow plants 8.
wooden ara stern planks formula, 8 parts/60 gurs: ara stern planks 8.
tu-gul stern cover, prob. ships > 34, formula 1-yes 0-no, 1 parts/60 gurs: stern cover 1.
wooden hum benches sheerstrake? formula, 6 parts/60 gurs: hum benches 6
wooden me-dim sheerstrake? gunwale? formula, 2 parts/60 gurs: me-dims parts 2.
wooden ma-gu (ship backbone poles?) strecher? keelson? formula, 8 parts/60 gurs: ma-gu spars 8.
wooden ma-mas mas=boundary_post? sail_mooring _post? guardrail? formula,prob. for ships > 20 gurs, 8 parts/60 gurs: ma-mas parts 8.
wooden nig-ka knees formula, 4 parts/60 gurs: nig-ka knees 4.
wooden eme-sig ditto?, assoc. with above knees? : eme-sig ditto ditto? with above?
wooden umbin claws formula, 20 parts/60 gurs: umbin claws 20
wooden eme-sig ditto?, assoc. with above umbin claws?: eme-sig ditto? with above?
wooden rudder, formula 0-no, 2 parts/60 gurs: zi-gin rudder 2.
wooden installed ad-kul (timber thick) rudder _pivot_pole? formula,prob. for ships > 20 gur, 2 parts/60 gurs: ad-kul part 2.
wooden punting poles formula, 8 parts/60 gurs: punting poles 8
wooden oars or steering oars formula, for ships < 20 gur, 1 parts/1 gurs: oars 10.
wooden hu-dub-sa & u-sub-a formula, round hut? crowsnest? & planks?, prob. ships > 25 gur, formula 1-yes 0-no hu cabin unspecified
gi-ma-da-la raft hold-near bind reeds (fasteners? mats?) formula, 120 kg/60 gurs: equiv. kg reeds 120
u-numun halfa grass for rope formula, 80 kg/60 gurs: equiv. kg rope 80
wooden construction pegs formula, 3600 pegs/60 gurs: pegs 3600
wooden foot wood planks (gantry? deck?) formula, 150 parts/60 gurs: foot planks 150
kilograms tug cloth sail formula, 180kg/60 gurs: kgs sail 180
construction workdays formula, 15 workdays/gur: workdays 900
finished, received by Lugal (prince) Adonai
Lugal Adonai his seal
sailors were Lugal (captain/1st mate?) Ku, Saka, Lu-su, & Ur-Nun their names or seals
month Nissan , year of great rain and floods in Lagash


Testcase 4

Canal du Nord barge (French) printed in tcl wiki format
quantity value comment, if any
testcase number: 2
ship length meters:meters 60
ship beam meters:meters 5.75
ship depth meters: meters3.2
ship length /beam ratio: ratio10.434
ship hull volume: gurs3697.006
ship hull volume: cubic meters1104.0
cargo rating gurs: gurs2772.754
cargo cubic meters: cubic meters828.0
generic stern till length meters: meters15.0
generic cargo section length meters: meters45.0
modern tonnage formula tons: tons375.507
average tonnage from brochure : tonnes 800
average hold size from brochure : cubic meters 880
hold size prediction, percent error , 1-low_ball/high_ball: percent error 5.9% low


Testcase 4

D.E.K. Dortmund-Ems-Canal classprinted in tcl wiki format
quantity value comment, if any
testcase number: 4
ship length meters:meters 80
ship beam meters:meters 8.2
ship depth meters: meters2.5
ship length /beam ratio: ratio9.756
ship hull volume: gurs5354.631
ship hull volume: cubic meters1640.0
cargo rating gurs: gurs4118.947
cargo cubic meters: cubic meters1229.99
generic stern till length meters: meters20.0
generic cargo section length meters: meters60.0
modern tonnage formula tons: tons570.800
average tonnage from brochure : tonnes 968
average hold size from brochure : cubic meters 1413


Testcase 5

New type Kempenaar-Campinois canal (class)printed in tcl wiki format
quantity value comment, if any
testcase number: 6
ship length meters:meters 55.
ship beam meters:meters 7.2
ship depth meters: meters2.5
ship length /beam ratio: ratio7.638
ship hull volume: gurs3315.250
ship hull volume: cubic meters990.0
cargo rating gurs: gurs2486.437
cargo cubic meters: cubic meters742.5
generic stern till length meters: meters13.75
generic cargo section length meters: meters41.25
modern tonnage formula tons: tons334.574
average tonnage from brochure : tonnes 683
average hold size from brochure : cubic meters 950


Testcase 6

Spits-Péniche, French canalsprinted in tcl wiki format
quantity value comment, if any
testcase number: 1
ship length meters:meters 38.7
ship beam meters:meters 5.05
ship depth meters: meters2.2
ship length /beam ratio: ratio7.663
ship hull volume: gurs1439.813
ship hull volume: cubic meters429.957
cargo rating gurs: gurs1079.859
cargo cubic meters: cubic meters322.467
generic stern till length meters: meters9.675
generic cargo section length meters: meters29.025
modern tonnage formula tons: tons138.133
average tonnage from brochure: tonnes 364
average hold size from brochure: cubic meters 433


Testcase 7

large Rhine barge printed in tcl wiki format
quantity value comment, if any
testcase number: 4
ship length meters:meters 85.
ship beam meters:meters 9.5
ship depth meters: meters2.5
ship length /beam ratio: ratio8.947
ship hull volume: gurs6760.263
ship hull volume: cubic meters2018.75
cargo rating gurs: gurs5070.197
cargo cubic meters: cubic meters1514.062
generic stern till length meters: meters21.25
generic cargo section length meters: meters63.75
modern tonnage formula tons: tons711.013
average tonnage from brochure : tonnes 2160
average hold size from brochure : cubic meters 2708
hold size prediction, percent error , 1-low_ball/high_ball: percent error 6.2 % low


Screenshots Section

figure 1.

figure 2.

figure 3.

figure 4.

figure 5.

figure 6.

figure 7.

figure 8.

figure 9.

figure 10.


References:

  • Ask Doctor Math, Dr. Greenie, 01/23/2001, Circle packing
  • BU!, Robert K. Englund, UCLA, really good paper on tow barges and words for towing.
  • Sumerian Circular Segment Coefficients and Calculator Demo Example
  • Tonnage of Ancient Sumerian Ships and Slot Calculator Demo Example
  • Ships and shipbuilding in mesopotania, masters thesis by Tommi Tapani Makela, May 2002
  • Phoenician ships and trade routes,masters thesis by anne marie smith,nov2012
  • The Pennsylvania Sumerian Dictionary [1]
  • via CDLI, Girsu tablet, MVN 02, 003
  • Greek ship [2]
  • Greek ship paper[3]
  • account of Homeric ship [4]
  • Canadian Transport Publication,ship tonnage [5]
  • Builder's Old Measurement, Wikipedia[6]
  • Tonnage Measurement of Ships,Steamship Mutual[7]
  • Ancient Greek Trireme [8][9]
  • William Falconer's Dictionary of the Marine[10]
  • Thames Yacht Tonnage, 1855, Royal Thames Yacht Club,[11]
  • Basic Ship Theory,Rawson and Tupper[12]
  • Liberty Ship[13]
  • Cargo Ship, Liberty Ship in non metric units[14]
  • Software for Circle_packing [15]
  • Circle_packing in a Square [16]
  • Circle_packing [17]
  • Nautica Babylonica" (1942) A. Salonen

Appendix Code edit

Graphics TCL program

        # pretty print from autoindent and ased editor
        # Sumerian barge cargo volume calculator
        # written on Windows XP on eTCL
        # working under TCL version 8.5.6 and eTCL 1.0.1
        # gold on TCL WIKI, 15may2014
        package require Tk
        namespace path {::tcl::mathop ::tcl::mathfunc}
        frame .frame -relief flat -bg aquamarine4
        pack .frame -side top -fill y -anchor center
        set names {{} {ship length meters:} }
        lappend names {ship beam meters:}
        lappend names {ship depth meters: }
        lappend names {answers: length/beam ratio:}
        lappend names {ship hull volume gurs:}
        lappend names {ship hull volume cubic meters: }
        lappend names {ship cargo volume gurs: }
        lappend names {ship cargo volume cubic meters: }
        foreach i {1 2 3 4 5 6 7 8} {
            label .frame.label$i -text [lindex $names $i] -anchor e
            entry .frame.entry$i -width 35 -textvariable side$i
            grid .frame.label$i .frame.entry$i -sticky ew -pady 2 -padx 1 }
        proc about {} {
            set msg "Calculator for Sumerian Barge & Cargo
            Volume from TCL WIKI,
            written on eTCL "
            tk_messageBox -title "About" -message $msg }
        proc tonnage_formula { l  b  d } {
            set t1 [ expr { 1.*$l*$b*$d } ]
            set modern_tonnage [ expr { (0.2+0.02*log($t1))*($t1)}]
            return $modern_tonnage
            }
        proc volume_sars { l  b  d } {
            set l [/ $l 6 ]
            set b [/ $b 6 ]
            set d [/ $d .4977]
            set gurs [* 1. $l $b $d ] 
            return $gurs
            }
       proc external_area { L B D T } {
            set external_area [+ [* $L $B ] [* 2. $B $D ] [* 2. $L $D ] [* $B $T ] ] 
            return $external_area 
        }
       proc calculate {     } {
            global answer2
            global side1 side2 side3 side4 side5
            global side6 side7 side8 modern_tonnage
            global generic_till_length deck_area
            global cargo_section_length workdays
            global fish_oil_sealant dry_bitumen_caulking
            global crushed_bitumen_caulking
            global bitumen_oil_sealant
            global butter_oil_sealant
            global construction_pegs
            global ship_reed_mat_workdays 
            global external_sur_area 
            global generic_till_area generic_cargo_area
            global plank1 plank2 plank3 plank4 plank5
            global plank6 plank6 plank7 plank8 plank9
            global plank10 plank11 plank12 plank14
            global plank15 plank16 plank17 plank18
            global plank19 plank20 plank21 plank22
            global plank23 plank24 plank25 plank26
            global plank27 plank28 plank29 plank30
            global testcase_number
        incr testcase_number 
        set ship_length [* $side1 1. ]
        set ship_beam   [* $side2 1. ]
        set ship_depth  [* $side3 1. ]
        set ship_till   [* $side4 1. ]
        set length_beam_ratio [/  $ship_length  $ship_beam ]
        set deck_area [*  $ship_length  $ship_beam ]
        set ship_volume  [* $ship_length $ship_beam $ship_depth ] 
        set ship_volume_sars [ volume_sars $ship_length $ship_beam $ship_depth ] 
        set ship_volume_gurs [* $ship_volume_sars 60. ]
        set generic_till_length [* $ship_length 0.25 ]
        set generic_till_area [* $generic_till_length $ship_beam ]
        set cargo_section_length [* $ship_length 0.75 ]
        set generic_cargo_area [* $cargo_section_length $ship_beam ]
        set external_sur_area [ external_area $ship_length $ship_beam $ship_depth $generic_till_length ] 
        set ship_cargo_sars [ volume_sars  $cargo_section_length $ship_beam $ship_depth ]
        set ship_cargo_gurs [* $ship_cargo_sars 60. ] 
        set ship_cargo_cubic [* $cargo_section_length $ship_beam $ship_depth ] 
        set modern_tonnage [ tonnage_formula $ship_length $ship_beam $ship_depth ] 
        set side4 $length_beam_ratio
        set workdays [int [* $ship_cargo_gurs 15. ]]
        set butter_oil_sealant [int [* $ship_cargo_gurs [/ 30. 60. ]]]
        set fish_oil_sealant [int [* $ship_cargo_gurs [/ 30. 60. ]]]
        set dry_bitumen_caulking [int [* $ship_cargo_gurs [/ 2687. 60. ]]]   
        set crushed_bitumen_caulking [int [* $ship_cargo_gurs [/ 1493. 60. ]]]
        set bitumen_oil_sealant [int [* $ship_cargo_gurs [/ 290. 60. ]]]
        set ship_reed_mat_workdays [* $ship_cargo_gurs [/ 4.5 60. ]]
        set construction_pegs [int [* $ship_cargo_gurs [/ 3600. 60. ]]]
        set plank1 [int [* $ship_cargo_gurs [/ 138. 60. ]]]
        set plank2 [int [* $ship_cargo_gurs [/ 150. 60. ]]]
        set plank3 [int [* $ship_cargo_gurs [/ 150. 60. ]]]
        set plank4 [int [* $ship_cargo_gurs [/ 27. 60. ]]]
        if { $ship_cargo_gurs >= 60. } {
         set plank5 8.  }
        if { $ship_cargo_gurs < 60. } {
         set plank5 6.  }
        if { $ship_cargo_gurs >= 60. } {
         set plank6 8.  }
        if { $ship_cargo_gurs < 60. } {
         set plank6 6.  }
        set plank7 [int [* $ship_cargo_gurs [/ 6. 60. ]]]
        set plank8 [int [* $ship_cargo_gurs [/ 8. 60. ]]]
        set plank9 [int [* $ship_cargo_gurs [/ 180. 60. ]]]
        if { $ship_cargo_gurs <= 22. } {
         set plank10 0. }
        set plank10 [int [* $ship_cargo_gurs [/ 10. 10. ]]]
        if { $ship_cargo_gurs >= 20. } {
         set plank10 10. }
        set plank11 [int [* $ship_cargo_gurs [/ 4. 60. ]]]
        if { $ship_cargo_gurs  >= 70. } {
         set plank11 5.  }
        if { $ship_cargo_gurs  < 70. && $ship_cargo_gurs  > 25.} { set plank11 4. }
        set plank12 [int [* $ship_cargo_gurs [/ 150. 60. ]]]
        if { $ship_cargo_gurs  >= 66. } {
        set plank11 70.  }
        set plank14 [int [* $ship_cargo_gurs [/ 500. 60. ]]]
        set side5 $ship_volume_gurs
        set plank15 0.
        set plank16 0.
        set plank17 0.
        if { $ship_cargo_gurs  >= 25. } {
        set plank15  2.  
        set plank16  8. 
        set plank17  8. } 
        set plank18 [int [* $ship_cargo_gurs [/ 20. 60. ]]]
        set plank19  0.
        if { $ship_cargo_gurs  >= 8. } {
        set plank19  1. } 
        if { $ship_cargo_gurs  >= 24. } {
        set plank19  2. } 
        set plank20 [int [* $ship_cargo_gurs [/ 60. 30. ]]]
        set plank21 [int [* $ship_cargo_gurs [/ 40. 30. ]]]
        set plank22  0.
        if { $ship_cargo_gurs  >= 25. } {
        set plank22  2. } 
        set plank23  0.
        if { $ship_cargo_gurs  >= 25. } {
        set plank23  "ditto? with above?" } 
        set plank24  0.
        if { $ship_cargo_gurs  >= 25. } {
        set plank24  "ditto? with above?" } 
        set plank25 0.
        if { $ship_cargo_gurs  >= 6. } {
        set plank25 [int [* $ship_cargo_gurs [/ 120. 60. ]]]}
        set plank26  0.
        if { $ship_cargo_gurs  >= 25. } {
        set plank26  "unspecified" } 
        set plank27  0.
        if { $ship_cargo_gurs  >= 34. } {
        set plank27  1. } 
        set side5 $ship_volume_gurs
        set side5 $ship_volume_gurs
        set side5 $ship_volume_gurs
        set side6 $ship_volume
        set side7 $ship_cargo_gurs
        set side8 $ship_cargo_cubic  }
        proc fillup {aa bb cc dd ee ff gg hh} {
            .frame.entry1 insert 0 "$aa"
            .frame.entry2 insert 0 "$bb"
            .frame.entry3 insert 0 "$cc"
            .frame.entry4 insert 0 "$dd"
            .frame.entry5 insert 0 "$ee"
            .frame.entry6 insert 0 "$ff" 
            .frame.entry7 insert 0 "$gg"
            .frame.entry8 insert 0 "$hh" 
             }
        proc clearx {} {
            foreach i {1 2 3 4 5 6 7 8 } {
                .frame.entry$i delete 0 end } }
        proc reportx {} {
            global side1 side2 side3 side4 side5
            global side6 side7 side8 generic_till_length
            global cargo_section_length modern_tonnage
            global deck_area workdays
            global fish_oil_sealant dry_bitumen_caulking
            global crushed_bitumen_caulking
            global bitumen_oil_sealant 
            global butter_oil_sealant
            global construction_pegs
            global ship_reed_mat_workdays
            global external_sur_area
            global generic_till_area generic_cargo_area
            global plank1 plank2 plank3 plank4 plank5
            global plank6 plank6 plank7 plank8 plank9
            global plank10 plank11 plank12 plank14
            global plank15 plank16 plank17 plank18
            global plank19 plank20 plank21 plank22
            global plank23 plank24 plank25 plank26
            global plank27 plank28 plank29 plank30
            global testcase_number
            console show;
            puts "%|table $testcase_number|printed in| tcl wiki format|% "
            puts "&| quantity| value| comment, if any|& "
            puts "&| testcase number:| | $testcase_number|&"
            puts "&| ship length meters:|meters | $side1 |&"
            puts "&| ship beam meters:|meters | $side2|& "
            puts "&| ship depth meters:| meters|$side3|& "
            puts "&| ship length /beam ratio:| ratio|$side4 |&"
            puts "&| ship deck area:| sq meters|$deck_area |&"
            puts "&| ship external surface area, includes generic stern till:| sq meters| $external_sur_area |&"
            puts "&| ship hull volume:| gurs|$side5 |&"
            puts "&| ship hull volume:| cubic meters|$side6 |&"
            puts "&| cargo rating gurs: | gurs|$side7 |&"
            puts "&| cargo cubic meters: |cubic meters|$side8|&"
            puts "&| generic stern till length meters: | meters|$generic_till_length |&"
            puts "&| generic stern till area sq. meters: | meters|$generic_till_area |&"
            puts "&| generic cargo section length meters: | meters|$generic_cargo_area |&"
            puts "&| generic cargo section area sq. meters: | meters|$cargo_section_length |&"
            puts "&| modern tonnage formula tons: | tons|$modern_tonnage |&"
            puts "&| butter oil sealant, waterproofing formula, 30 liter/60 gurs: | liters |$butter_oil_sealant |&" 
            puts "&| workdays for ship reed mat formula, 4.5 days /60 gurs: | workdays |$ship_reed_mat_workdays |&"
            puts "&| inner seam join formula meters, 500 meters/60 gurs: | meters inner seam |$plank14 |&"
            puts " **** Barge Construction Report from Overseer Noah Flood ****  "
            puts "&| dry_bitumen_caulking formula, 2689 kg/60 gurs: | kilograms |$dry_bitumen_caulking |&"
            puts "&| crushed_bitumen_caulking formula, 1493 kg/60 gurs: | kilograms |$crushed_bitumen_caulking |&"
            puts "&| esir-apin plow bitumen formula, 120 kg/60 gurs: | kg |$plank25 |&"
            puts "&| bitumen_oil_sealant formula, 290 liter/60 gurs: | liters |$bitumen_oil_sealant |&"
            puts "&| fish oil sealant, waterproofing formula, 30 liter/60 gurs: | liters |$fish_oil_sealant |&"
            puts "&| wooden part eme-sig , lower ribs  formula, 138 parts/60 gurs: | eme-sig lower ribs | $plank1 |&"
            puts "&| wooden part me-re-za, floor plank reinforcers formula, 150 parts/60 gurs: | me-re-za floor planks | $plank2 |&"
            puts "&| wooden part ger-ma foot planks formula, 150 parts/60 gurs: | ger-ma foot plants| $plank3 |&"
            puts "&| wooden us-a outside hull planks formula, 27 parts/60 gurs: | us-a hull planks | $plank4 |&"
            puts "&| wooden ada bow planks formula, 8 parts/60 gurs: | ada bow plants | $plank5 |&"
            puts "&| wooden ara stern planks formula, 8 parts/60 gurs: | ara stern planks | $plank6 |&"
            puts "&| tu-gul stern cover, prob. ships > 34, formula 1-yes 0-no, 1 parts/60 gurs: | cabin | $plank27 |&"
            puts "&| wooden hum benches formula, 6 parts/60 gurs: | hum benches | $plank7 |&"
            puts "&| wooden me-dim sailing mast formula, 2 parts/60 gurs: | me-dims parts | $plank15 |&"
            puts "&| wooden ma-gu (ship backbone poles?) strecher? keelson? formula, 8 parts/60 gurs: | ma-gu spars | $plank16 |&"
            puts "&| wooden ma-mas mas=boundary_post? sail_mooring _post? guardrail? formula,prob. for ships > 20 gurs, 8 parts/60 gurs: | ma-mas parts | $plank17 |&"
            puts "&| wooden nig-ka knees formula, 4 parts/60 gurs: | nig-ka knees | $plank11 |&"
            puts "&| wooden eme-sig ditto?, assoc. with above knees? : | eme-sig ditto | $plank23 |&"
            puts "&| wooden umbin claws formula, 20 parts/60 gurs: | umbin claws | $plank18 |&"
            puts "&| wooden eme-sig ditto?, assoc. with above umbin claws?: | eme-sig  | $plank24 |&"
            puts "&| wooden rudder, formula 0-no, 2 parts/60 gurs: | zi-gin rudder | $plank19 |&"
            puts "&| wooden installed ad-kul (timber thick) rudder _pivot_pole? formula,prob. for ships > 20 gur,  2 parts/60 gurs: | ad-kul part | $plank22 |&"
            puts "&| wooden punting poles formula, 8 parts/60 gurs: | punting poles | $plank8 |&"
            puts "&| wooden oars or steering oars formula, for ships < 20 gur, 1 parts/1 gurs: | oars | $plank10 |&"
            puts "&| wooden hu-dub-sa & u-sub-a formula, round hut? crowsnest? & planks?, prob. ships > 25 gur, formula 1-yes 0-no |   hu cabin  | $plank26 |&"
            puts "&| gi-ma-da-la  raft hold-near bind  reeds (fasteners? mats?) formula, 120 kg/60 gurs: | equiv. kg reeds |$plank20 |&"
            puts "&| u-numun halfa grass for rope formula, 80 kg/60 gurs: | equiv. kg rope |$plank21 |&"
            puts "&| wooden construction pegs formula, 3600 pegs/60 gurs: | pegs |$construction_pegs |&"
            puts "&| wooden foot wood planks (gantry? deck?) formula, 150 parts/60 gurs: | foot planks |$plank12 |&"
            puts "&| kilograms tug cloth sail formula, 180kg/60 gurs: | kgs sail |$plank9 |&"
            puts "&| construction workdays formula, 15 workdays/gur: | workdays |$workdays |&"
            puts "&| finished, received by Lugal (prince) Adonai | | |&"
            puts "&| Lugal Adonai |his seal | |&"
            puts "&| sailors were Lugal (captain/1st mate?) Ku, Saka, Lu-su, & Ur-Nun | their names or seals||&"
            puts "&| month Nissan ,  | year of great rain and floods in Lagash | |&"
            }
        frame .buttons -bg aquamarine4
        ::ttk::button .calculator -text "Solve" -command { calculate   }
        ::ttk::button .test2 -text "Testcase1" -command {clearx;fillup 11.198 1.493 0.747 7.5  42.1 93.6 42. 93.6}
        ::ttk::button .test3 -text "Testcase2" -command {clearx;fillup 6. 4. 3.01 1.501  241.1 72.01 180.85 54.01 }
        ::ttk::button .test4 -text "Testcase3" -command {clearx;fillup 11.2 1.5 1.4221 7.46  80.0 23.9 60.004 17.9 }
        ::ttk::button .clearallx -text clear -command {clearx }
        ::ttk::button .about -text about -command about
        ::ttk::button .cons -text report -command { reportx }
        ::ttk::button .exit -text exit -command {exit}
        pack .calculator  -in .buttons -side top -padx 10 -pady 5
        pack  .clearallx .cons .about .exit .test4 .test3 .test2   -side bottom -in .buttons
        grid .frame .buttons -sticky ns -pady {0 10}
        . configure -background aquamarine4 -highlightcolor brown -relief raised -border 30
        wm title . "Sumerian Barge & Cargo Volume Calculator "

Pushbutton Operation

For the push buttons, the recommended procedure is push testcase and fill frame, change first three entries etc, push solve, and then push report. Report allows copy and paste from console.

For testcases in a computer session, the eTCL calculator increments a new testcase number internally, eg. TC(1), TC(2) , TC(3) , TC(N). The testcase number is internal to the calculator and will not be printed until the report button is pushed for the current result numbers (which numbers will be cleared on the next solve button.) The command { calculate; reportx } or { calculate ; reportx; clearx } can be added or changed to report automatically. Another wrinkle would be to print out the current text, delimiters, and numbers in a TCL wiki style table as
  puts " %| testcase $testcase_number | value| units |comment |%"
  puts " &| volume| $volume| cubic meters |based on length $side1 and width $side2   |&"  

Console eTCL program, Barge Top Surface Area or Deck Area

        # Pretty print version from autoindent
        # and ased editor
        # eTCL console program
        # estimating surface area of rectangular barge
        # written on Windows XP on eTCL
        # code from TCL WIKI, eTCL console script
        # 15may2014, [gold]
        namespace path {::tcl::mathop ::tcl::mathfunc}
        console show
        set counter 0
        proc surfacex { L B D T } {
            global counter 
            incr counter
            set deck_area [* $L $B]
            set area1 [+ [* $L $B ] [* 2. $B $D ] [* 2. $L $D ] [* $B $T ] ]. 
            puts " testcase $counter"
            puts " external surface area for barge of L/B/D/T"
            puts " inputs in meters $L $B $D $T " 
            puts " deck area square meters $deck_area "
            puts " barge external surface area square meters $area1 "
           
        }
         surfacex 11.2 1.5 0.75 2.8 # barge of 30 gur capacity
         surfacex 6. 4. 3. 1.5
         surfacex 11.2 1.8 1.2 2.8  # barge of 60 gur capacity

Output from eTCL Console , Barge Top Surface Area or Deck Area  edit

 testcase 1   # barge of 30 gur capacity
 exrternal surface area for barge of L/B/D/T
 inputs in meters 11.2 1.5 0.75 2.8 
 deck area square meters 16.799999999999997 
 barge external surface square meters 40.05. 
 testcase 2
 external surface area for barge of L/B/D/T
 inputs in meters 6. 4. 3. 1.5 
 deck area square meters 24.0 
 barge external surface area square meters 90.0.
 testcase 3, barge of 60 gur capacity
 external surface area for barge of L/B/D/T
 inputs in meters 11.2 1.8 1.2 2.8 
 barge deck area square meters 20.16 
 barge external surface area square meters 56.4.

gold This page is copyrighted under the TCL/TK license terms, this license.

Comments Section edit

Please place any comments here, Thanks.