#! /usr/bin/env python

def IdToName(id):
	"""
	IDTONAME- return name of test
 
	    Usage:
	       name=IdToName(id)
	"""

	idname={
	101 : 'SquareShelfConstrainedStressSSA2d',
	102 : 'SquareShelfConstrainedStressSSA3d',
	103 : 'SquareShelfConstrainedStressHO',
	104 : 'SquareShelfConstrainedStressFS',
	105 : 'SquareShelfConstrainedMasstransp2d',
	106 : 'SquareShelfConstrainedMasstransp2dDG',
	107 : 'SquareShelfConstrainedMasstransp3d',
	108 : 'SquareShelfConstrainedTherStea',
	109 : 'SquareShelfConstrainedTherTran',
	110 : 'SquareShelfConstrainedTranSSA2d',
	111 : 'SquareShelfConstrainedTranHO',
	112 : 'SquareShelfConstrainedSurfSlop2d',
	113 : 'SquareShelfConstrainedSurfSlope3d',
	114 : 'SquareShelfConstrainedBedSlop2d',
	115 : 'SquareShelfConstrainedBedSlop3d',
	116 : 'SquareShelfConstrainedBalThic2d',
	117 : 'SquareShelfConstrainedBalThic3d',
	118 : 'SquareShelfConstrainedBalThic2dDG',
	119 : 'SquareBamgMesh',
	120 : 'SquareShelfConstrainedEnthalpyStea',
	121 : 'SquareShelfConstrainedEnthalpyTran',
	122 : 'SquareShelfConstrainedTransHOEnth',
	201 : 'SquareShelfStressSSA2d',
	202 : 'SquareShelfStressSSA3d',
	203 : 'SquareShelfStressHO',
	204 : 'SquareShelfStressFS',
	205 : 'SquareShelfStressMHOPenalties',
	206 : 'SquareShelfTherStea',
	207 : 'SquareShelfTherTran',
	208 : 'SquareShelfTranSSA2d',
	209 : 'SquareShelfTranSSA3d',
	210 : 'SquareShelfTranHO',
	211 : 'SquareShelfTranFS',
	212 : 'SquareShelfCMBSSA2d',
	213 : 'SquareShelfCMBSSA3d',
	214 : 'SquareShelfCMBHO',
	215 : 'SquareShelfCMBFS',
	216 : 'SquareShelfStressSSA2dRift',
	217 : 'SquareShelfConstrained',
	218 : 'SquareShelfConstrainedDakotaB',
	219 : 'SquareShelfStressSSAHOTiling',
	220 : 'SquareShelfStressHOFS3dTiling',
	221 : 'SquareShelfStressSSAFS3dTiling',
	222 : 'SquareShelfStressSSA2dTransientIncrHydro',
	223 : 'SquareShelfStressSSA2dTransientIncrNonHydro',
	224 : 'SquareShelfStressHOTransientIncrHydro',
	225 : 'SquareShelfStressHOTransientIncrNonHydro',
	226 : 'SquareShelfTranCflSSA2d',
	227 : 'SquareShelfTranCflHO',
	228 : 'SquareShelfTranForceNeg2d',
	229  : 'SquareShelfTranForcePos2d',
	230  : 'SquareShelfTranForceNeg3d',
	231  : 'SquareShelfTranForcePos3d',
	232  : 'SquareShelfTherTranForcTemp',
	233  : 'SquareShelfTranHOForcTemp',
	234  : 'SquareShelfTranForceNeg2dDakotaSamp',
	235  : 'SquareShelfTranForceNeg2dDakotaLocal',
	236  : 'SquareShelfTranIspddIsdeltaSSA2d',
	237  : 'SquareShelfTranIspddIsdeltaSSA3d',
	270  : 'SquareShelfStressSSA2dDamage',
	272  : 'SquareShelfCMZSSA2dDamage',
	274  : 'SquareShelfStressSSA2dDamageRift',
	275  : 'SquareShelfDamageEvolutionSSA2d',
	280  : 'SquareShelfStressSSA2dHigherOrder',
	285  : 'SquareShelfStressHOHigherOrder',
	290  : 'SquareShelfStressFSP2P1',
	301  : 'SquareSheetConstrainedStressSSA2d',
	302  : 'SquareSheetConstrainedStressSIA2d',
	303  : 'SquareSheetConstrainedStressSIASSA2d',
	304  : 'SquareSheetConstrainedStressSSA3d',
	305  : 'SquareSheetConstrainedStressSIA3d',
	306  : 'SquareSheetConstrainedStressSIASSA3d',
	307  : 'SquareSheetConstrainedStressHO',
	308  : 'SquareSheetConstrainedStressFS',
	309  : 'SquareSheetConstrainedMasstransp2d',
	320  : 'SquareSheetConstrainedMasstransp2dDG',
	311  : 'SquareSheetConstrainedMasstransp3d',
	312  : 'SquareSheetConstrainedTherStea',
	313  : 'SquareSheetConstrainedTherTran',
	314  : 'SquareSheetConstrainedTranSIA2d',
	315  : 'SquareSheetConstrainedTranSIA3d',
	316  : 'SquareSheetConstrainedTranSSA2d',
	317  : 'SquareSheetConstrainedTranHO',
	318  : 'SquareSheetConstrainedSteaSIA3d',
	319  : 'SquareSheetConstrainedCMDragSSA2d',
	320  : 'SquareSheetConstrainedCMDragSSA3d',
	321  : 'SquareSheetConstrainedCMDragHO',
	322  : 'SquareSheetConstrainedCMDragFS',
	323  : 'SquareSheetConstrainedTranCflSSA2d',
	324  : 'SquareSheetConstrainedTranCflSIA3d',
	325  : 'SquareSheetConstrainedEnthalpyStea',
	326  : 'SquareSheetConstrainedEnthalpyTran',
	327  : 'SquareSheetConstrainedTransHOEnth',
	328  : 'SquareSheetConstrainedSmbGradients2d',
	329  : 'SquareSheetConstrainedSmbGradients3d',
	332  : 'SquareSheetConstrainedHydrologyDC',
	333  : 'SquareSheetHydrologyDCTwoLayers',
	401  : 'SquareSheetShelfStressSSA2d',
	402  : 'SquareSheetShelfStressSSA3d',
	403  : 'SquareSheetShelfStressHO',
	404  : 'SquareSheetShelfStressFS',
	405  : 'SquareSheetShelfStressMHOPenalties',
	406  : 'SquareSheetShelfTherStea',
	407  : 'SquareSheetShelfTherTran',
	408  : 'SquareSheetShelfTranSSA2d',
	409  : 'SquareSheetShelfTranMHOPenalties',
	410  : 'SquareSheetShelfSteaSSA3d',
	411  : 'SquareSheetShelfSteaHO',
	412  : 'SquareSheetShelfDiadSSA3dDakota',
	413  : 'SquareSheetShelfDiadSSA3dDakotaPart',
	414  : 'SquareSheetShelfDiadSSA3dDakotaMassFlux',
	415  : 'SquareSheetShelfCMDragSteaSSA3d',
	416  : 'SquareSheetShelfCMDragSteaHO',
	417  : 'SquareSheetShelfDiadSSA3dDakotaSamp',
	418  : 'SquareSheetShelfDiadSSA3dDakotaAreaAverage',
	419  : 'SquareSheetShelfStressSSAHOTiling',
	420  : 'SquareSheetShelfDakotaScaledResponse',
	421  : 'SquareSheetShelfStressHOFS3dTiling',
	422  : 'SquareSheetShelfStressSSAFS3dTiling',
	423  : 'RoundSheetShelfGLMigrationSSA2d',
	424  : 'SquareSheetShelfGroundingLine2dAgressive',
	425  : 'SquareSheetShelfGroundingLine2dSoft',
	426  : 'SquareSheetShelfGroundingLine3dAgressive',
	427  : 'SquareSheetShelfGroundingLine3dSoft',
	428  : 'SquareSheetShelfStressSSA2dNewton',
	429  : 'SquareSheetShelfStressHONewton',
	431  : 'SquareSheetShelfSteaEnthalpySSA3d',
	432  : 'SquareSheetShelfSteaEnthalpyHO',
	433  : 'RoundSheetShelfGLMigrationSSA3d',
	434  : 'SquareSheetShelfL1L2',
	450  : 'SquareSheetShelfStressSSAHigherOrder',
	455  : 'SquareSheetShelfStressHOHigherOrder',
	501  : 'PigStressSSA2d',
	502  : 'PigStressHO',
	503  : 'PigStressFS',
	504  : 'PigTranSSA2d',
	505  : 'PigTranSSA3d',
	506  : 'PigTranHO',
	507  : 'PigTranFS',
	508  : 'PigSteaSSA3d',
	509  : 'PigSteaHO',
	510  : 'PigSteaFS',
	511  : 'PigCMBFS',
	512  : 'PigCMDragHO',
	513  : 'PigCMDragSteaSSA3d',
	514  : 'PigBamgMesh',
	515  : 'PigTherTranSUPG',
	516  : 'PigTherSteaSUPG',
	530  : 'PigBalVel1',
	531  : 'PigBalVel2',
	601  : '79NorthMasstransp2d',
	602  : '79NorthMasstransp2dDG',
	603  : '79NorthMasstransp3d',
	604  : '79NorthSurfSlop2d',
	605  : '79NorthSurfSlop3d',
	606  : '79NorthBedSlop2d',
	607  : '79NorthBedSlop3d',
	608  : '79NorthBalThic2d',
	609  : '79NorthBalThic2dDG',
	610  : '79NorthBalThic3d',
	611  : '79NorthCMBalThic2dCG',
	613  : '79NorthCMBalThicVxVy',
	801  : 'ValleyGlacierLevelsetSSA2d',	
	802  : 'ValleyGlacierLevelsetThermalSSA3d',	
	803  : 'ValleyGlacierLevelsetEnthalpyHO3d',	
	804  : 'ValleyGlacierLevelsetCalvingSIA2d',	
	805  : 'ValleyGlacierLevelsetEnthCalvingHO3d',	
	1101 : 'ISMIPAHO',
	1102 : 'ISMIPAFS',
	1103 : 'ISMIPBHO',
	1104 : 'ISMIPBFS',
	1105 : 'ISMIPCHO',
	1106 : 'ISMIPCFS',
	1107 : 'ISMIPDHO',
	1108 : 'ISMIPDFS',
	1109 : 'ISMIPE',
	1110 : 'ISMIPF',
	1201 : 'EISMINTMassConservation',
	1202 : 'EISMINTStress1',
	1203 : 'EISMINTStress2',
	1204 : 'EISMINTTran2',
	1205 : 'EISMINTRoundIceSheetStaticSIA',
	1206 : 'EISMINTRoundIceSheetStaticHO',
	1207 : 'EISMINTRoundIceSheetStaticFS',
	1208 : 'EISMINTA',
	1301 : 'ThermalMelting',
	1302 : 'ThermalAdvection',
	1303 : 'ThermalConduction',
	1304 : 'ThermalGeothermalFlux',
	1401 : 'AdaptiveMeshRefinement1',
	1402 : 'AdaptiveMeshRefinement2',
	1501 : 'SquareShelfTranSawTooth2d',
	1502 : 'SquareShelfTranSawTooth3d',
	1601 : 'SquareShelfSSA2dRotation',
	1602 : 'SquareSheetShelfHORotation',
	2001 : 'SquareSheetConstrainedGia2d',
	2051 : 'GiaBenchmarksAB2dA1',
	2052 : 'GiaBenchmarksAB2dA2',
	2053 : 'GiaBenchmarksAB2dA3',
	2061 : 'GiaBenchmarksAB2dB1',
	2062 : 'GiaBenchmarksAB2dB2',
	2063 : 'GiaBenchmarksAB2dB3',
	2071 : 'GiaBenchmarksAB2dC1',
	2072 : 'GiaBenchmarksAB2dC2',
	2073 : 'GiaBenchmarksAB2dC3',
	2081 : 'GiaBenchmarksAB2dD1',
	2082 : 'GiaBenchmarksAB2dD2',
	2083 : 'GiaBenchmarksAB2dD3',
	3001 : 'SquareShelfConstrainedStressSSA2dAdolc',
	3002 : 'SquareShelfConstrainedStressSSA3dAdolc',
	3003 : 'SquareShelfConstrainedStressHOAdolc',
	3004 : 'SquareShelfConstrainedStressFSAdolc',
	3005 : 'SquareShelfConstrainedMasstransp2dAdolc',
	3006 : 'SquareShelfConstrainedMasstransp2dDGAdolc',
	3007 : 'SquareShelfConstrainedMasstransp3dAdolc',
	3008 : 'SquareShelfConstrainedTherSteaAdolc',
	3009 : 'SquareShelfConstrainedTherTranAdolc',
	3010 : 'SquareShelfConstrainedTranSSA2dAdolc',
	3015 : 'SquareShelfConstrainedMasstransp2dAdolcForwardDifference',
	3019 : 'SquareShelfConstrainedTherTranAdolcReverseVsForward',
	3020 : 'SquareShelfConstrainedTranAdolcReverseVsForward',
	3101 : 'SquareShelfConstrainedStressSSA2dAdolcMumps',
	3102 : 'SquareShelfConstrainedStressSSA3dAdolcMumps',
	3103 : 'SquareShelfConstrainedStressHOAdolcMumps',
	3104 : 'SquareShelfConstrainedStressFSAdolcMumps',
	3105 : 'SquareShelfConstrainedMasstransp2dAdolcMumps',
	3106 : 'SquareShelfConstrainedMasstransp2dDGAdolcMumps',
	3107 : 'SquareShelfConstrainedMasstransp3dAdolcMumps',
	3108 : 'SquareShelfConstrainedTherSteaAdolcMumps',
	3109 : 'SquareShelfConstrainedTherTranAdolcMumps',
	3110 : 'SquareShelfConstrainedTranSSA2dAdolcMumps',
	3115 : 'SquareShelfConstrainedMasstransp2dAdolcForwardDifferenceMumps',
	3119 : 'SquareShelfConstrainedTherTranAdolcReverseVsForwardMumps',
	3120 : 'SquareShelfConstrainedTranAdolcReverseVsForwardMumps',
	3300 : 'SquareSheetHydrologyDCTwoLayersVolumeControl',
	}

	if not id == 0:
		return idname.get(id,'N/A')
	else:
		return idname
