<?xml version="1.0" encoding="US-ASCII"?>
<!-- RR Donnelley Xcelerate Taxonomy Calculation Linkbase, based on XBRL 2.1  http://www.rrdonnelley.com/ -->
<!-- Version: 6.21.0 -->
<!-- Round: 6 -->
<!-- Creation date: 2014-08-12T14:36:14Z -->
<!-- Copyright (c) 2005-2013 R.R. Donnelley &amp; Sons Company All Rights Reserved. -->
<linkbase xmlns="http://www.xbrl.org/2003/linkbase"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:xlink="http://www.w3.org/1999/xlink"
  xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
  <roleRef xlink:type="simple" xlink:href="nwpx-20140630.xsd#DocumentandEntityInformation" roleURI="http://www.nwpipe.com/taxonomy/role/DocumentandEntityInformation"/>
  <roleRef xlink:type="simple" xlink:href="nwpx-20140630.xsd#Role_StatementOfFinancialPositionClassified" roleURI="http://www.nwpipe.com/taxonomy/role/StatementOfFinancialPositionClassified"/>
  <roleRef xlink:type="simple" xlink:href="nwpx-20140630.xsd#Role_StatementOfFinancialPositionClassifiedParen" roleURI="http://www.nwpipe.com/taxonomy/role/StatementOfFinancialPositionClassifiedParenthetical"/>
  <roleRef xlink:type="simple" xlink:href="nwpx-20140630.xsd#Role_StatementOfIncome" roleURI="http://www.nwpipe.com/taxonomy/role/StatementOfIncome"/>
  <roleRef xlink:type="simple" xlink:href="nwpx-20140630.xsd#Role_StatementOfOtherComprehensiveIncome" roleURI="http://www.nwpipe.com/taxonomy/role/StatementOfOtherComprehensiveIncome"/>
  <roleRef xlink:type="simple" xlink:href="nwpx-20140630.xsd#Role_StatementOfCashFlowsIndirect" roleURI="http://www.nwpipe.com/taxonomy/role/StatementOfCashFlowsIndirect"/>
  <roleRef xlink:type="simple" xlink:href="nwpx-20140630.xsd#DisclosureBasisOfPresentationAdditionalInformation" roleURI="http://www.nwpipe.com/taxonomy/role/DisclosureBasisOfPresentationAdditionalInformation"/>
  <roleRef xlink:type="simple" xlink:href="nwpx-20140630.xsd#DisclosureBasisOfPresentationScheduleOfCondensedConsolidatedStatementOfOperations" roleURI="http://www.nwpipe.com/taxonomy/role/DisclosureBasisOfPresentationScheduleOfCondensedConsolidatedStatementOfOperations"/>
  <roleRef xlink:type="simple" xlink:href="nwpx-20140630.xsd#DisclosureBasisOfPresentationScheduleOfCondensedConsolidatedBalanceSheet" roleURI="http://www.nwpipe.com/taxonomy/role/DisclosureBasisOfPresentationScheduleOfCondensedConsolidatedBalanceSheet"/>
  <roleRef xlink:type="simple" xlink:href="nwpx-20140630.xsd#DisclosureBasisOfPresentationScheduleOfCondensedConsolidatedStatementOfCashFlows" roleURI="http://www.nwpipe.com/taxonomy/role/DisclosureBasisOfPresentationScheduleOfCondensedConsolidatedStatementOfCashFlows"/>
  <roleRef xlink:type="simple" xlink:href="nwpx-20140630.xsd#DisclosureAcquisitionsAndDisposalsAdditionalInformation" roleURI="http://www.nwpipe.com/taxonomy/role/DisclosureAcquisitionsAndDisposalsAdditionalInformation"/>
  <roleRef xlink:type="simple" xlink:href="nwpx-20140630.xsd#DisclosureAcquisitionsAndDisposalsSummaryOfComponentsOfBalanceSheetAccountsClassifiedAsAssetsAndLiabilitiesOfDiscontinuedOperations" roleURI="http://www.nwpipe.com/taxonomy/role/DisclosureAcquisitionsAndDisposalsSummaryOfComponentsOfBalanceSheetAccountsClassifiedAsAssetsAndLiabilitiesOfDiscontinuedOperations"/>
  <roleRef xlink:type="simple" xlink:href="nwpx-20140630.xsd#DisclosureAcquisitionsAndDisposalsSummaryOfOperatingResultsForCompanysDiscontinuedOperations" roleURI="http://www.nwpipe.com/taxonomy/role/DisclosureAcquisitionsAndDisposalsSummaryOfOperatingResultsForCompanysDiscontinuedOperations"/>
  <roleRef xlink:type="simple" xlink:href="nwpx-20140630.xsd#DisclosureInventoriesComponentsOfInventories" roleURI="http://www.nwpipe.com/taxonomy/role/DisclosureInventoriesComponentsOfInventories"/>
  <roleRef xlink:type="simple" xlink:href="nwpx-20140630.xsd#DisclosureFairValueMeasurementsAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasis" roleURI="http://www.nwpipe.com/taxonomy/role/DisclosureFairValueMeasurementsAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasis"/>
  <roleRef xlink:type="simple" xlink:href="nwpx-20140630.xsd#DisclosureFairValueMeasurementsAdditionalInformation" roleURI="http://www.nwpipe.com/taxonomy/role/DisclosureFairValueMeasurementsAdditionalInformation"/>
  <roleRef xlink:type="simple" xlink:href="nwpx-20140630.xsd#DisclosureDerivativeInstrumentsAndHedgingActivitiesAdditionalInformation" roleURI="http://www.nwpipe.com/taxonomy/role/DisclosureDerivativeInstrumentsAndHedgingActivitiesAdditionalInformation"/>
  <roleRef xlink:type="simple" xlink:href="nwpx-20140630.xsd#DisclosureCommitmentsAndContingenciesAdditionalInformation" roleURI="http://www.nwpipe.com/taxonomy/role/DisclosureCommitmentsAndContingenciesAdditionalInformation"/>
  <roleRef xlink:type="simple" xlink:href="nwpx-20140630.xsd#DisclosureSegmentInformationAdditionalInformation" roleURI="http://www.nwpipe.com/taxonomy/role/DisclosureSegmentInformationAdditionalInformation"/>
  <roleRef xlink:type="simple" xlink:href="nwpx-20140630.xsd#DisclosureSegmentInformationSegmentInformationReportOfStatementsOfOperations" roleURI="http://www.nwpipe.com/taxonomy/role/DisclosureSegmentInformationSegmentInformationReportOfStatementsOfOperations"/>
  <roleRef xlink:type="simple" xlink:href="nwpx-20140630.xsd#DisclosureSharebasedCompensationAdditionalInformation" roleURI="http://www.nwpipe.com/taxonomy/role/DisclosureSharebasedCompensationAdditionalInformation"/>
  <roleRef xlink:type="simple" xlink:href="nwpx-20140630.xsd#DisclosureSharebasedCompensationSummaryOfSharebasedCompensationExpense" roleURI="http://www.nwpipe.com/taxonomy/role/DisclosureSharebasedCompensationSummaryOfSharebasedCompensationExpense"/>
  <roleRef xlink:type="simple" xlink:href="nwpx-20140630.xsd#DisclosureSharebasedCompensationSummaryOfStatusOfCompanysStockOptions" roleURI="http://www.nwpipe.com/taxonomy/role/DisclosureSharebasedCompensationSummaryOfStatusOfCompanysStockOptions"/>
  <roleRef xlink:type="simple" xlink:href="nwpx-20140630.xsd#DisclosureSharebasedCompensationSummaryOfStatusOfCompanysRSUsAndPSAs" roleURI="http://www.nwpipe.com/taxonomy/role/DisclosureSharebasedCompensationSummaryOfStatusOfCompanysRSUsAndPSAs"/>
  <roleRef xlink:type="simple" xlink:href="nwpx-20140630.xsd#DisclosureIncomeTaxesAdditionalInformation" roleURI="http://www.nwpipe.com/taxonomy/role/DisclosureIncomeTaxesAdditionalInformation"/>
  <roleRef xlink:type="simple" xlink:href="nwpx-20140630.xsd#DisclosureEarningsPerShareEarningsPerBasicAndDilutedWeightedAverageCommonShareOutstandingForContinuingAndDiscontinuedOperations" roleURI="http://www.nwpipe.com/taxonomy/role/DisclosureEarningsPerShareEarningsPerBasicAndDilutedWeightedAverageCommonShareOutstandingForContinuingAndDiscontinuedOperations"/>
  <roleRef xlink:type="simple" xlink:href="nwpx-20140630.xsd#DisclosureAccumulatedOtherComprehensiveIncomeLossScheduleOfComponentsOfAccumulatedOtherComprehensiveIncomeLoss" roleURI="http://www.nwpipe.com/taxonomy/role/DisclosureAccumulatedOtherComprehensiveIncomeLossScheduleOfComponentsOfAccumulatedOtherComprehensiveIncomeLoss"/>
  <roleRef xlink:type="simple" xlink:href="nwpx-20140630.xsd#DisclosureAccumulatedOtherComprehensiveIncomeLossScheduleOfReclassificationsOfAccumulatedOtherComprehensiveIncomeLoss" roleURI="http://www.nwpipe.com/taxonomy/role/DisclosureAccumulatedOtherComprehensiveIncomeLossScheduleOfReclassificationsOfAccumulatedOtherComprehensiveIncomeLoss"/>
  <roleRef xlink:type="simple" xlink:href="nwpx-20140630.xsd#Role_NotesToFinancialStatementsOrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock" roleURI="http://www.nwpipe.com/taxonomy/role/NotesToFinancialStatementsOrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock"/>
  <roleRef xlink:type="simple" xlink:href="nwpx-20140630.xsd#Role_NotesToFinancialStatementsOrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlockPolicies" roleURI="http://www.nwpipe.com/taxonomy/role/NotesToFinancialStatementsOrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlockPolicies"/>
  <roleRef xlink:type="simple" xlink:href="nwpx-20140630.xsd#Role_NotesToFinancialStatementsOrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlockTables" roleURI="http://www.nwpipe.com/taxonomy/role/NotesToFinancialStatementsOrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlockTables"/>
  <roleRef xlink:type="simple" xlink:href="nwpx-20140630.xsd#Role_NotesToFinancialStatementsMergersAcquisitionsAndDispositionsDisclosuresTextBlock" roleURI="http://www.nwpipe.com/taxonomy/role/NotesToFinancialStatementsMergersAcquisitionsAndDispositionsDisclosuresTextBlock"/>
  <roleRef xlink:type="simple" xlink:href="nwpx-20140630.xsd#Role_NotesToFinancialStatementsMergersAcquisitionsAndDispositionsDisclosuresTextBlockTables" roleURI="http://www.nwpipe.com/taxonomy/role/NotesToFinancialStatementsMergersAcquisitionsAndDispositionsDisclosuresTextBlockTables"/>
  <roleRef xlink:type="simple" xlink:href="nwpx-20140630.xsd#Role_NotesToFinancialStatementsInventoryDisclosureTextBlock" roleURI="http://www.nwpipe.com/taxonomy/role/NotesToFinancialStatementsInventoryDisclosureTextBlock"/>
  <roleRef xlink:type="simple" xlink:href="nwpx-20140630.xsd#Role_NotesToFinancialStatementsInventoryDisclosureTextBlockTables" roleURI="http://www.nwpipe.com/taxonomy/role/NotesToFinancialStatementsInventoryDisclosureTextBlockTables"/>
  <roleRef xlink:type="simple" xlink:href="nwpx-20140630.xsd#Role_NotesToFinancialStatementsFairValueDisclosuresTextBlock" roleURI="http://www.nwpipe.com/taxonomy/role/NotesToFinancialStatementsFairValueDisclosuresTextBlock"/>
  <roleRef xlink:type="simple" xlink:href="nwpx-20140630.xsd#Role_NotesToFinancialStatementsFairValueDisclosuresTextBlockTables" roleURI="http://www.nwpipe.com/taxonomy/role/NotesToFinancialStatementsFairValueDisclosuresTextBlockTables"/>
  <roleRef xlink:type="simple" xlink:href="nwpx-20140630.xsd#Role_NotesToFinancialStatementsDerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock" roleURI="http://www.nwpipe.com/taxonomy/role/NotesToFinancialStatementsDerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock"/>
  <roleRef xlink:type="simple" xlink:href="nwpx-20140630.xsd#Role_NotesToFinancialStatementsCommitmentsAndContingenciesDisclosureTextBlock" roleURI="http://www.nwpipe.com/taxonomy/role/NotesToFinancialStatementsCommitmentsAndContingenciesDisclosureTextBlock"/>
  <roleRef xlink:type="simple" xlink:href="nwpx-20140630.xsd#Role_NotesToFinancialStatementsSegmentReportingDisclosureTextBlock" roleURI="http://www.nwpipe.com/taxonomy/role/NotesToFinancialStatementsSegmentReportingDisclosureTextBlock"/>
  <roleRef xlink:type="simple" xlink:href="nwpx-20140630.xsd#Role_NotesToFinancialStatementsSegmentReportingDisclosureTextBlockTables" roleURI="http://www.nwpipe.com/taxonomy/role/NotesToFinancialStatementsSegmentReportingDisclosureTextBlockTables"/>
  <roleRef xlink:type="simple" xlink:href="nwpx-20140630.xsd#Role_NotesToFinancialStatementsDisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" roleURI="http://www.nwpipe.com/taxonomy/role/NotesToFinancialStatementsDisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock"/>
  <roleRef xlink:type="simple" xlink:href="nwpx-20140630.xsd#Role_NotesToFinancialStatementsDisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlockTables" roleURI="http://www.nwpipe.com/taxonomy/role/NotesToFinancialStatementsDisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlockTables"/>
  <roleRef xlink:type="simple" xlink:href="nwpx-20140630.xsd#Role_NotesToFinancialStatementsIncomeTaxDisclosureTextBlock" roleURI="http://www.nwpipe.com/taxonomy/role/NotesToFinancialStatementsIncomeTaxDisclosureTextBlock"/>
  <roleRef xlink:type="simple" xlink:href="nwpx-20140630.xsd#Role_NotesToFinancialStatementsEarningsPerShareTextBlock" roleURI="http://www.nwpipe.com/taxonomy/role/NotesToFinancialStatementsEarningsPerShareTextBlock"/>
  <roleRef xlink:type="simple" xlink:href="nwpx-20140630.xsd#Role_NotesToFinancialStatementsEarningsPerShareTextBlockTables" roleURI="http://www.nwpipe.com/taxonomy/role/NotesToFinancialStatementsEarningsPerShareTextBlockTables"/>
  <roleRef xlink:type="simple" xlink:href="nwpx-20140630.xsd#Role_NotesToFinancialStatementsComprehensiveIncomeNoteTextBlock" roleURI="http://www.nwpipe.com/taxonomy/role/NotesToFinancialStatementsComprehensiveIncomeNoteTextBlock"/>
  <roleRef xlink:type="simple" xlink:href="nwpx-20140630.xsd#Role_NotesToFinancialStatementsComprehensiveIncomeNoteTextBlockTables" roleURI="http://www.nwpipe.com/taxonomy/role/NotesToFinancialStatementsComprehensiveIncomeNoteTextBlockTables"/>
  <roleRef xlink:type="simple" xlink:href="nwpx-20140630.xsd#Role_NotesToFinancialStatementsNewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock" roleURI="http://www.nwpipe.com/taxonomy/role/NotesToFinancialStatementsNewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock"/>
  <calculationLink xlink:type="extended" xlink:role="http://www.nwpipe.com/taxonomy/role/DocumentandEntityInformation">
  </calculationLink>
  <calculationLink xlink:type="extended" xlink:role="http://www.nwpipe.com/taxonomy/role/StatementOfFinancialPositionClassified">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_AccountsPayableCurrent" xlink:label="us-gaap_AccountsPayableCurrent"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="us-gaap_AccruedLiabilitiesCurrent"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_AdditionalPaidInCapital" xlink:label="us-gaap_AdditionalPaidInCapital"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_AssetsCurrent" xlink:label="us-gaap_AssetsCurrent"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_BillingsInExcessOfCostCurrent" xlink:label="us-gaap_BillingsInExcessOfCostCurrent"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_CapitalLeaseObligationsCurrent" xlink:label="us-gaap_CapitalLeaseObligationsCurrent"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_CapitalLeaseObligationsNoncurrent" xlink:label="us-gaap_CapitalLeaseObligationsNoncurrent"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_CommonStockValue" xlink:label="us-gaap_CommonStockValue"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_CostsInExcessOfBillingsOnUncompletedContractsOrProgramsExpectedToBeCollectedWithinOneYear" xlink:label="us-gaap_CostsInExcessOfBillingsOnUncompletedContractsOrProgramsExpectedToBeCollectedWithinOneYear"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_DeferredTaxAssetsLiabilitiesNetCurrent" xlink:label="us-gaap_DeferredTaxAssetsLiabilitiesNetCurrent"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_DeferredTaxAssetsLiabilitiesNetNoncurrent" xlink:label="us-gaap_DeferredTaxAssetsLiabilitiesNetNoncurrent"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_IncomeTaxesReceivable" xlink:label="us-gaap_IncomeTaxesReceivable"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_InventoryNet" xlink:label="us-gaap_InventoryNet"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_LiabilitiesCurrent" xlink:label="us-gaap_LiabilitiesCurrent"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_LongTermDebtCurrent" xlink:label="us-gaap_LongTermDebtCurrent"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_LongTermDebtNoncurrent" xlink:label="us-gaap_LongTermDebtNoncurrent"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_LongTermLineOfCredit" xlink:label="us-gaap_LongTermLineOfCredit"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="us-gaap_OtherAssetsNoncurrent"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_OtherLiabilitiesNoncurrent" xlink:label="us-gaap_OtherLiabilitiesNoncurrent"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_PreferredStockValue" xlink:label="us-gaap_PreferredStockValue"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_ReceivablesNetCurrent" xlink:label="us-gaap_ReceivablesNetCurrent"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Assets" xlink:to="us-gaap_AssetsCurrent" order="1.0800" weight="1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Assets" xlink:to="us-gaap_PropertyPlantAndEquipmentNet" order="1.0900" weight="1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Assets" xlink:to="us-gaap_Goodwill" order="1.1000" weight="1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Assets" xlink:to="us-gaap_OtherAssetsNoncurrent" order="1.1100" weight="1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue" order="1.0100" weight="1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_ReceivablesNetCurrent" order="1.0200" weight="1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_CostsInExcessOfBillingsOnUncompletedContractsOrProgramsExpectedToBeCollectedWithinOneYear" order="1.0300" weight="1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_InventoryNet" order="1.0400" weight="1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_IncomeTaxesReceivable" order="1.0500" weight="1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_DeferredTaxAssetsLiabilitiesNetCurrent" order="1.0600" weight="1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" order="1.0700" weight="1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities" xlink:to="us-gaap_LiabilitiesCurrent" order="1.1700" weight="1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities" xlink:to="us-gaap_LongTermLineOfCredit" order="1.1800" weight="1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities" xlink:to="us-gaap_LongTermDebtNoncurrent" order="1.1900" weight="1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities" xlink:to="us-gaap_CapitalLeaseObligationsNoncurrent" order="1.2000" weight="1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities" xlink:to="us-gaap_DeferredTaxAssetsLiabilitiesNetNoncurrent" order="1.2100" weight="-1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities" xlink:to="us-gaap_OtherLiabilitiesNoncurrent" order="1.2200" weight="1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_Liabilities" order="1.2300" weight="1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_PreferredStockValue" order="1.2400" weight="1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_StockholdersEquity" order="1.2900" weight="1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_LongTermDebtCurrent" order="1.1200" weight="1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_CapitalLeaseObligationsCurrent" order="1.1300" weight="1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_AccountsPayableCurrent" order="1.1400" weight="1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_AccruedLiabilitiesCurrent" order="1.1500" weight="1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_BillingsInExcessOfCostCurrent" order="1.1600" weight="1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_CommonStockValue" order="1.2500" weight="1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_AdditionalPaidInCapital" order="1.2600" weight="1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit" order="1.2700" weight="1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" order="1.2800" weight="1.00" priority="2" use="optional"/>
  </calculationLink>
  <calculationLink xlink:type="extended" xlink:role="http://www.nwpipe.com/taxonomy/role/StatementOfFinancialPositionClassifiedParenthetical">
  </calculationLink>
  <calculationLink xlink:type="extended" xlink:role="http://www.nwpipe.com/taxonomy/role/StatementOfIncome">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_CostOfRevenue" xlink:label="us-gaap_CostOfRevenue"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax" xlink:label="us-gaap_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax"/>
    <loc xlink:type="locator" xlink:href="nwpx-20140630.xsd#nwpx_DiscontinuedOperationIncomeLossFromDiscontinuedOperationNetOfTax" xlink:label="nwpx_DiscontinuedOperationIncomeLossFromDiscontinuedOperationNetOfTax"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationNetOfTaxPerBasicShare" xlink:label="us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationNetOfTaxPerBasicShare"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationNetOfTaxPerDilutedShare" xlink:label="us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationNetOfTaxPerDilutedShare"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_DiscontinuedOperationTaxEffectOfDiscontinuedOperation" xlink:label="us-gaap_DiscontinuedOperationTaxEffectOfDiscontinuedOperation"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_EarningsPerShareBasic" xlink:label="us-gaap_EarningsPerShareBasic"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="us-gaap_EarningsPerShareDiluted"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_GrossProfit" xlink:label="us-gaap_GrossProfit"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_IncomeLossFromContinuingOperations" xlink:label="us-gaap_IncomeLossFromContinuingOperations"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsPerBasicShare" xlink:label="us-gaap_IncomeLossFromContinuingOperationsPerBasicShare"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare" xlink:label="us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTax" xlink:label="us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTax"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_InterestExpense" xlink:label="us-gaap_InterestExpense"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_OtherInterestAndDividendIncome" xlink:label="us-gaap_OtherInterestAndDividendIncome"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_OtherNonoperatingIncomeExpense" xlink:label="us-gaap_OtherNonoperatingIncomeExpense"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_SalesRevenueNet" xlink:label="us-gaap_SalesRevenueNet"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_SellingGeneralAndAdministrativeExpense" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpense"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_EarningsPerShareBasic" xlink:to="us-gaap_IncomeLossFromContinuingOperationsPerBasicShare" order="1.1600" weight="1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_EarningsPerShareBasic" xlink:to="us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationNetOfTaxPerBasicShare" order="1.1700" weight="1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_EarningsPerShareDiluted" xlink:to="us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare" order="1.1800" weight="1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_EarningsPerShareDiluted" xlink:to="us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationNetOfTaxPerDilutedShare" order="1.1900" weight="1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_GrossProfit" xlink:to="us-gaap_SalesRevenueNet" order="1.0100" weight="1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_GrossProfit" xlink:to="us-gaap_CostOfRevenue" order="1.0200" weight="-1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeLossFromContinuingOperations" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" order="1.0900" weight="1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeLossFromContinuingOperations" xlink:to="us-gaap_IncomeTaxExpenseBenefit" order="1.1000" weight="-1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" xlink:to="us-gaap_OperatingIncomeLoss" order="1.0500" weight="1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" xlink:to="us-gaap_OtherNonoperatingIncomeExpense" order="1.0600" weight="1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" xlink:to="us-gaap_OtherInterestAndDividendIncome" order="1.0700" weight="1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" xlink:to="us-gaap_InterestExpense" order="1.0800" weight="-1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTax" xlink:to="nwpx_DiscontinuedOperationIncomeLossFromDiscontinuedOperationNetOfTax" order="1.1200" weight="1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTax" xlink:to="us-gaap_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax" order="1.1300" weight="1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTax" xlink:to="us-gaap_DiscontinuedOperationTaxEffectOfDiscontinuedOperation" order="1.1400" weight="-1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetIncomeLoss" xlink:to="us-gaap_IncomeLossFromContinuingOperations" order="1.1100" weight="1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetIncomeLoss" xlink:to="us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTax" order="1.1500" weight="1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingIncomeLoss" xlink:to="us-gaap_GrossProfit" order="1.0300" weight="1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingIncomeLoss" xlink:to="us-gaap_SellingGeneralAndAdministrativeExpense" order="1.0400" weight="-1.00" priority="2" use="optional"/>
  </calculationLink>
  <calculationLink xlink:type="extended" xlink:role="http://www.nwpipe.com/taxonomy/role/StatementOfOtherComprehensiveIncome">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesNetOfTax"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTax"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_ComprehensiveIncomeNetOfTax" xlink:to="us-gaap_NetIncomeLoss" order="1.0100" weight="1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_ComprehensiveIncomeNetOfTax" xlink:to="us-gaap_OtherComprehensiveIncomeLossNetOfTax" order="1.0400" weight="1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OtherComprehensiveIncomeLossNetOfTax" xlink:to="us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax" order="1.0200" weight="-1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OtherComprehensiveIncomeLossNetOfTax" xlink:to="us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesNetOfTax" order="1.0300" weight="1.00" priority="2" use="optional"/>
  </calculationLink>
  <calculationLink xlink:type="extended" xlink:role="http://www.nwpipe.com/taxonomy/role/StatementOfCashFlowsIndirect">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivablePeriodIncreaseDecrease" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivablePeriodIncreaseDecrease"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_AmortizationOfFinancingCosts" xlink:label="us-gaap_AmortizationOfFinancingCosts"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="us-gaap_AmortizationOfIntangibleAssets"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" xlink:label="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease" xlink:label="us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_Depreciation" xlink:label="us-gaap_Depreciation"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax" xlink:label="us-gaap_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_ForeignCurrencyTransactionGainLossUnrealized" xlink:label="us-gaap_ForeignCurrencyTransactionGainLossUnrealized"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsAndOtherReceivables" xlink:label="us-gaap_IncreaseDecreaseInAccountsAndOtherReceivables"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsPayable" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayable"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" xlink:label="us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_IncreaseDecreaseInCostInExcessOfBillingOnUncompletedContract" xlink:label="us-gaap_IncreaseDecreaseInCostInExcessOfBillingOnUncompletedContract"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_IncreaseDecreaseInIncomeTaxesReceivable" xlink:label="us-gaap_IncreaseDecreaseInIncomeTaxesReceivable"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="us-gaap_IncreaseDecreaseInInventories"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_OtherNoncashIncomeExpense" xlink:label="us-gaap_OtherNoncashIncomeExpense"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_PaymentsForProceedsFromOtherInvestingActivities" xlink:label="us-gaap_PaymentsForProceedsFromOtherInvestingActivities"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:label="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_PaymentsToAcquireNotesReceivable" xlink:label="us-gaap_PaymentsToAcquireNotesReceivable"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_ProceedsFromDivestitureOfBusinesses" xlink:label="us-gaap_ProceedsFromDivestitureOfBusinesses"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:label="us-gaap_ProceedsFromIssuanceOfCommonStock"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_ProceedsFromNotesPayable" xlink:label="us-gaap_ProceedsFromNotesPayable"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:label="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_RepaymentsOfLongTermCapitalLeaseObligations" xlink:label="us-gaap_RepaymentsOfLongTermCapitalLeaseObligations"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_RepaymentsOfLongTermDebt" xlink:label="us-gaap_RepaymentsOfLongTermDebt"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_RepaymentsOfNotesPayable" xlink:label="us-gaap_RepaymentsOfNotesPayable"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities" order="1.1900" weight="1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities" order="1.2500" weight="1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities" order="1.3200" weight="1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_ProceedsFromIssuanceOfCommonStock" order="1.2600" weight="1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" order="1.2700" weight="-1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_RepaymentsOfLongTermDebt" order="1.2800" weight="-1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_ProceedsFromNotesPayable" order="1.2900" weight="1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_RepaymentsOfNotesPayable" order="1.3000" weight="-1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_RepaymentsOfLongTermCapitalLeaseObligations" order="1.3100" weight="-1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" order="1.2000" weight="-1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_ProceedsFromDivestitureOfBusinesses" order="1.2100" weight="1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" order="1.2200" weight="1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_PaymentsToAcquireNotesReceivable" order="1.2300" weight="-1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_PaymentsForProceedsFromOtherInvestingActivities" order="1.2400" weight="-1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_NetIncomeLoss" order="1.0100" weight="1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_Depreciation" order="1.0200" weight="1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_AmortizationOfIntangibleAssets" order="1.0300" weight="1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivablePeriodIncreaseDecrease" order="1.0400" weight="1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_AmortizationOfFinancingCosts" order="1.0500" weight="1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit" order="1.0600" weight="1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax" order="1.0700" weight="-1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_ShareBasedCompensation" order="1.0800" weight="1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_ForeignCurrencyTransactionGainLossUnrealized" order="1.0900" weight="-1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" order="1.1000" weight="1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_OtherNoncashIncomeExpense" order="1.1100" weight="-1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInAccountsAndOtherReceivables" order="1.1200" weight="-1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInCostInExcessOfBillingOnUncompletedContract" order="1.1300" weight="-1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInInventories" order="1.1400" weight="-1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInIncomeTaxesReceivable" order="1.1500" weight="-1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" order="1.1600" weight="-1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayable" order="1.1700" weight="1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" order="1.1800" weight="1.00" priority="2" use="optional"/>
  </calculationLink>
  <calculationLink xlink:type="extended" xlink:role="http://www.nwpipe.com/taxonomy/role/DisclosureBasisOfPresentationAdditionalInformation">
  </calculationLink>
  <calculationLink xlink:type="extended" xlink:role="http://www.nwpipe.com/taxonomy/role/DisclosureBasisOfPresentationScheduleOfCondensedConsolidatedStatementOfOperations">
  </calculationLink>
  <calculationLink xlink:type="extended" xlink:role="http://www.nwpipe.com/taxonomy/role/DisclosureBasisOfPresentationScheduleOfCondensedConsolidatedBalanceSheet">
  </calculationLink>
  <calculationLink xlink:type="extended" xlink:role="http://www.nwpipe.com/taxonomy/role/DisclosureBasisOfPresentationScheduleOfCondensedConsolidatedStatementOfCashFlows">
  </calculationLink>
  <calculationLink xlink:type="extended" xlink:role="http://www.nwpipe.com/taxonomy/role/DisclosureAcquisitionsAndDisposalsAdditionalInformation">
  </calculationLink>
  <calculationLink xlink:type="extended" xlink:role="http://www.nwpipe.com/taxonomy/role/DisclosureAcquisitionsAndDisposalsSummaryOfComponentsOfBalanceSheetAccountsClassifiedAsAssetsAndLiabilitiesOfDiscontinuedOperations">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperation" xlink:label="us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperation"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperationCurrent" xlink:label="us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperationCurrent"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_DisposalGroupIncludingDiscontinuedOperationAccountsNotesAndLoansReceivableNet" xlink:label="us-gaap_DisposalGroupIncludingDiscontinuedOperationAccountsNotesAndLoansReceivableNet"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_DisposalGroupIncludingDiscontinuedOperationAccountsPayableCurrent" xlink:label="us-gaap_DisposalGroupIncludingDiscontinuedOperationAccountsPayableCurrent"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_DisposalGroupIncludingDiscontinuedOperationAccruedLiabilitiesCurrent" xlink:label="us-gaap_DisposalGroupIncludingDiscontinuedOperationAccruedLiabilitiesCurrent"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_DisposalGroupIncludingDiscontinuedOperationDeferredRevenueCurrent" xlink:label="us-gaap_DisposalGroupIncludingDiscontinuedOperationDeferredRevenueCurrent"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_DisposalGroupIncludingDiscontinuedOperationInventory" xlink:label="us-gaap_DisposalGroupIncludingDiscontinuedOperationInventory"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_DisposalGroupIncludingDiscontinuedOperationOtherCurrentLiabilities" xlink:label="us-gaap_DisposalGroupIncludingDiscontinuedOperationOtherCurrentLiabilities"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_DisposalGroupIncludingDiscontinuedOperationOtherNoncurrentLiabilities" xlink:label="us-gaap_DisposalGroupIncludingDiscontinuedOperationOtherNoncurrentLiabilities"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_DisposalGroupIncludingDiscontinuedOperationPrepaidAndOtherAssetsCurrent" xlink:label="us-gaap_DisposalGroupIncludingDiscontinuedOperationPrepaidAndOtherAssetsCurrent"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_DisposalGroupIncludingDiscontinuedOperationPropertyPlantAndEquipmentNet" xlink:label="us-gaap_DisposalGroupIncludingDiscontinuedOperationPropertyPlantAndEquipmentNet"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_LiabilitiesOfDisposalGroupIncludingDiscontinuedOperation" xlink:label="us-gaap_LiabilitiesOfDisposalGroupIncludingDiscontinuedOperation"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_LiabilitiesOfDisposalGroupIncludingDiscontinuedOperationCurrent" xlink:label="us-gaap_LiabilitiesOfDisposalGroupIncludingDiscontinuedOperationCurrent"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperation" xlink:to="us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperationCurrent" order="1.0400" weight="1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperation" xlink:to="us-gaap_DisposalGroupIncludingDiscontinuedOperationPropertyPlantAndEquipmentNet" order="1.0500" weight="1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperationCurrent" xlink:to="us-gaap_DisposalGroupIncludingDiscontinuedOperationAccountsNotesAndLoansReceivableNet" order="1.0100" weight="1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperationCurrent" xlink:to="us-gaap_DisposalGroupIncludingDiscontinuedOperationInventory" order="1.0200" weight="1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsOfDisposalGroupIncludingDiscontinuedOperationCurrent" xlink:to="us-gaap_DisposalGroupIncludingDiscontinuedOperationPrepaidAndOtherAssetsCurrent" order="1.0300" weight="1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesOfDisposalGroupIncludingDiscontinuedOperation" xlink:to="us-gaap_LiabilitiesOfDisposalGroupIncludingDiscontinuedOperationCurrent" order="1.1000" weight="1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesOfDisposalGroupIncludingDiscontinuedOperation" xlink:to="us-gaap_DisposalGroupIncludingDiscontinuedOperationOtherNoncurrentLiabilities" order="1.1100" weight="1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesOfDisposalGroupIncludingDiscontinuedOperationCurrent" xlink:to="us-gaap_DisposalGroupIncludingDiscontinuedOperationOtherCurrentLiabilities" order="1.0600" weight="1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesOfDisposalGroupIncludingDiscontinuedOperationCurrent" xlink:to="us-gaap_DisposalGroupIncludingDiscontinuedOperationAccountsPayableCurrent" order="1.0700" weight="1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesOfDisposalGroupIncludingDiscontinuedOperationCurrent" xlink:to="us-gaap_DisposalGroupIncludingDiscontinuedOperationAccruedLiabilitiesCurrent" order="1.0800" weight="1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesOfDisposalGroupIncludingDiscontinuedOperationCurrent" xlink:to="us-gaap_DisposalGroupIncludingDiscontinuedOperationDeferredRevenueCurrent" order="1.0900" weight="1.00" priority="2" use="optional"/>
  </calculationLink>
  <calculationLink xlink:type="extended" xlink:role="http://www.nwpipe.com/taxonomy/role/DisclosureAcquisitionsAndDisposalsSummaryOfOperatingResultsForCompanysDiscontinuedOperations">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax" xlink:label="us-gaap_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax" xlink:label="us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_DiscontinuedOperationTaxEffectOfDiscontinuedOperation" xlink:label="us-gaap_DiscontinuedOperationTaxEffectOfDiscontinuedOperation"/>
    <loc xlink:type="locator" xlink:href="nwpx-20140630.xsd#nwpx_DisposalGroupIncludingDiscontinuedOperationCostOfGoodsSoldRefunded" xlink:label="nwpx_DisposalGroupIncludingDiscontinuedOperationCostOfGoodsSoldRefunded"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_DisposalGroupIncludingDiscontinuedOperationGeneralAndAdministrativeExpense" xlink:label="us-gaap_DisposalGroupIncludingDiscontinuedOperationGeneralAndAdministrativeExpense"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_DisposalGroupIncludingDiscontinuedOperationGrossProfitLoss" xlink:label="us-gaap_DisposalGroupIncludingDiscontinuedOperationGrossProfitLoss"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_DisposalGroupIncludingDiscontinuedOperationInterestExpense" xlink:label="us-gaap_DisposalGroupIncludingDiscontinuedOperationInterestExpense"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_DisposalGroupIncludingDiscontinuedOperationOperatingIncomeLoss" xlink:label="us-gaap_DisposalGroupIncludingDiscontinuedOperationOperatingIncomeLoss"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_DisposalGroupIncludingDiscontinuedOperationRevenue" xlink:label="us-gaap_DisposalGroupIncludingDiscontinuedOperationRevenue"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTax" xlink:label="us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTax"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax" xlink:to="us-gaap_DisposalGroupIncludingDiscontinuedOperationOperatingIncomeLoss" order="1.0500" weight="1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax" xlink:to="us-gaap_DisposalGroupIncludingDiscontinuedOperationInterestExpense" order="1.0600" weight="-1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax" xlink:to="us-gaap_DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax" order="1.0700" weight="1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DisposalGroupIncludingDiscontinuedOperationGrossProfitLoss" xlink:to="us-gaap_DisposalGroupIncludingDiscontinuedOperationRevenue" order="1.0100" weight="1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DisposalGroupIncludingDiscontinuedOperationGrossProfitLoss" xlink:to="nwpx_DisposalGroupIncludingDiscontinuedOperationCostOfGoodsSoldRefunded" order="1.0200" weight="-1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DisposalGroupIncludingDiscontinuedOperationOperatingIncomeLoss" xlink:to="us-gaap_DisposalGroupIncludingDiscontinuedOperationGrossProfitLoss" order="1.0300" weight="1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DisposalGroupIncludingDiscontinuedOperationOperatingIncomeLoss" xlink:to="us-gaap_DisposalGroupIncludingDiscontinuedOperationGeneralAndAdministrativeExpense" order="1.0400" weight="-1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTax" xlink:to="us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax" order="1.0800" weight="1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTax" xlink:to="us-gaap_DiscontinuedOperationTaxEffectOfDiscontinuedOperation" order="1.0900" weight="-1.00" priority="2" use="optional"/>
  </calculationLink>
  <calculationLink xlink:type="extended" xlink:role="http://www.nwpipe.com/taxonomy/role/DisclosureInventoriesComponentsOfInventories">
    <loc xlink:type="locator" xlink:href="nwpx-20140630.xsd#nwpx_InventoryCurrentAndNonCurrentNet" xlink:label="nwpx_InventoryCurrentAndNonCurrentNet"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:label="us-gaap_InventoryFinishedGoodsNetOfReserves"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_InventoryNet" xlink:label="us-gaap_InventoryNet"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_InventoryNoncurrent" xlink:label="us-gaap_InventoryNoncurrent"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_InventoryRawMaterialsNetOfReserves" xlink:label="us-gaap_InventoryRawMaterialsNetOfReserves"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_InventorySuppliesNetOfReserves" xlink:label="us-gaap_InventorySuppliesNetOfReserves"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_InventoryWorkInProcessNetOfReserves" xlink:label="us-gaap_InventoryWorkInProcessNetOfReserves"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="nwpx_InventoryCurrentAndNonCurrentNet" xlink:to="us-gaap_InventoryNet" order="1.0500" weight="1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="nwpx_InventoryCurrentAndNonCurrentNet" xlink:to="us-gaap_InventoryNoncurrent" order="1.0600" weight="1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_InventoryNet" xlink:to="us-gaap_InventoryRawMaterialsNetOfReserves" order="1.0100" weight="1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_InventoryNet" xlink:to="us-gaap_InventoryWorkInProcessNetOfReserves" order="1.0200" weight="1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_InventoryNet" xlink:to="us-gaap_InventoryFinishedGoodsNetOfReserves" order="1.0300" weight="1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_InventoryNet" xlink:to="us-gaap_InventorySuppliesNetOfReserves" order="1.0400" weight="1.00" priority="2" use="optional"/>
  </calculationLink>
  <calculationLink xlink:type="extended" xlink:role="http://www.nwpipe.com/taxonomy/role/DisclosureFairValueMeasurementsAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasis">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_AssetsFairValueDisclosure" xlink:label="us-gaap_AssetsFairValueDisclosure"/>
    <loc xlink:type="locator" xlink:href="nwpx-20140630.xsd#nwpx_ContingentConsiderationLiabilityFairValue" xlink:label="nwpx_ContingentConsiderationLiabilityFairValue"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_DerivativeAssets" xlink:label="us-gaap_DerivativeAssets"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_DerivativeLiabilities" xlink:label="us-gaap_DerivativeLiabilities"/>
    <loc xlink:type="locator" xlink:href="nwpx-20140630.xsd#nwpx_InvestmentsInNonqualifiedRetirementPlanAssets" xlink:label="nwpx_InvestmentsInNonqualifiedRetirementPlanAssets"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_LiabilitiesFairValueDisclosure" xlink:label="us-gaap_LiabilitiesFairValueDisclosure"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsFairValueDisclosure" xlink:to="nwpx_InvestmentsInNonqualifiedRetirementPlanAssets" order="1.0100" weight="1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsFairValueDisclosure" xlink:to="us-gaap_DerivativeAssets" order="1.0200" weight="1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesFairValueDisclosure" xlink:to="nwpx_ContingentConsiderationLiabilityFairValue" order="1.0300" weight="1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesFairValueDisclosure" xlink:to="us-gaap_DerivativeLiabilities" order="1.0400" weight="1.00" priority="2" use="optional"/>
  </calculationLink>
  <calculationLink xlink:type="extended" xlink:role="http://www.nwpipe.com/taxonomy/role/DisclosureFairValueMeasurementsAdditionalInformation">
  </calculationLink>
  <calculationLink xlink:type="extended" xlink:role="http://www.nwpipe.com/taxonomy/role/DisclosureDerivativeInstrumentsAndHedgingActivitiesAdditionalInformation">
  </calculationLink>
  <calculationLink xlink:type="extended" xlink:role="http://www.nwpipe.com/taxonomy/role/DisclosureCommitmentsAndContingenciesAdditionalInformation">
  </calculationLink>
  <calculationLink xlink:type="extended" xlink:role="http://www.nwpipe.com/taxonomy/role/DisclosureSegmentInformationAdditionalInformation">
  </calculationLink>
  <calculationLink xlink:type="extended" xlink:role="http://www.nwpipe.com/taxonomy/role/DisclosureSegmentInformationSegmentInformationReportOfStatementsOfOperations">
  </calculationLink>
  <calculationLink xlink:type="extended" xlink:role="http://www.nwpipe.com/taxonomy/role/DisclosureSharebasedCompensationAdditionalInformation">
  </calculationLink>
  <calculationLink xlink:type="extended" xlink:role="http://www.nwpipe.com/taxonomy/role/DisclosureSharebasedCompensationSummaryOfSharebasedCompensationExpense">
  </calculationLink>
  <calculationLink xlink:type="extended" xlink:role="http://www.nwpipe.com/taxonomy/role/DisclosureSharebasedCompensationSummaryOfStatusOfCompanysStockOptions">
  </calculationLink>
  <calculationLink xlink:type="extended" xlink:role="http://www.nwpipe.com/taxonomy/role/DisclosureSharebasedCompensationSummaryOfStatusOfCompanysRSUsAndPSAs">
  </calculationLink>
  <calculationLink xlink:type="extended" xlink:role="http://www.nwpipe.com/taxonomy/role/DisclosureIncomeTaxesAdditionalInformation">
  </calculationLink>
  <calculationLink xlink:type="extended" xlink:role="http://www.nwpipe.com/taxonomy/role/DisclosureEarningsPerShareEarningsPerBasicAndDilutedWeightedAverageCommonShareOutstandingForContinuingAndDiscontinuedOperations">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_EarningsPerShareBasic" xlink:label="us-gaap_EarningsPerShareBasic"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="us-gaap_EarningsPerShareDiluted"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsPerBasicShare" xlink:label="us-gaap_IncomeLossFromContinuingOperationsPerBasicShare"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare" xlink:label="us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare" xlink:label="us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare" xlink:label="us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment" xlink:label="us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_EarningsPerShareBasic" xlink:to="us-gaap_IncomeLossFromContinuingOperationsPerBasicShare" order="1.0500" weight="1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_EarningsPerShareBasic" xlink:to="us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare" order="1.0600" weight="1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_EarningsPerShareDiluted" xlink:to="us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare" order="1.0700" weight="1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_EarningsPerShareDiluted" xlink:to="us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare" order="1.0800" weight="1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" order="1.0300" weight="1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment" order="1.0400" weight="1.00" priority="2" use="optional"/>
  </calculationLink>
  <calculationLink xlink:type="extended" xlink:role="http://www.nwpipe.com/taxonomy/role/DisclosureAccumulatedOtherComprehensiveIncomeLossScheduleOfComponentsOfAccumulatedOtherComprehensiveIncomeLoss">
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTax"/>
    <loc xlink:type="locator" xlink:href="http://xbrl.fasb.org/us-gaap/2013/elts/us-gaap-2013-01-31.xsd#us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax" xlink:label="us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OtherComprehensiveIncomeLossNetOfTax" xlink:to="us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" order="1.0200" weight="1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OtherComprehensiveIncomeLossNetOfTax" xlink:to="us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax" order="1.0300" weight="-1.00" priority="2" use="optional"/>
  </calculationLink>
  <calculationLink xlink:type="extended" xlink:role="http://www.nwpipe.com/taxonomy/role/DisclosureAccumulatedOtherComprehensiveIncomeLossScheduleOfReclassificationsOfAccumulatedOtherComprehensiveIncomeLoss">
    <loc xlink:type="locator" xlink:href="nwpx-20140630.xsd#nwpx_IncomeTaxImpactsDueToReclassification" xlink:label="nwpx_IncomeTaxImpactsDueToReclassification"/>
    <loc xlink:type="locator" xlink:href="nwpx-20140630.xsd#nwpx_ReclassificationsForPeriod" xlink:label="nwpx_ReclassificationsForPeriod"/>
    <loc xlink:type="locator" xlink:href="nwpx-20140630.xsd#nwpx_ReclassificationsRecognizedInCostOfSales" xlink:label="nwpx_ReclassificationsRecognizedInCostOfSales"/>
    <loc xlink:type="locator" xlink:href="nwpx-20140630.xsd#nwpx_ReclassificationsRecognizedInNetSales" xlink:label="nwpx_ReclassificationsRecognizedInNetSales"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="nwpx_ReclassificationsForPeriod" xlink:to="nwpx_ReclassificationsRecognizedInCostOfSales" order="1.0100" weight="-1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="nwpx_ReclassificationsForPeriod" xlink:to="nwpx_ReclassificationsRecognizedInNetSales" order="1.0200" weight="1.00" priority="2" use="optional"/>
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="nwpx_ReclassificationsForPeriod" xlink:to="nwpx_IncomeTaxImpactsDueToReclassification" order="1.0300" weight="-1.00" priority="2" use="optional"/>
  </calculationLink>
  <calculationLink xlink:type="extended" xlink:role="http://www.nwpipe.com/taxonomy/role/NotesToFinancialStatementsOrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock">
  </calculationLink>
  <calculationLink xlink:type="extended" xlink:role="http://www.nwpipe.com/taxonomy/role/NotesToFinancialStatementsOrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlockPolicies">
  </calculationLink>
  <calculationLink xlink:type="extended" xlink:role="http://www.nwpipe.com/taxonomy/role/NotesToFinancialStatementsOrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlockTables">
  </calculationLink>
  <calculationLink xlink:type="extended" xlink:role="http://www.nwpipe.com/taxonomy/role/NotesToFinancialStatementsMergersAcquisitionsAndDispositionsDisclosuresTextBlock">
  </calculationLink>
  <calculationLink xlink:type="extended" xlink:role="http://www.nwpipe.com/taxonomy/role/NotesToFinancialStatementsMergersAcquisitionsAndDispositionsDisclosuresTextBlockTables">
  </calculationLink>
  <calculationLink xlink:type="extended" xlink:role="http://www.nwpipe.com/taxonomy/role/NotesToFinancialStatementsInventoryDisclosureTextBlock">
  </calculationLink>
  <calculationLink xlink:type="extended" xlink:role="http://www.nwpipe.com/taxonomy/role/NotesToFinancialStatementsInventoryDisclosureTextBlockTables">
  </calculationLink>
  <calculationLink xlink:type="extended" xlink:role="http://www.nwpipe.com/taxonomy/role/NotesToFinancialStatementsFairValueDisclosuresTextBlock">
  </calculationLink>
  <calculationLink xlink:type="extended" xlink:role="http://www.nwpipe.com/taxonomy/role/NotesToFinancialStatementsFairValueDisclosuresTextBlockTables">
  </calculationLink>
  <calculationLink xlink:type="extended" xlink:role="http://www.nwpipe.com/taxonomy/role/NotesToFinancialStatementsDerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock">
  </calculationLink>
  <calculationLink xlink:type="extended" xlink:role="http://www.nwpipe.com/taxonomy/role/NotesToFinancialStatementsCommitmentsAndContingenciesDisclosureTextBlock">
  </calculationLink>
  <calculationLink xlink:type="extended" xlink:role="http://www.nwpipe.com/taxonomy/role/NotesToFinancialStatementsSegmentReportingDisclosureTextBlock">
  </calculationLink>
  <calculationLink xlink:type="extended" xlink:role="http://www.nwpipe.com/taxonomy/role/NotesToFinancialStatementsSegmentReportingDisclosureTextBlockTables">
  </calculationLink>
  <calculationLink xlink:type="extended" xlink:role="http://www.nwpipe.com/taxonomy/role/NotesToFinancialStatementsDisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock">
  </calculationLink>
  <calculationLink xlink:type="extended" xlink:role="http://www.nwpipe.com/taxonomy/role/NotesToFinancialStatementsDisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlockTables">
  </calculationLink>
  <calculationLink xlink:type="extended" xlink:role="http://www.nwpipe.com/taxonomy/role/NotesToFinancialStatementsIncomeTaxDisclosureTextBlock">
  </calculationLink>
  <calculationLink xlink:type="extended" xlink:role="http://www.nwpipe.com/taxonomy/role/NotesToFinancialStatementsEarningsPerShareTextBlock">
  </calculationLink>
  <calculationLink xlink:type="extended" xlink:role="http://www.nwpipe.com/taxonomy/role/NotesToFinancialStatementsEarningsPerShareTextBlockTables">
  </calculationLink>
  <calculationLink xlink:type="extended" xlink:role="http://www.nwpipe.com/taxonomy/role/NotesToFinancialStatementsComprehensiveIncomeNoteTextBlock">
  </calculationLink>
  <calculationLink xlink:type="extended" xlink:role="http://www.nwpipe.com/taxonomy/role/NotesToFinancialStatementsComprehensiveIncomeNoteTextBlockTables">
  </calculationLink>
  <calculationLink xlink:type="extended" xlink:role="http://www.nwpipe.com/taxonomy/role/NotesToFinancialStatementsNewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock">
  </calculationLink>
</linkbase>
