World Library  
Flag as Inappropriate
Email this Article

320th Air Expeditionary Wing

Article Id: WHEBN0009397558
Reproduction Date:

Title: 320th Air Expeditionary Wing  
Author: World Heritage Encyclopedia
Language: English
Subject: 451st Air Expeditionary Group, 97th Operations Group, 12th Air Division, 93d Operations Group, 53d Electronic Warfare Group
Collection:
Publisher: World Heritage Encyclopedia
Publication
Date:
 

320th Air Expeditionary Wing

320th Air Expeditionary Wing
Boeing B-52F Stratofortress "Casper the Friendly Ghost" of the 320th Bombardment Wing on an Arc Light mission
Active 1942–1945; 1947–1949; 1952–1960; 1963–1989, after 1998
Country  United States
Branch  United States Air Force
Motto Forever Battling (World War II), Strength Through Awareness (since 1952)
Engagements
  • World War II
European Campaign (1942–1945)
  • Vietnam Service (1965–1973)
  • Expeditionary Service
Various Operations (1990s)
  • Global War on Terrorism
Afghanistan Campaign (2001–2006, TBD)
Iraq Campaign (2003–2006, TBD)
Decorations Distinguished Unit Citation
French Croix de Guerre with Palm
Commanders
Current
commander
Sharon K.G. Dunbar
Notable
commanders
George Lee Butler
Howell M. Estes II
William Crumm
Insignia
320th Air Expeditionary Wing emblem

The 320th Air Expeditionary Wing (320 AEW) is a provisional United States Air Force unit assigned to the Air Force District of Washington. It is stationed at Bolling AFB, District of Columbia. The 320 AEW may be activated or inactivated at any time.

The 320 AEW was activated at Bolling in December 2006 for former President Gerald Ford’s state funeral during the Christmas and New Year holidays, attaching 634 personnel to complete a 10-day mission in three joint-operation areas. In less than 12 hours from notification, the 320 AEW deployed 167 joint forces and equipment for JTF Ceremony Forward.

It was activated in December 2008 to support Air Force requirements during the 2009 Presidential Inauguration, working with the Armed Forces Inaugural Committee, or AFIC.

The wing was originally activated during World War II and served with Strategic Air Command's deterrent force during the Cold War, as a strategic bombardment wing.

History

World War II

320th Bombardment Group emblem (approved 3 March 1943)[1]
Martin B-26G-5-MA Marauder 42-34250 of the 320th Bomb Group crew celebrating the end of hostilities, May 1945

Constituted as 320th Bombardment Group (Medium) on 19 June 1942 and activated on 23 June at MacDill Field (now MacDill Air Force Base), Florida. The operational squadrons of the group were the 441st, 442d, 443d and 444th Bomb Squadrons. The 320th was equipped with the Martin B-26 Marauder aircraft.

The group was subsequently relocated to nearby Drane Field (now Lakeland Linder Regional Airport), Florida. Most of the group moved to North Africa via England, August–December 1942; crews then flew their planes over the South Atlantic route and arrived in North Africa, December 1942 – January 1943.[1]

They began combat with Twelfth Air Force in April 1943 and operated from bases in Algeria, Tunisia, Sardinia, and Corsica until November 1944. During the period April–July 1943, flew missions against enemy shipping in the approaches to Tunisia, attacked installations in Sardinia, participated in the reduction of Pantelleria, and supported the Allied invasion of Sicily. It then bombed marshalling yards, bridges, airdromes, road junctions, viaducts, harbors, fuel dumps, defense positions, and other targets in Italy. The group supported forces at Salerno and knocked out targets to aid the seizure of Naples and the crossing of the Volturno River. Missions were flown to Anzio and Cassino and the group engaged in interdictory operations in central Italy in preparation for the advance toward Rome.[1]

In a disastrous error on 28 January 1944, the group destroyed a train loaded with Allied POWs on a bridge at Orvieto North, Italy. The death toll has been reported at 450.[2][3]

The 320th Bombardment Group received the French Croix de Guerre with Palm for action in preparation for and in support of Allied offensive operations in central Italy, April–June 1944. It was the first such citation to be awarded to an American unit by the provisional French government in World War II.[4] The unit also received a Distinguished Unit Citation (DUC) for a mission on 12 May 1944 when, in the face of an intense antiaircraft barrage, the group bombed enemy troop concentrations near Fondi in support of the U.S. Fifth Army's advance toward Rome. From June to November 1944 operations included interdictory missions in the Po Valley, support for the invasion of Southern France and attacks on enemy communications in northern Italy.[1]

The 320th was then moved to France in November 1944 and bombed bridges, rail lines, gun positions, barracks, supply points, ammunition dumps, and other targets in France and Germany until V-E Day. The group received a second DUC for operations on 15 March 1945 when the group bombed pillboxes, trenches, weapon pits, and roads within the Siegfried Line to enable a breakthrough by the Seventh United States Army.[1]

With the end of hostilities in Europe, the group moved to Germany in June 1945 and participated in the disarmament program. It returned to the United States, November–December 1945, and was inactivated on 4 December 1945.[1]

Strategic Air Command

Medium Bomber Era

320th Bombardment Wing (approved 22 January 1953)[5]
320th Bombardment Wing Boeing B-47B Stratojet 1953
320th Air Refueling Squadron Boeing KC-97G Stratofreighter at Thule AB 1953.

The 320th Bombardment Wing, Medium (BW) was activated at March Air Force Base, California on 1 December 1952. The 320th BW assumed the assets of the 106th Bombardment Wing, a federalized New York Air National Guard unit which was brought onto active duty during the Korean War.[5]

At March, the wing was initially equipped with second-line Boeing B-29 Superfortresses and conducted global bombardment training and air refueling operations to meet Strategic Air Command (SAC) commitments.[5] The wing was also employed for training Air Force Reservists and Air National Guardsmen to backfill rotating B-29 Superfortress combat crews which were deployed by Fifteenth Air Force to Far East Air Forces serving in the Korean War.require('Module:No globals')

local p = {}

-- articles in which traditional Chinese preceeds simplified Chinese local t1st = { ["228 Incident"] = true, ["Chinese calendar"] = true, ["Lippo Centre, Hong Kong"] = true, ["Republic of China"] = true, ["Republic of China at the 1924 Summer Olympics"] = true, ["Taiwan"] = true, ["Taiwan (island)"] = true, ["Taiwan Province"] = true, ["Wei Boyang"] = true, }

-- the labels for each part local labels = { ["c"] = "Chinese", ["s"] = "simplified Chinese", ["t"] = "traditional Chinese", ["p"] = "pinyin", ["tp"] = "Tongyong Pinyin", ["w"] = "Wade–Giles", ["j"] = "Jyutping", ["cy"] = "Cantonese Yale", ["poj"] = "Pe̍h-ōe-jī", ["zhu"] = "Zhuyin Fuhao", ["l"] = "literally", }

-- article titles for wikilinks for each part local wlinks = { ["c"] = "Chinese language", ["s"] = "simplified Chinese characters", ["t"] = "traditional Chinese characters", ["p"] = "pinyin", ["tp"] = "Tongyong Pinyin", ["w"] = "Wade–Giles", ["j"] = "Jyutping", ["cy"] = "Yale romanization of Cantonese", ["poj"] = "Pe̍h-ōe-jī", ["zhu"] = "Bopomofo", }

-- for those parts which are to be treated as languages their ISO code local ISOlang = { ["c"] = "zh", ["t"] = "zh-Hant", ["s"] = "zh-Hans", ["p"] = "zh-Latn-pinyin", ["tp"] = "zh-Latn", ["w"] = "zh-Latn-wadegile", ["j"] = "yue-jyutping", ["cy"] = "yue", ["poj"] = "hak", ["zhu"] = "zh-Bopo", }

local italic = { ["p"] = true, ["tp"] = true, ["w"] = true, ["j"] = true, ["cy"] = true, ["poj"] = true, } -- Categories for different kinds of Chinese text local cats = { ["c"] = "", ["s"] = "", ["t"] = "", }

function p.Zh(frame) -- load arguments module to simplify handling of args local getArgs = require('Module:Arguments').getArgs local args = getArgs(frame) return p._Zh(args) end function p._Zh(args) local uselinks = not (args["links"] == "no") -- whether to add links local uselabels = not (args["labels"] == "no") -- whether to have labels local capfirst = args["scase"] ~= nil

        local t1 = false -- whether traditional Chinese characters go first
        local j1 = false -- whether Cantonese Romanisations go first
        local testChar
        if (args["first"]) then
                 for testChar in mw.ustring.gmatch(args["first"], "%a+") do
          if (testChar == "t") then
           t1 = true
           end
          if (testChar == "j") then
           j1 = true
           end
         end
        end
        if (t1 == false) then
         local title = mw.title.getCurrentTitle()
         t1 = t1st[title.text] == true
        end

-- based on setting/preference specify order local orderlist = {"c", "s", "t", "p", "tp", "w", "j", "cy", "poj", "zhu", "l"} if (t1) then orderlist[2] = "t" orderlist[3] = "s" end if (j1) then orderlist[4] = "j" orderlist[5] = "cy" orderlist[6] = "p" orderlist[7] = "tp" orderlist[8] = "w" end -- rename rules. Rules to change parameters and labels based on other parameters if args["hp"] then -- hp an alias for p ([hanyu] pinyin) args["p"] = args["hp"] end if args["tp"] then -- if also Tongyu pinyin use full name for Hanyu pinyin labels["p"] = "Hanyu Pinyin" end if (args["s"] and args["s"] == args["t"]) then -- Treat simplified + traditional as Chinese if they're the same args["c"] = args["s"] args["s"] = nil args["t"] = nil elseif (not (args["s"] and args["t"])) then -- use short label if only one of simplified and traditional labels["s"] = labels["c"] labels["t"] = labels["c"] end local body = "" -- the output string local params -- for creating HTML spans local label -- the label, i.e. the bit preceeding the supplied text local val -- the supplied text -- go through all possible fields in loop, adding them to the output for i, part in ipairs(orderlist) do if (args[part]) then -- build label label = "" if (uselabels) then label = labels[part] if (capfirst) then label = mw.language.getContentLanguage():ucfirst(

The wing replaced its propeller-driven B-29s with new Boeing B-47E Stratojet swept-wing medium bombers capable of flying at high subsonic speeds and primarily designed for penetrating the airspace of the Soviet Union in 1953. The wing trained the initial B-47 cadre for the 96th Bombardment Wing, from December 1953 to January 1955 and subsequently deployed as a wing to RAF Brize Norton, England from 5 June to 4 September 1954 and Andersen Air Force Base, Guam from 5 October 1956 to 11 January 1957.[5] In the late 1950s, the B-47 Stratojet was considered to be reaching obsolescence, and was being phased out of SAC's strategic arsenal. Aircraft were reassigned to other SAC units as replacements in late 1959 and 1960 becoming non-operational.

B-52 Era

Emblem of the 4134th Strategic Wing

4134th Strategic Wing

With the retirement of the Stratojet, the 320th Bomb Wing was reassigned to [6] The 4134th was established by SAC on 1 May 1958 at Mather and assigned to the 14th Air Division[7] as part of SAC's plan to disperse its Boeing B-52 Stratofortress heavy bombers over a larger number of bases, thus making it more difficult for the Soviet Union to knock out the entire fleet with a surprise first strike.[8] The wing was assigned only two maintenance squadrons until 1 July 1958 when the 72d Bombardment Squadron, consisting of 15 B-52Fs. moved to Mather from Travis Air Force Base, California where it had been one of the three squadrons of the 5th Bombardment Wing.[9] Starting in 1960, one third of the squadron's aircraft were maintained on fifteen-minute alert, fully fueled and ready for combat to reduce vulnerability to a Soviet missile strike. This was increased to half the squadron's aircraft in 1962.[10] The 4039th (and later the 416th) continued to maintain an alert commitment until 1965, and periodically thereafter when not supporting operations in Southeast Asia. Additional maintenance squadrons and a squadron to provide security for special weapons were activated at the same time.

On 1 January 1959 the 49th Aviation Depot Squadron was activated to oversee the wing's special weapons. The 4135th became fully organized on 1 July 1959 when the 904th Air Refueling Squadron, flying Boeing KC-135 Stratotankers was activated and assigned to the wing.[6] In 1962, the wing's bombers began to be equipped with the GAM-77 Hound Dog and the GAM-72 Quail air-launched cruise missiles, The 4134th Airborne Missile Maintenance Squadron was activated in November to maintain these missiles

In 1962, in order to retain the lineage of its MAJCOM 4-digit combat units and to perpetuate the lineage of many currently inactive bombardment units with illustrious World War II records, Headquarters SAC received authority from Headquarters USAF to discontinue its Major Command controlled (MAJCON) strategic wings that were equipped with combat aircraft and to activate Air Force controlled (AFCON units), most of which were inactive at the time which could carry a lineage and history.

320th Bombardment Wing

As a result, the 4134th SW was replaced by the 320th Bombardment Wing, Heavy,[5] which assumed its mission, personnel, and equipment on 1 February 1963.[11] In the same way the [12] all flying and maintenance squadrons were directly assigned to the wing, so no operational group element was activated. Each of the new units assumed the personnel, equipment, and mission of its predecessor.

At Mather, the wing performed global bombardment training and air refueling operations to meet SAC commitments, February 1963 – 1965 and later.

In 1964 and 1965, the wing's B-52Fs were selected for modification under programs South Bay and Sun Bath. These modifications enabled the wing's bombers to double their bomb load from 24 to 48 750 lb bombs by the installation of external bomb racks. With these modifications, the wing's planes, along with those of the 7th Bombardment Wing were the first to deploy to Andersen Air Force Base, Guam and the first to fly Arc Light bombing missions. The modified B-52Fs were the only SAC bombers to deploy for Arc Light missions until 1966, when the B-52Fs were replaced by B-52Ds with the Big Belly modification than enabled them to carry a larger and more varied bomb load.[13]

The entire wing was drastically reduced from February to July 1965, from December 1965 to March 1966, and from June 1972 to October 1973, when all aircraft, crews, and most support personnel were loaned to other SAC units based at Andersen AFB Guam, U-Tapao Royal Thai Navy Airfield, Thailand and Kadena AB, Okinawa for operations in Southeast Asia.[5]

Starting in 1972, the short-lived 3542d Operations Squadron conducted Convair T-29 pilot training for the Fifteenth Air Force, a number of T-29s and C-131s having been distributed throughout SAC as utility aircraft for various SAC wings and bases.[5] This was done in conjunction with the 323d Flying Training Wing of the Air Training Command (ATC) at Mather, which also flew the T-29 in support the Undergraduate Navigator Training (UNT) program.[14][15] The 3542d Operations Squadron was inactivated the following year, in late 1973, concurrent with the retirement of the T-29 from UNT in late 1973 and early 1974 and its replacement with the Boeing 737-200 based T-43 Bobcat.[16]

In the early 1980s, the 320th and the 441 BS were equipped to carry, and trained in the employment of, the US Navy's AGM-84 Harpoon missile and various types of anti-ship mines as part of a joint USN-USAF initiative to employ USAF bomber aircraft in maritime operations.

The 904th Air Refueling Squadron was inactivated 1 October 1986 and its older KC-135As modified to KC-135E standard and redistributed to other SAC units or sent to AMARC at Davis-Monthan Air Force Base, Arizona for storage. Fromm this point forward, the 441 BS would rely on the Air Force Reserve's tenant 940th Air Refueling Group at Mather for local KC-135 support, or KC-135 and KC-10 support from other units in the western United States. As a result of the START I treaty with the Soviet Union and the associated mandated reductions in strategic bombers on both sides, the 441 BS with its B-52Gs was inactivated at Mather AFB on 30 September 1989. It was the first B-52G squadron to inactivate under the gradual drawdown of the B-52G fleet pursuant to START reductions of the entire USAF strategic bomber force.

Along with the 441 BS, the 320th Bombardment Wing was also inactivated on 30 September 1989 as the first B-52 wing to be inactivated in conjunction with the phased retirement of the B-52G fleet and was also made in conjunction with the pending closure of Mather AFB in 1993 due to a 1989 Base Realignment and Closure (BRAC) decision.

320th Air Expeditionary Group (Air Combat Command)

A C-130 Hercules, assigned to the 320th Air Expeditionary Wing at a forward-deployed location during Operation Enduring Freedom.

In 1998, the 320th was reactivated as the 320th Air Expeditionary Group (320 AEG) at [17]

The primary mission of the 320 AEG at Eskan was to provide liaison with Saudi Arabian Ministry of Defense and Aviation (MODA) for Eskan Village and to provide host base support to the combatant staff of Joint Task Force Southwest Asia (JTF-SWA) and the 9th Air and Space Expeditionary Task Force (9 ASETF), including its associated Coalition Air Operations Center (CAOC), conducting Operation SOUTHERN WATCH, which provided principal senior command and control of all U.S. and Coalition combat flying units enforcing the "No Fly Zone" over Southern Iraq prior to execution of Operation IRAQI FREEDOM in 2003. The 320 AEG also supported United States Military Training Mission (USMTM) Saudi Arabia, the U.S. Office of Program Management – Saudi Arabian National Guard (OPM-SANG), as well as the Royal Air Force and French Air Force headquarters elements also located at Eskan Village.

In 2005 the 320th Air Expeditionary Group was replaced by the 64th Air Expeditionary Group, a component of the 379th Air Expeditionary Wing.

320th Air Expeditionary Wing (AF District of Washington)

The 320th was then renamed as the 320th Air Expeditionary Wing and was reassigned to the Air Force District of Washington at Bolling Air Force Base, District of Columbia. The Air Force District of Washington serves as the Air Force service component for coordination purposes to Joint Forces Headquarters, National Capital Region. When the Joint Forces Headquarters transitions to become the Joint Task Force National Capital Region, the 320th Air Expeditionary Wing activates and becomes the Air Force service component of the task force. Normally, the commander of the district serves as the commander of the wing.[18] Examples of National Capital Region support duties have included supporting the inauguration of Barack Obama.[19]

Lineage

320th Bombardment Group

  • Constituted as 320th Bombardment Group (Medium) on 19 June 1942
Activated on 23 June 1942
Redesignated 320th Bombardment Group, Medium on 31 August 1944
Inactivated on 4 December 1945
  • Redesignated 320th Bombardment Group, Light and allotted to the reserve.
Activated on 6 July 1947
Inactivated on 27 June 1949
  • Consolidated on 31 January 1984 with 320th Bombardment Wing as 320th Bombardment Wing[20]

320th Bombardment Wing

  • Constituted as 320th Bombardment Wing, Medium and activated on 1 December 1952
Discontinued on 15 September 1960
Redesignated 320th Bombardment Wing, Heavy on 15 November 1962 and activated
Organized on 1 February 1963
  • Consolidated on 31 January 1984 with 320th Bombardment Group[20]
Inactivated 30 September 1989
  • Converted to provisional status, allotted to Air Combat Command to activate or inactivate at any time, and redesignated as 320th Air Expeditionary Group on 19 November 1998
Activated on 1 December 1998
Inactivated on 1 December 2001
Redesignated: 320th Air Expeditionary Wing on 1 February 2002 (Remained in provisional status)[21]
Allotted to Air Force District of Washington in 2006 to activate or inactivate at any time.

Assignments

Bases assigned

Components

Group

  • 320th Medical Group (later 320th Tactical Hospital, 320th Expeditionary Medical Flight, 320th Expeditionary Medical Group): 1 December 1952 – 1 January 1959,[25] c. 1 December 1998 – c. 1 December 2001

Operational Squadrons

  • 441st Bombardment Squadron: 23 June 1942 – 4 December 1945; 9 July 1947 – 27 June 1949; 1 December 1952 – 15 September 1960 (Not operational 16 May – 15 September 1960); 1 February 1963 – 30 September 1989 (Not operational 11 February – 1 July 1965; 1 December 1965 – 21 March 1966 and 3 June 1972 – 25 October 1973).[26]
  • 442d Bombardment Squadron: 23 June 1942 – 4 December 1945; 9 July 1947 – 27 June 1949; 1 December 1952 – 15 September 1960 (Not operational 1–15 September 1960)[27]
  • 443d Bombardment Squadron: 23 June 1942 – 4 December 1945; 9 July 1947 – 27 June 1949; 1 December 1952 – 15 September 1960 (Not operational 1–15 September 1960)[28]
  • 444th Bombardment Squadron: 23 June 1942 – 4 December 1945; 9 July 1947 – 27 June 1949; 1 January 1959 – 15 September 1960 (Not operational 1 July – 15 September 1960)[29]
  • 320th Refueling Squadron: 1 December 1952 – 16 June 1960
  • 904th Air Refueling Squadron: 1 February 1963 – 30 September 1989

Support Squadrons

  • 49th Munitions Maintenance Squadron: 1 February 1963 – 1 October 1972[6]
  • 320th Airborne Missile Maintenance Squadron: 1 February 1963 – 30 September 1975[6]
  • 320th Armament & Electronics Maintenance Squadron (later 320th Avionics Maintenance Squadron): 1 December 1952 – 16 June 1960,[25] 1 February 1963 – 30 September 1989[6]
  • 320th Expeditionary Communications Squadron: c. 1 December 1998 – 1 December 2001
  • 320th Expeditionary Civil Engineer Squadron: c. 1 December 1998 – c. 1 December 2001
  • 320th Expeditionary Logistics Squadron: c. 1 December 1998 – c. 1 December 2001
  • 320th Expeditionary Services Squadron: c. 1 December 1998 – c. 1 December 2001
  • 320th Field Maintenance Squadron (later 320th Expeditionary Maintenance Squadron): 1 December 1952 – 16 June 1960,[25] 1 February 1963 – 30 September 1989,[6] c. 18 October 2001 – c. 1 December 2001
  • 320th Munitions Maintenance Squadron: 1 October 1972 – 30 September 1989[6]
  • 320th Periodic Maintenance Squadron (later 320th Organizational Maintenance Squadron): 1 December 1952 – 16 June 1960,[25] 1 February 1963 – 30 September 1989[6]
  • 320th Combat Defense Squadron (later 320th Security Police Squadron, 320th Expeditionary Security Forces Squadron): 1 February 1963 – 30 September 1989,[6] c. 1 December 1998 – c. 1 December 2001

Major aircraft types operated

Boeing B-52G Stratofortress (1968–1989)

See also

References

Notes


-- Module:Hatnote -- -- -- -- This module produces hatnote links and links to related articles. It -- -- implements the and meta-templates and includes -- -- helper functions for other Lua hatnote modules. --


local libraryUtil = require('libraryUtil') local checkType = libraryUtil.checkType local mArguments -- lazily initialise Module:Arguments local yesno -- lazily initialise Module:Yesno

local p = {}


-- Helper functions


local function getArgs(frame) -- Fetches the arguments from the parent frame. Whitespace is trimmed and -- blanks are removed. mArguments = require('Module:Arguments') return mArguments.getArgs(frame, {parentOnly = true}) end

local function removeInitialColon(s) -- Removes the initial colon from a string, if present. return s:match('^:?(.*)') end

function p.findNamespaceId(link, removeColon) -- Finds the namespace id (namespace number) of a link or a pagename. This -- function will not work if the link is enclosed in double brackets. Colons -- are trimmed from the start of the link by default. To skip colon -- trimming, set the removeColon parameter to true. checkType('findNamespaceId', 1, link, 'string') checkType('findNamespaceId', 2, removeColon, 'boolean', true) if removeColon ~= false then link = removeInitialColon(link) end local namespace = link:match('^(.-):') if namespace then local nsTable = mw.site.namespaces[namespace] if nsTable then return nsTable.id end end return 0 end

function p.formatPages(...) -- Formats a list of pages using formatLink and returns it as an array. Nil -- values are not allowed. local pages = {...} local ret = {} for i, page in ipairs(pages) do ret[i] = p._formatLink(page) end return ret end

function p.formatPageTables(...) -- Takes a list of page/display tables and returns it as a list of -- formatted links. Nil values are not allowed. local pages = {...} local links = {} for i, t in ipairs(pages) do checkType('formatPageTables', i, t, 'table') local link = t[1] local display = t[2] links[i] = p._formatLink(link, display) end return links end

function p.makeWikitextError(msg, helpLink, addTrackingCategory) -- Formats an error message to be returned to wikitext. If -- addTrackingCategory is not false after being returned from -- Module:Yesno, and if we are not on a talk page, a tracking category -- is added. checkType('makeWikitextError', 1, msg, 'string') checkType('makeWikitextError', 2, helpLink, 'string', true) yesno = require('Module:Yesno') local title = mw.title.getCurrentTitle() -- Make the help link text. local helpText if helpLink then helpText = ' (help)' else helpText = end -- Make the category text. local category if not title.isTalkPage and yesno(addTrackingCategory) ~= false then category = 'Hatnote templates with errors' category = string.format( '%s:%s', mw.site.namespaces[14].name, category ) else category = end return string.format( '%s', msg, helpText, category ) end


-- Format link -- -- Makes a wikilink from the given link and display values. Links are escaped -- with colons if necessary, and links to sections are detected and displayed -- with " § " as a separator rather than the standard MediaWiki "#". Used in -- the template.


function p.formatLink(frame) local args = getArgs(frame) local link = args[1] local display = args[2] if not link then return p.makeWikitextError( 'no link specified', 'Template:Format hatnote link#Errors', args.category ) end return p._formatLink(link, display) end

function p._formatLink(link, display) -- Find whether we need to use the colon trick or not. We need to use the -- colon trick for categories and files, as otherwise category links -- categorise the page and file links display the file. checkType('_formatLink', 1, link, 'string') checkType('_formatLink', 2, display, 'string', true) link = removeInitialColon(link) local namespace = p.findNamespaceId(link, false) local colon if namespace == 6 or namespace == 14 then colon = ':' else colon = end -- Find whether a faux display value has been added with the | magic -- word. if not display then local prePipe, postPipe = link:match('^(.-)|(.*)$') link = prePipe or link display = postPipe end -- Find the display value. if not display then local page, section = link:match('^(.-)#(.*)$') if page then display = page .. ' § ' .. section end end -- Assemble the link. if display then return string.format('%s', colon, link, display) else return string.format('%s%s', colon, link) end end


-- Hatnote -- -- Produces standard hatnote text. Implements the template.


function p.hatnote(frame) local args = getArgs(frame) local s = args[1] local options = {} if not s then return p.makeWikitextError( 'no text specified', 'Template:Hatnote#Errors', args.category ) end options.extraclasses = args.extraclasses options.selfref = args.selfref return p._hatnote(s, options) end

function p._hatnote(s, options) checkType('_hatnote', 1, s, 'string') checkType('_hatnote', 2, options, 'table', true) local classes = {'hatnote'} local extraclasses = options.extraclasses local selfref = options.selfref if type(extraclasses) == 'string' then classes[#classes + 1] = extraclasses end if selfref then classes[#classes + 1] = 'selfref' end return string.format( '
%s
', table.concat(classes, ' '), s )

end

return p-------------------------------------------------------------------------------- -- Module:Hatnote -- -- -- -- This module produces hatnote links and links to related articles. It -- -- implements the and meta-templates and includes -- -- helper functions for other Lua hatnote modules. --


local libraryUtil = require('libraryUtil') local checkType = libraryUtil.checkType local mArguments -- lazily initialise Module:Arguments local yesno -- lazily initialise Module:Yesno

local p = {}


-- Helper functions


local function getArgs(frame) -- Fetches the arguments from the parent frame. Whitespace is trimmed and -- blanks are removed. mArguments = require('Module:Arguments') return mArguments.getArgs(frame, {parentOnly = true}) end

local function removeInitialColon(s) -- Removes the initial colon from a string, if present. return s:match('^:?(.*)') end

function p.findNamespaceId(link, removeColon) -- Finds the namespace id (namespace number) of a link or a pagename. This -- function will not work if the link is enclosed in double brackets. Colons -- are trimmed from the start of the link by default. To skip colon -- trimming, set the removeColon parameter to true. checkType('findNamespaceId', 1, link, 'string') checkType('findNamespaceId', 2, removeColon, 'boolean', true) if removeColon ~= false then link = removeInitialColon(link) end local namespace = link:match('^(.-):') if namespace then local nsTable = mw.site.namespaces[namespace] if nsTable then return nsTable.id end end return 0 end

function p.formatPages(...) -- Formats a list of pages using formatLink and returns it as an array. Nil -- values are not allowed. local pages = {...} local ret = {} for i, page in ipairs(pages) do ret[i] = p._formatLink(page) end return ret end

function p.formatPageTables(...) -- Takes a list of page/display tables and returns it as a list of -- formatted links. Nil values are not allowed. local pages = {...} local links = {} for i, t in ipairs(pages) do checkType('formatPageTables', i, t, 'table') local link = t[1] local display = t[2] links[i] = p._formatLink(link, display) end return links end

function p.makeWikitextError(msg, helpLink, addTrackingCategory) -- Formats an error message to be returned to wikitext. If -- addTrackingCategory is not false after being returned from -- Module:Yesno, and if we are not on a talk page, a tracking category -- is added. checkType('makeWikitextError', 1, msg, 'string') checkType('makeWikitextError', 2, helpLink, 'string', true) yesno = require('Module:Yesno') local title = mw.title.getCurrentTitle() -- Make the help link text. local helpText if helpLink then helpText = ' (help)' else helpText = end -- Make the category text. local category if not title.isTalkPage and yesno(addTrackingCategory) ~= false then category = 'Hatnote templates with errors' category = string.format( '%s:%s', mw.site.namespaces[14].name, category ) else category = end return string.format( '%s', msg, helpText, category ) end


-- Format link -- -- Makes a wikilink from the given link and display values. Links are escaped -- with colons if necessary, and links to sections are detected and displayed -- with " § " as a separator rather than the standard MediaWiki "#". Used in -- the template.


function p.formatLink(frame) local args = getArgs(frame) local link = args[1] local display = args[2] if not link then return p.makeWikitextError( 'no link specified', 'Template:Format hatnote link#Errors', args.category ) end return p._formatLink(link, display) end

function p._formatLink(link, display) -- Find whether we need to use the colon trick or not. We need to use the -- colon trick for categories and files, as otherwise category links -- categorise the page and file links display the file. checkType('_formatLink', 1, link, 'string') checkType('_formatLink', 2, display, 'string', true) link = removeInitialColon(link) local namespace = p.findNamespaceId(link, false) local colon if namespace == 6 or namespace == 14 then colon = ':' else colon = end -- Find whether a faux display value has been added with the | magic -- word. if not display then local prePipe, postPipe = link:match('^(.-)|(.*)$') link = prePipe or link display = postPipe end -- Find the display value. if not display then local page, section = link:match('^(.-)#(.*)$') if page then display = page .. ' § ' .. section end end -- Assemble the link. if display then return string.format('%s', colon, link, display) else return string.format('%s%s', colon, link) end end


-- Hatnote -- -- Produces standard hatnote text. Implements the template.


function p.hatnote(frame) local args = getArgs(frame) local s = args[1] local options = {} if not s then return p.makeWikitextError( 'no text specified', 'Template:Hatnote#Errors', args.category ) end options.extraclasses = args.extraclasses options.selfref = args.selfref return p._hatnote(s, options) end

function p._hatnote(s, options) checkType('_hatnote', 1, s, 'string') checkType('_hatnote', 2, options, 'table', true) local classes = {'hatnote'} local extraclasses = options.extraclasses local selfref = options.selfref if type(extraclasses) == 'string' then classes[#classes + 1] = extraclasses end if selfref then classes[#classes + 1] = 'selfref' end return string.format( '
%s
', table.concat(classes, ' '), s )

end

return p
  1. ^ a b c d e f Maurer, Combat Units, pp. 199–201
  2. ^
  3. ^ Outline History for 1944 Official diary at 320thbg.org
  4. ^ Tannehill
  5. ^ a b c d e f g h Ravenstein, pp. 170–172
  6. ^ a b c d e f g h i Mueller, pp. 375–382
  7. ^
  8. ^
  9. ^ Maurer, Combat Squadrons, pp. 264–265
  10. ^
  11. ^ The 320th Wing continued, through temporary bestowal, the history, and honors of the World War II 320th Bombardment Group. It was also entitled to retain the honors (but not the history or lineage) of the 4134th. This temporary bestowal ended in January 1984, when the wing and group were consolidated into a single unit.
  12. ^ under this plan flying squadrons reported to the wing Deputy Commander for Operations and maintenance squadrons reported to the wing Deputy Commander for Maintenance
  13. ^ Knaack, pp. 256, 268
  14. ^ http://www.ronbarrett.com/T-29History.htm
  15. ^ http://www.hill.af.mil/library/factsheets/factsheet.asp?id=5685
  16. ^ http://dictionary.sensagent.com/320th_Air_Expeditionary_Wing/en-en/
  17. ^ Globalsecurity.org, Joint Task Force-Southwest Asia, retrieved January 2009
  18. ^
  19. ^ 320th AEW 'deploys' Airmen for inaugural support
  20. ^ a b Department of the Air Force/MPM Letter 539q, 31 January 1984, Subject: Consolidation of Units
  21. ^ a b c Lineage, stations, assignments and components in Haulman, Daniel L., Lineage and Honors History of 320th Air Expeditionary Wing, 1 February 2002 (excludes classified actions)
  22. ^ a b c d e f Research Division, Air Force Historical Research Agency, Air Force Organizational Change Status Report, Maxwell AFB, AL (date is month of action)
  23. ^ Station number in Anderson
  24. ^ Station designators in France and Germany are in Johnson
  25. ^ a b c d Mueller, pp. 363-374
  26. ^ Maurer Combat Squadrons, pp. 545-546
  27. ^ Maurer, Combat Squadrons, p. 547
  28. ^ Maurer, Combat Squadrons, p. 548
  29. ^ Maurer, Combat Squadrons, p. 549

Bibliography

 This article incorporates public domain material from websites or documents of the Air Force Historical Research Agency.

See Also

External links

  • Color film clips of the 320th Bomb Group
This article was sourced from Creative Commons Attribution-ShareAlike License; additional terms may apply. World Heritage Encyclopedia content is assembled from numerous content providers, Open Access Publishing, and in compliance with The Fair Access to Science and Technology Research Act (FASTR), Wikimedia Foundation, Inc., Public Library of Science, The Encyclopedia of Life, Open Book Publishers (OBP), PubMed, U.S. National Library of Medicine, National Center for Biotechnology Information, U.S. National Library of Medicine, National Institutes of Health (NIH), U.S. Department of Health & Human Services, and USA.gov, which sources content from all federal, state, local, tribal, and territorial government publication portals (.gov, .mil, .edu). Funding for USA.gov and content contributors is made possible from the U.S. Congress, E-Government Act of 2002.
 
Crowd sourced content that is contributed to World Heritage Encyclopedia is peer reviewed and edited by our editorial staff to ensure quality scholarly research articles.
 
By using this site, you agree to the Terms of Use and Privacy Policy. World Heritage Encyclopedia™ is a registered trademark of the World Public Library Association, a non-profit organization.
 


Copyright © World Library Foundation. All rights reserved. eBooks from Project Gutenberg are sponsored by the World Library Foundation,
a 501c(4) Member's Support Non-Profit Organization, and is NOT affiliated with any governmental agency or department.