pyemu icon indicating copy to clipboard operation
pyemu copied to clipboard

Recharge array multiplier input file issue

Open iaped opened this issue 1 year ago • 0 comments

I am trying to use PEST++ GLM to calibrate a recharge multiplier array in my MODFLOW 6 input file. However, when I run GLM it says:

 WARNING: jacobian matrix has no non-zeros - the parameter pertubations
         have no effect on the control file observations.
         This usually means something is not setup correctly.
save_binary() WARNING: matrix has no non-zeros...

I think this is because PEST is not opening the template file when it gets to the OPEN/CLOSE part of the recharge file. I am using zone calibration as I have 5 different zones of recharge. The file I am using as my input/template is rchMult.dat. My recharge input file has the following format:

BEGIN options
  READASARRAYS
  auxiliary  rchMult
  AUXMULTNAME  rchmult
END options

BEGIN period  1
  recharge
    CONSTANT  4.20779661E-04
  rchMult
    OPEN/CLOSE  'rchMult.dat'  FACTOR  1.0
END period  1

BEGIN period  2
  recharge
    CONSTANT  8.29733333E-04
  rchMult
    OPEN/CLOSE  'rchMult.dat'  FACTOR  1.0
END period  2

Any advice on why this is not working? I can't seem to figure out why PEST wont read this file and I'm a little confused by the naming conventions written by pf.add_parameters. This it what my add parameters looks like:

f= os.path.join('rchMult.dat')
pf.add_parameters(
    f,
    par_type="zone",
    par_name_base="rchMult.dat",
    pargp= 'rchMult.dat',
    initial_value= 0.1,
    zone_array=zones,
    upper_bound=0.2,
    lower_bound=0.001,
    transform= "log"
)

iaped avatar Feb 11 '25 23:02 iaped