World Library  
Flag as Inappropriate
Email this Article
 

505th Command and Control Wing

505th Command and Control Wing
505th Command and Control Wing emblem
Active 1947–present
Country United States
Branch United States Air Force
Part of United States Air Force Warfare Center
Garrison/HQ Hurlburt Field, Florida

The USAF Warfare Center. The 505th CCW is dedicated to improving warfighter readiness through integrated training, tactics development and testing for operational-level command and control of air, space and cyberspace. It hosts the US Air Force's only Air Operations Center Formal Training Unit, located at Hurlburt Field, Florida.

Contents

  • Mission 1
  • Subordinate units 2
  • History 3
    • World War II 3.1
    • Postwar era 3.2
    • Vietnam War 3.3
    • Post-Vietnam era 3.4
    • Current era 3.5
    • Lineage 3.6
    • Assignments 3.7
    • Components 3.8
    • Stations 3.9
    • Weapons Systems Operated 3.10
  • See also 4
  • References 5
    • Notes 5.1
    • Bibliography 5.2
  • External links 6

Mission

The mission of the 505th CCW is to improve warfighter capability through command and control testing, tactics development and training. While the mission focuses on Component Numbered Air Forces (C-NAF) attached and assigned forces, the wing is also tasked with supporting joint and coalition forces engaged in all aspects of command and control, or C2. C2 is where the integration of air, space and cyber happens. Through a multi-disciplinary approach to training and development of tactics, techniques and procedures (TTP) for C-NAF Headquarters; testing and training of key C2 systems; comprehensive, realistic, cutting-edge operational through tactical-level live, virtual and constructive exercises, the 505th is postured to provide the best possible support to US soldiers, sailors, airmen and marines. 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 505th CCW is responsible for developing the combat capability of the Air and Space Operations Center (AOC) and for developing and integrating joint live, virtual and constructive training capabilities within the US Air Force Distributed Mission Operations Center. In addition to hosting the Air Force's only AOC Formal Training Unit, the 505th CCW delivers realistic, cutting-edge operational C2 training through Blue Flag, Virtual Flag, Joint Expeditionary Force Experiment and equivalent overseas Combatant Command and Service exercises and executes operational test for all elements of the Theater Air Control System including E-3A AWACS, E-8 Joint STARS, Command Reporting Center, AOC, Air Force Digital Common Ground Station and Tactical Air Control Party. Through the Operational Command Training Program, retired Air Force three-star general officer Senior Mentors train Air Force, joint and coalition operational-level commanders and their staffs.

The 505th CCW Detachment 1 at Fort Leavenworth, Kansas advises the United States Army Combined Arms Center Commanding General and key staff on all aspects of air and space power doctrine and employment and integrates realistic air and space capabilities in the Army's worldwide Battle Command Training Program. Det 1 integrates a doctrinally-correct representation of air power in Army Mission Rehearsal Exercises and Warfighter Exercises.

The unique mission of the 84th Radar Evaluation Squadron is to provide Department of Defense radar planning, integration and evaluations while simultaneously monitoring the US radar grid.

Through a multi-disciplinary approach to training and development of tactics, techniques, and procedures for the AOC; testing and training of key C2 systems; and comprehensive, realistic, state-of-the-art operational and tactical live, virtual and constructive exercises, the 505th CCW prepares Air Force, joint and coalition forces for crisis, contingency and combat operations.

Subordinate units

  • Detachment 1 - Fort Leavenworth, Kansas
  • 505th Training Group - Hurlburt Field, Florida
    • 505th Training Squadron - Hurlburt Field
    • 505th Combat Training Squadron - Hurlburt Field
    • 505th Communications Squadron - Hurlburt Field
    • 705th Training Squadron - Hurlburt Field
  • 505th Test and Evaluation Group - Nellis Air Force Base, Nevada

History

World War II

The Wing has a unique history dating back to the establishment of the Seattle Air Defense Wing in the summer of 1942. The wing was established as an air defense organization to provide protection primarily for the Boeing plants and the multitude of military facilities in the northwest; from McChord Field and other fighter airfields in the northwest engaged in training provided by the Fourth Air Force and for third stage training in the Washington-Oregon region which were attached to the wing, and would, if necessary, provide a defensive unit in case of, presumably, a Japanese attack.

By mid-1943 the fortunes of war had eliminated the threat of an air raid by the Japanese on the West Coast; the wing was reduced to an administrative unit under IV Fighter Command, later being reassigned to the Fourth Air Force. It was designated as a Defense Region, remaining an administrative organization until the end of the war.

Postwar era

The organization was placed in a provisional status in January 1945, being re-designated as the Seattle Provisional Control Group. It controlled little or no assets, being under the Fourth Air Force 321st Wing (Special). Its mission remained the air defense of the Pacific Northwest and in July 1946, it moved from Fourth Air Force Headquarters in San Francisco, California to a location in the Seattle area. It was assigned to the new Air Defense Command upon its activation on 21 March 1946. It coordinated air defense in the Northwest, being re-designated the 412th Western Aircraft Control and Warning Group on 1 March 1947.

On 2 May 1947, it was again reformed as the 505th Aircraft Control and Warning Group (ACWG). Stationed at McChord Field (later Air Force Base), Washington, the group was activated under the Air Defense Command, becoming the first post-World War II air control and warning unit. For the remainder of 1947 the group supported two radar stations, one at Arlington, Washington, and one at Half Moon Bay near San Francisco. These stations worked with fighter squadrons to perfect ground-control and interception techniques. The group included a fleet of B-25 Mitchells used extensively to perform radar calibration flights. The experience gained from operating the two sites proved invaluable to air defense planners who were in the process of designing a nationwide early warning radar network.

As tensions increased between the US and the USSR, the importance of the 505th mission grew. In September 1949, the group no longer operated B-25s, yet they remained focused on early warning systems, supporting detachments along the Pacific Northwest coast. The group provided early warning operating radar systems including the AN/TPS-1. On 15 March 1950, the reserve 564th ACWG was activated as a Corollary unit at Silver Lake, sharing the 505th's equipment and facilities. The 564th was called to active duty on 10 May 1951 and was inactivated, with its personnel used as fillers for the 505th. With a growing movement to assign homeland defense to reserve units, the 505 ACWG inactivated on 6 February 1952. However, this would not mark the end of the 505th. The Air Force would revive the unit and its expertise with radars 13 years later

Vietnam War

On 2 November 1965, the 505 ACWG was re-activated as the 505th Tactical Control Group (TCG). Replacing the 6250th Tactical Air Support Group that activated three months earlier, 505 TCG called Tan Son Nhut Air Base in South Vietnam home. The 505th was responsible with providing Command and Control (C2), for the Tactical Control System in Southeast Asia (SEA). This mission included the operation of numerous radar sites throughout South Vietnam and Thailand from 1965 to 1973. In addition to the radar sites, the group managed O-1 Bird Dog observation aircraft assigned to five squadrons from late 1965 through 1966. These O-1 units included the 19th, 20th, 21st, 22nd and 23d Tactical Air Support Squadrons, operating from various bases throughout SEA. Forward Air Controllers (FACs) flew the "Bird Dogs" to find and mark enemy activity, direct air strikes and perform battle damage assessment.

Initially assigned to the 2d Air Division in Vietnam, the 505th re-aligned under the Seventh Air Force on 1 April 1966. Soon afterward, the 505th received approval for its emblem and official motto - "Search and Direct". The group eventually lost its flying squadrons but the radar mission grew. The 505th distinguished itself as the only unit to furnish all of SEA an electronics ground environment system for aircraft control and warning and radar services. After eight years of service in Vietnam the group earned thirteen campaign streamers and five Air Force Outstanding Unit Awards with Combat "V" devices. With the American withdrawal in 1973 came the unit’s inactivation.

Post-Vietnam era

The 505th’s lineage continued with the activation of the 4442d Tactical Control Group on 1 March 1980. Functioning as the 4442d, the unit aligned under the USAF Tactical Air Warfare Center. The group established a headquarters at Hurlburt Field, Florida where it managed a command, control, communications (C3) and intelligence complex. Along with the C3 operations, the unit conducted operational tests and evaluated tactical air control elements. It also provided training on tactical air control and operated the USAF Air Ground Operations School until 1997. The 505th has remained at Hurlburt since 1980 but received several name changes to match the evolution of its mission.

With the elimination of MAJCOMs in 1991, the unit re-designated as the 505th Air Control Group. In April 1993, when the 505th began operating the new USAF Battlestaff Training School, the Air Force renamed the unit 505th Command and Control Evaluation Group. At the same time, the mission expanded to include a new detachment at Kirkland AFB, New Mexico. By 1998, with the ever-increasing importance of the Air Operations Center as a weapons system and the units expanding mission to train personnel in its use, the Air Force again changed the 505th’s name, this time to the Air Force Command and Control Training and Innovation Center (AFC2TIC). The center continued to test new command and control systems and train personnel on their use in combat. Realizing that the center incorporated more than just a building with several detachments located around the US, the Air Force gave it group status on 15 April 1999. The group carried its mission into the 21st century providing modern training and techniques to increase the command and control capabilities at the operational level of the Air Force.

Current era

After almost 54 years of re-designation, inactivation, consolidation and renaming, the group finally became a wing on 12 March 2004. Now the 505th Command and Control Wing, it controls three groups: the 505th Training Group at Hurlburt Field; the 505th Test and Evaluation Group at Nellis AFB; and the 505th Distributed Warfare Group at Kirtland Air Force Base, New Mexico.

Lineage

  • Constituted as the Seattle Air Defense Wing on 6 August 1942
Activated on 11 August 1942
Redesignated the Seattle Fighter Wing in July 1943
Redesignated the Seattle Air Defense Region on 1 Jul 1944
Redesignated the Seattle Provisional Control Group on 1 January 1945
Redesignated the Seattle Control Group on 1 January 1947
Redesignated the 412th Western Aircraft Control and Warning Group on 1 March 1947
Redesignated the 505th Aircraft Control and Warning Group on 2 May 1947
Activated on 21 May 1947
Inactivated on 6 February 1952
  • Redesignated the 505th Tactical Control Group and activated on 2 November 1965
Organized on 8 November 1965
Inactivated on 15 March 1973
  • Consolidated on 1 November 1991 with the 4442d Tactical Control Group, which was established and activated on 1 March 1980
Redesignated the 505th Air Control Group on 1 November 1991
Redesignated the 505th Command and Control Evaluation Group on 15 April 1993
Redesignated the Air Force Command and Control Training and Innovation Center on 15 September 1998
Redesignated the Air Force Command and Control Training and Innovation Group on 15 April 1999
Redesignated the 505th Command and Control Wing on 12 March 2004

Assignments

25th Air Division, 16 November 1949 – 6 February 1952
2d Air Division, 8 November 1965 – 1 April 1966
  • Seventh Air Force, 1 April 1966 – 15 March 1973.
  • USAF Tactical Air (later, USAF Air) Warfare Center (later, 53 Wing)
1 March 1980 – 1 October 1997
  • Air and Space Command and Control Agency (later, Aerospace Command and Control Agency, Aerospace Command and Control & Intelligence, Surveillance, and Reconnaissance Center)
1 October 1997 – 30 April 2002
United States Air Force Warfare Center, since 1 June 1992

Components

Attached at McChord Field, Washington
Attached at Portland Army Air Base, Oregon
Attached at Redmond Army Airfield, Oregon

Stations

  • Seattle Airport, Washington, 20 August 1942
  • San Francisco, California, 7 June 1944
  • Seattle, Washington (Station undetermined), 1 July 1946
  • Silver Lake AWS, Washington, 21 May 1947
  • McChord AFB, Washington, 15 August 1951 – 6 February 1952
  • Tan Son Nhut Air Base, South Vietnam, 8 November 1965 – 15 March 1973
  • Eglin AF Aux Field #9 (Hurlburt Field), Florida, since 1 March 1980

Weapons Systems Operated

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. ^ Two units redesignate to test, integrate air, space, cyber C2 domains, 4/8/2011, 505th Command and Control Wing Public Affairs

Bibliography

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

  • 505th Command and Control Wing Website

External links

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 Hawaii eBook Library 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.