Changeset 8349bbb in tol
- Timestamp:
- Oct 26, 2008, 10:44:21 AM (18 years ago)
- Branches:
- 1941-docker-image-to-test, devel, master
- Children:
- 1abcc87
- Parents:
- 6f22f5e
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
tol/stdlib/math/stat/models/bayesian/bysMcmc/bsr/dynhlm/_db_api.load.tol
r6f22f5e r8349bbb 102 102 " "+dbName+"."+_table::Parameter+" as C \n" 103 103 "WHERE \n"+ 104 " A.id_model='"+ _.model.name+"' AND \n"+105 " A.id_session='"+ _.session.name+"' AND\n"+106 " B.id_model='"+ _.model.name+"' AND \n"+107 " B.id_session='"+ _.session.name+"' AND\n"+108 " C.id_model='"+ _.model.name+"' AND \n"+109 " C.id_session='"+ _.session.name+"' AND\n"+104 " A.id_model='"+model+"' AND \n"+ 105 " A.id_session='"+session+"' AND\n"+ 106 " B.id_model='"+model+"' AND \n"+ 107 " B.id_session='"+session+"' AND\n"+ 108 " C.id_model='"+model+"' AND \n"+ 109 " C.id_session='"+session+"' AND\n"+ 110 110 " A.id_node_lower=B.id_node AND \n"+ 111 111 " A.id_parameter_lower=B.id_parameter AND\n"+ … … 119 119 " vl_left_border, nu_inequation, vl_right_border \n"+ 120 120 "FROM "+dbName+"."+_table::ConstrBorder+" WHERE \n"+ 121 " id_model='"+ _.model.name+"' AND \n"+122 " id_session='"+ _.session.name+"' AND\n"+121 " id_model='"+model+"' AND \n"+ 122 " id_session='"+session+"' AND\n"+ 123 123 " id_node='"+id_node+"'" 124 124 "ORDER BY nu_inequation", … … 135 135 " "+dbName+"."+_table::Parameter+" as B \n"+ 136 136 "WHERE \n"+ 137 " A.id_model='"+ _.model.name+"' AND \n"+138 " A.id_session='"+ _.session.name+"' AND\n"+137 " A.id_model='"+model+"' AND \n"+ 138 " A.id_session='"+session+"' AND\n"+ 139 139 " A.nu_inequation="+IntText(b->NumInequation)+" AND \n"+ 140 " B.id_model='"+ _.model.name+"' AND \n"+141 " B.id_session='"+ _.session.name+"' AND\n"+140 " B.id_model='"+model+"' AND \n"+ 141 " B.id_session='"+session+"' AND\n"+ 142 142 " A.id_node=B.id_node AND \n"+ 143 143 " A.id_parameter=B.id_parameter\n", … … 168 168 Text session, 169 169 Text id_node, 170 NameBlock modelHandler) 170 NameBlock modelHandler, 171 Set input.missing.labels) 171 172 //////////////////////////////////////////////////////////////////////////// 172 173 { … … 187 188 " id_node='"+id_node+"' ", 188 189 "Bsr.DynHlm.DBStrObsOutput")[1]; 190 189 191 Set db_arima = BysMcmc::Bsr::DynHlm::DBApi::SqlTableTrace( 190 192 "SELECT \n"+ … … 194 196 " te_dif \n"+ 195 197 "FROM "+dbName+"."+_table::ObsArimaBlk+" WHERE \n"+ 196 " id_model='"+ _.model.name+"' AND \n"+197 " id_session='"+ _.session.name+"' AND \n"+198 " id_model='"+model+"' AND \n"+ 199 " id_session='"+session+"' AND \n"+ 198 200 " id_node='"+id_node+"' \n"+ 199 201 "ORDER BY nu_factor ASC", … … 218 220 db_output->firstDate, 219 221 db_output->lastDate, 222 id_node, 220 223 db_output->missingPriorSigmaFactor, 221 224 db_output->missingPriorLowerBound, … … 237 240 " "+dbName+"."+_table::Parameter+" as B \n"+ 238 241 "WHERE \n"+ 239 " A.id_model='"+ _.model.name+"' AND \n"+240 " A.id_session='"+ _.session.name+"' AND \n"+242 " A.id_model='"+model+"' AND \n"+ 243 " A.id_session='"+session+"' AND \n"+ 241 244 " A.id_node='"+id_node+"' AND\n"+ 242 " B.id_model='"+ _.model.name+"' AND \n"+243 " B.id_session='"+ _.session.name+"' AND \n"+245 " B.id_model='"+model+"' AND \n"+ 246 " B.id_session='"+session+"' AND \n"+ 244 247 " B.id_node='"+id_node+"' AND \n"+ 245 248 " B.id_parameter=A.id_parameter", … … 257 260 db_output->firstDate, 258 261 db_output->lastDate, 262 id_node , 259 263 db_inp->missingPriorSigmaFactor, 260 264 db_inp->missingPriorLowerBound, … … 279 283 " "+dbName+"."+_table::ObsTransFun+" as A\n"+ 280 284 "WHERE \n"+ 281 " A.id_model='"+ _.model.name+"' AND \n"+282 " A.id_session='"+ _.session.name+"' AND \n"+285 " A.id_model='"+model+"' AND \n"+ 286 " A.id_session='"+session+"' AND \n"+ 283 287 " A.id_node='"+id_node+"' \n", 284 288 "Bsr.DynHlm.DBStrObsTransFun"); … … 298 302 db_output->firstDate, 299 303 db_output->lastDate, 304 id_node, 300 305 db_tf->missingPriorSigmaFactor, 301 306 db_tf->missingPriorLowerBound, … … 311 316 If(!FunctionExist("Real", "modelHandler::ForceZeroInputCoef"),0, 312 317 modelHandler::ForceZeroInputCoef(0)); 313 BysMcmc::Bsr::DynHlm::BuildNode::Obs 314 (output, input, transFun, _.constr, forceZeroInputCoef) 318 BysMcmc::Bsr::DynHlm::BuildNode::Obs( 319 output, input, transFun, input.missing.labels, 320 _.constr, forceZeroInputCoef) 315 321 }; 316 322 … … 330 336 " vl_sigma \n"+ 331 337 "FROM "+dbName+"."+_table::LatSigBlk+" WHERE \n"+ 332 " id_model='"+ _.model.name+"' AND \n"+333 " id_session='"+ _.session.name+"' AND \n"+338 " id_model='"+model+"' AND \n"+ 339 " id_session='"+session+"' AND \n"+ 334 340 " id_node='"+id_node+"' ", 335 341 "")[1][1]; … … 340 346 " vl_sigma_factor \n"+ 341 347 "FROM "+dbName+"."+_table::LatEqu+" WHERE \n"+ 342 " id_model='"+ _.model.name+"' AND \n"+343 " id_session='"+ _.session.name+"' AND \n"+348 " id_model='"+model+"' AND \n"+ 349 " id_session='"+session+"' AND \n"+ 344 350 " id_node_father='"+id_node+"' \n" 345 351 "ORDER BY nu_equation", … … 357 363 " "+dbName+"."+_table::Parameter+" as B \n" 358 364 "WHERE \n"+ 359 " A.id_model='"+ _.model.name+"' AND \n"+360 " A.id_session='"+ _.session.name+"' AND \n"+365 " A.id_model='"+model+"' AND \n"+ 366 " A.id_session='"+session+"' AND \n"+ 361 367 " A.id_node_father='"+id_node+"' AND \n"+ 362 368 " A.nu_equation="+IntText(equ->nu_equation)+" AND \n"+ 363 " B.id_model='"+ _.model.name+"' AND \n"+364 " B.id_session='"+ _.session.name+"' AND \n"+369 " B.id_model='"+model+"' AND \n"+ 370 " B.id_session='"+session+"' AND \n"+ 365 371 " A.id_node_child=B.id_node AND \n"+ 366 372 " A.id_parameter_child=B.id_parameter \n", … … 382 388 " A.id_node_father='"+id_node+"' AND \n"+ 383 389 " A.nu_equation="+IntText(equ->nu_equation)+" AND \n"+ 384 " B.id_model='"+ _.model.name+"' AND \n"+385 " B.id_session='"+ _.session.name+"' AND \n"+390 " B.id_model='"+model+"' AND \n"+ 391 " B.id_session='"+session+"' AND \n"+ 386 392 " A.id_node_father=B.id_node AND \n"+ 387 393 " A.id_parameter_father=B.id_parameter \n", … … 462 468 " vl_sigma \n"+ 463 469 "FROM "+dbName+"."+_table::PriEqu+" WHERE \n"+ 464 " id_model='"+ _.model.name+"' AND \n"+465 " id_session='"+ _.session.name+"' AND \n"+470 " id_model='"+model+"' AND \n"+ 471 " id_session='"+session+"' AND \n"+ 466 472 " id_node_father='"+id_node+"' \n" 467 473 "ORDER BY nu_equation", … … 538 544 NameBlock _table = BysMcmc::Bsr::DynHlm::DBApi::_.table; 539 545 Text _.dbName = dbName; 540 Text _. model.name= model;541 Text _. session.name= session;546 Text _.id_model = model; 547 Text _.id_session = session; 542 548 Text _.resultRootPath = resultRootPath; 543 549 NameBlock _.modelHandler = modelHandler; 544 550 Set _.deltaNonLinBlk = Copy(Empty); 551 545 552 Real _.modSesCheck = 546 553 { 547 554 Real count = BysMcmc::Bsr::DynHlm::DBApi::SqlTableTrace( 548 555 "SELECT count(*) FROM "+dbName+"."+_table::ModSes+" WHERE "+ 549 " id_model='"+_. model.name+"' AND id_session='"+_.session.name+"'","")[1][1];556 " id_model='"+_.id_model+"' AND id_session='"+_.id_session+"'","")[1][1]; 550 557 If(count==1, 1, 551 558 { … … 557 564 Text _.model.description = BysMcmc::Bsr::DynHlm::DBApi::SqlTableTrace( 558 565 "SELECT ds_model FROM "+dbName+"."+_table::Model+" WHERE "+ 559 " id_model='"+_. model.name+"'","")[1][1];566 " id_model='"+_.id_model+"'","")[1][1]; 560 567 Text _.session.description = BysMcmc::Bsr::DynHlm::DBApi::SqlTableTrace( 561 568 "SELECT ds_session FROM "+dbName+"."+_table::Session+" WHERE "+ 562 " id_session='"+_. session.name+"'","")[1][1];569 " id_session='"+_.id_session+"'","")[1][1]; 563 570 Text _.session.te_authors = BysMcmc::Bsr::DynHlm::DBApi::SqlTableTrace( 564 571 "SELECT te_authors FROM "+dbName+"."+_table::Session+" WHERE "+ 565 " id_session='"+_.session.name+"'","")[1][1]; 566 567 Set _.db_nodes.obs = BysMcmc::Bsr::DynHlm::DBApi::SqlTableTrace( 568 "SELECT id_node FROM "+dbName+"."+_table::Node+" WHERE \n"+ 569 " id_model='"+_.model.name+"' AND \n"+ 570 " id_session='"+_.session.name+"' AND \n"+ 571 " id_node_type='OBS' \n"+ 572 "ORDER BY nu_node ASC",""); 573 Set _.nodes.obs = EvalSet(_.db_nodes.obs, NameBlock(Set db_node) 574 { 575 Text id_node = db_node[1]; 576 BysMcmc::Bsr::DynHlm::DBApi::LoadObsNode 577 (dbName, model, session, id_node, _.modelHandler) 578 }); 579 580 Set _.db_nodes.lat = BysMcmc::Bsr::DynHlm::DBApi::SqlTableTrace( 581 "SELECT id_node FROM "+dbName+"."+_table::Node+" WHERE \n"+ 582 " id_model='"+_.model.name+"' AND \n"+ 583 " id_session='"+_.session.name+"' AND \n"+ 584 " id_node_type='LAT' \n"+ 585 "ORDER BY nu_node ASC",""); 586 Set _.nodes.lat = EvalSet(_.db_nodes.lat, NameBlock(Set db_node) 587 { 588 Text id_node = db_node[1]; 589 BysMcmc::Bsr::DynHlm::DBApi::LoadLatNode 590 (dbName, model, session, id_node) 591 }); 592 593 Set _.db_nodes.pri = BysMcmc::Bsr::DynHlm::DBApi::SqlTableTrace( 594 "SELECT id_node FROM "+dbName+"."+_table::Node+" WHERE \n"+ 595 " id_model='"+_.model.name+"' AND \n"+ 596 " id_session='"+_.session.name+"' AND \n"+ 597 " id_node_type='PRI' \n"+ 598 "ORDER BY nu_node ASC",""); 599 Set _.nodes.pri = EvalSet(_.db_nodes.pri, NameBlock(Set db_node) 600 { 601 Text id_node = db_node[1]; 602 BysMcmc::Bsr::DynHlm::DBApi::LoadPriNode 603 (dbName, model, session, id_node) 604 }); 605 606 Set _.nodes = _.nodes.obs << _.nodes.lat << _.nodes.pri; 572 " id_session='"+_.id_session+"'","")[1][1]; 573 574 Set input.missing.labels = Copy(Empty); 575 576 Set _.nodes = BysMcmc::Bsr::DynHlm::DBApi::SqlTableTrace( 577 "SELECT id_node_type, id_node FROM "+dbName+"."+_table::Node+" WHERE \n"+ 578 " id_model='"+_.id_model+"' AND \n"+ 579 " id_session='"+_.id_session+"'" 580 "order by id_node_type, nu_node","Bsr.DynHlm.DBNode"); 607 581 608 582 //Mandatory methods that will be used by BysMcmc::Bsr::Import … … 611 585 // Documental Section 612 586 //Returns model identifier to help in analysis organization 613 Text Get.Doc.Model.Name(Real unused) { _. model.name};587 Text Get.Doc.Model.Name(Real unused) { _.id_model }; 614 588 //Brief explanation of model 615 589 Text Get.Doc.Model.Description(Real unused) { _.model.description }; 616 590 //Returns model identifier to help in analysis organization 617 Text Get.Doc.Session.Name(Real unused) { _. session.name};591 Text Get.Doc.Session.Name(Real unused) { _.id_session }; 618 592 //Brief explanation of model 619 593 Text Get.Doc.Session.Description(Real unused) { _.session.description }; … … 626 600 /////////////////////////////////////////////////////////////////////////// 627 601 // Linear Regression Section 628 Real Get.LinReg.Size(Real unused) { Card(_.nodes) }; 629 NameBlock Get.LinReg.Segment(Real segmentNumber) { _.nodes[segmentNumber] }; 602 Real Get.LinReg.Size(Real unused) 603 { 604 Card(_.nodes) 605 }; 606 607 NameBlock Get.LinReg.Segment(Real segmentNumber) 608 { 609 Set node = _.nodes[segmentNumber]; 610 Text id_node = node->Node; 611 Case( 612 node->NodeType=="OBS", 613 { 614 NameBlock obs = BysMcmc::Bsr::DynHlm::DBApi::LoadObsNode( 615 _.dbName, _.id_model, _.id_session, id_node, 616 _.modelHandler, input.missing.labels); 617 Set Append(_.deltaNonLinBlk, obs::_.deltaNonLinBlk); 618 obs 619 }, 620 node->NodeType=="LAT", 621 { 622 BysMcmc::Bsr::DynHlm::DBApi::LoadLatNode( 623 _.dbName, _.id_model, _.id_session, id_node) 624 }, 625 node->NodeType=="PRI", 626 { 627 BysMcmc::Bsr::DynHlm::DBApi::LoadPriNode( 628 _.dbName, _.id_model, _.id_session, id_node) 629 } 630 ) 631 }; 630 632 /////////////////////////////////////////////////////////////////////////// 631 633 … … 636 638 { 637 639 NameBlock _table = BysMcmc::Bsr::DynHlm::DBApi::_.table; 638 Set deltaNonLinBlk = If(!Card(_.nodes.obs),639 Empty,640 BinGroup("<<",EvalSet(_.nodes.obs,Set(NameBlock obs)641 {642 obs::_.deltaNonLinBlk643 })));644 // Set db_genericNonLinBlk = Copy(Empty);645 640 Set db_genericNonLinBlk = BysMcmc::Bsr::DynHlm::DBApi::SqlTableTrace( 646 641 "SELECT \n"+ … … 648 643 " id_series \n"+ 649 644 "FROM "+_.dbName+"."+_table::NonLinFlt+" WHERE \n"+ 650 " id_model='"+_. model.name+"' AND \n"+651 " id_session='"+_. session.name+"'\n",645 " id_model='"+_.id_model+"' AND \n"+ 646 " id_session='"+_.id_session+"'\n", 652 647 "Bsr.DynHlm.DBStrNonLinFlt"); 653 648 … … 659 654 })); 660 655 //WriteLn("TRACE Get.NonLinFilter Card(deltaNonLinBlk)="<<Card(deltaNonLinBlk)); 661 deltaNonLinBlk << genericNonLinBlk656 _.deltaNonLinBlk << genericNonLinBlk 662 657 }; 663 658
Note: See TracChangeset
for help on using the changeset viewer.
