Changeset 22475


Ignore:
Timestamp:
02/26/18 14:22:53 (7 years ago)
Author:
schlegel
Message:

CHG: add thermo scaling factor as input and add an option for ingestion of albedo for only areas of ice

Location:
issm/trunk-jpl/src
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/c/analyses/SmbAnalysis.cpp

    r22450 r22475  
    178178                        parameters->AddObject(iomodel->CopyConstantObject("md.smb.isturbulentflux",SmbIsturbulentfluxEnum));
    179179                        parameters->AddObject(iomodel->CopyConstantObject("md.smb.InitDensityScaling",SmbInitDensityScalingEnum));
     180                        parameters->AddObject(iomodel->CopyConstantObject("md.smb.ThermoDeltaTScaling",SmbThermoDeltaTScalingEnum));
    180181                        break;
    181182                case SMBpddEnum:
  • issm/trunk-jpl/src/c/classes/Elements/Element.cpp

    r22471 r22475  
    26052605        bool isgraingrowth,isalbedo,isshortwave,isthermal,isaccumulation,ismelt,isdensification,isturbulentflux;
    26062606        IssmDouble init_scaling=0.0;
     2607        IssmDouble thermo_scaling=1.0;
    26072608
    26082609        /*}}}*/
     
    26662667        parameters->FindParam(&isturbulentflux,SmbIsturbulentfluxEnum);
    26672668        parameters->FindParam(&init_scaling,SmbInitDensityScalingEnum);
     2669        parameters->FindParam(&thermo_scaling,SmbThermoDeltaTScalingEnum);
    26682670
    26692671        /*}}}*/
     
    28492851
    28502852                /*Thermal profile computation:*/
    2851                 if(isthermal)thermo(&EC, &T, dz, d, swf, dlw, Ta, V, eAir, pAir, teValue, W[0], smb_dt, m, Vz, Tz,rho_ice,this->Sid());
     2853                if(isthermal)thermo(&EC, &T, dz, d, swf, dlw, Ta, V, eAir, pAir, teValue, W[0], smb_dt, m, Vz, Tz, thermo_scaling,rho_ice,this->Sid());
    28522854
    28532855                /*Change in thickness of top cell due to evaporation/condensation  assuming same density as top cell.
  • issm/trunk-jpl/src/c/modules/SurfaceMassBalancex/Gembx.cpp

    r22450 r22475  
    345345        //   3 : density and cloud amount (Greuell & Konzelmann, 1994)
    346346        //   4 : exponential time decay & wetness (Bougamont & Bamber, 2005)
     347        //   5 : ingest MODIS mode, direct input from aValue parameter applied to surface ice only
    347348
    348349        //// Inputs
    349350        // aIdx      = albedo method to use
    350351
    351         // Method 0
     352        // Method 0 & 5
    352353        //  aValue   = direct input value for albedo
    353354
     
    495496
    496497        }
    497         else _error_("albedo method switch should range from 0 to 4!");
     498        else if(aIdx==5){
     499                for(int i=0;i<m;i++)if(dIce - d[i]<Dtol) a[i] = aValue;
     500        }
     501        else _error_("albedo method switch should range from 0 to 5!");
    498502       
    499503        // Check for erroneous values
     
    506510
    507511}  /*}}}*/
    508 void thermo(IssmDouble* pEC, IssmDouble** pT, IssmDouble* dz, IssmDouble* d, IssmDouble* swf, IssmDouble dlwrf, IssmDouble Ta, IssmDouble V, IssmDouble eAir, IssmDouble pAir, IssmDouble teValue, IssmDouble Ws, IssmDouble dt0, int m, IssmDouble Vz, IssmDouble Tz, IssmDouble dIce, int sid) { /*{{{*/
     512void thermo(IssmDouble* pEC, IssmDouble** pT, IssmDouble* dz, IssmDouble* d, IssmDouble* swf, IssmDouble dlwrf, IssmDouble Ta, IssmDouble V, IssmDouble eAir, IssmDouble pAir, IssmDouble teValue, IssmDouble Ws, IssmDouble dt0, int m, IssmDouble Vz, IssmDouble Tz, IssmDouble thermo_scaling, IssmDouble dIce, int sid) { /*{{{*/
    509513
    510514        /* ENGLACIAL THERMODYNAMICS*/
     
    528532        //  Vz: air temperature height above surface [m]
    529533        //  Tz: wind height above surface [m]
     534        //  thermo_scaling: scaling factor to multiply the thermal diffusion timestep (delta t)
    530535
    531536        // OUTPUTS
     
    664669
    665670        // determine minimum acceptable delta t (diffusion number > 1/2) [s]
    666         // NS: 2.16.18 divided dt by 11 for stability (changed 3 to 33)
     671        // NS: 2.16.18 divided dt by scaling factor, default set to 1/11 for stability
    667672        dt=1e12;
    668         for(int i=0;i<m;i++)dt = fmin(dt,CI * pow(dz[i],2) * d[i]  / (33 * K[i]));
     673        for(int i=0;i<m;i++)dt = fmin(dt,CI * pow(dz[i],2) * d[i]  / (3 * K[i]) * thermo_scaling);
    669674
    670675        // smallest possible even integer of 60 min where diffusion number > 1/2
     
    11711176
    11721177                                // adjust a, re, gdn & gsp
    1173                                 if(aIdx>0)a[0] = (aSnow * P + a[0] * mInit[0])/mass;
     1178                                if(aIdx>0 | aIdx!=5 | (aIdx==5 & !(dIce - d[0]<Dtol)))a[0] = (aSnow * P + a[0] * mInit[0])/mass;
    11741179                                re[0] = (reNew * P + re[0] * mInit[0])/mass;
    11751180                                gdn[0] = (gdnNew * P + gdn[0] * mInit[0])/mass;
  • issm/trunk-jpl/src/c/modules/SurfaceMassBalancex/SurfaceMassBalancex.h

    r22450 r22475  
    2727void albedo(IssmDouble** a,int aIdx, IssmDouble* re, IssmDouble* d, IssmDouble cldFrac, IssmDouble aIce, IssmDouble aSnow, IssmDouble aValue, IssmDouble* T, IssmDouble* W, IssmDouble P, IssmDouble EC, IssmDouble t0wet, IssmDouble t0dry, IssmDouble K, IssmDouble dt, IssmDouble dIce, int m, int sid);
    2828void shortwave(IssmDouble** pswf, int swIdx, int aIdx, IssmDouble dsw, IssmDouble as, IssmDouble* d, IssmDouble* dz, IssmDouble* re, IssmDouble dIce, int m, int sid);
    29 void thermo(IssmDouble* pEC, IssmDouble** T, IssmDouble* dz, IssmDouble* d, IssmDouble* swf, IssmDouble dlw, IssmDouble Ta, IssmDouble V, IssmDouble eAir, IssmDouble pAir, IssmDouble teValue, IssmDouble Ws, IssmDouble dt0, int m, IssmDouble Vz, IssmDouble Tz, IssmDouble dIce, int sid);
     29void thermo(IssmDouble* pEC, IssmDouble** T, IssmDouble* dz, IssmDouble* d, IssmDouble* swf, IssmDouble dlw, IssmDouble Ta, IssmDouble V, IssmDouble eAir, IssmDouble pAir, IssmDouble teValue, IssmDouble Ws, IssmDouble dt0, int m, IssmDouble Vz, IssmDouble Tz, IssmDouble thermo_scaling, IssmDouble dIce, int sid);
    3030void accumulation(IssmDouble** pT, IssmDouble** pdz, IssmDouble** pd, IssmDouble** pW, IssmDouble** pa, IssmDouble** pre, IssmDouble** pgdn, IssmDouble** pgsp, int* pm, int aIdx,IssmDouble Ta, IssmDouble P, IssmDouble dzMin, IssmDouble aSnow, IssmDouble dIce, int sid);
    3131void melt(IssmDouble* pM, IssmDouble* pR, IssmDouble* pmAdd, IssmDouble* pdz_add, IssmDouble** pT, IssmDouble** pd, IssmDouble** pdz, IssmDouble** pW, IssmDouble** pa, IssmDouble** pre, IssmDouble** pgdn, IssmDouble** pgsp, int* pn, IssmDouble dzMin, IssmDouble zMax, IssmDouble zMin, IssmDouble zTop, IssmDouble dIce, int sid);
  • issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h

    r22474 r22475  
    435435        SMBgembEnum,
    436436        SmbInitDensityScalingEnum,
     437        SmbThermoDeltaTScalingEnum,
    437438        SmbTaEnum,
    438439        SmbVEnum,
  • issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp

    r22474 r22475  
    437437                case SMBgembEnum : return "SMBgemb";
    438438                case SmbInitDensityScalingEnum : return "SmbInitDensityScaling";
     439                case SmbThermoDeltaTScalingEnum : return "SmbThermoDeltaTScaling";
    439440                case SmbTaEnum : return "SmbTa";
    440441                case SmbVEnum : return "SmbV";
  • issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp

    r22474 r22475  
    446446              else if (strcmp(name,"SMBgemb")==0) return SMBgembEnum;
    447447              else if (strcmp(name,"SmbInitDensityScaling")==0) return SmbInitDensityScalingEnum;
     448              else if (strcmp(name,"SmbThermoDeltaTScaling")==0) return SmbThermoDeltaTScalingEnum;
    448449              else if (strcmp(name,"SmbTa")==0) return SmbTaEnum;
    449450              else if (strcmp(name,"SmbV")==0) return SmbVEnum;
     
    505506              else if (strcmp(name,"SmbPrecipitationsLgm")==0) return SmbPrecipitationsLgmEnum;
    506507              else if (strcmp(name,"SmbTemperaturesPresentday")==0) return SmbTemperaturesPresentdayEnum;
    507               else if (strcmp(name,"SmbTemperaturesLgm")==0) return SmbTemperaturesLgmEnum;
    508508         else stage=5;
    509509   }
    510510   if(stage==5){
    511               if (strcmp(name,"SmbPrecipitation")==0) return SmbPrecipitationEnum;
     511              if (strcmp(name,"SmbTemperaturesLgm")==0) return SmbTemperaturesLgmEnum;
     512              else if (strcmp(name,"SmbPrecipitation")==0) return SmbPrecipitationEnum;
    512513              else if (strcmp(name,"SmbPddfacSnow")==0) return SmbPddfacSnowEnum;
    513514              else if (strcmp(name,"SmbPddfacIce")==0) return SmbPddfacIceEnum;
     
    628629              else if (strcmp(name,"DeviatoricStresszz")==0) return DeviatoricStresszzEnum;
    629630              else if (strcmp(name,"DeviatoricStresseffective")==0) return DeviatoricStresseffectiveEnum;
    630               else if (strcmp(name,"LambdaS")==0) return LambdaSEnum;
    631631         else stage=6;
    632632   }
    633633   if(stage==6){
    634               if (strcmp(name,"StrainRate")==0) return StrainRateEnum;
     634              if (strcmp(name,"LambdaS")==0) return LambdaSEnum;
     635              else if (strcmp(name,"StrainRate")==0) return StrainRateEnum;
    635636              else if (strcmp(name,"StrainRatexx")==0) return StrainRatexxEnum;
    636637              else if (strcmp(name,"StrainRatexy")==0) return StrainRatexyEnum;
     
    751752              else if (strcmp(name,"Outputdefinition92")==0) return Outputdefinition92Enum;
    752753              else if (strcmp(name,"Outputdefinition93")==0) return Outputdefinition93Enum;
    753               else if (strcmp(name,"Outputdefinition94")==0) return Outputdefinition94Enum;
    754754         else stage=7;
    755755   }
    756756   if(stage==7){
    757               if (strcmp(name,"Outputdefinition95")==0) return Outputdefinition95Enum;
     757              if (strcmp(name,"Outputdefinition94")==0) return Outputdefinition94Enum;
     758              else if (strcmp(name,"Outputdefinition95")==0) return Outputdefinition95Enum;
    758759              else if (strcmp(name,"Outputdefinition96")==0) return Outputdefinition96Enum;
    759760              else if (strcmp(name,"Outputdefinition97")==0) return Outputdefinition97Enum;
     
    874875              else if (strcmp(name,"LoveShNmin")==0) return LoveShNminEnum;
    875876              else if (strcmp(name,"LoveG0")==0) return LoveG0Enum;
    876               else if (strcmp(name,"LoveR0")==0) return LoveR0Enum;
    877877         else stage=8;
    878878   }
    879879   if(stage==8){
    880               if (strcmp(name,"LoveMu0")==0) return LoveMu0Enum;
     880              if (strcmp(name,"LoveR0")==0) return LoveR0Enum;
     881              else if (strcmp(name,"LoveMu0")==0) return LoveMu0Enum;
    881882              else if (strcmp(name,"LoveAllowLayerDeletion")==0) return LoveAllowLayerDeletionEnum;
    882883              else if (strcmp(name,"LoveForcingType")==0) return LoveForcingTypeEnum;
     
    997998              else if (strcmp(name,"PentaInput")==0) return PentaInputEnum;
    998999              else if (strcmp(name,"Vertex")==0) return VertexEnum;
    999               else if (strcmp(name,"VertexPId")==0) return VertexPIdEnum;
    10001000         else stage=9;
    10011001   }
    10021002   if(stage==9){
    1003               if (strcmp(name,"VertexSId")==0) return VertexSIdEnum;
     1003              if (strcmp(name,"VertexPId")==0) return VertexPIdEnum;
     1004              else if (strcmp(name,"VertexSId")==0) return VertexSIdEnum;
    10041005              else if (strcmp(name,"Option")==0) return OptionEnum;
    10051006              else if (strcmp(name,"GenericOption")==0) return GenericOptionEnum;
     
    11201121              else if (strcmp(name,"MINI")==0) return MINIEnum;
    11211122              else if (strcmp(name,"MINIcondensed")==0) return MINIcondensedEnum;
    1122               else if (strcmp(name,"TaylorHood")==0) return TaylorHoodEnum;
    11231123         else stage=10;
    11241124   }
    11251125   if(stage==10){
    1126               if (strcmp(name,"LATaylorHood")==0) return LATaylorHoodEnum;
     1126              if (strcmp(name,"TaylorHood")==0) return TaylorHoodEnum;
     1127              else if (strcmp(name,"LATaylorHood")==0) return LATaylorHoodEnum;
    11271128              else if (strcmp(name,"XTaylorHood")==0) return XTaylorHoodEnum;
    11281129              else if (strcmp(name,"OneLayerP4z")==0) return OneLayerP4zEnum;
  • issm/trunk-jpl/src/m/classes/SMBgemb.m

    r22450 r22475  
    6060                                          % 3: density and cloud amount [Greuell & Konzelmann, 1994]
    6161                                          % 4: exponential time decay & wetness [Bougamont & Bamber, 2005]
     62                                          % 5: ingest MODIS mode, direct input from aValue parameter applied to surface ice only
     63
    6264                swIdx  = NaN; % apply all SW to top grid cell (0) or allow SW to penetrate surface (1) (default 1)
    6365
     
    9092                %densities:
    9193                InitDensityScaling= NaN; %initial scaling factor multiplying the density of ice, which describes the density of the snowpack.
     94
     95                %thermal:
     96                ThermoDeltaTScaling= NaN; %scaling factor to multiply the thermal diffusion timestep (delta t)
    9297               
    9398                requested_outputs      = {};
     
    120125                        self.pAir=project3d(md,'vector',self.pAir,'type','node');
    121126
    122                         if aIdx == 0 & ~isnan(self.aValue)
     127                        if (aIdx == 0 | aIdx == 5) & ~isnan(self.aValue)
    123128                                self.aValue=project3d(md,'vector',self.aValue,'type','node');
    124129                        end
     
    150155                self.dzMin = self.dzTop/2;
    151156                self.InitDensityScaling = 1.0;
     157                self.ThermoDeltaTScaling = 1/11;
    152158               
    153159                self.zMax=250*ones(mesh.numberofelements,1);
     
    206212                        md = checkfield(md,'fieldname','smb.teValue','timeseries',1,'NaN',1,'Inf',1,'>=',0,'<=',1);
    207213
    208                         md = checkfield(md,'fieldname','smb.aIdx','NaN',1,'Inf',1,'values',[0,1,2,3,4]);
     214                        md = checkfield(md,'fieldname','smb.aIdx','NaN',1,'Inf',1,'values',[0,1,2,3,4,5]);
    209215                        md = checkfield(md,'fieldname','smb.swIdx','NaN',1,'Inf',1,'values',[0,1]);
    210216                        md = checkfield(md,'fieldname','smb.denIdx','NaN',1,'Inf',1,'values',[1,2,3,4,5]);
     
    216222                        md = checkfield(md,'fieldname','smb.outputFreq','NaN',1,'Inf',1,'>',0,'<',10*365); %10 years max
    217223                        md = checkfield(md,'fieldname','smb.InitDensityScaling','NaN',1,'Inf',1,'>=',0,'<=',1);
     224                        md = checkfield(md,'fieldname','smb.ThermoDeltaTScaling','NaN',1,'Inf',1,'>=',0,'<=',1);
    218225
    219226                        switch self.aIdx,
     
    269276                        fielddisplay(self,'zY','strech grid cells bellow top_z by a [top_dz * y ^ (cells bellow top_z)]');
    270277                        fielddisplay(self,'InitDensityScaling',{'initial scaling factor multiplying the density of ice','which describes the density of the snowpack.'});
     278                        fielddisplay(self,'ThermoDeltaTScaling',{'scaling factor to multiply the thermal diffusion timestep (delta t)'});
    271279                        fielddisplay(self,'outputFreq','output frequency in days (default is monthly, 30)');
    272280                        fielddisplay(self,'aIdx',{'method for calculating albedo and subsurface absorption (default is 1)',...
    273                                                '0: direct input from aValue parameter',...
    274                                                                         '1: effective grain radius [Gardner & Sharp, 2009]',...
    275                                                                         '2: effective grain radius [Brun et al., 2009]',...
    276                                                                         '3: density and cloud amount [Greuell & Konzelmann, 1994]',...
    277                                                                         '4: exponential time decay & wetness [Bougamont & Bamber, 2005]'});
     281                                '0: direct input from aValue parameter',...
     282                                '1: effective grain radius [Gardner & Sharp, 2009]',...
     283                                '2: effective grain radius [Brun et al., 2009]',...
     284                                '3: density and cloud amount [Greuell & Konzelmann, 1994]',...
     285                                '4: exponential time decay & wetness [Bougamont & Bamber, 2005]',...
     286                                '5: ingest MODIS mode, direct input from aValue parameter applied to surface ice only'});
    278287
    279288                        fielddisplay(self,'teValue','Outward longwave radiation thermal emissivity forcing at every element (default in code is 1)');
     
    294303                        %additional albedo parameters:
    295304                        switch self.aIdx
    296                         case 0
    297                                 fielddisplay(self,'aValue','Albedo forcing at every element.  Used only if aIdx == 0.');
     305                        case {0 5}
     306                                fielddisplay(self,'aValue','Albedo forcing at every element.  Used only if aIdx == {0,5}.');
    298307                        case {1 2}
    299308                                fielddisplay(self,'aSnow','new snow albedo (0.64 - 0.89)');
     
    356365                        WriteData(fid,prefix,'object',self,'class','smb','fieldname','denIdx','format','Integer');
    357366                        WriteData(fid,prefix,'object',self,'class','smb','fieldname','InitDensityScaling','format','Double');
     367                        WriteData(fid,prefix,'object',self,'class','smb','fieldname','ThermoDeltaTScaling','format','Double');
    358368                        WriteData(fid,prefix,'object',self,'class','smb','fieldname','outputFreq','format','Double');
    359369                        WriteData(fid,prefix,'object',self,'class','smb','fieldname','aSnow','format','Double');
  • issm/trunk-jpl/src/m/classes/SMBgemb.py

    r22450 r22475  
    6666                                          # 3: density and cloud amount [Greuell & Konzelmann, 1994]
    6767                                          # 4: exponential time decay & wetness [Bougamont & Bamber, 2005]
     68                                          # 5: ingest MODIS mode, direct input from aValue parameter applied to surface ice only
     69
    6870                swIdx  = float('NaN')   # apply all SW to top grid cell (0) or allow SW to penetrate surface (1) (default 1)
    6971
     
    9698                #densities:
    9799                InitDensityScaling =  float('NaN')      #initial scaling factor multiplying the density of ice, which describes the density of the snowpack.
     100
     101                #thermo:
     102                ThermoDeltaTScaling = float('NaN') #scaling factor to multiply the thermal diffusion timestep (delta t)
    98103               
    99104                requested_outputs      = []
     
    138143                string = "%s\n%s"%(string,fielddisplay(self,'zY','strech grid cells bellow top_z by a [top_dz * y ^ (cells bellow top_z)]'))
    139144                string = "%s\n%s"%(string,fielddisplay(self,'InitDensityScaling',['initial scaling factor multiplying the density of ice','which describes the density of the snowpack.']))
     145                string = "%s\n%s"%(string,fielddisplay(self,'ThermoDeltaTScaling','scaling factor to multiply the thermal diffusion timestep (delta t)'))
    140146                string = "%s\n%s"%(string,fielddisplay(self,'outputFreq','output frequency in days (default is monthly, 30)'))
    141147                string = "%s\n%s"%(string,fielddisplay(self,'aIdx',['method for calculating albedo and subsurface absorption (default is 1)',
     
    144150                                                '2: effective grain radius [Brun et al., 2009]',
    145151                                                '3: density and cloud amount [Greuell & Konzelmann, 1994]',
    146                                                 '4: exponential time decay & wetness [Bougamont & Bamber, 2005]']))
     152                                                '4: exponential time decay & wetness [Bougamont & Bamber, 2005]',
     153                                                '5: ingest MODIS mode, direct input from aValue parameter applied to surface ice only']))
    147154
    148155                string = "%s\n%s"%(string,fielddisplay(self,'teValue','Outward longwave radiation thermal emissivity forcing at every element (default in code is 1)'))
     
    164171                        string = "%s\n%s"%(string,fielddisplay(self,'aSnow','new snow albedo (0.64 - 0.89)'))
    165172                        string = "%s\n%s"%(string,fielddisplay(self,'aIce','albedo of ice (0.27-0.58)'))
    166                 elif self.aIdx == 0:
    167                         string = "%s\n%s"%(string,fielddisplay(self,'aValue','Albedo forcing at every element.  Used only if aIdx == 0.'))
     173                elif elf.aIdx == 0:
     174                        string = "%s\n%s"%(string,fielddisplay(self,'aValue','Albedo forcing at every element.  Used only if aIdx == {0,5}'))
     175                elif elf.aIdx == 5:
     176                        string = "%s\n%s"%(string,fielddisplay(self,'aValue','Albedo forcing at every element.  Used only if aIdx == {0,5}'))
    168177                elif self.aIdx == 3:
    169178                        string = "%s\n%s"%(string,fielddisplay(self,'cldFrac','average cloud amount'))
     
    194203                self.pAir = project3d(md,'vector',self.pAir,'type','node')
    195204
    196                 if aIdx == 0 and np.isnan(self.aValue):
     205                if (aIdx == 0 or aIdx == 5) and np.isnan(self.aValue):
    197206                        self.aValue=project3d(md,'vector',self.aValue,'type','node');
    198207                if np.isnan(self.teValue):
     
    222231                self.dzMin = self.dzTop/2
    223232                self.InitDensityScaling = 1.0
     233                self.ThermoDeltaTScaling = 1/11.0
    224234               
    225235                self.zMax = 250*np.ones((mesh.numberofelements,))
     
    278288                md = checkfield(md,'fieldname','smb.teValue','timeseries',1,'NaN',1,'Inf',1,'>=',0,'<=',1);
    279289
    280                 md = checkfield(md,'fieldname','smb.aIdx','NaN',1,'Inf',1,'values',[0,1,2,3,4])
     290                md = checkfield(md,'fieldname','smb.aIdx','NaN',1,'Inf',1,'values',[0,1,2,3,4,5])
    281291                md = checkfield(md,'fieldname','smb.swIdx','NaN',1,'Inf',1,'values',[0,1])
    282292                md = checkfield(md,'fieldname','smb.denIdx','NaN',1,'Inf',1,'values',[1,2,3,4,5])
     
    288298                md = checkfield(md,'fieldname','smb.outputFreq','NaN',1,'Inf',1,'>',0,'<',10*365) #10 years max
    289299                md = checkfield(md,'fieldname','smb.InitDensityScaling','NaN',1,'Inf',1,'> = ',0,'< = ',1)
     300                md = checkfield(md,'fieldname','smb.ThermoDeltaTScaling','NaN',1,'Inf',1,'> = ',0,'< = ',1)
    290301
    291302                if type(self.aIdx) == list or type(self.aIdx) == type(np.array([1,2])) and (self.aIdx == [1,2] or (1 in self.aIdx and 2 in self.aIdx)):
     
    349360                WriteData(fid,prefix,'object',self,'class','smb','fieldname','denIdx','format','Integer')
    350361                WriteData(fid,prefix,'object',self,'class','smb','fieldname','InitDensityScaling','format','Double')
     362                WriteData(fid,prefix,'object',self,'class','smb','fieldname','ThermoDeltaTScaling','format','Double')
    351363                WriteData(fid,prefix,'object',self,'class','smb','fieldname','outputFreq','format','Double')
    352364                WriteData(fid,prefix,'object',self,'class','smb','fieldname','aSnow','format','Double')
Note: See TracChangeset for help on using the changeset viewer.