source: issm/oecreview/Archive/18296-19100/ISSM-18815-18816.diff@ 19102

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

NEW: added 18296-19100

File size: 21.5 KB
  • ../trunk-jpl/test/NightlyRun/test804.py

     
    2424md.transient.iscalving=True;
    2525
    2626md.calving.calvingrate=1000.*numpy.ones((md.mesh.numberofvertices,1))
     27md.calving.meltingrate=numpy.zeros((md.mesh.numberofvertices,1))
    2728
    2829md=solve(md,TransientSolutionEnum())
    2930
  • ../trunk-jpl/test/NightlyRun/test804.m

     
    1414md.transient.iscalving=1;
    1515
    1616md.calving.calvingrate=1000.*ones(md.mesh.numberofvertices,1);
     17md.calving.meltingrate=zeros(md.mesh.numberofvertices,1);
    1718
    1819md=solve(md,TransientSolutionEnum());
    1920
  • ../trunk-jpl/test/NightlyRun/test805.py

     
    3131md.transient.iscalving=True;
    3232
    3333md.calving.calvingrate=1000.*numpy.ones((md.mesh.numberofvertices,1))
     34md.calving.meltingrate=numpy.zeros((md.mesh.numberofvertices,1))
    3435
    3536md=solve(md,TransientSolutionEnum())
    3637
  • ../trunk-jpl/test/NightlyRun/test805.m

     
    2121md.transient.iscalving=1;
    2222
    2323md.calving.calvingrate=1000.*ones(md.mesh.numberofvertices,1);
     24md.calving.meltingrate=zeros(md.mesh.numberofvertices,1);
    2425
    2526md=solve(md,TransientSolutionEnum());
    2627
  • ../trunk-jpl/test/NightlyRun/test806.py

     
    3636md.transient.isgia=False
    3737md.transient.iscalving=True;
    3838
    39 md.calving=calvinglevermann();
    40 md.calving.coeff=4.89e13*numpy.ones((md.mesh.numberofvertices,1));
     39md.calving=calvinglevermann()
     40md.calving.coeff=4.89e13*numpy.ones((md.mesh.numberofvertices,1))
     41md.calving.meltingrate=numpy.zeros((md.mesh.numberofvertices,1))
    4142
    4243md.transient.requested_outputs=['default','StrainRateparallel','StrainRateperpendicular','Calvingratex','Calvingratey','CalvingCalvingrate']
    4344
  • ../trunk-jpl/test/NightlyRun/test806.m

     
    2525
    2626md.calving=calvinglevermann();
    2727md.calving.coeff=4.89e13*ones(md.mesh.numberofvertices,1);
     28md.calving.meltingrate=zeros(md.mesh.numberofvertices,1);
    2829
    2930md.transient.requested_outputs={'default','StrainRateparallel','StrainRateperpendicular','Calvingratex','Calvingratey','CalvingCalvingrate'};
    3031
  • ../trunk-jpl/test/NightlyRun/IdToName.m

     
    194194        case 803, name='ValleyGlacierLevelsetEnthalpyHO3d';
    195195        case 804, name='ValleyGlacierLevelsetCalvingSIA2d';
    196196        case 805, name='ValleyGlacierLevelsetEnthCalvingHO3d';
    197         case 806, name='SquareShelfLevelsetCalvingSIA2dLevermann';
     197        case 806, name='SquareShelfLevelsetCalvingSSA2dLevermann';
     198        case 807, name='SquareShelfLevelsetMeltingSSA2d';
    198199        case 1101, name='ISMIPAHO';
    199200        case 1102, name='ISMIPAFS';
    200201        case 1103, name='ISMIPBHO';
  • ../trunk-jpl/test/NightlyRun/IdToName.py

     
    179179        803  : 'ValleyGlacierLevelsetEnthalpyHO3d',     
    180180        804  : 'ValleyGlacierLevelsetCalvingSIA2d',     
    181181        805  : 'ValleyGlacierLevelsetEnthCalvingHO3d', 
    182         806  : 'SquareShelfLevelsetCalvingSIA2dLevermann',     
     182        806  : 'SquareShelfLevelsetCalvingSSA2dLevermann',     
     183        807  : 'SquareShelfLevelsetMeltingSSA2d',
    183184        1101 : 'ISMIPAHO',
    184185        1102 : 'ISMIPAFS',
    185186        1103 : 'ISMIPBHO',
  • ../trunk-jpl/src/c/analyses/LevelsetAnalysis.cpp

     
    4747                switch(calvinglaw){
    4848                        case DefaultCalvingEnum:
    4949                                iomodel->FetchDataToInput(elements,CalvingCalvingrateEnum);
     50                                iomodel->FetchDataToInput(elements,CalvingMeltingrateEnum);
    5051                                break;
    5152                        case CalvingLevermannEnum:
    5253                                iomodel->FetchDataToInput(elements,CalvinglevermannCoeffEnum);
     54                                iomodel->FetchDataToInput(elements,CalvinglevermannMeltingrateEnum);
    5355                                break;
    5456                        default:
    5557                                _error_("Calving law "<<EnumToStringx(calvinglaw)<<" not supported yet");
     
    124126        IssmDouble Jdet, dt, D_scalar;
    125127        IssmDouble h,hx,hy,hz;
    126128        IssmDouble vel;
    127         IssmDouble norm_dlsf, calvingrate;
     129        IssmDouble norm_dlsf, norm_calving, calvingrate, meltingrate;
    128130        IssmDouble* xyz_list = NULL;
    129131
    130132        /*Get problem dimension and whether there is calving or not*/
     
    150152        IssmDouble*    v        = xNew<IssmDouble>(dim);
    151153        IssmDouble*    w        = xNew<IssmDouble>(dim);
    152154        IssmDouble*    c        = xNewZeroInit<IssmDouble>(dim);
     155        IssmDouble*    m        = xNewZeroInit<IssmDouble>(dim);
    153156        IssmDouble*    dlsf     = xNew<IssmDouble>(dim);
    154157
    155158        /*Retrieve all inputs and parameters*/
     
    162165        Input* lsf_slopex_input   = NULL;
    163166        Input* lsf_slopey_input   = NULL;
    164167        Input* calvingrate_input  = NULL;
     168        Input* meltingrate_input  = NULL;
    165169
    166170        /*Load velocities*/
    167171        if(domaintype==Domain2DhorizontalEnum){
     
    185189                                lsf_slopex_input  = basalelement->GetInput(LevelsetfunctionSlopeXEnum); _assert_(lsf_slopex_input);
    186190                                if(dim==2) lsf_slopey_input  = basalelement->GetInput(LevelsetfunctionSlopeYEnum); _assert_(lsf_slopey_input);
    187191                                calvingrate_input = basalelement->GetInput(CalvingCalvingrateEnum);     _assert_(calvingrate_input);
     192                                meltingrate_input = basalelement->GetInput(CalvingMeltingrateEnum);     _assert_(meltingrate_input);
    188193                                break;
    189194                        case CalvingLevermannEnum:
    190195                                if(domaintype==Domain2DhorizontalEnum){
     
    200205                                                calvingratey_input=basalelement->GetInput(CalvingrateyAverageEnum); _assert_(calvingratey_input);
    201206                                        }
    202207                                }
     208                                meltingrate_input = basalelement->GetInput(CalvinglevermannMeltingrateEnum);     _assert_(meltingrate_input);
    203209                                break;
    204210                        default:
    205211                                _error_("Calving law "<<EnumToStringx(calvinglaw)<<" not supported yet");
     
    237243                                        lsf_slopex_input->GetInputValue(&dlsf[0],gauss);
    238244                                        if(dim==2) lsf_slopey_input->GetInputValue(&dlsf[1],gauss);
    239245                                        calvingrate_input->GetInputValue(&calvingrate,gauss);
     246                                        meltingrate_input->GetInputValue(&meltingrate,gauss);
    240247
    241248                                        norm_dlsf=0.;
    242249                                        for(i=0;i<dim;i++) norm_dlsf+=pow(dlsf[i],2);
    243250                                        norm_dlsf=sqrt(norm_dlsf);
    244251
    245252                                        if(norm_dlsf>1.e-10)
    246                                          for(i=0;i<dim;i++) c[i]=calvingrate*dlsf[i]/norm_dlsf;
     253                                         for(i=0;i<dim;i++){
     254                                          c[i]=calvingrate*dlsf[i]/norm_dlsf;
     255                                          m[i]=meltingrate*dlsf[i]/norm_dlsf;
     256                                         }
    247257                                        else
    248                                          for(i=0;i<dim;i++) c[i]=0.;
     258                                         for(i=0;i<dim;i++){
     259                                                 c[i]=0.;
     260                                                 m[i]=0.;
     261                                         }
     262
    249263                                        break;
    250264                                case CalvingLevermannEnum:
    251265                                        calvingratex_input->GetInputValue(&c[0],gauss); // in 3D case, add mesh velocity
    252266                                        if(dim==2) calvingratey_input->GetInputValue(&c[1],gauss);
     267                                        meltingrate_input->GetInputValue(&meltingrate,gauss);
     268
     269                                        norm_calving=0.;
     270                                        for(i=0;i<dim;i++) norm_calving+=pow(c[i],2);
     271                                        norm_calving=sqrt(norm_calving)+1.e-14;
     272
     273                                        for(i=0;i<dim;i++) m[i]=meltingrate*c[i]/norm_calving;
     274                                       
    253275                                        break;
    254276                                default:
    255277                                        _error_("Calving law "<<EnumToStringx(calvinglaw)<<" not supported yet");
     
    257279                }
    258280
    259281                /*Levelset speed is ice velocity - calving rate*/
    260                 for(i=0;i<dim;i++) w[i]=v[i]-c[i];
     282                for(i=0;i<dim;i++) w[i]=v[i]-c[i]-m[i];
    261283
    262284                /*Compute D*/
    263285                for(row=0;row<dim;row++){
  • ../trunk-jpl/src/c/shared/Enum/EnumDefinitions.h

     
    212212        StressIntensityFactorEnum,
    213213        CalvingLawEnum,
    214214        CalvingCalvingrateEnum,
     215        CalvingMeltingrateEnum,
    215216        CalvingLevermannEnum,
    216217        DefaultCalvingEnum,
    217218        CalvingRequestedOutputsEnum,
    218219        CalvinglevermannCoeffEnum,
     220        CalvinglevermannMeltingrateEnum,
    219221        CalvingratexEnum,
    220222        CalvingrateyEnum,
    221223        CalvingratexAverageEnum,
  • ../trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp

     
    220220                case StressIntensityFactorEnum : return "StressIntensityFactor";
    221221                case CalvingLawEnum : return "CalvingLaw";
    222222                case CalvingCalvingrateEnum : return "CalvingCalvingrate";
     223                case CalvingMeltingrateEnum : return "CalvingMeltingrate";
    223224                case CalvingLevermannEnum : return "CalvingLevermann";
    224225                case DefaultCalvingEnum : return "DefaultCalving";
    225226                case CalvingRequestedOutputsEnum : return "CalvingRequestedOutputs";
    226227                case CalvinglevermannCoeffEnum : return "CalvinglevermannCoeff";
     228                case CalvinglevermannMeltingrateEnum : return "CalvinglevermannMeltingrate";
    227229                case CalvingratexEnum : return "Calvingratex";
    228230                case CalvingrateyEnum : return "Calvingratey";
    229231                case CalvingratexAverageEnum : return "CalvingratexAverage";
  • ../trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp

     
    223223              else if (strcmp(name,"StressIntensityFactor")==0) return StressIntensityFactorEnum;
    224224              else if (strcmp(name,"CalvingLaw")==0) return CalvingLawEnum;
    225225              else if (strcmp(name,"CalvingCalvingrate")==0) return CalvingCalvingrateEnum;
     226              else if (strcmp(name,"CalvingMeltingrate")==0) return CalvingMeltingrateEnum;
    226227              else if (strcmp(name,"CalvingLevermann")==0) return CalvingLevermannEnum;
    227228              else if (strcmp(name,"DefaultCalving")==0) return DefaultCalvingEnum;
    228229              else if (strcmp(name,"CalvingRequestedOutputs")==0) return CalvingRequestedOutputsEnum;
    229230              else if (strcmp(name,"CalvinglevermannCoeff")==0) return CalvinglevermannCoeffEnum;
     231              else if (strcmp(name,"CalvinglevermannMeltingrate")==0) return CalvinglevermannMeltingrateEnum;
    230232              else if (strcmp(name,"Calvingratex")==0) return CalvingratexEnum;
    231233              else if (strcmp(name,"Calvingratey")==0) return CalvingrateyEnum;
    232234              else if (strcmp(name,"CalvingratexAverage")==0) return CalvingratexAverageEnum;
     
    257259              else if (strcmp(name,"MeshVertexonbase")==0) return MeshVertexonbaseEnum;
    258260              else if (strcmp(name,"MeshVertexonsurface")==0) return MeshVertexonsurfaceEnum;
    259261              else if (strcmp(name,"MeshVertexonboundary")==0) return MeshVertexonboundaryEnum;
    260               else if (strcmp(name,"MeshX")==0) return MeshXEnum;
    261               else if (strcmp(name,"MeshY")==0) return MeshYEnum;
    262262         else stage=3;
    263263   }
    264264   if(stage==3){
    265               if (strcmp(name,"MeshZ")==0) return MeshZEnum;
     265              if (strcmp(name,"MeshX")==0) return MeshXEnum;
     266              else if (strcmp(name,"MeshY")==0) return MeshYEnum;
     267              else if (strcmp(name,"MeshZ")==0) return MeshZEnum;
    266268              else if (strcmp(name,"MeshElementtype")==0) return MeshElementtypeEnum;
    267269              else if (strcmp(name,"DomainType")==0) return DomainTypeEnum;
    268270              else if (strcmp(name,"DomainDimension")==0) return DomainDimensionEnum;
     
    380382              else if (strcmp(name,"SurfaceforcingsIssmbgradients")==0) return SurfaceforcingsIssmbgradientsEnum;
    381383              else if (strcmp(name,"SolutionType")==0) return SolutionTypeEnum;
    382384              else if (strcmp(name,"AnalysisType")==0) return AnalysisTypeEnum;
    383               else if (strcmp(name,"ConfigurationType")==0) return ConfigurationTypeEnum;
    384               else if (strcmp(name,"AdjointBalancethicknessAnalysis")==0) return AdjointBalancethicknessAnalysisEnum;
    385385         else stage=4;
    386386   }
    387387   if(stage==4){
    388               if (strcmp(name,"AdjointBalancethickness2Analysis")==0) return AdjointBalancethickness2AnalysisEnum;
     388              if (strcmp(name,"ConfigurationType")==0) return ConfigurationTypeEnum;
     389              else if (strcmp(name,"AdjointBalancethicknessAnalysis")==0) return AdjointBalancethicknessAnalysisEnum;
     390              else if (strcmp(name,"AdjointBalancethickness2Analysis")==0) return AdjointBalancethickness2AnalysisEnum;
    389391              else if (strcmp(name,"AdjointHorizAnalysis")==0) return AdjointHorizAnalysisEnum;
    390392              else if (strcmp(name,"AnalysisCounter")==0) return AnalysisCounterEnum;
    391393              else if (strcmp(name,"DefaultAnalysis")==0) return DefaultAnalysisEnum;
     
    503505              else if (strcmp(name,"MassconaxpbyName")==0) return MassconaxpbyNameEnum;
    504506              else if (strcmp(name,"MassconaxpbyNamex")==0) return MassconaxpbyNamexEnum;
    505507              else if (strcmp(name,"MassconaxpbyNamey")==0) return MassconaxpbyNameyEnum;
    506               else if (strcmp(name,"MassconaxpbyAlpha")==0) return MassconaxpbyAlphaEnum;
    507               else if (strcmp(name,"MassconaxpbyBeta")==0) return MassconaxpbyBetaEnum;
    508508         else stage=5;
    509509   }
    510510   if(stage==5){
    511               if (strcmp(name,"NodeSId")==0) return NodeSIdEnum;
     511              if (strcmp(name,"MassconaxpbyAlpha")==0) return MassconaxpbyAlphaEnum;
     512              else if (strcmp(name,"MassconaxpbyBeta")==0) return MassconaxpbyBetaEnum;
     513              else if (strcmp(name,"NodeSId")==0) return NodeSIdEnum;
    512514              else if (strcmp(name,"VectorParam")==0) return VectorParamEnum;
    513515              else if (strcmp(name,"Riftfront")==0) return RiftfrontEnum;
    514516              else if (strcmp(name,"RiftfrontType")==0) return RiftfrontTypeEnum;
     
    626628              else if (strcmp(name,"StrainRateyy")==0) return StrainRateyyEnum;
    627629              else if (strcmp(name,"StrainRateyz")==0) return StrainRateyzEnum;
    628630              else if (strcmp(name,"StrainRatezz")==0) return StrainRatezzEnum;
    629               else if (strcmp(name,"Divergence")==0) return DivergenceEnum;
    630               else if (strcmp(name,"MaxDivergence")==0) return MaxDivergenceEnum;
    631631         else stage=6;
    632632   }
    633633   if(stage==6){
    634               if (strcmp(name,"GiaCrossSectionShape")==0) return GiaCrossSectionShapeEnum;
     634              if (strcmp(name,"Divergence")==0) return DivergenceEnum;
     635              else if (strcmp(name,"MaxDivergence")==0) return MaxDivergenceEnum;
     636              else if (strcmp(name,"GiaCrossSectionShape")==0) return GiaCrossSectionShapeEnum;
    635637              else if (strcmp(name,"GiadWdt")==0) return GiadWdtEnum;
    636638              else if (strcmp(name,"GiaW")==0) return GiaWEnum;
    637639              else if (strcmp(name,"P0")==0) return P0Enum;
     
    749751              else if (strcmp(name,"Dense")==0) return DenseEnum;
    750752              else if (strcmp(name,"MpiDense")==0) return MpiDenseEnum;
    751753              else if (strcmp(name,"MpiSparse")==0) return MpiSparseEnum;
    752               else if (strcmp(name,"Seq")==0) return SeqEnum;
    753               else if (strcmp(name,"Mpi")==0) return MpiEnum;
    754754         else stage=7;
    755755   }
    756756   if(stage==7){
    757               if (strcmp(name,"Mumps")==0) return MumpsEnum;
     757              if (strcmp(name,"Seq")==0) return SeqEnum;
     758              else if (strcmp(name,"Mpi")==0) return MpiEnum;
     759              else if (strcmp(name,"Mumps")==0) return MumpsEnum;
    758760              else if (strcmp(name,"Gsl")==0) return GslEnum;
    759761              else if (strcmp(name,"Option")==0) return OptionEnum;
    760762              else if (strcmp(name,"GenericOption")==0) return GenericOptionEnum;
  • ../trunk-jpl/src/m/classes/calving.py

     
    1414
    1515        def __init__(self): # {{{
    1616                self.calvingrate            = float('NaN')
     17                self.meltingrate            = float('NaN')
    1718
    1819                #set defaults
    1920                self.setdefaultparameters()
     
    2223        def __repr__(self): # {{{
    2324                string='   Calving parameters:'
    2425                string="%s\n%s"%(string,fielddisplay(self,'calvingrate','calving rate at given location [m/a]'))
     26                string="%s\n%s"%(string,fielddisplay(self,'meltingrate','melting rate at given location [m/a]'))
    2527
    2628                return string
    2729                #}}}
     
    3638                        return md
    3739
    3840                md = checkfield(md,'fieldname','calving.calvingrate','NaN',1,'size',[md.mesh.numberofvertices],'>=',0)
     41                md = checkfield(md,'fieldname','calving.meltingrate','NaN',1,'size',[md.mesh.numberofvertices],'>=',0)
    3942                return md
    4043        # }}}
    4144        def marshall(self,md,fid):    # {{{
     
    4447
    4548                WriteData(fid,'enum',CalvingLawEnum(),'data',DefaultCalvingEnum(),'format','Integer');
    4649                WriteData(fid,'object',self,'fieldname','calvingrate','format','DoubleMat','mattype',1,'forcinglength',md.mesh.numberofvertices+1,'scale',1./yts)
     50                WriteData(fid,'object',self,'fieldname','meltingrate','format','DoubleMat','mattype',1,'forcinglength',md.mesh.numberofvertices+1,'scale',1./yts)
    4751        # }}}
  • ../trunk-jpl/src/m/classes/calvinglevermann.py

     
    1313        """
    1414
    1515        def __init__(self): # {{{
    16                 self.coeff = float('NaN')
     16                self.coeff       = float('NaN')
     17                self.meltingrate = float('NaN')
    1718
    1819                #set defaults
    1920                self.setdefaultparameters()
     
    2223        def __repr__(self): # {{{
    2324                string='   Calving Levermann parameters:'
    2425                string="%s\n%s"%(string,fielddisplay(self,'coeff','proportionality coefficient in Levermann model'))
     26                string="%s\n%s"%(string,fielddisplay(self,'meltingrate','melting rate at given location [m/a]'))
    2527
    2628                return string
    2729                #}}}
     
    3739                        return md
    3840
    3941                md = checkfield(md,'fieldname','calving.coeff','size',[md.mesh.numberofvertices],'>',0)
     42                md = checkfield(md,'fieldname','calving.meltingrate','NaN',1,'size',[md.mesh.numberofvertices],'>=',0)
    4043                return md
    4144        # }}}
    4245        def marshall(self,md,fid):    # {{{
     46                yts=365.*24.*3600.
    4347                WriteData(fid,'enum',CalvingLawEnum(),'data',CalvingLevermannEnum(),'format','Integer');
    4448                WriteData(fid,'enum',CalvinglevermannCoeffEnum(),'data',self.coeff,'format','DoubleMat','mattype',1)
     49                WriteData(fid,'object',self,'fieldname','meltingrate','format','DoubleMat','mattype',1,'forcinglength',md.mesh.numberofvertices+1,'scale',1./yts)
    4550        # }}}
  • ../trunk-jpl/src/m/classes/calving.m

     
    66classdef calving
    77        properties (SetAccess=public)
    88                 calvingrate            = NaN;
     9                 meltingrate            = NaN;
    910        end
    1011        methods (Static)
    1112                function obj = loadobj(obj) % {{{
     
    5960                        %Early return
    6061                        if (solution~=TransientSolutionEnum() | md.transient.iscalving==0), return; end
    6162                        md = checkfield(md,'fieldname','calving.calvingrate','NaN',1,'size',[md.mesh.numberofvertices 1],'>=',0);
     63                        md = checkfield(md,'fieldname','calving.meltingrate','NaN',1,'size',[md.mesh.numberofvertices 1],'>=',0);
    6264                end % }}}
    6365                function disp(obj) % {{{
    6466                        disp(sprintf('   Calving parameters:'));
    6567                        fielddisplay(obj,'calvingrate','calving rate at given location [m/a]');
     68                        fielddisplay(obj,'meltingrate','melting rate at given location [m/a]');
    6669                end % }}}
    6770                function marshall(obj,md,fid) % {{{
    6871                        yts=365.0*24.0*3600.0;
    6972                        WriteData(fid,'enum',CalvingLawEnum(),'data',DefaultCalvingEnum(),'format','Integer');
    7073                        WriteData(fid,'object',obj,'fieldname','calvingrate','format','DoubleMat','mattype',1,'forcinglength',md.mesh.numberofvertices+1,'scale',1./yts);
     74                        WriteData(fid,'object',obj,'fieldname','meltingrate','format','DoubleMat','mattype',1,'forcinglength',md.mesh.numberofvertices+1,'scale',1./yts);
    7175                end % }}}
    7276        end
    7377end
  • ../trunk-jpl/src/m/classes/calvinglevermann.m

     
    55
    66classdef calvinglevermann
    77        properties (SetAccess=public)
    8                  coeff = NaN;
     8                 coeff       = NaN;
     9                 meltingrate = NaN;
    910        end
    1011        methods
    1112                function obj = calvinglevermann(varargin) % {{{
     
    3435                        %Early return
    3536                        if (solution~=TransientSolutionEnum() | md.transient.iscalving==0), return; end
    3637                        md = checkfield(md,'fieldname','calving.coeff','>',0,'size',[md.mesh.numberofvertices 1]);
     38                        md = checkfield(md,'fieldname','calving.meltingrate','NaN',1,'size',[md.mesh.numberofvertices 1],'>=',0);
    3739                end % }}}
    3840                function disp(obj) % {{{
    3941                        disp(sprintf('   Calving Levermann parameters:'));
    4042                        fielddisplay(obj,'coeff','proportionality coefficient in Levermann model');
     43                        fielddisplay(obj,'meltingrate','melting rate at given location [m/a]');
    4144
    4245                end % }}}
    4346                function marshall(obj,md,fid) % {{{
     47                        yts=365.0*24.0*3600.0;
    4448                        WriteData(fid,'enum',CalvingLawEnum(),'data',CalvingLevermannEnum(),'format','Integer');
    4549                        WriteData(fid,'enum',CalvinglevermannCoeffEnum(),'data',obj.coeff,'format','DoubleMat','mattype',1);
     50                        WriteData(fid,'object',obj,'fieldname','meltingrate','format','DoubleMat','mattype',1,'forcinglength',md.mesh.numberofvertices+1,'scale',1./yts);
    4651                end % }}}
    4752        end
    4853end
Note: See TracBrowser for help on using the repository browser.