This email address is being protected from spambots. You need JavaScript enabled to view it. > Apachine License Version 2.0 */ (function(){function b(a,b,e,f){var c=(a.className||"").split(/\s+/g);""===c[0]&&c.shift();var d=c.indexOf(b);0>d&&e&&c.push(b);0<=d&&f&&c.splice(d,1);a.className=c.join(" ");return 0<=d}if(!("classList"in document.createElement("div"))){var e={add:function(a){b(this.element,a,!0,!1)},contains:function(a){return b(this.element,a,!1,!1)},remove:function(a){b(this.element,a,!1,!0)},toggle:function(a){b(this.element,a,!0,!0)}};Object.defineProperty(HTMLElement.prototype,"classList",{get:function(){if(this._classList)return this._classList; var a=Object.create(e,{element:{value:this,writable:!1,enumerable:!0}});Object.defineProperty(this,"_classList",{value:a,writable:!1,enumerable:!1});return a},enumerable:!0})}})(); This email address is being protected from spambots. You need JavaScript enabled to view it. > and other contributors * https://github.com/coolwanglu/pdf2htmlEX/blob/master/share/LICENSE */ /* * Attention: * This files is to be optimized by closure-compiler, * so pay attention to the forms of property names: * * string/bracket form is safe, won't be optimized: * var obj={ 'a':'b' }; obj['a'] = 'b'; * name/dot form will be optimized, the name is likely to be modified: * var obj={ a:'b' }; obj.a = 'b'; * * Either form can be used for internal objects, * but must be consistent for each one respectively. * * string/bracket form must be used for external objects * e.g. DEFAULT_CONFIG, object stored in page-data * property names are part of the `protocol` in these cases. * */ 'use strict'; var pdf2htmlEX = window['pdf2htmlEX'] = window['pdf2htmlEX'] || {}; /** * @const * @struct */ var CSS_CLASS_NAMES = { page_frame : 'pf', page_content_box : 'pc', page_data : 'pi', background_image : 'bi', link : 'l', __dummy__ : 'no comma' }; /** * configurations of Viewer * @const * @dict */ var DEFAULT_CONFIG = { // id of the element to put the pages in 'container_id' : 'page-container', // id of the element for sidebar (to open and close) 'sidebar_id' : 'sidebar', // id of the element for outline 'outline_id' : 'outline', // class for the loading indicator 'loading_indicator_cls' : 'loading-indicator', // How many page shall we preload that are below the last visible page 'preload_pages' : 3, // how many ms should we wait before actually rendering the pages and after a scroll event 'render_timeout' : 100, // zoom ratio step for each zoom in/out event 'scale_step' : 0.9, // register global key handler 'key_handler' : true, // register hashchange handler 'hashchange_handler' : true, '__dummy__' : 'no comma' }; /** @const */ var EPS = 1e-6; /************************************/ /* utility function */ /** * @param{Array.} ctm */ function invert(ctm) { var det = ctm[0] * ctm[3] - ctm[1] * ctm[2]; return [ ctm[3] / det ,-ctm[1] / det ,-ctm[2] / det ,ctm[0] / det ,(ctm[2] * ctm[5] - ctm[3] * ctm[4]) / det ,(ctm[1] * ctm[4] - ctm[0] * ctm[5]) / det ]; }; /** * @param{Array.} ctm * @param{Array.} pos */ function transform(ctm, pos) { return [ctm[0] * pos[0] + ctm[2] * pos[1] + ctm[4] ,ctm[1] * pos[0] + ctm[3] * pos[1] + ctm[5]]; }; /** * @param{Element} ele */ function get_page_number(ele) { return parseInt(ele.getAttribute('data-page-no'), 16); }; /** * @param{NodeList} eles */ function disable_dragstart(eles) { for (var i = 0, l = eles.length; i 0 ? config : {})); this.pages_loading = []; this.init_before_loading_content(); var self = this; document.addEventListener('DOMContentLoaded', function(){ self.init_after_loading_content(); }, false); }; Viewer.prototype = { scale : 1, /* * index of the active page (the one with largest visible area) * which estimates the page currently being viewed */ cur_page_idx : 0, /* * index of the first visible page * used when determining current view */ first_page_idx : 0, init_before_loading_content : function() { /* hide all pages before loading, will reveal only visible ones later */ this.pre_hide_pages(); }, init_after_loading_content : function() { this.sidebar = document.getElementById(this.config['sidebar_id']); this.outline = document.getElementById(this.config['outline_id']); this.container = document.getElementById(this.config['container_id']); this.loading_indicator = document.getElementsByClassName(this.config['loading_indicator_cls'])[0]; { // Open the outline if nonempty var empty = true; var nodes = this.outline.childNodes; for (var i = 0, l = nodes.length; i promise ? */ load_page : function(idx, pages_to_preload, callback) { var pages = this.pages; if (idx >= pages.length) return; // Page does not exist var cur_page = pages[idx]; if (cur_page.loaded) return; // Page is loaded if (this.pages_loading[idx]) return; // Page is already loading var cur_page_ele = cur_page.page; var url = cur_page_ele.getAttribute('data-page-url'); if (url) { this.pages_loading[idx] = true; // set semaphore // add a copy of the loading indicator var new_loading_indicator = this.loading_indicator.cloneNode(); new_loading_indicator.classList.add('active'); cur_page_ele.appendChild(new_loading_indicator); // load data { var self = this; var _idx = idx; var xhr = new XMLHttpRequest(); xhr.open('GET', url, true); xhr.onreadystatechange = function(){ if (xhr.readyState != 4) return; if (xhr.status === 200) { // find the page element in the data var div = document.createElement('div'); div.innerHTML = xhr.responseText; var new_page = null; var nodes = div.childNodes; for (var i = 0, l = nodes.length; i 0) { var self = this; setTimeout(function() { self.load_page(idx+1, pages_to_preload); },0); } }, /* * Hide all pages that have no 'opened' class * The 'opened' class will be added to visible pages by JavaScript * We cannot add this in the default CSS because JavaScript may be disabled */ pre_hide_pages : function() { /* pages might have not been loaded yet, so add a CSS rule */ var s = '@media screen{.'+CSS_CLASS_NAMES.page_content_box+'{display:none;}}'; var n = document.createElement('style'); if (n.styleSheet) { n.styleSheet.cssText = s; } else { n.appendChild(document.createTextNode(s)); } document.head.appendChild(n); }, /* * show visible pages and hide invisible pages */ render : function () { var container = this.container; /* * show the pages that are 'nearly' visible -- it's right above or below the container * * all the y values are in the all-page element's coordinate system */ var container_min_y = container.scrollTop; var container_height = container.clientHeight; var container_max_y = container_min_y + container_height; var visible_min_y = container_min_y - container_height; var visible_max_y = container_max_y + container_height; var cur_page_fully_visible = false; var cur_page_idx = this.cur_page_idx; var max_visible_page_idx = cur_page_idx; var max_visible_ratio = 0.0; var pl = this.pages; for (var i = 0, l = pl.length; i = visible_min_y)) { // cur_page is 'nearly' visible, show it or load it if (cur_page.loaded) { cur_page.show(); } else { this.load_page(i); } } else { cur_page.hide(); } } }, /* * update cur_page_idx and first_page_idx * normally called upon scrolling */ update_page_idx: function () { var pages = this.pages; var pages_len = pages.length; // there is no chance that cur_page_idx or first_page_idx is modified if (pages_len < 2) return; var container = this.container; var container_min_y = container.scrollTop; var container_max_y = container_min_y + container.clientHeight; // binary search for the first page // whose bottom border is below the top border of the container var first_idx = -1; var last_idx = pages_len; var rest_len = last_idx - first_idx; // TODO: use current first_page_idx as a hint? while(rest_len > 1) { var idx = first_idx + Math.floor(rest_len / 2); var cur_page_ele = pages[idx].page; if (cur_page_ele.offsetTop + cur_page_ele.clientTop + cur_page_ele.clientHeight >= container_min_y) { last_idx = idx; } else { first_idx = idx; } rest_len = last_idx - first_idx; } /* * with malformed settings it is possible that no page is visible, e.g. * - the container is to thin, which lies in the margin between two pages * - all pages are completely above or below the container * but we just assume that they won't happen. */ this.first_page_idx = last_idx; // find the page with largest visible area var cur_page_idx = this.cur_page_idx; var max_visible_page_idx = cur_page_idx; var max_visible_ratio = 0.0; for(var i = last_idx; i container_max_y) break; // check the visible fraction of the page var page_visible_ratio = ( Math.min(container_max_y, page_max_y) - Math.max(container_min_y, page_min_y) ) / page_height; // stay with the current page if it is still fully visible if ((i === cur_page_idx) && (Math.abs(page_visible_ratio - 1.0) <= EPS)) { max_visible_page_idx = cur_page_idx; break; } if (page_visible_ratio > max_visible_ratio) { max_visible_ratio = page_visible_ratio; max_visible_page_idx = i; } } this.cur_page_idx = max_visible_page_idx; }, /** * @param{boolean} renew renew the existing schedule instead of using the old one */ schedule_render : function(renew) { if (this.render_timer !== undefined) { if (!renew) return; clearTimeout(this.render_timer); } var self = this; this.render_timer = setTimeout(function () { /* * render() may trigger load_page(), which may in turn trigger another render() * so delete render_timer first */ delete self.render_timer; self.render(); }, this.config['render_timeout']); }, /* * Handling key events, zooming, scrolling etc. */ register_key_handler: function () { /* * When user try to zoom in/out using ctrl + +/- or mouse wheel * handle this and prevent the default behaviours * * Code credit to PDF.js */ var self = this; // Firefox specific event, so that we can prevent browser from zooming window.addEventListener('DOMMouseScroll', function(e) { if (e.ctrlKey) { e.preventDefault(); var container = self.container; var rect = container.getBoundingClientRect(); var fixed_point = [e.clientX - rect['left'] - container.clientLeft ,e.clientY - rect['top'] - container.clientTop]; self.rescale(Math.pow(self.config['scale_step'], e.detail), true, fixed_point); } }, false); window.addEventListener('keydown', function(e) { var handled = false; /* var cmd = (e.ctrlKey ? 1 : 0) | (e.altKey ? 2 : 0) | (e.shiftKey ? 4 : 0) | (e.metaKey ? 8 : 0) ; */ var with_ctrl = e.ctrlKey || e.metaKey; var with_alt = e.altKey; switch (e.keyCode) { case 61: // FF/Mac '=' case 107: // FF '+' and '=' case 187: // Chrome '+' if (with_ctrl){ self.rescale(1.0 / self.config['scale_step'], true); handled = true; } break; case 173: // FF/Mac '-' case 109: // FF '-' case 189: // Chrome '-' if (with_ctrl){ self.rescale(self.config['scale_step'], true); handled = true; } break; case 48: // '0' if (with_ctrl){ self.rescale(0, false); handled = true; } break; case 33: // Page UP: if (with_alt) { // alt-pageup -> scroll one page up self.scroll_to(self.cur_page_idx - 1); } else { // pageup -> scroll one screen up self.container.scrollTop -= self.container.clientHeight; } handled = true; break; case 34: // Page DOWN if (with_alt) { // alt-pagedown -> scroll one page down self.scroll_to(self.cur_page_idx + 1); } else { // pagedown -> scroll one screen down self.container.scrollTop += self.container.clientHeight; } handled = true; break; case 35: // End self.container.scrollTop = self.container.scrollHeight; handled = true; break; case 36: // Home self.container.scrollTop = 0; handled = true; break; } if (handled) { e.preventDefault(); return; } }, false); }, /** * @param{number} ratio * @param{boolean} is_relative * @param{Array.=} fixed_point preserve the position (relative to the top-left corner of the viewer) after rescaling */ rescale : function (ratio, is_relative, fixed_point) { var old_scale = this.scale; var new_scale = old_scale; // set new scale if (ratio === 0) { new_scale = 1; is_relative = false; } else if (is_relative) new_scale *= ratio; else new_scale = ratio; this.scale = new_scale; if (!fixed_point) fixed_point = [0,0]; // translate fixed_point to the coordinate system of all pages var container = this.container; fixed_point[0] += container.scrollLeft; fixed_point[1] += container.scrollTop; // find the visible page that contains the fixed point // if the fixed point lies between two pages (including their borders), it's contained in the first one var pl = this.pages; var pl_len = pl.length; for (var i = this.first_page_idx; i = fixed_point[1]) break; } var fixed_point_page_idx = i - 1; // determine the new scroll position // each-value consists of two parts, one inside the page, which is affected by rescaling, // the other is outside, (e.g. borders and margins), which is not affected // if the fixed_point is above the first page, use the first page as the reference if (fixed_point_page_idx < 0) fixed_point_page_idx = 0; var fp_p = pl[fixed_point_page_idx].page; var fp_p_width = fp_p.clientWidth; var fp_p_height = fp_p.clientHeight; var fp_x_ref = fp_p.offsetLeft + fp_p.clientLeft; var fp_x_inside = fixed_point[0] - fp_x_ref; if (fp_x_inside < 0) fp_x_inside = 0; else if (fp_x_inside > fp_p_width) fp_x_inside = fp_p_width; var fp_y_ref = fp_p.offsetTop + fp_p.clientTop; var fp_y_inside = fixed_point[1] - fp_y_ref; if (fp_y_inside < 0) fp_y_inside = 0; else if (fp_y_inside > fp_p_height) fp_y_inside = fp_p_height; // Rescale pages for (var i = 0; i =} pos [x,y] where (0,0) is the top-left corner */ scroll_to : function(page_idx, pos) { var pl = this.pages; if ((page_idx < 0) || (page_idx >= pl.length)) return; var target_page = pl[page_idx]; var cur_target_pos = target_page.view_position(); if (pos === undefined) pos = [0,0]; var container = this.container; container.scrollLeft += pos[0] - cur_target_pos[0]; container.scrollTop += pos[1] - cur_target_pos[1]; } }; // export pdf2htmlEX.Viewer pdf2htmlEX['Viewer'] = Viewer;
DEPARTMENT OF THE ARMY
FISCAL YEAR 2020
MILITARY CONSTRUCTION (Part I)
(DOLLARS ARE IN THOUSANDS)
STATE
----- PROJECT
NUMBER
-------
INSTALLATION (COMMAND)
----------------------
PROJECT TITLE
-------------
AUTHORIZATION
REQUEST
-------------
APPROPRIATION
REQUEST
-------------
NEW/
CURRENT
MISSION
-------
PAGE
----
Kentucky Fort Campbell (IMCOM) 41
69347 General Purpose Maintenance Shop 51,000 51,000 C 43
71725 Automated Infantry Platoon Battle Course 7,100 7,100 C 47
78217 Easements 3,200 3,200 C 50
------------- -------------
Subtotal Fort Campbell Part I $ 61,300 61,300
* TOTAL MCA FOR Kentucky $ 61,300 61,300
PAGE NO. 39
THIS PAGE INTENTIONALLY LEFT BLANK
PAGE NO. 40
6. PERSONNEL STRENGTH: (1) PERMANENT (2) STUDENTS (3) SUPPORTED (4) TOTAL
OFFICER ENLIST CIVIL OFFICER ENLIST CIVIL OFFICER ENLIST CIVIL
A. AS OF 31 OCT 2018 3683 22810 2876 50 319 1 142 511 6867 37,259
B. END FY 2024 3710 22948 2980 43 305 0 142 576 5852 36,556
7. INVENTORY DATA ($000)
A. TOTAL AREA.......... 44,343 ha (109,573 AC)
B. INVENTORY TOTAL AS OF 31 DEC 2018............................. 10,297,835
C. AUTHORIZATION NOT YET IN INVENTORY............................ 1,694,027
D. AUTHORIZATION REQUESTED IN THE FY 2020 PROGRAM................ 61,300
E. AUTHORIZATION INCLUDED IN THE FY 2021 PROGRAM................. 0
F. PLANNED IN NEXT THREE YEARS (NEW MISSION ONLY)................ 0
G. REMAINING DEFICIENCY.......................................... 2,952,585
H. GRAND TOTAL................................................... 15,005,747
8. PROJECT APPROPRIATIONS REQUESTED IN THE FY 2020 PROGRAM:
CAT COST DESIGN STATUS
CODE PROJECT TITLE SCOPE/UM ($000) START COMPLETE
21885 General Purpose Maintenance Shop 123,569.00/SF(11479.93/m2) 51,000 10/2017 10/2019
17897
Automated Infantry Platoon Battle
Course 6.00/FP(6.00/FP) 7,100 03/2016 10/2019
92110 Easements 3,200
TOTAL 61,300
9. FUTURE PROJECT APPROPRIATIONS:
CATEGORY
CODE PROJECT TITLE
COST
($000)
A. INCLUDED IN THE FY 2021 PROGRAM: NONE
B. PLANNED NEXT THREE PROGRAM YEARS (NEW MISSION ONLY): NONE
C. DEFERRED SUSTAINMENT, RESTORATION, AND MODERNIZATION (SRM): 1,040,402
10. MISSION OR MAJOR FUNCTIONS:
Support and train an Airborne (Air Assault) Division, the 160th Special Operations Aviation
Regiment, 5th Special Forces Group, and other non-divisional support units. Ensure the most efficient
utilization of resources to operate the installation and discharge the Fort Campbell area support
mission. Ensure that Fort Campbell is prepared for mobilization. Provide command and control, and
prepare designated units to rapidly deploy worldwide for the performance of combat, combat support, and
combat service support missions as assigned.
11. OUTSTANDING POLLUTION AND SAFETY DEFICIENCIES:
($000)
A. AIR POLLUTION 0
B. WATER POLLUTION 0
C. OCCUPATIONAL SAFETY AND HEALTH 0
1. COMPONENT FY 2020 MILITARY CONSTRUCTION PROGRAM 2. DATE
ARMY 01 MAR 2019
3. INSTALLATION AND LOCATION 4. COMMAND 5. AREA CONSTRUCTION
COST INDEX
Fort Campbell
Kentucky
US Army Installation Management Command
0.92
DD FORM 1390, JUL 1999 PREVIOUS EDITION IS OBSOLETE PAGE NO. 41
THIS PAGE INTENTIONALLY LEFT BLANK
PAGE NO. 42
9. COST ESTIMATES
ITEM
UM (M/E) QUANTITY UNIT COST COST($000)
PRIMARY FACILITY 40,285
21885 General Purpose Maint Shop m2 (SF) 11,480 ( 123,569) 2,944 (33,801)
21865 POL Storage Building m2 (SF) 111.48 ( 1,200) 2,015 (225)
85210 Organizational Vehicle Parking m2 (SY) 42,519 ( 50,852) 110.63 (4,704)
00000 Cyber Security Measures LS -- -- (500)
Sustainability/Energy Measures LS -- -- (667)
Building Information Systems LS -- -- (388)
SUPPORTING FACILITIES 5,345
Electric Service LS -- -- (1,195)
Water, Sewer, Gas LS -- -- (856)
Paving, Walks, Curbs And Gutters LS -- -- (629)
Storm Drainage LS -- -- (1,169)
Site Imp(1,257) Demo( ) LS -- -- (1,257)
Information Systems LS -- -- (239)
ESTIMATED CONTRACT COST 45,630
CONTINGENCY (5.00%)
2,282
SUBTOTAL 47,912
SUPV, INSP & OVERHEAD (5.70%) 2,731
TOTAL REQUEST 50,643
TOTAL REQUEST (ROUNDED) 51,000
INSTALLED EQT-OTHER APPROP (1,174)
10. Description of Proposed Construction Construct a General Purpose Maintenance Shop. Project
includes general purpose maintenance shop with open storage area; Petroleum, Oil, and
Lubricant (POL) storage building; and organizational vehicle parking. Project also
includes building information systems, fire protection and alarm systems, Intrusion
Detection System (IDS) installation, and Energy Monitoring Control Systems (EMCS)
connection. Heating and air conditioning will be provided by self-contained systems.
Building information systems for this project are unique in nature and not included in
the unit cost of the building. Supporting facilities include site development, utilities
and connections, lighting, paving, parking, walks, curbs and gutters, storm drainage,
information systems, landscaping and signage. Measures in accordance with the Department
of Defense (DoD) Minimum Antiterrorism for Buildings standards will be provided. Access
for individuals with disabilities will be provided. Cyber Security Measures will be
incorporated into this project. Sustainability/Energy measures will be provided.
Facilities will be designed to a minimum life of 40 years in accordance with DoD's
Unified Facilities Criteria (UFC 1-200-02) including energy efficiencies, building
envelope and integrated building systems performance. Air Conditioning (Estimated 387
kWr/110 Tons).
11. REQ: 18,122 m2 ADQT: 6,640 m2 SUBSTD: 11,179 m2
PROJECT: Construct a General Purpose Maintenance Shop at Fort Campbell, Kentucky.
(Current Mission)
REQUIREMENT: The Logistics Readiness Center (LRC) requires a consolidated maintenance
1. COMPONENT 2. DATE
Army
FY 2020 MILITARY CONSTRUCTION PROJECT DATA
01 MAR 2019
3. INSTALLATION AND LOCATION 4. PROJECT TITLE
Fort Campbell
Kentucky General Purpose Maintenance Shop
5. PROGRAM ELEMENT 6. CATEGORY CODE 7. PROJECT NUMBER 8. PROJECT COST ($000)
22096A 21885 69347 Approp 51,000
DD FORM 1391, JUL 1999 PREVIOUS EDITION IS OBSOLETE PAGE NO. 43
REQUIREMENT: (CONTINUED)
complex to support the current generation of tactical vehicles and equipment being
fielded by force modernization. The LRC maintenance mission supports the Division and
numerous tenant activities at Ft. Campbell.
CURRENT SITUATION: The LRC maintenance function is currently dispersed in twenty-two
separate buildings across the installation. The existing buildings were constructed in
1941 thru 1950 and require replacement. Operational and safety limitations involving
undersized maintenance and repair space, problems with heating and lighting, lack of
environmental controls, lack of adequate commercial power, lack of expansion
capabilities, absence of vertical lift capabilities for new vehicles, absence of interior
vehicle exhaust systems, and shortage of repair parts storage space hinder the
maintenance and support of equipment. Existing facilities do not adequately support
current or future requirements. The installation's maintenance mission has significantly
expanded to address regeneration requirements for continuous combat operations.
Installation LRC operations now require a greater degree of nested capabilities and
supporting facilities that will build synergy for this vital logistics mission. The
sophistication of two levels of maintenance (field and sustainment) for today's vehicles
and equipment requires greater reliance on efficient, consolidated facilities, and test
equipment for diagnostic evaluation and calibration. Likewise the tools and level of
training required for the workforce have increased substantially. The current conditions
create inefficient support maintenance operations; extend vehicle and equipment repair
times; degrade the morale and productivity of skilled personnel, and adversely impact
mission training and readiness. Additionally, existing facilities do not support
application of equipment modification work orders, pass-back operations, new equipment
fielding, left behind equipment processing, or pre-deployment training equipment set
storage and maintenance.
IMPACT IF NOT PROVIDED: If this project is not provided Army readiness will suffer as a
consequence without the consolidation and replacement of the current LRC maintenance
complex. Significant operational efficiencies will not be realized without this
consolidated facility. The Army has significantly changed the configuration of unit
equipment sets and the logistics practices and procedures to support an expeditionary
force. The impact of not upgrading the installation's logistics facilities, streamlining
production effectiveness, and encompassing full transformation in an efficient
maintenance base for the Division perpetuates ineffective and inefficient maintenance
operations. Additionally large amounts of time and manpower will continue to be expended
on unnecessary movement of materiel, personnel and equipment between decentralized
facilities.
ADDITIONAL: Utility connections are required to privatized electric, water, natural gas
and wastewater systems. The Army intends to have the electric, water, natural gas and
wastewater Utilities Privatization System Owner(s) make and own the necessary connections
up to the facility service disconnect or other defined point of demarcation. Required
assessments have been made for supporting facilities and the project is not in a 100-year
floodplain in-accordance-with Executive Order 11988. This project has been coordinated
with the installation physical security plan, and all physical security measures are
included. All required antiterrorism protection measures are included. Alternative
methods of meeting this requirement have been explored during project development. This
project is the only feasible option to meet the requirement. The Deputy Assistant
Secretary of the Army (Installations, Housing and Partnerships) certifies that this
1. COMPONENT 2. DATE
Army
FY 2020 MILITARY CONSTRUCTION PROJECT DATA
01 MAR 2019
3. INSTALLATION AND LOCATION 4. PROJECT TITLE
Fort Campbell
Kentucky General Purpose Maintenance Shop
5. PROGRAM ELEMENT 6. CATEGORY CODE 7. PROJECT NUMBER 8. PROJECT COST ($000)
22096A 21885 69347
Approp 51,000
PAGE NO. 44 PREVIOUS EDITION IS OBSOLETE DD FORM 1391C, JUL 1999
ADDITIONAL: (CONTINUED)
project has been considered for joint use potential. The facility will be available for
use by other components. A parametric cost estimate based upon project engineering design
was used to develop this budget estimate. Sustainable principles, to include life cycle
cost effective practices, will be integrated into the design, development and
construction of the project and will follow the guidance detailed in the Army Sustainable
Design and Development Policy - complying with applicable laws and executive orders.
12. SUPPLEMENTAL DATA:
A. Estimated Design Data:
(1) Status:
(a) Date Design Started............................... OCT 2017
(b) Percent Complete as of January 2019............... 35.00
(c) Date 35% Designed................................. JAN 2019
(d) Date Design Complete.............................. OCT 2019
(e) Parametric Cost Estimating Used to Develop Costs.. YES
(f) Type of Design Contract: Design-bid-build
(g) An energy study and life cycle cost analysis will be
documented during the final design.
(2) Basis:
(a) Standard or Definitive Design: YES
(b) Where Design Was Most Recently Used:
Fort Campbell
(c) Percentage of Design utilizing Standard Design ... 50
(3) Total Design Cost (c) = (a)+(b) OR (d)+(e): ($000)
(a) Production of Plans and Specifications............ 3,060
(b) All Other Design Costs............................ 1,032
(c) Total Design Cost................................. 4,092
(d) Contract.......................................... 3,060
(e) In-house.......................................... 1,032
(4) Construction Contract Award............................ FEB 2020
(5) Construction Start..................................... APR 2020
(6) Construction Completion................................ APR 2022
1. COMPONENT 2. DATE
Army
FY 2020 MILITARY CONSTRUCTION PROJECT DATA
01 MAR 2019
3. INSTALLATION AND LOCATION 4. PROJECT TITLE
Fort Campbell
Kentucky General Purpose Maintenance Shop
5. PROGRAM ELEMENT 6. CATEGORY CODE 7. PROJECT NUMBER 8. PROJECT COST ($000)
22096A 21885 69347 Approp 51,000
DD FORM 1391C, JUL 1999 PREVIOUS EDITION IS OBSOLETE PAGE NO. 45
12. SUPPLEMENTAL DATA (CONTINUED..)
B. Equipment associated with this project which will be provided from
other appropriations:
Equipment
Nomenclature
Procuring
Appropriation
Fiscal Year
Appropriated
Or Requested
Cost
($000)
ICIDS OPA 2020 8
TEMF Equipment OPA 2020 794
Info Sys - ISC OPA 2021 372
Total 1,174
Installation Engineer: Phone Number: 270-798-5242
1. COMPONENT 2. DATE
Army
FY 2020 MILITARY CONSTRUCTION PROJECT DATA
01 MAR 2019
3. INSTALLATION AND LOCATION 4. PROJECT TITLE
Fort Campbell
Kentucky General Purpose Maintenance Shop
5. PROGRAM ELEMENT 6. CATEGORY CODE 7. PROJECT NUMBER 8. PROJECT COST ($000)
22096A 21885 69347
Approp 51,000
PAGE NO. 46 PREVIOUS EDITION IS OBSOLETE DD FORM 1391C, JUL 1999