Changeset 12297


Ignore:
Timestamp:
05/29/12 10:12:16 (13 years ago)
Author:
Mathieu Morlighem
Message:

Added surfaceforcings.monthlytemperatures field for PDD module

Location:
issm/trunk/src
Files:
1 deleted
5 edited

Legend:

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

    r12293 r12297  
    159159        SurfaceforcingsPrecipitationEnum,
    160160        SurfaceforcingsMassBalanceEnum,
     161        SurfaceforcingsIspddEnum,
     162        SurfaceforcingsMonthlytemperatures,
    161163        ThermalMaxiterEnum,
    162164        ThermalPenaltyFactorEnum,
     
    484486        PatersonEnum,
    485487        ArrheniusEnum,
    486         SurfaceforcingsIspddEnum,
    487488        /*}}}*/
    488489        MaximumNumberOfEnums
  • issm/trunk/src/c/modules/EnumToStringx/EnumToStringx.cpp

    r12293 r12297  
    163163                case SurfaceforcingsPrecipitationEnum : return "SurfaceforcingsPrecipitation";
    164164                case SurfaceforcingsMassBalanceEnum : return "SurfaceforcingsMassBalance";
     165                case SurfaceforcingsIspddEnum : return "SurfaceforcingsIspdd";
    165166                case ThermalMaxiterEnum : return "ThermalMaxiter";
    166167                case ThermalPenaltyFactorEnum : return "ThermalPenaltyFactor";
     
    452453                case PatersonEnum : return "Paterson";
    453454                case ArrheniusEnum : return "Arrhenius";
    454                 case SurfaceforcingsIspddEnum : return "SurfaceforcingsIspdd";
    455455                default : return "unknown";
    456456
  • issm/trunk/src/c/modules/ModelProcessorx/Prognostic/UpdateElementsPrognostic.cpp

    r12296 r12297  
    7171          iomodel->FetchDataToInput(elements,ThermalSpctemperatureEnum);
    7272          iomodel->FetchDataToInput(elements,SurfaceforcingsPrecipitationEnum);
     73          iomodel->FetchDataToInput(elements,SurfaceforcingsMonthlytemperatures);
    7374        }
    7475        else{
  • issm/trunk/src/c/modules/StringToEnumx/StringToEnumx.cpp

    r12293 r12297  
    167167              else if (strcmp(name,"SurfaceforcingsPrecipitation")==0) return SurfaceforcingsPrecipitationEnum;
    168168              else if (strcmp(name,"SurfaceforcingsMassBalance")==0) return SurfaceforcingsMassBalanceEnum;
     169              else if (strcmp(name,"SurfaceforcingsIspdd")==0) return SurfaceforcingsIspddEnum;
    169170              else if (strcmp(name,"ThermalMaxiter")==0) return ThermalMaxiterEnum;
    170171              else if (strcmp(name,"ThermalPenaltyFactor")==0) return ThermalPenaltyFactorEnum;
     
    259260              else if (strcmp(name,"IntVecParam")==0) return IntVecParamEnum;
    260261              else if (strcmp(name,"MacAyeal2dIceFront")==0) return MacAyeal2dIceFrontEnum;
    261               else if (strcmp(name,"MacAyeal3dIceFront")==0) return MacAyeal3dIceFrontEnum;
    262262         else stage=3;
    263263   }
    264264   if(stage==3){
    265               if (strcmp(name,"Matice")==0) return MaticeEnum;
     265              if (strcmp(name,"MacAyeal3dIceFront")==0) return MacAyeal3dIceFrontEnum;
     266              else if (strcmp(name,"Matice")==0) return MaticeEnum;
    266267              else if (strcmp(name,"Matpar")==0) return MatparEnum;
    267268              else if (strcmp(name,"Node")==0) return NodeEnum;
     
    382383              else if (strcmp(name,"P0")==0) return P0Enum;
    383384              else if (strcmp(name,"P1")==0) return P1Enum;
    384               else if (strcmp(name,"P1DG")==0) return P1DGEnum;
    385385         else stage=4;
    386386   }
    387387   if(stage==4){
    388               if (strcmp(name,"SaveResults")==0) return SaveResultsEnum;
     388              if (strcmp(name,"P1DG")==0) return P1DGEnum;
     389              else if (strcmp(name,"SaveResults")==0) return SaveResultsEnum;
    389390              else if (strcmp(name,"BoolElementResult")==0) return BoolElementResultEnum;
    390391              else if (strcmp(name,"BoolExternalResult")==0) return BoolExternalResultEnum;
     
    462463              else if (strcmp(name,"Paterson")==0) return PatersonEnum;
    463464              else if (strcmp(name,"Arrhenius")==0) return ArrheniusEnum;
    464               else if (strcmp(name,"SurfaceforcingsIspdd")==0) return SurfaceforcingsIspddEnum;
    465465         else stage=5;
    466466   }
  • issm/trunk/src/m/classes/surfaceforcings.m

    r12296 r12297  
    88                precipitation = NaN;
    99                mass_balance  = NaN;
    10                 ispdd = false;
     10                ispdd = 0;
     11                monthlytemperatures = NaN;
    1112        end
    1213        methods
     
    2223                 
    2324                  %pdd method not used in default mode
    24                   obj.ispdd=false;
     25                  obj.ispdd=0;
    2526
    2627                end % }}}
     
    2829
    2930                        if ismember(PrognosticAnalysisEnum,analyses),
    30                                 checkfield(md,'surfaceforcings.mass_balance','forcing',1,'NaN',1);
     31                                checkfield(md,'surfaceforcings.ispdd','numel',1,'values',[0 1]);
     32                                if(obj.ispdd)
     33                                        checkfield(md,'surfaceforcings.monthlytemperatures','forcing',1,'NaN',1);
     34                                else
     35                                        checkfield(md,'surfaceforcings.mass_balance','forcing',1,'NaN',1);
     36                                end
    3137                        end
    3238                        if ismember(BalancethicknessAnalysisEnum,analyses),
    3339                                checkfield(md,'surfaceforcings.mass_balance','size',[md.mesh.numberofvertices 1],'NaN',1);
    34                         end
    35                         if (ismember(PrognosticAnalysisEnum,analyses) & md.surfaceforcings.ispdd),
    36                           checkfield(md,'surfaceforcings.ispdd','numel',1,'values',[0 1]);
    3740                        end
    3841                end % }}}
     
    4346                        fielddisplay(obj,'mass_balance','surface mass balance [m/yr ice eq]');
    4447                        fielddisplay(obj,'ispdd','is pdd activated (0 or 1, default is 0)');
     48                        fielddisplay(obj,'monthlytemperatures','monthly surface temperatures required if pdd is activated');
    4549
    4650                end % }}}
     
    4953                        WriteData(fid,'object',obj,'fieldname','mass_balance','format','DoubleMat','mattype',1);
    5054                        WriteData(fid,'object',obj,'fieldname','ispdd','format','Boolean');
     55                        if obj.ispdd,
     56                                WriteData(fid,'object',obj,'fieldname','monthlytemperatures','format','DoubleMat','mattype',1);
     57                        end
    5158
    5259                end % }}}
Note: See TracChangeset for help on using the changeset viewer.