Index: ../trunk-jpl/src/m/classes/m1qn3inversion.m =================================================================== --- ../trunk-jpl/src/m/classes/m1qn3inversion.m (revision 18823) +++ ../trunk-jpl/src/m/classes/m1qn3inversion.m (revision 18824) @@ -68,7 +68,6 @@ if ~IssmConfig('_HAVE_M1QN3_'), md = checkmessage(md,['M1QN3 has not been installed, ISSM needs to be reconfigured and recompiled with M1QN3']); end - num_controls=numel(md.inversion.control_parameters); num_costfunc=size(md.inversion.cost_functions,2); @@ -76,13 +75,13 @@ md = checkfield(md,'fieldname','inversion.incomplete_adjoint','values',[0 1]); md = checkfield(md,'fieldname','inversion.control_parameters','cell',1,'values',... {'BalancethicknessThickeningRate' 'FrictionCoefficient' 'MaterialsRheologyBbar' 'DamageDbar',... - 'Vx' 'Vy' 'Thickness' 'BalancethicknessOmega' 'BalancethicknessApparentMassbalance'}); + 'Vx' 'Vy' 'Thickness' 'BalancethicknessOmega' 'BalancethicknessApparentMassbalance','MaterialsRheologyB'}); md = checkfield(md,'fieldname','inversion.control_scaling_factors','size',[1 num_controls],'>',0,'NaN',1); md = checkfield(md,'fieldname','inversion.maxsteps','numel',1,'>=',0); md = checkfield(md,'fieldname','inversion.maxiter','numel',1,'>=',0); md = checkfield(md,'fieldname','inversion.dxmin','numel',1,'>',0); md = checkfield(md,'fieldname','inversion.gttol','numel',1,'>',0); - md = checkfield(md,'fieldname','inversion.cost_functions','size',[1 num_costfunc],'values',[101:105 201 501:506 601:604]); + md = checkfield(md,'fieldname','inversion.cost_functions','size',[1 num_costfunc],'values',[101:105 201 501:507 601:604]); md = checkfield(md,'fieldname','inversion.cost_functions_coefficients','size',[md.mesh.numberofvertices num_costfunc],'>=',0); md = checkfield(md,'fieldname','inversion.min_parameters','size',[md.mesh.numberofvertices num_controls]); md = checkfield(md,'fieldname','inversion.max_parameters','size',[md.mesh.numberofvertices num_controls]); @@ -180,6 +179,7 @@ pos=find(obj.cost_functions==504); data(pos)=ThicknessAlongGradientEnum(); pos=find(obj.cost_functions==505); data(pos)=ThicknessAcrossGradientEnum(); pos=find(obj.cost_functions==506); data(pos)=BalancethicknessMisfitEnum(); + pos=find(obj.cost_functions==507); data(pos)=RheologyBAbsGradientEnum(); pos=find(obj.cost_functions==601); data(pos)=SurfaceAbsMisfitEnum(); WriteData(fid,'data',data,'enum',InversionCostFunctionsEnum(),'format','DoubleMat','mattype',3); WriteData(fid,'data',num_cost_functions,'enum',InversionNumCostFunctionsEnum(),'format','Integer'); Index: ../trunk-jpl/src/m/classes/inversionvalidation.m =================================================================== --- ../trunk-jpl/src/m/classes/inversionvalidation.m (revision 18823) +++ ../trunk-jpl/src/m/classes/inversionvalidation.m (revision 18824) @@ -58,9 +58,9 @@ md = checkfield(md,'fieldname','inversion.incomplete_adjoint','values',[0 1]); md = checkfield(md,'fieldname','inversion.control_parameters','cell',1,'values',... {'BalancethicknessThickeningRate' 'FrictionCoefficient' 'MaterialsRheologyBbar' 'DamageDbar' 'Vx' 'Vy' 'Thickness',... - 'BalancethicknessOmega' 'BalancethicknessApparentMassbalance'}); + 'BalancethicknessOmega' 'BalancethicknessApparentMassbalance','MaterialsRheologyB'}); md = checkfield(md,'fieldname','inversion.control_scaling_factors','size',[1 num_controls],'>',0,'NaN',1); - md = checkfield(md,'fieldname','inversion.cost_functions','size',[1 num_costfunc],'values',[101:105 201 501:506 601:604]); + md = checkfield(md,'fieldname','inversion.cost_functions','size',[1 num_costfunc],'values',[101:105 201 501:507 601:604]); md = checkfield(md,'fieldname','inversion.cost_functions_coefficients','size',[md.mesh.numberofvertices num_costfunc],'>=',0); md = checkfield(md,'fieldname','inversion.min_parameters','size',[md.mesh.numberofvertices num_controls]); md = checkfield(md,'fieldname','inversion.max_parameters','size',[md.mesh.numberofvertices num_controls]); @@ -149,6 +149,7 @@ pos=find(obj.cost_functions==504); data(pos)=ThicknessAlongGradientEnum(); pos=find(obj.cost_functions==505); data(pos)=ThicknessAcrossGradientEnum(); pos=find(obj.cost_functions==506); data(pos)=BalancethicknessMisfitEnum(); + pos=find(obj.cost_functions==507); data(pos)=RheologyBAbsGradientEnum(); pos=find(obj.cost_functions==601); data(pos)=SurfaceAbsMisfitEnum(); WriteData(fid,'data',data,'enum',InversionCostFunctionsEnum(),'format','DoubleMat','mattype',3); WriteData(fid,'data',num_cost_functions,'enum',InversionNumCostFunctionsEnum(),'format','Integer'); Index: ../trunk-jpl/src/m/classes/inversion.m =================================================================== --- ../trunk-jpl/src/m/classes/inversion.m (revision 18823) +++ ../trunk-jpl/src/m/classes/inversion.m (revision 18824) @@ -133,11 +133,11 @@ md = checkfield(md,'fieldname','inversion.incomplete_adjoint','values',[0 1]); md = checkfield(md,'fieldname','inversion.control_parameters','cell',1,'values',... {'BalancethicknessThickeningRate' 'FrictionCoefficient' 'MaterialsRheologyBbar' 'DamageDbar' 'Vx' 'Vy' 'Thickness',... - 'BalancethicknessOmega' 'BalancethicknessApparentMassbalance'}); + 'BalancethicknessOmega' 'BalancethicknessApparentMassbalance','MaterialsRheologyB'}); md = checkfield(md,'fieldname','inversion.nsteps','numel',1,'>=',0); md = checkfield(md,'fieldname','inversion.maxiter_per_step','size',[md.inversion.nsteps 1],'>=',0); md = checkfield(md,'fieldname','inversion.step_threshold','size',[md.inversion.nsteps 1]); - md = checkfield(md,'fieldname','inversion.cost_functions','size',[1 num_costfunc],'values',[101:105 201 501:506 601:604]); + md = checkfield(md,'fieldname','inversion.cost_functions','size',[1 num_costfunc],'values',[101:105 201 501:507 601:604]); md = checkfield(md,'fieldname','inversion.cost_functions_coefficients','size',[md.mesh.numberofvertices num_costfunc],'>=',0); md = checkfield(md,'fieldname','inversion.gradient_scaling','size',[md.inversion.nsteps num_controls]); md = checkfield(md,'fieldname','inversion.min_parameters','size',[md.mesh.numberofvertices num_controls]); @@ -241,6 +241,7 @@ pos=find(obj.cost_functions==504); data(pos)=ThicknessAlongGradientEnum(); pos=find(obj.cost_functions==505); data(pos)=ThicknessAcrossGradientEnum(); pos=find(obj.cost_functions==506); data(pos)=BalancethicknessMisfitEnum(); + pos=find(obj.cost_functions==507); data(pos)=RheologyBAbsGradientEnum(); pos=find(obj.cost_functions==601); data(pos)=SurfaceAbsMisfitEnum(); WriteData(fid,'data',data,'enum',InversionCostFunctionsEnum(),'format','DoubleMat','mattype',3); WriteData(fid,'data',num_cost_functions,'enum',InversionNumCostFunctionsEnum(),'format','Integer'); Index: ../trunk-jpl/src/m/classes/clusters/greenplanet.m =================================================================== --- ../trunk-jpl/src/m/classes/clusters/greenplanet.m (revision 18823) +++ ../trunk-jpl/src/m/classes/clusters/greenplanet.m (revision 18824) @@ -8,17 +8,17 @@ classdef greenplanet properties (SetAccess=public) % {{{ - name='greenplanet' - login=''; - numnodes=20; - cpuspernode=8; - port=8000; - queue='c6145'; - codepath=''; - executionpath=''; - interactive=0; - time=24*60; - memory=2; + name = 'greenplanet' + login = ''; + numnodes = 20; + cpuspernode = 8; + port = 8000; + queue = 'c6145'; + codepath = ''; + executionpath = ''; + interactive = 0; + time = 24*60; + memory = 2; end properties (SetAccess=private) np=20*8;