source:
issm/oecreview/Archive/21337-21723/ISSM-21708-21709.diff@
21726
Last change on this file since 21726 was 21726, checked in by , 8 years ago | |
---|---|
File size: 9.4 KB |
-
../trunk-jpl/src/c/classes/Elements/Element.cpp
526 526 IssmDouble* PrecipitationsPresentday=xNew<IssmDouble>(12*numvertices); 527 527 IssmDouble* tmp=xNew<IssmDouble>(numvertices); 528 528 IssmDouble Delta18oTime; 529 IssmDouble dpermil ;529 IssmDouble dpermil,f; 530 530 IssmDouble time,yts,time_yr,month; 531 531 this->parameters->FindParam(&time,TimeEnum); 532 532 this->parameters->FindParam(&yts,ConstantsYtsEnum); 533 this->parameters->FindParam(&f,SmbFEnum); 533 534 time_yr=floor(time/yts)*yts; 534 535 535 536 /*Get some pdd parameters*/ … … 555 556 556 557 /*Compute the temperature and precipitation*/ 557 558 for(int iv=0;iv<numvertices;iv++){ 558 ComputeD18OTemperaturePrecipitationFromPD(Delta18oTime,dpermil, 559 ComputeD18OTemperaturePrecipitationFromPD(Delta18oTime,dpermil,f, 559 560 &PrecipitationsPresentday[iv*12], &TemperaturesPresentday[iv*12], 560 561 &monthlytemperatures[iv*12], &monthlyprec[iv*12]); 561 562 } -
../trunk-jpl/src/c/analyses/SmbAnalysis.cpp
218 218 iomodel->DeleteData(temp,"md.smb.delta18o"); 219 219 220 220 parameters->AddObject(iomodel->CopyConstantObject("md.smb.dpermil",SmbDpermilEnum)); 221 parameters->AddObject(iomodel->CopyConstantObject("md.smb.f",SmbFEnum)); 221 222 } 222 223 break; 223 224 case SMBgradientsEnum: -
../trunk-jpl/src/c/shared/Enum/EnumDefinitions.h
457 457 SmbSealevEnum, 458 458 SMBd18opddEnum, 459 459 SmbDpermilEnum, 460 SmbFEnum, 460 461 SMBgradientsEnum, 461 462 SmbMonthlytemperaturesEnum, 462 463 SmbHrefEnum, -
../trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp
458 458 case SmbSealevEnum : return "SmbSealev"; 459 459 case SMBd18opddEnum : return "SMBd18opdd"; 460 460 case SmbDpermilEnum : return "SmbDpermil"; 461 case SmbFEnum : return "SmbF"; 461 462 case SMBgradientsEnum : return "SMBgradients"; 462 463 case SmbMonthlytemperaturesEnum : return "SmbMonthlytemperatures"; 463 464 case SmbHrefEnum : return "SmbHref"; -
../trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp
467 467 else if (strcmp(name,"SmbSealev")==0) return SmbSealevEnum; 468 468 else if (strcmp(name,"SMBd18opdd")==0) return SMBd18opddEnum; 469 469 else if (strcmp(name,"SmbDpermil")==0) return SmbDpermilEnum; 470 else if (strcmp(name,"SmbF")==0) return SmbFEnum; 470 471 else if (strcmp(name,"SMBgradients")==0) return SMBgradientsEnum; 471 472 else if (strcmp(name,"SmbMonthlytemperatures")==0) return SmbMonthlytemperaturesEnum; 472 473 else if (strcmp(name,"SmbHref")==0) return SmbHrefEnum; … … 504 505 else if (strcmp(name,"AndroidFrictionCoefficient")==0) return AndroidFrictionCoefficientEnum; 505 506 else if (strcmp(name,"ResetPenalties")==0) return ResetPenaltiesEnum; 506 507 else if (strcmp(name,"SurfaceAbsVelMisfit")==0) return SurfaceAbsVelMisfitEnum; 507 else if (strcmp(name,"SurfaceArea")==0) return SurfaceAreaEnum;508 508 else stage=5; 509 509 } 510 510 if(stage==5){ 511 if (strcmp(name,"SurfaceAverageVelMisfit")==0) return SurfaceAverageVelMisfitEnum; 511 if (strcmp(name,"SurfaceArea")==0) return SurfaceAreaEnum; 512 else if (strcmp(name,"SurfaceAverageVelMisfit")==0) return SurfaceAverageVelMisfitEnum; 512 513 else if (strcmp(name,"SurfaceLogVelMisfit")==0) return SurfaceLogVelMisfitEnum; 513 514 else if (strcmp(name,"SurfaceLogVxVyMisfit")==0) return SurfaceLogVxVyMisfitEnum; 514 515 else if (strcmp(name,"SurfaceRelVelMisfit")==0) return SurfaceRelVelMisfitEnum; … … 627 628 else if (strcmp(name,"Outputdefinition28")==0) return Outputdefinition28Enum; 628 629 else if (strcmp(name,"Outputdefinition29")==0) return Outputdefinition29Enum; 629 630 else if (strcmp(name,"Outputdefinition30")==0) return Outputdefinition30Enum; 630 else if (strcmp(name,"Outputdefinition31")==0) return Outputdefinition31Enum;631 631 else stage=6; 632 632 } 633 633 if(stage==6){ 634 if (strcmp(name,"Outputdefinition32")==0) return Outputdefinition32Enum; 634 if (strcmp(name,"Outputdefinition31")==0) return Outputdefinition31Enum; 635 else if (strcmp(name,"Outputdefinition32")==0) return Outputdefinition32Enum; 635 636 else if (strcmp(name,"Outputdefinition33")==0) return Outputdefinition33Enum; 636 637 else if (strcmp(name,"Outputdefinition34")==0) return Outputdefinition34Enum; 637 638 else if (strcmp(name,"Outputdefinition35")==0) return Outputdefinition35Enum; … … 750 751 else if (strcmp(name,"QmuInName")==0) return QmuInNameEnum; 751 752 else if (strcmp(name,"QmuOutName")==0) return QmuOutNameEnum; 752 753 else if (strcmp(name,"Regular")==0) return RegularEnum; 753 else if (strcmp(name,"Scaled")==0) return ScaledEnum;754 754 else stage=7; 755 755 } 756 756 if(stage==7){ 757 if (strcmp(name,"Separate")==0) return SeparateEnum; 757 if (strcmp(name,"Scaled")==0) return ScaledEnum; 758 else if (strcmp(name,"Separate")==0) return SeparateEnum; 758 759 else if (strcmp(name,"Sset")==0) return SsetEnum; 759 760 else if (strcmp(name,"Dense")==0) return DenseEnum; 760 761 else if (strcmp(name,"MpiDense")==0) return MpiDenseEnum; … … 873 874 else if (strcmp(name,"StringParam")==0) return StringParamEnum; 874 875 else if (strcmp(name,"Seg")==0) return SegEnum; 875 876 else if (strcmp(name,"SegInput")==0) return SegInputEnum; 876 else if (strcmp(name,"Tria")==0) return TriaEnum;877 877 else stage=8; 878 878 } 879 879 if(stage==8){ 880 if (strcmp(name,"TriaInput")==0) return TriaInputEnum; 880 if (strcmp(name,"Tria")==0) return TriaEnum; 881 else if (strcmp(name,"TriaInput")==0) return TriaInputEnum; 881 882 else if (strcmp(name,"Tetra")==0) return TetraEnum; 882 883 else if (strcmp(name,"TetraInput")==0) return TetraInputEnum; 883 884 else if (strcmp(name,"Penta")==0) return PentaEnum; … … 996 997 else if (strcmp(name,"MINI")==0) return MINIEnum; 997 998 else if (strcmp(name,"MINIcondensed")==0) return MINIcondensedEnum; 998 999 else if (strcmp(name,"TaylorHood")==0) return TaylorHoodEnum; 999 else if (strcmp(name,"LATaylorHood")==0) return LATaylorHoodEnum;1000 1000 else stage=9; 1001 1001 } 1002 1002 if(stage==9){ 1003 if (strcmp(name,"XTaylorHood")==0) return XTaylorHoodEnum; 1003 if (strcmp(name,"LATaylorHood")==0) return LATaylorHoodEnum; 1004 else if (strcmp(name,"XTaylorHood")==0) return XTaylorHoodEnum; 1004 1005 else if (strcmp(name,"OneLayerP4z")==0) return OneLayerP4zEnum; 1005 1006 else if (strcmp(name,"CrouzeixRaviart")==0) return CrouzeixRaviartEnum; 1006 1007 else if (strcmp(name,"LACrouzeixRaviart")==0) return LACrouzeixRaviartEnum; -
../trunk-jpl/src/c/shared/Elements/elements.h
32 32 IssmDouble* PrecipitationsLgm,IssmDouble* PrecipitationsPresentday, 33 33 IssmDouble* TemperaturesLgm, IssmDouble* TemperaturesPresentday, 34 34 IssmDouble* monthlytemperaturesout, IssmDouble* monthlyprecout); 35 void ComputeD18OTemperaturePrecipitationFromPD(IssmDouble d018,IssmDouble dpermil, 35 void ComputeD18OTemperaturePrecipitationFromPD(IssmDouble d018,IssmDouble dpermil,IssmDouble f, 36 36 IssmDouble* PrecipitationPresentday,IssmDouble* TemperaturePresentday, 37 37 IssmDouble* monthlytemperaturesout, IssmDouble* monthlyprecout); 38 38 IssmDouble DrainageFunctionWaterfraction(IssmDouble waterfraction, IssmDouble dt=0.); -
../trunk-jpl/src/c/shared/Elements/ComputeD18OTemperaturePrecipitationFromPD.cpp
6 6 #include "./elements.h" 7 7 #include "../Numerics/numerics.h" 8 8 9 void ComputeD18OTemperaturePrecipitationFromPD(IssmDouble d018,IssmDouble dpermil, 9 void ComputeD18OTemperaturePrecipitationFromPD(IssmDouble d018,IssmDouble dpermil,IssmDouble f, 10 10 IssmDouble* PrecipitationPresentday,IssmDouble* TemperaturePresentday, 11 11 IssmDouble* monthlytemperaturesout, IssmDouble* monthlyprecout){ 12 12 … … 22 22 for (int imonth = 0; imonth<12; imonth++){ 23 23 24 24 monthlytemperaturestmp[imonth] = TemperaturePresentday[imonth] + deltaTemp; 25 monthlyprectmp[imonth] = PrecipitationPresentday[imonth]*exp(( 0.169/dpermil)*deltaTemp);25 monthlyprectmp[imonth] = PrecipitationPresentday[imonth]*exp((f/dpermil)*deltaTemp); 26 26 27 27 /*Assign output pointer*/ 28 28 *(monthlytemperaturesout+imonth) = monthlytemperaturestmp[imonth];
Note:
See TracBrowser
for help on using the repository browser.