source: issm/trunk/src/m/classes/basalforcings.m@ 12706

Last change on this file since 12706 was 12706, checked in by Mathieu Morlighem, 13 years ago

merged trunk-jpl and trunk for revision 12703

File size: 1.9 KB
Line 
1%BASAL FORCINGS class definition
2%
3% Usage:
4% basalforcings=basalforcings();
5
6classdef basalforcings
7 properties (SetAccess=public)
8 melting_rate = NaN;
9 melting_rate_correction = NaN;
10 geothermalflux = NaN;
11 end
12 methods
13 function obj = basalforcings(varargin) % {{{
14 switch nargin
15 case 0
16 obj=setdefaultparameters(obj);
17 otherwise
18 error('constructor not supported');
19 end
20 end % }}}
21 function obj = setdefaultparameters(obj) % {{{
22
23 end % }}}
24 function md = checkconsistency(obj,md,solution,analyses) % {{{
25
26 if ismember(PrognosticAnalysisEnum,analyses) & ~(solution==TransientSolutionEnum & md.transient.isprognostic==0),
27 md = checkfield(md,'basalforcings.melting_rate','NaN',1,'forcing',1);
28 end
29 if ismember(BalancethicknessAnalysisEnum,analyses),
30 md = checkfield(md,'basalforcings.melting_rate','NaN',1,'size',[md.mesh.numberofvertices 1]);
31 end
32 if ismember(ThermalAnalysisEnum,analyses) & ~(solution==TransientSolutionEnum & md.transient.isthermal==0),
33 md = checkfield(md,'basalforcings.melting_rate','NaN',1,'forcing',1);
34 md = checkfield(md,'basalforcings.geothermalflux','NaN',1,'forcing',1,'>=',0);
35 end
36 end % }}}
37 function disp(obj) % {{{
38 disp(sprintf(' basal forcings parameters:'));
39
40 fielddisplay(obj,'melting_rate','basal melting rate (positive if melting)');
41 fielddisplay(obj,'melting_rate_correction','additional melting applied when the grounding line retreats');
42 fielddisplay(obj,'geothermalflux','geothermal heat flux [W/m^2]');
43
44 end % }}}
45 function marshall(obj,fid) % {{{
46 WriteData(fid,'object',obj,'fieldname','melting_rate','format','DoubleMat','mattype',1);
47 WriteData(fid,'object',obj,'fieldname','melting_rate_correction','format','DoubleMat','mattype',1);
48 WriteData(fid,'object',obj,'fieldname','geothermalflux','format','DoubleMat','mattype',1);
49 end % }}}
50 end
51end
Note: See TracBrowser for help on using the repository browser.