World Library  
Flag as Inappropriate
Email this Article

Structure of the United States Air Force

 

Structure of the United States Air Force

The Structure of the United States Air Force refers to the unit designators and organizational hierarchy of the United States Air Force, which starts at the most senior commands.

The senior headquarters of the Department of the Air Force, Headquarters Air Force (HAF) consists of two staffs in the Pentagon: the Office of the Secretary of the Air Force and the Air Staff. These are headed by the United States Secretary of the Air Force and the Chief of Staff of the United States Air Force.

Contents

  • Current organizations 1
    • Direct Reporting Unit 1.1
    • Field Operating Agency 1.2
    • Major Command (MAJCOM) 1.3
    • Numbered Air Force (NAF) 1.4
    • Wing 1.5
    • Group 1.6
    • Squadron 1.7
    • Flight 1.8
    • Element 1.9
  • Historical organizations 2
    • Separate Operating Agency 2.1
    • Operational Command 2.2
    • Air Division 2.3
  • Reserve components and auxiliary 3
    • Air National Guard 3.1
    • United States Air Force Reserve 3.2
    • Civil Air Patrol 3.3
  • Other generic designations 4
  • Notes 5
  • References 6
  • External links 7

Current organizations

Direct Reporting Unit

A Major Command. The term "Direct Reporting Unit" comes from the fact that the unit reports directly to the Chief of Staff of the Air Force or to a designated representative on the Air Staff.[1]

A DRU has a specialized and restricted mission, meaning that it is a single purpose unit, usually to the exclusion of other duties, reporting to Air Force Air Staff alone. It is separate and independent from any organization structure or supervision: major command, numbered air force, operational command, division, wing, group, squadron, or field operating agency. It is a DRU because the unit's specific and focused duties, legal issues that necessitate the unit's independence, or other factors such as national security concerns.

The Air Force has a very limited number of Direct Reporting Units:[2]
DRU Location
Air Force District of Washington (AFDW) Joint Base Andrews Naval Air Facility, Maryland
Air Force Operational Test and Evaluation Center (AFOTEC) Kirtland Air Force Base New Mexico
United States Air Force Academy (USAFA) United States Air Force Academy, Colorado

Field Operating Agency

The Field Operating Agency (FOA) is a subdivision of the Air Force, directly subordinate to an HQ USAF functional manager. A FOA performs field activities beyond the scope of any of the major commands. The activities are specialized or associated with an Air Force-wide mission, and do not include functions performed in management headquarters, unless specifically directed by a DoD authority.

Major Command (MAJCOM)

A major subdivision of the Air Force, the Major Command (MAJCOM) is directly subordinate to HQ USAF or the Air Staff. MAJCOM headquarters are management headquarters for a major segment of the AF and thus have the full range of functional staff.

Numbered Air Force (NAF)

The Numbered Air Force (NAF) is a tactical echelon directly under an operational MAJCOM that provide operational leadership and supervision. NAFs are structured to perform an operational or warfighting mission, often oriented to a specific geographic region. A NAF is directly assigned operational units, such as wings, groups, and squadrons.

Wing

Wings have a distinct mission with a specific scope, reporting to the NAF or HQ USAF. Wings are made up of one or more groups, consisting of several squadrons, and usually commanded by a Colonel, but high visibility wings can have Brigadier Generals/O-7s in command. Wings now encompass both operations and support activities (Maintenance Groups, Mission Support Groups), and are usually one of three major types: Operational Wing, Air Base Wing, and Specialized Mission Wing. As of 30 September 2006 USAF had 120 wings, including 57 flying (manned aircraft) wings.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(

Group

Made up of several squadrons and commanded by a Colonel/O-6, the group was of less visibility for some decades but came back to prominence during a transition to the "objective wing" organization in the 1990s. This reorganization changed the basic base command structure from the "Wing Commander/Base Commander" scheme to a single wing commander ("one base-one boss") with multiple groups under his command. There are two general types of groups: Dependent (operations, logistics, support, medical, or large functional unit); and Independent (a group with wing-like functions and responsibilities whose scope and size does not warrant wing-level designation). As of 30 September 2006, USAF had 17 independent groups, nine of them flying establishments.

Squadron

A Squadron is considered to be the basic unit in the USAF. Squadrons are usually made up of several flights (typically four), a few hundred people, and eight to 24 aircraft. A squadron is usually commanded by a Captain to Lieutenant Colonel. Number digits apply; 1 -100, 301 - 999 series for Air Force and Air Force Reserve squadrons (i.e. 10th Fighter Squadron), and 101 - 299 series for Air National Guard (i.e. 188th Fighter Squadron).

Flight

A Flight is the smallest official capacity in the Air Force and usually ranges from a dozen people to over a hundred, or typically four aircraft. The typical flight commander is a Captain with the flight NCOIC or "flight chief" typically being a Master Sergeant. Letter designations can be used, such as Alpha Flight, Bravo Flight, etc.

Element

Although not officially recognized, an Element is well known to be the smallest unit in the Air Force. Typically, a flight is broken up into 3-4 evenly distributed elements. The typical element leader is a Technical Sergeant.

Historical organizations

Separate Operating Agency

(not in current use)

Separate Operating Agencies (SOA) were major Air Force subdivisions directly subordinate to HQ USAF and has all the "prodecural (administrative and logistical) responsibilities" of a MAJCOM. In 1991, most active SOAs changed in status to DRUs or FOAs.

Operational Command

(not in current use)

The Operational Command was a subdivision of the NAF, usually centered around a specific mission or unit. The numbering system of the Operational Command was usually defined by the NAF it was a part of, given in Roman numerals. For instance, the Tenth Air Force could have the X Wing Bomber Command and the X Wing Fighter Command as subordinate Operational Commands of the Empire.

Air Division

Air Divisions have existed since World War II when many of the numbered Air Divisions began as wings. There were both named and numbered Divisions, mostly Air Divisions. Recently HQ USAF gradually inactivated or redesignated Divisions recently in an effort to encourage rapid decision-making and to create a more

Reserve components and auxiliary

Air National Guard

The Air National Guard, often referred to as the Air Guard, is the air force Puerto Rico, the territories of Guam and the U.S. Virgin Islands, and the District of Columbia of the United States. Established under Title 10 and Title 32 of the U.S. Code, the Air National Guard is part of a state's National Guard and is divided up into units stationed in each of the 50 states and U.S. territories and operates under their respective state governor or territorial government. The Air National Guard may be called up for active duty by the state governors or territorial commanding generals to help respond to domestic emergencies and disasters, such as those caused by hurricanes, floods, and earthquakes.

With the consent of state governors, members or units of the Air National Guard may be appointed, temporarily or indefinitely, to be federally recognized members of the armed forces, in the active or inactive service of the United States. If federally recognized, the member or unit becomes part of the Air National Guard of the United States, which is one of two reserve components of the United States Air Force, and part of the National Guard of the United States. Air National Guard of the United States units or members may be called up for federal active duty in times of Congressionally sanctioned war or national emergency.

United States Air Force Reserve

CONUS based AFRC units are assigned to AFRC. This assignment governs command relationships within the Air Force chain-of-command. 10 USC § 10174 states:

(a) Establishment of Command.— The Secretary of the Air Force, with the advice and assistance of the Chief of Staff of the Air Force, shall establish an Air Force Reserve Command. The Air Force Reserve Command shall be operated as a separate command of the Air Force.

(b) Commander.— The Chief of Air Force Reserve is the Commander of the Air Force Reserve Command. The commander of the Air Force Reserve Command reports directly to the Chief of Staff of the Air Force.

(c) Assignment of Forces.— The Secretary of the Air Force—

(1) shall assign to the Air Force Reserve Command all forces of the Air Force Reserve stationed in the continental United States other than forces assigned to the unified combatant command for special operations forces established pursuant to section 167 of this title; and

(2) except as otherwise directed by the Secretary of Defense in the case of forces assigned to carry out functions of the Secretary of the Air Force specified in section 8013 of this title, shall assign to the combatant commands all such forces assigned to the Air Force Reserve Command under paragraph (1) in the manner specified by the Secretary of Defense.

Civil Air Patrol

Title 10 of the United States Code and its purposes defined by Title 36. When conducting missions for the Air Force as the official Air Force auxiliary, the Civil Air Patrol is now included in the Air Force’s definition of the total force.[4]

Other generic designations

In addition to the aforementioned unit structures, the USAF has used, and still uses, a variety of other designations to identify organizations. These organization designations include:

  • Academy
  • Agency
  • Area
  • Band
  • Battlelab
  • Branch
  • Center
  • Central
  • Clinic
  • College
  • Crew
  • Depository
  • Depot
  • Detachment
  • Directorate
  • Dispensary
  • District
  • Element
  • Facility
  • Fire team
  • Hospital
  • Infirmary
  • Institute
  • Laboratory
  • Library
  • Museum
  • Office
  • Operating Location
  • Organization
  • Plant
  • Range
  • Region
  • School
  • Section
  • Sector
  • Squad
  • Staff
  • System
  • Team
  • Unit
  • University

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. ^ Air Force Historical Research Agency: Direct Reporting Units
  2. ^ DRU Factsheet, AFHRA
  3. ^
  4. ^ http://www.af.mil/mobile/News/tabid/252/Article/615251/civil-air-patrol-joins-total-force-airmen.aspx

References

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

External links

  • Airman magazine January 2004 Web Edition at the Wayback Machine (archived January 13, 2009) Airman magazine Web Edition copyright notice: http://web.archive.org/web/20090517081401/http://www.af.mil/news/airman/notice.shtml
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.