Changeset 9597


Ignore:
Timestamp:
09/02/11 17:10:47 (14 years ago)
Author:
Mathieu Morlighem
Message:

Put yts g and referencetemperature in md.constants

Location:
issm/trunk
Files:
48 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk/src/c/EnumDefinitions/EnumDefinitions.h

    r9571 r9597  
    363363        SsetEnum,
    364364        GroundinglineMigrationEnum,
    365         YtsEnum,
     365        ConstantsYtsEnum,
    366366        /*}}}*/
    367367        /*Interpolation {{{1*/
     
    412412        VerticesTypeEnum,
    413413        HydroKnEnum,
    414         GEnum,
     414        ConstantsGEnum,
    415415        SpcvzEnum,
    416416        NumberOfNodes2DEnum,
     
    446446        ThermalconductivityEnum,
    447447        MeltingpointEnum,
    448         ReferencetemperatureEnum,
     448        ConstantsReferencetemperatureEnum,
    449449        DhdtEnum,
    450450        GeothermalfluxEnum,
  • issm/trunk/src/c/modules/EnumToStringx/EnumToStringx.cpp

    r9571 r9597  
    314314                case SsetEnum : return "Sset";
    315315                case GroundinglineMigrationEnum : return "GroundinglineMigration";
    316                 case YtsEnum : return "Yts";
     316                case ConstantsYtsEnum : return "ConstantsYts";
    317317                case TriangleInterpEnum : return "TriangleInterp";
    318318                case BilinearInterpEnum : return "BilinearInterp";
     
    355355                case VerticesTypeEnum : return "VerticesType";
    356356                case HydroKnEnum : return "HydroKn";
    357                 case GEnum : return "G";
     357                case ConstantsGEnum : return "ConstantsG";
    358358                case SpcvzEnum : return "Spcvz";
    359359                case NumberOfNodes2DEnum : return "NumberOfNodes2D";
     
    389389                case ThermalconductivityEnum : return "Thermalconductivity";
    390390                case MeltingpointEnum : return "Meltingpoint";
    391                 case ReferencetemperatureEnum : return "Referencetemperature";
     391                case ConstantsReferencetemperatureEnum : return "ConstantsReferencetemperature";
    392392                case DhdtEnum : return "Dhdt";
    393393                case GeothermalfluxEnum : return "Geothermalflux";
  • issm/trunk/src/c/modules/ModelProcessorx/CreateParameters.cpp

    r9563 r9597  
    3535        parameters->AddObject(iomodel->CopyConstantObject(MaxNonlinearIterationsEnum));
    3636        parameters->AddObject(iomodel->CopyConstantObject(MaxSteadystateIterationsEnum));
    37         parameters->AddObject(iomodel->CopyConstantObject(YtsEnum));
     37        parameters->AddObject(iomodel->CopyConstantObject(ConstantsYtsEnum));
    3838        parameters->AddObject(iomodel->CopyConstantObject(DtEnum));
    3939        parameters->AddObject(iomodel->CopyConstantObject(NdtEnum));
     
    4646        parameters->AddObject(iomodel->CopyConstantObject(BetaEnum));
    4747        parameters->AddObject(iomodel->CopyConstantObject(MeltingpointEnum));
    48         parameters->AddObject(iomodel->CopyConstantObject(ReferencetemperatureEnum));
     48        parameters->AddObject(iomodel->CopyConstantObject(ConstantsReferencetemperatureEnum));
    4949        parameters->AddObject(iomodel->CopyConstantObject(LatentheatEnum));
    5050        parameters->AddObject(iomodel->CopyConstantObject(HeatcapacityEnum));
  • issm/trunk/src/c/modules/ModelProcessorx/DiagnosticHoriz/CreateConstraintsDiagnosticHoriz.cpp

    r9405 r9597  
    4141        /*Fetch parameters: */
    4242        iomodel->Constant(&dim,DimEnum);
    43         iomodel->Constant(&yts,YtsEnum);
     43        iomodel->Constant(&yts,ConstantsYtsEnum);
    4444        iomodel->Constant(&numberofvertices,NumberOfVerticesEnum);
    45         iomodel->Constant(&g,GEnum);
     45        iomodel->Constant(&g,ConstantsGEnum);
    4646        iomodel->Constant(&rho_ice,RhoIceEnum);
    4747        iomodel->Constant(&stokesreconditioning,StokesreconditioningEnum);
  • issm/trunk/src/c/modules/ModelProcessorx/DiagnosticHutter/CreateConstraintsDiagnosticHutter.cpp

    r9405 r9597  
    2828
    2929        /*Fetch parameters: */
    30         iomodel->Constant(&yts,YtsEnum);
     30        iomodel->Constant(&yts,ConstantsYtsEnum);
    3131        iomodel->Constant(&numberofvertices,NumberOfVerticesEnum);
    3232        iomodel->Constant(&ishutter,IshutterEnum);
  • issm/trunk/src/c/modules/ModelProcessorx/DiagnosticVert/CreateConstraintsDiagnosticVert.cpp

    r9405 r9597  
    2525        /*Fetch parameters: */
    2626        iomodel->Constant(&dim,DimEnum);
    27         iomodel->Constant(&yts,YtsEnum);
     27        iomodel->Constant(&yts,ConstantsYtsEnum);
    2828        iomodel->Constant(&numberofvertices,NumberOfVerticesEnum);
    2929
  • issm/trunk/src/c/modules/ModelProcessorx/Enthalpy/CreateConstraintsEnthalpy.cpp

    r9405 r9597  
    2929        iomodel->Constant(&numberofvertices,NumberOfVerticesEnum);
    3030        iomodel->Constant(&heatcapacity,HeatcapacityEnum);
    31         iomodel->Constant(&referencetemperature,ReferencetemperatureEnum);
     31        iomodel->Constant(&referencetemperature,ConstantsReferencetemperatureEnum);
    3232
    3333        /*Recover pointer: */
  • issm/trunk/src/c/modules/StringToEnumx/StringToEnumx.cpp

    r9571 r9597  
    312312        else if (strcmp(name,"Sset")==0) return SsetEnum;
    313313        else if (strcmp(name,"GroundinglineMigration")==0) return GroundinglineMigrationEnum;
    314         else if (strcmp(name,"Yts")==0) return YtsEnum;
     314        else if (strcmp(name,"ConstantsYts")==0) return ConstantsYtsEnum;
    315315        else if (strcmp(name,"TriangleInterp")==0) return TriangleInterpEnum;
    316316        else if (strcmp(name,"BilinearInterp")==0) return BilinearInterpEnum;
     
    353353        else if (strcmp(name,"VerticesType")==0) return VerticesTypeEnum;
    354354        else if (strcmp(name,"HydroKn")==0) return HydroKnEnum;
    355         else if (strcmp(name,"G")==0) return GEnum;
     355        else if (strcmp(name,"ConstantsG")==0) return ConstantsGEnum;
    356356        else if (strcmp(name,"Spcvz")==0) return SpcvzEnum;
    357357        else if (strcmp(name,"NumberOfNodes2D")==0) return NumberOfNodes2DEnum;
     
    387387        else if (strcmp(name,"Thermalconductivity")==0) return ThermalconductivityEnum;
    388388        else if (strcmp(name,"Meltingpoint")==0) return MeltingpointEnum;
    389         else if (strcmp(name,"Referencetemperature")==0) return ReferencetemperatureEnum;
     389        else if (strcmp(name,"ConstantsReferencetemperature")==0) return ConstantsReferencetemperatureEnum;
    390390        else if (strcmp(name,"Dhdt")==0) return DhdtEnum;
    391391        else if (strcmp(name,"Geothermalflux")==0) return GeothermalfluxEnum;
  • issm/trunk/src/c/objects/Elements/Penta.cpp

    r9595 r9597  
    48464846        iomodel->Constant(&numberofvertices,NumberOfVerticesEnum);
    48474847        iomodel->Constant(&numberofelements,NumberOfElementsEnum);
    4848         iomodel->Constant(&yts,YtsEnum);
     4848        iomodel->Constant(&yts,ConstantsYtsEnum);
    48494849
    48504850        /*Branch on type of vector: nodal or elementary: */
     
    51535153
    51545154        /*Fetch parameters: */
    5155         iomodel->Constant(&yts,YtsEnum);
     5155        iomodel->Constant(&yts,ConstantsYtsEnum);
    51565156        iomodel->Constant(&control_analysis,ControlAnalysisEnum);
    51575157        iomodel->Constant(&num_control_type,NumControlTypeEnum);
     
    75037503
    75047504        /*Fetch parameters: */
    7505         iomodel->Constant(&yts,YtsEnum);
     7505        iomodel->Constant(&yts,ConstantsYtsEnum);
    75067506        iomodel->Constant(&prognostic_DG,PrognosticDGEnum);
    75077507        iomodel->Constant(&dakota_analysis,DakotaAnalysisEnum);
     
    75097509        iomodel->Constant(&beta,BetaEnum);
    75107510        iomodel->Constant(&heatcapacity,HeatcapacityEnum);
    7511         iomodel->Constant(&referencetemperature,ReferencetemperatureEnum);
     7511        iomodel->Constant(&referencetemperature,ConstantsReferencetemperatureEnum);
    75127512        iomodel->Constant(&meltingpoint,MeltingpointEnum);
    75137513        iomodel->Constant(&latentheat,LatentheatEnum);
  • issm/trunk/src/c/objects/Elements/Tria.cpp

    r9595 r9597  
    32733273        iomodel->Constant(&control_analysis,ControlAnalysisEnum);
    32743274        iomodel->Constant(&num_control_type,NumControlTypeEnum);
    3275         iomodel->Constant(&yts,YtsEnum);
     3275        iomodel->Constant(&yts,ConstantsYtsEnum);
    32763276        iomodel->Constant(&num_cm_responses,NumCmResponsesEnum);
    32773277
     
    39003900        iomodel->Constant(&numberofvertices,NumberOfVerticesEnum);
    39013901        iomodel->Constant(&numberofelements,NumberOfElementsEnum);
    3902         iomodel->Constant(&yts,YtsEnum);
     3902        iomodel->Constant(&yts,ConstantsYtsEnum);
    39033903
    39043904        /*Branch on type of vector: nodal or elementary: */
     
    45814581
    45824582        /*recover parameters: */
    4583         parameters->FindParam(&yts,YtsEnum);
     4583        parameters->FindParam(&yts,ConstantsYtsEnum);
    45844584        parameters->FindParam(&gl_melting_rate,GroundinglineMeltingRateEnum);
    45854585
     
    52185218
    52195219        /*Fetch parameters: */
    5220         iomodel->Constant(&yts,YtsEnum);
     5220        iomodel->Constant(&yts,ConstantsYtsEnum);
    52215221        iomodel->Constant(&prognostic_DG,PrognosticDGEnum);
    52225222        iomodel->Constant(&dakota_analysis,DakotaAnalysisEnum);
  • issm/trunk/src/c/objects/Materials/Matpar.cpp

    r9405 r9597  
    3333        iomodel->Constant(&this->beta,BetaEnum);
    3434        iomodel->Constant(&this->meltingpoint,MeltingpointEnum);
    35         iomodel->Constant(&this->referencetemperature,ReferencetemperatureEnum);
     35        iomodel->Constant(&this->referencetemperature,ConstantsReferencetemperatureEnum);
    3636        iomodel->Constant(&this->mixed_layer_capacity,MixedLayerCapacityEnum);
    3737        iomodel->Constant(&this->thermal_exchange_velocity,ThermalExchangeVelocityEnum);
    38         iomodel->Constant(&this->g,GEnum);
     38        iomodel->Constant(&this->g,ConstantsGEnum);
    3939       
    4040        iomodel->Constant(&this->kn,HydroKnEnum);
     
    255255                        break;
    256256
    257                 case  ReferencetemperatureEnum:
     257                case  ConstantsReferencetemperatureEnum:
    258258                        this->referencetemperature=constant;
    259259                        break;
  • issm/trunk/src/c/solutions/convergence.cpp

    r6412 r9597  
    4141        parameters->FindParam(&eps_rel,EpsRelEnum);
    4242        parameters->FindParam(&eps_abs,EpsAbsEnum);
    43         parameters->FindParam(&yts,YtsEnum);
     43        parameters->FindParam(&yts,ConstantsYtsEnum);
    4444
    4545        /*Display solver caracteristics*/
  • issm/trunk/src/c/solutions/transient_core.cpp

    r9356 r9597  
    3131        femmodel->parameters->FindParam(&finaltime,NdtEnum);
    3232        femmodel->parameters->FindParam(&dt,DtEnum);
    33         femmodel->parameters->FindParam(&yts,YtsEnum);
     33        femmodel->parameters->FindParam(&yts,ConstantsYtsEnum);
    3434        femmodel->parameters->FindParam(&control_analysis,ControlAnalysisEnum);
    3535        femmodel->parameters->FindParam(&solution_type,SolutionTypeEnum);
  • issm/trunk/src/m/classes/model/model.m

    r9571 r9597  
    88                 % {{{1
    99                 %Careful here: no other class should be used as default value this is a bug of matlab
    10                  cluster = modelfield('default',0,'marshall',false);
    11                  verbose = modelfield('default',0,'marshall',true,'preprocess','marshallverbose','format','Integer');
    12                  results = modelfield('default',0,'marshall',false);
    13                  solver  = modelfield('default',0,'marshall',false);
    14                  debug   = modelfield('default',0,'marshall',false);
     10                 cluster   = modelfield('default',0,'marshall',false);
     11                 verbose   = modelfield('default',0,'marshall',true,'preprocess','marshallverbose','format','Integer');
     12                 results   = modelfield('default',0,'marshall',false);
     13                 solver    = modelfield('default',0,'marshall',false);
     14                 debug     = modelfield('default',0,'marshall',false);
     15                 constants = modelfield('default',0,'marshall',true);
    1516
    1617                 %FIXME: all other fields should belong to other classes
     
    108109                 thermalconductivity        = modelfield('default',0,'marshall',true,'format','Double');
    109110                 meltingpoint               = modelfield('default',0,'marshall',true,'format','Double');
    110                  referencetemperature       = modelfield('default',0,'marshall',true,'format','Double'); %for enthalpy
    111111                 beta                       = modelfield('default',0,'marshall',true,'format','Double');
    112112                 mixed_layer_capacity       = modelfield('default',0,'marshall',true,'format','Double');
     
    117117
    118118                 %Physical parameters
    119                  g                = modelfield('default',0,'marshall',true,'format','Double');
    120                  yts              = modelfield('default',0,'marshall',true,'format','Double');
     119
    121120                 drag_coefficient = modelfield('default',NaN,'marshall',true,'format','DoubleMat','mattype',1);
    122121                 drag_p           = modelfield('default',NaN,'marshall',true,'format','DoubleMat','mattype',2);
     
    336335                                                 md = in;
    337336                                         elseif (isa(in,'numeric') & in==0)
    338                                                          %just requesting model, without default parameters, do nothing.
     337                                                 %requesting template
     338                                                 %FIXME: for now recursive call
     339                                                 md2=model;
     340                                                 modelprops=properties('model');
     341                                                 for i=1:length(modelprops);
     342                                                         fieldname=modelprops{i};
     343                                                         if md.(fieldname).marshall & isobject(md2.(fieldname)) & isempty(md.(fieldname).preprocess),
     344                                                                 eval(['md.' fieldname '=' fieldname '(0);']);
     345                                                         end
     346                                                 end
    339347                                         else
    340348                                                 error('model constructor error message: unknown constructor for ''model'' class object');
     
    438446                         if isfield(structmd,'gridonboundary'), md.nodeonboundary=structmd.gridonboundary; end
    439447                         if isfield(structmd,'petscoptions'), md.solver=structmd.petscoptions; end
     448                         if isfield(structmd,'g'), md.constants.g=structmd.g; end
     449                         if isfield(structmd,'yts'), md.constants.yts=structmd.yts; end
    440450                         if isfield(structmd,'dakota_analysis'), md.dakota_analysis=structmd.dakota_analysis; end
    441451
     
    543553                         md.results=struct();
    544554                         md.debug=debug;
     555                         md.constants=constants;
    545556
    546557
     
    568579                         md.meltingpoint=273.15;
    569580
    570                          %the reference temperature for enthalpy model (cf Aschwanden)
    571                          md.referencetemperature=223.15;
    572 
    573581                         %rate of change of melting point with pressure (K/Pa)
    574582                         md.beta=9.8*10^-8;
     
    581589
    582590                         %Physical parameters
    583 
    584                          %acceleration due to gravity (m/s^2)
    585                          md.g=9.81;
    586 
    587                          %converstion from year to seconds
    588                          md.yts=365*24*3600;
    589591
    590592                         %Solver parameters
  • issm/trunk/src/m/model/basalstress.m

    r9164 r9597  
    1313
    1414%compute horizontal velocity
    15 ub=sqrt(md.vx.^2+md.vy.^2)/md.yts;
    16 ubx=md.vx/md.yts;
    17 uby=md.vy/md.yts;
     15ub=sqrt(md.vx.^2+md.vy.^2)/md.constants.yts;
     16ubx=md.vx/md.constants.yts;
     17uby=md.vy/md.constants.yts;
    1818
    1919%compute basal drag
    20 bx=(md.g*(md.rho_ice*md.thickness+md.rho_water*md.bed)).^r.*(md.drag_coefficient).^2.*ubx.^s;
    21 by=(md.g*(md.rho_ice*md.thickness+md.rho_water*md.bed)).^r.*(md.drag_coefficient).^2.*uby.^s;
    22 b=(md.g*(md.rho_ice*md.thickness+md.rho_water*md.bed)).^r.*(md.drag_coefficient).^2.*ub.^s;
     20bx=(md.constants.g*(md.rho_ice*md.thickness+md.rho_water*md.bed)).^r.*(md.drag_coefficient).^2.*ubx.^s;
     21by=(md.constants.g*(md.rho_ice*md.thickness+md.rho_water*md.bed)).^r.*(md.drag_coefficient).^2.*uby.^s;
     22b=(md.constants.g*(md.rho_ice*md.thickness+md.rho_water*md.bed)).^r.*(md.drag_coefficient).^2.*ub.^s;
  • issm/trunk/src/m/model/drivingstress.m

    r1 r9597  
    1414thickness_bar=(md.thickness(md.elements(:,1))+md.thickness(md.elements(:,2))+md.thickness(md.elements(:,3)))/3;
    1515
    16 px=md.rho_ice*md.g*thickness_bar.*sx;
    17 py=md.rho_ice*md.g*thickness_bar.*sy;
     16px=md.rho_ice*md.constants.g*thickness_bar.*sx;
     17py=md.rho_ice*md.constants.g*thickness_bar.*sy;
    1818pmag=sqrt(px.^2+py.^2);
  • issm/trunk/src/m/model/effectivepressure.m

    r2881 r9597  
    1010
    1111
    12 Neff=md.rho_ice*md.g*md.thickness+md.rho_ice*md.g*md.bed;
     12Neff=md.rho_ice*md.constants.g*md.thickness+md.rho_ice*md.constants.g*md.bed;
    1313
    1414
  • issm/trunk/src/m/model/extrude.m

    r9539 r9597  
    217217%Put lithostatic pressure is there is an existing pressure
    218218if ~isnan(md.pressure),
    219         md.pressure=md.g*md.rho_ice*(md.surface-md.z);
     219        md.pressure=md.constants.g*md.rho_ice*(md.surface-md.z);
    220220end
    221221
  • issm/trunk/src/m/model/ismodelselfconsistent.m

    r9571 r9597  
    8383%NO NAN {{{1
    8484fields={'numberofelements','numberofnodes','x','y','z','drag_coefficient','drag_p','drag_q',...
    85         'rho_ice','rho_water','rheology_B','elementoniceshelf','surface','thickness','bed','g','lowmem','nsteps','maxiter',...
     85        'rho_ice','rho_water','rheology_B','elementoniceshelf','surface','thickness','bed','constants.g','lowmem','nsteps','maxiter',...
    8686        'eps_res','max_nonlinear_iterations','rheology_n','nodeonbed','nodeonsurface','elementonbed','elementonsurface','elementconnectivity'};
    8787checknan(md,fields);
     
    8989%FIELDS >= 0 {{{1
    9090fields={'numberofelements','numberofnodes','elements','drag_coefficient','drag_p','drag_q',...
    91         'rho_ice','rho_water','rheology_B','elementoniceshelf','thickness','g','eps_res','max_nonlinear_iterations','eps_rel','eps_abs','nsteps','maxiter',...
     91        'rho_ice','rho_water','rheology_B','elementoniceshelf','thickness','constants.g','eps_res','max_nonlinear_iterations','eps_rel','eps_abs','nsteps','maxiter',...
    9292        'lowmem','rheology_n','nodeonbed','nodeonsurface','elementonbed','elementonsurface'};
    9393checkgreater(md,fields,0);
     
    9595%FIELDS > 0 {{{1
    9696fields={'numberofelements','numberofnodes','elements','drag_p',...
    97         'rho_ice','rho_water','rheology_B','thickness','g','max_nonlinear_iterations','eps_res','eps_rel','eps_abs','maxiter'};
     97        'rho_ice','rho_water','rheology_B','thickness','constants.g','max_nonlinear_iterations','eps_res','eps_rel','eps_abs','maxiter'};
    9898checkgreaterstrict(md,fields,0);
    9999%}}}
  • issm/trunk/src/m/model/marshall.m

    r9557 r9597  
    1818%automatically marshall model md, using template information available from an empty model class.
    1919template=model.template();
    20 fields=fieldnames(template);
    21 for i=1:length(fields),
    22         fieldname=fields{i};
    23         if template.(fieldname).marshall,
    24                 if ~isempty(template.(fieldname).preprocess),
    25                         eval(['fieldvalue=' template.(fieldname).preprocess '(md.(fieldname));']);
    26                 else
    27                         fieldvalue=md.(fieldname);
    28                 end
    29                 WriteData(fid,fieldname,fieldvalue,template.(fieldname));
    30         end
    31 end
     20MarshallObject(fid,template,md,'');
    3221
    3322%FIXME add some fields needed by parameters
     
    4029end
    4130
     31function MarshallObject(fid,template,object,prefix) % {{{
     32fields=fieldnames(template);
     33for i=1:length(fields),
     34        fieldname=fields{i};
     35        if ~isa(template.(fieldname),'modelfield'),
     36                %Recursive call
     37                MarshallObject(fid,template.(fieldname),object.(fieldname),[prefix fieldname])
     38        elseif template.(fieldname).marshall,
     39                if ~isempty(template.(fieldname).preprocess),
     40                        eval(['fieldvalue=' template.(fieldname).preprocess '(object.(fieldname));']);
     41                else
     42                        fieldvalue=object.(fieldname);
     43                end
     44
     45                %Capitalize for enums
     46                fieldnamecap=fieldname;
     47                fieldnamecap(1)=upper(fieldname(1));
     48                prefixcap=prefix;
     49                if ~isempty(prefix), prefixcap(1)=upper(prefix(1)); end
     50
     51                %Write Data
     52                WriteData(fid,[prefixcap fieldnamecap],fieldvalue,template.(fieldname));
     53        end
     54end
     55        % }}}
    4256function WriteData(fid,fieldname,fieldvalue,fieldprop) % {{{
    4357%WRITEDATA - write model field in binary file
     
    254268
    255269%FIXME: delete this one
    256 if strcmp(string,'numberofnodes'),
    257         string='numberofvertices';
     270if strcmp(string,'Numberofnodes'),
     271        string='Numberofvertices';
    258272end
    259273
  • issm/trunk/src/m/model/mechanicalproperties.m

    r9532 r9597  
    3737
    3838%compute shear
    39 vxlist=vx(index)/md.yts;
    40 vylist=vy(index)/md.yts;
     39vxlist=vx(index)/md.constants.yts;
     40vylist=vy(index)/md.constants.yts;
    4141ux=(vxlist.*alpha)*summation;
    4242uy=(vxlist.*beta)*summation;
  • issm/trunk/src/m/model/misfit.m

    r8211 r9597  
    88%      J=misfit(md)
    99%
    10 
    1110
    1211if md.dim==2,
     
    3231
    3332%compute delta v on elements
    34 deltav=1/2*(   (vx-vx_obs).^2+(vy-vy_obs).^2)/md.yts^2;
     33deltav=1/2*(   (vx-vx_obs).^2+(vy-vy_obs).^2)/md.constants.yts^2;
    3534deltav_elem=deltav(elements)*[1;1;1]/3;
    3635
  • issm/trunk/src/m/model/plot/plot_basaldrag.m

    r8472 r9597  
    2222%compute horizontal velocity
    2323if strcmpi(type,'basal_drag')
    24         ub=sqrt(md.vx.^2+md.vy.^2)/md.yts;
     24        ub=sqrt(md.vx.^2+md.vy.^2)/md.constants.yts;
    2525elseif strcmpi(type,'basal_dragx')
    26         ub=md.vx/md.yts;
     26        ub=md.vx/md.constants.yts;
    2727elseif strcmpi(type,'basal_dragy')
    28         ub=md.vy/md.yts;
     28        ub=md.vy/md.constants.yts;
    2929end
    3030
    3131%compute basal drag
    32 drag=(max(md.g*(md.rho_ice*md.thickness+md.rho_water*md.bed),0)).^r.*(md.drag_coefficient).^2.*ub.^s/1000;
     32drag=(max(md.constants.g*(md.rho_ice*md.thickness+md.rho_water*md.bed),0)).^r.*(md.drag_coefficient).^2.*ub.^s/1000;
    3333
    3434%Figure out if this is a Section plot
  • issm/trunk/src/m/model/plot/plot_gridded.m

    r9083 r9597  
    3737        data_max=max(data_grid(:));
    3838end
    39 if whiteup,
    40         white  =data_max + (data_max-data_min)/55;
    41         options=changefieldvalue(options,'caxis',[data_min white]);
    42 else
    43         white  =data_min - (data_max-data_min)/55;
    44         options=changefieldvalue(options,'caxis',[white data_max]);
    45 end
    46 data_grid(isnan(data_grid))=white;
     39%if whiteup,
     40%       white  =data_max + (data_max-data_min)/55;
     41%       options=changefieldvalue(options,'caxis',[data_min white]);
     42%else
     43%       white  =data_min - (data_max-data_min)/55;
     44%       options=changefieldvalue(options,'caxis',[white data_max]);
     45%end
     46%data_grid(isnan(data_grid))=white;
    4747
    4848%Select plot area
     
    5252h=imagesc(xlim,ylim,data_grid);set(gca,'YDir','normal');
    5353map=getfieldvalue(options,'colormap',jet);
    54 if whiteup,
    55         map(end,:)=[1 1 1];
    56 else
    57         map(1,:)=[1 1 1];
    58 end
    59 options=changefieldvalue(options,'colormap',map);
     54%if whiteup,
     55%       map(end,:)=[1 1 1];
     56%else
     57%       map(1,:)=[1 1 1];
     58%end
     59%options=changefieldvalue(options,'colormap',map);
    6060
    6161%last step: mesh gridded?
  • issm/trunk/src/m/model/plot/plot_transient_field.m

    r8472 r9597  
    3434        %process data and change title if needed
    3535        [data datatype]=processdata(md,transient(steps(i)).(field),options);
    36         options=changefieldvalue(options,'title',[field ' at time ' num2str(transient(steps(i)).time/md.yts) ' a']);
     36        options=changefieldvalue(options,'title',[field ' at time ' num2str(transient(steps(i)).time/md.constants.yts) ' a']);
    3737
    3838        %create plot of step i
  • issm/trunk/src/m/model/plot/plot_transient_movie.m

    r8472 r9597  
    2424                [data datatype]=processdata(md,results(i).(field),options);
    2525
    26                 titlestring=[field ' at time ' num2str(results(i).time/md.yts) ' year'];
     26                titlestring=[field ' at time ' num2str(results(i).time/md.constants.yts) ' year'];
    2727                plot_unit(x,y,z,elements,data,is2d,isplanet,datatype,options)
    2828                apply_options_movie(md,options,titlestring);
  • issm/trunk/src/m/model/sia.m

    r9367 r9597  
    2222Ael=Bel.^(-3);
    2323
    24 velx=-2*(md.rho_ice*md.g)^3*s.^2.*sx.*Ael/4.*hel.^4;
    25 vely=-2*(md.rho_ice*md.g)^3*s.^2.*sy.*Ael/4.*hel.^4;
     24velx=-2*(md.rho_ice*md.constants.g)^3*s.^2.*sx.*Ael/4.*hel.^4;
     25vely=-2*(md.rho_ice*md.constants.g)^3*s.^2.*sy.*Ael/4.*hel.^4;
    2626vel=sqrt(velx.^2+vely.^2);
  • issm/trunk/src/m/solutions/convergence.m

    r6321 r9597  
    55
    66%Get convergence options
    7 yts=parameters.Yts;
     7yts=parameters.ConstantsYts;
    88eps_res=parameters.EpsRes;
    99eps_rel=parameters.EpsRel;
  • issm/trunk/src/m/solutions/transient_core.m

    r8926 r9597  
    99        ndt=femmodel.parameters.Ndt;
    1010        dt=femmodel.parameters.Dt;
    11         yts=femmodel.parameters.Yts;
     11        yts=femmodel.parameters.ConstantsYts;
    1212        control_analysis=femmodel.parameters.ControlAnalysis;
    1313        solution_type=femmodel.parameters.SolutionType;
  • issm/trunk/src/m/utils/Mesh/BuildAdaptedMesh.m

    r1 r9597  
    3838        %interpolate velocities onto mesh
    3939        disp('   interpolating velocities');
    40         md.vx_obs=DataInterp(x_m,y_m,vx*md.yts,md.x,md.y);
    41         md.vy_obs=DataInterp(x_m,y_m,vy*md.yts,md.x,md.y);
     40        md.vx_obs=DataInterp(x_m,y_m,vx*md.constants.yts,md.x,md.y);
     41        md.vy_obs=DataInterp(x_m,y_m,vy*md.constants.yts,md.x,md.y);
    4242        md.vel_obs=sqrt(md.vx_obs.^2+md.vy_obs.^2);
    4343
     
    4949disp(['Final mesh, number of elements: ' num2str(md.numberofelements)]);
    5050
    51 md.vx_obs=DataInterp(x_m,y_m,vx*md.yts,md.x,md.y);
    52 md.vy_obs=DataInterp(x_m,y_m,vy*md.yts,md.x,md.y);
     51md.vx_obs=DataInterp(x_m,y_m,vx*md.constants.yts,md.x,md.y);
     52md.vy_obs=DataInterp(x_m,y_m,vy*md.constants.yts,md.x,md.y);
    5353md.vel_obs=sqrt(md.vx_obs.^2+md.vy_obs.^2);
    5454return;
     
    5959md=parameterize(md,parameterfile);
    6060
    61 %md.vx_obs=DataInterp(x_m,y_m,vx*md.yts,md.x,md.y);
    62 %md.vy_obs=DataInterp(x_m,y_m,vy*md.yts,md.x,md.y);
     61%md.vx_obs=DataInterp(x_m,y_m,vx*md.constants.yts,md.x,md.y);
     62%md.vy_obs=DataInterp(x_m,y_m,vy*md.constants.yts,md.x,md.y);
    6363%md.vel_obs=sqrt(md.vx_obs.^2+md.vy_obs.^2);
    6464%return;
  • issm/trunk/test/Miscellaneous/connectivity/Square.par

    r8307 r9597  
    22
    33%dynamics
    4 md.dt=1*md.yts; %1 year
     4md.dt=1*md.constants.yts; %1 year
    55md.ndt=md.dt*10;
    66md.artificial_diffusivity=1;
  • issm/trunk/test/NightlyRun/test1301.m

    r9433 r9597  
    2222%melting heat = geothermal flux
    2323%Mb*L*rho=G   => Mb=G/L*rho
    24 melting=md.geothermalflux/(md.rho_ice*md.latentheat)*md.yts;
     24melting=md.geothermalflux/(md.rho_ice*md.latentheat)*md.constants.yts;
    2525
    2626%modeled  results
  • issm/trunk/test/NightlyRun/test1302.m

    r9433 r9597  
    2020%analytical results
    2121%d2T/dz2-w*rho_ice*c/k*dT/dz=0   T(surface)=0  T(bed)=10   => T=A exp(alpha z)+B
    22 alpha=0.1/md.yts*md.rho_ice*md.heatcapacity/md.thermalconductivity;   %alpha=w rho_ice c /k  and w=0.1m/an
     22alpha=0.1/md.constants.yts*md.rho_ice*md.heatcapacity/md.thermalconductivity;   %alpha=w rho_ice c /k  and w=0.1m/an
    2323A=10/(exp(alpha*(-1000))-1);    %A=T(bed)/(exp(alpha*bed)-1)  with bed=-1000 T(bed)=10
    2424B=-A;
  • issm/trunk/test/NightlyRun/test1501.m

    r9087 r9597  
    131131                [data datatype]=processdata(md,results(i).(field),options);
    132132
    133                 titlestring=[field ' at time ' num2str(results(i).time/md.yts) ' year'];
     133                titlestring=[field ' at time ' num2str(results(i).time/md.constants.yts) ' year'];
    134134                plot_unit(x,y,z,elements,data,is2d,isplanet,datatype,options)
    135135                options=changefieldvalue(options,'title',titlestring);
     
    146146                [data datatype]=processdata(md,results(i).(field),options);
    147147
    148                 titlestring=[field ' at time ' num2str(results(i).time/md.yts) ' year'];
     148                titlestring=[field ' at time ' num2str(results(i).time/md.constants.yts) ' year'];
    149149                plot_unit(x,y,z,elements,data,is2d,isplanet,datatype,options)
    150150                options=changefieldvalue(options,'title',titlestring);
  • issm/trunk/test/NightlyRun/test1502.m

    r9087 r9597  
    137137                [data datatype]=processdata(md,results(i).(field),options);
    138138
    139                 titlestring=[field ' at time ' num2str(results(i).time/md.yts) ' year'];
     139                titlestring=[field ' at time ' num2str(results(i).time/md.constants.yts) ' year'];
    140140                plot_unit(x,y,z,elements,data,is2d,isplanet,datatype,options)
    141141                options=changefieldvalue(options,'title',titlestring);
     
    152152                [data datatype]=processdata(md,results(i).(field),options);
    153153
    154                 titlestring=[field ' at time ' num2str(results(i).time/md.yts) ' year'];
     154                titlestring=[field ' at time ' num2str(results(i).time/md.constants.yts) ' year'];
    155155                plot_unit(x,y,z,elements,data,is2d,isplanet,datatype,options)
    156156                options=changefieldvalue(options,'title',titlestring);
  • issm/trunk/test/NightlyRun/test233.m

    r9463 r9597  
    6161
    6262%create analytical solution: strain rate is constant = ((rho_ice*g*h)/4B)^3 (Paterson, 4th Edition, page 292.
    63 %ey_c=(md.rho_ice*md.g*(1-di)*md.thickness./(4*md.rheology_B)).^3;
    64 %vy_c=ey_c.*md.y*md.yts;
     63%ey_c=(md.rho_ice*md.constants.g*(1-di)*md.thickness./(4*md.rheology_B)).^3;
     64%vy_c=ey_c.*md.y*md.constants.yts;
    6565
    6666%Fields and tolerances to track changes
  • issm/trunk/test/NightlyRun/test234.m

    r9463 r9597  
    6161
    6262%create analytical solution: strain rate is constant = ((rho_ice*g*h)/4B)^3 (Paterson, 4th Edition, page 292.
    63 %ey_c=(md.rho_ice*md.g*(1-di)*md.thickness./(4*md.rheology_B)).^3;
    64 %vy_c=ey_c.*md.y*md.yts;
     63%ey_c=(md.rho_ice*md.constants.g*(1-di)*md.thickness./(4*md.rheology_B)).^3;
     64%vy_c=ey_c.*md.y*md.constants.yts;
    6565
    6666%Fields and tolerances to track changes
  • issm/trunk/test/NightlyRun/test621.m

    r9541 r9597  
    1414md.cm_responses=201*ones(md.nsteps,1);
    1515md.weights=ones(md.numberofnodes,1);
    16 md.optscal=10/md.yts*ones(md.nsteps,1);
     16md.optscal=10/md.constants.yts*ones(md.nsteps,1);
    1717md.maxiter=4*ones(md.nsteps,1);
    1818md.cm_jump=0.99*ones(md.nsteps,1);
  • issm/trunk/test/NightlyRun/test622.m

    r9541 r9597  
    1414md.cm_responses=201*ones(md.nsteps,1);
    1515md.weights=ones(md.numberofnodes,1);
    16 md.optscal=10/md.yts*ones(md.nsteps,1);
     16md.optscal=10/md.constants.yts*ones(md.nsteps,1);
    1717md.maxiter=4*ones(md.nsteps,1);
    1818md.cm_jump=0.99*ones(md.nsteps,1);
  • issm/trunk/test/NightlyRun/test623.m

    r9541 r9597  
    1515md.cm_responses=201*ones(md.nsteps,1);
    1616md.weights=ones(md.numberofnodes,1);
    17 md.optscal=10/md.yts*ones(md.nsteps,1);
     17md.optscal=10/md.constants.yts*ones(md.nsteps,1);
    1818md.maxiter=4*ones(md.nsteps,1);
    1919md.cm_jump=0.99*ones(md.nsteps,1);
  • issm/trunk/test/NightlyRun/test624.m

    r9541 r9597  
    1515md.cm_responses=201*ones(md.nsteps,1);
    1616md.weights=ones(md.numberofnodes,1);
    17 md.optscal=10/md.yts*ones(md.nsteps,1);
     17md.optscal=10/md.constants.yts*ones(md.nsteps,1);
    1818md.maxiter=4*ones(md.nsteps,1);
    1919md.cm_jump=0.99*ones(md.nsteps,1);
  • issm/trunk/test/NightlyRun/test625.m

    r9541 r9597  
    1717md.control_type={'Vx' 'Vy'};
    1818md.prognostic_DG=0;
    19 md.optscal=[10/md.yts*ones(md.nsteps,1) 10/md.yts*ones(md.nsteps,1)];
     19md.optscal=[10/md.constants.yts*ones(md.nsteps,1) 10/md.constants.yts*ones(md.nsteps,1)];
    2020md.cm_min=[-2000*ones(md.numberofnodes,1) -2000*ones(md.numberofnodes,1)];
    2121md.cm_max=[+2000*ones(md.numberofnodes,1) +2000*ones(md.numberofnodes,1)];
  • issm/trunk/test/NightlyRun/test626.m

    r9541 r9597  
    1717md.control_type={'Vx' 'Vy'};
    1818md.prognostic_DG=0;
    19 md.optscal=[10/md.yts*ones(md.nsteps,1) 10/md.yts*ones(md.nsteps,1)];
     19md.optscal=[10/md.constants.yts*ones(md.nsteps,1) 10/md.constants.yts*ones(md.nsteps,1)];
    2020md.cm_min=[-2000*ones(md.numberofnodes,1) -2000*ones(md.numberofnodes,1)];
    2121md.cm_max=[+2000*ones(md.numberofnodes,1) +2000*ones(md.numberofnodes,1)];
  • issm/trunk/test/Par/ISMIPC.par

    r9481 r9597  
    77
    88disp('      creating drag');
    9 %md.drag_coefficient=sqrt(md.yts.*(1000+1000*sin(md.x*2*pi/max(md.x/2)).*sin(md.y*2*pi/max(md.x/2)))./(md.g*(md.rho_ice*md.thickness+md.rho_water*md.bed)));
    10 md.drag_coefficient=sqrt(md.yts.*(1000+1000*sin(md.x*2*pi/max(md.x)).*sin(md.y*2*pi/max(md.x))));
     9%md.drag_coefficient=sqrt(md.constants.yts.*(1000+1000*sin(md.x*2*pi/max(md.x/2)).*sin(md.y*2*pi/max(md.x/2)))./(md.constants.g*(md.rho_ice*md.thickness+md.rho_water*md.bed)));
     10md.drag_coefficient=sqrt(md.constants.yts.*(1000+1000*sin(md.x*2*pi/max(md.x)).*sin(md.y*2*pi/max(md.x))));
    1111%Take care of iceshelves: no basal drag
    1212pos=find(md.elementoniceshelf);
  • issm/trunk/test/Par/ISMIPD.par

    r9481 r9597  
    77
    88disp('      creating drag');
    9 md.drag_coefficient=sqrt(md.yts.*(1000+1000*sin(md.x*2*pi/max(md.x))));
     9md.drag_coefficient=sqrt(md.constants.yts.*(1000+1000*sin(md.x*2*pi/max(md.x))));
    1010%Take care of iceshelves: no basal drag
    1111pos=find(md.elementoniceshelf);
  • issm/trunk/test/Par/ISMIPF.par

    r9514 r9597  
    99
    1010disp('      creating drag');
    11 md.drag_coefficient=sqrt(md.yts/(2.140373*10^-7*1000))*ones(md.numberofnodes,1);
     11md.drag_coefficient=sqrt(md.constants.yts/(2.140373*10^-7*1000))*ones(md.numberofnodes,1);
    1212md.drag_p=ones(md.numberofelements,1);
    1313md.drag_q=zeros(md.numberofelements,1);
  • issm/trunk/test/Par/RoundSheetEISMINT.par

    r9455 r9597  
    5656md.thermalconductivity=2.1;
    5757md.latentheat=3.35*10^5;
    58 md.beta=8.66*10^-4/(md.rho_ice*md.g); %conversion from K/m to K/Pa
    59 md.yts=31556926;
     58md.beta=8.66*10^-4/(md.rho_ice*md.constants.g); %conversion from K/m to K/Pa
     59md.constants.yts=31556926;
  • issm/trunk/test/Par/SquareThermal.par

    r9481 r9597  
    3030
    3131disp('      creating surface_mass_balance');
    32 md.surface_mass_balance=ones(md.numberofnodes,1)/md.yts; %1m/a
    33 md.basal_melting_rate=0*ones(md.numberofnodes,1)/md.yts; %1m/a
     32md.surface_mass_balance=ones(md.numberofnodes,1)/md.constants.yts; %1m/a
     33md.basal_melting_rate=0*ones(md.numberofnodes,1)/md.constants.yts; %1m/a
    3434
    3535%Deal with boundary conditions:
Note: See TracChangeset for help on using the changeset viewer.