source: issm/oecreview/Archive/18296-19100/ISSM-18604-18605.diff@ 28275

Last change on this file since 28275 was 19102, checked in by Mathieu Morlighem, 10 years ago

NEW: added 18296-19100

File size: 7.2 KB
RevLine 
[19102]1Index: ../trunk-jpl/src/m/classes/inversion.m
2===================================================================
3--- ../trunk-jpl/src/m/classes/inversion.m (revision 18604)
4+++ ../trunk-jpl/src/m/classes/inversion.m (revision 18605)
5@@ -22,6 +22,7 @@
6 vz_obs = NaN
7 vel_obs = NaN
8 thickness_obs = NaN
9+ surface_obs = NaN
10 end
11 methods
12 function createxml(obj,fid) % {{{
13@@ -132,7 +133,7 @@
14 md = checkfield(md,'fieldname','inversion.incomplete_adjoint','values',[0 1]);
15 md = checkfield(md,'fieldname','inversion.control_parameters','cell',1,'values',...
16 {'BalancethicknessThickeningRate' 'FrictionCoefficient' 'MaterialsRheologyBbar' 'DamageDbar' 'Vx' 'Vy' 'Thickness',...
17- 'BalancethicknessNu' 'BalancethicknessApparentMassbalance'});
18+ 'BalancethicknessOmega' 'BalancethicknessApparentMassbalance'});
19 md = checkfield(md,'fieldname','inversion.nsteps','numel',1,'>=',0);
20 md = checkfield(md,'fieldname','inversion.maxiter_per_step','size',[md.inversion.nsteps 1],'>=',0);
21 md = checkfield(md,'fieldname','inversion.step_threshold','size',[md.inversion.nsteps 1]);
22@@ -176,6 +177,7 @@
23 fielddisplay(obj,'vy_obs','observed velocity y component [m/yr]');
24 fielddisplay(obj,'vel_obs','observed velocity magnitude [m/yr]');
25 fielddisplay(obj,'thickness_obs','observed thickness [m]');
26+ fielddisplay(obj,'surface_obs','observed surface elevation [m]');
27 disp('Available cost functions:');
28 disp(' 101: SurfaceAbsVelMisfit');
29 disp(' 102: SurfaceRelVelMisfit');
30@@ -212,6 +214,7 @@
31 mattype=1;
32 end
33 WriteData(fid,'object',obj,'class','inversion','fieldname','thickness_obs','format','DoubleMat','mattype',mattype);
34+ WriteData(fid,'object',obj,'class','inversion','fieldname','surface_obs','format','DoubleMat','mattype',mattype);
35
36
37 %process control parameters
38@@ -238,6 +241,7 @@
39 pos=find(obj.cost_functions==504); data(pos)=ThicknessAlongGradientEnum();
40 pos=find(obj.cost_functions==505); data(pos)=ThicknessAcrossGradientEnum();
41 pos=find(obj.cost_functions==506); data(pos)=BalancethicknessMisfitEnum();
42+ pos=find(obj.cost_functions==601); data(pos)=SurfaceAbsMisfitEnum();
43 WriteData(fid,'data',data,'enum',InversionCostFunctionsEnum(),'format','DoubleMat','mattype',3);
44 WriteData(fid,'data',num_cost_functions,'enum',InversionNumCostFunctionsEnum(),'format','Integer');
45 end % }}}
46Index: ../trunk-jpl/src/m/classes/initialization.py
47===================================================================
48--- ../trunk-jpl/src/m/classes/initialization.py (revision 18604)
49+++ ../trunk-jpl/src/m/classes/initialization.py (revision 18605)
50@@ -78,15 +78,13 @@
51 md = checkfield(md,'fieldname','initialization.watercolumn','NaN',1,'size',[md.mesh.numberofvertices])
52 if HydrologyDCInefficientAnalysisEnum() in analyses:
53 if hasattr(md.hydrology,'hydrologydc'):
54- md = checkfield(md,'fieldname','initialization.sediment_head','NaN',1,'size',[md.mesh.numberofvertices 1])
55+ md = checkfield(md,'fieldname','initialization.sediment_head','NaN',1,'size',[md.mesh.numberofvertices,1])
56 if HydrologyDCEfficientAnalysisEnum() in analyses:
57 if hasattr(md.hydrology,'hydrologydc'):
58 if md.hydrology.isefficientlayer==1:
59- md = checkfield(md,'fieldname','initialization.epl_head','NaN',1,'size',[md.mesh.numberofvertices 1])
60- md = checkfield(md,'fieldname','initialization.epl_thickness','NaN',1,'size',[md.mesh.numberofvertices 1])
61-
62+ md = checkfield(md,'fieldname','initialization.epl_head','NaN',1,'size',[md.mesh.numberofvertices,1])
63+ md = checkfield(md,'fieldname','initialization.epl_thickness','NaN',1,'size',[md.mesh.numberofvertices,1])
64
65-
66 return md
67 # }}}
68 def marshall(self,md,fid): # {{{
69@@ -101,8 +99,8 @@
70 WriteData(fid,'data',self.waterfraction,'format','DoubleMat','mattype',1,'enum',WaterfractionEnum())
71 WriteData(fid,'data',self.watercolumn,'format','DoubleMat','mattype',1,'enum',WatercolumnEnum())
72 WriteData(fid,'data',self.sediment_head,'format','DoubleMat','mattype',1,'enum',SedimentHeadEnum())
73- WriteData(fid,'data',self.epl_head,'format','DoubleMat','mattype',1,'enum',EplHeadEnum);
74- WriteData(fid,'data',self.epl_thickness,'format','DoubleMat','mattype',1,'enum',HydrologydcEplThicknessEnum);
75+ WriteData(fid,'data',self.epl_head,'format','DoubleMat','mattype',1,'enum',EplHeadEnum())
76+ WriteData(fid,'data',self.epl_thickness,'format','DoubleMat','mattype',1,'enum',HydrologydcEplThicknessEnum())
77
78
79 if md.thermal.isenthalpy:
80Index: ../trunk-jpl/src/m/classes/model.py
81===================================================================
82--- ../trunk-jpl/src/m/classes/model.py (revision 18604)
83+++ ../trunk-jpl/src/m/classes/model.py (revision 18605)
84@@ -659,15 +659,15 @@
85 md.stressbalance.loadingforce=project3d(md,'vector',md.stressbalance.loadingforce,'type','node')
86 md.masstransport.calvingrate=project3d(md,'vector',md.masstransport.calvingrate,'type','node')
87
88- # Hydrologydc variables
89- if hasattr(md.hydrology,'hydrologydc'):
90- md.hydrology.spcsediment_head=project3d(md,'vector',md.hydrology.spcsediment_head,'type','node','layer',1)
91- md.hydrology.spcepl_head=project3d(md,'vector',md.hydrology.spcepl_head,'type','node','layer',1)
92- md.hydrology.mask_eplactive_node=project3d(md,'vector',md.hydrology.mask_eplactive_node,'type','node','layer',1)
93- md.hydrology.sediment_transmitivity=project3d(md,'vector',md.hydrology.sediment_transmitivity,'type','node','layer',1)
94- md.hydrology.basal_moulin_input=project3d(md,'vector',md.hydrology.basal_moulin_input,'type','node','layer',1)
95- if md.hydrology.isefficientlayer==1 :
96- md.hydrology.spcepl_head=project3d(md,'vector',md.hydrology.spcepl_head,'type','node','layer',1)
97+ # Hydrologydc variables
98+ if hasattr(md.hydrology,'hydrologydc'):
99+ md.hydrology.spcsediment_head=project3d(md,'vector',md.hydrology.spcsediment_head,'type','node','layer',1)
100+ md.hydrology.spcepl_head=project3d(md,'vector',md.hydrology.spcepl_head,'type','node','layer',1)
101+ md.hydrology.mask_eplactive_node=project3d(md,'vector',md.hydrology.mask_eplactive_node,'type','node','layer',1)
102+ md.hydrology.sediment_transmitivity=project3d(md,'vector',md.hydrology.sediment_transmitivity,'type','node','layer',1)
103+ md.hydrology.basal_moulin_input=project3d(md,'vector',md.hydrology.basal_moulin_input,'type','node','layer',1)
104+ if md.hydrology.isefficientlayer==1 :
105+ md.hydrology.spcepl_head=project3d(md,'vector',md.hydrology.spcepl_head,'type','node','layer',1)
106
107 #connectivity
108 md.mesh.elementconnectivity=numpy.tile(md.mesh.elementconnectivity,(numlayers-1,1))
109Index: ../trunk-jpl/src/m/classes/inversionvalidation.m
110===================================================================
111--- ../trunk-jpl/src/m/classes/inversionvalidation.m (revision 18604)
112+++ ../trunk-jpl/src/m/classes/inversionvalidation.m (revision 18605)
113@@ -17,7 +17,7 @@
114 vz_obs = NaN
115 vel_obs = NaN
116 thickness_obs = NaN
117- surface_obs = NaN
118+ surface_obs = NaN
119 end
120 methods
121 function obj = inversionvalidation(varargin) % {{{
Note: See TracBrowser for help on using the repository browser.