#!/bin/bash
FILE=$1
if [ $# -ne 1 ];
then
	echo "Usage: ./Update.sh filename "  1>&2
	exit 1
fi
if [ ! -f $FILE ]; then
	echo "File $FILE does not exist or is empty. Exiting."  1>&2
	exit 1
fi

cat $FILE | sed -e "s/md\.name/md.miscellaneous.name/g" > $FILE$$.bak && mv $FILE$$.bak $FILE
cat $FILE | sed -e "s/md\.spcvx/md.diagnostic.spcvx/g" > $FILE$$.bak && mv $FILE$$.bak $FILE
cat $FILE | sed -e "s/md\.spcvy/md.diagnostic.spcvy/g" > $FILE$$.bak && mv $FILE$$.bak $FILE
cat $FILE | sed -e "s/md\.spcvz/md.diagnostic.spcvz/g" > $FILE$$.bak && mv $FILE$$.bak $FILE
cat $FILE | sed -e "s/md\.spctemperature/md.thermal.spctemperature/g" > $FILE$$.bak && mv $FILE$$.bak $FILE
cat $FILE | sed -e "s/md\.spcthickness/md.balancethickness.spcthickness/g" > $FILE$$.bak && mv $FILE$$.bak $FILE
cat $FILE | sed -e "s/md\.bamg/md.private.bamg/g" > $FILE$$.bak && mv $FILE$$.bak $FILE
cat $FILE | sed -e "s/md\.numberofgrids/md.mesh.numberofvertices/g" > $FILE$$.bak && mv $FILE$$.bak $FILE
cat $FILE | sed -e "s/md\.vx_obs/md.inversion.vx_obs/g" > $FILE$$.bak && mv $FILE$$.bak $FILE
cat $FILE | sed -e "s/md\.vy_obs/md.inversion.vy_obs/g" > $FILE$$.bak && mv $FILE$$.bak $FILE
cat $FILE | sed -e "s/md\.vel_obs/md.inversion.vel_obs/g" > $FILE$$.bak && mv $FILE$$.bak $FILE
cat $FILE | sed -e "s/md\.vx/md.initialization.vx/g" > $FILE$$.bak && mv $FILE$$.bak $FILE
cat $FILE | sed -e "s/md\.vy/md.initialization.vy/g" > $FILE$$.bak && mv $FILE$$.bak $FILE
cat $FILE | sed -e "s/md\.vz/md.initialization.vz/g" > $FILE$$.bak && mv $FILE$$.bak $FILE
cat $FILE | sed -e "s/md\.vel/md.initialization.vel/g" > $FILE$$.bak && mv $FILE$$.bak $FILE
cat $FILE | sed -e "s/md\.temperature/md.initialization.temperature/g" > $FILE$$.bak && mv $FILE$$.bak $FILE
cat $FILE | sed -e "s/md\.pressure/md.initialization.pressure/g" > $FILE$$.bak && mv $FILE$$.bak $FILE
cat $FILE | sed -e "s/md\.thickness_obs/md.inversion.thickness_obs/g" > $FILE$$.bak && mv $FILE$$.bak $FILE
cat $FILE | sed -e "s/md\.thickness/md.geometry.thickness/g" > $FILE$$.bak && mv $FILE$$.bak $FILE
cat $FILE | sed -e "s/md\.bed/md.geometry.bed/g" > $FILE$$.bak && mv $FILE$$.bak $FILE
cat $FILE | sed -e "s/md\.bathymetry/md.geometry.bathymetry/g" > $FILE$$.bak && mv $FILE$$.bak $FILE
cat $FILE | sed -e "s/md\.surface_mass_balance/md.surfaceforcings.mass_balance/g" > $FILE$$.bak && mv $FILE$$.bak $FILE
cat $FILE | sed -e "s/md\.surface=/md.geometry.surface=/g" > $FILE$$.bak && mv $FILE$$.bak $FILE
cat $FILE | sed -e "s/md\.surface /md.geometry.surface /g" > $FILE$$.bak && mv $FILE$$.bak $FILE
cat $FILE | sed -e "s/md\.surface,/md.geometry.surface,/g" > $FILE$$.bak && mv $FILE$$.bak $FILE
cat $FILE | sed -e "s/md\.surface;/md.geometry.surface;/g" > $FILE$$.bak && mv $FILE$$.bak $FILE
cat $FILE | sed -e "s/md\.x/md.mesh.x/g" > $FILE$$.bak && mv $FILE$$.bak $FILE
cat $FILE | sed -e "s/md\.yts/md.constants.yts/g" > $FILE$$.bak && mv $FILE$$.bak $FILE
cat $FILE | sed -e "s/md\.y/md.mesh.y/g" > $FILE$$.bak && mv $FILE$$.bak $FILE
cat $FILE | sed -e "s/md\.z/md.mesh.z/g" > $FILE$$.bak && mv $FILE$$.bak $FILE
cat $FILE | sed -e "s/md\.lat/md.mesh.lat/g" > $FILE$$.bak && mv $FILE$$.bak $FILE
cat $FILE | sed -e "s/md\.long/md.mesh.long/g" > $FILE$$.bak && mv $FILE$$.bak $FILE
cat $FILE | sed -e "s/md\.hemisphere/md.mesh.hemisphere/g" > $FILE$$.bak && mv $FILE$$.bak $FILE
cat $FILE | sed -e "s/md\.numberofnodes/md.mesh.numberofvertices/g" > $FILE$$.bak && mv $FILE$$.bak $FILE
cat $FILE | sed -e "s/md\.numberofelements/md.mesh.numberofelements/g" > $FILE$$.bak && mv $FILE$$.bak $FILE
cat $FILE | sed -e "s/md\.drag_coefficient/md.friction.coefficient/g" > $FILE$$.bak && mv $FILE$$.bak $FILE
cat $FILE | sed -e "s/md\.drag_p/md.friction.p/g" > $FILE$$.bak && mv $FILE$$.bak $FILE
cat $FILE | sed -e "s/md\.drag_q/md.friction.q/g" > $FILE$$.bak && mv $FILE$$.bak $FILE
cat $FILE | sed -e "s/setelementstype/setflowequation/g" > $FILE$$.bak && mv $FILE$$.bak $FILE
cat $FILE | sed -e "s/geography(md/setmask(md/g" > $FILE$$.bak && mv $FILE$$.bak $FILE
cat $FILE | sed -e "s/md\.rheology_B/md.materials.rheology_B/g" > $FILE$$.bak && mv $FILE$$.bak $FILE
cat $FILE | sed -e "s/md\.rho_ice/md.materials.rho_ice/g" > $FILE$$.bak && mv $FILE$$.bak $FILE
cat $FILE | sed -e "s/md\.rho_water/md.materials.rho_water/g" > $FILE$$.bak && mv $FILE$$.bak $FILE
cat $FILE | sed -e "s/md\.nodeonbed/md.mesh.vertexonbed/g" > $FILE$$.bak && mv $FILE$$.bak $FILE
cat $FILE | sed -e "s/md\.nodeonboundary/md.mesh.vertexonboundary/g" > $FILE$$.bak && mv $FILE$$.bak $FILE
cat $FILE | sed -e "s/md\.petscoptions/md.solver/g" > $FILE$$.bak && mv $FILE$$.bak $FILE
cat $FILE | sed -e "s/md\.dhdt/md.balancethickness.thickening_rate/g" > $FILE$$.bak && mv $FILE$$.bak $FILE
cat $FILE | sed -e "s/md\.eps_rel/md.diagnostic.reltol/g" > $FILE$$.bak && mv $FILE$$.bak $FILE
cat $FILE | sed -e "s/md\.eps_res/md.diagnostic.restol/g" > $FILE$$.bak && mv $FILE$$.bak $FILE
cat $FILE | sed -e "s/md\.eps_abs/md.diagnostic.abstol/g" > $FILE$$.bak && mv $FILE$$.bak $FILE
cat $FILE | sed -e "s/md\.eps_cm/md.inversion.cost_function_threshold/g" > $FILE$$.bak && mv $FILE$$.bak $FILE
cat $FILE | sed -e "s/md\.cm_responses/md.inversion.cost_functions/g" > $FILE$$.bak && mv $FILE$$.bak $FILE
cat $FILE | sed -e "s/md\.nsteps/md.inversion.nsteps/g" > $FILE$$.bak && mv $FILE$$.bak $FILE
cat $FILE | sed -e "s/md\.weights/md.inversion.cost_functions_coefficients/g" > $FILE$$.bak && mv $FILE$$.bak $FILE
cat $FILE | sed -e "s/md\.optscal/md.inversion.gradient_scaling/g" > $FILE$$.bak && mv $FILE$$.bak $FILE
cat $FILE | sed -e "s/md\.cm_jump/md.inversion.step_threshold/g" > $FILE$$.bak && mv $FILE$$.bak $FILE
cat $FILE | sed -e "s/md\.control_type/md.inversion.control_parameters/g" > $FILE$$.bak && mv $FILE$$.bak $FILE
cat $FILE | sed -e "s/md\.waitonlock/md.settings.waitonlock/g" > $FILE$$.bak && mv $FILE$$.bak $FILE
cat $FILE | sed -e "s/md\.cm_min/md.inversion.min_parameters/g" > $FILE$$.bak && mv $FILE$$.bak $FILE
cat $FILE | sed -e "s/md\.cm_max/md.inversion.max_parameters/g" > $FILE$$.bak && mv $FILE$$.bak $FILE
cat $FILE | sed -e "s/md\.maxiter/md.inversion.maxiter_per_step/g" > $FILE$$.bak && mv $FILE$$.bak $FILE
cat $FILE | sed -e "s/md\.control_type/md.inversion.control_parameters/g" > $FILE$$.bak && mv $FILE$$.bak $FILE
cat $FILE | sed -e "s/md\.control_type/md.inversion.control_parameters/g" > $FILE$$.bak && mv $FILE$$.bak $FILE
cat $FILE | sed -e "s/md\.min_thermal_constraints/md.thermal.penalty_threshold/g" > $FILE$$.bak && mv $FILE$$.bak $FILE
cat $FILE | sed -e "s/md\.control_analysis/md.inversion.iscontrol/g" > $FILE$$.bak && mv $FILE$$.bak $FILE
cat $FILE | sed -e "s/SurfaceAbsVelMisfitEnum/101/g" > $FILE$$.bak && mv $FILE$$.bak $FILE
cat $FILE | sed -e "s/SurfaceRelVelMisfitEnum/102/g" > $FILE$$.bak && mv $FILE$$.bak $FILE
cat $FILE | sed -e "s/SurfaceLogVelMisfitEnum/103/g" > $FILE$$.bak && mv $FILE$$.bak $FILE
cat $FILE | sed -e "s/SurfaceLogVxVyMisfitEnum/104/g" > $FILE$$.bak && mv $FILE$$.bak $FILE
cat $FILE | sed -e "s/SurfaceAverageVelMisfitEnum/105/g" > $FILE$$.bak && mv $FILE$$.bak $FILE
cat $FILE | sed -e "s/ThicknessAbsMisfitEnum/201/g" > $FILE$$.bak && mv $FILE$$.bak $FILE
cat $FILE | sed -e "s/DragCoefficientAbsGradientEnum/501/g" > $FILE$$.bak && mv $FILE$$.bak $FILE
cat $FILE | sed -e "s/RheologyBbarAbsGradientEnum/502/g" > $FILE$$.bak && mv $FILE$$.bak $FILE
cat $FILE | sed -e "s/ThicknessAbsGradientEnum/503/g" > $FILE$$.bak && mv $FILE$$.bak $FILE
cat $FILE | sed -e "s/DragCoefficientEnum/{'FrictionCoefficient'}/g" > $FILE$$.bak && mv $FILE$$.bak $FILE
cat $FILE | sed -e "s/md\.elementoniceshelf/md.mask.elementonfloatingice/g" > $FILE$$.bak && mv $FILE$$.bak $FILE
cat $FILE | sed -e "s/md\.nodeoniceshelf/md.mask.vertexonfloatingice/g" > $FILE$$.bak && mv $FILE$$.bak $FILE
cat $FILE | sed -e "s/md\.elementonicesheet/md.mask.elementongroundedice/g" > $FILE$$.bak && mv $FILE$$.bak $FILE
cat $FILE | sed -e "s/md\.nodeonicesheet/md.mask.vertexongroundedice/g" > $FILE$$.bak && mv $FILE$$.bak $FILE
cat $FILE | sed -e "s/md\.elements/md.mesh.elements/g" > $FILE$$.bak && mv $FILE$$.bak $FILE
cat $FILE | sed -e "s/md\.rheology_n/md.materials.rheology_n/g" > $FILE$$.bak && mv $FILE$$.bak $FILE
cat $FILE | sed -e "s/md\.gl_migration/md.groundingline.migration/g" > $FILE$$.bak && mv $FILE$$.bak $FILE
cat $FILE | sed -e "s/md\.hydrostatic_adjustment/md.prognostic.hydrostatic_adjustment/g" > $FILE$$.bak && mv $FILE$$.bak $FILE
cat $FILE | sed -e "s/md\.rheology_law/md.materials.rheology_law/g" > $FILE$$.bak && mv $FILE$$.bak $FILE
cat $FILE | sed -e "s/md\.basal_melting_rate/md.basalforcings.melting_rate/g" > $FILE$$.bak && mv $FILE$$.bak $FILE
cat $FILE | sed -e "s/md\.geothermalflux/md.basalforcings.geothermalflux/g" > $FILE$$.bak && mv $FILE$$.bak $FILE
