Changeset 14735
- Timestamp:
- 04/24/13 09:47:46 (12 years ago)
- Location:
- issm/trunk-jpl
- Files:
-
- 1 added
- 16 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/externalpackages/vim/install.sh
r13246 r14735 23 23 cd src/src 24 24 ./configure \ 25 --prefix "$ISSM_DIR/externalpackages/vim/install" \ 26 --with-gcc "/usr/bin/gcc" 25 --prefix="$ISSM_DIR/externalpackages/vim/install" \ 26 --with-gcc="/usr/bin/gcc" \ 27 --with-tlib="/lib/" 27 28 28 29 #Compile vim -
issm/trunk-jpl/src/c/EnumDefinitions/EnumDefinitions.h
r14724 r14735 211 211 SurfaceforcingsMassBalanceEnum, 212 212 SurfaceforcingsIspddEnum, 213 SurfaceforcingsDesfacEnum, 214 SurfaceforcingsS0pEnum, 213 215 SurfaceforcingsIssmbgradientsEnum, 214 216 SurfaceforcingsMonthlytemperaturesEnum, -
issm/trunk-jpl/src/c/classes/objects/Elements/Penta.cpp
r14663 r14735 2497 2497 IssmDouble monthlytemperatures[NUMVERTICES][12],monthlyprec[NUMVERTICES][12]; 2498 2498 IssmDouble h[NUMVERTICES],s[NUMVERTICES]; // ,b 2499 IssmDouble rho_water,rho_ice ;2499 IssmDouble rho_water,rho_ice,desfac,s0p; 2500 2500 2501 2501 /*Recover monthly temperatures and precipitation*/ … … 2524 2524 rho_water=matpar->GetRhoFreshwater(); 2525 2525 2526 /*Get desertification effect parameters*/ 2527 desfac=matpar->GetDesFac(); 2528 s0p=matpar->GetS0p(); 2529 2526 2530 /*measure the surface mass balance*/ 2527 2531 for (int iv = 0; iv < NUMVERTICES; iv++){ 2528 agd[iv]=PddSurfaceMassBlance(&monthlytemperatures[iv][0], &monthlyprec[iv][0], pdds, pds, signorm, yts, h[iv], s[iv], rho_ice, rho_water); 2532 agd[iv]=PddSurfaceMassBlance(&monthlytemperatures[iv][0], &monthlyprec[iv][0], pdds, pds, 2533 signorm, yts, h[iv], s[iv], rho_ice, rho_water, desfac, s0p); 2534 //printf("mass balance %f \n",agd[iv]); 2529 2535 } 2530 2536 … … 2656 2662 /*FUNCTION Penta::RequestedOutput{{{*/ 2657 2663 void Penta::RequestedOutput(int output_enum,int step,IssmDouble time){ 2658 2659 2664 if(IsInput(output_enum)){ 2660 2665 /*just transfer this input to results, and we are done: */ … … 3473 3478 /*Now get the average SMB over the element*/ 3474 3479 Input* smb_input = inputs->GetInput(SurfaceforcingsMassBalanceEnum); _assert_(smb_input); 3480 3475 3481 smb_input->GetInputAverage(&smb); 3476 3482 Total_Smb=rho_ice*base*smb;// smb on element in kg s-1 -
issm/trunk-jpl/src/c/classes/objects/Elements/Tria.cpp
r14734 r14735 2364 2364 IssmDouble monthlytemperatures[NUMVERTICES][12],monthlyprec[NUMVERTICES][12]; 2365 2365 IssmDouble h[NUMVERTICES],s[NUMVERTICES]; 2366 IssmDouble rho_water,rho_ice ;2366 IssmDouble rho_water,rho_ice,desfac,s0p; 2367 2367 2368 2368 /*Recover monthly temperatures and precipitation*/ … … 2390 2390 rho_ice=matpar->GetRhoIce(); 2391 2391 rho_water=matpar->GetRhoFreshwater(); 2392 2393 /*Get desertification effect parameters*/ 2394 desfac=matpar->GetDesFac(); 2395 s0p=matpar->GetS0p(); 2392 2396 2393 2397 /*measure the surface mass balance*/ 2394 2398 for (int iv = 0; iv<NUMVERTICES; iv++){ 2395 agd[iv]=PddSurfaceMassBlance(&monthlytemperatures[iv][0], &monthlyprec[iv][0], pdds, pds, signorm, yts, h[iv], s[iv], rho_ice, rho_water );2399 agd[iv]=PddSurfaceMassBlance(&monthlytemperatures[iv][0], &monthlyprec[iv][0], pdds, pds, signorm, yts, h[iv], s[iv], rho_ice, rho_water, desfac, s0p); 2396 2400 } 2397 2401 -
issm/trunk-jpl/src/c/classes/objects/Materials/Matpar.cpp
r14734 r14735 42 42 iomodel->Constant(&this->thermal_exchange_velocity,MaterialsThermalExchangeVelocityEnum); 43 43 iomodel->Constant(&this->g,ConstantsGEnum); 44 iomodel->Constant(&this->desfac,SurfaceforcingsDesfacEnum); 45 iomodel->Constant(&this->s0p,SurfaceforcingsS0pEnum); 44 46 45 47 if(hydrology_model==HydrologyshreveEnum){ … … 99 101 _printLine_(" thermal_exchange_velocity: " << thermal_exchange_velocity); 100 102 _printLine_(" g: " << g); 103 _printLine_(" desfac: " << desfac); 104 _printLine_(" s0p: " << s0p); 101 105 return; 102 106 } … … 203 207 this->g=constant; 204 208 break; 209 case SurfaceforcingsDesfacEnum: 210 this->desfac=constant; 211 break; 212 case SurfaceforcingsS0pEnum: 213 this->s0p=constant; 214 break; 205 215 default: 206 216 break; … … 287 297 IssmDouble Matpar::GetMuWater(){ 288 298 return mu_water; 299 } 300 /*}}}*/ 301 /*FUNCTION Matpar::GetDesFac {{{*/ 302 IssmDouble Matpar::GetDesFac(){ 303 return desfac; 304 } 305 /*}}}*/ 306 /*FUNCTION Matpar::GetS0p {{{*/ 307 IssmDouble Matpar::GetS0p(){ 308 return s0p; 289 309 } 290 310 /*}}}*/ -
issm/trunk-jpl/src/c/classes/objects/Materials/Matpar.h
r14734 r14735 29 29 IssmDouble thermal_exchange_velocity; 30 30 IssmDouble g; 31 31 IssmDouble desfac; 32 IssmDouble s0p; 33 32 34 /*hydrology Shreve: */ 33 35 IssmDouble hydro_kn; … … 127 129 void EnthalpyToThermal(IssmDouble* ptemperature,IssmDouble* pwaterfraction,IssmDouble enthalpy,IssmDouble pressure); 128 130 void ThermalToEnthalpy(IssmDouble* penthalpy,IssmDouble temperature,IssmDouble waterfraction,IssmDouble pressure); 131 IssmDouble GetDesFac(); 132 IssmDouble GetS0p(); 129 133 void UnitConversion(void); 130 134 /*}}}*/ -
issm/trunk-jpl/src/c/modules/EnumToStringx/EnumToStringx.cpp
r14724 r14735 216 216 case SurfaceforcingsMassBalanceEnum : return "SurfaceforcingsMassBalance"; 217 217 case SurfaceforcingsIspddEnum : return "SurfaceforcingsIspdd"; 218 case SurfaceforcingsDesfacEnum : return "SurfaceforcingsDesfac"; 219 case SurfaceforcingsS0pEnum : return "SurfaceforcingsS0p"; 218 220 case SurfaceforcingsIssmbgradientsEnum : return "SurfaceforcingsIssmbgradients"; 219 221 case SurfaceforcingsMonthlytemperaturesEnum : return "SurfaceforcingsMonthlytemperatures"; -
issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateParameters.cpp
r14562 r14735 103 103 parameters->AddObject(iomodel->CopyConstantObject(InversionTaoEnum)); 104 104 parameters->AddObject(iomodel->CopyConstantObject(SurfaceforcingsIspddEnum)); 105 parameters->AddObject(iomodel->CopyConstantObject(SurfaceforcingsDesfacEnum)); 106 parameters->AddObject(iomodel->CopyConstantObject(SurfaceforcingsS0pEnum)); 105 107 parameters->AddObject(iomodel->CopyConstantObject(SurfaceforcingsIsdelta18oEnum)); 106 108 parameters->AddObject(iomodel->CopyConstantObject(SurfaceforcingsIssmbgradientsEnum)); -
issm/trunk-jpl/src/c/modules/StringToEnumx/StringToEnumx.cpp
r14724 r14735 220 220 else if (strcmp(name,"SurfaceforcingsMassBalance")==0) return SurfaceforcingsMassBalanceEnum; 221 221 else if (strcmp(name,"SurfaceforcingsIspdd")==0) return SurfaceforcingsIspddEnum; 222 else if (strcmp(name,"SurfaceforcingsDesfac")==0) return SurfaceforcingsDesfacEnum; 223 else if (strcmp(name,"SurfaceforcingsS0p")==0) return SurfaceforcingsS0pEnum; 222 224 else if (strcmp(name,"SurfaceforcingsIssmbgradients")==0) return SurfaceforcingsIssmbgradientsEnum; 223 225 else if (strcmp(name,"SurfaceforcingsMonthlytemperatures")==0) return SurfaceforcingsMonthlytemperaturesEnum; … … 259 261 else if (strcmp(name,"BalancethicknessSolution")==0) return BalancethicknessSolutionEnum; 260 262 else if (strcmp(name,"WeakBalancethicknessAnalysis")==0) return WeakBalancethicknessAnalysisEnum; 261 else if (strcmp(name,"WeakBalancethicknessSolution")==0) return WeakBalancethicknessSolutionEnum;262 else if (strcmp(name,"BedSlopeAnalysis")==0) return BedSlopeAnalysisEnum;263 263 else stage=3; 264 264 } 265 265 if(stage==3){ 266 if (strcmp(name,"BedSlopeSolution")==0) return BedSlopeSolutionEnum; 266 if (strcmp(name,"WeakBalancethicknessSolution")==0) return WeakBalancethicknessSolutionEnum; 267 else if (strcmp(name,"BedSlopeAnalysis")==0) return BedSlopeAnalysisEnum; 268 else if (strcmp(name,"BedSlopeSolution")==0) return BedSlopeSolutionEnum; 267 269 else if (strcmp(name,"BedSlopeXAnalysis")==0) return BedSlopeXAnalysisEnum; 268 270 else if (strcmp(name,"BedSlopeYAnalysis")==0) return BedSlopeYAnalysisEnum; … … 382 384 else if (strcmp(name,"Converged")==0) return ConvergedEnum; 383 385 else if (strcmp(name,"ExtToIu")==0) return ExtToIuEnum; 384 else if (strcmp(name,"Fill")==0) return FillEnum;385 else if (strcmp(name,"FractionIncrement")==0) return FractionIncrementEnum;386 386 else stage=4; 387 387 } 388 388 if(stage==4){ 389 if (strcmp(name,"Friction")==0) return FrictionEnum; 389 if (strcmp(name,"Fill")==0) return FillEnum; 390 else if (strcmp(name,"FractionIncrement")==0) return FractionIncrementEnum; 391 else if (strcmp(name,"Friction")==0) return FrictionEnum; 390 392 else if (strcmp(name,"GroundinglineMeltingRate")==0) return GroundinglineMeltingRateEnum; 391 393 else if (strcmp(name,"Internal")==0) return InternalEnum; … … 505 507 else if (strcmp(name,"GLlevelset")==0) return GLlevelsetEnum; 506 508 else if (strcmp(name,"StokesSolver")==0) return StokesSolverEnum; 507 else if (strcmp(name,"Adjoint")==0) return AdjointEnum;508 else if (strcmp(name,"Colinear")==0) return ColinearEnum;509 509 else stage=5; 510 510 } 511 511 if(stage==5){ 512 if (strcmp(name,"ControlSteady")==0) return ControlSteadyEnum; 512 if (strcmp(name,"Adjoint")==0) return AdjointEnum; 513 else if (strcmp(name,"Colinear")==0) return ColinearEnum; 514 else if (strcmp(name,"ControlSteady")==0) return ControlSteadyEnum; 513 515 else if (strcmp(name,"Fset")==0) return FsetEnum; 514 516 else if (strcmp(name,"Gradient1")==0) return Gradient1Enum; -
issm/trunk-jpl/src/c/shared/Elements/PddSurfaceMassBalance.cpp
r13758 r14735 5 5 #include "./elements.h" 6 6 7 IssmDouble PddSurfaceMassBlance(IssmDouble* monthlytemperatures, IssmDouble* monthlyprec, IssmDouble* pdds, IssmDouble* pds, IssmDouble signorm, IssmDouble yts, IssmDouble h, IssmDouble s, IssmDouble rho_ice, IssmDouble rho_water ){7 IssmDouble PddSurfaceMassBlance(IssmDouble* monthlytemperatures, IssmDouble* monthlyprec, IssmDouble* pdds, IssmDouble* pds, IssmDouble signorm, IssmDouble yts, IssmDouble h, IssmDouble s, IssmDouble rho_ice, IssmDouble rho_water, IssmDouble desfac, IssmDouble s0p){ 8 8 9 9 // output: 10 10 IssmDouble B; // surface mass balance, melt+accumulation 11 12 11 int iqj,imonth; 13 12 … … 20 19 IssmDouble sconv; //rhow_rain/rhoi / 12 months 21 20 22 IssmDouble lapser=6.5 /1000., sealev=0.; // lapse rate. degrees per meter. 7.5 lev's 99 paper, 9 Marshall 99 paper23 IssmDouble desfac = 0.5; // desert elevation factor24 IssmDouble s0p=0.; // should be set to elevation from precip source21 IssmDouble lapser=6.5, sealev=0.; // lapse rate. degrees per meter. 7.5 lev's 99 paper, 9 Marshall 99 paper 22 // IssmDouble desfac = 0.5; // desert elevation factor 23 // IssmDouble s0p=0.; // should be set to elevation from precip source 25 24 IssmDouble s0t=0.; // should be set to elevation from temperature source 26 25 IssmDouble st; // elevation between altitude of the temp record and current altitude … … 96 95 // gaussian=T_m, so ndd=-(Tsurf-pdd) 97 96 if (iqj>5 && iqj<9){ Tsum=Tsum+tstar;} 97 98 98 if (tstar >= siglim) {pdd = pdd + tstar*deltm;} 99 99 else if (tstar> -siglim){ … … 103 103 else{frzndd = frzndd - tstar*deltm; } 104 104 } // end of seasonal loop 105 106 105 //****************************************************************** 106 107 107 saccu = qm; 108 108 prect = qmp; // total precipitation during 1 year taking into account des. ef. -
issm/trunk-jpl/src/c/shared/Elements/elements.h
r14293 r14735 14 14 IssmDouble Arrhenius(IssmDouble temperature,IssmDouble depth,IssmDouble n); 15 15 IssmDouble PddSurfaceMassBlance(IssmDouble* monthlytemperatures, IssmDouble* monthlyprec, IssmDouble* pdds, IssmDouble* pds, 16 IssmDouble signorm, IssmDouble yts, IssmDouble h, IssmDouble s, IssmDouble rho_ice, IssmDouble rho_water); 16 IssmDouble signorm, IssmDouble yts, IssmDouble h, IssmDouble s, 17 IssmDouble rho_ice, IssmDouble rho_water, IssmDouble desfac, IssmDouble s0p); 17 18 void ComputeDelta18oTemperaturePrecipitation(IssmDouble Delta18oSurfacePresent, IssmDouble Delta18oSurfaceLgm, IssmDouble Delta18oSurfaceTime, 18 19 IssmDouble Delta18oPresent, IssmDouble Delta18oLgm, IssmDouble Delta18oTime, -
issm/trunk-jpl/src/c/solutions/transient_core.cpp
r14652 r14735 155 155 InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,SurfaceforcingsMonthlytemperaturesEnum); 156 156 InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,SurfaceforcingsPrecipitationEnum); 157 InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,BasalFrictionEnum); 157 158 } 158 159 if(isgroundingline && (groundingline_migration==SubelementMigrationEnum || groundingline_migration==SubelementMigration2Enum)){ -
issm/trunk-jpl/src/m/classes/clusters/acenet.m
r13278 r14735 18 18 time=10; 19 19 % codepath='/usr/local/issm-r11321/bin'; % this one is for issm on acenet global 20 codepath=' PATH'; % this one is for issm on my acenet directory21 executionpath='/home/klemorza/issm/ execution';20 codepath='/home/klemorza/issm/trunk-jpl/bin'; % this one is for issm on my acenet directory 21 executionpath='/home/klemorza/issm/trunk-jpl/execution'; 22 22 %}}} 23 23 end … … 66 66 fprintf(fid,'#$ -cwd\n'); 67 67 fprintf(fid,'#$ -N issm\n'); 68 fprintf(fid,'#$ -l h_rt= 10:0:0\n');68 fprintf(fid,'#$ -l h_rt=96:0:0\n'); 69 69 fprintf(fid,'#$ -pe ompi* %i\n',cluster.np); 70 70 fprintf(fid,'#$ -j y\n'); -
issm/trunk-jpl/src/m/classes/surfaceforcings.m
r14640 r14735 21 21 temperatures_lgm = NaN; 22 22 precipitations_presentday = NaN; 23 desfac = 0.5; 24 s0p=0; 23 25 end 24 26 methods … … 37 39 obj.issmbgradients=0; 38 40 obj.isdelta18o=0; 39 41 obj.desfac=0.5; 42 obj.s0p=0; 40 43 end % }}} 41 44 function md = checkconsistency(obj,md,solution,analyses) % {{{ … … 45 48 md = checkfield(md,'surfaceforcings.issmbgradients','numel',[1],'values',[0 1]); 46 49 if(obj.ispdd) 50 md = checkfield(md,'surfaceforcings.desfac','<=',1); 51 md = checkfield(md,'surfaceforcings.s0p','>=',0); 47 52 if(obj.isdelta18o==0) 48 53 md = checkfield(md,'surfaceforcings.monthlytemperatures','forcing',1,'NaN',1); … … 74 79 fielddisplay(obj,'ispdd','is pdd activated (0 or 1, default is 0)'); 75 80 fielddisplay(obj,'isdelta18o','is temperature and precipitation delta18o parametrisation activated (0 or 1, default is 0)'); 76 fielddisplay(obj,'monthlytemperatures','monthly surface temperatures [K], required if pdd is activated and delta18o not activated'); 81 fielddisplay(obj,'desfac','desertification elevation factor (between 0 and 1, default is 0.5)'); 82 fielddisplay(obj,'s0p','should be set to elevation from precip source (between 0 and a few 1000m (default is 0))'); 83 fielddisplay(obj,'monthlytemperatures','monthly surface temperatures [Kelvin], required if pdd is activated and delta18o not activated'); 77 84 fielddisplay(obj,'precipitation','surface precipitation [m/yr water eq]'); 78 fielddisplay(obj,'temperatures_presentday','monthly present day surface temperatures [K ], required if pdd is activated and delta18o activated');79 fielddisplay(obj,'temperatures_lgm','monthly LGM surface temperatures [K ], required if pdd is activated and delta18o activated');85 fielddisplay(obj,'temperatures_presentday','monthly present day surface temperatures [Kelvin], required if pdd is activated and delta18o activated'); 86 fielddisplay(obj,'temperatures_lgm','monthly LGM surface temperatures [Kelvin], required if pdd is activated and delta18o activated'); 80 87 fielddisplay(obj,'precipitations_presentday','monthly surface precipitation [m/yr water eq], required if pdd is activated and delta18o activated'); 81 88 fielddisplay(obj,'delta18o','delta18o, required if pdd is activated and delta18o activated'); … … 94 101 WriteData(fid,'object',obj,'fieldname','isdelta18o','format','Boolean'); 95 102 if obj.ispdd, 96 if obj.isdelta18o 103 WriteData(fid,'object',obj,'fieldname','desfac','format','Double'); 104 WriteData(fid,'object',obj,'fieldname','s0p','format','Double'); 105 if obj.isdelta18o 97 106 WriteData(fid,'object',obj,'fieldname','temperatures_presentday','format','DoubleMat','mattype',1); 98 107 WriteData(fid,'object',obj,'fieldname','temperatures_lgm','format','DoubleMat','mattype',1); -
issm/trunk-jpl/src/m/enum/EnumDefinitions.py
r14724 r14735 1999 1999 return StringToEnum('SurfaceforcingsIspdd')[0] 2000 2000 2001 def SurfaceforcingsDesfacEnum(): 2002 """ 2003 SURFACEFORCINGSDESFACENUM - Enum of SurfaceforcingsDesfac 2004 2005 Usage: 2006 macro=SurfaceforcingsDesfacEnum() 2007 """ 2008 2009 return StringToEnum('SurfaceforcingsDesfac')[0] 2010 2011 def SurfaceforcingsS0pEnum(): 2012 """ 2013 SURFACEFORCINGSS0PENUM - Enum of SurfaceforcingsS0p 2014 2015 Usage: 2016 macro=SurfaceforcingsS0pEnum() 2017 """ 2018 2019 return StringToEnum('SurfaceforcingsS0p')[0] 2020 2001 2021 def SurfaceforcingsIssmbgradientsEnum(): 2002 2022 """ … … 5257 5277 """ 5258 5278 5259 return 52 45260 5279 return 526 5280 -
issm/trunk-jpl/src/m/enum/MaximumNumberOfEnums.m
r14724 r14735 9 9 % macro=MaximumNumberOfEnums() 10 10 11 macro=52 4;11 macro=526;
Note:
See TracChangeset
for help on using the changeset viewer.