#! /usr/bin/env python

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

	idname={
		101 : 'SquareShelfConstrainedDiagM2d',
		102 : 'SquareShelfConstrainedDiagM3d',
		103 : 'SquareShelfConstrainedDiagP3d',
		104 : 'SquareShelfConstrainedDiagS3d',
		105 : 'SquareShelfConstrainedProg2d',
		106 : 'SquareShelfConstrainedProg2dDG',
		107 : 'SquareShelfConstrainedProg3d',
		108 : 'SquareShelfConstrainedTherStea',
		109 : 'SquareShelfConstrainedTherTran',
		110 : 'SquareShelfConstrainedTranM2d',
		111 : 'SquareShelfConstrainedTranP3d',
		112 : 'SquareShelfConstrainedSurfSlop2d',
		113 : 'SquareShelfConstrainedSurfSlope3d',
		114 : 'SquareShelfConstrainedBedSlop2d',
		115 : 'SquareShelfConstrainedBedSlop3d',
		116 : 'SquareShelfConstrainedBalThic2d',
		117 : 'SquareShelfConstrainedBalThic3d',
		118 : 'SquareShelfConstrainedBalThic2dDG',
		119 : 'SquareBamgMesh',
		120 : 'SquareShelfConstrainedEnthalpyStea',
		121 : 'SquareShelfConstrainedEnthalpyTran',
		122 : 'SquareShelfConstrainedTransP3dEnth',
		201 : 'SquareShelfDiagM2d',
		202 : 'SquareShelfDiagM3d',
		203 : 'SquareShelfDiagP3d',
		204 : 'SquareShelfDiagS3d',
		205 : 'SquareShelfDiagMP3dPenalties',
		206 : 'SquareShelfTherStea',
		207 : 'SquareShelfTherTran',
		208 : 'SquareShelfTranM2d',
		209 : 'SquareShelfTranM3d',
		210 : 'SquareShelfTranP3d',
		211 : 'SquareShelfTranS3d',
		212 : 'SquareShelfCMBM2d',
		213 : 'SquareShelfCMBM3d',
		214 : 'SquareShelfCMBP3d',
		215 : 'SquareShelfCMBS3d',
		216 : 'SquareShelfDiagM2dRift',
		217 : 'SquareShelfConstrained',
		218 : 'SquareShelfConstrainedDakotaB',
		219 : 'SquareShelfDiagMP3dTiling',
		220 : 'SquareShelfDiagPS3dTiling',
		221 : 'SquareShelfDiagMS3dTiling',
		222 : 'SquareShelfDiagM2dTransientIncrHydro',
		223 : 'SquareShelfDiagM2dTransientIncrNonHydro',
		224 : 'SquareShelfDiagP3dTransientIncrHydro',
		225 : 'SquareShelfDiagP3dTransientIncrNonHydro',
		226 : 'SquareShelfTranCflM2d',
		227 : 'SquareShelfTranCflP3d',
		228 : 'SquareShelfTranForceNeg2d',
		229 : 'SquareShelfTranForcePos2d',
		230 : 'SquareShelfTranForceNeg3d',
		231 : 'SquareShelfTranForcePos3d',
		232 : 'SquareShelfTherTranForcTemp',
		233 : 'SquareShelfTranP3dForcTemp',
		234 : 'SquareShelfTranForceNeg2dDakotaSamp',
   	235 : 'SquareShelfTranForceNeg2dDakotaLocal',
		301 : 'SquareSheetConstrainedDiagM2d',
		302 : 'SquareSheetConstrainedDiagH2d',
		303 : 'SquareSheetConstrainedDiagHM2d',
		304 : 'SquareSheetConstrainedDiagM3d',
		305 : 'SquareSheetConstrainedDiagH3d',
		306 : 'SquareSheetConstrainedDiagHM3d',
		307 : 'SquareSheetConstrainedDiagP3d',
		308 : 'SquareSheetConstrainedDiagS3d',
		309 : 'SquareSheetConstrainedProg2d',
		310 : 'SquareSheetConstrainedProg2dDG',
		311 : 'SquareSheetConstrainedProg3d',
		312 : 'SquareSheetConstrainedTherStea',
		313 : 'SquareSheetConstrainedTherTran',
		314 : 'SquareSheetConstrainedTranH2d',
		315 : 'SquareSheetConstrainedTranH3d',
		316 : 'SquareSheetConstrainedTranM2d',
		317 : 'SquareSheetConstrainedTranP3d',
		318 : 'SquareSheetConstrainedSteaH3d',
		319 : 'SquareSheetConstrainedCMDragM2d',
		320 : 'SquareSheetConstrainedCMDragM3d',
		321 : 'SquareSheetConstrainedCMDragP3d',
		322 : 'SquareSheetConstrainedCMDragS3d',
		323 : 'SquareSheetConstrainedTranCflM2d',
		324 : 'SquareSheetConstrainedTranCflH3d',
		325 : 'SquareSheetConstrainedEnthalpyStea',
		326 : 'SquareSheetConstrainedEnthalpyTran',
		327 : 'SquareSheetConstrainedTransP3dEnth',
		328 : 'SquareSheetConstrainedSmbGradients2d',
		329 : 'SquareSheetConstrainedSmbGradients3d',
		401 : 'SquareSheetShelfDiagM2d',
		402 : 'SquareSheetShelfDiagM3d',
		403 : 'SquareSheetShelfDiagP3d',
		404 : 'SquareSheetShelfDiagS3d',
		405 : 'SquareSheetShelfDiagMP3dPenalties',
		406 : 'SquareSheetShelfTherStea',
		407 : 'SquareSheetShelfTherTran',
		408 : 'SquareSheetShelfTranM2d',
		409 : 'SquareSheetShelfTranMP3dPenalties',
		410 : 'SquareSheetShelfSteaM3d',
		411 : 'SquareSheetShelfSteaP3d',
		412 : 'SquareSheetShelfDiadM3dDakota',
		413 : 'SquareSheetShelfDiadM3dDakotaPart',
		414 : 'SquareSheetShelfDiadM3dDakotaMassFlux',
		415 : 'SquareSheetShelfCMDragSteaM3d',
		416 : 'SquareSheetShelfCMDragSteaP3d',
		417 : 'SquareSheetShelfDiadM3dDakotaSamp',
		418 : 'SquareSheetShelfDiadM3dDakotaAreaAverage',
		419 : 'SquareSheetShelfDiagMP3dTiling',
		420 : 'SquareSheetShelfDakotaScaledResponse',
		421 : 'SquareSheetShelfDiagPS3dTiling',
		422 : 'SquareSheetShelfDiagMS3dTiling',
		423 : 'RoundSheetShelfGLMigrationM2d',
		424 : 'SquareSheetShelfGroundingLine2dAgressice',
		425 : 'SquareSheetShelfGroundingLine2dSoft',
		426 : 'SquareSheetShelfGroundingLine3dAgressice',
		427 : 'SquareSheetShelfGroundingLine3dSoft',
		428 : 'SquareSheetShelfDiagM2dNewton',
		439 : 'SquareSheetShelfDiagP3dNewton',
		430 : 'SquareSheetShelfDiagS3dNewton',
		431 : 'SquareSheetShelfSteaEnthalpyM3d',
		432 : 'SquareSheetShelfSteaEnthalpyP3d',
		501 : 'PigDiagM2d',
		502 : 'PigDiagP3d',
		503 : 'PigDiagS3d',
		504 : 'PigTranM2d',
		505 : 'PigTranM3d',
		506 : 'PigTranP3d',
		507 : 'PigTranS3d',
		508 : 'PigSteaM3d',
		509 : 'PigSteaP3d',
		510 : 'PigSteaS3d',
		511 : 'PigCMBS3d',
		512 : 'PigCMDragP3d',
		513 : 'PigCMDragSteaM3d',
		514 : 'PigBamgMesh',
		515 : 'PigTherTranSUPG',
		516 : 'PigTherSteaSUPG',
		601 : '79NorthProg2d',
		602 : '79NorthProg2dDG',
		603 : '79NorthProg3d',
		604 : '79NorthSurfSlop2d',
		605 : '79NorthSurfSlop3d',
		606 : '79NorthBedSlop2d',
		607 : '79NorthBedSlop3d',
		608 : '79NorthBalThic2d',
		609 : '79NorthBalThic2dDG',
		610 : '79NorthBalThic3d',
		611 : '79NorthCMBalThic2dCG',
		612 : '79NorthCMBalThic2dDG',
		613 : '79NorthCMBalThicVxVy',
		1101 : 'ISMIPAPattyn',
		1102 : 'ISMIPAStokes',
		1103 : 'ISMIPBPattyn',
		1104 : 'ISMIPBStokes',
		1105 : 'ISMIPCPattyn',
		1106 : 'ISMIPCStokes',
		1107 : 'ISMIPDPattyn',
		1108 : 'ISMIPDStokes',
		1109 : 'ISMIPE',
		1110 : 'ISMIPF',
		1201 : 'EISMINTMassConservation',
		1202 : 'EISMINTDiag1',
		1203 : 'EISMINTDiag2',
		1204 : 'EISMINTTran2',
		1205 : 'EISMINTRoundIceSheetStaticHutter',
		1206 : 'EISMINTRoundIceSheetStaticPattyn',
		1207 : 'EISMINTRoundIceSheetStaticStokes',
		1208 : 'EISMINTA',
		1301 : 'ThermalMelting',
		1302 : 'ThermalAdvection',
		1303 : 'ThermalConduction',
		1304 : 'ThermalGeothermalFlux',
		1401 : 'AdaptiveMeshRefinement1',
		1402 : 'AdaptiveMeshRefinement2',
		1501 : 'SquareShelfTranSawTooth2d',
		1502 : 'SquareShelfTranSawTooth3d',
		1601 : 'SquareShelfM2dRotation',
		1602 : 'SquareSheetShelfP3dRotation',
	}

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

