Index: trunk/psModules/src/objects/models/pmModel_GAUSS.c
===================================================================
--- trunk/psModules/src/objects/models/pmModel_GAUSS.c	(revision 15815)
+++ trunk/psModules/src/objects/models/pmModel_GAUSS.c	(revision 15834)
@@ -6,8 +6,8 @@
  * specifics of the model.  All models which are used a PSF representations share a few
  * parameters, for which # define names are listed in pmModel.h:
- 
+
    pure Gaussian:
    exp(-z)
- 
+
  * PM_PAR_SKY 0   - local sky : note that this is unused and may be dropped in the future
  * PM_PAR_I0 1    - central intensity
@@ -19,10 +19,10 @@
  *****************************************************************************/
 
-# define PM_MODEL_FUNC       	  pmModelFunc_GAUSS
-# define PM_MODEL_FLUX       	  pmModelFlux_GAUSS
-# define PM_MODEL_GUESS      	  pmModelGuess_GAUSS
-# define PM_MODEL_LIMITS     	  pmModelLimits_GAUSS
-# define PM_MODEL_RADIUS     	  pmModelRadius_GAUSS
-# define PM_MODEL_FROM_PSF   	  pmModelFromPSF_GAUSS
+# define PM_MODEL_FUNC            pmModelFunc_GAUSS
+# define PM_MODEL_FLUX            pmModelFlux_GAUSS
+# define PM_MODEL_GUESS           pmModelGuess_GAUSS
+# define PM_MODEL_LIMITS          pmModelLimits_GAUSS
+# define PM_MODEL_RADIUS          pmModelRadius_GAUSS
+# define PM_MODEL_FROM_PSF        pmModelFromPSF_GAUSS
 # define PM_MODEL_PARAMS_FROM_PSF pmModelParamsFromPSF_GAUSS
 # define PM_MODEL_FIT_STATUS      pmModelFitStatus_GAUSS
@@ -76,7 +76,7 @@
         f2 = 1.0 / PS_SQR(params[PM_PAR_SYY]) - 1.0 / PS_SQR(params[PM_PAR_SXX]);
         q1 = PS_SQR(f1)*AR_RATIO - PS_SQR(f2);
-	q1 = PS_MAX (0.0, q1); 
-	// if q1 < 0.0, f2 ~ f1, we have a very large axis ratio near 45deg..  Saturate at that
-	// angle and let f2,f1 fight it out
+        q1 = PS_MAX (0.0, q1);
+        // if q1 < 0.0, f2 ~ f1, we have a very large axis ratio near 45deg..  Saturate at that
+        // angle and let f2,f1 fight it out
         q2  = 0.5*sqrt (q1);
     }
@@ -111,6 +111,6 @@
         if (fabs(beta[nParam]) > fabs(beta_lim)) {
             beta[nParam] = (beta[nParam] > 0) ? fabs(beta_lim) : -fabs(beta_lim);
-	    psTrace ("psModules.objects", 5, "|beta[nParam==%d]| > |beta_lim|; %g v. %g",
-		     nParam, beta[nParam], beta_lim);
+            psTrace ("psModules.objects", 5, "|beta[nParam==%d]| > |beta_lim|; %g v. %g",
+                     nParam, beta[nParam], beta_lim);
             return false;
         }
@@ -144,6 +144,6 @@
         if (params[nParam] < params_min) {
             params[nParam] = params_min;
-	    psTrace ("psModules.objects", 5, "params[nParam==%d] < params_min; %g v. %g",
-		     nParam, params[nParam], params_min);
+            psTrace ("psModules.objects", 5, "params[nParam==%d] < params_min; %g v. %g",
+                     nParam, params[nParam], params_min);
             return false;
         }
@@ -177,6 +177,6 @@
         if (params[nParam] > params_max) {
             params[nParam] = params_max;
-	    psTrace ("psModules.objects", 5, "params[nParam==%d] > params_max; %g v. %g",
-		     nParam, params[nParam], params_max);
+            psTrace ("psModules.objects", 5, "params[nParam==%d] > params_max; %g v. %g",
+                     nParam, params[nParam], params_max);
             return false;
         }
@@ -260,5 +260,5 @@
 
 // construct the PSF model from the FLT model and the psf
-bool PM_MODEL_FROM_PSF (pmModel *modelPSF, pmModel *modelFLT, pmPSF *psf)
+bool PM_MODEL_FROM_PSF (pmModel *modelPSF, pmModel *modelFLT, const pmPSF *psf)
 {
     psF32 *out = modelPSF->params->data.F32;
@@ -286,7 +286,7 @@
     // XXX user-defined value for limit?
     if (!pmPSF_FitToModel (out, 0.1)) {
-	psError(PM_ERR_PSF, false, "Failed to fit object at (r,c) = (%.1f,%.1f)",
-		in[PM_PAR_YPOS], in[PM_PAR_XPOS]);
-	return false;
+        psError(PM_ERR_PSF, false, "Failed to fit object at (r,c) = (%.1f,%.1f)",
+                in[PM_PAR_YPOS], in[PM_PAR_XPOS]);
+        return false;
     }
 
@@ -298,12 +298,12 @@
             continue;
 
-	bool status = true;
+        bool status = true;
         status &= PM_MODEL_LIMITS (PS_MINIMIZE_PARAM_MIN, i, out, NULL);
         status &= PM_MODEL_LIMITS (PS_MINIMIZE_PARAM_MAX, i, out, NULL);
-	if (!status) {
-	    psTrace ("psModules.objects", 5, "Hitting parameter limits at (r,c) = (%.1f, %.1f)",
-		     in[PM_PAR_XPOS], in[PM_PAR_YPOS]);
-	    modelPSF->flags |= PM_MODEL_STATUS_LIMITS;
-	}
+        if (!status) {
+            psTrace ("psModules.objects", 5, "Hitting parameter limits at (r,c) = (%.1f, %.1f)",
+                     in[PM_PAR_XPOS], in[PM_PAR_YPOS]);
+            modelPSF->flags |= PM_MODEL_STATUS_LIMITS;
+        }
     }
     return(true);
@@ -312,5 +312,5 @@
 // construct the PSF model from the FLT model and the psf
 // XXX is this sufficiently general do be a global function, not a pmModelClass function?
-bool PM_MODEL_PARAMS_FROM_PSF (pmModel *model, pmPSF *psf, float Xo, float Yo, float Io)
+bool PM_MODEL_PARAMS_FROM_PSF (pmModel *model, const pmPSF *psf, float Xo, float Yo, float Io)
 {
     psF32 *PAR = model->params->data.F32;
@@ -324,13 +324,13 @@
     PAR[PM_PAR_XPOS] = Xo;
     PAR[PM_PAR_YPOS] = Yo;
-    
+
     // supply the model-fitted parameters, or copy from the input
     for (int i = 0; i < psf->params->n; i++) {
-	if (i == PM_PAR_SKY) continue;
-	if (i == PM_PAR_I0) continue;
-	if (i == PM_PAR_XPOS) continue;
-	if (i == PM_PAR_YPOS) continue;
-	pmTrend2D *trend = psf->params->data[i];
-	PAR[i] = pmTrend2DEval(trend, Xo, Yo);
+        if (i == PM_PAR_SKY) continue;
+        if (i == PM_PAR_I0) continue;
+        if (i == PM_PAR_XPOS) continue;
+        if (i == PM_PAR_YPOS) continue;
+        pmTrend2D *trend = psf->params->data[i];
+        PAR[i] = pmTrend2DEval(trend, Xo, Yo);
     }
 
@@ -339,6 +339,6 @@
     // XXX user-defined value for limit?
     if (!pmPSF_FitToModel (PAR, 0.1)) {
-	psError(PM_ERR_PSF, false, "Failed to fit object at (r,c) = (%.1f,%.1f)", Xo, Yo);
-	return false;
+        psError(PM_ERR_PSF, false, "Failed to fit object at (r,c) = (%.1f,%.1f)", Xo, Yo);
+        return false;
     }
 
@@ -350,11 +350,11 @@
             continue;
 
-	bool status = true;
+        bool status = true;
         status &= PM_MODEL_LIMITS (PS_MINIMIZE_PARAM_MIN, i, PAR, NULL);
         status &= PM_MODEL_LIMITS (PS_MINIMIZE_PARAM_MAX, i, PAR, NULL);
-	if (!status) {
-	    psTrace ("psModules.objects", 5, "Hitting parameter limits at (r,c) = (%.1f, %.1f)", Xo, Yo);
-	    model->flags |= PM_MODEL_STATUS_LIMITS;
-	}
+        if (!status) {
+            psTrace ("psModules.objects", 5, "Hitting parameter limits at (r,c) = (%.1f, %.1f)", Xo, Yo);
+            model->flags |= PM_MODEL_STATUS_LIMITS;
+        }
     }
     return(true);
Index: trunk/psModules/src/objects/models/pmModel_PGAUSS.c
===================================================================
--- trunk/psModules/src/objects/models/pmModel_PGAUSS.c	(revision 15815)
+++ trunk/psModules/src/objects/models/pmModel_PGAUSS.c	(revision 15834)
@@ -6,8 +6,8 @@
  * specifics of the model.  All models which are used a PSF representations share a few
  * parameters, for which # define names are listed in pmModel.h:
- 
+
    Gaussian taylor expansion
    1 / (1 + z + z^2/2 + z^3/6)
- 
+
  * PM_PAR_SKY 0   - local sky : note that this is unused and may be dropped in the future
  * PM_PAR_I0 1    - central intensity
@@ -19,10 +19,10 @@
  *****************************************************************************/
 
-# define PM_MODEL_FUNC       	  pmModelFunc_PGAUSS
-# define PM_MODEL_FLUX       	  pmModelFlux_PGAUSS
-# define PM_MODEL_GUESS      	  pmModelGuess_PGAUSS
-# define PM_MODEL_LIMITS     	  pmModelLimits_PGAUSS
-# define PM_MODEL_RADIUS     	  pmModelRadius_PGAUSS
-# define PM_MODEL_FROM_PSF   	  pmModelFromPSF_PGAUSS
+# define PM_MODEL_FUNC            pmModelFunc_PGAUSS
+# define PM_MODEL_FLUX            pmModelFlux_PGAUSS
+# define PM_MODEL_GUESS           pmModelGuess_PGAUSS
+# define PM_MODEL_LIMITS          pmModelLimits_PGAUSS
+# define PM_MODEL_RADIUS          pmModelRadius_PGAUSS
+# define PM_MODEL_FROM_PSF        pmModelFromPSF_PGAUSS
 # define PM_MODEL_PARAMS_FROM_PSF pmModelParamsFromPSF_PGAUSS
 # define PM_MODEL_FIT_STATUS      pmModelFitStatus_PGAUSS
@@ -77,7 +77,7 @@
         f2 = 1.0 / PS_SQR(params[PM_PAR_SYY]) - 1.0 / PS_SQR(params[PM_PAR_SXX]);
         q1 = PS_SQR(f1)*AR_RATIO - PS_SQR(f2);
-	q1 = PS_MAX (0.0, q1); 
-	// if q1 < 0.0, f2 ~ f1, we have a very large axis ratio near 45deg..  Saturate at that
-	// angle and let f2,f1 fight it out
+        q1 = PS_MAX (0.0, q1);
+        // if q1 < 0.0, f2 ~ f1, we have a very large axis ratio near 45deg..  Saturate at that
+        // angle and let f2,f1 fight it out
         q2  = 0.5*sqrt (q1);
     }
@@ -112,6 +112,6 @@
         if (fabs(beta[nParam]) > fabs(beta_lim)) {
             beta[nParam] = (beta[nParam] > 0) ? fabs(beta_lim) : -fabs(beta_lim);
-	    psTrace ("psModules.objects", 5, "|beta[nParam==%d]| > |beta_lim|; %g v. %g",
-		     nParam, beta[nParam], beta_lim);
+            psTrace ("psModules.objects", 5, "|beta[nParam==%d]| > |beta_lim|; %g v. %g",
+                     nParam, beta[nParam], beta_lim);
             return false;
         }
@@ -143,8 +143,8 @@
             psAbort("invalid parameter %d for param min test", nParam);
         }
-	if (params[nParam] < params_min) {
+        if (params[nParam] < params_min) {
             params[nParam] = params_min;
-	    psTrace ("psModules.objects", 5, "params[nParam==%d] < params_min; %g v. %g",
-		     nParam, params[nParam], params_min);
+            psTrace ("psModules.objects", 5, "params[nParam==%d] < params_min; %g v. %g",
+                     nParam, params[nParam], params_min);
             return false;
         }
@@ -178,6 +178,6 @@
         if (params[nParam] > params_max) {
             params[nParam] = params_max;
-	    psTrace ("psModules.objects", 5, "params[nParam==%d] > params_max; %g v. %g",
-		     nParam, params[nParam], params_max);
+            psTrace ("psModules.objects", 5, "params[nParam==%d] > params_max; %g v. %g",
+                     nParam, params[nParam], params_max);
             return false;
         }
@@ -292,5 +292,5 @@
     while ((Nstep < 10) && (fabs(z1 - z0) > 0.5)) {
         z = 0.5*(z0 + z1);
-	f = 1.0 / (1 + z + z*z/2.0 + z*z*z/6.0);
+        f = 1.0 / (1 + z + z*z/2.0 + z*z*z/6.0);
         if (f > limit) {
             z0 = z;
@@ -314,5 +314,5 @@
 }
 
-bool PM_MODEL_FROM_PSF (pmModel *modelPSF, pmModel *modelFLT, pmPSF *psf)
+bool PM_MODEL_FROM_PSF (pmModel *modelPSF, pmModel *modelFLT, const pmPSF *psf)
 {
 
@@ -339,7 +339,7 @@
     // convert to shape terms (SXX,SYY,SXY)
     if (!pmPSF_FitToModel (out, 0.1)) {
-	psError(PM_ERR_PSF, false, "Failed to fit object at (r,c) = (%.1f,%.1f)",
-		in[PM_PAR_YPOS], in[PM_PAR_XPOS]);
-	return false;
+        psError(PM_ERR_PSF, false, "Failed to fit object at (r,c) = (%.1f,%.1f)",
+                in[PM_PAR_YPOS], in[PM_PAR_XPOS]);
+        return false;
     }
 
@@ -351,12 +351,12 @@
             continue;
 
-	bool status = true;
+        bool status = true;
         status &= PM_MODEL_LIMITS (PS_MINIMIZE_PARAM_MIN, i, out, NULL);
         status &= PM_MODEL_LIMITS (PS_MINIMIZE_PARAM_MAX, i, out, NULL);
-	if (!status) {
-	    psTrace ("psModules.objects", 5, "Hitting parameter limits at (r,c) = (%.1f, %.1f)",
-		     in[PM_PAR_XPOS], in[PM_PAR_YPOS]);
-	    modelPSF->flags |= PM_MODEL_STATUS_LIMITS;
-	}
+        if (!status) {
+            psTrace ("psModules.objects", 5, "Hitting parameter limits at (r,c) = (%.1f, %.1f)",
+                     in[PM_PAR_XPOS], in[PM_PAR_YPOS]);
+            modelPSF->flags |= PM_MODEL_STATUS_LIMITS;
+        }
     }
     return(true);
@@ -365,5 +365,5 @@
 // construct the PSF model from the FLT model and the psf
 // XXX is this sufficiently general do be a global function, not a pmModelClass function?
-bool PM_MODEL_PARAMS_FROM_PSF (pmModel *model, pmPSF *psf, float Xo, float Yo, float Io)
+bool PM_MODEL_PARAMS_FROM_PSF (pmModel *model, const pmPSF *psf, float Xo, float Yo, float Io)
 {
     psF32 *PAR = model->params->data.F32;
@@ -377,13 +377,13 @@
     PAR[PM_PAR_XPOS] = Xo;
     PAR[PM_PAR_YPOS] = Yo;
-    
+
     // supply the model-fitted parameters, or copy from the input
     for (int i = 0; i < psf->params->n; i++) {
-	if (i == PM_PAR_SKY) continue;
-	if (i == PM_PAR_I0) continue;
-	if (i == PM_PAR_XPOS) continue;
-	if (i == PM_PAR_YPOS) continue;
-	pmTrend2D *trend = psf->params->data[i];
-	PAR[i] = pmTrend2DEval(trend, Xo, Yo);
+        if (i == PM_PAR_SKY) continue;
+        if (i == PM_PAR_I0) continue;
+        if (i == PM_PAR_XPOS) continue;
+        if (i == PM_PAR_YPOS) continue;
+        pmTrend2D *trend = psf->params->data[i];
+        PAR[i] = pmTrend2DEval(trend, Xo, Yo);
     }
 
@@ -392,6 +392,6 @@
     // XXX user-defined value for limit?
     if (!pmPSF_FitToModel (PAR, 0.1)) {
-	psError(PM_ERR_PSF, false, "Failed to fit object at (r,c) = (%.1f,%.1f)", Xo, Yo);
-	return false;
+        psError(PM_ERR_PSF, false, "Failed to fit object at (r,c) = (%.1f,%.1f)", Xo, Yo);
+        return false;
     }
 
@@ -403,11 +403,11 @@
             continue;
 
-	bool status = true;
+        bool status = true;
         status &= PM_MODEL_LIMITS (PS_MINIMIZE_PARAM_MIN, i, PAR, NULL);
         status &= PM_MODEL_LIMITS (PS_MINIMIZE_PARAM_MAX, i, PAR, NULL);
-	if (!status) {
-	    psTrace ("psModules.objects", 5, "Hitting parameter limits at (r,c) = (%.1f, %.1f)", Xo, Yo);
-	    model->flags |= PM_MODEL_STATUS_LIMITS;
-	}
+        if (!status) {
+            psTrace ("psModules.objects", 5, "Hitting parameter limits at (r,c) = (%.1f, %.1f)", Xo, Yo);
+            model->flags |= PM_MODEL_STATUS_LIMITS;
+        }
     }
     return(true);
Index: trunk/psModules/src/objects/models/pmModel_QGAUSS.c
===================================================================
--- trunk/psModules/src/objects/models/pmModel_QGAUSS.c	(revision 15815)
+++ trunk/psModules/src/objects/models/pmModel_QGAUSS.c	(revision 15834)
@@ -6,8 +6,8 @@
  * may thus vary depending on the specifics of the model.  All models which are used a PSF
  * representations share a few parameters, for which # define names are listed in pmModel.h:
- 
+
    power-law with fitted linear term
    1 / (1 + kz + z^2.25)
- 
+
    * PM_PAR_SKY 0   - local sky : note that this is unused and may be dropped in the future
    * PM_PAR_I0 1    - central intensity
@@ -20,10 +20,10 @@
    *****************************************************************************/
 
-# define PM_MODEL_FUNC       	  pmModelFunc_QGAUSS
-# define PM_MODEL_FLUX       	  pmModelFlux_QGAUSS
-# define PM_MODEL_GUESS      	  pmModelGuess_QGAUSS
-# define PM_MODEL_LIMITS     	  pmModelLimits_QGAUSS
-# define PM_MODEL_RADIUS     	  pmModelRadius_QGAUSS
-# define PM_MODEL_FROM_PSF   	  pmModelFromPSF_QGAUSS
+# define PM_MODEL_FUNC            pmModelFunc_QGAUSS
+# define PM_MODEL_FLUX            pmModelFlux_QGAUSS
+# define PM_MODEL_GUESS           pmModelGuess_QGAUSS
+# define PM_MODEL_LIMITS          pmModelLimits_QGAUSS
+# define PM_MODEL_RADIUS          pmModelRadius_QGAUSS
+# define PM_MODEL_FROM_PSF        pmModelFromPSF_QGAUSS
 # define PM_MODEL_PARAMS_FROM_PSF pmModelParamsFromPSF_QGAUSS
 # define PM_MODEL_FIT_STATUS      pmModelFitStatus_QGAUSS
@@ -89,7 +89,7 @@
         f2 = 1.0 / PS_SQR(params[PM_PAR_SYY]) - 1.0 / PS_SQR(params[PM_PAR_SXX]);
         q1 = PS_SQR(f1)*AR_RATIO - PS_SQR(f2);
-	q1 = (q1 < 0.0) ? 0.0 : q1;
-	// if q1 < 0.0, f2 ~ f1, we have a very large axis ratio near 45deg..  Saturate at that
-	// angle and let f2,f1 fight it out
+        q1 = (q1 < 0.0) ? 0.0 : q1;
+        // if q1 < 0.0, f2 ~ f1, we have a very large axis ratio near 45deg..  Saturate at that
+        // angle and let f2,f1 fight it out
         q2  = 0.5*sqrt (q1);
     }
@@ -127,6 +127,6 @@
         if (fabs(beta[nParam]) > fabs(beta_lim)) {
             beta[nParam] = (beta[nParam] > 0) ? fabs(beta_lim) : -fabs(beta_lim);
-	    psTrace ("psModules.objects", 5, "|beta[nParam==%d]| > |beta_lim|; %g v. %g",
-		     nParam, beta[nParam], beta_lim);
+            psTrace ("psModules.objects", 5, "|beta[nParam==%d]| > |beta_lim|; %g v. %g",
+                     nParam, beta[nParam], beta_lim);
             return false;
         }
@@ -163,6 +163,6 @@
         if (params[nParam] < params_min) {
             params[nParam] = params_min;
-	    psTrace ("psModules.objects", 5, "params[nParam==%d] < params_min; %g v. %g",
-		     nParam, params[nParam], params_min);
+            psTrace ("psModules.objects", 5, "params[nParam==%d] < params_min; %g v. %g",
+                     nParam, params[nParam], params_min);
             return false;
         }
@@ -199,6 +199,6 @@
         if (params[nParam] > params_max) {
             params[nParam] = params_max;
-	    psTrace ("psModules.objects", 5, "params[nParam==%d] > params_max; %g v. %g",
-		     nParam, params[nParam], params_max);
+            psTrace ("psModules.objects", 5, "params[nParam==%d] > params_max; %g v. %g",
+                     nParam, params[nParam], params_max);
             return false;
         }
@@ -344,5 +344,5 @@
 }
 
-bool PM_MODEL_FROM_PSF (pmModel *modelPSF, pmModel *modelFLT, pmPSF *psf)
+bool PM_MODEL_FROM_PSF (pmModel *modelPSF, pmModel *modelFLT, const pmPSF *psf)
 {
 
@@ -366,7 +366,7 @@
     // convert to shape terms (SXX,SYY,SXY)
     if (!pmPSF_FitToModel (out, 0.1)) {
-	psError(PM_ERR_PSF, false, "Failed to fit object at (r,c) = (%.1f,%.1f)",
-		in[PM_PAR_YPOS], in[PM_PAR_XPOS]);
-	return false;
+        psError(PM_ERR_PSF, false, "Failed to fit object at (r,c) = (%.1f,%.1f)",
+                in[PM_PAR_YPOS], in[PM_PAR_XPOS]);
+        return false;
     }
 
@@ -378,12 +378,12 @@
             continue;
 
-	bool status = true;
+        bool status = true;
         status &= PM_MODEL_LIMITS(PS_MINIMIZE_PARAM_MIN, i, out, NULL);
-	status &= PM_MODEL_LIMITS(PS_MINIMIZE_PARAM_MAX, i, out, NULL);
-	if (!status) {
-	    psTrace ("psModules.objects", 5, "Hitting parameter limits at (r,c) = (%.1f, %.1f)",
-		     in[PM_PAR_XPOS], in[PM_PAR_YPOS]);
-	    modelPSF->flags |= PM_MODEL_STATUS_LIMITS;
-	}
+        status &= PM_MODEL_LIMITS(PS_MINIMIZE_PARAM_MAX, i, out, NULL);
+        if (!status) {
+            psTrace ("psModules.objects", 5, "Hitting parameter limits at (r,c) = (%.1f, %.1f)",
+                     in[PM_PAR_XPOS], in[PM_PAR_YPOS]);
+            modelPSF->flags |= PM_MODEL_STATUS_LIMITS;
+        }
     }
 
@@ -393,5 +393,5 @@
 // construct the PSF model from the FLT model and the psf
 // XXX is this sufficiently general do be a global function, not a pmModelClass function?
-bool PM_MODEL_PARAMS_FROM_PSF (pmModel *model, pmPSF *psf, float Xo, float Yo, float Io)
+bool PM_MODEL_PARAMS_FROM_PSF (pmModel *model, const pmPSF *psf, float Xo, float Yo, float Io)
 {
     psF32 *PAR = model->params->data.F32;
@@ -405,13 +405,13 @@
     PAR[PM_PAR_XPOS] = Xo;
     PAR[PM_PAR_YPOS] = Yo;
-    
+
     // supply the model-fitted parameters, or copy from the input
     for (int i = 0; i < psf->params->n; i++) {
-	if (i == PM_PAR_SKY) continue;
-	if (i == PM_PAR_I0) continue;
-	if (i == PM_PAR_XPOS) continue;
-	if (i == PM_PAR_YPOS) continue;
-	pmTrend2D *trend = psf->params->data[i];
-	PAR[i] = pmTrend2DEval(trend, Xo, Yo);
+        if (i == PM_PAR_SKY) continue;
+        if (i == PM_PAR_I0) continue;
+        if (i == PM_PAR_XPOS) continue;
+        if (i == PM_PAR_YPOS) continue;
+        pmTrend2D *trend = psf->params->data[i];
+        PAR[i] = pmTrend2DEval(trend, Xo, Yo);
     }
 
@@ -420,6 +420,6 @@
     // XXX user-defined value for limit?
     if (!pmPSF_FitToModel (PAR, 0.1)) {
-	psError(PM_ERR_PSF, false, "Failed to fit object at (r,c) = (%.1f,%.1f)", Xo, Yo);
-	return false;
+        psError(PM_ERR_PSF, false, "Failed to fit object at (r,c) = (%.1f,%.1f)", Xo, Yo);
+        return false;
     }
 
@@ -431,11 +431,11 @@
             continue;
 
-	bool status = true;
+        bool status = true;
         status &= PM_MODEL_LIMITS (PS_MINIMIZE_PARAM_MIN, i, PAR, NULL);
         status &= PM_MODEL_LIMITS (PS_MINIMIZE_PARAM_MAX, i, PAR, NULL);
-	if (!status) {
-	    psTrace ("psModules.objects", 5, "Hitting parameter limits at (r,c) = (%.1f, %.1f)", Xo, Yo);
-	    model->flags |= PM_MODEL_STATUS_LIMITS;
-	}
+        if (!status) {
+            psTrace ("psModules.objects", 5, "Hitting parameter limits at (r,c) = (%.1f, %.1f)", Xo, Yo);
+            model->flags |= PM_MODEL_STATUS_LIMITS;
+        }
     }
     return(true);
Index: trunk/psModules/src/objects/models/pmModel_RGAUSS.c
===================================================================
--- trunk/psModules/src/objects/models/pmModel_RGAUSS.c	(revision 15815)
+++ trunk/psModules/src/objects/models/pmModel_RGAUSS.c	(revision 15834)
@@ -6,8 +6,8 @@
  * may thus vary depending on the specifics of the model.  All models which are used a PSF
  * representations share a few parameters, for which # define names are listed in pmModel.h:
- 
+
    power-law with fitted slope
    1 / (1 + z + z^alpha)
- 
+
  * PM_PAR_SKY 0   - local sky : note that this is unused and may be dropped in the future
  * PM_PAR_I0 1    - central intensity
@@ -20,10 +20,10 @@
  *****************************************************************************/
 
-# define PM_MODEL_FUNC       	  pmModelFunc_RGAUSS
-# define PM_MODEL_FLUX       	  pmModelFlux_RGAUSS
-# define PM_MODEL_GUESS      	  pmModelGuess_RGAUSS
-# define PM_MODEL_LIMITS     	  pmModelLimits_RGAUSS
-# define PM_MODEL_RADIUS     	  pmModelRadius_RGAUSS
-# define PM_MODEL_FROM_PSF   	  pmModelFromPSF_RGAUSS
+# define PM_MODEL_FUNC            pmModelFunc_RGAUSS
+# define PM_MODEL_FLUX            pmModelFlux_RGAUSS
+# define PM_MODEL_GUESS           pmModelGuess_RGAUSS
+# define PM_MODEL_LIMITS          pmModelLimits_RGAUSS
+# define PM_MODEL_RADIUS          pmModelRadius_RGAUSS
+# define PM_MODEL_FROM_PSF        pmModelFromPSF_RGAUSS
 # define PM_MODEL_PARAMS_FROM_PSF pmModelParamsFromPSF_RGAUSS
 # define PM_MODEL_FIT_STATUS      pmModelFitStatus_RGAUSS
@@ -62,5 +62,5 @@
         dPAR[PM_PAR_SXY] = -q*X*Y;
 
-	// this model derivative is undefined at z = 0.0, but is actually 0.0
+        // this model derivative is undefined at z = 0.0, but is actually 0.0
         dPAR[PM_PAR_7] = (z == 0.0) ? 0.0 : -5.0*t*log(z)*p*z;
     }
@@ -83,7 +83,7 @@
         f2 = 1.0 / PS_SQR(params[PM_PAR_SYY]) - 1.0 / PS_SQR(params[PM_PAR_SXX]);
         q1 = PS_SQR(f1)*AR_RATIO - PS_SQR(f2);
-	q1 = (q1 < 0.0) ? 0.0 : q1;
-	// if q1 < 0.0, f2 ~ f1, we have a very large axis ratio near 45deg..  Saturate at that
-	// angle and let f2,f1 fight it out
+        q1 = (q1 < 0.0) ? 0.0 : q1;
+        // if q1 < 0.0, f2 ~ f1, we have a very large axis ratio near 45deg..  Saturate at that
+        // angle and let f2,f1 fight it out
         q2  = 0.5*sqrt (q1);
     }
@@ -121,6 +121,6 @@
         if (fabs(beta[nParam]) > fabs(beta_lim)) {
             beta[nParam] = (beta[nParam] > 0) ? fabs(beta_lim) : -fabs(beta_lim);
-	    psTrace ("psModules.objects", 5, "|beta[nParam==%d]| > |beta_lim|; %g v. %g",
-		     nParam, beta[nParam], beta_lim);
+            psTrace ("psModules.objects", 5, "|beta[nParam==%d]| > |beta_lim|; %g v. %g",
+                     nParam, beta[nParam], beta_lim);
             return false;
         }
@@ -157,6 +157,6 @@
         if (params[nParam] < params_min) {
             params[nParam] = params_min;
-	    psTrace ("psModules.objects", 5, "params[nParam==%d] < params_min; %g v. %g",
-		     nParam, params[nParam], params_min);
+            psTrace ("psModules.objects", 5, "params[nParam==%d] < params_min; %g v. %g",
+                     nParam, params[nParam], params_min);
             return false;
         }
@@ -193,6 +193,6 @@
         if (params[nParam] > params_max) {
             params[nParam] = params_max;
-	    psTrace ("psModules.objects", 5, "params[nParam==%d] > params_max; %g v. %g",
-		     nParam, params[nParam], params_max);
+            psTrace ("psModules.objects", 5, "params[nParam==%d] > params_max; %g v. %g",
+                     nParam, params[nParam], params_max);
             return false;
         }
@@ -337,5 +337,5 @@
 }
 
-bool PM_MODEL_FROM_PSF (pmModel *modelPSF, pmModel *modelFLT, pmPSF *psf)
+bool PM_MODEL_FROM_PSF (pmModel *modelPSF, pmModel *modelFLT, const pmPSF *psf)
 {
 
@@ -359,7 +359,7 @@
     // convert to shape terms (SXX,SYY,SXY)
     if (!pmPSF_FitToModel (out, 0.1)) {
-	psError(PM_ERR_PSF, false, "Failed to fit object at (r,c) = (%.1f,%.1f)",
-		in[PM_PAR_YPOS], in[PM_PAR_XPOS]);
-	return false;
+        psError(PM_ERR_PSF, false, "Failed to fit object at (r,c) = (%.1f,%.1f)",
+                in[PM_PAR_YPOS], in[PM_PAR_XPOS]);
+        return false;
     }
 
@@ -371,12 +371,12 @@
             continue;
 
-	bool status = true;
+        bool status = true;
         status &= PM_MODEL_LIMITS(PS_MINIMIZE_PARAM_MIN, i, out, NULL);
-	status &= PM_MODEL_LIMITS(PS_MINIMIZE_PARAM_MAX, i, out, NULL);
-	if (!status) {
-	    psTrace ("psModules.objects", 5, "Hitting parameter limits at (r,c) = (%.1f, %.1f)",
-		     in[PM_PAR_XPOS], in[PM_PAR_YPOS]);
-	    modelPSF->flags |= PM_MODEL_STATUS_LIMITS;
-	}
+        status &= PM_MODEL_LIMITS(PS_MINIMIZE_PARAM_MAX, i, out, NULL);
+        if (!status) {
+            psTrace ("psModules.objects", 5, "Hitting parameter limits at (r,c) = (%.1f, %.1f)",
+                     in[PM_PAR_XPOS], in[PM_PAR_YPOS]);
+            modelPSF->flags |= PM_MODEL_STATUS_LIMITS;
+        }
     }
 
@@ -386,5 +386,5 @@
 // construct the PSF model from the FLT model and the psf
 // XXX is this sufficiently general do be a global function, not a pmModelClass function?
-bool PM_MODEL_PARAMS_FROM_PSF (pmModel *model, pmPSF *psf, float Xo, float Yo, float Io)
+bool PM_MODEL_PARAMS_FROM_PSF (pmModel *model, const pmPSF *psf, float Xo, float Yo, float Io)
 {
     psF32 *PAR = model->params->data.F32;
@@ -398,13 +398,13 @@
     PAR[PM_PAR_XPOS] = Xo;
     PAR[PM_PAR_YPOS] = Yo;
-    
+
     // supply the model-fitted parameters, or copy from the input
     for (int i = 0; i < psf->params->n; i++) {
-	if (i == PM_PAR_SKY) continue;
-	if (i == PM_PAR_I0) continue;
-	if (i == PM_PAR_XPOS) continue;
-	if (i == PM_PAR_YPOS) continue;
-	pmTrend2D *trend = psf->params->data[i];
-	PAR[i] = pmTrend2DEval(trend, Xo, Yo);
+        if (i == PM_PAR_SKY) continue;
+        if (i == PM_PAR_I0) continue;
+        if (i == PM_PAR_XPOS) continue;
+        if (i == PM_PAR_YPOS) continue;
+        pmTrend2D *trend = psf->params->data[i];
+        PAR[i] = pmTrend2DEval(trend, Xo, Yo);
     }
 
@@ -413,6 +413,6 @@
     // XXX user-defined value for limit?
     if (!pmPSF_FitToModel (PAR, 0.1)) {
-	psError(PM_ERR_PSF, false, "Failed to fit object at (r,c) = (%.1f,%.1f)", Xo, Yo);
-	return false;
+        psError(PM_ERR_PSF, false, "Failed to fit object at (r,c) = (%.1f,%.1f)", Xo, Yo);
+        return false;
     }
 
@@ -424,11 +424,11 @@
             continue;
 
-	bool status = true;
+        bool status = true;
         status &= PM_MODEL_LIMITS (PS_MINIMIZE_PARAM_MIN, i, PAR, NULL);
         status &= PM_MODEL_LIMITS (PS_MINIMIZE_PARAM_MAX, i, PAR, NULL);
-	if (!status) {
-	    psTrace ("psModules.objects", 5, "Hitting parameter limits at (r,c) = (%.1f, %.1f)", Xo, Yo);
-	    model->flags |= PM_MODEL_STATUS_LIMITS;
-	}
+        if (!status) {
+            psTrace ("psModules.objects", 5, "Hitting parameter limits at (r,c) = (%.1f, %.1f)", Xo, Yo);
+            model->flags |= PM_MODEL_STATUS_LIMITS;
+        }
     }
     return(true);
Index: trunk/psModules/src/objects/models/pmModel_SERSIC.c
===================================================================
--- trunk/psModules/src/objects/models/pmModel_SERSIC.c	(revision 15815)
+++ trunk/psModules/src/objects/models/pmModel_SERSIC.c	(revision 15834)
@@ -6,7 +6,7 @@
  * specifics of the model.  All models which are used a PSF representations share a few
  * parameters, for which # define names are listed in pmModel.h:
- 
+
    f = exp(-z^n)
- 
+
    * PM_PAR_SKY 0   - local sky : note that this is unused and may be dropped in the future
    * PM_PAR_I0 1    - central intensity
@@ -23,10 +23,10 @@
    *****************************************************************************/
 
-# define PM_MODEL_FUNC       	  pmModelFunc_SERSIC
-# define PM_MODEL_FLUX       	  pmModelFlux_SERSIC
-# define PM_MODEL_GUESS      	  pmModelGuess_SERSIC
-# define PM_MODEL_LIMITS     	  pmModelLimits_SERSIC
-# define PM_MODEL_RADIUS     	  pmModelRadius_SERSIC
-# define PM_MODEL_FROM_PSF   	  pmModelFromPSF_SERSIC
+# define PM_MODEL_FUNC            pmModelFunc_SERSIC
+# define PM_MODEL_FLUX            pmModelFlux_SERSIC
+# define PM_MODEL_GUESS           pmModelGuess_SERSIC
+# define PM_MODEL_LIMITS          pmModelLimits_SERSIC
+# define PM_MODEL_RADIUS          pmModelRadius_SERSIC
+# define PM_MODEL_FROM_PSF        pmModelFromPSF_SERSIC
 # define PM_MODEL_PARAMS_FROM_PSF pmModelParamsFromPSF_SERSIC
 # define PM_MODEL_FIT_STATUS      pmModelFitStatus_SERSIC
@@ -64,6 +64,6 @@
         psF32 *dPAR = deriv->data.F32;
 
-	// gradient is infinite for z = 0; saturate at z = 0.01
-	psF32 z1 = (z < 0.01) ? z0*PAR[PM_PAR_7]*pow(0.01,PAR[PM_PAR_7] - 1.0) : z0*PAR[PM_PAR_7]*pow(z,PAR[PM_PAR_7] - 1.0);
+        // gradient is infinite for z = 0; saturate at z = 0.01
+        psF32 z1 = (z < 0.01) ? z0*PAR[PM_PAR_7]*pow(0.01,PAR[PM_PAR_7] - 1.0) : z0*PAR[PM_PAR_7]*pow(z,PAR[PM_PAR_7] - 1.0);
 
         dPAR[PM_PAR_SKY]  = +1.0;
@@ -71,6 +71,6 @@
         dPAR[PM_PAR_7]    = (z == 0.0) ? 0.0 : -z0*f2*log(z);
 
-	assert (isfinite(z1));
-	assert (isfinite(dPAR[PM_PAR_7]));
+        assert (isfinite(z1));
+        assert (isfinite(dPAR[PM_PAR_7]));
 
         dPAR[PM_PAR_XPOS] = +1.0*z1*(2.0*px/PAR[PM_PAR_SXX] + Y*PAR[PM_PAR_SXY]);
@@ -99,7 +99,7 @@
         f2 = 1.0 / PS_SQR(params[PM_PAR_SYY]) - 1.0 / PS_SQR(params[PM_PAR_SXX]);
         q1 = PS_SQR(f1)*AR_RATIO - PS_SQR(f2);
-	q1 = (q1 < 0.0) ? 0.0 : q1;
-	// if q1 < 0.0, f2 ~ f1, we have a very large axis ratio near 45deg..  Saturate at that
-	// angle and let f2,f1 fight it out
+        q1 = (q1 < 0.0) ? 0.0 : q1;
+        // if q1 < 0.0, f2 ~ f1, we have a very large axis ratio near 45deg..  Saturate at that
+        // angle and let f2,f1 fight it out
         q2  = 0.5*sqrt (q1);
     }
@@ -137,6 +137,6 @@
         if (fabs(beta[nParam]) > fabs(beta_lim)) {
             beta[nParam] = (beta[nParam] > 0) ? fabs(beta_lim) : -fabs(beta_lim);
-	    psTrace ("psModules.objects", 5, "|beta[nParam==%d]| > |beta_lim|; %g v. %g",
-		     nParam, beta[nParam], beta_lim);
+            psTrace ("psModules.objects", 5, "|beta[nParam==%d]| > |beta_lim|; %g v. %g",
+                     nParam, beta[nParam], beta_lim);
             return false;
         }
@@ -173,6 +173,6 @@
         if (params[nParam] < params_min) {
             params[nParam] = params_min;
-	    psTrace ("psModules.objects", 5, "params[nParam==%d] < params_min; %g v. %g",
-		     nParam, params[nParam], params_min);
+            psTrace ("psModules.objects", 5, "params[nParam==%d] < params_min; %g v. %g",
+                     nParam, params[nParam], params_min);
             return false;
         }
@@ -209,6 +209,6 @@
         if (params[nParam] > params_max) {
             params[nParam] = params_max;
-	    psTrace ("psModules.objects", 5, "params[nParam==%d] > params_max; %g v. %g",
-		     nParam, params[nParam], params_max);
+            psTrace ("psModules.objects", 5, "params[nParam==%d] > params_max; %g v. %g",
+                     nParam, params[nParam], params_max);
             return false;
         }
@@ -329,5 +329,5 @@
 }
 
-bool PM_MODEL_FROM_PSF (pmModel *modelPSF, pmModel *modelFLT, pmPSF *psf)
+bool PM_MODEL_FROM_PSF (pmModel *modelPSF, pmModel *modelFLT, const pmPSF *psf)
 {
 
@@ -351,7 +351,7 @@
     // convert to shape terms (SXX,SYY,SXY)
     if (!pmPSF_FitToModel (out, 0.1)) {
-	psError(PM_ERR_PSF, false, "Failed to fit object at (r,c) = (%.1f,%.1f)",
-		in[PM_PAR_YPOS], in[PM_PAR_XPOS]);
-	return false;
+        psError(PM_ERR_PSF, false, "Failed to fit object at (r,c) = (%.1f,%.1f)",
+                in[PM_PAR_YPOS], in[PM_PAR_XPOS]);
+        return false;
     }
 
@@ -363,12 +363,12 @@
             continue;
 
-	bool status = true;
+        bool status = true;
         status &= PM_MODEL_LIMITS(PS_MINIMIZE_PARAM_MIN, i, out, NULL);
-	status &= PM_MODEL_LIMITS(PS_MINIMIZE_PARAM_MAX, i, out, NULL);
-	if (!status) {
-	    psTrace ("psModules.objects", 5, "Hitting parameter limits at (r,c) = (%.1f, %.1f)",
-		     in[PM_PAR_XPOS], in[PM_PAR_YPOS]);
-	    modelPSF->flags |= PM_MODEL_STATUS_LIMITS;
-	}
+        status &= PM_MODEL_LIMITS(PS_MINIMIZE_PARAM_MAX, i, out, NULL);
+        if (!status) {
+            psTrace ("psModules.objects", 5, "Hitting parameter limits at (r,c) = (%.1f, %.1f)",
+                     in[PM_PAR_XPOS], in[PM_PAR_YPOS]);
+            modelPSF->flags |= PM_MODEL_STATUS_LIMITS;
+        }
     }
 
@@ -378,5 +378,5 @@
 // construct the PSF model from the FLT model and the psf
 // XXX is this sufficiently general do be a global function, not a pmModelClass function?
-bool PM_MODEL_PARAMS_FROM_PSF (pmModel *model, pmPSF *psf, float Xo, float Yo, float Io)
+bool PM_MODEL_PARAMS_FROM_PSF (pmModel *model, const pmPSF *psf, float Xo, float Yo, float Io)
 {
     psF32 *PAR = model->params->data.F32;
@@ -390,13 +390,13 @@
     PAR[PM_PAR_XPOS] = Xo;
     PAR[PM_PAR_YPOS] = Yo;
-    
+
     // supply the model-fitted parameters, or copy from the input
     for (int i = 0; i < psf->params->n; i++) {
-	if (i == PM_PAR_SKY) continue;
-	if (i == PM_PAR_I0) continue;
-	if (i == PM_PAR_XPOS) continue;
-	if (i == PM_PAR_YPOS) continue;
-	pmTrend2D *trend = psf->params->data[i];
-	PAR[i] = pmTrend2DEval(trend, Xo, Yo);
+        if (i == PM_PAR_SKY) continue;
+        if (i == PM_PAR_I0) continue;
+        if (i == PM_PAR_XPOS) continue;
+        if (i == PM_PAR_YPOS) continue;
+        pmTrend2D *trend = psf->params->data[i];
+        PAR[i] = pmTrend2DEval(trend, Xo, Yo);
     }
 
@@ -405,6 +405,6 @@
     // XXX user-defined value for limit?
     if (!pmPSF_FitToModel (PAR, 0.1)) {
-	psError(PM_ERR_PSF, false, "Failed to fit object at (r,c) = (%.1f,%.1f)", Xo, Yo);
-	return false;
+        psError(PM_ERR_PSF, false, "Failed to fit object at (r,c) = (%.1f,%.1f)", Xo, Yo);
+        return false;
     }
 
@@ -416,11 +416,11 @@
             continue;
 
-	bool status = true;
+        bool status = true;
         status &= PM_MODEL_LIMITS (PS_MINIMIZE_PARAM_MIN, i, PAR, NULL);
         status &= PM_MODEL_LIMITS (PS_MINIMIZE_PARAM_MAX, i, PAR, NULL);
-	if (!status) {
-	    psTrace ("psModules.objects", 5, "Hitting parameter limits at (r,c) = (%.1f, %.1f)", Xo, Yo);
-	    model->flags |= PM_MODEL_STATUS_LIMITS;
-	}
+        if (!status) {
+            psTrace ("psModules.objects", 5, "Hitting parameter limits at (r,c) = (%.1f, %.1f)", Xo, Yo);
+            model->flags |= PM_MODEL_STATUS_LIMITS;
+        }
     }
     return(true);
Index: trunk/psModules/src/objects/models/pmModel_SGAUSS.c
===================================================================
--- trunk/psModules/src/objects/models/pmModel_SGAUSS.c	(revision 15815)
+++ trunk/psModules/src/objects/models/pmModel_SGAUSS.c	(revision 15834)
@@ -6,8 +6,8 @@
  * may thus vary depending on the specifics of the model.  All models which are used a PSF
  * representations share a few parameters, for which # define names are listed in pmModel.h:
- 
+
    power-law with fitted slope and outer tidal radius
    1 / (1 + z^N + kz^4)
- 
+
    * PM_PAR_SKY 0   - local sky : note that this is unused and may be dropped in the future
    * PM_PAR_I0 1    - central intensity
@@ -23,5 +23,5 @@
 /***
     XXXX the model in this file needs to be tested more carefully.
-    the code for guessing the power-law slope based on the radial profile 
+    the code for guessing the power-law slope based on the radial profile
     is either too slow or does not work well.
     fix up the code to follow conventions in the other model function files.
@@ -234,5 +234,5 @@
 }
 
-bool PM_MODEL_FROM_PSF  (pmModel *modelPSF, pmModel *modelFLT, pmPSF *psf)
+bool PM_MODEL_FROM_PSF  (pmModel *modelPSF, pmModel *modelFLT, const pmPSF *psf)
 {
 
Index: trunk/psModules/src/objects/models/pmModel_TGAUSS.c
===================================================================
--- trunk/psModules/src/objects/models/pmModel_TGAUSS.c	(revision 15815)
+++ trunk/psModules/src/objects/models/pmModel_TGAUSS.c	(revision 15834)
@@ -6,8 +6,8 @@
  * may thus vary depending on the specifics of the model.  All models which are used a PSF
  * representations share a few parameters, for which # define names are listed in pmModel.h:
- 
+
    power-law with fixed slope and fitted amplitude
    1 / (1 + z + kz^2.2)
- 
+
    * PM_PAR_SKY 0   - local sky : note that this is unused and may be dropped in the future
    * PM_PAR_I0 1    - central intensity
@@ -154,5 +154,5 @@
 }
 
-bool PS_MODEL_FROM_PSF  (psModel *modelPSF, psModel *modelFLT, pmPSF *psf)
+bool PS_MODEL_FROM_PSF  (psModel *modelPSF, psModel *modelFLT, const pmPSF *psf)
 {
 
Index: trunk/psModules/src/objects/models/pmModel_WAUSS.c
===================================================================
--- trunk/psModules/src/objects/models/pmModel_WAUSS.c	(revision 15815)
+++ trunk/psModules/src/objects/models/pmModel_WAUSS.c	(revision 15834)
@@ -6,8 +6,8 @@
  * may thus vary depending on the specifics of the model.  All models which are used a PSF
  * representations share a few parameters, for which # define names are listed in pmModel.h:
- 
+
    power-law with fitted linear term
    1 / (1 + Az + Bz^2 + z^3/6)
- 
+
    * PM_PAR_SKY 0   - local sky : note that this is unused and may be dropped in the future
    * PM_PAR_I0 1    - central intensity
@@ -150,5 +150,5 @@
 }
 
-bool PS_MODEL_FROM_PSF  (psModel *modelPSF, psModel *modelFLT, pmPSF *psf)
+bool PS_MODEL_FROM_PSF  (psModel *modelPSF, psModel *modelFLT, const pmPSF *psf)
 {
 
Index: trunk/psModules/src/objects/models/pmModel_ZGAUSS.c
===================================================================
--- trunk/psModules/src/objects/models/pmModel_ZGAUSS.c	(revision 15815)
+++ trunk/psModules/src/objects/models/pmModel_ZGAUSS.c	(revision 15834)
@@ -6,8 +6,8 @@
  * may thus vary depending on the specifics of the model.  All models which are used a PSF
  * representations share a few parameters, for which # define names are listed in pmModel.h:
- 
+
    power-law with fitted slope and tidal cutoff
    1 / (1 + z^N + (Az)^4)
- 
+
    * PM_PAR_SKY 0   - local sky : note that this is unused and may be dropped in the future
    * PM_PAR_I0 1    - central intensity
@@ -203,5 +203,5 @@
 }
 
-bool PS_MODEL_FROM_PSF  (psModel *modelPSF, psModel *modelFLT, pmPSF *psf)
+bool PS_MODEL_FROM_PSF  (psModel *modelPSF, psModel *modelFLT, const pmPSF *psf)
 {
 
