source:
issm/oecreview/Archive/23390-24306/ISSM-23818-23819.diff
Last change on this file was 24307, checked in by , 5 years ago | |
---|---|
File size: 6.5 KB |
-
../trunk-jpl/src/c/classes/Elements/Element.cpp
3254 3254 IssmDouble init_scaling=0.0; 3255 3255 IssmDouble thermo_scaling=1.0; 3256 3256 IssmDouble adThresh=1023.0; 3257 int offsetend ;3257 int offsetend=-1; 3258 3258 IssmDouble time0, timeend, delta; 3259 3259 3260 3260 /*}}}*/ … … 3477 3477 if (isclimatology){ 3478 3478 //If this is a climatology, we need to repeat the forcing after the final time 3479 3479 offsetend=dynamic_cast<TransientInput*>(Ta_input)->GetTimeInputOffset(finaltime); 3480 time0=dynamic_cast<TransientInput*>(Ta_input)->GetTimeByOffset( 0);3480 time0=dynamic_cast<TransientInput*>(Ta_input)->GetTimeByOffset(-1); 3481 3481 timeend=dynamic_cast<TransientInput*>(Ta_input)->GetTimeByOffset(offsetend); 3482 3482 if (time>time0 & timeend>time0){ 3483 3483 delta=(time-time0) - (timeend-time0)*(reCast<int,IssmDouble>((time-time0)/(timeend-time0))); -
../trunk-jpl/src/c/modules/SurfaceMassBalancex/SurfaceMassBalancex.cpp
18 18 if (isclimatology){ 19 19 int v; 20 20 IssmDouble time,dt,delta,starttime,finaltime; 21 int offsetend ;21 int offsetend=-1; 22 22 IssmDouble time0, timeend, timeclim; 23 23 24 24 femmodel->parameters->FindParam(&time,TimeEnum); … … 43 43 44 44 //Get accumulation climatology value 45 45 offsetend=dynamic_cast<TransientInput*>(smb_input)->GetTimeInputOffset(finaltime); 46 time0=dynamic_cast<TransientInput*>(smb_input)->GetTimeByOffset( 0);46 time0=dynamic_cast<TransientInput*>(smb_input)->GetTimeByOffset(-1); 47 47 timeend=dynamic_cast<TransientInput*>(smb_input)->GetTimeByOffset(offsetend); 48 timeclim=time; 48 49 if (time>time0 & timeend>time0){ 49 50 delta=(time-time0) - (timeend-time0)*(reCast<int,IssmDouble>((time-time0)/(timeend-time0))); 50 51 if (delta==0){ timeclim=timeend;} … … 405 406 int v; 406 407 bool isclimatology=false; 407 408 IssmDouble time,delta,starttime,finaltime; 408 int offsetend ;409 int offsetend=-1; 409 410 IssmDouble time0, timeend, timeclim; 410 411 411 412 femmodel->parameters->FindParam(&isclimatology,SmbIsclimatologyEnum); … … 434 435 435 436 //Get accumulation climatology value 436 437 offsetend=dynamic_cast<TransientInput*>(acc_input)->GetTimeInputOffset(finaltime); 437 time0=dynamic_cast<TransientInput*>(acc_input)->GetTimeByOffset( 0);438 time0=dynamic_cast<TransientInput*>(acc_input)->GetTimeByOffset(-1); 438 439 timeend=dynamic_cast<TransientInput*>(acc_input)->GetTimeByOffset(offsetend); 440 timeclim=time; 439 441 if (time>time0 & timeend>time0){ 440 442 delta=(time-time0) - (timeend-time0)*(reCast<int,IssmDouble>((time-time0)/(timeend-time0))); 441 443 if (delta==0){ timeclim=timeend;} … … 446 448 447 449 //Get evaporation climatology value 448 450 offsetend=dynamic_cast<TransientInput*>(evap_input)->GetTimeInputOffset(finaltime); 449 time0=dynamic_cast<TransientInput*>(evap_input)->GetTimeByOffset( 0);451 time0=dynamic_cast<TransientInput*>(evap_input)->GetTimeByOffset(-1); 450 452 timeend=dynamic_cast<TransientInput*>(evap_input)->GetTimeByOffset(offsetend); 453 timeclim=time; 451 454 if (time>time0 & timeend>time0){ 452 455 delta=(time-time0) - (timeend-time0)*(reCast<int,IssmDouble>((time-time0)/(timeend-time0))); 453 456 if (delta==0){ timeclim=timeend;} … … 458 461 459 462 //Get runoff climatology value 460 463 offsetend=dynamic_cast<TransientInput*>(runoff_input)->GetTimeInputOffset(finaltime); 461 time0=dynamic_cast<TransientInput*>(runoff_input)->GetTimeByOffset( 0);464 time0=dynamic_cast<TransientInput*>(runoff_input)->GetTimeByOffset(-1); 462 465 timeend=dynamic_cast<TransientInput*>(runoff_input)->GetTimeByOffset(offsetend); 466 timeclim=time; 463 467 if (time>time0 & timeend>time0){ 464 468 delta=(time-time0) - (timeend-time0)*(reCast<int,IssmDouble>((time-time0)/(timeend-time0))); 465 469 if (delta==0){ timeclim=timeend;} … … 500 504 int v; 501 505 bool isclimatology=false; 502 506 IssmDouble time,delta,starttime,finaltime; 503 int offsetend ;507 int offsetend=-1; 504 508 IssmDouble time0, timeend, timeclim; 505 509 506 510 femmodel->parameters->FindParam(&isclimatology,SmbIsclimatologyEnum); … … 531 535 532 536 //Get accumulation climatology value 533 537 offsetend=dynamic_cast<TransientInput*>(acc_input)->GetTimeInputOffset(finaltime); 534 time0=dynamic_cast<TransientInput*>(acc_input)->GetTimeByOffset( 0);538 time0=dynamic_cast<TransientInput*>(acc_input)->GetTimeByOffset(-1); 535 539 timeend=dynamic_cast<TransientInput*>(acc_input)->GetTimeByOffset(offsetend); 540 timeclim=time; 536 541 if (time>time0 & timeend>time0){ 537 542 delta=(time-time0) - (timeend-time0)*(reCast<int,IssmDouble>((time-time0)/(timeend-time0))); 538 543 if (delta==0){ timeclim=timeend;} … … 543 548 544 549 //Get evaporation climatology value 545 550 offsetend=dynamic_cast<TransientInput*>(evap_input)->GetTimeInputOffset(finaltime); 546 time0=dynamic_cast<TransientInput*>(evap_input)->GetTimeByOffset( 0);551 time0=dynamic_cast<TransientInput*>(evap_input)->GetTimeByOffset(-1); 547 552 timeend=dynamic_cast<TransientInput*>(evap_input)->GetTimeByOffset(offsetend); 553 timeclim=time; 548 554 if (time>time0){ 549 555 delta=(time-time0) - (timeend-time0)*(reCast<int,IssmDouble>((time-time0)/(timeend-time0))); 550 556 if (delta==0){ timeclim=timeend;} … … 555 561 556 562 //Get melt climatology value 557 563 offsetend=dynamic_cast<TransientInput*>(melt_input)->GetTimeInputOffset(finaltime); 558 time0=dynamic_cast<TransientInput*>(melt_input)->GetTimeByOffset( 0);564 time0=dynamic_cast<TransientInput*>(melt_input)->GetTimeByOffset(-1); 559 565 timeend=dynamic_cast<TransientInput*>(melt_input)->GetTimeByOffset(offsetend); 566 timeclim=time; 560 567 if (time>time0){ 561 568 delta=(time-time0) - (timeend-time0)*(reCast<int,IssmDouble>((time-time0)/(timeend-time0))); 562 569 if (delta==0){ timeclim=timeend;} … … 567 574 568 575 //Get refreeze climatology value 569 576 offsetend=dynamic_cast<TransientInput*>(refreeze_input)->GetTimeInputOffset(finaltime); 570 time0=dynamic_cast<TransientInput*>(refreeze_input)->GetTimeByOffset( 0);577 time0=dynamic_cast<TransientInput*>(refreeze_input)->GetTimeByOffset(-1); 571 578 timeend=dynamic_cast<TransientInput*>(refreeze_input)->GetTimeByOffset(offsetend); 579 timeclim=time; 572 580 if (time>time0){ 573 581 delta=(time-time0) - (timeend-time0)*(reCast<int,IssmDouble>((time-time0)/(timeend-time0))); 574 582 if (delta==0){ timeclim=timeend;}
Note:
See TracBrowser
for help on using the repository browser.